Error Codes
All errors return a consistent JSON envelope:
{
"error": {
"code": "VALIDATION_ERROR",
"message": "documentUrl must be a valid URL",
"field": "documentUrl"
}
}| Code | Status | Description | Resolution |
|---|---|---|---|
| VALIDATION_ERROR | 400 | Invalid request body or parameters | Check the field and message in the error response |
| UNAUTHORIZED | 401 | Missing or invalid API key | Verify your key is correct and active |
| KEY_EXPIRED | 401 | API key has expired | Create a new key in the dashboard |
| KEY_REVOKED | 401 | API key has been revoked | Create a new key in the dashboard |
| FORBIDDEN | 403 | Insufficient permissions | Check your key's scope |
| NOT_FOUND | 404 | Resource does not exist | Verify the ID in your request |
| KEY_LIMIT_REACHED | 409 | Maximum 5 active keys per account | Revoke an unused key first |
| TRIAL_EXHAUSTED | 402 | Free tier limit of 100 checks/month reached | Add a payment method in the dashboard |
| UNSUPPORTED_FORMAT | 422 | Invalid image format | Use JPEG, PNG, or PDF |
| FILE_TOO_LARGE | 422 | File exceeds 10MB limit | Reduce image size or resolution |
| IMAGE_TOO_SMALL | 422 | File too small for analysis | Provide a higher quality image |
| RATE_LIMITED | 429 | Too many requests | Wait for Retry-After seconds |
| CAP_EXCEEDED | 429 | Monthly spend cap reached | Increase your cap in the dashboard |
| FETCH_FAILED | 422 | Could not fetch document from documentUrl | Verify the URL is accessible and returns an image |
| BILLING_NOT_CONFIGURED | 400 | Billing account not set up | Contact support |
| INTERNAL_ERROR | 500 | Unexpected server error | Retry. If persistent, contact support. |
| INVALID_SIGNATURE | 400 | Webhook signature verification failed | Check your webhook secret |