# सामान्य त्रुटियाँ

पेज 30 दिनों में प्रोड पर स्टेटस के वितरण से बना है। जहाँ हम कुछ नहीं मापते, वही लिखा है।

<Aside type="note">
हम त्रुटि कोड **नहीं** अनुरोध लॉग में लिखते, केवल HTTP-स्टेटस। इसलिए नीचे स्टेटस की आवृत्तियाँ हैं, लेकिन `INVALID_FIELD` जैसे कोड की रेटिंग नहीं है। हमने इसे बनाकर नहीं जोड़ा।
</Aside>

## पथ त्रुटियाँ

लॉग में सबसे आम 4xx `404` है, और लगभग सभी तेरे नहीं हैं: ये स्कैनर हैं जो `.env`, `.git/config`, `wordpress/`, `wp-content/…` को स्कैन करते हैं। इंटीग्रेटर्स की वास्तविक पथ त्रुटियाँ अलग हैं, और वे यहाँ उदाहरणों के साथ पहले ही वर्णित हैं: [सबसे अक्सर देखी गई त्रुटिपूर्ण कॉल्स](/api-conventions/#помилкові-виклики-які-ми-бачимо-найчастіше). संक्षेप में: `/api/…` की जगह `/v1/…`, दोहरा `/v1/v1/…`, `/swagger.json` की जगह `/v1/openapi.json`।

## `402`: टैरिफ इस एंडपॉइंट को शामिल नहीं करता

30 दिनों में 385 प्रतिक्रियाएँ। वितरण दिखाता है कि मुफ्त टैरिफ सबसे अधिक कहाँ अटकता है:

| एंडपॉइंट | `402` 30 दिनों में |
|---|---|
| `chart` | 114 |
| `transit-calendar` | 101 |
| `vedic/dashas/vimshottari/maha` | 48 |
| `ingresses` | 25 |
| `planetary-hours` | 24 |
| `vedic/panchang/full` | 24 |
| `eclipses` | 13 |

जवाब के बॉडी में `current_plan` और `upgrade_to` आते हैं। यह अनुरोध त्रुटि नहीं है: बॉडी सही है, कुंजी वैध है, बस टैरिफ इस एंडपॉइंट को शामिल नहीं करता।

## `429`: दो अलग-अलग लिमिट

30 दिनों में 6 791 प्रतिक्रियाएँ, जिनमें 3 769 बिना कुंजी के और 3 022 कुंजी के साथ। ये दो अलग-अलग मैकेनिज़्म हैं, और इन्हें मिलाना नहीं चाहिए:

- **बिना कुंजी** लिमिट IP के आधार पर गिना जाता है, प्रति घंटे 30 अनुरोध। हमारे लॉग में सबसे बड़ा ब्लॉक यहाँ इंटीग्रेटर्स नहीं, बल्कि 15 पते वाले सिंथेटिक ऑडिट Chrome-Lighthouse है;
- **कुंजी के साथ** लिमिट आपके टैरिफ का RPM है। जवाब में `Retry-After` सेकंड में है, और उसी का इंतजार करना चाहिए, तुरंत रीट्राय नहीं करना चाहिए।

## `400`: लगभग हमेशा कार्ड अनुरोध का बॉडी

30 दिनों में 700 प्रतिक्रियाएँ, और वे उन एंडपॉइंट्स पर केंद्रित हैं जो तिथि, समय और निर्देशांक लेते हैं: `chart` (111), `horoscope/daily` (19), `transits` (18), `synastry` (15), `rectification` (15).

इनमें सबसे महंगी त्रुटि वह नहीं है जो `400` देती है, बल्कि वह जो कभी `200` देती थी: फ़ील्ड के छोटे लेखन। नियम और जवाब का उदाहरण: [फ़ील्ड फ़ॉर्मेट](/agent-setup/field-formats/)।

## `401` और `403`

`401` का मतलब है गायब या गलत कुंजी; संदेश दोनों क्लासेज़ को नाम देता है, `aw_` और `pk_`। `403` का मतलब है ओरिजिन: ब्राउज़र कुंजी `pk_` अस्वीकार हो जाती है अगर अनुरोध बिना ओरिजिन के या किसी दूसरे डोमेन से आया हो, और एंडपॉइंट्स के क्षेत्र वाली कुंजी `ENDPOINT_NOT_IN_SCOPE` देती है और `details` में अपनी सूची बताती है।

कोड की पूरी तालिका: [त्रुटियाँ](/errors/).
