Errors & Rate Limits
Every PDFend error carries a machine-readable code, a human message, and a request_id for support.
Error shape
jsonexample
{
"error": {
"code": "VALIDATION_ERROR",
"message": "html is required",
"details": [{ "field": "html", "message": "Required" }]
},
"request_id": "req_01HX..."
}Error codes
| HTTP | Code | Meaning |
|---|---|---|
| 400 | VALIDATION_ERROR | Request body failed schema validation |
| 401 | AUTHENTICATION | Missing or invalid API key |
| 402 | PLAN_LIMIT_EXCEEDED | Monthly plan quota reached |
| 404 | NOT_FOUND | Template or generation not found |
| 429 | RATE_LIMIT_EXCEEDED | Too many requests, honor Retry-After |
| 500 | INTERNAL_ERROR | Unexpected server error — contact support with request_id |
| 502 | RENDER_FAILED | Browser could not render the HTML |
Retrying
textexample
HTTP/1.1 429 Too Many Requests
Retry-After: 2