تصدیق کول
هره غوښتنه خپله API کیلي په header کې لیږدوي. د هر حساب یوه کیلي په هر endpoint او هر ماډل کار کوي، په دوو header بڼو کې په هره یوه.
Header · OpenAI SDKs
Authorization: Bearer YOUR_API_KEY Header · Anthropic SDKs
x-api-key: YOUR_API_KEY منل شوي headers
دواړه headers په هر /v1 endpoint کې لوستل کیږي، هر هغه بڼه چې endpoint یې خبرې کوي. یو یې ولیږئ.
| Header | تشریح |
|---|---|
Authorization: Bearer <key> | لومړی چک کیږي. Bearer د لوی B سره او د کیلي مخکې د یوې تشې فاصلې سره ولیکئ. OpenAI SDKs دا header لیږي. |
x-api-key: <key> | هغه وخت لوستل کیږي چې غوښتنه Authorization: Bearer header نه لري. Anthropic SDKs دا header لیږي. |
د OpenAI SDK سره، کیلي او base 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) import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.shannon-ai.com/v1'
});
const response = await client.chat.completions.create({
model: 'shannon-3',
messages: [
{ role: 'user', content: 'Hello, Shannon!' }
]
});
console.log(response.choices[0].message.content); curl -X POST "https://api.shannon-ai.com/v1/chat/completions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "shannon-3",
"messages": [
{"role": "user", "content": "Hello, Shannon!"}
]
}' د Anthropic SDK سره، کیلي او base URL پرته له /v1 وټاکئ؛ 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")) import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.shannon-ai.com'
});
const message = await client.messages.create({
model: 'shannon-3',
max_tokens: 1024,
messages: [
{ role: 'user', content: 'Hello, Shannon!' }
]
});
console.log(message.content.filter((block) => block.type === 'text').map((block) => block.text).join('')); curl -X POST "https://api.shannon-ai.com/v1/messages" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "shannon-3",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello, Shannon!"}
]
}' کوم endpoints کیلي ته اړتیا لري
| اینډپوائنټ (Endpoint) | کیلي |
|---|---|
POST /v1/chat/completions | اړین |
POST /v1/messages | اړین |
POST /v1/responses | اړین |
POST /v1/tokenize | اړین |
POST /v1/messages/count_tokens | اړین |
GET /v1/models | اړتیا نشته |
ستاسو کیلي
- کیلي
sk-ده چې ورپسې 43 توري دA–Z،a–z،0–9،-او_څخه راځي: په مجموع کې 46 توري. - هر حساب دقیقاً یوه کیلي لري. دا په لومړي ځل هغه وخت جوړیږي چې تاسو Keys & usage پرانیزئ.
- کیلي ستاسو د حساب لپاره API ته بشپړه لاسرسی ورکوي: هر endpoint، هر ماډل او ټول بیلانس.
- کیلي د پای نېټه نه لري. تر هغه کار کوي چې تاسو یې بدله یا لغوه کړئ.
بدلول او لغوه کول
تاسو کیلي په Keys & usage پاڼه کې بدلوئ او لغوه کوئ. کیلي او کارونه
| عمل | څه کیږي |
|---|---|
| بدلول | نوې کیلي صادریږي او زړه کیلي کار بندوي. نوې کیلي سمدلاسه کار کوي. |
| لغوه کول | کیلي کار بندوي او نوې کیلي نه صادریږي. د بیا کار کوونکې کیلي ترلاسه کولو لپاره بدله کړئ. |
- دواړه سمدلاسه اغېز کوي: د زړې کیلي سره راتلونکې غوښتنه په
401ځواب کیږي. 60 ثانیې د پورتنی حد په توګه وګڼئ مخکې له دې چې زړه کیلي هر ځای رد شي. - د حساب هر کلاینټ هماغه کیلي کاروي، نو بدلون ټولو ته رسیږي. نوې کیلي سمدلاسه وروسته له بدلولو خپلو کلاینټونو ته ورکړئ.
- بیلانس، usage او flood protection د حساب دي، نه د کیلي. نوې کیلي د هماغه بیلانس او د اوسني دقیقې د هماغه غوښتنو شمیر سره دوام کوي.
تېروتنې
هره تصدیق ناکامي حالت 401 او ډول authentication_error لري. پیغام قضیې سره جلا کوي.
| حالت | ډول | پیغام | کله |
|---|---|---|---|
401 | authentication_error | Missing authentication | غوښتنه نه Authorization: Bearer header لري او نه هم x-api-key header چې په sk- پیلیږي. دا د کوچنیو توریو bearer او د هغه Authorization ارزښت ځواب هم دی چې Bearer نه لري. |
401 | authentication_error | Invalid API key | کیلي د حساب اوسنۍ کیلي نه ده: غلط لیکل شوې، لغوه شوې، یا د بدلون له امله بدله شوې ده. |
{
"error": {
"type": "authentication_error",
"message": "Invalid API key",
"code": "invalid_api_key",
"param": null
}
} {
"type": "error",
"error": {
"type": "authentication_error",
"message": "Invalid API key"
}
} - په هر مسیر کې پرته له
/v1/messages،errorڅیزcode: "invalid_api_key"هم لري، د ورکې کیلي لپاره هم، اوparam: null. - کیلي مخکې له دې چک کیږي چې بدنه ولوستل شي. هغه غوښتنه چې معتبره کیلي نه لري
401ترلاسه کوي حتی که بدنه یې ناسمه یا ډیره لویه وي. - د
Authorization: Bearerارزښت چې پهsk-نه پیلیږي د API کیلي نه ګڼل کیږي. دا401ترلاسه کوي او پیغام وايي چې token ناسم یا ختم شوی دی.
براوزرونه او CORS
- API د cross-origin براوزر غوښتنو ته یوازې د origins ټاکلي لیست لپاره ځواب ورکوي. د بل origin په پاڼه کې JavaScript نشي کولی د
/v1ځوابونه ولولي. - API له خپل server څخه وغواړئ او پاڼه مو له خپل server سره خبرې کړئ. دا کیلي هم د پاڼې له سرچینې بهر ساتي.
- Server-side کوډ او command-line وسیلې اغېزمنې نه دي: دا قاعده یوازې براوزرونه پلي کوي.
- په shannon-ai.com کې ننوتل د
/v1غوښتنې نه تصدیقوي. Cookies هلته نه لوستل کیږي؛ کیلي یوازینی credential دی. - د اجازه شوي origin لپاره، براوزر کولی شي
content-type،authorization،x-api-key،anthropic-version،anthropic-beta،openai-betaاوx-request-idولیږي، او د ځواب headerx-request-idولولي.
د کیلي ساتنه
- کیلي په server کې وساتئ. دا د ویب پاڼو، موبایل اپلیکیشنونو یا عامو repositories کې مه ږدئ: څوک چې یې لري ستاسو ټول بیلانس مصرفولی شي.
- کیلي د environment variable یا secret store څخه پورته کړئ، نه دا چې په کوډ کې ولیکئ.
- که کیلي ښایي لیک شوې وي، په Keys & usage کې یې بدله کړئ. زړه کیلي سمدلاسه کار بندوي.
- وروسته له لیک، په Keys & usage کې د غوښتنو لیست ولولئ. دا هره غوښتنه ښیي چې کیلي په وروستیو 30 ورځو کې کړې ده.