curl -X POST https://api.occultapi.com/api/astro/chart/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"chart_name":"NavamsaChart","datetime":"2026-04-09T15:35:00+05:30","longitude":75.76861133842026,"latitude":26.849874414615,"notation":"degree","ayanamsa":"lahiri","ascendant_pos":"cusp","rahu":"true","true_mean":"Mean","refraction":false,"apply_correction":false,"correction_direction":"add","correction_deg":0,"correction_min":0,"correction_sec":0}'कुंडली का मुख्य एंडपॉइंट: किसी क्षण और स्थान के लिए ग्रहों की स्थितियाँ, भाव विभाजन और लग्न। सामान्य जन्म कुंडली के लिए राशि कुंडली (D-1) माँगें, या नाम देकर तीस से ज़्यादा वर्ग कुंडलियों में से कोई भी — नवांश, दशमांश, द्वादशांश, षष्ट्यंश आदि। नामों का ऐरे भेजें, तो एक ही कॉल में कई कुंडलियाँ मिल जाती हैं, जिनकी keys कुंडलियों के नाम होते हैं। हर कुंडली में तीन खंड आते हैं। `celestial` की keys पिंडों के नाम हैं (sun, moon, … northtruenode), और इसमें हर पिंड का भोगांश, शर, नक्षत्र और पद, कक्ष्या, राशि का नाम और भाव संख्या होती है। `houses` की keys 1 से 12 हैं, और हर भाव का `start`, `cusp` और `end` दिया जाता है। `ascendant` में लग्न का अंश और उसकी राशि होती है। `notation` पूरे उत्तर की इकाइयाँ तय करता है: दशमलव अंशों के लिए 'degree', और राशि के साथ अंश, कला, विकला के लिए 'astrological'। बारीकी वैकल्पिक फ़ील्ड में है। `ayanamsa` निरयन की परिभाषा चुनता है, और `apply_correction` के साथ `correction_deg`, `correction_min`, `correction_sec` और `correction_direction` से उसे हाथ से आगे-पीछे किया जा सकता है। `rahu` स्पष्ट पात, मध्यम पात या दोनों चुनता है। `extended_bodies` क्षुद्रग्रह, यूरेनियन काल्पनिक पिंड या ग्रहों के चंद्रमा जोड़ता है; जिनकी एफ़ेमेरिस फ़ाइलें मौजूद नहीं, उन्हें बिना बताए छोड़ देता है। `ascendant_pos` तय करता है कि लग्न भाव के कस्प, आरंभ या अंत पर पढ़ा जाए — ध्यान दें कि 'start' या 'end' के सिवा कोई भी वैल्यू, टाइपो भी, बिना कोई त्रुटि दिए कस्प पर लौट आती है। इस एंडपॉइंट पर तारीख़ वाले फ़ील्ड का नाम `datetime` है, `date_time` नहीं। SVG रेंडरिंग, चाहें तो। render को 'svg' सेट करें, तो उत्तर में दो फ़ील्ड और जुड़ जाते हैं, ऊपर के चारों की जगह नहीं, उनके साथ: `layout` ज्यामिति है — हर भाव या राशि सेल के बहुभुज के बिंदु, लेबल की जगह, और उसमें कौन-से पिंड हैं — ताकि आप React, Canvas, Flutter या SwiftUI में अपना डायग्राम ख़ुद बना सकें। `svg` उसी ज्यामिति से बना, सीधे लगाने लायक मार्कअप है। chart_style से उत्तर भारतीय (हीरे का आकार, स्थिर भाव, घूमती राशियाँ) या दक्षिण भारतीय (स्थिर राशियों का ग्रिड, घूमते भाव) शैली चुनी जाती है; svg_size, theme, label_style, show_degrees और चारों *_color फ़ील्ड से रेंडरिंग तय होती है। ये सारे फ़ील्ड डिफ़ॉल्ट रूप से बंद हैं, इसलिए जिस अनुरोध में render का ज़िक्र नहीं, उस पर कोई असर नहीं पड़ता — उत्तर ठीक वैसा ही रहता है जैसा हमेशा से था।
| फ़ील्ड | टाइप | ज़रूरी | टिप्पणी |
|---|---|---|---|
| ascendant_pos | string | ज़रूरी | cuspstartend'start' पर भाव का आरंभ और 'end' पर भाव का अंत लिया जाता है; बाकी कोई भी वैल्यू - ख़ुद 'cusp' और कोई भी टाइपो भी - else शाखा में चली जाती है और भाव कस्प लिया जाता है। यानी असली डिफ़ॉल्ट 'cusp' है, और गलत वर्तनी पर त्रुटि नहीं आती, बस चुपचाप कस्प मान लिया जाता है। केस-संवेदी। |
| ayanamsa | string | ज़रूरी | FAGAN_BRADLEYLAHIRIDELUCERAMANUSHASHASHIKRISHNAMURTIDJWHAL_KHULYUKTESHWARJN_BHASINBABYL_KUGLER1BABYL_KUGLER2BABYL_KUGLER3केस-असंवेदी - लुकअप के लिए name.upper इस्तेमाल होता है। /api/astro/ayanamsa_value/ से अलग, यहाँ 'USER' अस्वीकार नहीं होता। अनजान वैल्यू पर 400 "Undefined ayanamsa: <name>" मिलता है। ध्यान दें कि apply_correction=true होने पर यह चुनाव रद्द हो जाता है और अंदर का मोड USER पर चला जाता है। |
| chart_name | string | ज़रूरी | BhavaChartRashiChartHoraChartJagannathHoraChartParivrittidwayaHoraChartParivrittitrayaDrekkanaChartDrekkanaChartSomnathDrekkanaChartJagannathDrekkanaChartChaturthamsaChartPanchamsaChartShashthamsaChartकेस-संवेदी, और वर्तनी ठीक वैसी ही जैसी सूची में है। एक नाम भेजें, या एक ही कॉल में कई कुंडलियाँ चाहिए तो नामों का ऐरे - तब उत्तर की keys कुंडलियों के नाम होती हैं। अनजान नाम पर 400 मिलता है। |
| datetime | string (date-time) | ज़रूरी | जिस क्षण की गणना करनी है, ISO 8601 फ़ॉर्मैट में। ऑफ़सेट या अंत में Z हमेशा लगाएँ - बिना ज़ोन वाली वैल्यू UTC नहीं, बल्कि Asia/Kolkata (UTC+05:30) मानी जाती है। इसका अर्थ date_time जैसा ही है; दूसरे एंडपॉइंट इसी चीज़ को दूसरे नाम से लेते हैं। यह फ़ॉर्मैट की शर्त है, enum नहीं। DRF DateTimeField: केवल ISO-8601 (DRF के डिफ़ॉल्ट इनपुट फ़ॉर्मैट), जैसे "2026-09-01T06:00:00+05:30", "2026-09-01T06:00:00Z" या "2026-09-01 06:00:00" (समय क्षेत्र न हो, तो UTC माना जाता है)। ध्यान दें कि इस एंडपॉइंट पर फ़ील्ड का नाम `datetime` है, `date_time` नहीं। |
| latitude | number (double) | ज़रूरी | स्थान का अक्षांश, दशमलव अंशों में। उत्तरी अक्षांश धनात्मक होता है, दक्षिणी ऋणात्मक। उदाहरण: जयपुर के लिए 26.9124, न्यूयॉर्क के लिए 40.7128। कला और विकला स्वीकार नहीं की जातीं - पहले दशमलव अंशों में बदल लें। min -180 · max 180 |
| longitude | number (double) | ज़रूरी | स्थान का देशांतर, दशमलव अंशों में। पूर्वी देशांतर धनात्मक होता है, पश्चिमी ऋणात्मक। उदाहरण: जयपुर के लिए 75.7873, न्यूयॉर्क के लिए -74.0060। चिह्न पर ध्यान दें: माइनस छूट गया, तो न्यूयॉर्क चीन में पहुँच जाएगा। min -180 · max 180 |
| notation | string | ज़रूरी | astrologicaldegreeकेस-संवेदी, छोटे अक्षरों में। 'astrological' पर राशि/अंश/कला/विकला अलग-अलग मिलते हैं; 'degree' पर कच्चे दशमलव अंश। कुछ और भेजने पर 400 "Invalid notation: <x>" मिलता है। |
| aberration | boolean | वैकल्पिक | |
| apply_correction | boolean | वैकल्पिक | |
| background_color | string | वैकल्पिक | SVG की पृष्ठभूमि का हेक्स रंग। |
| chart_style | string | वैकल्पिक | render='svg' होने पर चार्ट की शैली। 'north' हीरे के आकार वाला लेआउट है, जिसमें भाव अपनी जगह रहते हैं और राशियाँ घूमती हैं; 'south' ग्रिड वाला लेआउट है, जिसमें राशियाँ अपनी जगह रहती हैं और भाव घूमते हैं। northsouth |
| correction_deg | integer | वैकल्पिक | min 0 |
| correction_direction | string | वैकल्पिक | addsubtractडिफ़ॉल्ट 'add'। इसका असर तभी होता है, जब apply_correction=true हो और correction_deg/min/sec में से कम से कम एक शून्य न हो। |
| correction_min | integer | वैकल्पिक | min 0 · max 59 |
| correction_sec | integer | वैकल्पिक | min 0 · max 59 |
| extended_bodies | array | वैकल्पिक | किन पिंड-समूहों को शामिल करना है: 'asteroids', 'planetary_moons', 'fictitious_bodies'। asteroidsplanetary_moonsfictitious_bodiesस्ट्रिंग का ऐरे, डिफ़ॉल्ट []। 'asteroids' से chiron, pholus, ceres, pallas, juno, vesta जुड़ते हैं; 'fictitious_bodies' से cupido, hades, zeus, kronos, apollon, admetos, vulkanus, poseidon, selena; 'planetary_moons' से phobos, deimos, io, europa, ganymede, callisto, titan, triton, charon। जिन पिंडों की एफ़ेमेरिस फ़ाइलें मौजूद नहीं, वे उत्तर से बिना बताए हटा दिए जाते हैं। |
| label_style | string | वैकल्पिक | ग्रहों के लेबल किस रूप में हों: 'english' (Su, Mo, ...), 'sanskrit' (Surya, Chandra, ...) या 'symbol' (☉, ☽, ...)। englishsanskritsymbol |
| line_color | string | वैकल्पिक | चार्ट की ग्रिड रेखाओं का हेक्स रंग। |
| nutation | boolean | वैकल्पिक | |
| planet_color | string | वैकल्पिक | ग्रहों के लेबल का हेक्स रंग, जैसे '#111827'। डिफ़ॉल्ट रूप से थीम का अपना रंग। |
| rahu | string | वैकल्पिक | कौन-सा पात शामिल करना है। 'true' देने पर केवल स्पष्ट पात, 'mean' पर केवल मध्यम पात, और 'both' पर दोनों मिलते हैं। truemeanbothडिफ़ॉल्ट 'true'। 'true' पर केवल स्पष्ट पात, 'mean' पर केवल मध्यम पात, और 'both' पर चारों मिलते हैं। |
| refraction | boolean | वैकल्पिक | |
| render | string | वैकल्पिक | 'svg' दें, तो साथ में रेंडर किया हुआ चार्ट डायग्राम (chart_style देखें) और उसकी ज्यामिति भी मिलती है। इसे न भेजें, तो उत्तर में कोई बदलाव नहीं होता। nonesvg |
| show_degrees | boolean | वैकल्पिक | हर पिंड के लेबल के पास, उसकी राशि में उसका अंश भी दिखाएँ। |
| sign_color | string | वैकल्पिक | राशि संख्याओं/संक्षिप्त नामों का हेक्स रंग। |
| svg_size | integer | वैकल्पिक | वर्गाकार SVG viewBox की चौड़ाई और ऊँचाई, पिक्सेल में। min 100 · max 2000 |
| theme | string | वैकल्पिक | lightdark |
| true_mean | string | वैकल्पिक | TrueMeanकेस-संवेदी, पहला अक्षर बड़ा। डिफ़ॉल्ट 'Mean'। ग्रहों की वास्तविक या मध्यम स्थिति में से एक चुनता है (वास्तविक, यानी दृश्य नहीं)। |
| use_28_nakshatras | boolean | वैकल्पिक |