Skip to main content

Errors

{ "error": { "code": "<snake_case>", "message": "<human readable>", "details": [ { "path": "…", "message": "…" } ] } }

details appears on validation errors only.

StatuscodeMeaningDo
400unknown_kind/v1/e/:kind was not d, o, c, xfix the path
400invalid_msg_idtracking id failed HMAC verificationthe push was not from this deployment, or HMAC_SECRET changed
400invalid_idempotency_keyheader over 255 charsshorten it
401unauthorizedno key, malformed key, unknown or revoked keycheck the header and the app
403forbiddenpublic key on a server endpoint, or the key lacks the scopeuse a secret key with the right scope
404not_foundno such subscription/user/campaign in this appa foreign id looks identical to a missing one
409invalid_statecampaign cannot be sent/cancelled from its current status; no content yetcheck status; finish the draft
409idempotency_in_progressfirst request with this key is still runningretry in a moment
409various (winner)not an experiment, no remainder, already sent, still sendingsee message
422invalid_bodyzod validation failedread details[].path
422invalid_segmentsegment DSL did not compileread details[0].path
422idempotency_key_reusedsame key, different bodyuse a new key per intent
429rate_limitedwindow exhaustedwait the seconds in the message
500upsert_failedMongo returned no document on upsertretry; check logs
503database_unavailableMongoDB unreachableretry with backoff; /health is 503 too
503encryption_key_missingadmin surface without ENCRYPTION_KEYconfigure the API
404— (no body)any /v1/admin/* route when ADMIN_API_TOKEN is unset or wrongintentional: the surface does not exist without the token

Reading details

"details": [
{ "path": "content.en.image", "message": "Invalid url" },
{ "path": "target", "message": "provide exactly one of externalIds, userIds, subscriptionIds, segment or all" },
{ "path": "schedule.localTime", "message": "expected HH:MM" }
]

path is the dotted path into your request body. An empty path means the whole body (e.g. "no updatable fields given" on a PATCH).