Skip to main content
Every error response from the Verbeo API uses the same shape, regardless of which resource you’re calling. This page is the canonical reference — individual endpoint pages link here instead of redefining the format.

Error envelope

boolean
required
Always false on error responses. Use this as your first branch — every Verbeo response is one of {success: true, data} or {success: false, error}.
string
required
A stable, machine-readable identifier in SCREAMING_SNAKE_CASE. Branch your error handling on this value, not on the human-readable message. Codes are part of the public contract — they will not be renamed without notice.
string
required
Human-readable explanation, suitable for surfacing to your end users or logs.
object[]
Present on VALIDATION_FAILED. One entry per failing field, each with a field path (dot notation, e.g. contacts.0.phone_number) and a message.
The envelope is the same on every resource. Three details on this page are specific to Campaigns: the error.details array on a validation error, 400 INVALID_JSON for a body that is not JSON, and 405 METHOD_NOT_ALLOWED for a wrong verb. Assistants, tools, phone numbers and Create phone call answer code and message only, report a body that is not JSON as 422 VALIDATION_FAILED, and have no 405: a wrong verb answers 404 NOT_FOUND, like a path they do not serve. One exception: GET, PUT, PATCH or DELETE on a one-word path of assistants, or GET, PUT or DELETE on one of phone numbers, such as /list, and GET or DELETE on one of tools, is read as a request for an id and answers 422 VALIDATION_FAILED.One answer from those resources is outside the envelope: a request with no Authorization: Bearer vbr_… header at all is a 401 whose body carries errorMessage instead of error. Check the HTTP status before you read error.code.

HTTP status conventions

Global error codes

These codes can be returned by any endpoint.

Module-specific error codes

Each resource module defines its own codes for situations the global set doesn’t cover. They follow the same envelope; the code value is the only thing that varies.
A resource that defines codes of its own lists them on its overview page. The envelope shape above does not change.

Validation errors in detail

VALIDATION_FAILED (422) is the only error that includes a details array. Each entry pinpoints one offending field:
The field path uses dot notation, including numeric indices for arrays. Use this to map errors back to specific UI inputs in your client.

Retrying errors