Error codes
Every failure names what went wrong in its type. Match on that. The status on its own isn't enough: a 403 covers both "this key can't do that" and "this record won't allow it".
14 of them. 2 are worth trying again; the rest need something to change first.
- unauthenticated change something
The request carried no usable API key.
- forbidden change something
Authenticated, but not allowed to do this.
- scope_required change something
The key was not issued for this operation.
- not_found change something
No such record, for the company this key is bound to.
- method_not_allowed change something
The endpoint exists but does not accept this HTTP method.
- not_acceptable change something
The format you asked for is not one this API produces.
- conflict change something
The request contradicts the current state of the record.
- validation_failed change something
The request was understood and its content was rejected.
- unsupported_media_type change something
The body was sent in a format this API does not read.
- malformed_request change something
The request could not be read as a request.
- idempotency_key_required change something
This operation creates something, and needs a key so a retry cannot create it twice.
- idempotency_key_conflict change something
This key was already used for a DIFFERENT request body.
- rate_limited try again
This key has spent its burst budget.
- internal_error try again
Something failed on our side.
Building something and stuck? Tell us - we'd rather hear it than have you guess.