Skip to main content
Every failure is an HTTP status code plus, in most cases, a JSON error body. This page lists the body, the field errors and each status the API can return.

Error body

Errors use the response envelope with error fields instead of data.
Branch on status, not on the text of message. Messages are written for people and can change. Three kinds of refusal are answered by the access checks before a request reaches the API and carry no body: 401, 403 from the key or host checks, and 400 for an ambiguous path. Handle them by status code alone.

Field errors

A 400 caused by invalid input lists each problem in errors. Each entry names the field and says what is wrong.
A request body with a field the API does not know is rejected the same way, with the field name and the message Unknown field: '<name>'.

Status codes

Other client errors raised while handling the request, such as an unsupported media type, use the same envelope and the standard status code.

Which calls return which errors

Retry guidance