Skip to main content
Audienceful uses conventional HTTP status codes to indicate the success or failure of a request. Codes in the 2xx range indicate success, 4xx codes indicate a problem with the request (a missing field, a permission issue, a conflict, etc.), and 5xx codes indicate an error on Audienceful’s side. Every non-2xx v2 response uses a single, consistent error envelope:
{
  "error": {
    "type": "validation_error",
    "code": "invalid",
    "message": "The request body failed validation.",
    "errors": [
      { "field": "email", "message": "This field is required." }
    ]
  },
  "request_id": "9f2c1a7e5b8d4f31a0c6e2d9b7a4f108"
}
error
object
request_id
string
The id of the request, matching the X-Request-Id response header. Include it when contacting support.

Error types

typeTypical statusMeaning
validation_error400The request body failed validation. See errors[] for per-field detail.
invalid_request_error400 / 405 / 415The request was malformed, used an unsupported method, or sent an unsupported media type.
authentication_error401The API key is missing or invalid.
permission_error403The API key is valid but lacks the scope required for this endpoint.
not_found_error404The requested resource does not exist in this workspace.
conflict_error409The request conflicts with existing state (e.g. a duplicate email, or an in-progress idempotent request).
rate_limit_error429You’ve exceeded a rate limit.
api_error500Something went wrong on Audienceful’s side.
Validation errors (400) are the ones you’ll see most often while integrating. Read the errors[] array to see exactly which fields were rejected and why.