కంటెంట్‌కు వెళ్లండి
ఆథెంటికేషన్

ఆథెంటికేషన్

ప్రతి రిక్వెస్ట్ మీ API కీని హెడర్‌లో తీసుకువెళ్తుంది. ప్రతి ఖాతాకు ఒక కీ ప్రతి ఎండ్‌పాయింట్‌లో మరియు ప్రతి మోడల్‌లో పనిచేస్తుంది, రెండు హెడర్ రూపాల్లో దేనిలోనైనా.

హెడర్ · OpenAI SDKలు
Authorization: Bearer YOUR_API_KEY
హెడర్ · Anthropic SDKలు
x-api-key: YOUR_API_KEY

అంగీకరించే హెడర్‌లు

ఎండ్‌పాయింట్ ఏ ఫార్మాట్ మాట్లాడినా, రెండు హెడర్‌లు ప్రతి /v1 ఎండ్‌పాయింట్‌లో చదవబడతాయి. వాటిలో ఒకదాన్ని పంపండి.

హెడర్ వివరణ
Authorization: Bearer <key> మొదట తనిఖీ చేయబడుతుంది. Bearer ను పెద్ద B తో మరియు కీకి ముందు ఒక స్పేస్‌తో రాయండి. OpenAI SDK లు ఈ హెడర్‌ను పంపుతాయి.
x-api-key: <key> రిక్వెస్ట్‌లో Authorization: Bearer హెడర్ లేనప్పుడు చదవబడుతుంది. Anthropic SDK లు ఈ హెడర్‌ను పంపుతాయి.

OpenAI SDK తో, కీ మరియు బేస్ URL ను సెట్ చేయండి; SDK 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 తో, కీ మరియు /v1 లేని బేస్ URL ను సెట్ చేయండి; SDK 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"))

ఏ ఎండ్‌పాయింట్‌లకు కీ అవసరం

ఎండ్‌పాయింట్ కీ
POST /v1/chat/completions తప్పనిసరి
POST /v1/messages తప్పనిసరి
POST /v1/responses తప్పనిసరి
POST /v1/tokenize తప్పనిసరి
POST /v1/messages/count_tokens తప్పనిసరి
GET /v1/models అవసరం లేదు

మీ కీ

  • కీ అంటే sk- తర్వాత A–Z, a–z, 0–9, - మరియు _ నుండి 43 అక్షరాలు: మొత్తం 46 అక్షరాలు.
  • ప్రతి ఖాతాకు సరిగ్గా ఒక కీ ఉంటుంది. మీరు మొదటిసారి Keys & usage ని తెరిచినప్పుడు అది సృష్టించబడుతుంది.
  • కీ మీ ఖాతా కోసం APIకి పూర్తి యాక్సెస్ ఇస్తుంది: ప్రతి ఎండ్‌పాయింట్, ప్రతి మోడల్ మరియు మొత్తం బ్యాలెన్స్.
  • కీకి గడువు తేదీ ఉండదు. మీరు రొటేట్ చేసే వరకు లేదా రద్దు చేసే వరకు అది పనిచేస్తుంది.

రొటేట్ చేయడం మరియు రద్దు చేయడం

మీరు Keys & usage పేజీలో కీని రొటేట్ చేస్తారు మరియు రద్దు చేస్తారు. Keys & usage

చర్య ఏమి జరుగుతుంది
రొటేట్ చేయడం కొత్త కీ జారీ చేయబడుతుంది మరియు పాత కీ పనిచేయడం ఆగిపోతుంది. కొత్త కీ వెంటనే పనిచేస్తుంది.
రద్దు చేయడం కీ పనిచేయడం ఆగిపోతుంది మరియు కొత్త కీ జారీ చేయబడదు. మళ్ళీ పనిచేసే కీ కోసం రొటేట్ చేయండి.
  • రెండూ వెంటనే అమలులోకి వస్తాయి: పాత కీతో వచ్చే తదుపరి రిక్వెస్ట్‌కు 401 తో సమాధానం వస్తుంది. పాత కీ అన్నిచోట్లా తిరస్కరించబడటానికి గరిష్ఠ పరిమితిగా 60 సెకన్లు భావించండి.
  • ఖాతాలోని ప్రతి క్లయింట్ ఒకే కీని ఉపయోగిస్తుంది, కాబట్టి రొటేషన్ అన్నిటికీ వర్తిస్తుంది. రొటేట్ చేసిన వెంటనే కొత్త కీని మీ క్లయింట్‌లలో పెట్టండి.
  • బ్యాలెన్స్, వినియోగం మరియు flood protection ఖాతాకు చెందినవి, కీకి కాదు. కొత్త కీ అదే బ్యాలెన్స్‌తో మరియు ప్రస్తుత నిమిషానికి అదే రిక్వెస్ట్ లెక్కతో కొనసాగుతుంది.

ఎరర్‌లు

ప్రతి ఆథెంటికేషన్ వైఫల్యానికి స్టేటస్ 401 మరియు type authentication_error ఉంటాయి. సందర్భాలను మెసేజ్ వేరు చేసి చెబుతుంది.

స్టేటస్ రకం మెసేజ్ ఎప్పుడు
401 authentication_error Missing authentication రిక్వెస్ట్‌లో Authorization: Bearer హెడర్ కానీ sk- తో మొదలయ్యే x-api-key హెడర్ కానీ లేవు. చిన్న అక్షరాలలో bearer కు మరియు Bearer లేని Authorization విలువకు కూడా ఇదే సమాధానం.
401 authentication_error Invalid API key కీ ఖాతా యొక్క ప్రస్తుత కీ కాదు: తప్పుగా టైప్ చేయబడింది, రద్దు చేయబడింది, లేదా రొటేషన్ ద్వారా మార్చబడింది.
{
  "error": {
    "type": "authentication_error",
    "message": "Invalid API key",
    "code": "invalid_api_key",
    "param": null
  }
}
  • /v1/messages తప్ప ప్రతి path లో error ఆబ్జెక్ట్‌లో code: "invalid_api_key" కూడా ఉంటుంది, కీ లేనప్పుడు కూడా, మరియు param: null.
  • బాడీ చదవడానికి ముందే కీ తనిఖీ చేయబడుతుంది. చెల్లుబాటు అయ్యే కీ లేని రిక్వెస్ట్‌కు దాని బాడీ చెల్లనిది లేదా చాలా పెద్దది అయినా 401 వస్తుంది.
  • sk- తో మొదలుకాని Authorization: Bearer విలువ API కీగా పరిగణించబడదు. దానికి టోకెన్ చెల్లనిది లేదా గడువు ముగిసినది అనే మెసేజ్‌తో 401 వస్తుంది.

బ్రౌజర్‌లు మరియు CORS

  • API క్రాస్-ఆరిజిన్ బ్రౌజర్ రిక్వెస్ట్‌లకు నిర్ణీత origin ల జాబితాకు మాత్రమే సమాధానం ఇస్తుంది. మరో origin పేజీలోని JavaScript /v1 సమాధానాలను చదవలేదు.
  • APIని మీ సర్వర్ నుండి కాల్ చేయండి మరియు మీ పేజీ మీ సర్వర్‌తో మాట్లాడనివ్వండి. దీనివల్ల కీ పేజీ సోర్స్‌లో కనిపించదు.
  • సర్వర్-సైడ్ కోడ్ మరియు కమాండ్-లైన్ టూల్స్‌పై ప్రభావం ఉండదు: ఈ నియమాన్ని బ్రౌజర్‌లు మాత్రమే వర్తింపజేస్తాయి.
  • shannon-ai.com లో సైన్ ఇన్ చేయడం /v1 రిక్వెస్ట్‌లను ఆథెంటికేట్ చేయదు. అక్కడ కుక్కీలు చదవబడవు; కీ మాత్రమే క్రెడెన్షియల్.
  • అనుమతించిన origin కోసం, బ్రౌజర్ content-type, authorization, x-api-key, anthropic-version, anthropic-beta, openai-beta మరియు x-request-id ను పంపవచ్చు, మరియు సమాధాన హెడర్ x-request-id ను చదవవచ్చు.

కీని సురక్షితంగా ఉంచడం

  • కీని సర్వర్‌లో ఉంచండి. వెబ్ పేజీలు, మొబైల్ యాప్‌లు లేదా పబ్లిక్ రిపోజిటరీలలో పెట్టకండి: అది ఉన్నవారు మీ మొత్తం బ్యాలెన్స్‌ను ఖర్చు చేయగలరు.
  • కీని కోడ్‌లో రాయకుండా ఎన్విరాన్‌మెంట్ వేరియబుల్ లేదా సీక్రెట్ స్టోర్ నుండి లోడ్ చేయండి.
  • కీ లీక్ అయి ఉండవచ్చని అనిపిస్తే, Keys & usage లో దాన్ని రొటేట్ చేయండి. పాత కీ వెంటనే పనిచేయడం ఆగిపోతుంది.
  • లీక్ అయిన తర్వాత, Keys & usage లోని రిక్వెస్ట్ జాబితాను చదవండి. ఇది గత 30 రోజుల్లో కీ చేసిన ప్రతి రిక్వెస్ట్‌ను చూపిస్తుంది.