Errors
The API uses conventional HTTP status codes. Error responses are JSON:
| Status | Meaning |
|---|---|
400 | Validation failed — message is "Validation error" and errors lists the offending fields. |
401 | Missing or invalid API token. |
404 | Resource not found (or not owned by your account). |
429 | Rate limit exceeded — see Rate limits. |
500 | Unexpected 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" }