Common API-Triggered Broadcast errors

Updated

This page lists some common errors you might encounter when you trigger a broadcast, and troubleshooting options to help you overcome these errors.

Method Not Allowed

You might have misspelled the request URI. The URI should look like the following (with the broadcast/trigger :id):

  • US region: https://api.customer.io/v1/api/campaigns/:id/triggers
  • EU region: https://api-eu.customer.io/v1/api/campaigns/:id/triggers

“status”:“400”

{
  "errors":[
    {
      "detail":"bad request (reference 01C4MWXZPAR1SHBSZT4ZMZ6KZV)",
      "status":"400"
    }
  ]
}

Reason: Issues with the JSON formatting of the request. This could be mismatched opening or closing brackets, missing commas or quotes, etc.

“status”:“401”

You’ve provided an incorrect or invalid bearer token. Check that your token provides access to the workspace containing your broadcast and has sufficient permissions to trigger a broadcast.

{
  "errors":[
    {
      "detail":"unauthorized",
      "status":"401"
    }
  ]

“status”:“403”

The URL or the credentials in your data_file_url might be incorrect.

{
    "errors": [
        "failed to download data file, server responded with code 403 Forbidden"
    ],
    "next": 0
}

“status”:“404”

Your Broadcast’s trigger id doesn’t exist. You can double-check it by looking at your broadcast’s Triggering Details tab.

{  
  "errors":[  
    {  
      "detail":"not found (reference 01C4MWKQA9XTFNYR68QB7JJ0XA)",
      "status":"404"
    }
  ]
}

“status”:“422”

A 422 error means that your broadcast trigger failed a validation check. You can look use the trigger ID from the error detail to look up more information about the failure. Some common errors include:

  • Mistyped keys or values
  • One or more people in the payload don’t exist
  • Improper or missing request headers when sending a cURL request (-H "Content-Type: application/json”)
  • You used ids, emails or recipients alongside per_user_data or data_file_url. You can only use one of these in your request.
  • If you used per_user_data or data_file_url, email addresses in your request might resolve to more than one person.
{
  "errors":[
    {
      "detail":"recipients filter is not valid",
      "source":{
        "pointer":"/data/attributes/recipients"
      },
      "status":"422"
    }
  ]
}
{
    "errors": [
        {
            "detail": "exactly one of \"recipients\", \"ids\", \"emails\", \"per_user_data\", or \"data_file_url\" must be provided",
            "source": {
                "pointer": "/data/attributes/recipients"
            },
            "status": "422"
        }
    ]
}

Need help?

If you’ve encountered a different error, or need more help fixing one the errors listed on this page, let us know!

Copied to clipboard!
  Contents
Is this page helpful?