Skip to main content

Errors

The Quickbook API uses conventional HTTP status codes and returns a consistent JSON error body so failures are easy to handle programmatically.

Error response format

Most errors are returned as an application error envelope:

{
"status": "400",
"code": "BAD_REQUEST",
"type": "Validation Error",
"time": "2026-07-12T09:15:03Z",
"message": "The request could not be processed.",
"description": "`payment_method` is required.",
"reference_id": "b2f1c0a4-8e2d-4a71-9e0b-2f6c1a5d8e90"
}

The reference_id matches the x-transaction-id response header — quote it in any support request. See Transaction IDs.

Authentication policy failures use a simpler shape:

{
"error": "invalid_client",
"description": "wrong client_id or client_secret"
}

Status codes

StatusMeaningWhen it happens
400Bad RequestThe request is malformed or contains invalid data.
401UnauthorizedInvalid client_id or client_secret — see Authentication.
403ForbiddenMissing/invalid Authorization header, or the operation is not permitted.
404Not FoundThe requested URI doesn't exist or isn't mapped in the API.
405Method Not AllowedThe HTTP method isn't supported by the target resource.
406Not AcceptableThe API can't produce a representation matching the Accept header.
415Unsupported Media TypeThe request body format isn't supported for the method used.
429Too Many RequestsThe rate limit was exceeded — see Rate limits.
500Internal Server ErrorThe API failed due to a server internal error.
502Bad GatewayAn upstream service failed and couldn't process the request.
504Gateway TimeoutThe API didn't receive a timely response from another service.
520Backend ErrorThe backend failed due to a server internal error.

Error codes and types

The code and type fields carry machine-readable classifications:

  • code — one of BAD_REQUEST, UNHOUTORIZED, FORBIDDEN, RESOURCE_NOT_FOUND, METHOD_NOT_ALLOWED, NOT_ACCEPTABLE, CONFLICT, UNSUPPORTED_MEDIA_TYPE, INTERNAL_SERVER_ERROR, BAD_GATEWAY, GATEWAY_TIMEOUT, BACKEND_ERROR.
  • type — one of Contract Violation, Validation Error, System Error, Upstream Service Error, Connection Error, Authorization Error, Backend Error.

In the API Reference

Each operation documents its specific error responses. Expand the responses for any endpoint in the API Reference to see them.