त्रुटियाँ
हर एंडपॉइंट एक ही तरह विफल होता है: एक HTTP स्थिति और एक 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 | आवश्यक स्कोप वाली कुंजी का उपयोग करें। |
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
किसी क्वेरी पैरामीटर का मान गलत है, जैसे limit का 1 से 100 के बाहर होना, wait का संख्या न होना, अज्ञात
status या category, या storage का permanent / temporary के अलावा कुछ होना (400)। param उसका नाम बताता है।
invalid_category
GET /openapi.json?category= में ऐसी श्रेणी दी गई है जो मौजूद नहीं है (400)। GET https://api.doitong.com/v1/categories उन्हें सूचीबद्ध करता है।
invalid_cursor
सूची कॉल का cursor इस सूची से संबंधित नहीं है (400)। बिना कर्सर के फिर से शुरू करें।
invalid_idempotency_key
Idempotency-Key हेडर खाली है या 255 वर्णों से लंबा है (400)।
invalid_arguments
MCP टूल कॉल में कोई आर्ग्युमेंट अनुपस्थित या गलत रूप में है (केवल MCP)। param आर्ग्युमेंट का नाम बताता है।
invalid_input
मॉडल इनपुट सत्यापन में पास नहीं होता (422): अज्ञात पैरामीटर (संदेश निकटतम मान्य नाम सुझाता है),
आवश्यक पैरामीटर अनुपस्थित, गलत प्रकार, अनुमत सूची या सीमा से बाहर का मान, या अलग-अलग मानों के साथ कैनोनिकल और
नेटिव नाम दोनों दिए गए हैं। param पहली गलत पैरामीटर है और details उन सभी की सूची देता है।
कोई शुल्क नहीं लिया जाता।
unsupported_file
किसी फ़ाइल का प्रकार स्वीकार्य नहीं है (422), जैसे असमर्थित एक्सटेंशन वाला अपलोड, या ऐसा content_type
जो एक्सटेंशन से मेल नहीं खाता।
invalid_webhook_url
webhook_url सार्वजनिक https:// URL नहीं है (422)। निजी, स्थानीय और सादे http:// पते अस्वीकार किए जाते हैं।
missing_api_key
एंडपॉइंट को API कुंजी चाहिए, लेकिन कोई भेजी नहीं गई (401)।
invalid_api_key
कुंजी अज्ञात, रद्द या समाप्त हो चुकी है (401)।
insufficient_scope
कुंजी में इस कॉल के लिए आवश्यक स्कोप नहीं है (403), जैसे रन के लिए models:run, या
अनुरोध और शेष राशि पढ़ने के लिए models:read। प्रमाणीकरण देखें।
account_disabled
खाता बंद या निलंबित है (403)। इसकी कुंजियाँ अब काम नहीं करतीं।
not_found
पथ मौजूद नहीं है (404)।
model_not_found
इस id वाला कोई सार्वजनिक मॉडल नहीं है (404)। GET https://api.doitong.com/v1/models से मॉडल सूचीबद्ध करें।
request_not_found
आपके खाते में इस id वाला कोई अनुरोध मौजूद नहीं है (404)। अन्य खातों के अनुरोध कभी दिखाई नहीं देते।
insufficient_credits
खाते की API शेष राशि (API क्रेडिट, 1,000 API क्रेडिट = $1 — Doitong ऐप्स के क्रेडिट नहीं) इस कॉल की
कीमत को कवर नहीं करती (402)। कुछ भी चार्ज किए जाने से पहले प्रतिक्रिया भेजी जाती है। त्रुटि में top_up_url होता है; https://doitong.com/developers/dashboard#balance पर
राशि जोड़ें और दोबारा प्रयास करें।
{ "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.com/developers/dashboard#balance",
"top_up_url": "https://doitong.com/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
मॉडल बैकएंड ने अनुरोध अस्वीकार किया या विफल हुआ (रन पर 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)।