# Responses

Success and error responses typically conform to the following formats.


## Error response {#error}

Errors returned with 4xx responses. Errors include as much information as possible to help you understand the reason for the failure.

{{< note >}}
We recommend logging all non-2XX responses. Include the entire request and response, including headers, to help you or [Support](https://support.airship.com) troubleshoot issues.
{{< /note >}}

[Jump to examples ↓](#error-examples)

- **`details`** `object`

  Provides information relating to the specific `error_code` when possible. For `400` errors, this object may include the `path` and `location` of validation failures.

  **OBJECT PROPERTIES**

  - **`error`** `string`

    Specific information about the semantic error, helping you better understand why the request failed.

  - **`location`** `object`

    The specific line and column where the validation error occurred, if known.

    **OBJECT PROPERTIES**

    - **`column`** `integer`

      The column containing the semantic error.

    - **`line`** `integer`

      The line containing the semantic error.

  - **`path`** `string`

    The path to the key containing the validation error.

- **`error`** `string` **REQUIRED**

  A plain-text explanation of the error.

- **`error_code`** `integer`

  The Airship error code. This is normally the HTTP error code appended with a 2-digit identifier, helping provide more specific details about the error.

  Example: `40401`

- **`ok`** `boolean` **REQUIRED**

  2xx responses return `true`; 4xx responses return `false`.

  Example: `false`


**Used in:**

- [Add Custom Events]({{< ref "/developer/rest-api/ua/operations/custom-events/" >}}#addcustomevents)
- [App opens report]({{< ref "/developer/rest-api/ua/operations/reports/" >}}#getappopensreport)
- [Channel listing]({{< ref "/developer/rest-api/ua/operations/channels/" >}}#getchannels)
- [Channel lookup]({{< ref "/developer/rest-api/ua/operations/channels/" >}}#getchannel)
- [Channel tags]({{< ref "/developer/rest-api/ua/operations/channels/" >}}#modifychanneltags)
- [Channel tags]({{< ref "/developer/rest-api/ua/operations/tags/" >}}#modifychanneltags)
- [Contact association]({{< ref "/developer/rest-api/ua/operations/contacts/" >}}#associatecontact)
- [Contact disassociation]({{< ref "/developer/rest-api/ua/operations/contacts/" >}}#disassociatecontact)
- [Contacts tags]({{< ref "/developer/rest-api/ua/operations/tags/" >}}#modifycontacttags)
- [Contacts tags]({{< ref "/developer/rest-api/ua/operations/contacts/" >}}#modifycontacttags)
- [Create a tag list]({{< ref "/developer/rest-api/ua/operations/tag-lists/" >}}#createtaglist)
- [Create and Send a message]({{< ref "/developer/rest-api/ua/operations/bulk-sending/" >}}#createandsend)
- [Create Attributes list]({{< ref "/developer/rest-api/ua/operations/attribute-lists/" >}}#createattributelist)
- [Create bulk send audience]({{< ref "/developer/rest-api/ua/operations/bulk-sending/" >}}#bulkuploadcreateandsendplatform)
- [Create content template]({{< ref "/developer/rest-api/ua/operations/content/" >}}#createcontenttemplate)
- [Create email attachment]({{< ref "/developer/rest-api/ua/operations/email/" >}}#createemailattachment)
- [Create experiment (A/B Test)]({{< ref "/developer/rest-api/ua/operations/a-b-tests/" >}}#createexperiment)
- [Create list]({{< ref "/developer/rest-api/ua/operations/static-lists/" >}}#createstaticlist)
- [Create or update content template by external ID]({{< ref "/developer/rest-api/ua/operations/content/" >}}#updatecontenttemplatebyexternalid)
- [Create pipeline (automated message)]({{< ref "/developer/rest-api/ua/operations/automation/" >}}#createpipeline)
- [Create Segment]({{< ref "/developer/rest-api/ua/operations/segments/" >}}#createsegment)
- [Create template]({{< ref "/developer/rest-api/ua/operations/personalization/" >}}#createtemplate)
- [Custom Events detail listing]({{< ref "/developer/rest-api/ua/operations/reports/" >}}#getcustomeventsreport)
- [Custom Events per group summary]({{< ref "/developer/rest-api/ua/operations/reports/" >}}#getcustomeventspergroupsummary)
- [Custom Events per push summary]({{< ref "/developer/rest-api/ua/operations/reports/" >}}#getcustomeventsperpushsummary)
- [Custom unsubscribe email channel]({{< ref "/developer/rest-api/ua/operations/email/" >}}#customunsubscribeemailchannel)
- [Delete a list]({{< ref "/developer/rest-api/ua/operations/static-lists/" >}}#deletestaticlist)
- [Delete content template]({{< ref "/developer/rest-api/ua/operations/content/" >}}#deletecontenttemplate)
- [Delete content template by external ID]({{< ref "/developer/rest-api/ua/operations/content/" >}}#deletecontenttemplatebyexternalid)
- [Delete experiment]({{< ref "/developer/rest-api/ua/operations/a-b-tests/" >}}#deleteexperiment)
- [Delete message from inbox]({{< ref "/developer/rest-api/ua/operations/push/" >}}#deletemessage)
- [Delete multiple messages from inbox]({{< ref "/developer/rest-api/ua/operations/push/" >}}#batchdeletemessages)
- [Delete pipeline]({{< ref "/developer/rest-api/ua/operations/automation/" >}}#deletepipeline)
- [Delete schedule]({{< ref "/developer/rest-api/ua/operations/schedules/" >}}#deleteschedule)
- [Delete Segment]({{< ref "/developer/rest-api/ua/operations/segments/" >}}#deletesegment)
- [Delete tag list]({{< ref "/developer/rest-api/ua/operations/tag-lists/" >}}#deletetaglist)
- [Delete template]({{< ref "/developer/rest-api/ua/operations/personalization/" >}}#deletetemplate)
- [Devices report]({{< ref "/developer/rest-api/ua/operations/reports/" >}}#getdevicesreport)
- [Download a list of channels]({{< ref "/developer/rest-api/ua/operations/static-lists/" >}}#getstaticlist)
- [Download list errors]({{< ref "/developer/rest-api/ua/operations/attribute-lists/" >}}#getattributelisterrors)
- [Download list errors]({{< ref "/developer/rest-api/ua/operations/tag-lists/" >}}#gettaglisterrors)
- [Email tags]({{< ref "/developer/rest-api/ua/operations/email/" >}}#modifyemailchanneltags)
- [Email tags]({{< ref "/developer/rest-api/ua/operations/tags/" >}}#modifyemailchanneltags)
- [Experiment listing]({{< ref "/developer/rest-api/ua/operations/a-b-tests/" >}}#getexperiments)
- [Experiment lookup]({{< ref "/developer/rest-api/ua/operations/a-b-tests/" >}}#getexperiment)
- [Experiment overview report]({{< ref "/developer/rest-api/ua/operations/reports/" >}}#getexperimentoverviewreport)
- [Get single list metadata]({{< ref "/developer/rest-api/ua/operations/static-lists/" >}}#getstaticlistmetadata)
- [Individual pipeline lookup]({{< ref "/developer/rest-api/ua/operations/automation/" >}}#getpipeline)
- [Individual push response statistics]({{< ref "/developer/rest-api/ua/operations/reports/" >}}#getresponsesforpush)
- [List a specific schedule]({{< ref "/developer/rest-api/ua/operations/schedules/" >}}#getschedule)
- [List content templates]({{< ref "/developer/rest-api/ua/operations/content/" >}}#listcontenttemplates)
- [List deleted pipelines]({{< ref "/developer/rest-api/ua/operations/automation/" >}}#getdeletedpipelines)
- [List existing pipelines]({{< ref "/developer/rest-api/ua/operations/automation/" >}}#getpipelines)
- [List filtered pipelines]({{< ref "/developer/rest-api/ua/operations/automation/" >}}#getfilteredpipelines)
- [List pipelines constraints]({{< ref "/developer/rest-api/ua/operations/automation/" >}}#getpipelinesconstraints)
- [List pipelines limits]({{< ref "/developer/rest-api/ua/operations/automation/" >}}#getpipelineslimits)
- [List schedules]({{< ref "/developer/rest-api/ua/operations/schedules/" >}}#getschedules)
- [List templates]({{< ref "/developer/rest-api/ua/operations/personalization/" >}}#gettemplates)
- [Look up a content template]({{< ref "/developer/rest-api/ua/operations/content/" >}}#getcontenttemplate)
- [Look up a content template by external ID]({{< ref "/developer/rest-api/ua/operations/content/" >}}#getcontenttemplatebyexternalid)
- [Look up a template]({{< ref "/developer/rest-api/ua/operations/personalization/" >}}#gettemplate)
- [Look up an email address]({{< ref "/developer/rest-api/ua/operations/email/" >}}#getemailchannel)
- [Look up Contact ID by Channel ID]({{< ref "/developer/rest-api/ua/operations/contacts/" >}}#getcontactidfromchannelid)
- [Look up Contact ID by Named User ID]({{< ref "/developer/rest-api/ua/operations/contacts/" >}}#getcontactidfromnameduserid)
- [Manually trigger a keyword interaction]({{< ref "/developer/rest-api/ua/operations/sms/" >}}#triggersmskeywordinteraction)
- [Named User listing or lookup]({{< ref "/developer/rest-api/ua/operations/named-users/" >}}#getnameduser)
- [Named User subscription lists listing]({{< ref "/developer/rest-api/ua/operations/subscription-lists/" >}}#getnamedusersubscriptionlists)
- [Named User update]({{< ref "/developer/rest-api/ua/operations/named-users/" >}}#updatenameduser)
- [Named Users association]({{< ref "/developer/rest-api/ua/operations/named-users/" >}}#associatenameduser)
- [Named Users disassociation]({{< ref "/developer/rest-api/ua/operations/named-users/" >}}#disassociatednameduser)
- [Named Users tags]({{< ref "/developer/rest-api/ua/operations/named-users/" >}}#modifynamedusertags)
- [Named Users tags]({{< ref "/developer/rest-api/ua/operations/tags/" >}}#modifynamedusertags)
- [Named Users uninstall]({{< ref "/developer/rest-api/ua/operations/named-users/" >}}#uninstallnameduser)
- [Named Users uninstall]({{< ref "/developer/rest-api/ua/operations/data-privacy-laws-compliance/" >}}#uninstallnameduser)
- [Open channel tags]({{< ref "/developer/rest-api/ua/operations/open-channels/" >}}#modifyopenchanneltags)
- [Open channel tags]({{< ref "/developer/rest-api/ua/operations/tags/" >}}#modifyopenchanneltags)
- [Opt-in report]({{< ref "/developer/rest-api/ua/operations/reports/" >}}#getoptinreport)
- [Opt-out report]({{< ref "/developer/rest-api/ua/operations/reports/" >}}#getoptoutreport)
- [Pause a schedule]({{< ref "/developer/rest-api/ua/operations/schedules/" >}}#pauseschedule)
- [Push report]({{< ref "/developer/rest-api/ua/operations/reports/" >}}#getpushreport)
- [Push to template]({{< ref "/developer/rest-api/ua/operations/personalization/" >}}#pushtotemplate)
- [Region listing]({{< ref "/developer/rest-api/ua/operations/regions/" >}}#getregions)
- [Region lookup]({{< ref "/developer/rest-api/ua/operations/regions/" >}}#getregion)
- [Register email channel]({{< ref "/developer/rest-api/ua/operations/email/" >}}#registeremailchannel)
- [Register new or update channel]({{< ref "/developer/rest-api/ua/operations/open-channels/" >}}#createorupdateopenchannel)
- [Remove suppression from an email channel]({{< ref "/developer/rest-api/ua/operations/email/" >}}#unsuppressemailchannel)
- [Replace email channel]({{< ref "/developer/rest-api/ua/operations/email/" >}}#replaceemailchannel)
- [Response listing]({{< ref "/developer/rest-api/ua/operations/reports/" >}}#getresponses)
- [Response report]({{< ref "/developer/rest-api/ua/operations/reports/" >}}#getresponsereport)
- [Resume a schedule]({{< ref "/developer/rest-api/ua/operations/schedules/" >}}#resumeschedule)
- [Retrieve lists]({{< ref "/developer/rest-api/ua/operations/attribute-lists/" >}}#getattributelistmetadata)
- [Retrieve lists]({{< ref "/developer/rest-api/ua/operations/static-lists/" >}}#getstaticlistsmetadata)
- [Retrieve lists]({{< ref "/developer/rest-api/ua/operations/tag-lists/" >}}#gettaglistsmetadata)
- [Schedule a Create and Send message]({{< ref "/developer/rest-api/ua/operations/bulk-sending/" >}}#schedulecreateandsendoperations)
- [Schedule a notification]({{< ref "/developer/rest-api/ua/operations/schedules/" >}}#schedulenotification)
- [Schedule a templated push]({{< ref "/developer/rest-api/ua/operations/personalization/" >}}#scheduletemplatedpush)
- [Schedule message with bulk ID]({{< ref "/developer/rest-api/ua/operations/bulk-sending/" >}}#schedulebulksendpush)
- [Scheduled experiment listing]({{< ref "/developer/rest-api/ua/operations/a-b-tests/" >}}#getscheduledexperiments)
- [Scoped Contact batch operations]({{< ref "/developer/rest-api/ua/operations/contacts/" >}}#performscopedcontactbatchoperations)
- [Scoped Named User batch operations]({{< ref "/developer/rest-api/ua/operations/named-users/" >}}#performnameduserscopedbatchoperations)
- [Segment listing]({{< ref "/developer/rest-api/ua/operations/segments/" >}}#getsegments)
- [Segment lookup]({{< ref "/developer/rest-api/ua/operations/segments/" >}}#getsegment)
- [Send a push]({{< ref "/developer/rest-api/ua/operations/push/" >}}#sendpush)
- [Send message with bulk ID]({{< ref "/developer/rest-api/ua/operations/bulk-sending/" >}}#bulksendpush)
- [Set or remove attributes on a Contact]({{< ref "/developer/rest-api/ua/operations/contacts/" >}}#modifycontactattributes)
- [Set or remove attributes on channels]({{< ref "/developer/rest-api/ua/operations/channels/" >}}#modifychannelattributes)
- [Set or remove attributes on Named Users]({{< ref "/developer/rest-api/ua/operations/named-users/" >}}#modifynameduserattributes)
- [SMS tags]({{< ref "/developer/rest-api/ua/operations/sms/" >}}#modifysmschanneltags)
- [SMS tags]({{< ref "/developer/rest-api/ua/operations/tags/" >}}#modifysmschanneltags)
- [Subscribe or unsubscribe channels to/from subscription lists]({{< ref "/developer/rest-api/ua/operations/channels/" >}}#modifychannelsubscriptions)
- [Subscription lists listing]({{< ref "/developer/rest-api/ua/operations/subscription-lists/" >}}#getsubscriptionlists)
- [Suppress an email channel]({{< ref "/developer/rest-api/ua/operations/email/" >}}#suppressemailchannel)
- [Time in app report]({{< ref "/developer/rest-api/ua/operations/reports/" >}}#gettimeinappreport)
- [Uninstall channels]({{< ref "/developer/rest-api/ua/operations/channels/" >}}#uninstallchannels)
- [Uninstall channels]({{< ref "/developer/rest-api/ua/operations/data-privacy-laws-compliance/" >}}#uninstallchannels)
- [Uninstall email channel]({{< ref "/developer/rest-api/ua/operations/email/" >}}#uninstallemailchannel)
- [Uninstall open channels]({{< ref "/developer/rest-api/ua/operations/open-channels/" >}}#uninstallopenchannels)
- [Update an email channel]({{< ref "/developer/rest-api/ua/operations/email/" >}}#updateemailchannel)
- [Update content template]({{< ref "/developer/rest-api/ua/operations/content/" >}}#updatecontenttemplate)
- [Update list contents]({{< ref "/developer/rest-api/ua/operations/static-lists/" >}}#updatestaticlist)
- [Update list metadata]({{< ref "/developer/rest-api/ua/operations/static-lists/" >}}#updatestaticlistmetadata)
- [Update pipeline]({{< ref "/developer/rest-api/ua/operations/automation/" >}}#updatepipeline)
- [Update pipelines constraints]({{< ref "/developer/rest-api/ua/operations/automation/" >}}#updatepipelineconstraints)
- [Update schedule]({{< ref "/developer/rest-api/ua/operations/schedules/" >}}#updateschedule)
- [Update Segment]({{< ref "/developer/rest-api/ua/operations/segments/" >}}#updatesegment)
- [Update template]({{< ref "/developer/rest-api/ua/operations/personalization/" >}}#updatetemplate)
- [Upload Attribute list]({{< ref "/developer/rest-api/ua/operations/attribute-lists/" >}}#uploadattributelist)
- [Upload tag list]({{< ref "/developer/rest-api/ua/operations/tag-lists/" >}}#uploadtaglist)
- [Validate a push]({{< ref "/developer/rest-api/ua/operations/push/" >}}#validatepush)
- [Validate a template]({{< ref "/developer/rest-api/ua/operations/personalization/" >}}#validatetemplate)
- [Validate Create and Send payload]({{< ref "/developer/rest-api/ua/operations/bulk-sending/" >}}#validatecreateandsendpayload)
- [Validate experiment]({{< ref "/developer/rest-api/ua/operations/a-b-tests/" >}}#validateexperiment)
- [Validate message with bulk ID]({{< ref "/developer/rest-api/ua/operations/bulk-sending/" >}}#validatebulksendpush)
- [Validate pipeline]({{< ref "/developer/rest-api/ua/operations/automation/" >}}#validatepipeline)
- [Web response report]({{< ref "/developer/rest-api/ua/operations/reports/" >}}#getwebresponsereport)

**Examples**

*400 response*

```json
{
  "ok" : false,
  "error" : "Could not parse request body.",
  "error_code" : 40000,
  "details" : {
      "error" : "The key 'alert1' is not allowed in this context",
      "path" : "notification.alert1",
      "location" : {
          "line" : 5,
          "column" : 18
      }
  }

```

*400 response without location*

```json
{
    "ok": false,
    "error": "Could not parse request body.",
    "error_code": 40902,
    "details": {
        "error": "malformed sender"
    }
}

```

*404 response*

```json
{
    "ok": false,
    "error": "Entity not found",
    "error_code": 40401
}

```

---

## OK response {#okresponseobject}

Returned with 2xx Responses. At a minimum, successful calls return `true` for the `ok` key. If your call includes a verbose response (as with `GET` requests, etc.), the `ok` key will appear in the top-most object, outside the verbose response.

[Jump to examples ↓](#okresponseobject-examples)

- **`ok`** `boolean` **REQUIRED**

  Success.

- **`operation_id`** `string`

  A unique string identifying the operations that modify resources. Use the operation ID to locate and track grouped operations (i.e., a batch push operation may generate multiple `push_id` strings, but a single `operation_id`) or operations that change an existing resource.

  Format: `uuid`


**Used in:**

- [Contact association]({{< ref "/developer/rest-api/ua/operations/contacts/" >}}#associatecontact)
- [Create a tag list]({{< ref "/developer/rest-api/ua/operations/tag-lists/" >}}#createtaglist)
- [Create Attributes list]({{< ref "/developer/rest-api/ua/operations/attribute-lists/" >}}#createattributelist)
- [Create list]({{< ref "/developer/rest-api/ua/operations/static-lists/" >}}#createstaticlist)
- [Delete message from inbox]({{< ref "/developer/rest-api/ua/operations/push/" >}}#deletemessage)
- [Delete multiple messages from inbox]({{< ref "/developer/rest-api/ua/operations/push/" >}}#batchdeletemessages)
- [Email tags]({{< ref "/developer/rest-api/ua/operations/email/" >}}#modifyemailchanneltags)
- [Email tags]({{< ref "/developer/rest-api/ua/operations/tags/" >}}#modifyemailchanneltags)
- [Named Users association]({{< ref "/developer/rest-api/ua/operations/named-users/" >}}#associatenameduser)
- [Named Users disassociation]({{< ref "/developer/rest-api/ua/operations/named-users/" >}}#disassociatednameduser)
- [Named Users uninstall]({{< ref "/developer/rest-api/ua/operations/named-users/" >}}#uninstallnameduser)
- [Named Users uninstall]({{< ref "/developer/rest-api/ua/operations/data-privacy-laws-compliance/" >}}#uninstallnameduser)
- [Open channel tags]({{< ref "/developer/rest-api/ua/operations/open-channels/" >}}#modifyopenchanneltags)
- [Open channel tags]({{< ref "/developer/rest-api/ua/operations/tags/" >}}#modifyopenchanneltags)
- [Remove suppression from an email channel]({{< ref "/developer/rest-api/ua/operations/email/" >}}#unsuppressemailchannel)
- [Scoped Named User batch operations]({{< ref "/developer/rest-api/ua/operations/named-users/" >}}#performnameduserscopedbatchoperations)
- [SMS tags]({{< ref "/developer/rest-api/ua/operations/sms/" >}}#modifysmschanneltags)
- [SMS tags]({{< ref "/developer/rest-api/ua/operations/tags/" >}}#modifysmschanneltags)
- [Subscribe or unsubscribe channels to/from subscription lists]({{< ref "/developer/rest-api/ua/operations/channels/" >}}#modifychannelsubscriptions)
- [Suppress an email channel]({{< ref "/developer/rest-api/ua/operations/email/" >}}#suppressemailchannel)
- [Uninstall channels]({{< ref "/developer/rest-api/ua/operations/channels/" >}}#uninstallchannels)
- [Uninstall channels]({{< ref "/developer/rest-api/ua/operations/data-privacy-laws-compliance/" >}}#uninstallchannels)
- [Uninstall email channel]({{< ref "/developer/rest-api/ua/operations/email/" >}}#uninstallemailchannel)
- [Uninstall open channels]({{< ref "/developer/rest-api/ua/operations/open-channels/" >}}#uninstallopenchannels)
- [Update list contents]({{< ref "/developer/rest-api/ua/operations/static-lists/" >}}#updatestaticlist)
- [Update list metadata]({{< ref "/developer/rest-api/ua/operations/static-lists/" >}}#updatestaticlistmetadata)
- [Update pipeline]({{< ref "/developer/rest-api/ua/operations/automation/" >}}#updatepipeline)
- [Update pipelines constraints]({{< ref "/developer/rest-api/ua/operations/automation/" >}}#updatepipelineconstraints)
- [Update Segment]({{< ref "/developer/rest-api/ua/operations/segments/" >}}#updatesegment)
- [Upload Attribute list]({{< ref "/developer/rest-api/ua/operations/attribute-lists/" >}}#uploadattributelist)
- [Upload tag list]({{< ref "/developer/rest-api/ua/operations/tag-lists/" >}}#uploadtaglist)
- [Validate a push]({{< ref "/developer/rest-api/ua/operations/push/" >}}#validatepush)
- [Validate a template]({{< ref "/developer/rest-api/ua/operations/personalization/" >}}#validatetemplate)
- [Validate Create and Send payload]({{< ref "/developer/rest-api/ua/operations/bulk-sending/" >}}#validatecreateandsendpayload)
- [Validate message with bulk ID]({{< ref "/developer/rest-api/ua/operations/bulk-sending/" >}}#validatebulksendpush)
- [Validate pipeline]({{< ref "/developer/rest-api/ua/operations/automation/" >}}#validatepipeline)

**Examples**

*OK response*

```http
HTTP/1.1 202 Accepted
Content-Type: application/vnd.urbanairship+json; version=3

{
    "ok": true,
}

```

*OK with identifiers*

```http
HTTP/1.1 202 Accepted
Data-Attribute: push_ids
Content-Type: application/vnd.urbanairship+json; version=3

{
    "ok": true,
    "operation_id": "df6a6b50-9843-0304-d5a5-743f246a4946",
    "push_ids": [
        "9d78a53b-b16a-c58f-b78d-181d5e242078"
    ]
}

```

---

