Error Handling
The OpenAI Responses API uses a consistent error format across all providers. This ensures that your integration remains robust even when switching between different underlying models.
Error Object
All errors return a JSON response with the following shape:
Common Response API Errors
| Type | Code | Description |
|---|---|---|
invalid_request_error |
invalid_request_error |
Invalid request parameters or body. |
invalid_request_error |
model_not_found |
No vendors found for the requested model. |
permission_denied |
pool_access_denied |
Access denied to the requested key pool. |
rate_limit_error |
rate_limit_exceeded |
You have sent too many requests in a short period. |
service_unavailable |
no_vendors_available |
No vendors available for failover. |
service_unavailable |
all_vendors_cooling_down |
All vendors are in cooldown. |
Handling Errors in Code
import requests
response = requests.post(
"https://llm.siraya.ai/v1/responses",
headers={
"Content-Type": "application/json",
"Authorization": "Bearer <API_KEY>",
},
json={"model": "deepseek-v3.2", "input": "Hello"}
)
if response.status_code != 200:
error = response.json().get("error", {})
print(f"Error: [{error.get('code')}] {error.get('message')}")