One connection.
Every possibility.
Connect your application to the providers configured in your workspace.
OrvAPI gateway
Use the OrvAPI JSON API at https://api.orvapi.com. Requests use your four-hour and weekly allowance; every $5 covers 3,000,000 input and output tokens, including provider-reported cached input.
01 Get your API key
Create a key in API keys. Copy it when it is created; the full secret is shown only once. Keys start with orv_.
Authorization: Bearer YOUR_API_KEYKeep the key on your application’s server. Revoking a key blocks subsequent requests made with it.
02 Make your first request
Replace the key and model ID with values from your workspace.
curl https://api.orvapi.com/api/chat \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"model":"YOUR_MODEL_ID","messages":[{"role":"user","content":"Hello!"}]}'A successful response includes message, model, requestId, and usage with input, output, and total tokens. Review actual requests in Logs.
03 Models & token pricing
One catalog, one API. Use the exact model ID in your request. Configured models have an enabled provider; this is not a live health guarantee. Planned models become available after a provider is connected.
| Model ID | Availability | Input | Output |
|---|---|---|---|
| Loading model availability… | |||
For example, 600,000 input tokens plus 2,400,000 output tokens costs $5. Your plan’s dollar price and four-hour and weekly limits remain unchanged. Planned models cannot be requested or billed yet.
Read the current catalog from GET /api/models. This public endpoint returns configured model IDs and the current token pricing, without provider details.
When multiple providers offer the same model, OrvAPI tries another matching provider if the first cannot answer. Customer usage is charged once for the successful response.
The request contract
https://api.orvapi.com/api/chat- model
- Required. An enabled model ID.
- messages
- Required. 1–30 user/assistant messages, ending with a user message. Each message contains
roleandcontent; content is limited to 8,000 characters. - provider
- Optional preferred provider ID, configured by your administrator.
- Limits
- 64 KB request body, up to 8,192 output tokens (2,048 by default), 20 requests per minute, and 2 concurrent requests per account.
SDK-compatible endpoints
Use POST /v1/messages for Anthropic Messages, POST /v1/responses for Responses, or POST /v1/chat/completions for OpenAI-style text requests. These endpoints use your OrvAPI API key and the same allowance, model routing and billing. GET /v1/models lists configured models.
Authentication: send Authorization: Bearer YOUR_API_KEY or x-api-key: YOUR_API_KEY. For the OpenAI SDK, set base_url to https://api.orvapi.com/v1. For the Anthropic SDK, set base_url to https://api.orvapi.com.
Set stream: true to receive text as the provider generates it. Failover is possible before the first text chunk; once output starts, a failed stream ends with an error rather than switching models or replaying text. Usage is finalized after the provider supplies its usage totals. Interrupted requests may retain a reservation for review.
Images & assisted vision
Attach images in dashboard chat, send Anthropic image blocks to /v1/messages, or send input_image blocks to /v1/responses. Use JPEG, PNG, WebP or GIF. A working vision route must be available.
Verified native routes receive the original image. For other models, an available verified vision model can describe the image first; your selected model then answers using that description. This is assisted vision: fine visual details and precise coordinates may be lost. Up to eight images can be analyzed in one assisted request. If no verified helper exists, images are passed to the selected native route without a claim that it supports vision.
Image descriptions remain within the request and are reused during failover. The service covers the helper model’s processing cost; the selected model’s reported usage, including the description as input, counts toward your allowance. Token-counting requests never trigger paid image analysis.
Understand the response
- 400
- Invalid JSON, model, or message format.
- 401
- Missing, invalid, or revoked API key.
- 429
- Rate limit, provider quota, or available allowance reached.
- 503
- OrvAPI is temporarily unavailable. The error includes the API base URL, never an upstream provider URL.
- 504
- The provider did not finish within 90 seconds.
Error responses contain an error.message. Unknown provider usage may retain its reservation for review.