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, and on-demand rates. 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?

On the Minion ($20/month) and **Boss** ($80/month) plans, usage is metered across three rolling windows — a 5-hour window, a weekly window, and your monthly allowance — using each model’s standard catalog token rates (Input, Output, and Cached Read per 1M tokens). How many requests that covers depends on the model and your usage pattern: smaller flash models are metered at a fraction of the rate of the largest models, and in typical coding sessions the repeated context is metered at the much lower Cached Read rate, so actual counts vary widely. Your dashboard shows your current usage percentages for all three windows in real time. See Plans & Usage for the per-model token rates. We count successful requests and client errors toward your plan allowance. Upstream failures (when providers are down) never count against your allowance. Each request is logged with model, token counts, latency, and cost for full transparency.

How does on-demand pricing work?

You can top up on-demand credits anytime to use Openference without a subscription or to continue seamlessly when you reach a 5-hour, weekly, or monthly plan window limit. On-demand usage is billed per token at each model’s input, output, and cached-read rates per million tokens. You can see per-request costs in your usage history.

What subscription plans are available?

Every account starts on the Free plan ($0/month**), which is on-demand only: no included usage, and requests are billed per token from your credits. For included usage we offer **Minion** at **$20/month and Boss at $80/month** for individual developers, plus **Team** (**$30/seat/month) and Team Pro ($100/seat/month) for organizations (from 2 seats). The paid plans include access to our curated open-source coding models and rolling 5-hour (20%), weekly (50%), and monthly (100%) usage allowances. Legacy plans (Promo, Lite, Pro, Pro+, Max, Max+, Auto Agent, Coding) are retired and remain active only for existing subscribers until the end of their current billing period. See the Pricing page and Teams page for current plan availability.

Do I need a separate plan for autonomous agents?

No. The Minion and Boss plans (and all active paid plans) include coding tools and autonomous agents on one subscription. See the Pricing page for details.

What are credits and how do they work?

Credits fund on-demand usage either standalone or on top of your subscription. When a 5-hour, weekly, or monthly plan window is reached, credits allow continued usage at catalog token rates. You can purchase credit packages from the dashboard. Credit consumption is tracked separately from plan usage.

Can I cancel my subscription anytime?

Yes. You can cancel your subscription anytime from the Billing page in your dashboard or through the Stripe customer portal (“Manage billing”). When you cancel, your subscription remains active until the end of your current billing period and will not renew. Legacy plans (Promo, Lite, Pro, Pro+, Max, Max+) are automatically set to end at the close of their current billing period and cannot be renewed.

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 when plan sales are open: 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 purchase a new term or subscribe. Legacy retired plans cannot be extended or renewed.

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, 5-hour / weekly / monthly allowance usage, credit balance, payment history, and download invoices.

Do you offer plans for teams?

Yes. Teams is billed per seat — Team at $30 and **Team Pro** at $100 per seat per month, from 2 seats. Every seat has its own allowance and API keys, with roles, shared billing, model controls and an audit log. Owners can set up single sign-on and directory provisioning at no extra cost. For custom terms or invoicing, contact sales.

Is my team usage separate from my personal plan?

Yes. Team seats have their own allowance and keys. Your personal plan and keys are unaffected.

Rate limits & quotas

How do usage limits work?

The Minion ($20/month) and **Boss** ($80/month) plans enforce three usage windows — a 5-hour limit (20%) that resets at fixed times daily (00:00, 05:00, 10:00, 14:00 and 19:00 UTC), a weekly limit (50%) that resets Monday 14:00 UTC, and a monthly limit (100%) that resets each billing cycle — plus a per-minute burst limit (per account, shared across your API keys). See Plans & Usage for the per-model token rates, and Rate Limits & Fair Usage for technical details.

What happens when I hit my rate limit?

When you exceed your 5-hour, weekly, or monthly allowance (without on-demand credits) or the per-minute burst limit, the API returns a 429 Too Many Requests response with a Retry-After header telling your client when to retry (and a resets_at timestamp when an allowance window is exhausted). The 5-hour windows reset at fixed times daily (00:00, 05:00, 10:00, 14:00 and 19:00 UTC), the weekly limit resets every Monday 14:00 UTC, and the monthly limit resets on your billing date. On-demand credits can extend your 5-hour, weekly, and monthly allowances (they do not bypass the per-minute burst limit).

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. Our Privacy Policy lists the upstream providers we use — refer to each 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 our Privacy Policy for the upstream providers involved). 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 5-hour, weekly, or monthly allowance (without on-demand credits), 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 5-hour window or the Monday 14: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 legacy Promo accounts may require a paid plan (Minion, Boss, or Teams). 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.

How do I contact support?

Open a support ticket anytime from the Support section in your dashboard, or reach out through our Contact page. Boss and Team Pro subscribers receive priority support.

Additional resources