Airship API Authorization Reference
Find which authentication methods are supported for each Airship API endpoint.
For information about each authentication method, see Airship API Security.
Authorization per authentication method
The following table indicates supported authentication methods per endpoint in the Airship API and each endpoint’s OAuth 2.0 scope:
| Operation | Endpoint | Public | Basic Auth (App) | Basic Auth (Master) | Bearer Token | OAuth 2.0 |
|---|---|---|---|---|---|---|
| Validate experiment | POST /api/experiments/validate | |||||
| Create and send experiment (A/B test) | POST /api/experiments | |||||
| Look up experiment | GET /api/experiments/{experiment_id} | |||||
| List experiments | GET /api/experiments | |||||
| List scheduled experiments | GET /api/experiments/scheduled | |||||
| Delete scheduled experiment | DELETE /api/experiments/scheduled/{experiment_id} | |||||
| Create attributes list | POST /api/attribute-lists | Lists | ||||
| Upload attributes list | PUT /api/attribute-lists/{list_name}/csv | Lists | ||||
| Download list errors | GET /api/attribute-lists/{list_name}/errors | Lists | ||||
| List attribute lists | GET /api/attribute-lists | Lists | ||||
| Validate pipelines | POST /api/pipelines/validate | Pipelines | ||||
| Create pipelines (automated message) | POST /api/pipelines | Pipelines | ||||
| Update pipeline | PUT /api/pipelines/{pipeline_id} | Pipelines | ||||
| Update pipelines constraints | PUT /api/pipelines/constraints | Pipelines | ||||
| Look up pipeline | GET /api/pipelines/{pipeline_id} | Pipelines | ||||
| List existing pipelines | GET /api/pipelines | Pipelines | ||||
| List filtered pipelines | GET /api/pipelines/filtered | Pipelines | ||||
| List deleted pipelines | GET /api/pipelines/deleted | Pipelines | ||||
| Get pipelines limits and counts | GET /api/pipelines/limits | Pipelines | ||||
| List pipelines constraints | GET /api/pipelines/constraints | Pipelines | ||||
| Delete pipeline | DELETE /api/pipelines/{pipeline_id} | Pipelines | ||||
| Validate Create and Send payload | POST /api/create-and-send/validate | Push | ||||
| Create and Send message | POST /api/create-and-send | Push | ||||
| Schedule Create and Send message | POST /api/schedules/create-and-send | Push | ||||
| Upload bulk send audience | POST /api/bulk/{platform_name} | |||||
| Validate message with bulk ID | POST /api/bulk-send/validate | Push | ||||
| Send message with bulk ID | POST /api/bulk-send | Push | ||||
| Schedule message with bulk ID | POST /api/schedules/bulk-send | Push | ||||
| Modify channel tags | POST /api/channels/tags | Channels | ||||
| Set or remove attributes on channels | POST /api/channels/attributes | Channels | ||||
| Subscribe or unsubscribe channels to/from subscription lists | POST /api/channels/subscription_lists | Channels | ||||
| Look up channel | GET /api/channels/{channel_id} | Channels | ||||
| List channels | GET /api/channels | Channels | ||||
| Uninstall channels | POST /api/channels/uninstall | Channels | ||||
| Associate contact | POST /api/contacts/associate | Contacts | ||||
| Perform scoped contact batch operations | POST /api/contacts/scoped/{contact_id} | Contacts | ||||
| Modify contact tags | POST /api/contacts/tags/ | Contacts | ||||
| Set or remove attributes on contact | POST /api/contacts/attributes | Contacts | ||||
| Disassociate contact | POST /api/contacts/disassociate/{contact_id} | Contacts | ||||
| Look up contact ID by named user ID | GET /api/contacts/lookup/named_user/{named_user_id} | Contacts | ||||
| Look up contact ID by channel ID | GET /api/contacts/lookup/channel/{channel_id} | Contacts | ||||
| Create content template | POST /api/content/templates | Content | ||||
| Update content template | PUT /api/content/templates/{template_id} | Content | ||||
| Create or update content template by external ID | PUT /api/content/templates/external/{type}/{external_id} | Content | ||||
| Look up content template | GET /api/content/templates/{template_id} | Content | ||||
| Look up content template by external ID | GET /api/content/templates/external/{type}/{external_id} | Content | ||||
| List content templates | GET /api/content/templates | Content | ||||
| Delete content template | DELETE /api/content/templates/{template_id} | Content | ||||
| Delete content template by external ID | DELETE /api/content/templates/external/{type}/{external_id} | Content | ||||
| Add custom events | POST /api/custom-events | Events | ||||
| Uninstall channels | POST /api/channels/uninstall | Channels | ||||
| Uninstall named users | POST /api/named_users/uninstall | Named Users | ||||
| Register email channel | POST /api/channels/email | Channels | ||||
| Create email attachment | POST /api/attachments | Attachments | ||||
| Update email channel | PUT /api/channels/email/{email} | Channels | ||||
| Replace email channel | POST /api/channels/email/replace/{channel_id} | Channels | ||||
| Modify email tags | POST /api/channels/email/tags | Channels | ||||
| Remove suppression from email channel | POST /api/channels/email/unsuppress | Channels | ||||
| Unsubscribe email channel (custom) | GET /api/channels/email/custom-unsubscribe | |||||
| Suppress email channel | POST /api/channels/email/suppress | Channels | ||||
| Look up email address | GET /api/channels/email/{email} | Channels | ||||
| Uninstall email channel | POST /api/channels/email/uninstall | Channels | ||||
| Enter or exit users from Sequence | POST /api/journeys/trigger | Journeys | ||||
| Exit users from Sequence | POST /api/journeys/exit | Journeys | ||||
| Associate named user | POST /api/named_users/associate | Named Users | ||||
| Create or update named user | POST /api/named_users/{named_user_id} | Named Users | ||||
| Perform scoped named user batch operations | POST /api/named_users/scoped/{named_user_id} | Named Users | ||||
| Modify named user tags | POST /api/named_users/tags | Named Users | ||||
| Set or remove attributes on named user | POST /api/named_users/{named_user_id}/attributes | Named Users | ||||
| Disassociate named user | POST /api/named_users/disassociate | Named Users | ||||
| List or look up named users | GET /api/named_users | Named Users | ||||
| Uninstall named users | POST /api/named_users/uninstall | Named Users | ||||
| Look up public key | GET /verify/public_key/{kid} | |||||
| Register new or update channel | POST /api/channels/open | Channels | ||||
| Modify open channel tags | POST /api/channels/open/tags | Channels | ||||
| Uninstall open channel | POST /api/channels/open/uninstall | Channels | ||||
| Validate templated pushes | POST /api/templates/push/validate | Push | ||||
| Send templated pushes | POST /api/templates/push | Push | ||||
| Schedule templated pushes | POST /api/templates/schedules | Push | ||||
| Create template | POST /api/templates | |||||
| Update template | POST /api/templates/{template_id} | |||||
| Look up template | GET /api/templates/{template_id} | |||||
| List templates | GET /api/templates | |||||
| Delete template | DELETE /api/templates/{template_id} | |||||
| Validate pushes | POST /api/push/validate | Push | ||||
| Send pushes | POST /api/push | Push | ||||
| Delete message from inbox | DELETE /api/user/messages/{push_id} | |||||
| Delete multiple messages from inbox | POST /api/user/messages/batch-delete | |||||
| Look up region | GET /api/regions/{region_id} | |||||
| List regions | GET /api/regions | |||||
| Get individual push response statistics | GET /api/reports/responses/{push_id} | Reports | ||||
| Get per push detail report | GET /api/reports/perpush/detail/{push_id} | Reports | ||||
| Get per push body report | GET /api/reports/perpush/pushbody/{push_id} | Reports | ||||
| Get per push time series report | GET /api/reports/perpush/series/{push_id} | Reports | ||||
| Get per group push detail report | GET /api/reports/pergroup/detail/{group_id} | Reports | ||||
| Get per group push time series report | GET /api/reports/pergroup/series/{group_id} | Reports | ||||
| Get experiment overview report | GET /api/reports/experiment/overview/{push_id} | Reports | ||||
| Get experiment variant report | GET /api/reports/experiment/detail/{push_id}/{variant_id} | Reports | ||||
| Get custom events per push summary | GET /api/reports/events/summary/perpush/{push_id} | Reports | ||||
| Get custom events per group summary | GET /api/reports/events/summary/pergroup/{group_id} | Reports | ||||
| Get push report | GET /api/reports/sends | Reports | ||||
| Get response report | GET /api/reports/responses | Reports | ||||
| List pushes with response details | GET /api/reports/responses/list | Reports | ||||
| Get web response report | GET /api/reports/web/interaction | Reports | ||||
| Get devices report | GET /api/reports/devices | Reports | ||||
| Get app opens report | GET /api/reports/opens | Reports | ||||
| Get time in app report | GET /api/reports/timeinapp | Reports | ||||
| Get opt-in report | GET /api/reports/optins | Reports | ||||
| Get opt-out report | GET /api/reports/optouts | Reports | ||||
| List custom events details | GET /api/reports/events | Reports | ||||
| Get activity log report | GET /api/reports/activity/details | Reports | ||||
| Schedule notifications | POST /api/schedules | Push | ||||
| Update schedule | PUT /api/schedules/{schedule_id} | Schedules | ||||
| Pause schedule | POST /api/schedules/{schedule_id}/pause | Schedules | ||||
| Resume schedule | POST /api/schedules/{schedule_id}/resume | Schedules | ||||
| Look up schedule | GET /api/schedules/{schedule_id} | Schedules | ||||
| List schedules | GET /api/schedules | Schedules | ||||
| Delete schedule | DELETE /api/schedules/{schedule_id} | Schedules | ||||
| Create segment | POST /api/segments | |||||
| Update segment | PUT /api/segments/{segment_id} | |||||
| Look up segment | GET /api/segments/{segment_id} | |||||
| List segments | GET /api/segments | |||||
| Delete segment | DELETE /api/segments/{segment_id} | |||||
| Trigger keyword interaction manually | POST /api/sms/{msisdn}/keywords | |||||
| Send custom SMS response | POST /api/sms/custom-response | |||||
| Register SMS channel and send opt-in prompt | POST /api/channels/sms | Channels | ||||
| Update SMS channel | PUT /api/channels/sms/{channel_id} | Channels | ||||
| Modify SMS tags | POST /api/channels/sms/tags | Channels | ||||
| Opt-out of SMS messages | POST /api/channels/sms/opt-out | Channels | ||||
| Look up SMS channel | GET /api/channels/sms/{msisdn}/{sender} | Channels | ||||
| Uninstall SMS channel | POST /api/channels/sms/uninstall | Channels | ||||
| Create list | POST /api/lists | Lists | ||||
| Update list contents | PUT /api/lists/{list_name}/csv | Lists | ||||
| Update list metadata | PUT /api/lists/{list_name} | Lists | ||||
| Look up static list metadata | GET /api/lists/{list_name} | Lists | ||||
| Download list of mobile app channels | GET /api/lists/{list_name}/csv | Lists | ||||
| List static lists | GET /api/lists | Lists | ||||
| Delete list | DELETE /api/lists/{list_name} | Lists | ||||
| List named user subscription lists | GET /api/subscription_lists/named_users/{named_user_id} | Named Users | ||||
| List subscription lists | GET /api/subscription_lists | Lists | ||||
| Create tag list | POST /api/tag-lists | Lists | ||||
| Upload tag list | PUT /api/tag-lists/{list_name}/csv | Lists | ||||
| Download list errors | GET /api/tag-lists/{list_name}/errors | Lists | ||||
| List tag lists | GET /api/tag-lists | Lists | ||||
| Delete tag list | DELETE /api/tag-lists/{list_name} | Lists | ||||
| Modify channel tags | POST /api/channels/tags | Channels | ||||
| Modify contact tags | POST /api/contacts/tags/ | Contacts | ||||
| Modify email tags | POST /api/channels/email/tags | Channels | ||||
| Modify named user tags | POST /api/named_users/tags | Named Users | ||||
| Modify open channel tags | POST /api/channels/open/tags | Channels | ||||
| Modify SMS tags | POST /api/channels/sms/tags | Channels |
OAuth token scopes
Refer to the following sections when setting permissions for OAuth client credentials.
Attachments
The Attachments (att) scope grants access to endpoints that manage attachments for messages and templates:
| Operation | Endpoint |
|---|---|
| Create email attachment | POST /api/attachments |
Channels
The Channels (chn) scope grants access to endpoints that manage channels and channel data:
| Operation | Endpoint |
|---|---|
| Modify channel tags | POST /api/channels/tags |
| Set or remove attributes on channels | POST /api/channels/attributes |
| Subscribe or unsubscribe channels to/from subscription lists | POST /api/channels/subscription_lists |
| Look up channel | GET /api/channels/{channel_id} |
| List channels | GET /api/channels |
| Uninstall channels | POST /api/channels/uninstall |
| Uninstall channels | POST /api/channels/uninstall |
| Register email channel | POST /api/channels/email |
| Update email channel | PUT /api/channels/email/{email} |
| Replace email channel | POST /api/channels/email/replace/{channel_id} |
| Modify email tags | POST /api/channels/email/tags |
| Remove suppression from email channel | POST /api/channels/email/unsuppress |
| Suppress email channel | POST /api/channels/email/suppress |
| Look up email address | GET /api/channels/email/{email} |
| Uninstall email channel | POST /api/channels/email/uninstall |
| Register new or update channel | POST /api/channels/open |
| Modify open channel tags | POST /api/channels/open/tags |
| Uninstall open channel | POST /api/channels/open/uninstall |
| Register SMS channel and send opt-in prompt | POST /api/channels/sms |
| Update SMS channel | PUT /api/channels/sms/{channel_id} |
| Modify SMS tags | POST /api/channels/sms/tags |
| Opt-out of SMS messages | POST /api/channels/sms/opt-out |
| Look up SMS channel | GET /api/channels/sms/{msisdn}/{sender} |
| Uninstall SMS channel | POST /api/channels/sms/uninstall |
| Modify channel tags | POST /api/channels/tags |
| Modify email tags | POST /api/channels/email/tags |
| Modify open channel tags | POST /api/channels/open/tags |
| Modify SMS tags | POST /api/channels/sms/tags |
Contacts
The Contacts (cnt) scope grants access to endpoints that manage contacts and contact lists:
| Operation | Endpoint |
|---|---|
| Associate contact | POST /api/contacts/associate |
| Perform scoped contact batch operations | POST /api/contacts/scoped/{contact_id} |
| Modify contact tags | POST /api/contacts/tags/ |
| Set or remove attributes on contact | POST /api/contacts/attributes |
| Disassociate contact | POST /api/contacts/disassociate/{contact_id} |
| Look up contact ID by named user ID | GET /api/contacts/lookup/named_user/{named_user_id} |
| Look up contact ID by channel ID | GET /api/contacts/lookup/channel/{channel_id} |
| Modify contact tags | POST /api/contacts/tags/ |
Content
The Content (tpl) scope grants access to endpoints that manage content templates:
| Operation | Endpoint |
|---|---|
| Create content template | POST /api/content/templates |
| Update content template | PUT /api/content/templates/{template_id} |
| Create or update content template by external ID | PUT /api/content/templates/external/{type}/{external_id} |
| Look up content template | GET /api/content/templates/{template_id} |
| Look up content template by external ID | GET /api/content/templates/external/{type}/{external_id} |
| List content templates | GET /api/content/templates |
| Delete content template | DELETE /api/content/templates/{template_id} |
| Delete content template by external ID | DELETE /api/content/templates/external/{type}/{external_id} |
Events
The Events (evt) scope grants access to endpoints that create custom events:
| Operation | Endpoint |
|---|---|
| Add custom events | POST /api/custom-events |
Journeys
The Journeys (jny) scope grants access to endpoints that manage audience entry and exit for journeys:
| Operation | Endpoint |
|---|---|
| Enter or exit users from Sequence | POST /api/journeys/trigger |
| Exit users from Sequence | POST /api/journeys/exit |
Lists
The Lists (lst) scope grants access to endpoints that manage lists and list uploads:
| Operation | Endpoint |
|---|---|
| Create attributes list | POST /api/attribute-lists |
| Upload attributes list | PUT /api/attribute-lists/{list_name}/csv |
| Download list errors | GET /api/attribute-lists/{list_name}/errors |
| List attribute lists | GET /api/attribute-lists |
| Create list | POST /api/lists |
| Update list contents | PUT /api/lists/{list_name}/csv |
| Update list metadata | PUT /api/lists/{list_name} |
| Look up static list metadata | GET /api/lists/{list_name} |
| Download list of mobile app channels | GET /api/lists/{list_name}/csv |
| List static lists | GET /api/lists |
| Delete list | DELETE /api/lists/{list_name} |
| List subscription lists | GET /api/subscription_lists |
| Create tag list | POST /api/tag-lists |
| Upload tag list | PUT /api/tag-lists/{list_name}/csv |
| Download list errors | GET /api/tag-lists/{list_name}/errors |
| List tag lists | GET /api/tag-lists |
| Delete tag list | DELETE /api/tag-lists/{list_name} |
Named Users
The Named Users (nu) scope grants access to endpoints that manage named users and named user associations:
| Operation | Endpoint |
|---|---|
| Uninstall named users | POST /api/named_users/uninstall |
| Associate named user | POST /api/named_users/associate |
| Create or update named user | POST /api/named_users/{named_user_id} |
| Perform scoped named user batch operations | POST /api/named_users/scoped/{named_user_id} |
| Modify named user tags | POST /api/named_users/tags |
| Set or remove attributes on named user | POST /api/named_users/{named_user_id}/attributes |
| Disassociate named user | POST /api/named_users/disassociate |
| List or look up named users | GET /api/named_users |
| Uninstall named users | POST /api/named_users/uninstall |
| List named user subscription lists | GET /api/subscription_lists/named_users/{named_user_id} |
| Modify named user tags | POST /api/named_users/tags |
Pipelines
The Pipelines (pln) scope grants access to endpoints that manage automated message pipelines:
| Operation | Endpoint |
|---|---|
| Validate pipelines | POST /api/pipelines/validate |
| Create pipelines (automated message) | POST /api/pipelines |
| Update pipeline | PUT /api/pipelines/{pipeline_id} |
| Update pipelines constraints | PUT /api/pipelines/constraints |
| Look up pipeline | GET /api/pipelines/{pipeline_id} |
| List existing pipelines | GET /api/pipelines |
| List filtered pipelines | GET /api/pipelines/filtered |
| List deleted pipelines | GET /api/pipelines/deleted |
| Get pipelines limits and counts | GET /api/pipelines/limits |
| List pipelines constraints | GET /api/pipelines/constraints |
| Delete pipeline | DELETE /api/pipelines/{pipeline_id} |
Push
The Push (psh) scope grants access to endpoints that send push notifications and scheduled messages:
| Operation | Endpoint |
|---|---|
| Validate Create and Send payload | POST /api/create-and-send/validate |
| Create and Send message | POST /api/create-and-send |
| Schedule Create and Send message | POST /api/schedules/create-and-send |
| Validate message with bulk ID | POST /api/bulk-send/validate |
| Send message with bulk ID | POST /api/bulk-send |
| Schedule message with bulk ID | POST /api/schedules/bulk-send |
| Validate templated pushes | POST /api/templates/push/validate |
| Send templated pushes | POST /api/templates/push |
| Schedule templated pushes | POST /api/templates/schedules |
| Validate pushes | POST /api/push/validate |
| Send pushes | POST /api/push |
| Schedule notifications | POST /api/schedules |
Reports
The Reports (rpt) scope grants access to endpoints that get report data:
| Operation | Endpoint |
|---|---|
| Get individual push response statistics | GET /api/reports/responses/{push_id} |
| Get per push detail report | GET /api/reports/perpush/detail/{push_id} |
| Get per push body report | GET /api/reports/perpush/pushbody/{push_id} |
| Get per push time series report | GET /api/reports/perpush/series/{push_id} |
| Get per group push detail report | GET /api/reports/pergroup/detail/{group_id} |
| Get per group push time series report | GET /api/reports/pergroup/series/{group_id} |
| Get experiment overview report | GET /api/reports/experiment/overview/{push_id} |
| Get experiment variant report | GET /api/reports/experiment/detail/{push_id}/{variant_id} |
| Get custom events per push summary | GET /api/reports/events/summary/perpush/{push_id} |
| Get custom events per group summary | GET /api/reports/events/summary/pergroup/{group_id} |
| Get push report | GET /api/reports/sends |
| Get response report | GET /api/reports/responses |
| List pushes with response details | GET /api/reports/responses/list |
| Get web response report | GET /api/reports/web/interaction |
| Get devices report | GET /api/reports/devices |
| Get app opens report | GET /api/reports/opens |
| Get time in app report | GET /api/reports/timeinapp |
| Get opt-in report | GET /api/reports/optins |
| Get opt-out report | GET /api/reports/optouts |
| List custom events details | GET /api/reports/events |
| Get activity log report | GET /api/reports/activity/details |
Schedules
The Schedules (sch) scope grants access to endpoints that manage scheduled messages:
| Operation | Endpoint |
|---|---|
| Update schedule | PUT /api/schedules/{schedule_id} |
| Pause schedule | POST /api/schedules/{schedule_id}/pause |
| Resume schedule | POST /api/schedules/{schedule_id}/resume |
| Look up schedule | GET /api/schedules/{schedule_id} |
| List schedules | GET /api/schedules |
| Delete schedule | DELETE /api/schedules/{schedule_id} |