Authentication

The proxy has two auth layers. Do not mix them up.

API keys (inference)

All /v1/* inference routes, MCP management, and most machine-to-machine calls take:

Authorization: Bearer sk-your-api-key-here

Create and revoke keys at API Keys. Each key is a sk- prefix plus 48 hex characters. We store SHA-256 of the secret, not the secret itself. If you lose it, mint a new one.

Keys are scoped to your account. Partner child keys look the same on the wire; spend is billed to the parent.

JWT (dashboard)

The website uses a session JWT for /api/auth/me, keys, usage, settings, and partner routes. That token is not an inference key. SDKs should use sk-…, not the cookie.

Public routes (no auth)

These do not need a key:

MethodPathPurpose
GET/healthLiveness
GET/v1/modelsOpenAI model list
GET/api/models/capabilitiesLive capability sheet
GET/api/pricingLive USD rates
GET/api/statusPublic status payload

Common mistakes

OAuth apps use a different token (oat_…). See Login with proxy.gonka.gg.