Skip to main content

FAQ

Getting started

What is Openference?

Openference is a curated Unified LLM Gateway. It gives you a single OpenAI-compatible API endpoint that routes requests to high-quality models from leading AI labs — GLM, DeepSeek, Kimi, Qwen, MiniMax, and more. You get one base URL, one API key, and simple plan-based billing — no need to juggle multiple provider accounts.

What base URL do I use?

Set your OpenAI-compatible client base URL to https://api.openference.com/v1.

How do I get an API key?

Register for an account at openference.com, verify your email, log in to your dashboard, and create an API key under the API Keys section. Keys can be created instantly and are shown only once.

Is Openference compatible with the OpenAI SDK?

Yes. Point any supported coding tool (such as Cursor, Claude Code, Cline, Codex, OpenCode, Pi) to https://api.openference.com/v1 with your API key. The official OpenAI Python and TypeScript/JavaScript SDKs and curl are also supported directly. Unattended agents, automation tools, and generic runtimes require the Auto Agent plan.

Which API endpoints does Openference support?

Do I need separate accounts with each AI provider?

No. Openference manages upstream provider keys for you. You only need an Openference account. We handle key rotation, failover, and provider routing behind the scenes.

IDE & CLI setup

Does Cursor work with Openference?

Yes. In Cursor Settings → Models, enable Override OpenAI Base URL, set it to https://api.openference.com/v1, and paste your API key. Cursor’s Verify button calls GET /v1/models, which we fully support. See the dedicated Cursor guide.

Does Claude Code work?

Yes. Use ANTHROPIC_AUTH_TOKEN (Bearer auth — not ANTHROPIC_API_KEY) and set ANTHROPIC_BASE_URL to https://api.openference.com (no /v1 — Claude Code appends /v1/messages itself, so including /v1 would result in /v1/v1/messages). This applies both to shell exports and the ~/.claude/settings.json env block. Map haiku / sonnet / opus tiers to Openference model IDs. Claude Code calls POST /v1/messages. Models configured with both OpenAI and Anthropic formats work with Cursor and Claude Code on the same key. See Claude Code.

Does Codex CLI work?

Yes. Add an Openference provider in ~/.codex/config.toml with base_url = "https://api.openference.com/v1" and env_key = "OPENFERENCE_API_KEY". Codex uses the Responses API at POST /v1/responses, which we forward to upstream providers. See the Codex guide. See Codex CLI.

Does OpenCode CLI work?

Yes. Add an Openference custom provider in ~/.config/opencode/opencode.json with npm @ai-sdk/openai-compatible and options.baseURL set to https://api.openference.com/v1. Full example and auth flow in the OpenCode guide.

Does Cline work?

Yes. In Cline settings in VS Code, select API Provider → OpenAI Compatible, then enter https://api.openference.com/v1 as the base URL and your API key. See Cline.

Can I use the same API key across multiple tools?

Yes. A single Openference API key works across Cursor, Claude Code, Codex CLI, OpenCode CLI, Pi, Cline, and other supported coding tools simultaneously. You can also create separate keys for different tools if you prefer to track usage per tool.

Models

Which models are available?

We offer a curated pool of models from leading AI labs, including GLM, DeepSeek, Kimi, Qwen, and MiniMax. See the Models page for current availability, on-demand rates, and provider information. Our catalog is regularly updated as new models are released.

How are models selected and curated?

Our team hand-picks high-quality models and regularly evaluates them. We surface the best-performing models and deprecate underperformers, so you do not need to track model releases across multiple providers.

Can I switch models without changing my code?

Yes. Since all models are accessed through the same /v1 endpoint, you only need to change the model name in your request. No provider-specific integration changes are required.

Do you support model-specific features like tool calling and streaming?

Yes. We pass through tool calling, streaming (SSE), and other model capabilities to the upstream provider. As long as the upstream model supports a feature, it works through Openference.

Billing & pricing

How is usage counted?

We count successful requests and client errors toward your plan’s window allowance. Upstream failures (when providers are down) do not count against your quota. Each request is logged with model, token counts, latency, and cost for full transparency.

How does on-demand pricing work?

Pricing is plan-based — each plan includes a request allowance. On-demand pricing only applies when you go beyond your plan’s included usage: extra usage is billed at each model’s input and output rates per million tokens, calculated automatically from actual token usage. You can see per-request costs in your usage history.

What subscription plans are available?

We offer Free, paid monthly, and annual plans. Annual billing saves approximately 17%. Each plan includes a request allowance per usage window, a per-minute burst limit, and model access. See the Pricing page for current plan details.

What is the Auto Agent plan and who needs it?

The Auto Agent plan is a subscription for autonomous, automated, or otherwise non-interactive workloads — including autonomous agents, automation and workflow tools, generic runtimes, and scripts. Standard plans are intended for interactive use through supported coding tools (Cursor, Claude Code, Cline, Codex, OpenCode, Pi, and similar), which work on any plan within plan limits. If you run unattended agents or automation against the API, you need the Auto Agent plan or our express prior permission. See the Pricing page for current details.

What are credits and how do they work?

Credits fund on-demand usage on top of your subscription. When your plan limits are reached, credits allow continued usage at on-demand rates. You can purchase credit packages from the dashboard. Credit consumption is tracked separately from plan usage.

Can I cancel my subscription anytime?

Yes. Use “Adjust plan” or the plan selector in billing to switch plans in-app. Upgrades apply immediately with proration. Downgrades take effect at the next billing cycle — you keep your current plan/limits and pay the current rate until renewal. Switching to Free cancels at the end of your current billing period — you keep your current plan and limits until then, then move to the Free tier. You can also use the Stripe customer portal via “Manage billing” for full subscription management.

Where can I see my billing history and invoices?

Log in to your dashboard and navigate to the Billing section. You can view your current plan, usage history, credit balance, payment history, and download invoices.

Rate limits & quotas

How do request limits work?

Each plan includes a request allowance per usage window (for example, requests per 5 hours), a weekly request cap that resets Monday 00:00 UTC, plus a per-minute burst limit per API key. One API call to any model counts as one request. Exact numbers for every plan are in the per-plan limits table. Check your usage in the dashboard under Billing, and see Rate Limits & Fair Usage for details.

What happens when I hit my rate limit?

When you exceed your per-window allowance, your weekly cap, or the per-minute burst limit, the API returns a 429 Too Many Requests response. Your window allowance resets in full on a fixed schedule — the exact reset time is shown in the dashboard. The weekly cap resets every Monday 00:00 UTC. On-demand credits can extend your per-window allowance and weekly cap (they do not bypass the per-minute burst limit), and upgrading your plan raises all three.

How are rate limits enforced?

Rate limits use sliding time windows for accuracy. Each API key has independent limits. Limits are checked per-request with minimal latency overhead.

API keys & security

Can I have multiple API keys?

Yes. Create multiple keys in the API Keys section of your dashboard. Each key can have its own name, optional model restrictions (limit which models it can access), and independent usage tracking.

What format do API keys use?

API keys are long opaque strings. Copy yours from the dashboard when you create a key — it will not be shown again.

How do I restrict which models an API key can access?

When creating or editing an API key in the dashboard, you can set model restrictions. The key will only be able to call the models you specify. The GET /v1/models endpoint also filters the model list based on key restrictions.

What should I do if my API key is compromised?

Immediately delete the compromised key from your dashboard and create a new one. API keys can be revoked instantly. We recommend rotating keys periodically as a security best practice.

How are passwords stored?

User passwords are stored using one-way cryptographic hashing. We never store plaintext passwords.

Privacy & data

Do you store my prompts or completions?

We log request metadata (model, token counts, latency, cost) for billing and analytics. Prompt and completion content is forwarded to upstream providers and is not stored long-term by Openference.

Do upstream providers see my data?

Yes. Your prompts and completions are forwarded to the upstream AI provider (OpenAI, Anthropic, Gemini, etc.) that serves your request. Refer to each provider’s privacy policy for how they handle your data.

Is my data encrypted in transit?

Yes. All connections use HTTPS/TLS. Data is encrypted in transit between your client and Openference, and between Openference and upstream providers.

Is my API data used to train AI models?

Openference does not use your prompts or completions to train AI models, and we do not retain that content after a request completes. However, when we forward your data to upstream AI providers, those providers operate under their own privacy and data-use policies. Depending on the model and provider, your prompts and completions may be used to improve or train models. Provider policies vary, may change, and we do not have complete visibility into every provider’s practices. We do not currently offer an opt-out for upstream model training. If you need guaranteed no-training terms, you should use providers’ enterprise offerings directly or avoid submitting sensitive data. Our competitive pricing partly reflects access through standard API arrangements. Enterprise tiers with explicit no-training guarantees typically cost significantly more.

Can I opt out of my data being used for training?

No. Openference does not currently offer an opt-out mechanism for upstream model training. We do not train on your data ourselves, but we cannot prevent upstream providers from using forwarded prompts and completions under their own policies. For questions, contact privacy@openference.com. See our Privacy Policy for full details on model training and data handling.

Where can I find your privacy policy and terms?

Our Privacy Policy, Terms of Service, Conditions of Use (export controls & sanctions), Cookie Policy, and Data Processing Agreement are available in the footer of every page on our website.

Reliability & architecture

What happens if an upstream provider is down?

Openference uses automatic failover. If one upstream provider returns errors, we route to an alternative. Upstream failures do not count against your quota. If every route for a model is temporarily unavailable, you receive a 529 Overloaded response with a Retry-After header.

How does key rotation work?

For each model we maintain multiple upstream routes (different providers/keys). Weighted selection and cooldowns are used. When a route returns repeated errors it is temporarily removed from rotation; healthy routes are preferred. Upstream failures are never charged to your quota. See Automatic Failover & Key Rotation for details.

Where is Openference hosted?

Openference runs on globally distributed cloud infrastructure, giving you low-latency access from anywhere in the world.

What is the expected latency overhead?

Openference adds minimal overhead — typically single-digit milliseconds for routing, format conversion, and rate limit checks. The dominant factor in response time is the upstream AI provider’s processing time.

How does format conversion work between providers?

Openference automatically translates between OpenAI, Anthropic Claude, and Google Gemini request/response formats. You can send an OpenAI-format request and have it routed to an Anthropic model — the conversion is handled transparently.

Account & email

How do I verify my email?

After registering, you will receive a verification email. Click the link in the email to verify your account. If you do not receive the email, check your spam folder or use the Resend Verification option on the login page.

I did not receive the verification email. What should I do?

Check your spam or junk folder first. If it is not there, go to the login page and click Resend Verification. Enter your email address to receive a new verification link. If the problem persists, contact support.

How do I reset my password?

Use the forgot password flow on the login page. You will receive an email with reset instructions. If password reset is not yet available in the self-service UI, contact support for assistance.

Troubleshooting

Why am I getting a 401 Unauthorized error?

A 401 error means your API key is missing, invalid, or has been revoked. Check that you are sending the Authorization: Bearer header with a valid key from your dashboard. Verify the key has not been deleted.

Why am I getting a 429 Too Many Requests error?

You may have exceeded your per-window request allowance, your weekly cap, the per-minute burst limit, or triggered a temporary abuse throttle. Wait for the window to slide or for the weekly cap to reset on Monday 00:00 UTC, add credits for overage, or upgrade your plan for a higher allowance. Your current usage is visible in the dashboard.

Why am I getting an “Auto Agent plan required” (403) error?

We classify API clients using request metadata such as the User-Agent header. Requests we identify as autonomous or automated — including unknown, empty, or generic runtime User-Agents (e.g. node, undici, axios, Go-http-client), automation tools, and unattended agents — require the Auto Agent plan. Either subscribe to the Auto Agent plan or switch to a supported coding client (Cursor, Claude Code, Cline, Codex, OpenCode, Pi). Do not spoof your User-Agent to bypass the check — that violates our Terms of Service.

Why am I getting a 529 Overloaded (capacity) error?

The requested model is temporarily at capacity — providers may be experiencing errors or rate limits. The response includes a short Retry-After header. This is usually short-lived, does not consume your quota, and recovers automatically. Check the Models page or the Status page for current availability.

Why does Cursor’s Verify button fail?

Cursor’s Verify button calls GET /v1/models. Make sure your base URL is set to https://api.openference.com/v1 (include the /v1 path) and your API key is correct. If the key has model restrictions, only restricted models will appear in the list. See Verify issues.

Why am I seeing unexpected models or missing models?

If your API key has model restrictions, only those models are available. Check your key settings in the dashboard. Also, the GET /v1/models endpoint filters results based on your key’s permissions.

Streaming responses are not working. What should I check?

Ensure you are setting stream: true in your request and that your client supports Server-Sent Events (SSE). Some clients require specific configuration for streaming. Verify the upstream model supports streaming.

Is there live chat support on the site?

Yes. A floating chat button in the bottom-right corner is available on marketing and logged-in pages at openference.com. Use it for quick questions — a team member can respond in real time when online. The header shows current availability (online / away / outside business hours), and chats sent while we are away are still received. All chats are saved to your support thread history.

Additional resources