Přeskočit na obsah
Ověření

Ověření

Každý požadavek nese váš API klíč v hlavičce. Jeden klíč na účet funguje na každém endpointu a každém modelu, ve dvou možných tvarech hlavičky.

Hlavička · OpenAI SDK
Authorization: Bearer YOUR_API_KEY
Hlavička · Anthropic SDK
x-api-key: YOUR_API_KEY

Přijímané hlavičky

Obě hlavičky se čtou na každém endpointu /v1, ať endpoint mluví kterýmkoli formátem. Pošlete jednu z nich.

Hlavička Popis
Authorization: Bearer <key> Kontroluje se jako první. Napište Bearer s velkým B a jednou mezerou před klíčem. Tuto hlavičku posílají OpenAI SDK.
x-api-key: <key> Čte se, když požadavek nemá hlavičku Authorization: Bearer. Tuto hlavičku posílají Anthropic SDK.

U OpenAI SDK nastavte klíč a základní URL; SDK pošle Authorization: Bearer.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1"
)

response = client.chat.completions.create(
    model="shannon-3",
    messages=[
        {"role": "user", "content": "Hello, Shannon!"}
    ]
)

print(response.choices[0].message.content)

U Anthropic SDK nastavte klíč a základní URL bez /v1; SDK pošle x-api-key.

import anthropic

client = anthropic.Anthropic(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com"
)

message = client.messages.create(
    model="shannon-3",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello, Shannon!"}
    ]
)

print("".join(block.text for block in message.content if block.type == "text"))

Které endpointy potřebují klíč

Endpoint Klíč
POST /v1/chat/completions Povinné
POST /v1/messages Povinné
POST /v1/responses Povinné
POST /v1/tokenize Povinné
POST /v1/messages/count_tokens Povinné
GET /v1/models Není třeba

Váš klíč

  • Klíč je sk- následované 43 znaky z A–Z, a–z, 0–9, - a _: celkem 46 znaků.
  • Každý účet má právě jeden klíč. Vytvoří se při prvním otevření stránky Klíče a využití.
  • Klíč dává plný přístup k API za váš účet: ke každému endpointu, každému modelu a celému zůstatku.
  • Klíč nemá datum vypršení. Funguje, dokud jej nerotujete nebo nezrušíte jeho platnost.

Rotace a zrušení platnosti

Klíč rotujete a rušíte jeho platnost na stránce Klíče a využití. Klíče a využití

Akce Co se stane
Rotovat Vydá se nový klíč a starý přestane fungovat. Nový klíč funguje okamžitě.
Zrušit platnost Klíč přestane fungovat a žádný nový se nevydá. Pro opětovné získání funkčního klíče proveďte rotaci.
  • Obojí se projeví okamžitě: na další požadavek se starým klíčem se odpoví 401. Za horní hranici, než bude starý klíč odmítán všude, považujte 60 sekund.
  • Všichni klienti účtu používají stejný klíč, takže rotace se dotkne všech. Nový klíč vložte do svých klientů hned po rotaci.
  • Zůstatek, využití a ochrana proti zahlcení patří účtu, ne klíči. Nový klíč pokračuje se stejným zůstatkem a stejným počtem požadavků za aktuální minutu.

Chyby

Každé selhání ověření má stav 401 a typ authentication_error. Případy od sebe odliší zpráva.

Stav Typ Zpráva Kdy
401 authentication_error Missing authentication Požadavek nemá hlavičku Authorization: Bearer ani hlavičku x-api-key, která začíná na sk-. Stejná je i odpověď na bearer malými písmeny a na hodnotu Authorization bez Bearer.
401 authentication_error Invalid API key Klíč není aktuálním klíčem žádného účtu: je chybně napsaný, byla zrušena jeho platnost, nebo byl nahrazen rotací.
{
  "error": {
    "type": "authentication_error",
    "message": "Invalid API key",
    "code": "invalid_api_key",
    "param": null
  }
}
  • Na každé cestě kromě /v1/messages obsahuje objekt error také code: "invalid_api_key", i při chybějícím klíči, a param: null.
  • Klíč se ověřuje dříve, než se přečte tělo. Požadavek bez platného klíče dostane 401, i když je jeho tělo neplatné nebo příliš velké.
  • Hodnota Authorization: Bearer, která nezačíná na sk-, se nepovažuje za API klíč. Dostane 401 se zprávou, že token je neplatný nebo vypršel.

Prohlížeče a CORS

  • API odpovídá na cross-origin požadavky z prohlížeče pouze pro pevný seznam originů. JavaScript na stránce jiného originu nemůže číst odpovědi /v1.
  • Volejte API ze svého serveru a nechte svou stránku komunikovat s vaším serverem. Klíč se tím také nedostane do zdrojového kódu stránky.
  • Kód na straně serveru a nástroje příkazové řádky se to netýká: toto pravidlo uplatňují pouze prohlížeče.
  • Přihlášení na shannon-ai.com neověřuje požadavky na /v1. Cookies se tam nečtou; klíč je jediné ověřovací údaje.
  • Pro povolený origin smí prohlížeč posílat content-type, authorization, x-api-key, anthropic-version, anthropic-beta, openai-beta a x-request-id a smí číst hlavičku odpovědi x-request-id.

Jak klíč udržet v bezpečí

  • Klíč uchovávejte na serveru. Nevkládejte jej do webových stránek, mobilních aplikací ani veřejných repozitářů: kdo jej má, může utratit celý váš zůstatek.
  • Načítejte klíč z proměnné prostředí nebo úložiště tajemství místo toho, abyste jej psali do kódu.
  • Pokud klíč mohl uniknout, rotujte jej na stránce Klíče a využití. Starý klíč přestane fungovat okamžitě.
  • Po úniku si prohlédněte seznam požadavků na stránce Klíče a využití. Ukazuje každý požadavek, který klíč provedl za posledních 30 dní.