error
object that says what went wrong for a program and for a person.
Details
ErrorInfois always there. Itsreasonnames the cause in upper snake case, such asNOT_A_SESSION, and is stable: branch onstatusandreason.metadata, when present, holds the values the cause depends on.LocalizedMessageis always there too: a message to show to a person, in the language the request asked for withAccept-Language, French (fr) or English (en). English is the default.BadRequestcomes with a400for a body or query that fails its schema. EachfieldViolationnames a field by its path, such asaddress.streetoritems[0].name, and describes the problem in English.RetryInfocomes with a429: itsretryDelay, such as"42s", says how long to wait before retrying. See Rate limits.
Statuses
A server error’s
message never carries stack traces, queries or other internals. An UNAVAILABLE
error names what is down in its ErrorInfo metadata, such as "dependency": "database".