Airship API Authorization Reference

Find which authentication methods are supported for each Airship API endpoint.

View as Markdown

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:

OperationEndpointPublicBasic Auth (App)Basic Auth (Master)Bearer TokenOAuth 2.0
Validate experimentPOST /api/experiments/validate
Create and send experiment (A/B test)POST /api/experiments
Look up experimentGET /api/experiments/{experiment_id}
List experimentsGET /api/experiments
List scheduled experimentsGET /api/experiments/scheduled
Delete scheduled experimentDELETE /api/experiments/scheduled/{experiment_id}
Create attributes listPOST /api/attribute-listsLists
Upload attributes listPUT /api/attribute-lists/{list_name}/csvLists
Download list errorsGET /api/attribute-lists/{list_name}/errorsLists
List attribute listsGET /api/attribute-listsLists
Validate pipelinesPOST /api/pipelines/validatePipelines
Create pipelines (automated message)POST /api/pipelinesPipelines
Update pipelinePUT /api/pipelines/{pipeline_id}Pipelines
Update pipelines constraintsPUT /api/pipelines/constraintsPipelines
Look up pipelineGET /api/pipelines/{pipeline_id}Pipelines
List existing pipelinesGET /api/pipelinesPipelines
List filtered pipelinesGET /api/pipelines/filteredPipelines
List deleted pipelinesGET /api/pipelines/deletedPipelines
Get pipelines limits and countsGET /api/pipelines/limitsPipelines
List pipelines constraintsGET /api/pipelines/constraintsPipelines
Delete pipelineDELETE /api/pipelines/{pipeline_id}Pipelines
Validate Create and Send payloadPOST /api/create-and-send/validatePush
Create and Send messagePOST /api/create-and-sendPush
Schedule Create and Send messagePOST /api/schedules/create-and-sendPush
Upload bulk send audiencePOST /api/bulk/{platform_name}
Validate message with bulk IDPOST /api/bulk-send/validatePush
Send message with bulk IDPOST /api/bulk-sendPush
Schedule message with bulk IDPOST /api/schedules/bulk-sendPush
Modify channel tagsPOST /api/channels/tagsChannels
Set or remove attributes on channelsPOST /api/channels/attributesChannels
Subscribe or unsubscribe channels to/from subscription listsPOST /api/channels/subscription_listsChannels
Look up channelGET /api/channels/{channel_id}Channels
List channelsGET /api/channelsChannels
Uninstall channelsPOST /api/channels/uninstallChannels
Associate contactPOST /api/contacts/associateContacts
Perform scoped contact batch operationsPOST /api/contacts/scoped/{contact_id}Contacts
Modify contact tagsPOST /api/contacts/tags/Contacts
Set or remove attributes on contactPOST /api/contacts/attributesContacts
Disassociate contactPOST /api/contacts/disassociate/{contact_id}Contacts
Look up contact ID by named user IDGET /api/contacts/lookup/named_user/{named_user_id}Contacts
Look up contact ID by channel IDGET /api/contacts/lookup/channel/{channel_id}Contacts
Create content templatePOST /api/content/templatesContent
Update content templatePUT /api/content/templates/{template_id}Content
Create or update content template by external IDPUT /api/content/templates/external/{type}/{external_id}Content
Look up content templateGET /api/content/templates/{template_id}Content
Look up content template by external IDGET /api/content/templates/external/{type}/{external_id}Content
List content templatesGET /api/content/templatesContent
Delete content templateDELETE /api/content/templates/{template_id}Content
Delete content template by external IDDELETE /api/content/templates/external/{type}/{external_id}Content
Add custom eventsPOST /api/custom-eventsEvents
Uninstall channelsPOST /api/channels/uninstallChannels
Uninstall named usersPOST /api/named_users/uninstallNamed Users
Register email channelPOST /api/channels/emailChannels
Create email attachmentPOST /api/attachmentsAttachments
Update email channelPUT /api/channels/email/{email}Channels
Replace email channelPOST /api/channels/email/replace/{channel_id}Channels
Modify email tagsPOST /api/channels/email/tagsChannels
Remove suppression from email channelPOST /api/channels/email/unsuppressChannels
Unsubscribe email channel (custom)GET /api/channels/email/custom-unsubscribe
Suppress email channelPOST /api/channels/email/suppressChannels
Look up email addressGET /api/channels/email/{email}Channels
Uninstall email channelPOST /api/channels/email/uninstallChannels
Enter or exit users from SequencePOST /api/journeys/triggerJourneys
Exit users from SequencePOST /api/journeys/exitJourneys
Associate named userPOST /api/named_users/associateNamed Users
Create or update named userPOST /api/named_users/{named_user_id}Named Users
Perform scoped named user batch operationsPOST /api/named_users/scoped/{named_user_id}Named Users
Modify named user tagsPOST /api/named_users/tagsNamed Users
Set or remove attributes on named userPOST /api/named_users/{named_user_id}/attributesNamed Users
Disassociate named userPOST /api/named_users/disassociateNamed Users
List or look up named usersGET /api/named_usersNamed Users
Uninstall named usersPOST /api/named_users/uninstallNamed Users
Look up public keyGET /verify/public_key/{kid}
Register new or update channelPOST /api/channels/openChannels
Modify open channel tagsPOST /api/channels/open/tagsChannels
Uninstall open channelPOST /api/channels/open/uninstallChannels
Validate templated pushesPOST /api/templates/push/validatePush
Send templated pushesPOST /api/templates/pushPush
Schedule templated pushesPOST /api/templates/schedulesPush
Create templatePOST /api/templates
Update templatePOST /api/templates/{template_id}
Look up templateGET /api/templates/{template_id}
List templatesGET /api/templates
Delete templateDELETE /api/templates/{template_id}
Validate pushesPOST /api/push/validatePush
Send pushesPOST /api/pushPush
Delete message from inboxDELETE /api/user/messages/{push_id}
Delete multiple messages from inboxPOST /api/user/messages/batch-delete
Look up regionGET /api/regions/{region_id}
List regionsGET /api/regions
Get individual push response statisticsGET /api/reports/responses/{push_id}Reports
Get per push detail reportGET /api/reports/perpush/detail/{push_id}Reports
Get per push body reportGET /api/reports/perpush/pushbody/{push_id}Reports
Get per push time series reportGET /api/reports/perpush/series/{push_id}Reports
Get per group push detail reportGET /api/reports/pergroup/detail/{group_id}Reports
Get per group push time series reportGET /api/reports/pergroup/series/{group_id}Reports
Get experiment overview reportGET /api/reports/experiment/overview/{push_id}Reports
Get experiment variant reportGET /api/reports/experiment/detail/{push_id}/{variant_id}Reports
Get custom events per push summaryGET /api/reports/events/summary/perpush/{push_id}Reports
Get custom events per group summaryGET /api/reports/events/summary/pergroup/{group_id}Reports
Get push reportGET /api/reports/sendsReports
Get response reportGET /api/reports/responsesReports
List pushes with response detailsGET /api/reports/responses/listReports
Get web response reportGET /api/reports/web/interactionReports
Get devices reportGET /api/reports/devicesReports
Get app opens reportGET /api/reports/opensReports
Get time in app reportGET /api/reports/timeinappReports
Get opt-in reportGET /api/reports/optinsReports
Get opt-out reportGET /api/reports/optoutsReports
List custom events detailsGET /api/reports/eventsReports
Get activity log reportGET /api/reports/activity/detailsReports
Schedule notificationsPOST /api/schedulesPush
Update schedulePUT /api/schedules/{schedule_id}Schedules
Pause schedulePOST /api/schedules/{schedule_id}/pauseSchedules
Resume schedulePOST /api/schedules/{schedule_id}/resumeSchedules
Look up scheduleGET /api/schedules/{schedule_id}Schedules
List schedulesGET /api/schedulesSchedules
Delete scheduleDELETE /api/schedules/{schedule_id}Schedules
Create segmentPOST /api/segments
Update segmentPUT /api/segments/{segment_id}
Look up segmentGET /api/segments/{segment_id}
List segmentsGET /api/segments
Delete segmentDELETE /api/segments/{segment_id}
Trigger keyword interaction manuallyPOST /api/sms/{msisdn}/keywords
Send custom SMS responsePOST /api/sms/custom-response
Register SMS channel and send opt-in promptPOST /api/channels/smsChannels
Update SMS channelPUT /api/channels/sms/{channel_id}Channels
Modify SMS tagsPOST /api/channels/sms/tagsChannels
Opt-out of SMS messagesPOST /api/channels/sms/opt-outChannels
Look up SMS channelGET /api/channels/sms/{msisdn}/{sender}Channels
Uninstall SMS channelPOST /api/channels/sms/uninstallChannels
Create listPOST /api/listsLists
Update list contentsPUT /api/lists/{list_name}/csvLists
Update list metadataPUT /api/lists/{list_name}Lists
Look up static list metadataGET /api/lists/{list_name}Lists
Download list of mobile app channelsGET /api/lists/{list_name}/csvLists
List static listsGET /api/listsLists
Delete listDELETE /api/lists/{list_name}Lists
List named user subscription listsGET /api/subscription_lists/named_users/{named_user_id}Named Users
List subscription listsGET /api/subscription_listsLists
Create tag listPOST /api/tag-listsLists
Upload tag listPUT /api/tag-lists/{list_name}/csvLists
Download list errorsGET /api/tag-lists/{list_name}/errorsLists
List tag listsGET /api/tag-listsLists
Delete tag listDELETE /api/tag-lists/{list_name}Lists
Modify channel tagsPOST /api/channels/tagsChannels
Modify contact tagsPOST /api/contacts/tags/Contacts
Modify email tagsPOST /api/channels/email/tagsChannels
Modify named user tagsPOST /api/named_users/tagsNamed Users
Modify open channel tagsPOST /api/channels/open/tagsChannels
Modify SMS tagsPOST /api/channels/sms/tagsChannels

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:

OperationEndpoint
Create email attachmentPOST /api/attachments

Channels

The Channels (chn) scope grants access to endpoints that manage channels and channel data:

OperationEndpoint
Modify channel tagsPOST /api/channels/tags
Set or remove attributes on channelsPOST /api/channels/attributes
Subscribe or unsubscribe channels to/from subscription listsPOST /api/channels/subscription_lists
Look up channelGET /api/channels/{channel_id}
List channelsGET /api/channels
Uninstall channelsPOST /api/channels/uninstall
Uninstall channelsPOST /api/channels/uninstall
Register email channelPOST /api/channels/email
Update email channelPUT /api/channels/email/{email}
Replace email channelPOST /api/channels/email/replace/{channel_id}
Modify email tagsPOST /api/channels/email/tags
Remove suppression from email channelPOST /api/channels/email/unsuppress
Suppress email channelPOST /api/channels/email/suppress
Look up email addressGET /api/channels/email/{email}
Uninstall email channelPOST /api/channels/email/uninstall
Register new or update channelPOST /api/channels/open
Modify open channel tagsPOST /api/channels/open/tags
Uninstall open channelPOST /api/channels/open/uninstall
Register SMS channel and send opt-in promptPOST /api/channels/sms
Update SMS channelPUT /api/channels/sms/{channel_id}
Modify SMS tagsPOST /api/channels/sms/tags
Opt-out of SMS messagesPOST /api/channels/sms/opt-out
Look up SMS channelGET /api/channels/sms/{msisdn}/{sender}
Uninstall SMS channelPOST /api/channels/sms/uninstall
Modify channel tagsPOST /api/channels/tags
Modify email tagsPOST /api/channels/email/tags
Modify open channel tagsPOST /api/channels/open/tags
Modify SMS tagsPOST /api/channels/sms/tags

Contacts

The Contacts (cnt) scope grants access to endpoints that manage contacts and contact lists:

OperationEndpoint
Associate contactPOST /api/contacts/associate
Perform scoped contact batch operationsPOST /api/contacts/scoped/{contact_id}
Modify contact tagsPOST /api/contacts/tags/
Set or remove attributes on contactPOST /api/contacts/attributes
Disassociate contactPOST /api/contacts/disassociate/{contact_id}
Look up contact ID by named user IDGET /api/contacts/lookup/named_user/{named_user_id}
Look up contact ID by channel IDGET /api/contacts/lookup/channel/{channel_id}
Modify contact tagsPOST /api/contacts/tags/

Content

The Content (tpl) scope grants access to endpoints that manage content templates:

OperationEndpoint
Create content templatePOST /api/content/templates
Update content templatePUT /api/content/templates/{template_id}
Create or update content template by external IDPUT /api/content/templates/external/{type}/{external_id}
Look up content templateGET /api/content/templates/{template_id}
Look up content template by external IDGET /api/content/templates/external/{type}/{external_id}
List content templatesGET /api/content/templates
Delete content templateDELETE /api/content/templates/{template_id}
Delete content template by external IDDELETE /api/content/templates/external/{type}/{external_id}

Events

The Events (evt) scope grants access to endpoints that create custom events:

OperationEndpoint
Add custom eventsPOST /api/custom-events

Journeys

The Journeys (jny) scope grants access to endpoints that manage audience entry and exit for journeys:

OperationEndpoint
Enter or exit users from SequencePOST /api/journeys/trigger
Exit users from SequencePOST /api/journeys/exit

Lists

The Lists (lst) scope grants access to endpoints that manage lists and list uploads:

OperationEndpoint
Create attributes listPOST /api/attribute-lists
Upload attributes listPUT /api/attribute-lists/{list_name}/csv
Download list errorsGET /api/attribute-lists/{list_name}/errors
List attribute listsGET /api/attribute-lists
Create listPOST /api/lists
Update list contentsPUT /api/lists/{list_name}/csv
Update list metadataPUT /api/lists/{list_name}
Look up static list metadataGET /api/lists/{list_name}
Download list of mobile app channelsGET /api/lists/{list_name}/csv
List static listsGET /api/lists
Delete listDELETE /api/lists/{list_name}
List subscription listsGET /api/subscription_lists
Create tag listPOST /api/tag-lists
Upload tag listPUT /api/tag-lists/{list_name}/csv
Download list errorsGET /api/tag-lists/{list_name}/errors
List tag listsGET /api/tag-lists
Delete tag listDELETE /api/tag-lists/{list_name}

Named Users

The Named Users (nu) scope grants access to endpoints that manage named users and named user associations:

OperationEndpoint
Uninstall named usersPOST /api/named_users/uninstall
Associate named userPOST /api/named_users/associate
Create or update named userPOST /api/named_users/{named_user_id}
Perform scoped named user batch operationsPOST /api/named_users/scoped/{named_user_id}
Modify named user tagsPOST /api/named_users/tags
Set or remove attributes on named userPOST /api/named_users/{named_user_id}/attributes
Disassociate named userPOST /api/named_users/disassociate
List or look up named usersGET /api/named_users
Uninstall named usersPOST /api/named_users/uninstall
List named user subscription listsGET /api/subscription_lists/named_users/{named_user_id}
Modify named user tagsPOST /api/named_users/tags

Pipelines

The Pipelines (pln) scope grants access to endpoints that manage automated message pipelines:

OperationEndpoint
Validate pipelinesPOST /api/pipelines/validate
Create pipelines (automated message)POST /api/pipelines
Update pipelinePUT /api/pipelines/{pipeline_id}
Update pipelines constraintsPUT /api/pipelines/constraints
Look up pipelineGET /api/pipelines/{pipeline_id}
List existing pipelinesGET /api/pipelines
List filtered pipelinesGET /api/pipelines/filtered
List deleted pipelinesGET /api/pipelines/deleted
Get pipelines limits and countsGET /api/pipelines/limits
List pipelines constraintsGET /api/pipelines/constraints
Delete pipelineDELETE /api/pipelines/{pipeline_id}

Push

The Push (psh) scope grants access to endpoints that send push notifications and scheduled messages:

OperationEndpoint
Validate Create and Send payloadPOST /api/create-and-send/validate
Create and Send messagePOST /api/create-and-send
Schedule Create and Send messagePOST /api/schedules/create-and-send
Validate message with bulk IDPOST /api/bulk-send/validate
Send message with bulk IDPOST /api/bulk-send
Schedule message with bulk IDPOST /api/schedules/bulk-send
Validate templated pushesPOST /api/templates/push/validate
Send templated pushesPOST /api/templates/push
Schedule templated pushesPOST /api/templates/schedules
Validate pushesPOST /api/push/validate
Send pushesPOST /api/push
Schedule notificationsPOST /api/schedules

Reports

The Reports (rpt) scope grants access to endpoints that get report data:

OperationEndpoint
Get individual push response statisticsGET /api/reports/responses/{push_id}
Get per push detail reportGET /api/reports/perpush/detail/{push_id}
Get per push body reportGET /api/reports/perpush/pushbody/{push_id}
Get per push time series reportGET /api/reports/perpush/series/{push_id}
Get per group push detail reportGET /api/reports/pergroup/detail/{group_id}
Get per group push time series reportGET /api/reports/pergroup/series/{group_id}
Get experiment overview reportGET /api/reports/experiment/overview/{push_id}
Get experiment variant reportGET /api/reports/experiment/detail/{push_id}/{variant_id}
Get custom events per push summaryGET /api/reports/events/summary/perpush/{push_id}
Get custom events per group summaryGET /api/reports/events/summary/pergroup/{group_id}
Get push reportGET /api/reports/sends
Get response reportGET /api/reports/responses
List pushes with response detailsGET /api/reports/responses/list
Get web response reportGET /api/reports/web/interaction
Get devices reportGET /api/reports/devices
Get app opens reportGET /api/reports/opens
Get time in app reportGET /api/reports/timeinapp
Get opt-in reportGET /api/reports/optins
Get opt-out reportGET /api/reports/optouts
List custom events detailsGET /api/reports/events
Get activity log reportGET /api/reports/activity/details

Schedules

The Schedules (sch) scope grants access to endpoints that manage scheduled messages:

OperationEndpoint
Update schedulePUT /api/schedules/{schedule_id}
Pause schedulePOST /api/schedules/{schedule_id}/pause
Resume schedulePOST /api/schedules/{schedule_id}/resume
Look up scheduleGET /api/schedules/{schedule_id}
List schedulesGET /api/schedules
Delete scheduleDELETE /api/schedules/{schedule_id}