detail object when returned by FastAPI:
error object instead (see
Rate Limits).
HTTP status codes
| Status | When | error.type | error.code |
|---|---|---|---|
400 | Capability mismatch (wrong media type for model) | invalid_request_error | capability_violation |
400 | Invalid or unreadable PDF | invalid_request_error | invalid_document |
403 | Invalid API key | — (plain "Invalid API Key" detail) | — |
404 | Unknown model | model_not_found | — |
422 | Request validation failure | FastAPI validation error | — |
429 | Rate limit exceeded | rate_limit_exceeded | — |
500 | Uncaught server error | internal_server_error | internal_error |
Common errors
Capability violation (400)
Returned when the request content does not match the model’s declared
capabilities. For example, sending a document_url to a model that only
accepts images, or sending multiple images to a single-image OCR model.
GET /v1/openai/models or the
Models page before sending a request.
Invalid document (400)
Returned when a document_url points to a file that is not a
valid PDF, exceeds size limits, or cannot be decoded.
Model not found (404)
Returned when the model field does not match any registered model or alias.
List available models with GET /v1/openai/models.
Rate limit exceeded (429)
Returned when a per-tier request quota is exhausted. See
Rate Limits for bucket sizes and tier attribution.
Internal server error (500)
Uncaught exceptions return a sanitized body with no stack traces or internal
paths. Every response includes an x-request-id header. On sanitized 500
errors, the same id is also returned as error.request_id in the JSON body.
Include either value when contacting support@vlm.run.
x-request-id request header to supply your own correlation
id; the Gateway echoes it on the response. When the header is omitted, the
Gateway mints a new id.
Getting help
When reporting an issue, include:- The
x-request-idresponse header (orerror.request_idon sanitized500responses) - The HTTP status code and response body
- The
modelvalue and content part types you sent