---
title: Errors
priority: 6
---
The Ramp API returns detailed error information in the response body along with standard HTTP status codes. This allows you to quickly diagnose and address issues with your API requests.
## Error Response Format
Here is an example of an error response:
```json
Response Code: 422
Response Contents: {
"error_v2": {
"error_code": "DEVELOPER_7001",
"additional_info": {
"page_size": [
"Value must be between 2 and 100"
]
},
"notes": "",
"message": "Value must be between 2 and 100"
},
"error": {
"page_size": [
"Value must be between 2 and 100"
]
}
}
```
## Best Practices for Handling Errors
1. **Inspect HTTP Status Codes**:
- Use status codes to identify the category of the error (e.g., `4xx` for client errors, `5xx` for server errors).
2. **Utilize the `error_v2` Field**:
- Parse the `error_code` and `additional_info` to pinpoint the issue and provide actionable feedback in your application.
3. **Log Errors**:
- Log error responses, including the `x-trace-id` from the response headers, for easier debugging and communication with Ramp developer support.
4. **Implement Retry Logic**:
- For transient errors (e.g., `429 Too Many Requests` or `5xx`), implement exponential backoff to retry requests.
5. **Provide User Feedback**:
- Use the `message` field to display clear and concise error messages to users, when applicable.
## Common Error Codes
| HTTP Status | Description |
|-------------|-------------|
| `400` | Bad Request - Invalid request format |
| `401` | Unauthorized - Invalid or missing API token |
| `403` | Forbidden - Insufficient permissions |
| `404` | Not Found - Resource doesn't exist |
| `422` | Unprocessable Entity - Validation errors |
| `429` | Too Many Requests - Rate limit exceeded |
| `500` | Internal Server Error - Server-side issue |