message (and optional errors) for detail.
Error envelope
| Field | Always present | Meaning |
|---|---|---|
status | Yes (except 429) | Always "error" on failures. |
message | Yes | A short human-readable description. |
errors | Only on validation errors | Field-by-field validation messages (object or string). |
429 rate-limit responses use a different shape — see Rate Limits.HTTP statuses
400 Bad Request
Returned when the subdomain path segment is invalid.401 Unauthorized
The token is missing or not recognised. Missing header:403 Forbidden
Missing ability (scope):404 Not Found
The resource does not exist (or does not belong to your workspace).Contact not found, Status not found, Template not found, etc.).
422 Unprocessable Entity
Validation failed. Theerrors object maps field names to an array of human-readable messages.
429 Too Many Requests
Rate limit exceeded. See Rate Limits.500 Internal Server Error
Something broke on Xobito’s side. The message describes the failed action.Handling errors
Common mistakes
401 'API token is required'
401 'API token is required'
The
Authorization header was missing. It must be exactly Authorization: Bearer apitk_....403 with ability name
403 with ability name
Your token is valid but lacks the specific ability. Regenerate a new token in Settings → API Management with the ability the endpoint requires.
400 'Invalid tenant subdomain'
400 'Invalid tenant subdomain'
The
{subdomain} in the URL path does not match any workspace. Check the path: https://dash.xobito.com/api/v1/{subdomain}/....422 on send-template
422 on send-template
Either the template does not exist, does not belong to your workspace, or is not yet APPROVED by Meta. Only APPROVED templates can be sent.