Quickstart
Antix speaks four wire protocols — OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, and Gemini native — over the same proxy. Point any existing SDK at the Antix base URL and authenticate with a Virtual Key.
Base URLs
- Production:
https://antix.antigma.ai/v1 - Local development:
http://127.0.0.1:8080/v1
Signing in
The Antix portal at https://portal.antigma.ai is passwordless by default. Enter your email and click Send link — the portal emails you a magic link, and clicking it signs you in (no password or code to type). Google and GitHub OAuth are also available as one-click alternatives on the same login page.
Getting a key
Once signed in, create a Virtual Key from your dashboard. Portal-issued keys start with sk-antix-….
Keys are stored securely; you see the plaintext exactly once at creation.
First request — curl
curl -X POST https://antix.antigma.ai/v1/chat/completions \
-H "Authorization: Bearer sk-antix-<your-key>" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"messages": [{"role": "user", "content": "Write a rust function for fibonacci."}],
"stream": true
}'
First request — OpenAI SDK
from openai import OpenAI
client = OpenAI(
base_url="https://antix.antigma.ai/v1",
api_key="sk-antix-<your-key>",
)
response = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[{"role": "user", "content": "Write a rust function for fibonacci."}],
stream=True,
)
for chunk in response:
print(chunk.choices[0].delta.content or "", end="")
First request — Anthropic SDK
Antix implements the Anthropic Messages API natively at /v1/messages, so you can point the Anthropic SDK at Antix with no code changes:
from anthropic import Anthropic
client = Anthropic(
base_url="https://antix.antigma.ai",
api_key="sk-antix-<your-key>",
)
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello!"}],
)
First request — Claude Code
Claude Code speaks the Anthropic Messages protocol, so pointing it at Antix is a one-liner:
export ANTHROPIC_BASE_URL="https://antix.antigma.ai"
That's it — Claude Code's SDK reads both and routes all /v1/messages traffic to Antix, which passes it through to Anthropic with your platform key substituted.
Supported endpoints
| Endpoint | Method | Purpose |
|---|---|---|
/v1/chat/completions | POST | OpenAI Chat Completions |
/v1/responses | POST | OpenAI Responses API |
/v1/messages | POST | Anthropic Messages |
/v1/messages/count_tokens | POST | Anthropic token counter |
/v1/models/{action} | POST | Gemini :generateContent / :streamGenerateContent |
/v1beta/models/{action} | POST | Gemini v1beta path |
/v1/models, /models | GET | Public model catalog |
/v2/model/info | GET | Catalog with pricing |
Not supported: /v1/embeddings, /v1/audio/*, /v1/images/*, /v1/files, fine-tuning, batch API.
Authentication modes
- Virtual Key —
Authorization: Bearer sk-antix-…on proxy routes. - BYOK — send your own provider key in
Authorizationand setX-Antix-Provider. See Routing.
Tagging traffic with an Endpoint
The base URLs above are shared across your organization. To get per-application spend, traces, and agent-session analytics, create an Endpoint in the portal and use its URL instead. An endpoint URL looks like:
https://antix.antigma.ai/v1/<endpoint_uuid>/<provider>
Every request through that URL is automatically tagged with the endpoint's ID, so the portal can break down cost, latency, and traces per endpoint. Authentication still uses your Virtual Key (or BYOK) — endpoints decide where the traffic lands, not who pays.
See Endpoints for creation, scopes, and the analytics tabs.
Next steps
- Endpoints — per-application URLs with traces, spend, and agent sessions.
- Routing & BYOK — provider selection and OpenAI-compatible semantics.
- Virtual keys — provision keys with hard spend budgets.
- Error handling — standardized codes across providers.