Siirry sisältöön
Todennus

Todennus

Jokainen pyyntö kuljettaa API-avaintasi otsakkeessa. Yksi avain tiliä kohti toimii jokaisessa päätepisteessä ja jokaisella mallilla kummassa tahansa kahdesta otsakemuodosta.

Otsake · OpenAI SDK:t
Authorization: Bearer YOUR_API_KEY
Otsake · Anthropic SDK:t
x-api-key: YOUR_API_KEY

Hyväksytyt otsakkeet

Molemmat otsakkeet luetaan jokaisessa /v1-päätepisteessä riippumatta siitä, mitä formaattia päätepiste puhuu. Lähetä jompikumpi.

Otsake Kuvaus
Authorization: Bearer <key> Tarkistetaan ensin. Kirjoita Bearer isolla B:llä ja yhdellä välilyönnillä ennen avainta. OpenAI SDK:t lähettävät tämän otsakkeen.
x-api-key: <key> Luetaan, kun pyynnössä ei ole Authorization: Bearer -otsaketta. Anthropic SDK:t lähettävät tämän otsakkeen.

OpenAI SDK:lla aseta avain ja perus-URL; SDK lähettää 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)

Anthropic SDK:lla aseta avain ja perus-URL ilman /v1; SDK lähettää 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"))

Mitkä päätepisteet vaativat avaimen

Päätepiste Avain
POST /v1/chat/completions Pakollinen
POST /v1/messages Pakollinen
POST /v1/responses Pakollinen
POST /v1/tokenize Pakollinen
POST /v1/messages/count_tokens Pakollinen
GET /v1/models Ei tarvita

Avaimesi

  • Avain on sk- ja sen perässä 43 merkkiä joukosta A–Z, a–z, 0–9, - ja _: yhteensä 46 merkkiä.
  • Jokaisella tilillä on täsmälleen yksi avain. Se luodaan, kun avaat Avaimet ja käyttö -sivun ensimmäisen kerran.
  • Avain antaa tilillesi täyden pääsyn API:in: jokaiseen päätepisteeseen, jokaiseen malliin ja koko saldoon.
  • Avaimella ei ole vanhenemispäivää. Se toimii, kunnes vaihdat tai mitätöit sen.

Vaihto ja mitätöinti

Avaimen vaihdat ja mitätöit sivulla Avaimet ja käyttö. Avaimet ja käyttö

Toiminto Mitä tapahtuu
Vaihto Uusi avain myönnetään ja vanha lakkaa toimimasta. Uusi avain toimii heti.
Mitätöinti Avain lakkaa toimimasta, eikä uutta avainta myönnetä. Vaihda avain saadaksesi toimivan avaimen takaisin.
  • Molemmat tulevat voimaan heti: seuraava pyyntö vanhalla avaimella saa vastauksen 401. Pidä 60 sekuntia ylärajana, jonka jälkeen vanha avain hylätään kaikkialla.
  • Tilin jokainen asiakas käyttää samaa avainta, joten vaihto koskee kaikkia. Laita uusi avain asiakkaisiisi heti vaihdon jälkeen.
  • Saldo, käyttö ja tulvasuoja kuuluvat tilille, eivät avaimelle. Uusi avain jatkaa samalla saldolla ja samalla käynnissä olevan minuutin pyyntömäärällä.

Virheet

Jokaisen todennusvirheen tila on 401 ja tyyppi authentication_error. Viestistä erottaa tapaukset toisistaan.

Tila Tyyppi Viesti Milloin
401 authentication_error Missing authentication Pyynnössä ei ole Authorization: Bearer -otsaketta eikä sk--alkuista x-api-key-otsaketta. Tämä on myös vastaus pienillä kirjaimilla kirjoitettuun bearer-sanaan ja Authorization-arvoon ilman Bearer-sanaa.
401 authentication_error Invalid API key Avain ei ole tilin nykyinen avain: se on kirjoitettu väärin, mitätöity tai korvattu avaimen vaihdolla.
{
  "error": {
    "type": "authentication_error",
    "message": "Invalid API key",
    "code": "invalid_api_key",
    "param": null
  }
}
  • Kaikilla poluilla paitsi /v1/messages error-objekti sisältää myös code: "invalid_api_key", myös puuttuvan avaimen tapauksessa, sekä param: null.
  • Avain tarkistetaan ennen kuin runko luetaan. Pyyntö ilman kelvollista avainta saa vastauksen 401, vaikka sen runko olisi virheellinen tai liian suuri.
  • Authorization: Bearer -arvoa, joka ei ala merkeillä sk-, ei käsitellä API-avaimena. Se saa vastauksen 401 ja viestin, että token on virheellinen tai vanhentunut.

Selaimet ja CORS

  • API vastaa selaimen cross-origin-pyyntöihin vain kiinteälle originien listalle. Toisen originin sivun JavaScript ei voi lukea /v1-vastauksia.
  • Kutsu API:a palvelimeltasi ja anna sivusi keskustella palvelimesi kanssa. Näin avain pysyy myös poissa sivun lähdekoodista.
  • Palvelinpuolen koodia ja komentorivityökaluja tämä ei koske: säännön noudattaa vain selain.
  • Sisäänkirjautuminen osoitteessa shannon-ai.com ei todenna /v1-pyyntöjä. Evästeitä ei lueta siellä; avain on ainoa tunniste.
  • Sallitusta originista selain voi lähettää otsakkeet content-type, authorization, x-api-key, anthropic-version, anthropic-beta, openai-beta ja x-request-id sekä lukea vastausotsakkeen x-request-id.

Avaimen turvassa pitäminen

  • Pidä avain palvelimella. Älä laita sitä verkkosivuille, mobiilisovelluksiin tai julkisiin repositorioihin: sen haltija voi kuluttaa koko saldosi.
  • Lataa avain ympäristömuuttujasta tai salaisuuksien säilöstä sen sijaan, että kirjoittaisit sen koodiin.
  • Jos avain on voinut vuotaa, vaihda se sivulla Avaimet ja käyttö. Vanha avain lakkaa toimimasta heti.
  • Vuodon jälkeen lue pyyntölista sivulla Avaimet ja käyttö. Se näyttää kaikki avaimella tehdyt pyynnöt viimeisen 30 päivän ajalta.