application/problem+json body.
Shape
string
required
A URI identifying the problem type.
string
required
A short, human-readable summary of the problem.
integer
required
The HTTP status code, repeated in the body for convenience.
string
required
A stable, machine-readable error code.
string
A human-readable explanation specific to this occurrence of the problem.
Known error codes
These are the namedcode values documented in the API contract, the HTTP status they arrive with, and the operation that returns them.
This list covers the error codes named explicitly in the API contract. Other operations return
Problem responses too (for example, malformed input generally, or a 404 for an unknown or cross-organization resource) — those follow the same shape but don’t have a single contract-documented code literal beyond what’s listed above.
A
404 is also the deliberate response for both “doesn’t exist” and “exists but isn’t yours” — for example, a well-formed X-Bonya-Organization-ID for an organization you don’t belong to returns 404, not 403, so the API doesn’t confirm the organization’s existence to non-members. Accepting an invitation token — unknown, addressed to someone else, already consumed, revoked, or expired — is likewise a single indistinguishable 404 rather than a code that would let you tell those cases apart.