Docs menu

Reference

Errors

The error envelope and every error code the gateway and Functions return, with what each means and what to do.

Every error returns an HTTP status and a JSON envelope:

JSON
{
  "error": "no_policy_compliant_provider",
  "message": "no provider satisfies the requested data policy",
  "correlation_id": "6f1c2d4e-0b7a-4f53-9a51-3d2e8c7b9a10"
}
  • error is a stable code. Branch on it, not on message.
  • message is human-readable and may change.
  • 400 responses may include reason, an upstream cause shared by every provider that rejected the request.
  • schema_validation_failed includes detail.attempts.

Errors never include stack traces or internal paths. When you contact support, include the code, the time and the X-Seldon-Trace-Id header if the response had one.

Gateway

400invalid_request
The body is malformed (for example, missing model or messages, or a provider, cache, preset or reasoning field has the wrong type), or every provider rejected the request as invalid. When providers agree, a reason field names the upstream cause.
What to do: Read message; it names the failing field. Remove options the model does not accept.
400unknown_model
The model ID is not in the catalog.
What to do: Pick an ID from /models or GET /v1/models.
400model_not_routable
The model exists but has no routable provider right now.
What to do: Choose a routable model or add a fallback in models.
400invalid_sort
provider.sort is not price, latency or throughput.
What to do: Use one of the three supported values.
400feature_unsupported
The model cannot honor a requested feature such as tools, vision, audio, JSON output or streaming.
What to do: Check the model's capabilities on /models or choose another model.
400invalid_response_schema
response_format.json_schema is malformed.
What to do: Send a valid JSON Schema under response_format.json_schema.schema.
400schema_streaming_unsupported
stream: true was combined with a json_schema response format.
What to do: Send structured-output requests without streaming.
400invalid_correlation
A session, span or trace header is malformed or conflicts with another header.
What to do: See Attribution and sessions for header formats.
401UNAUTHORIZED
The API key is missing, revoked or copied with extra characters.
What to do: Send Authorization: Bearer with an active key from API keys.
402PAYMENT_REQUIRED
The workspace has no available credit or has reached a spend limit.
What to do: Add credits in Billing. Cached responses can still be served.
402price_cap_exceeded
No provider is available under provider.max_price.
What to do: Raise the cap or remove it.
404preset_not_found
The preset slug or version does not exist in this workspace.
What to do: Check the preset reference. Presets are coming soon.
409idempotency_conflict
An Idempotency-Key was reused with a different body or correlation headers.
What to do: Use a new key for each distinct request.
409duplicate_span_id
X-Seldon-Span-Id was already used in this workspace.
What to do: Generate a unique span ID per request, or omit it.
422no_policy_compliant_provider
No provider satisfies the requested zdr, data_collection or data_residency policy, including when provider policy metadata is unknown.
What to do: Relax the policy or choose a model with compliant providers.
422data_policy_loosening_forbidden
The request tries to loosen a data policy your workspace enforces.
What to do: Remove the conflicting provider policy field.
422structured_output_unsupported
No selected provider supports response_format json_schema.
What to do: Choose a model that supports structured outputs.
422schema_validation_failed
Provider output did not satisfy your json_schema after retries. detail.attempts reports how many calls were made.
What to do: Simplify the schema or make the instructions more explicit.
429rate_limited
Every eligible provider is rate limited.
What to do: Retry after the Retry-After delay, or allow more providers.
502no_available_provider
All eligible providers failed.
What to do: Retry with backoff. Send X-Seldon-Trace-Id to support if it persists.
503RATE_LIMITER_UNAVAILABLE
Provider admission is temporarily unavailable.
What to do: Retry after the Retry-After delay.
503catalog_unavailable
The model catalog is temporarily unavailable.
What to do: Retry with backoff.
503provider_not_configured
No provider credentials are configured for this request.
What to do: Choose another model or contact support.
504request_deadline_exceeded
The request did not finish within its 55-second budget, including queueing and fallback.
What to do: Retry, shorten the request or lower max_tokens.

Functions

Returned by calls whose model is a function alias.

400invalid_function_alias
The model is not seldon/function/<function-id> or seldon/function/<function-id>@<revision-id>, or Idempotency-Key is not a UUID.
What to do: Copy the alias from the function's Use section. Use UUID idempotency keys.
400invalid_function_request
The request does not match the function's input contract: fixed messages changed, an unsupported option such as stream or tools was sent, response_format, temperature or max_tokens was overridden, or a workflow input was not one JSON object in one user message.
What to do: Send the request shown in the Use section and vary only the declared input.
400function_requires_managed_funding
BYOK credentials or a BYOK policy apply to this request. Functions use workspace credits.
What to do: Call the function without x-byok-key, using a key that has no BYOK policy.
401api_key_revoked
The API key was revoked.
What to do: Use an active key.
402spend_limit_exceeded
This call could exceed the API key's spend limit.
What to do: Raise the key's limit or use another key.
404function_not_found
No function with this ID exists in the key's workspace.
What to do: Check the function ID and that the key belongs to the same workspace.
404revision_not_available
The function has no active revision, or the pinned revision was never activated.
What to do: Activate a revision, or pin a revision you have activated.
409function_disabled
The function is disabled.
What to do: Activate a revision to serve again.
409qualification_expired
The requested revision has expired.
What to do: Activate a current revision.
409idempotency_conflict
An Idempotency-Key was reused with different inputs.
What to do: Use a new UUID for each distinct call.
409execution_in_progress
A retry arrived while the original call with the same Idempotency-Key is still running.
What to do: Wait, then retry with the same key to receive the stored result.
409execution_disabled
Function execution is temporarily turned off.
What to do: Retry later or route the original request instead.
413request_too_large
The request is larger than 256 KiB.
What to do: Send a smaller input.
429api_key_rate_limit
The API key's requests-per-minute limit was reached.
What to do: Slow down or raise the key's limit.
429execution_capacity
Workspace or service concurrency for Functions is saturated.
What to do: Retry with backoff and jitter.
502execution_failed
The function could not produce a valid result, including after any fallback.
What to do: Retry, or inspect the call under Recent executions.
504execution_deadline_exceeded
The call did not finish within 55 seconds.
What to do: Retry with the same Idempotency-Key, or send a smaller input.

Bring your own key

Bring your own key is coming soon.

400byok_provider_required
x-byok-key was sent without provider.only naming exactly one supported provider.
What to do: Set provider.only to the provider the key belongs to.
400byok_credential_unsupported
That provider does not accept a per-request key header.
What to do: Use a stored connection for this provider.
400byok_credential_conflict
A transient key was sent while a stored BYOK policy also applies.
What to do: Use either the stored connection or the header, not both.
402byok_budget_exceeded
The request would exceed a BYOK budget.
What to do: Raise the budget or wait for the next budget window.
403byok_not_enabled
BYOK is not enabled for this workspace.
What to do: Contact us to request access.
422byok_no_eligible_connection
No authorized stored connection can serve this model and feature set.
What to do: Check the connection's models and status under Providers.
422byok_budget_unquotable
A BYOK budget applies, but Seldon cannot price this request to check it.
What to do: Choose a model with known pricing for this connection.
Errors | Seldon