Overview
PIPELINE API uses standard HTTP status codes and detailed error codes to help you understand and handle errors effectively. All errors follow a consistent response format.Every error response includes a
requestId for troubleshooting and support. Include this ID when reporting issues.Error Response Format
All API errors return JSON responses in this format:Response Fields
Machine-readable error code (e.g.,
UNAUTHORIZED, JOB_NOT_FOUND)HTTP status code (e.g., 400, 401, 404, 500)
Human-readable error description
Additional context about the error (varies by error type)
Field-level validation errors (for validation failures)
Unique request identifier for tracing and support
ISO 8601 timestamp when the error occurred
API version (currently “1.0”)
Error Categories
Authentication (401)
9 error codes for authentication failures
Authorization (403)
3 error codes for permission issues
Not Found (404)
6 error codes for missing resources
Validation (400)
8 error codes for invalid input
Rate Limits (429)
3 error codes for rate limiting
Conflicts (409)
3 error codes for state conflicts
Server Errors (500)
5 error codes for server issues
Service Unavailable (503)
6 error codes for service failures
Authentication Errors (401)
UNAUTHORIZED
UNAUTHORIZED
INVALID_CREDENTIALS
INVALID_CREDENTIALS
Status: 401Description: Email or password is incorrectSolution: Verify credentials, use password reset if needed
EMAIL_NOT_CONFIRMED
EMAIL_NOT_CONFIRMED
Status: 401Description: Email address has not been confirmedSolution: Check email for confirmation link, request new one
SESSION_EXPIRED
SESSION_EXPIRED
Status: 401Description: Session has expiredSolution: Re-authenticate
TOKEN_EXPIRED
TOKEN_EXPIRED
Status: 401Description: Token has expired (typically after 1 hour)Solution: Refresh token or re-authenticate
Validation Errors (400)
Validation errors include detailed field-level information:Field Error Structure
Field name using dot notation for nested fields (e.g.,
user.email)Field-specific error message
Field-level error code (optional)
The invalid value that was provided
Common Validation Errors
| Code | Description |
|---|---|
VALIDATION_ERROR | General validation failure |
INVALID_INPUT | Input format is invalid |
INVALID_URL | URL format is invalid |
INVALID_EMAIL | Email format is invalid |
MISSING_REQUIRED_FIELD | Required field is missing |
FIELD_TOO_LONG | Field exceeds maximum length |
DUPLICATE_RESOURCE | Resource already exists |
Invalid Status Transitions
Job status changes must follow valid transitions:saved→applied,rejectedapplied→interview,rejectedinterview→offer,rejectedoffer→rejectedrejected→saved(re-apply)
Rate Limit Errors (429)
See the Rate Limits page for detailed information.Not Found Errors (404)
Resource-specific not found errors include the resource type and ID:| Code | Resource Type |
|---|---|
JOB_NOT_FOUND | Job |
USER_NOT_FOUND | User |
EVENT_NOT_FOUND | Event |
INSIGHT_NOT_FOUND | Insight |
SCRAPER_RUN_NOT_FOUND | Scraper Run |
Server Errors (500)
Common Server Errors
DATABASE_ERROR
DATABASE_ERROR
Status: 500Description: Database operation failedCommon Causes:
- Connection issues
- Query timeout
- Constraint violation
INTERNAL_ERROR
INTERNAL_ERROR
Status: 500Description: Internal server errorSolution: Retry later, contact support if persistent
EXPORT_FAILED
EXPORT_FAILED
Status: 500Description: Export operation failedSolution: Check filters and retry
IMPORT_FAILED
IMPORT_FAILED
Status: 500Description: Import operation failedSolution: Check file format and data
Service Unavailable (503)
External services may be temporarily unavailable:AI Service Errors
Scraper Errors
Discord Webhook Errors
Error Handling
TypeScript Type Guards
Use type guards to handle specific error types:React Hook Example
Best Practices
Check Error Codes
Check Error Codes
Always check the
code field, not just the HTTP status:Display Field Errors
Display Field Errors
Show field-level validation errors next to form fields:
Implement Retry Logic
Implement Retry Logic
Retry retryable errors with exponential backoff:
Log Request IDs
Log Request IDs
Include
requestId in error logs and support tickets:Handle Gracefully
Handle Gracefully
Never expose raw error details to end users:
Troubleshooting
Related Documentation
Rate Limits
Learn about API rate limiting
Webhooks
Webhook error handling