Skip to main content

Error shape

Errors carry a typed error object with a trace_id to quote to support:
The same trace_id is in the X-Request-Id header of every response.

Categories (type → HTTP)

The code refines the type (e.g. identifier_taken, invalid_status, campaign_not_draft).

Rate limits

The limit is applied per Application. Every response carries standard headers:
When exceeded you get 429 rate_limit_error with Retry-After (seconds). Retry with backoff.
at_test_ and at_live_ share their Application’s limit model. Cache the token (it lasts ~1 h) instead of requesting one per call.