HTTP status codes
| Status Code | Meaning |
|---|---|
| 200 | Success |
| 201 | Resource created |
| 400 | Bad request (malformed request) |
| 401 | Missing API key |
| 402 | Subscription required for this feature |
| 403 | Invalid or revoked API key |
| 404 | Resource not found |
| 422 | Validation error |
| 429 | Rate limit exceeded |
| 500 | Server error |
| 503 | Service unavailable |
Create endpoints do not all return the same status code. Transaction and record endpoints (for example
POST /public/v2/bills/) return 200; master-data endpoints (for example POST /public/v2/customers/) return 201. Check the specific endpoint in the API reference for the documented response code.Error response format
All errors follow this structure:errors.__all__: General errors not specific to a fielderrors.<field_name>: Errors specific to a particular field
Common errors
Authentication error (403)
Subscription required (402)
Returned when your organization does not have the subscription required for the requested feature.Validation error (422)
Not found (404)
Rate limit exceeded (429)
Handling errors
Best Practices:
- Always check HTTP status codes
- Parse the
errorsobject for field-specific details - Implement retry logic for rate limits (429) and server errors (5xx)
- Log error responses for debugging
Example
Next: Explore the API Reference →
