Content-Type: application/problem+json and a consistent shape. The HTTP
status is what you branch on; the body explains the detail.
Problem shape
string
A stable URI identifying the error category, under
https://errors.zeam.app/.string
Short, human-readable summary of the category.
integer
The HTTP status code, repeated in the body.
string
A human-readable, actionable explanation of this specific failure.
string
The path that produced the error.
string
Mirrors the
X-Request-Id response header. Quote it in support requests.array
Field-level validation failures, when applicable. Each item has a
field and
a message.Error catalogue
Handling guidance
- Branch on the HTTP status, then read
typefor the specific category. 401is intentionally generic and never says which credential failed. Re-authenticate and retry with valid credentials.429,502,504are transient. Retry with backoff; for429, wait forRetry-After.400,422are caused by the request. Fix the input usingdetailanderrors, then retry.412means a required header is missing; addx-association-idand retry.409means the resource already exists; reconcile instead of recreating.- Always capture
requestIdso Zeam can trace the exact request.