بلاگ پر واپس جائیں

خرابیوں کا ازالہگائیڈ

عام کنکشن کی خرابیاں اور ان کا حل

CheapTokens API سے کنیکٹ کرتے وقت 401، 402، 400، 404، 413، 429 اور 503 کا کیا مطلب ہے، رسپانس کیسے دکھتے ہیں، اور ہر ایک کو کیسے ٹھیک کریں۔

از CheapTokens Teamشائع شدہ 4 منٹ کا مطالعہ

ٹرمینل میں مختصر وضاحتوں کے ساتھ HTTP اسٹیٹس کوڈز 401، 402، 400، 404 اور 429 کی فہرست
اس صفحہ پر
  1. فوری چیک
  2. 401 — غلط API کلید
  3. 402 — خالی بیلنس یا درخواست میں کلید نہیں
  4. 404 — غلط ایڈریس
  5. 400 — ماڈل نہیں ملا
  6. 413 — درخواست بہت بڑی
  7. 429 — بہت زیادہ درخواستیں
  8. 503 — ماڈل عارضی طور پر دستیاب نہیں
  9. طویل انتظار اور ٹائم آؤٹ

تقریباً ہر کنکشن کا مسئلہ چار چیزوں تک محدود ہوتا ہے: ایڈریس، کلید، ماڈل ID اور بیلنس۔ نیچے دیے گئے فوری چیک سے شروع کریں، پھر اپنا اسٹیٹس کوڈ تلاش کریں۔ یہاں نقل کیے گئے رسپانس باڈیز API کے اصل رسپانس ہیں (اکتوبر 2026)۔

فوری چیک#

bash
# 1. The address is reachable — this request needs no key
curl https://api.cheaptokens.dev/v1/models

# 2. The key and the balance work — a tiny request (costs a fraction of a cent)
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "deepseek-ai/DeepSeek-V4-Flash-0731", "max_tokens": 5,
       "messages": [{"role": "user", "content": "ping"}]}'

اگر پہلا کمانڈ ناکام ہو، تو وجہ آپ کی طرف کا نیٹ ورک، ایڈریس میں ٹائپو — یا سروس کا عارضی طور پر دستیاب نہ ہونا ہو سکتی ہے۔ اگر صرف دوسرا ناکام ہو، تو نیچے اس کا اسٹیٹس کوڈ دیکھیں۔ اگر دونوں کام کریں لیکن آپ کا ٹول نہ کرے، تو ٹول کی سیٹنگز کا ان دو کمانڈز سے موازنہ کریں۔

401 — غلط API کلید#

json
{"error": {"message": "Invalid API key", "type": "authentication_error"}}

Anthropic طرز کے کلائنٹس کو اپنے فارمیٹ میں وہی خرابی ملتی ہے:

json
{"type": "error", "error": {"type": "authentication_error", "message": "Invalid API key"}}

وجوہات:

  • کلید کاپی کرتے وقت کوئی حرف غائب رہ گیا، کوئی اسپیس یا کوٹس شامل ہو گئے؛
  • ڈیش بورڈ میں کلید روٹیٹ کر دی گئی — پرانی اب کام نہیں کرتی؛
  • CheapTokens کلید کی بجائے کسی دوسری سروس (مثلاً OpenAI) کی کلید سیٹ ہے؛
  • اس ٹرمینل میں ماحول متغیر خالی ہے: echo ${#CHEAPTOKENS_API_KEY} اس کی لمبائی پرنٹ کرتا ہے۔

ڈیش بورڈ کلید صرف ایک بار دکھاتا ہے۔ اگر وہ گم ہو جائے، تو Rotate دبا کر نئی کلید حاصل کریں اور اسے ہر جگہ اپ ڈیٹ کریں جہاں یہ استعمال ہوتی ہے۔

402 — خالی بیلنس یا درخواست میں کلید نہیں#

API دو مختلف صورتوں میں 402 واپس کرتا ہے:

  1. بیلنس ختم ہو گیا ہے۔ درخواستیں بیلنس سے ادا ہوتی ہیں؛ جب وہ ختم ہو جائے، کلید روک دی جاتی ہے۔ ڈیش بورڈ میں ٹاپ اپ کریں اور درخواستیں دوبارہ چلنے لگیں گی۔
  2. درخواست میں کوئی کلید ہی نہیں۔ اگر Authorization ہیڈر (یا Anthropic طرز کے کلائنٹس کے لیے x-api-key) غائب ہو، تو API insufficient_funds ٹائپ کے ساتھ 402 جواب دیتا ہے۔ چیک کریں کہ آپ کا ٹول واقعی کلید بھیج رہا ہے: OpenAI طرز Authorization: Bearer <key> ہے۔

404 — غلط ایڈریس#

json
{"error": {"message": "Invalid URL (GET /v1/chat/completion)", "type": "invalid_request_error", "param": null, "code": null}}

پاتھ میں ٹائپو ہے — یہاں completions کی بجائے completion۔ دیگر عام وجوہات:

  • بیس URL میں /v1 نہیں ہے۔ OpenAI طرز کے کلائنٹس کو https://api.cheaptokens.dev/v1 چاہیے۔ /v1 کے بغیر درخواست API تک نہیں پہنچتی اور JSON کی بجائے سادہ HTML 404 صفحہ ملتا ہے۔
  • /v1 دو بار۔ کچھ کلائنٹس خود /v1 شامل کر دیتے ہیں؛ پھر بیس URL روٹ ہونا چاہیے، https://api.cheaptokens.dev۔ Anthropic طرز کے کلائنٹس ہمیشہ روٹ ایڈریس استعمال کرتے ہیں۔

400 — ماڈل نہیں ملا#

json
{"error": {"message": "Model \"deepseek-v4-flash\" not found. Available: …", "type": "invalid_request_error", "param": "model"}}

ماڈل ID مکمل ہونا چاہیے، سلیش سے پہلے کا پری فکس بھی شامل: deepseek-ai/DeepSeek-V4-Flash-0731، نہ کہ deepseek-v4-flash۔ اوپر یا نیچے کیس سے فرق نہیں پڑتا۔ خرابی کا پیغام دستیاب IDs کی فہرست دیتا ہے، اور مکمل فہرست ہمیشہ GET /v1/models پر ہوتی ہے۔

خراب درخواست باڈی پر بھی 400 واپس آتا ہے — مثلاً خالی messages ایرے (messages field is required and must be a non-empty array) یا role کے بغیر پیغام۔

413 — درخواست بہت بڑی#

درخواست باڈی 16 MB تک محدود ہے۔ ایجنٹس بڑی فائلیں یا لاگز کانٹیکسٹ میں ڈال کر اس حد تک پہنچ سکتے ہیں۔ صرف وہی حصے بھیجیں جو ماڈل کو درکار ہیں اور طویل ٹول آؤٹ پٹ کو مختصر کریں۔

429 — بہت زیادہ درخواستیں#

اگر 429 موصول ہو، تو رفتار کم کریں۔ جواب میں Retry-After ہیڈر شامل ہوتا ہے جس میں انتظار کے سیکنڈز کی تعداد ہوتی ہے۔ سرکاری OpenAI SDKs خودکار طور پر دوبارہ کوشش کرتے ہیں (max_retries)؛ اپنے کوڈ میں اگلی کوشش سے پہلے Retry-After تک انتظار کریں۔

503 — ماڈل عارضی طور پر دستیاب نہیں#

کوئی ماڈل عارضی طور پر دستیاب نہیں ہو سکتا؛ پھر API model_unavailable ٹائپ کے ساتھ 503 جواب دیتا ہے، اور سائٹ پر ماڈل کارڈ "temporarily unavailable" دکھاتا ہے۔ بعد میں دوبارہ کوشش کریں یا model فیلڈ کو کسی دوسرے ماڈل پر بدل دیں — کلید اور ایڈریس وہی رہتے ہیں۔

طویل انتظار اور ٹائم آؤٹ#

zai-org/GLM-5.3-Flash جیسے ریزننگ ماڈلز جواب دینے سے پہلے سوچتے ہیں، اس لیے پہلا ٹوکن آنے میں وقت لگ سکتا ہے۔ streaming استعمال کریں یا کلائنٹ ٹائم آؤٹ بڑھائیں — مثلاً OpenAI SDK میں timeout=120۔