Use this catalog to handle common failures consistently.

Validation and request errors

StatusExample detailWhat it meansAction
400channel_id is requiredRequired field missingFix request payload
400to is requiredRecipient field missingAdd destination number
400type is requiredMessage operation type missingAdd type
400content is requiredMessage content missingAdd content object
400invalid messageIDPath ID is not valid UUIDSend valid UUID
400invalid conversation_idBody conversation ID invalidFix ID format

Auth and permission errors

StatusExample detailWhat it meansAction
401missing user contextNo valid auth credentialSend X-Api-Key header
401invalid email or passwordLogin credentials invalidRe-check login input
403forbiddenCredential lacks permissionUse credential with required scope/role

Resource and state errors

StatusExample detailWhat it meansAction
404message not foundResource does not existVerify identifier and tenant context
409conflictRequest conflicts with current stateRefresh state, then retry safely
429rate limitedLimit exceededBackoff and retry
500internal server errorUnexpected backend failureRetry with backoff and log request context

Response format

Problem JSON
{
  "title": "Bad Request",
  "status": 400,
  "detail": "channel_id is required"
}
Error responses follow Huma problem+json format (title, status, detail).