- Docs
- Core Concepts
- Authentication
Authentication
Every request is authenticated with one API key, sent as a bearer token in the Authorization
header. That is where the OpenAI SDKs already put it, so an existing client needs no change
beyond the key itself. You never hold provider keys: Open Vertex Router brokers them for you.
Send the key
Section titled “Send the key”curl https://<your-gateway>/v1/models \ -H "Authorization: Bearer $OVR_API_KEY"import osfrom openai import OpenAI
client = OpenAI( base_url="https://<your-gateway>/v1", api_key=os.environ["OVR_API_KEY"],)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://<your-gateway>/v1", apiKey: process.env.OVR_API_KEY,});Read the key from an environment variable such as OVR_API_KEY. Never hard-code it and never
commit it.
Keys are created on the API keys page of the dashboard. There is no API for creating keys.
- A key starts with
sk-. The full value is shown once, at creation. Afterwards the dashboard shows only its first characters. - A key belongs to your account and is attached to a workspace. The workspace is there to organize keys: billing, credit and invoices stay at the account level.
- When you create a key you give it a name, and optionally a monthly budget in USD and the list of models it may call. Budget and models can be changed later.
- All keys of an account share the account’s balance and rate limits.
- The number of active keys is capped by your plan: 25 on Starter, 100 on Team, 500 on Scale, no cap on Enterprise. Revoked keys do not count.
Revoking a key
Section titled “Revoking a key”Revoke a key from the dashboard. Requests that use it fail immediately with 401. Revocation
cannot be undone, and there is no rotate button: create the new key first, move your services to
it, then revoke the old one.
When a request is rejected
Section titled “When a request is rejected”| Status | Meaning | What to do |
|---|---|---|
401 |
The key is invalid or revoked. | Check the value. Create a new key if needed. |
401 |
Every key of the account is blocked because the prepaid balance is used up. | Top up credits in the dashboard. The block lifts once payment is confirmed. |
403 |
The key is not allowed to call this model, or the path is not available. | Check the key’s allowed models and the endpoint list. |
429 |
The key’s monthly budget is used up, or the account’s rate limit is reached. | See Credits & budgets and Rate limits. |
Errors use the OpenAI error envelope. See Errors.