Skip to main content

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

Getting a key

Sign in at the Antix portal at https://antix.antigma.ai/portal and 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

EndpointMethodPurpose
/v1/chat/completionsPOSTOpenAI Chat Completions
/v1/responsesPOSTOpenAI Responses API
/v1/messagesPOSTAnthropic Messages
/v1/messages/count_tokensPOSTAnthropic token counter
/v1/models/{action}POSTGemini :generateContent / :streamGenerateContent
/v1beta/models/{action}POSTGemini v1beta path
/v1/models, /modelsGETPublic model catalog
/v2/model/infoGETCatalog with pricing

Not supported: /v1/embeddings, /v1/audio/*, /v1/images/*, /v1/files, fine-tuning, batch API.

Authentication modes

  • Virtual KeyAuthorization: Bearer sk-antix-… on proxy routes.
  • BYOK — send your own provider key in Authorization and set X-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 budgets and rate limits.
  • Error handling — standardized codes across providers.