Skip to main content

Error handling

Errors arrive as a JSON body with a non-2xx status. Read the status to decide whether to retry, and the message to decide what to fix.

Error shape

{
"error": "invalid domainId",
"code": 400
}
Verify this shape.

The error envelope above reflects common platform behaviour but has not been confirmed against a live response. Send one real error payload per status and this page becomes authoritative.

What to do by status

CodeMeaningWhen it happens
400Bad requestA required body field is missing or has the wrong type. Fix the payload; retrying will not help.
401UnauthorizedX-Authorization is missing, malformed or expired. Obtain a fresh token.
403ForbiddenThe token is valid but not scoped to the orgId, tenantId or domainId you sent.
404Not foundThe path is wrong, or the record referenced in the body does not exist in this tenant.
409ConflictThe resource already exists, such as adding a domain that is already onboarded.
500Server errorAn unexpected platform failure. Safe to retry once with backoff, then contact support.

Retries

Retry only 5xx responses, and use exponential backoff. Retrying a 4xx repeats the same failure. Write endpoints are not documented as idempotent, so avoid blind retries on create calls.