# पिटफ़ॉल्स

इसमें से कुछ भी गलती नहीं है। यह वह व्यवहार है, जिसके बारे में दूसरों के जवाब को तोड़ने की बजाय दस्तावेज़ीकरण से बेहतर पता चलता है।

## जवाब में एक अतिरिक्त फ़ील्ड `_footer` है

फ़्री टैरिफ और **कोई भी** बिना कुंजी के कॉल बॉडी में अतिरिक्त फ़ील्ड `_footer` सिग्नेचर के साथ प्राप्त करता है। पेड कुंजियों को यह नहीं दिखता। अगर तेरा पार्सर अतिरिक्त फ़ील्ड्स के प्रति सख्त है, तो यह पहला चीज़ है जिस पर वह अटक जाएगा।

## एक ही कॉल दोबारा करने पर लागत शून्य है

कैश विंडो के दौरान समान अनुरोध `X-Cache: HIT` लौटाता है, और ऐसा कॉल **क्रेडिट नहीं घटाता**: जवाब में `X-Credits-Used: 0`, और शेष वापस आ जाता है। यानी एक ही अनुरोध को बार‑बार चलाकर लागत मापना संभव नहीं है: एक बार ही भुगतान करना पड़ेगा।

## Sandbox कुंजी कुछ भी खर्च नहीं करती

`aw_test_*` बिल्कुल भी क्रेडिट नहीं घटाता और अकाउंट की सीमा में नहीं आता। यह कोई «छोटी कोटा» नहीं, यह शून्य है। विकास के लिए इसे ही इस्तेमाल करो, और `aw_live_*` तभी लो जब बिलिंग की जाँच कर रहे हो।

## अपरिचित फ़ील्ड्स चुपचाप पास हो जाते हैं

बॉडी अतिरिक्त कुंजियों को स्वीकार करता है और उन्हें अनदेखा कर देता है। केवल स्पष्ट रूप से अस्वीकृत छोटे शॉर्टहैंड्स (`lat`, `tz` और बाकी, देखो [फ़ील्ड फ़ॉर्मेट्स](/agent-setup/field-formats/)) को छोड़कर। इसलिए फ़ील्ड नाम में टाइपो आमतौर पर दिखता नहीं है: तू `200` प्राप्त करेगा और एक मानचित्र, जो तेरे पैरामीटर के बिना गणना किया गया है।

<Aside type="caution">
इस प्रकार का सबसे महंगा मामला: `city` एक पता जैसा दिखता है, लेकिन कुछ भी जियोकोड नहीं करता। बिना `latitude` और `longitude` के मानचित्र नहीं होगा।
</Aside>

## ध्रुवीय वृत्त के ऊपर हाउस सिस्टम बदल जाता है

क्वाड्रेंट सिस्टम्स के लिए जब `|latitude| > 66.5°` हो तो Swiss Ephemeris चुपचाप Porphyry देता है। हम इसे छुपाते नहीं हैं: जवाब में फ़ील्ड `warning` दिखाई देता है। Whole Sign और Equal किसी भी अक्षांश पर काम करते हैं।

संबंधित केस हमने रिफ़्यूज़ के साथ बंद कर दिया: अज्ञात कोड `houseSystem` अब Placidus को किसी और नाम से नहीं देता, बल्कि `400` लौटाता है।

## कुंजी के तीन स्वतंत्र सीमाएँ हैं

ब्राउज़र कुंजी `pk_` और सीक्रेट `aw_` एक साथ तीन प्रतिबंध रख सकते हैं, और वे एक-दूसरे को बदलते नहीं हैं:

| सीमा | क्या कहता है | अस्वीकार |
|---|---|---|
| डोमेन सूची | कहाँ से कॉल किया जा सकता है | `403 ORIGIN_REQUIRED` / `ORIGIN_NOT_ALLOWED` |
| `credits_cap_cycle` | यह कुंजी कितना खर्च कर सकती है | `429 KEY_BUDGET_EXHAUSTED` |
| `allowed_endpoints` | क्या विशेष रूप से कॉल किया जा सकता है | `403 ENDPOINT_NOT_IN_SCOPE` |

एंडपॉइंट क्षेत्र **नहीं** सर्विस रीड को मुक्त करता: कुंजी, जो `embed/*` तक सीमित है, अपनी खुद की स्टैटिस्टिक्स भी नहीं पढ़ेगी। यह जानबूझकर है, विवरण [प्रमाणीकरण](/authentication/) में।

## कुंजी में बदलाव अगले अनुरोध से प्रभावी होता है

कुंजियों को 60 सेकंड के लिए कैश किया जाता है, लेकिन `PATCH /v1/keys/{id}` के माध्यम से कोई भी बदलाव तुरंत कैश को रीसेट कर देता है। एक मिनट इंतजार करने की ज़रूरत नहीं।
