Uniform structure
string
Stable, machine-readable code. Use it to branch your error-handling logic (do not parse the
message).string
Human-readable message. It may change over time: do not use it to make decisions in your code.
array
Present in validation errors. A list of
{ field, issue } that indicates which field failed and why.string
Unique identifier of the request. Share it with support to trace exactly what happened.
Catalog of codes
RESOLUTION_ERROR indicates that the organization associated with your token is not properly configured in the system (for example, it is missing active modalities). If you see it persistently, contact support with the requestId.The
401 can arrive in two shapes. If the failure happens at the API Gateway (a missing or invalid x-api-key or token), the response is {"message":"Unauthorized"}, without the error object. If the request passes the gateway but the Facade rejects authentication, it uses the standard shape with error.code: AUTHENTICATION_FAILED.Recommendations
Branch by code
Decide your logic with
error.code, never with the text of message.Save the requestId
Log the
requestId in your logs: it is the fastest way for support to trace a request.Retry with idempotency
On
429, 500, or 502, retry with the same Idempotency-Key to avoid duplicates.Validate before sending
Use
error.details to show your users which field to fix on 400 errors.
