एरर और रीट्राई
एरर JSON के रूप में लौटाए जाते हैं, एक स्थिर मशीन-पठनीय error कोड और मिलते-जुलते HTTP स्टेटस के साथ।
{ "error": "rate_limited", "message": "Too many requests.", "retry_after_ms": 850}एरर कोड
Section titled “एरर कोड”| HTTP | error | रीट्राई? | टिप्पणियाँ |
|---|---|---|---|
| 400 | invalid_request | नहीं | एक पैरामीटर सत्यापन में विफल रहा — अनुरोध ठीक करें। |
| 401 | missing_api_key / unknown_api_key | नहीं | देखें प्रमाणीकरण। |
| 403 | inactive_api_key / account_blocked | नहीं | कुंजी अक्षम या खाता निलंबित। |
| 402 | insufficient_credits | नहीं | टॉप अप करें। बॉडी में required और balance शामिल हैं। |
| 429 | rate_limited | हाँ, retry_after_ms के बाद | आपने अपनी प्रति-मिनट सीमा पार कर ली। |
| 409 | request_in_progress | हाँ | एक समरूप idempotent अनुरोध अभी भी चल रहा है। |
| 422 | (idempotency conflict) | नहीं | एक Idempotency-Key को अलग बॉडी के साथ दोबारा इस्तेमाल किया गया। |
| 503 | service_temporarily_unavailable / too_many_concurrent_requests | हाँ, बैकऑफ़ के साथ | अस्थायी क्षमता सीमा। |
| 504 | result_timeout | हाँ | अपस्ट्रीम फ़ेच ने deadline_ms पार कर लिया। |
रीट्राई मार्गदर्शन
Section titled “रीट्राई मार्गदर्शन”- 429 / 503 / 504 / 409 को एक्सपोनेंशियल बैकऑफ़ के साथ रीट्राई करें। जब
retry_after_msमौजूद हो, तो रीट्राई करने से पहले कम से कम उतनी देर प्रतीक्षा करें। - 400 / 401 / 402 / 403 को कभी रीट्राई न करें — जब तक आप इसे बदल नहीं देते, अनुरोध सफल नहीं होगा।
- आधिकारिक SDK पहले से ही अस्थायी एरर को आपके लिए रीट्राई करते हैं (डिफ़ॉल्ट 2 रीट्राई) और एरर पर एक
retryableफ़्लैग प्रदान करते हैं।