> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paycrest.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Errors

The Paycrest API uses standard HTTP status codes and provides detailed error information to help you troubleshoot issues quickly.

## HTTP Status Codes

| Code  | Status                | Description                                  |
| ----- | --------------------- | -------------------------------------------- |
| `200` | OK                    | Request successful                           |
| `201` | Created               | Resource created successfully                |
| `400` | Bad Request           | Invalid parameters or request format         |
| `401` | Unauthorized          | Invalid or missing API key                   |
| `403` | Forbidden             | Insufficient permissions for this action     |
| `404` | Not Found             | Resource not found                           |
| `409` | Conflict              | Resource conflict (e.g., duplicate order)    |
| `422` | Unprocessable Entity  | Validation failed                            |
| `429` | Too Many Requests     | Rate limit exceeded                          |
| `500` | Internal Server Error | Server error                                 |
| `503` | Service Unavailable   | No providers available to handle the request |

## Error Response Format

All error responses follow a consistent format:

```json theme={null}
{
  "status": "error",
  "message": "Human-readable error description",
  "data": [
    {
      "field": "field_name",
      "message": "Specific validation error"
    }
  ]
}
```

## Common Error Scenarios

### 400 Bad Request

* **Invalid parameters**: Missing required fields, invalid formats
* **Unsupported combinations**: Token/currency pairs not supported
* **Amount validation**: Amounts outside provider limits
* **Provider issues**: Provider not found or misconfigured

### 503 Service Unavailable

* **No provider available**: When no providers can handle the specific request
* **Service temporarily unavailable**: During maintenance or high load
* **Geographic restrictions**: Service not available in your region

## Handling Service Unavailability

When you receive a 503 error:

1. **Check request parameters**: Verify token, amount, and currency combinations
2. **Try different amounts**: Some providers have minimum/maximum limits
3. **Retry later**: Provider availability may change over time
4. **Contact support**: If the issue persists, reach out to our team

## Getting Help

If you're experiencing persistent errors:

1. **Check the error response** for specific details
2. **Review our documentation** for endpoint requirements
3. **Join our developer community** on [Telegram](https://t.me/+Stx-wLOdj49iNDM0)
4. **Contact support** at [support@paycrest.io](mailto:support@paycrest.io)
5. **Report issues** on [GitHub](https://github.com/paycrest)

<Note>
  When reporting errors, please include the complete error response, request details, and your API key (with sensitive parts redacted).
</Note>
