Errors and request IDs

Handle public error envelopes and retain request identifiers for diagnosis.

JSON errors use this envelope:

{
  "statusCode": 400,
  "message": "page must be a positive integer",
  "error": "Bad Request"
}

error can be omitted.

StatusMeaningRetry?
400Invalid or missing parameterFix request
401Missing or invalid API keyFix key
404Requested prospect, call, or recording does not existUsually no
416Recording byte range cannot be satisfiedUse valid range
429Rate limit exceededHonor Retry-After
500Unexpected Sonik errorRetry with backoff
502Recording provider failedRetry with backoff

Every public data response includes:

Cache-Control: private, no-store
x-correlation-id: backend-example-id
x-request-id: request-example-id

Capture both request identifiers when diagnosing failures. Cache header prevents browsers and intermediaries from storing workspace data.


Did this page help you?