Skip to main content

Error Format

All Talonic API errors return a consistent JSON envelope with a machine-readable code, human-readable message, HTTP status, retryable flag, request ID, and timestamp.

All errors return a consistent JSON envelope. The retryable field tells you whether the request can be retried with the same parameters.

Most integrations parse the code field for programmatic error handling and display the message field to users. A typical error handler checks retryable first — if true, queue the request for retry with exponential backoff; if false, surface the message to the caller and stop.

The request_id field (prefixed with req_) uniquely identifies the failed request and is essential for debugging with Talonic support. The path field confirms which endpoint produced the error, and timestamp records when it occurred in ISO 8601 format.

Pair error handling with the [Error Codes](error-codes) reference to map each code value to the correct remediation action. Note that statusCode always matches the HTTP response status, so you can use either for branching logic in your client.

Always log the request_id from error responses. When contacting support, include it for faster resolution — it links directly to the server-side request trace.

Error response envelope

{
  "statusCode": 400,
  "code": "VALIDATION_ERROR",
  "error": "Bad Request",
  "message": "Schema definition is missing required 'type' field at path 'line_items.items'.",
  "retryable": false,
  "request_id": "req_x7y8z9a0b1c2d3e4",
  "timestamp": "2026-04-25T14:30:00.000Z",
  "path": "/v1/schemas"
}

Envelope fields

statusCodeintegerHTTP status code (matches the response status).
codestringMachine-readable error code (e.g. `VALIDATION_ERROR`, `RATE_LIMIT_EXCEEDED`).
errorstringHTTP status text (e.g. "Bad Request", "Too Many Requests").
messagestringHuman-readable explanation of what went wrong.
retryableboolean`true` if the same request may succeed on retry (e.g. rate limits, timeouts).
request_idstringUnique request identifier for support debugging. Prefix: `req_`.
timestampstringISO 8601 timestamp of when the error occurred.
pathstringThe request path that produced the error.