Error Handling
How the Informly API communicates errors
The Informly API uses standard HTTP status codes and returns errors in a consistent JSON format so you can handle failures predictably.
Error format
Every error response has the same shape:
{
"error": {
"code": "API_VALIDATION_ERROR",
"message": "Request validation failed",
"details": [...]
}
}code— A machine-readable error identifier (see table below)message— A human-readable explanationdetails— Only present on validation errors. An array of field-level issues, each with apathandmessage
Error codes
| HTTP Status | Code | Meaning |
|---|---|---|
| 400 | API_VALIDATION_ERROR | The request body or query parameters are invalid |
| 401 | API_AUTH_ERROR | Missing, invalid, or expired API token |
| 403 | API_PERMISSION_ERROR | The token doesn't have the required permission scope |
| 404 | API_NOT_FOUND_ERROR | The requested resource doesn't exist |
| 500 | INTERNAL_ERROR | Something went wrong on our end |
Common scenarios
Invalid token — Double-check that you're sending the full token in the Authorization: Bearer <token> header. Tokens cannot be retrieved after creation, so you may need to generate a new one.
Expired token — All tokens have an expiry date. Generate a new token in the dashboard under Settings > Apps.
Missing permission — A 403 means your token doesn't have the required scope. Edit the token's permissions or create a new token with the correct scopes.
Validation errors — Check the details array for specific field-level messages. Each entry tells you which field failed and why.
Best practices
- Always check the
codefield rather than parsing themessage— codes are stable, messages may change - For
401and403errors, the fix is always on the token side (re-create or adjust permissions) - For
400errors, iterate overdetailsto surface specific issues to your users - For
500errors, retry with exponential backoff — these are transient
See Apps & API Tokens for how to manage tokens and permissions.
Last updated on