Documentation
One key, two compatible wire protocols, 15 frontier models. Read the quickstart or explore the API reference.
Authentication
Every gateway call authenticates with an sk-gw-… API key, sent in either of two headers: x-api-key (what the Anthropic SDK sends) or Authorization: Bearer (what the OpenAI SDK sends). Both are accepted on every inference route — the gateway reads x-api-key first and falls back to the Bearer token — so use whichever your client produces naturally. Keys are created on the Keys page, carry access to every model on the gateway, and are shown in full exactly once, at creation time.
The token you log into this console with is a session token, not an API key. It can read and manage your account, but the inference routes reject it by design, so pasting your login into a request gets a 401 no matter which header it goes in.
curl https://api.selora.lol/v1/chat/completions \
-H "Authorization: Bearer sk-gw-..." \
-H "Content-Type: application/json" \
-d '{ "model": "claude-sonnet-5", "messages": [{ "role": "user", "content": "Hi" }] }'# max_tokens is required on this route, and the base URL has no /v1
curl https://api.selora.lol/v1/messages \
-H "x-api-key: sk-gw-..." \
-H "Content-Type: application/json" \
-d '{ "model": "claude-sonnet-5", "max_tokens": 64, "messages": [{ "role": "user", "content": "Hi" }] }'Rotate a compromised key from the Keys page — the old one is revoked immediately and the fingerprint shown there stays the same so your dashboards keep their shape. Prefer a per-service key over sharing one across every environment.