ErrorEnvelope
Every 4xx and 5xx response has this shape.
- errorType: object · Errorrequired
What went wrong, and which part of the request caused it.
- detailsType: array object[] · ErrorDetail[]required
One entry per individual problem, so a rejected request can be fixed in one pass instead of one field at a time. Empty on failures that are not field-specific.
A single problem with the request, pointing at the parameter or body field responsible.
- messageType: stringrequired
Human-readable summary of the failure. Intended for logs and developers, not for end users.
- requestType: string
_id requiredIdentifier for the failed request. Quote it when contacting support.
- statusType: integerrequired
The HTTP status code, repeated here so the body is self-contained.
- typeType: string enumrequired
What kind of failure this is. Branch on this rather than on
message:bad_request(400) — a query parameter is unknown, malformed or conflicts with another.authentication_error(401) — the access token is missing, expired or invalid.insufficient_permissions(403) — the token is valid but the member behind it is not allowed to do this.not_found(404) — no such record in your account.validation_error(422) — the request body was understood but rejected. Seedetails.rate_limited(429) — you have exhausted a rate limit window.internal_error(500) — something failed on our side. Safe to retry.
values- bad
_request - authentication
_error - insufficient
_permissions - not
_found - validation
_error - rate
_limited - internal
_error