Skip to main content

Errors

Partner APIs share a flat error body:

{
"code": "VALIDATION_ERROR",
"message": "uid must match ^CHE\\d{9}$"
}

Branch on code. Log both code and message.

401 and 403 have no JSON body. Refresh the token on 401; do not parse the response.

HTTP status codes

StatusMeaning
200OK
201Created
202Accepted (async job started)
400Bad request — body present
401Unauthorized — empty body
403Forbidden — empty body
404Not found
409Conflict
413Payload too large
415Unsupported media type
429Rate limited — honour Retry-After when present
500Internal error
503Service unavailable

Platform code values

CodeTypical statusRetry
VALIDATION_ERROR400No
NOT_FOUND404No
PAYLOAD_TOO_LARGE413No
CONFLICT409No
RATE_LIMITED429Yes, after Retry-After
SERVICE_UNAVAILABLE503Yes, exponential backoff
INTERNAL_ERROR500Yes, exponential backoff

Product codes

Docmind also uses domain codes such as INVALID_FILE. Docbooks uses BATCH_TOO_LARGE and DUPLICATE_IN_BATCH. See Docmind OpenAPI and Docbooks OpenAPI.