Skip to main content
Every V2 error returns JSON with an HTTP status, a stable code, and a human-readable error:
Each details entry has a location (path, query, header, or body), a path to the input, a code (required, invalid_type, invalid_value, or unknown_field), and a message. For an unknown field, path may only point to the containing object ([]). New codes can be added. If you don’t recognize a code, handle the response by its HTTP status.

Error codes

Retry safely

  • Reads are safe to retry. Retry 429 and 503 after Retry-After, with a limit on attempts.
  • Writes don’t support idempotency keys. After a timeout or 500, check whether the write was saved before you send it again. See Retry reads and reconcile writes.
  • Don’t retry 400, 401, 403, or 404 unchanged; the same request fails the same way.
For pagination errors, see Pagination and recovery.

Get help

Email [email protected] with the requestId, the time of the request, the method and path, and the status and code you received. Never send your API key, the Authorization header, or a signed download URL.