Skip to main content

Errors

Response format

All errors return a JSON body:

{
"error": {
"code": "validation_failed",
"message": "The given data was invalid.",
"details": {
"email": ["The email has already been taken."]
}
},
"request_id": "req_01HXXXXXX"
}

Always include the request_id when contacting support about an error.

HTTP Status Codes

StatusMeaning
200 OKSuccess
201 CreatedResource created
400 Bad RequestMalformed request
401 UnauthorizedMissing or invalid token
403 ForbiddenValid token but insufficient permissions
404 Not FoundResource not found
409 ConflictConflict (e.g. email already taken)
422 Unprocessable EntityValidation failed
429 Too Many RequestsRate limit exceeded
500 Internal Server ErrorServer-side error

Error codes

CodeDescription
validation_failedRequest body failed validation
unauthorizedToken missing or expired
forbiddenToken lacks required scope
not_foundResource does not exist
conflictUnique constraint violation
rate_limitedToo many requests
internal_errorUnexpected server error