ObixHub
modelsdocspricingstatus
get a key →
docs · quickstart

Point your CLI at ObixHub. That’s it.

One base URL — https://obixhub.com — for every CLI. Each SDK appends its own path, so there’s no /v1 to remember. Set the base URL, hand it your obx_ key, and keep using the tool you already have.

one base url

The same origin, every client.

Set your client’s base URL to the bare origin below. The SDK appends its own conventional path — these are the endpoints it can land on.

client
path the sdk hits
wire format
claude code
/v1/messages
anthropic messages
Codexcodex cli
/chat/completions · /v1/responses
openai chat / responses
authenticate

One obx_ key, several header forms.

Create a named key in your dashboard, then send it however your client likes. The key is scoped to your team’s plan and never forwarded to the model providers.

authorization: bearer
Authorization: Bearer obx_ER0B******dzKp
Codex+ more
routeany route
x-api-key
x-api-key: obx_ER0B******dzKp
+ more
routePOST /v1/messages
set up each cli

Copy, paste, run.

Claude Code speaks the Anthropic Messages API; Codex CLI speaks the OpenAI Responses API. Both reach Claude and GPT.

claude code
# claude code — anthropic messages
export ANTHROPIC_BASE_URL="https://obixhub.com"
export ANTHROPIC_API_KEY="obx_ER0B******dzKp"

# pin a model in the catalog (optional)
export ANTHROPIC_MODEL="claude-opus-4-8"

$ claude
Codexcodex cli
# codex cli — openai responses
# ~/.codex/config.toml
model_provider = "obixhub"

[model_providers.obixhub]
name     = "obixhub"
base_url = "https://obixhub.com/v1"
wire_api = "responses"
env_key  = "OPENAI_API_KEY"

# then:
export OPENAI_API_KEY="obx_ER0B******dzKp"
$ codex -m gpt-5.5
or call it directly

Native wire formats.

No SDK required — anything that can POST JSON works. Add stream:true for server-sent events.

POST /v1/messages — anthropic
curl https://obixhub.com/v1/messages \
  -H "x-api-key: obx_ER0B******dzKp" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d @-
body
{
  "model": "claude-opus-4-8",
  "max_tokens": 1024,
  "messages": [{ "role": "user", "content": "hello" }]
}
POST /chat/completions — openai
curl https://obixhub.com/chat/completions \
  -H "authorization: Bearer obx_ER0B******dzKp" \
  -H "content-type: application/json" \
  -d @-
body
{
  "model": "gpt-5.5",
  "messages": [{ "role": "user", "content": "hello" }]
}
models

Use the provider’s native model name.

Pass the model exactly as the provider names it — claude-opus-4-8, gpt-5.5. No provider/ prefix; the endpoint you call already selects the provider.

Each key carries a model allowlist (all curated models by default). A model outside the allowlist — or from the wrong provider for the endpoint — is rejected in that endpoint’s own error shape.

browse every model →
  • anthropic/claude-opus-4-8 · sonnet · haiku
  • openai/gpt-5.5 · gpt-4o · o-series

Got your obx_ key? Ship.

create a key →

product

  • models
  • pricing
  • docs
  • status

company

  • about
  • security
  • contact

legal

  • terms
  • privacy
  • dpa

email

  • hi@obixhub.com
  • sales@obixhub.com
© 2026 Zesto, LLC · delaware, usa · all rights reservedEN·中文·ObixHub · unified llm gateway for dev teams