# Uniblock > OpenAI-compatible LLM router. One key, one endpoint, every model. - [Uniblock Gateway](https://docs.hopscotchlabs.ai/index.md): An OpenAI-compatible LLM router. Change one base URL and one API key, keep your OpenAI SDK, and call models across providers on one prepaid balance. - [Quickstart](https://docs.hopscotchlabs.ai/get-started/quickstart.md): Get a key, point your client at the Uniblock base URL, and send your first chat completion. - [OpenAI compatibility](https://docs.hopscotchlabs.ai/get-started/openai-compatibility.md): What OpenAI-compatible means here: the endpoints that exist today, the differences that are additive, and what a call to anything else returns. - [Authentication](https://docs.hopscotchlabs.ai/get-started/authentication.md): API keys end to end: the Bearer header, the key format, shown-once keys, the five-slot ceiling, and how a key ends. - [Models](https://docs.hopscotchlabs.ai/concepts/models.md): How model ids are shaped, how to discover which models are callable right now, and the vocabulary a model's rate is expressed in. - [Model capabilities](https://docs.hopscotchlabs.ai/concepts/model-capabilities.md): The catalog answers five questions about every model in three words each, and why unknown is not the same answer as no. - [Model lifecycle](https://docs.hopscotchlabs.ai/concepts/model-lifecycle.md): Models are deprecated and then stop serving. The two dates mean different things, and the catalog carries both so a shutdown is never a surprise. - [Bring your own key](https://docs.hopscotchlabs.ai/concepts/bring-your-own-key.md): Use your own provider credential so a provider bills you directly. What free really means, what it does not add, and who may set one. - [Routing profiles](https://docs.hopscotchlabs.ai/concepts/routing-profiles.md): An ordered list of your own models, requested as profile/ in the model field, so a fallback order lives in one place. - [Streaming](https://docs.hopscotchlabs.ai/concepts/streaming.md): Set stream to true and read server-sent events in the format your OpenAI-compatible client already reads, plus one comment line carrying the token counts. - [Tool calling](https://docs.hopscotchlabs.ai/concepts/tool-calling.md): Send a tools array and read tool_calls back, exactly as you would from OpenAI. What travels, what it costs, and what this platform does not do. - [Structured outputs](https://docs.hopscotchlabs.ai/concepts/structured-outputs.md): Send response_format to get JSON back. Which models take it, what this platform checks, and what it deliberately does not. - [Image inputs](https://docs.hopscotchlabs.ai/concepts/image-inputs.md): Send an image in a message the way OpenAI defines it, find out which models take one, and know what an image does to what you are charged. - [Reasoning models](https://docs.hopscotchlabs.ai/concepts/reasoning.md): Reasoning tokens are counted, priced as their own kind, and reported separately. What to send, what you are charged, and why max_tokens matters more here. - [Prompt caching](https://docs.hopscotchlabs.ai/concepts/prompt-caching.md): Provider prompt caching works through this API unchanged. How to ask for it, where the cached-token counts arrive, and how they are priced. - [Credits and billing](https://docs.hopscotchlabs.ai/concepts/credits-and-billing.md): How prepaid credit works: the fee is added when you buy credit, and a request deducts the provider's price with nothing added. - [Usage and metering](https://docs.hopscotchlabs.ai/concepts/usage-and-metering.md): What Uniblock records for every request, what it never records, when the figures appear, and how long they are kept. - [Rate limits and spend controls](https://docs.hopscotchlabs.ai/concepts/rate-limits-and-spend-controls.md): The limits that can refuse a request, what the spend rate cap counts, and the one lever that makes it bind less often. - [Errors and refusals](https://docs.hopscotchlabs.ai/concepts/errors.md): One error body for the whole API, a closed set of types, and a request id on every response, so a failure tells you what to do next. - [Workspaces and members](https://docs.hopscotchlabs.ai/concepts/workspaces-and-members.md): A workspace holds your keys, usage, playground and billing. Roles decide who may do what, and the owner alone touches money. - [Data and privacy](https://docs.hopscotchlabs.ai/concepts/data-and-privacy.md): What Uniblock records about a request, what it does not record, how long records are kept, and what we cannot recover for you. - [Create an API key](https://docs.hopscotchlabs.ai/guides/create-an-api-key.md): Mint a key in the dashboard, copy it once, and know who else can see it. Covers the five-slot limit, member limits, and reserved keys. - [Add a provider key](https://docs.hopscotchlabs.ai/guides/add-a-provider-key.md): Find the BYOK screen, add a key, and see why nothing is stored until the provider itself has accepted it. - [Buy credit](https://docs.hopscotchlabs.ai/guides/buy-credit.md): Buy prepaid credit from the Billing screen, read the total before you pay, and set the notice that warns you before it runs out. - [Monitor usage](https://docs.hopscotchlabs.ai/guides/monitor-usage.md): Read what your workspace has been spending on Usage, find one request in Activity, and reconcile a statement line with the request that caused it. - [View activity](https://docs.hopscotchlabs.ai/guides/view-activity.md): Every request as a row: what happened, what it cost, how to open one request, and exactly what is kept about it. - [Create a workspace](https://docs.hopscotchlabs.ai/guides/create-a-workspace.md): Open a new workspace from the workspace control in the dashboard, name it, and land inside it immediately as its owner. - [Invite and manage members](https://docs.hopscotchlabs.ai/guides/invite-and-manage-members.md): Invite somebody by email, change what a member may do, transfer the workspace, and remove somebody without silently killing a key. - [Playground](https://docs.hopscotchlabs.ai/guides/playground.md): Run a real request from the dashboard. Every run sends as one of your workspace keys, spends real credit, and stores nothing. - [Spend controls](https://docs.hopscotchlabs.ai/guides/spend-controls.md): Pause every request, set your own spend rate cap, and choose when we email you about a falling balance. - [Framework integrations](https://docs.hopscotchlabs.ai/integrations/overview.md): Why every OpenAI-compatible framework works here, the one change that is not optional, and which page covers your framework. - [OpenAI SDK for Python](https://docs.hopscotchlabs.ai/integrations/openai-sdk-python.md): Point the official openai Python package at Uniblock with two constructor arguments, and where the request id shows up when a call fails. - [OpenAI SDK for Node](https://docs.hopscotchlabs.ai/integrations/openai-sdk-node.md): Point the official openai npm package at Uniblock with two constructor options, and the one browser setting to leave switched off. - [Vercel AI SDK](https://docs.hopscotchlabs.ai/integrations/vercel-ai-sdk.md): Which of the AI SDK's two OpenAI providers to use with Uniblock, and why its default call shape is the wrong one for this API. - [LangChain](https://docs.hopscotchlabs.ai/integrations/langchain.md): Point LangChain's ChatOpenAI at Uniblock in Python and in JavaScript, and why its default model is the thing that fails first. - [LlamaIndex](https://docs.hopscotchlabs.ai/integrations/llamaindex.md): Use LlamaIndex's OpenAILike class with Uniblock, why the plain OpenAI class refuses our model ids before sending, and what to do about embeddings. - [Pydantic AI](https://docs.hopscotchlabs.ai/integrations/pydantic-ai.md): Point Pydantic AI at Uniblock: the base URL goes on the provider, and the model class you pick decides which API gets called. - [Coding harnesses](https://docs.hopscotchlabs.ai/integrations/coding-harnesses.md): What is true of every coding agent you point at this API: which wire it speaks, pinned model ids, the spend rate cap, and one billed request per turn. - [Cline](https://docs.hopscotchlabs.ai/integrations/cline.md): Point Cline's OpenAI Compatible provider at Uniblock: the Base URL field, the model id, and the model metadata Cline asks you for. - [Continue](https://docs.hopscotchlabs.ai/integrations/continue.md): Configure Continue's openai provider against Uniblock: apiBase, the model roles, and the two things that can change which endpoint it calls. - [Aider](https://docs.hopscotchlabs.ai/integrations/aider.md): Point Aider at Uniblock: the base URL flag, the three models it configures separately, and how its provider prefix collides with a pinned id. - [Zed](https://docs.hopscotchlabs.ai/integrations/zed.md): Configure Zed's openai_compatible provider against Uniblock: api_url, the models you declare yourself, and the capability that must stay on. - [OpenCode](https://docs.hopscotchlabs.ai/integrations/opencode.md): Add Uniblock as a custom provider in OpenCode: the config file, the provider package that decides the endpoint, and the models you list yourself. - [Codex CLI](https://docs.hopscotchlabs.ai/integrations/codex-cli.md): Point Codex at this API: the provider block, the wire protocol it is now the only client for, and the one body field this door reads. - [Cursor](https://docs.hopscotchlabs.ai/integrations/cursor.md): Point Cursor at this API, and understand first that a custom base URL does not take Cursor's own servers out of the request path. - [Claude Code](https://docs.hopscotchlabs.ai/integrations/claude-code.md): What Claude Code needs from an endpoint, why this API's published surface is not it yet, and the settings to know when that changes. - [T3 Code](https://docs.hopscotchlabs.ai/integrations/t3-code.md): T3 Code runs other coding agents for you, so pointing it here means configuring a child agent. Which child decides whether it works. - [Migrate from OpenAI](https://docs.hopscotchlabs.ai/resources/migrate-from-openai.md): A checklist for moving an application that already calls OpenAI: what changes, what does not, and the one change that is not optional. - [FAQ](https://docs.hopscotchlabs.ai/resources/faq.md): Short answers to the questions this API gets asked most, each pointing at the page that answers it properly. - [Security](https://docs.hopscotchlabs.ai/resources/security.md): The security promises Uniblock makes about your keys, your prompts, provider credentials, and who can act on your money. - [Glossary](https://docs.hopscotchlabs.ai/resources/glossary.md): The words this site uses for Uniblock's own concepts, defined once and used the same way everywhere. - [API reference](https://docs.hopscotchlabs.ai/api-reference/introduction.md): The Uniblock API is OpenAI-shaped: one base URL, one bearer key, and the request and response bodies your client already sends. - [Authentication](https://docs.hopscotchlabs.ai/api-reference/authentication.md): Send a workspace API key as a bearer token. Every route on the API requires one, and every refusal is a 401 in the standard error body. - [Request parameters](https://docs.hopscotchlabs.ai/api-reference/parameters.md): What this API reads out of a request body, the two fields it ever rewrites, and how to find the parameters a given model accepts. - [Errors](https://docs.hopscotchlabs.ai/api-reference/errors.md): One error body for the whole API: a closed set of type values, a stable code, and the request id inside the body. - [Headers](https://docs.hopscotchlabs.ai/api-reference/headers.md): The request headers this API reads, the response headers it sets, and the token-count line that rides a streamed response. - [Create a chat completion](https://docs.hopscotchlabs.ai/api-reference/chat/create-a-chat-completion.md): Send an OpenAI chat completion request. Set `stream: true` for server-sent events. - [List models](https://docs.hopscotchlabs.ai/api-reference/models/list-models.md): List the models you can call. The `id` of each entry is what you send as `model`. - [Retrieve a model](https://docs.hopscotchlabs.ai/api-reference/models/retrieve-a-model.md): Everything the list carries for one model, plus the fields served only here: the model's own description, the request parameters it accepts, and its deprecation and sunset dates where it has them. - [Create a model response](https://docs.hopscotchlabs.ai/api-reference/responses/create-a-model-response.md): Send a request in the OpenAI Responses format. Set `stream: true` for server-sent events. ## OpenAPI Specs - [openapi.public](/api-reference/openapi.public.json)