Skip to main content

Errors

The API uses conventional HTTP status codes. Error responses are JSON:

StatusMeaning
400Validation failed — message is "Validation error" and errors lists the offending fields.
401Missing or invalid API token.
404Resource not found (or not owned by your account).
429Rate limit exceeded — see Rate limits.
500Unexpected server error.

Every error body carries a message string. The HTTP status code is on the response itself, not repeated in the body.

Example validation error:

{
"message": "Validation error",
"errors": ["amount: must not be less than 0"]
}

errors entries are path: reason, with the path dotted for nested fields (for example account.id: must be a UUID). Other errors carry message alone:

{ "message": "Not Found" }