مواد پر جائیں
API گائیڈ

غلطیاں

Markdown کے طور پر دیکھیں اپ ڈیٹ کیا گیا

ہر اینڈ پوائنٹ ایک ہی طریقے سے ناکام ہوتا ہے: ایک HTTP اسٹیٹس اور ایک JSON لفافہ۔

JSON
{
  "error": {
    "type": "invalid_request",
    "code": "invalid_input",
    "message": "duration must be one of 5, 10.",
    "param": "duration",
    "details": [ { "param": "duration", "message": "duration must be one of 5, 10." } ],
    "request_id": null,
    "doc_url": "https://doitong.com/developers/docs/errors#invalid_input"
  }
}
فیلڈ مطلب
type خرابی کی وسیع قسم۔ اسی کی بنیاد پر طے کریں کہ کیا کرنا ہے۔
code درست وجہ، مستقل اور مشین کے ذریعے پڑھنے کے قابل۔ ہر کوڈ کا ایک سیکشن نیچے ہے؛ doc_url اس تک لے جاتا ہے۔
message انسان کے پڑھنے کے قابل وضاحت، جسے لاگ یا ڈیولپر کو دکھانا محفوظ ہے۔
param خرابی والا ان پٹ پیرامیٹر یا ہیڈر، اگر کوئی ہو۔
details ان پٹ کی خرابیوں کے لیے ملنے والا ہر مسئلہ: [{ "param", "message" }]۔
request_id متعلقہ درخواست، اگر موجود ہو۔

جو کال خرابی واپس کرتی ہے اس پر کچھ وصول نہیں کیا جاتا۔ جو درخواست قبول کیے جانے کے بعد ناکام ہو، اس کا اسٹیٹس failed رہتا ہے، درخواست آبجیکٹ میں error: { "type", "code", "message" } شامل ہوتا ہے، اور رقم خودکار طور پر واپس کر دی جاتی ہے۔

اقسام

قسم HTTP اسٹیٹس کیا کریں
invalid_request 400, 413 یا 422 درخواست درست کریں۔ اسی کال کو دوبارہ بھیجنے پر پھر ناکامی ہوگی۔
authentication_error 401 Authorization: Bearer <key> میں ایک درست کلید بھیجیں۔
permission_error 403 مطلوبہ scope والی کلید استعمال کریں۔
not_found 404 ماڈل id یا درخواست id چیک کریں۔
insufficient_credits 402 API بیلنس کا ٹاپ اَپ کریں (خرابی میں top_up_url)۔
budget_exceeded 402 کلید کا اپنا بجٹ ختم ہو چکا ہے۔ آخری حل: کلید کے مالک سے اسے بڑھانے کو کہیں۔
conflict 409 وسیلہ ایسی حالت میں نہیں جس میں یہ کال کی جا سکے۔
rate_limited 429 Retry-After سیکنڈ انتظار کریں، پھر دوبارہ کوشش کریں۔
upstream_error 502 ماڈل کا بیک اینڈ ناکام ہو گیا۔ اسی Idempotency-Key کے ساتھ دوبارہ کوشش کرنا محفوظ ہے: یہ دوبارہ چلے گا؛ آپ سے رقم وصول نہیں کی گئی۔
service_unavailable 503 API موقوف ہے یا کوئی انحصار دستیاب نہیں۔ بعد میں دوبارہ کوشش کریں۔
internal_error 500 ہماری خرابی۔ دوبارہ کوشش کریں؛ برقرار رہے تو وقت اور request_id کے ساتھ سپورٹ سے رابطہ کریں۔

کوڈز

invalid_request

عمومی طور پر غلط تشکیل دی گئی درخواست (400)۔

invalid_json

باڈی درست JSON نہیں ہے (400)۔

invalid_body

باڈی درست JSON ہے لیکن آبجیکٹ نہیں؛ ماڈل ان پٹ ایک JSON آبجیکٹ ہونا چاہیے (400)۔

body_too_large

باڈی 16 MB سے بڑی ہے (413)۔ بڑی فائلیں اپ لوڈ کریں اور اس کے بجائے ان کا URL بھیجیں (دیکھیں فائلیں)۔

invalid_parameter

کسی query پیرامیٹر کی قدر غلط ہے، مثلاً limit کی قدر 1 سے 100 کے باہر ہو، wait عدد نہ ہو، نامعلوم status یا category ہو، یا storage کی قدر permanent / temporary کے علاوہ ہو (400)۔ param اس کا نام بتاتا ہے۔

invalid_category

GET /openapi.json?category= ایسی category کا نام دیتا ہے جو موجود نہیں (400)۔ GET https://api.doitong.ru/v1/categories ان کی فہرست دیتا ہے۔

invalid_cursor

فہرست کی کال کا cursor اس فہرست سے متعلق نہیں (400)۔ cursor کے بغیر دوبارہ شروع کریں۔

invalid_idempotency_key

Idempotency-Key ہیڈر خالی ہے یا 255 حروف سے زیادہ طویل ہے (400)۔

invalid_arguments

MCP ٹول کال میں کوئی آرگیومنٹ موجود نہیں یا اس کی تشکیل غلط ہے (صرف MCP)۔ param آرگیومنٹ کا نام بتاتا ہے۔

invalid_input

ماڈل ان پٹ توثیق میں کامیاب نہیں ہوتا (422): نامعلوم پیرامیٹر (پیغام قریب ترین درست نام تجویز کرتا ہے)، مطلوبہ پیرامیٹر غائب، غلط قسم، مجاز فہرست یا حد سے باہر قدر، یا مختلف قدروں کے ساتھ canonical اور native نام دونوں دیے گئے ہیں۔ param پہلی خلاف ورزی کرنے والے پیرامیٹر کا نام ہے اور details ان سب کی فہرست دیتا ہے۔ کچھ وصول نہیں کیا جاتا۔

unsupported_file

فائل کی قسم قابل قبول نہیں (422)، مثلاً غیر معاون extension والی اپ لوڈ، یا ایسا content_type جو extension سے مطابقت نہیں رکھتا۔

invalid_webhook_url

webhook_url عوامی https:// URL نہیں ہے (422)۔ نجی، مقامی اور سادہ http:// پتے مسترد کیے جاتے ہیں۔

missing_api_key

اینڈ پوائنٹ کو API کلید درکار ہے مگر کوئی کلید نہیں بھیجی گئی (401)۔

invalid_api_key

کلید نامعلوم، منسوخ شدہ یا زائد المیعاد ہے (401)۔

insufficient_scope

کلید میں اس کال کے لیے درکار scope موجود نہیں (403)، مثلاً run کے لیے models:run، یا درخواستیں اور بیلنس پڑھنے کے لیے models:read۔ تصدیق دیکھیں۔

account_disabled

اکاؤنٹ بند یا معطل ہے (403)۔ اس کی کلیدیں اب کام نہیں کرتیں۔

not_found

یہ path موجود نہیں (404)۔

model_not_found

اس id والا کوئی عوامی ماڈل موجود نہیں (404)۔ GET https://api.doitong.ru/v1/models سے ماڈلز کی فہرست حاصل کریں۔

request_not_found

آپ کے اکاؤنٹ میں اس id والی کوئی درخواست موجود نہیں (404)۔ دوسرے اکاؤنٹس کی درخواستیں کبھی دکھائی نہیں دیتیں۔

insufficient_credits

اکاؤنٹ کا API بیلنس (API کریڈٹس، 1,000 API کریڈٹس = ⁨$1⁩ — Doitong ایپس کے کریڈٹس نہیں) اس کال کی قیمت پوری نہیں کرتا (402)۔ کسی بھی رقم کی کٹوتی سے پہلے جواب بھیج دیا جاتا ہے۔ خرابی میں top_up_url شامل ہوتا ہے؛ https://doitong.ru/developers/dashboard#balance پر رقم شامل کریں اور دوبارہ کوشش کریں۔

JSON
{ "error": { "type": "insufficient_credits", "code": "insufficient_credits",
             "message": "This request costs 560 API credits ($0.56); the API balance is 120 API credits ($0.12). Top up at https://doitong.ru/developers/dashboard#balance",
             "top_up_url": "https://doitong.ru/developers/dashboard#balance", "doc_url": "https://doitong.com/developers/docs/errors#insufficient_credits" } }

budget_exceeded

یہ کال API کریڈٹس میں API کلید کے اپنے بجٹ سے تجاوز کر جائے گی (402)۔ بجٹ کلید کا مالک مقرر کرتا ہے؛ جب تک وہ اسے بڑھائے، دوبارہ کوشش کرنا مفید نہیں۔

conflict

کال وسیلے کی موجودہ حالت سے متصادم ہے (409)۔

idempotency_mismatch

Idempotency-Key پہلے ہی مختلف باڈی کے ساتھ استعمال ہو چکی ہے (409)۔ نئی کارروائی کے لیے نئی کلید استعمال کریں۔

idempotency_in_progress

اسی Idempotency-Key والی درخواست ابھی بنائی جا رہی ہے (409)۔ اسے حاصل کرنے کے لیے کچھ دیر بعد دوبارہ کوشش کریں۔

request_active

درخواست ابھی queued یا running ہے، اس لیے ابھی حذف کرنے کے لیے کوئی فائل نہیں (409)۔ مکمل ہونے کے بعد انہیں حذف کریں۔

not_cancelable

درخواست پہلے ہی succeeded یا failed ہے اور اسے منسوخ نہیں کیا جا سکتا (409)۔

rate_limited

موجودہ ونڈو میں کلید نے بہت زیادہ درخواستیں بھیجی ہیں (429)۔ X-RateLimit-* اور Retry-After ہیڈرز دیکھیں۔

too_many_inflight

اکاؤنٹ میں پہلے ہی 10 درخواستیں queued یا running ہیں (429)۔ ان میں سے ایک مکمل ہو تو اگلی شروع کریں۔

upstream_error

ماڈل کے بیک اینڈ نے درخواست مسترد یا ناکام کر دی (run پر 502، یا درخواست پر اس کوڈ کے ساتھ failed)۔ API کریڈٹس واپس کر دیے جاتے ہیں۔ اگر بیک اینڈ نے خود ان پٹ مسترد کیا ہو تو کال اس کے پیغام کے ساتھ 422 invalid_input واپس کرتی ہے۔

upstream_lost

ماڈل کا بیک اینڈ اب درخواست کو نہیں پہچانتا، اس لیے کوئی نتیجہ کبھی نہیں آئے گا۔ یہ اس کوڈ کے ساتھ failed (type upstream_error) پر ختم ہوتی ہے اور رقم واپس کر دی جاتی ہے۔ اسے دوبارہ چلائیں۔

timeout

درخواست اپنی حد سے زیادہ دیر چلی (تصاویر کے لیے 15 منٹ، ویڈیو کے لیے 60، بصورت دیگر 30) اور روک دی گئی۔ یہ اس کوڈ کے ساتھ failed پر ختم ہوتی ہے اور رقم واپس کر دی جاتی ہے۔

service_unavailable

API عارضی طور پر موقوف ہے، یا فائل اپ لوڈز جیسا کوئی انحصار دستیاب نہیں (503)۔ بعد میں دوبارہ کوشش کریں۔

internal_error

ہماری طرف کچھ خراب ہو گیا (500)۔ دوبارہ کوشش کریں؛ برقرار رہے تو سپورٹ سے رابطہ کریں۔

charge_failed

اندرونی مسئلے کے باعث اکاؤنٹ سے رقم وصول نہیں کی جا سکی (500)۔ درخواست کو failed نشان زد کیا گیا ہے؛ کوئی رقم نہیں کاٹی گئی۔ دوبارہ کوشش کریں۔

pricing_unavailable

ماڈل کی قیمت تشکیل نہیں دی گئی، اس لیے فی الحال اس کی قیمت بتانا یا اسے چلانا ممکن نہیں (500)۔