OpenAI
GPT family of models. Vendo holds the upstream credential and bills per token through the proxy with a route allowlist on /v1/chat, /v1/responses, /v1/embeddings.
Drop-in OpenAI API. Point the official SDK at Vendo's proxy and Vendo authenticates the call, debits credits per token, and forwards to OpenAI. No separate OpenAI account, no separate invoice, no key rotation when you swap apps.
Auth modes
| Profile | Default | How it works |
|---|---|---|
vendo_managed_pool (Vendo-managed pool) | Yes | Vendo holds the upstream credential and bills per call against the tenant's Vendo balance. No tenant signup with the provider required. |
Environment variables
These are the env vars Vendo injects into your deployment at boot when this integration is bound. Source values are resolved by resolveConnectionEnvVars in packages/integrations/lib/ from the connection record (credential, metadata) and deployment context (proxy URL, Vendo-issued API key).
| Variable | Profiles | Source | Secret |
|---|---|---|---|
OPENAI_API_KEY | all | Vendo-issued API key (vendo_sk_*) | Yes |
OPENAI_BASE_URL | all | Vendo proxy base URL (https://<slug>-proxy.vendo.run/v1) | No |
Reading the credential at runtime
Vendo writes OPENAI_API_KEY (and any companion vars above) into your deployment's environment at boot — the official OpenAI SDK auto-discovers it, so most code just instantiates the client with no extra wiring. vendo.token(slug) is the resolution-chain-aware alternative that reads the same value in Vendo mode and falls back to whatever you set in OSS mode; use whichever fits your style. See Two modes for the full resolution chain.
Proxy endpoint
Calls to OpenAI are brokered through Vendo's proxy at:
https://openai-proxy.vendo.runPoint the official OpenAI SDK at this base URL; Vendo authenticates, meters per call, and forwards upstream. Your code never sees the upstream credential.
Quickstart
import vendo
# Native GPT API access through Vendo. Same OpenAI SDK, billed via your Vendo balance.
token = vendo.token("openai")
# Use `token` wherever you would have used the provider's API key —
# pass it to the official SDK or set it as the env var the SDK reads.
print(token)import { Vendo } from "@vendodev/sdk";
const vendo = new Vendo();
// Native GPT API access through Vendo. Same OpenAI SDK, billed via your Vendo balance.
const openaiToken = await vendo.token("openai");
// Use `openaiToken` wherever you would have used the provider's API
// key — pass it to the official SDK or read it as the env var the SDK expects.
console.log(openaiToken);import VendoSDK
let vendo = Vendo()
// Native GPT API access through Vendo. Same OpenAI SDK, billed via your Vendo balance.
let token = try await vendo.token("openai")
// Use `token` wherever you would have used the provider's API key.
print(token)Learn more
-
Concepts: connections & integrations — how connections, bindings, and credentials fit together.
-
Build a tool: SDK — full
vendo.tokenandvendo.data.executesemantics.