सभी API errors error field वाली JSON body लौटाते हैं। 4xx response में आम तौर पर request, account या rate-limit सुधारना पड़ता है; 5xx server-side या अस्थायी है, लेकिन retry सुरक्षित है या नहीं यह action पर निर्भर करता है।
| कोड | नाम | अर्थ |
|---|---|---|
| 400 | Bad Request | Validation विफल हुआ क्योंकि required value missing, malformed, unsupported या allowed range से बाहर है। Retry से पहले request ठीक करें। |
| 403 | Forbidden | कुंजी या account को यह action करने की अनुमति नहीं है, जैसे account suspended होने पर। बिना बदलाव retry करने से मदद नहीं मिलेगी। |
| 404 | Not Found | मांगा गया API resource नहीं मिला या इस कुंजी को उपलब्ध नहीं है। Retry से पहले identifier और account ownership जांचें। |
| 409 | Conflict | Request मौजूदा state से टकराती है, जैसे अलग logical order के लिए add request_id दोबारा इस्तेमाल करना। स्थिति के अनुसार original request या नया unique identifier इस्तेमाल करें। |
| 413 | Content Too Large | Request body बहुत बड़ी है। Retry से पहले payload घटाएं या supported batch requests को बांटें। |
| 429 | Too Many Requests | Rate या action limit ने request अस्वीकार की। उपलब्ध होने पर X-RateLimit-DeniedBy देखें और X-RateLimit-Reset में दिए relative seconds तक रुकें। |
| 500 | Internal Server Error | अप्रत्याशित server-side failure हुई। हर write को दोबारा करना सुरक्षित न मानें; नीचे action-specific retry और reconciliation guidance मानें। |
| 502 | Bad Gateway | प्रदाता ने सेवा पूरी करने का अनुरोध अस्वीकार किया। दोबारा प्रयास करने से पहले सेवा की उपलब्धता और अनुरोध का डेटा जाँचें। |
| 503 | Service Unavailable | API या required operation अस्थायी रूप से unavailable है, जिसमें eligible provider उपलब्ध न होना (provider_not_found) भी शामिल है। बाद में backoff के साथ retry करें, मौजूद होने पर Retry-After मानें और action जहां support करता हो वहां वही idempotency identifier रखें। |
{
"error": "Missing required parameter: service"
}एक्शन को एक पैरामीटर की ज़रूरत है जो शामिल नहीं था। इसे रिक्वेस्ट बॉडी में जोड़ें और रिट्राई करें।
{
"error": "Invalid API key"
}गलत की, रिवोक की गई की, या मिसिंग की। जाँचें कि वैल्यू /dashboard/api में दिखाए गए से मेल खाती है। enumeration हमलों को रोकने के लिए मिसिंग और अमान्य के लिए एरर एक-समान है।
{
"error": "Insufficient balance"
}आपका अकाउंट बैलेंस ऑर्डर के कुल चार्ज से कम है। /dashboard/wallet के ज़रिए टॉप अप करें, या एक coupon लागू करें।
{
"error": "Service not found"
}Service ID मौजूद नहीं है। action=services से catalog दोबारा fetch करके current ID चुनें; discontinued services अलग 400 error लौटाती हैं।
{
"error": "Rate limit exceeded"
}Rate या action limit ने request अस्वीकार की। उपलब्ध होने पर X-RateLimit-DeniedBy देखें और X-RateLimit-Reset में दिए relative seconds तक रुकें।
{
"error": "language must be one of en, es, pt, ru, tr, ar, hi, id, fr, zh",
"error_code": "INVALID_LANGUAGE"
}services और catalog केवल en, es, pt, ru, tr, ar, hi, id, fr या zh स्वीकार करते हैं। Retry करने से पहले language value सही करें।
डुप्लिकेट से बचने के लिए उसी request_id और उसी तार्किक अनुरोध के साथ action=add दोबारा चलाएँ; अलग ऑर्डर के लिए नया अद्वितीय मान इस्तेमाल करें। पढ़ने वाले कार्य सुरक्षित रूप से दोहराए जा सकते हैं। ऑर्डर पात्र रहने तक रद्द करने के दोबारा प्रयास सुरक्षित हैं।