Error Response Format
All API errors are returned with a consistent format:HTTP Status Codes
400 Bad Request
Returned when the request is malformed or invalid.| Error Type | Error Message | Description |
|---|---|---|
| BadRequestError | The request is invalid | Generic validation or request error |
| StructuredGenerationError | The structured generation failed | Model couldn’t generate valid structured output |
| ContentPolicyViolationError | Content policy violation error | Content violates provider policies |
| ContextWindowExceededError | Context window exceeded error | Request exceeds model’s context window |
401 Unauthorized
Returned when authentication fails.| Error Type | Error Message | Description |
|---|---|---|
| UnauthorizedError | The request is unauthorized | Authentication failed |
| UnauthorizedError | The request is unauthorized | No authentication provided |
403 Forbidden
Returned when access is denied due to account status.| Error Type | Error Message | Description |
|---|---|---|
| HTTPException | Account suspended | User account is suspended |
404 Not Found
Returned when the requested resource is not found.| Error Type | Error Message | Description |
|---|---|---|
| NotFoundError | The resource was not found | Function not found |
| NotFoundError | The resource was not found | Function revision not found |
| NotFoundError | The resource was not found | Dataset not found |
| NotFoundError | The resource was not found | Dataset entry not found |
| NotFoundError | The resource was not found | Custom model not found |
| NotFoundError | The resource was not found | Span not found |
| NotFoundError | The resource was not found | Parent span not found |
| NotFoundError | The resource was not found | Metric not found |
| NotFoundError | The resource was not found | Trace not found |
| NotFoundError | The resource was not found | Knowledge base not found |
| NotFoundError | The resource was not found | Index not found |
| NotFoundError | The resource was not found | File not found |
409 Conflict
Returned when the request conflicts with the current state of the server.| Error Type | Error Message | Description |
|---|---|---|
| ConflictError | The resource already exists | Function name conflict |
| ConflictError | The resource already exists | Function name exists during update |
| ConflictError | The resource already exists | Custom model name conflict |
| ConflictError | The resource already exists | Custom model identifier conflict |
| ConflictError | The resource already exists | Index name conflict |
| ConflictError | The resource already exists | Metric already exists |
422 Unprocessable Entity
Returned when the request is well-formed but contains semantic errors.| Error Type | Error Message | Description |
|---|---|---|
| RequestValidationError | Request validation error | Pydantic validation errors |
429 Too Many Requests
Returned when rate limits are exceeded.| Error Type | Error Message | Description |
|---|---|---|
| RateLimitError | Rate limit exceeded | Rate limit from LLM provider |
500 Internal Server Error
Returned when an unexpected error occurs on the server.| Error Type | Error Message | Description |
|---|---|---|
| InternalServerError | Internal server error | Unexpected server error |
502 Bad Gateway
Returned when a downstream service fails.| Error Type | Error Message | Description |
|---|---|---|
| LLMProviderError | LLM provider error | LLM provider error |
| LLMProviderError | LLM provider error | Connection error to LLM provider |
Common Error Scenarios and Solutions
Authentication Issues
If you receive 401 errors:- Verify your API key is correct and active
- Ensure you’re including the API key in the request header as a bearer token:
Authorization: Bearer YOUR_API_KEY - Check that your API key hasn’t been revoked or suspended
Account Suspension
If you receive 403 errors:- Contact support if your account has been suspended
- Review terms of service compliance
Resource Not Found
If you receive 404 errors:- Check that the UUID or identifier you’re using is correct
- Verify that the resource belongs to your organization and project
- Ensure the resource hasn’t been deleted
Validation Errors
If you receive 400 or 422 errors:- Check your request payload against the API specifications
- Ensure all required fields are provided and have the correct data types
- Validate your JSON schemas against the JSON Schema specification
- Review field patterns and constraints (e.g., function names must match the pattern
^[a-zA-Z0-9_.-]+$)
Conflict Errors
If you receive 409 errors:- Use unique names when creating resources
- Check if a resource already exists before creating it
- Consider updating existing resources instead of creating new ones
Structured Generation Errors
If you receive StructuredGenerationError:- Simplify your output schema
- Make your instructions more clear and specific
- Provide examples to help the model understand the expected output format
- Ensure your schema is valid JSON Schema
LLM Provider Errors
If you receive 502 errors with LLMProviderError:- Implement retry logic with exponential backoff
- Check if there are known issues with the downstream LLM provider
- Verify your model selection is correct and available
Rate Limiting
If you receive 429 errors:- Add fallback models to your requests
- Implement exponential backoff in your client
- Reduce request frequency
Content Policy Violations
If you receive ContentPolicyViolationError:- Review your input content for policy violations
- Modify your prompts to comply with provider content policies
- Use different phrasing or approach for sensitive content
Context Window Exceeded
If you receive ContextWindowExceededError:- Reduce the size of your input
- Use a model with a larger context window
- Implement chunking strategies for large inputs