Reference
Error Codes Reference
This reference documents all error codes returned by the Verso API. Use this guide to understand and resolve errors in your integration.
HTTP Status Codes
Success Codes (2xx)
| Code | Name | Description |
|---|---|---|
200 | OK | Request succeeded |
201 | Created | Resource created successfully |
204 | No Content | Request succeeded, no content returned |
Client Error Codes (4xx)
| Code | Name | Description | Resolution |
|---|---|---|---|
400 | Bad Request | Invalid request format or validation error | Check request body and parameters |
401 | Unauthorized | Missing or invalid authentication | Verify API key |
403 | Forbidden | Insufficient permissions | Check access rights |
404 | Not Found | Resource doesn't exist | Verify resource ID |
405 | Method Not Allowed | HTTP method not supported | Use correct HTTP method |
409 | Conflict | Resource state conflict | Resolve duplicate or state issue |
415 | Unsupported Media Type | Invalid content type | Use application/json |
422 | Unprocessable Entity | Business validation failed | Fix business logic errors |
429 | Too Many Requests | Too many requests in short period | Implement backoff and retry |
Server Error Codes (5xx)
| Code | Name | Description | Resolution |
|---|---|---|---|
500 | Internal Server Error | Unexpected server error | Retry or contact support |
502 | Bad Gateway | Upstream service error | Retry later |
503 | Service Unavailable | Service temporarily down | Retry later |
504 | Gateway Timeout | Request timeout | Retry with smaller payload |
Validation Errors (400)
Request Body Errors
| Error | Description | Example |
|---|---|---|
required_field | Missing required field | "identifier" is required |
invalid_type | Wrong data type | Expected number, got string |
invalid_format | Invalid format | Invalid date format |
invalid_value | Value out of range | tauxPAS must be between 0 and 1 |
invalid_json | Malformed JSON | Unexpected token at position 42 |
Example Response:
Code
Query Parameter Errors
| Error | Description | Example |
|---|---|---|
invalid_filter | Invalid filter syntax | Invalid filter expression |
invalid_orderby | Invalid orderby field | Cannot order by 'unknownField' |
invalid_top | Invalid pagination value | top must be positive |
Authentication Errors (401)
| Error Code | Description | Resolution |
|---|---|---|
missing_auth | No Authorization header | Add Authorization: Bearer YOUR_KEY |
invalid_token | Malformed token | Check token format |
expired_token | Token expired | Request new credentials |
invalid_key | API key not recognized | Verify API key |
Example Response:
Code
Permission Errors (403)
| Error Code | Description | Resolution |
|---|---|---|
tenant_mismatch | Resource belongs to another tenant | Use correct tenant credentials |
division_access | No access to division | Request division access |
insufficient_permissions | Action not permitted | Contact administrator |
Example Response:
Code
Resource Errors (404)
| Error Code | Description | Resolution |
|---|---|---|
user_not_found | User doesn't exist | Verify user ID |
employee_not_found | Employee doesn't exist | Verify employee ID |
payroll_not_found | Payroll doesn't exist | Verify payroll ID |
division_not_found | Division doesn't exist | Verify division name |
payrun_not_found | Payrun job doesn't exist | Verify payrun job ID |
Example Response:
Code
Conflict Errors (409)
| Error Code | Description | Resolution |
|---|---|---|
duplicate_identifier | Identifier already exists | Use unique identifier |
duplicate_email | Email already registered | Use different email |
state_conflict | Invalid state transition | Check resource state |
concurrent_modification | Resource was modified | Retry with fresh data |
Example Response:
Code
Business Logic Errors (422)
| Error Code | Description | Resolution |
|---|---|---|
invalid_period | Invalid payroll period | Check date range |
employee_not_in_division | Employee not in specified division | Verify division assignment |
payrun_already_complete | Cannot modify completed payrun | Create new payrun |
invalid_forecast | Invalid forecast identifier | Check forecast format |
Example Response:
Code
Server Errors (5xx)
Internal Server Error (500)
Code
Resolution:
- Note the
traceIdfor support - Retry the request
- Contact support if persistent
Service Unavailable (503)
Code
Resolution:
- Wait for
retryAfterseconds - Implement retry logic
- Check status page for updates
Getting Help
When contacting support, include:
- Trace ID: The
traceIdfrom the error response - Timestamp: When the error occurred
- Endpoint: The API endpoint called
- Request: The request payload (sanitized)
- Response: The complete error response
Next Steps
- Error Handling - Handling strategies
- Authentication - Auth troubleshooting
- API Reference - All endpoints
Last modified on