Ruka hadi kwenye maudhui
Uthibitishaji

Uthibitishaji

Kila ombi hubeba API key yako kwenye header. Key moja kwa akaunti hufanya kazi kwenye kila endpoint na kila model, kwa mojawapo ya maumbo mawili ya header.

Header · SDK za OpenAI
Authorization: Bearer YOUR_API_KEY
Header · SDK za Anthropic
x-api-key: YOUR_API_KEY

Headers zinazokubaliwa

Headers zote mbili husomwa kwenye kila endpoint ya /v1, kwa umbizo lolote endpoint inalotumia. Tuma moja kati yake.

Header Maelezo
Authorization: Bearer <key> Inakaguliwa kwanza. Andika Bearer kwa B kubwa na nafasi moja kabla ya key. SDK za OpenAI hutuma header hii.
x-api-key: <key> Husomwa wakati ombi halina header ya Authorization: Bearer. SDK za Anthropic hutuma header hii.

Ukiwa na SDK ya OpenAI, weka key na base URL; SDK hutuma 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)

Ukiwa na SDK ya Anthropic, weka key na base URL bila /v1; SDK hutuma 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"))

Endpoint zipi zinahitaji key

Endpoint Key
POST /v1/chat/completions Inahitajika
POST /v1/messages Inahitajika
POST /v1/responses Inahitajika
POST /v1/tokenize Inahitajika
POST /v1/messages/count_tokens Inahitajika
GET /v1/models Haihitajiki

Key yako

  • Key ni sk- ikifuatiwa na herufi 43 kutoka A–Z, a–z, 0–9, - na _: herufi 46 kwa jumla.
  • Kila akaunti ina key moja tu. Inaundwa mara ya kwanza unapofungua Keys na matumizi.
  • Key inatoa ufikiaji kamili wa API kwa akaunti yako: kila endpoint, kila model na salio lote.
  • Key haina tarehe ya kuisha. Inafanya kazi hadi uibadilishe au uibatilishe.

Kubadilisha na kubatilisha

Unabadilisha na kubatilisha key kwenye ukurasa wa Keys na matumizi. Keys na matumizi

Kitendo Nini hutokea
Badilisha Key mpya inatolewa na key ya zamani inaacha kufanya kazi. Key mpya inafanya kazi mara moja.
Batilisha Key inaacha kufanya kazi na hakuna key mpya inayotolewa. Badilisha ili kupata key inayofanya kazi tena.
  • Vyote viwili vinaanza kutumika mara moja: ombi linalofuata lenye key ya zamani hujibiwa kwa 401. Chukulia sekunde 60 kama kikomo cha juu kabla key ya zamani kukataliwa kila mahali.
  • Kila client ya akaunti hutumia key ile ile, kwa hiyo kubadilisha kunazifikia zote. Weka key mpya kwenye client zako mara baada ya kubadilisha.
  • Salio, matumizi na flood protection ni vya akaunti, si vya key. Key mpya inaendelea na salio lile lile na hesabu ile ile ya maombi kwa dakika ya sasa.

Makosa

Kila kushindwa kwa uthibitishaji kuna hali 401 na aina authentication_error. Ujumbe unatofautisha visa.

Hali Aina Ujumbe Lini
401 authentication_error Missing authentication Ombi halina header ya Authorization: Bearer wala header ya x-api-key inayoanza na sk-. Hili pia ndilo jibu kwa bearer kwa herufi ndogo na kwa thamani ya Authorization bila Bearer.
401 authentication_error Invalid API key Key si key ya sasa ya akaunti: imeandikwa vibaya, imebatilishwa, au imebadilishwa na key mpya.
{
  "error": {
    "type": "authentication_error",
    "message": "Invalid API key",
    "code": "invalid_api_key",
    "param": null
  }
}
  • Kwenye kila path isipokuwa /v1/messages kitu cha error pia kina code: "invalid_api_key", hata kwa key iliyokosekana, na param: null.
  • Key hukaguliwa kabla mwili haujasomwa. Ombi bila key halali hupata 401 hata mwili wake ukiwa batili au mkubwa mno.
  • Thamani ya Authorization: Bearer isiyoanza na sk- haichukuliwi kama API key. Inapata 401 na ujumbe kwamba token ni batili au imekwisha muda.

Vivinjari na CORS

  • API hujibu maombi ya kivinjari ya cross-origin kwa orodha maalum tu ya origins. JavaScript kwenye ukurasa wa origin nyingine haiwezi kusoma majibu ya /v1.
  • Ita API kutoka seva yako na uache ukurasa wako uongee na seva yako. Hilo pia linaweka key nje ya chanzo cha ukurasa.
  • Code ya upande wa seva na zana za command-line haziathiriwi: sheria hii inatumiwa na vivinjari pekee.
  • Kuingia kwenye shannon-ai.com hakuthibitishi maombi ya /v1. Cookies hazisomwi huko; key ndiyo credential pekee.
  • Kwa origin iliyoruhusiwa, kivinjari kinaweza kutuma content-type, authorization, x-api-key, anthropic-version, anthropic-beta, openai-beta na x-request-id, na kinaweza kusoma header ya jibu x-request-id.

Kuweka key salama

  • Weka key kwenye seva. Usiiweke kwenye kurasa za wavuti, programu za simu au repositories za umma: yeyote anayeishikilia anaweza kutumia salio lako lote.
  • Pakia key kutoka kwenye environment variable au secret store badala ya kuiandika kwenye code.
  • Ikiwa key inaweza kuwa imevuja, ibadilishe kwenye Keys na matumizi. Key ya zamani inaacha kufanya kazi mara moja.
  • Baada ya uvujaji, soma orodha ya maombi kwenye Keys na matumizi. Inaonyesha kila ombi ambalo key ilifanya katika siku 30 zilizopita.