statusis the HTTP status code.typeis a stable error class you can branch on.detailscontains structured context (optional).
Frequent Errors & Fixes
| HTTP | Error Type | Typical Cause | Resolution |
|---|---|---|---|
| 400 | BadRequestError | Invalid query parameters, unsupported combinations | Compare request with OpenAPI schema; remove unknown keys |
| 401 | UnauthorizedError | Missing/invalid API key | Provide Authorization: Bearer <api_key> |
| 403 | ForbiddenError / NotEnabledError | Feature disabled or wrong permission tier | Check account plan or API key scopes |
| 404 | NotFoundError | Resource ID/name incorrect, wrong namespace | Verify IDs and X-Namespace; list resources to confirm |
| 409 | AlreadyExistsError | Duplicate name within namespace | Choose unique names or delete existing resource |
| 422 | ValidationError | Body schema mismatch | Inspect validation_errors in details; fix types/paths |
| 429 | TooManyRequestsError | Rate limit exceeded | Throttle requests, introduce exponential backoff |
| 500 | InternalServerError | Unexpected server error | Retry with jitter; capture request_id for support |
| 503 | InferenceServiceUnavailableError | Ray Serve deployment unavailable | Retry; check Ray dashboard for replica health |
Domain-Specific Errors
ProcessingError,FeatureExtractionError– Engine failed during extraction; inspect task logs (/v1/tasks/{id}) and Ray job output.StorageError,MongoDBError,QdrantError– Underlying datastore unavailable or returned failure; verify connection strings and service health.TimeoutError,RaySubmissionError– Engine job submission failed or timed out; check Ray head logs and job queue depth.
Debugging Checklist
- Headers – Confirm both
AuthorizationandX-Namespaceare present where required. - Schema – Validate request against
/api-reference/...examples; pay attention to recent breaking changes (e.g.,feature_extractorsingular). - Resource existence – Use list endpoints to confirm IDs. Names are namespace-scoped; duplicates across namespaces are allowed.
- Task status – For async operations (batches, clustering, taxonomy), poll
/v1/tasks/{task_id}or the resource untilCOMPLETED. - Health – Call
/v1/healthif you suspect dependency failures. - Logs – Check API logs (request ID) and Ray job logs (
additional_data.job_idin task response) for stack traces. - Webhooks – If downstream systems disagree, inspect webhook events (
collection.documents.written), which persist until delivered.
Error Examples
Validation Error (422)
Rate Limit (429)
Engine Failure
job_id to fetch Ray logs: ray job logs ray_job_456.
Retry Guidance
- Idempotent GET/POST: safe to retry with exponential backoff (jitter).
- Batch submissions: multiple submissions of the same batch are ignored (
skip_duplicates). - Mutations (create/update): ensure client retries include the same idempotency keys or check resource existence before resubmitting.
When to Contact Support
- Persistent 5xx errors with identical inputs.
- Inference disruptions across models (Ray Serve unreachable).
- Data consistency issues between MongoDB and Qdrant.
- Feature flags or endpoints missing from your plan (
NotEnabledError).
request_id (from response headers), namespace_id, and relevant resource IDs to accelerate investigation.

