Error Response Format
All PingPilot API errors return a JSON object with amessage field describing the error:
eventId for tracking purposes.
HTTP Status Codes
The PingPilot API uses standard HTTP status codes to indicate request success or failure:| Status Code | Meaning |
|---|---|
200 | Success - Request completed successfully |
400 | Bad Request - Invalid JSON or malformed request |
401 | Unauthorized - Missing or invalid API key |
403 | Forbidden - Account configuration incomplete |
404 | Not Found - Category doesn’t exist |
422 | Unprocessable Entity - Validation failed |
429 | Too Many Requests - Quota exceeded |
500 | Internal Server Error - Server-side error |
Error Responses by Status Code
400 Bad Request
Invalid JSON Body
Returned when the request body is not valid JSON:401 Unauthorized
Missing Authorization Header
Authorization: Bearer YOUR_API_KEY header.
Invalid Header Format
Bearer YOUR_API_KEY.
Invalid API Key
403 Forbidden
Discord ID Not Set
Telegram Username Not Set
404 Not Found
Category Not Found
422 Unprocessable Entity
Validation Error
Returned when request parameters fail Zod validation:- Missing required
categoryfield - Category name contains invalid characters (only letters, numbers, hyphens allowed)
fieldsvalues are not string, number, or boolean- Invalid data types
429 Too Many Requests
Monthly Quota Exceeded
500 Internal Server Error
Event Processing Failed
Returned when event creation succeeds but delivery fails:deliveryStatus: "FAILED". You can view failed events in your dashboard.
Generic Server Error
Handling Errors
Example Error Handling (JavaScript)
Best Practices
- Implement retry logic for 500 errors with exponential backoff
- Validate input on the client side before sending requests
- Monitor quota usage to avoid 429 errors
- Handle 404 errors by creating missing categories automatically
- Log eventId from error responses for debugging