Skip to main content

FAQ

Getting started

What is Openference?

Openference is a curated LLM API for developers and hobbyists. One OpenAI-compatible endpoint routes your requests to hand-picked open-source models — GLM, DeepSeek, Qwen, and more. One base URL, one API key, simple plan-based pricing — no juggling 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. All paid plans include autonomous agents and automation tools — no separate agent subscription required.

Which API endpoints does Openference support?

Do I need separate accounts with each AI provider?

No. Openference manages provider access for you. You only need an Openference account. We handle failover and 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.

Does SillyTavern work?

Yes. Use Chat Completion → Custom (OpenAI-compatible) with base URL https://api.openference.com/v1 and your API key. SillyTavern is popular for creative roleplay; if you see Blocked or empty replies, cap Context (tokens) to 128000 (safe default) or 200000 (models that support 200K+) and turn off Unlocked Context Size. See the SillyTavern guide.

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. See the Models page for the current model list, availability, on-demand rates, and the provider information for each model. 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 the Promo trial, 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.

Do I need a separate plan for autonomous agents?

No. All paid plans include coding tools and autonomous agents on one subscription. The Promo plan is for interactive trial use within plan limits. See the Pricing page for current tiers.

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 Promo cancels at the end of your current billing period — you keep your current plan and limits until then, then move to the Promo tier. You can also use the Stripe customer portal via “Manage billing” for full subscription management.

Can I pay with WeChat Pay or Alipay instead of a card?

Yes. Some regions can buy a prepaid term with WeChat Pay or Alipay from the pricing or billing pages: 1 month, or a 12-month annual term at the same discount as annual card billing. This is a one-time payment — not a subscription — and access does not auto-renew. When your term ends, access expires unless you renew or subscribe. Renewing the same plan adds another term of the same length from your current expiry date. Upgrading while a term is active switches you to the higher tier immediately for a prorated price difference; your expiry date stays the same (annual terms are not offered for mid-term upgrades). Downgrades are not available during an active prepaid term — wait until the term expires, then purchase the plan you want. If you start a card subscription while a prepaid term is still active, the remaining prepaid time is forfeited with no credit.

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 account — your keys share one burst budget). Each API call consumes credits from your plan allowance according to the model’s credit cost (most models cost 1 credit; premium or long-context calls cost more). 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 with a Retry-After header telling your client exactly when to retry (and a resets_at timestamp when quota is exhausted without credits). 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?

The per-minute burst limit uses a sliding 60-second window for accuracy. Limits apply per account — all of your API keys share one burst budget — and are checked per-request with minimal latency overhead. Responses include X-RateLimit-* headers so clients can back off before a 429.

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 provider that serves your request. The Models page lists the provider information for each model — refer to that provider’s own published terms for its data retention and privacy policy. How long your data is retained and whether it may be used for training is the provider’s default policy — there is no per-request switch. The one opt-in we offer is ZDR mode on specific API keys, which restricts routing to ZDR-classified providers (see “Do you offer zero data retention (ZDR)?” below).

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. Once your data is forwarded to an upstream provider, retention and training use follow that provider’s default policy (see the Models page for the provider behind each model). Depending on the 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. There is no general on or off switch for this — we do not offer an opt-out for upstream model training, and standard API tiers generally do not either. The exception is ZDR mode (see below): a per-key opt-in that restricts routing to zero-data-retention providers. 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?

Not in general. Retention and training use follow each upstream provider’s default policy; the one opt-in we offer is ZDR mode per API key (see below), which restricts routing to zero-data-retention providers. We do not train on your data ourselves, but we cannot change how upstream providers handle forwarded prompts and completions. For questions, contact privacy@openference.com. See our Privacy Policy for full details on model training and data handling.

Do you offer zero data retention (ZDR)?

Yes, as an opt-in per API key (default off). ZDR mode restricts a key’s routing to the providers we classify as zero-data-retention. When it is enabled:
  • Requests on that key never touch non-ZDR upstreams — hard isolation at the key-selection layer, including failover.
  • Models with no ZDR route (for example MiniMax M3) are hidden from GET /v1/models and return a 403 model_not_available_in_zdr_mode error if called.
  • BYOK requests to your own providers are unaffected.
  • Auto routing only picks candidates served by a ZDR provider.
The trade-off is availability: fewer routes per model means less failover, so expect more overload (529) errors during upstream incidents. Enable it when creating or editing an API key in the dashboard. Note that ZDR classification is ours — the actual retention commitment is each provider’s published terms for the tiers we use.

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 sliding 60-second burst window to free capacity (see the Retry-After header), wait for your window allowance or the Monday 00:00 UTC weekly reset, add credits for overage, or upgrade your plan for a higher allowance. Your current usage is visible in the dashboard.

Why am I getting a plan upgrade required (403) error?

We classify API clients using request metadata such as the User-Agent header. Requests we identify as autonomous or automated from Promo accounts may require a paid plan. Subscribe on the Pricing page 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