curl -X POST https://api.occultapi.com/api/astro/festival/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"keys":["calculate_festivals"],"moon_option":"amavas","year":2025,"date_time":"2025-02-12T08:35:00.795Z","latitude":26.9124,"longitude":75.7873,"timezone_as_float":5.5}'किसी कैलेंडर वर्ष के सारे हिंदू त्योहार, आपकी दी हुई जगह के लिए शुरू से गणना करके, साथ में एकादशियाँ और वे जैन, सिख और ईसाई पर्व, जिनका इंजन हिसाब रखता है। क्षेत्रीय कैलेंडर वाले एंडपॉइंट हर परंपरा के लिए छाँटी हुई सूची देते हैं, जबकि यह पूरा अखिल भारतीय सेट है, और हर त्योहार के साथ उसकी तिथि की सटीक अवधि दी जाती है। वर्ष को दिन-दर-दिन नहीं, तिथि-दर-तिथि देखा जाता है, इसलिए चौबीस घंटे से छोटी तिथि बिना दिखे नहीं छूटती और लंबी तिथि दो बार नहीं गिनी जाती। `moon_option` तय करता है कि चांद्र मासों के नाम कैसे रखे जाएँ: 'poornima' पर सीधे पूर्णिमांत मास लिया जाता है, जबकि बाकी किसी भी वैल्यू पर — ख़ुद 'amavas' पर भी — अमांत मास लेकर उसे बदला जाता है; ज़्यादातर उत्तर भारतीय पंचांग यही छापते हैं। `year`, `date_time` और स्थान भेजें। हर त्योहार के साथ एक तारीख़ नहीं, बल्कि उसकी तिथि का आरंभ और अंत आता है, इसलिए उसे किस कैलेंडर दिन पर दिखाना है, यह आप तय करते हैं। अगर चाहते हैं कि यह फ़ैसला आपके लिए हो जाए, तो कोई क्षेत्रीय कैलेंडर एंडपॉइंट इस्तेमाल करें, जो हर पर्व को उसी दिन पर रखता है जिस दिन वह सच में मनाया जाता है।
| फ़ील्ड | टाइप | ज़रूरी | टिप्पणी |
|---|---|---|---|
| date_time | string (date-time) | ज़रूरी | जिस क्षण की गणना करनी है, ISO 8601 फ़ॉर्मैट में। ऑफ़सेट या अंत में Z हमेशा लगाएँ - बिना ज़ोन वाली वैल्यू UTC नहीं, बल्कि Asia/Kolkata (UTC+05:30) मानी जाती है, और तब 200 के साथ पिछले दिन का नतीजा मिल सकता है। '2026-09-01T06:00:00Z' और '2026-09-01 06:00:00' दो अलग क्षण हैं, और इनके उत्तर भी अलग आते हैं। फ़ॉर्मैट की शर्त। DRF DateTimeField: केवल ISO-8601 (DRF के डिफ़ॉल्ट इनपुट फ़ॉर्मैट), जैसे "2026-09-01T06:00:00+05:30", "2026-09-01T06:00:00Z" या "2026-09-01 06:00:00" (समय क्षेत्र न हो, तो UTC माना जाता है)। |
| keys | array | ज़रूरी | कौन-सी गणनाएँ लौटानी हैं, उनके नामों की सूची। इस एंडपॉइंट की key तालिका देखें; एक भी अनजान नाम हो, तो पूरा अनुरोध अस्वीकार हो जाता है। आप जितनी चाहें keys माँगें, एक कॉल पर एक ही क्रेडिट लगता है, इसलिए कई कॉल करने के बजाय जो कुछ चाहिए, सब एक साथ माँग लें। calculate_festivalsस्ट्रिंग का ऐरे; इसमें केवल एक key है। |
| latitude | number (double) | ज़रूरी | स्थान का अक्षांश, दशमलव अंशों में। उत्तरी अक्षांश धनात्मक होता है, दक्षिणी ऋणात्मक। उदाहरण: जयपुर के लिए 26.9124, न्यूयॉर्क के लिए 40.7128। कला और विकला स्वीकार नहीं की जातीं - पहले दशमलव अंशों में बदल लें। min -89.9 · max 89.9 |
| longitude | number (double) | ज़रूरी | स्थान का देशांतर, दशमलव अंशों में। पूर्वी देशांतर धनात्मक होता है, पश्चिमी ऋणात्मक। उदाहरण: जयपुर के लिए 75.7873, न्यूयॉर्क के लिए -74.0060। चिह्न पर ध्यान दें: माइनस छूट गया, तो न्यूयॉर्क चीन में पहुँच जाएगा। min -180 · max 180 |
| moon_option | string | ज़रूरी | amavaspoornimaकेस-संवेदी, छोटे अक्षरों में। 'poornima' पर सीधे पूर्णिमांत चांद्र मास लिया जाता है; बाकी कोई भी वैल्यू - ख़ुद 'amavas' और कोई भी टाइपो भी - else शाखा में जाती है (अमांत मास को पूर्णिमांत में बदला जाता है), इसलिए गलत वर्तनी चुपचाप 'amavas' जैसा ही नतीजा देती है। आगे इंजन को भेजा जाता है। |
| timezone_as_float | number (double) | ज़रूरी | स्थान का UTC ऑफ़सेट, घंटों में, दशमलव संख्या के रूप में। उदाहरण: भारत के लिए 5.5 (UTC+05:30), सर्दियों में न्यूयॉर्क के लिए -5, नेपाल के लिए 5.75। इसका date_time से मिलान नहीं किया जाता - दोनों में मेल न हो, तब भी उत्तर सफल आएगा, पर गलत क्षण का। इसलिए दोनों एक ही स्रोत से लें। उस तारीख़ को लागू ऑफ़सेट दें, आज का नहीं: डेलाइट सेविंग वाले देश में गर्मियों में हुए जन्म के लिए गर्मियों का ऑफ़सेट चाहिए। min -12 · max 14 |
| year | integer | ज़रूरी | जन्म का वर्ष, संख्या के रूप में, जैसे 1990। चार अंकों में। |
आपको जो गणनाएँ चाहिए, बस उन्हीं के नाम keys में लिखें। कोई एक भी अनजान नाम हुआ तो पूरा अनुरोध लौटा दिया जाता है। आप कितनी भी गणनाएँ माँगें, शुल्क 1 क्रेडिट ही लगता है — इसलिए सब एक साथ माँगें।
| Key | और कौन-से फ़ील्ड चाहिए | विवरण | |
|---|---|---|---|
| calculate_festivals | year | पूरे वर्ष के पर्व, पाँच सूचियों वाले ऑब्जेक्ट में: `festivals`, `ekadashis`, `jain_festivals`, `sikh_festivals` और `christian_festivals`। हर प्रविष्टि में त्योहार का नाम, उसकी तिथि का `start` और `end` UTC टाइमस्टैम्प स्ट्रिंग के रूप में, और चांद्र `month` होता है; एकादशी वाली प्रविष्टियों में `paksha` भी होता है। `year` लेती है। |