Vedic Astrology and Kundli MCP Server by RoxyAPI
What this MCP does
Calculates and explains Vedic astrology charts, planetary positions, dashas, nakshatras, yogas, doshas, aspects, compatibility, and related reference data.
Tools
Input schema
{'type': 'object', 'examples': [{}], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'system': {'enum': ['baladi', 'jagradadi', 'deeptadi'], 'type': 'string', 'example': 'deeptadi', 'description': 'Return only the states of one system: "baladi" (5), "jagradadi" (3) or "deeptadi" (9). Omit for all 17.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}}}
Input schema
{'type': 'object', 'examples': [{'id': 'dipta'}], 'required': ['id'], 'properties': {'id': {'enum': ['bala', 'kumara', 'yuva', 'vriddha', 'mrita', 'jagrat', 'swapna', 'sushupti', 'dipta', 'svastha', 'pramudita', 'shanta', 'dina', 'duhkhita', 'vikala', 'khala', 'kopa'], 'type': 'string', 'example': 'dipta', 'description': 'Avastha slug. Baladi: bala, kumara, yuva, vriddha, mrita. Jagradadi: jagrat, swapna, sushupti. Deeptadi: dipta, svastha, pramudita, shanta, dina, duhkhita, vikala, khala, kopa.'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}}}
Output schema
{'type': 'object', 'required': ['id', 'name', 'system', 'meaning', 'interpretation'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'system': {'enum': ['baladi', 'jagradadi', 'deeptadi'], 'type': 'string'}, 'meaning': {'type': 'string'}, 'interpretation': {'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{}], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '2025-12-26', 'description': 'Date for ayanamsa calculation in YYYY-MM-DD format. Defaults to today if not provided. Ayanamsa changes by ~0.01 degrees per month due to the precession of Earth.'}, 'time': {'type': 'string', 'format': 'time', 'example': '09:00:00', 'description': 'Time of day in 24-hour HH:MM:SS format, interpreted in the timezone below. Omit for midnight UTC. The ayanamsa moves about 0.14 arcseconds across a day, so supplying the time matters only when reconciling a chart against reference software to the arcsecond.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'timezone': {'type': 'string', 'example': 'Asia/Kolkata', 'description': 'IANA name (e.g. "Asia/Kolkata", "America/New_York"), decimal hours (e.g. 5.5 for IST, -5 for EST), or a fixed UTC offset (e.g. "+05:30"). IANA resolved to the offset in force at the given date and the time field above. Defaults to 0 (UTC).'}}}
Output schema
{'type': 'object', 'required': ['date', 'instant', 'ayanamsa', 'type', 'formula', 'calculated'], 'properties': {'date': {'type': 'string'}, 'type': {'type': 'string'}, 'formula': {'type': 'string'}, 'instant': {'type': 'string'}, 'ayanamsa': {'type': 'number'}, 'calculated': {'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{}], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}}}
Input schema
{'type': 'object', 'examples': [{'id': 'ashwini'}], 'required': ['id'], 'properties': {'id': {'enum': ['ashwini', 'bharani', 'krittika', 'rohini', 'mrigashira', 'ardra', 'punarvasu', 'pushya', 'ashlesha', 'magha', 'purva-phalguni', 'uttara-phalguni', 'hasta', 'chitra', 'swati', 'vishakha', 'anuradha', 'jyeshtha', 'moola', 'purva-ashadha', 'uttara-ashadha', 'shravana', 'dhanishta', 'shatabhisha', 'purva-bhadrapada', 'uttara-bhadrapada', 'revati'], 'type': 'string', 'example': 'ashwini', 'description': 'Nakshatra ID slug. Examples: ashwini, bharani, krittika, rohini, mrigashira, ardra, punarvasu, pushya, ashlesha, magha, etc.'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}}}
Output schema
{'type': 'object', 'required': ['id', 'name', 'number', 'range', 'lord', 'deity', 'symbol', 'characteristics', 'remedies'], 'properties': {'id': {'type': 'string'}, 'lord': {'type': 'string'}, 'name': {'type': 'string'}, 'deity': {'type': 'string'}, 'range': {'type': 'string'}, 'number': {'type': 'number'}, 'symbol': {'type': 'string'}, 'remedies': {'type': 'object', 'required': ['mantras', 'gemstones', 'rituals'], 'properties': {'mantras': {'type': 'string'}, 'rituals': {'type': 'string'}, 'gemstones': {'type': 'string'}}}, 'characteristics': {'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{}], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}}}
Input schema
{'type': 'object', 'examples': [{'id': 'mesha'}], 'required': ['id'], 'properties': {'id': {'enum': ['mesha', 'vrishabha', 'mithun', 'karka', 'simha', 'kanya', 'tula', 'vrischika', 'dhanu', 'makar', 'kumbha', 'meen'], 'type': 'string', 'example': 'mesha', 'description': 'Rashi ID slug. One of: mesha, vrishabha, mithun, karka, simha, kanya, tula, vrischika, dhanu, makar, kumbha, meen.'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}}}
Output schema
{'type': 'object', 'required': ['id', 'name', 'vedicName', 'dateRange', 'symbol', 'energy', 'characteristics'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'energy': {'type': 'string'}, 'symbol': {'type': 'string'}, 'dateRange': {'type': 'string'}, 'vedicName': {'type': 'string'}, 'characteristics': {'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{}], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'family': {'enum': ['classical', 'asraya', 'dala', 'akriti', 'sankhya'], 'type': 'string', 'example': 'akriti', 'description': 'Filter the catalog to one Nabhasa family: asraya (3), dala (2), akriti (20) or sankhya (7). Omit for the full catalog. `classical` is accepted but matches nothing here, because it is a detection-verdict value for single-combination yogas rather than a catalog grouping.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}}}
Output schema
{'type': 'object', 'required': ['yogas', 'total'], 'properties': {'total': {'type': 'number'}, 'yogas': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'family': {'enum': ['classical', 'asraya', 'dala', 'akriti', 'sankhya'], 'type': 'string'}}}}}}
Input schema
{'type': 'object', 'examples': [{'id': 'gajakesari'}], 'required': ['id'], 'properties': {'id': {'enum': ['gajakesari', 'sunapha', 'anapha', 'dhurdhura', 'kemadruma', 'chandramangala', 'adhi', 'chatussagara', 'vasumathi', 'rajalakshana', 'vanchanachorabheethi', 'sakata', 'amala', 'parvata', 'kahala', 'vesi', 'vasi', 'obhayachari', 'hamsa', 'malavya', 'sasa', 'ruchaka', 'bhadra', 'budhaaditya', 'mahabhagya', 'pushkala', 'lakshmi', 'gauri', 'bharathi', 'chapa', 'sreenatha', 'lagnamalika', 'dhanamalika', 'vikramamalika', 'sukhamalika', 'putramalika', 'satrumalika', 'kalatramalika', 'randhramalika', 'bhagyamalika', 'karmamalika', 'labhamalika', 'vrayamalika', 'sankha', 'bheri', 'mridanga', 'parijatha', 'gaja', 'kalanidhi', 'amsavatara', 'hariharabrahma', 'kusuma', 'matsya', 'kurma', 'devendra', 'makuta', 'chandika', 'jaya', 'vidyut', 'gandharva', 'siva', 'vishnu', 'brahma', 'indra', 'ravi', 'garuda', 'go', 'gola', 'thrilochana', 'kulavardhana', 'yupa', 'ishu', 'sakti', 'danda', 'nav', 'kuta', 'chhatra', 'chapa-2', 'ardhachandra', 'chandra', 'gada', 'sakata-2', 'vihaga', 'vajra', 'yava', 'sringhataka', 'hala', 'kamala', 'vapee', 'samudra', 'vallaki', 'damni', 'pasa', 'kedara', 'sula', 'yuga', 'gola-2', 'rajju', 'musala', 'nala', 'srik', 'mala', 'sarpa', 'duryoga', 'daridra', 'harsha', 'sarala', 'vimala', 'sareerasoukhya', 'dehapushti', 'dehakashta', 'rogagrastha', 'krisanga', 'krisanga-2', 'dehasthoulya', 'dehasthoulya-2', 'dehasthoulya-3', 'sadasanchara', 'dhana', 'dhana-2', 'dhana-3', 'dhana-4', 'dhana-5', 'dhana-6', 'dhana-7', 'dhana-8', 'dhana-9', 'dhana-10', 'dhana-11', 'bahudravyarjana', 'swaveeryaddhana', 'swaveeryaddhana-2', 'swaveeryaddhana-3', 'madhyavayasidhana', 'anthyavayasidhana', 'balyadhana', 'bhratrumooladdhanaprapti', 'bhratrumooladdhanaprapti-2', 'matrumooladdhana', 'putramooladdhana', 'satrumooladdhana', 'kalatramooladdhana', 'amarananthadhana', 'ayatnadhanalabha', 'daridra-2', 'daridra-3', 'daridra-4', 'daridra-5', 'daridra-6', 'daridra-7', 'daridra-8', 'daridra-9', 'daridra-10', 'daridra-11', 'yukthisamanwithavagmi', 'yukthisamanwithavagmi-2', 'parihasaka', 'asatyavadi', 'jada', 'bhaskara', 'marud', 'saraswathi', 'budha', 'mooka', 'netranasa', 'andha', 'sumukha', 'sumukha-2', 'durmukha', 'durmukha-2', 'bhojanasoukhya', 'annadana', 'parannabhojana', 'sraddhannabhuktha', 'sarpaganda', 'vakchalana', 'vishaprayoga', 'bhratruvriddhi', 'sodaranasa', 'ekabhagini', 'dwadasasahodara', 'sapthasankhyasahodara', 'parakrama', 'yuddhapraveena', 'yuddhatpoorvadridhachitta', 'yuddhatpaschaddrudha', 'satkathadisravana', 'uttamagriha', 'vichitrasaudhaprakara', 'ayatnagrihaprapta', 'ayatnagrihaprapta-2', 'grihanasa', 'grihanasa-2', 'bandhupujya', 'bandhupujya-2', 'bandhubhisthyaktha', 'matrudeerghayur', 'matrudeerghayur-2', 'matrunasa', 'matrunasa-2', 'matrugami', 'sahodareesangama', 'kapata', 'kapata-2', 'kapata-3', 'nishkapata', 'nishkapata-2', 'matrusatrutwa', 'matrusneha', 'vahana', 'vahana-2', 'anapathya', 'sarpasapa', 'sarpasapa-2', 'sarpasapa-3', 'sarpasapa-4', 'pitrusapasutakshaya', 'matrusapasutakshaya', 'bhratrusapasutakshaya', 'pretasapa', 'bahuputra', 'bahuputra-2', 'dattaputra', 'dattaputra-2', 'aputra', 'ekaputra', 'suputra', 'kalanirdesatputra', 'kalanirdesatputra-2', 'kalanirdesatputranasa', 'kalanirdesatputranasa-2', 'buddhimaturya', 'theevrabuddhi', 'buddhijada', 'thrikalagnana', 'putrasukha', 'jara', 'jarajaputra', 'bahustree', 'satkalatra', 'bhagachumbana', 'bhagya', 'jananatpurvampitrumarana', 'dhatrutwa', 'apakeerti', 'raja', 'raja-2', 'raja-3', 'raja-4', 'raja-5', 'raja-6', 'raja-7', 'raja-8', 'raja-9', 'raja-10', 'raja-11', 'raja-12', 'raja-13', 'raja-14', 'raja-15', 'raja-16', 'raja-17', 'raja-18', 'raja-19', 'galakarna', 'vrana', 'sisnavyadhi', 'kalatrashanda', 'kushtaroga', 'kushtaroga-2', 'kshayaroga', 'bandhana', 'karascheda', 'sirachcheda', 'durmarana', 'yuddhemarana', 'sanghatakamarana', 'sanghatakamarana-2', 'peenasaroga', 'pittaroga', 'vikalangapatni', 'putrakalatraheena', 'bharyasahavyabhichara', 'vamsacheda', 'guhyaroga', 'angaheena', 'swetakushta', 'pisachagrastha', 'andha-2', 'andha-3', 'vatharoga', 'matibhramana', 'matibhramana-2', 'matibhramana-3', 'matibhramana-4', 'khalwata', 'nishturabhashi', 'rajabhrashta', 'raja-20', 'raja-21', 'gohanta'], 'type': 'string', 'example': 'gajakesari', 'description': 'Yoga identifier (lowercase, hyphenated)'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}}}
Output schema
{'type': 'object', 'required': ['id', 'name', 'description', 'result', 'quality'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'family': {'enum': ['classical', 'asraya', 'dala', 'akriti', 'sankhya'], 'type': 'string'}, 'result': {'type': 'string'}, 'quality': {'enum': ['Positive', 'Negative', 'Both'], 'type': 'string'}, 'description': {'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['frame', 'lagnaRashi', 'arudhaLagna', 'upapada', 'padas'], 'properties': {'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'padas': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'abbreviation', 'name', 'house', 'bhavaRashi', 'lord', 'lordRashi', 'rashi', 'houseFromLagna', 'exceptionApplied', 'meaning', 'significations'], 'properties': {'id': {'type': 'string'}, 'lord': {'type': 'string'}, 'name': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'rashi': {'type': 'string'}, 'meaning': {'type': 'string'}, 'lordRashi': {'type': 'string'}, 'bhavaRashi': {'type': 'string'}, 'abbreviation': {'type': 'string'}, 'houseFromLagna': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'significations': {'type': 'string'}, 'exceptionApplied': {'type': 'boolean'}}}}, 'upapada': {'type': 'string'}, 'lagnaRashi': {'type': 'string'}, 'arudhaLagna': {'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['frame', 'bhinnashtakavarga', 'sarvashtakavarga', 'reducedBhinnashtakavarga', 'reducedSarvashtakavarga', 'shodhyaPinda', 'signs'], 'properties': {'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'signs': {'type': 'array', 'items': {'enum': ['Aries', 'Taurus', 'Gemini', 'Cancer', 'Leo', 'Virgo', 'Libra', 'Scorpio', 'Sagittarius', 'Capricorn', 'Aquarius', 'Pisces'], 'type': 'string'}}, 'shodhyaPinda': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'rashiPinda', 'grahaPinda', 'shodhyaPinda'], 'properties': {'planet': {'type': 'string'}, 'grahaPinda': {'type': 'number'}, 'rashiPinda': {'type': 'number'}, 'shodhyaPinda': {'type': 'number'}}}}, 'sarvashtakavarga': {'type': 'object', 'required': ['bindus', 'total'], 'properties': {'total': {'type': 'number'}, 'bindus': {'type': 'array', 'items': {'type': 'number'}}}}, 'bhinnashtakavarga': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'bindus', 'total'], 'properties': {'total': {'type': 'number'}, 'bindus': {'type': 'array', 'items': {'type': 'number'}}, 'planet': {'type': 'string'}}}}, 'reducedSarvashtakavarga': {'type': 'object', 'required': ['bindus', 'total'], 'properties': {'total': {'type': 'number'}, 'bindus': {'type': 'array', 'items': {'type': 'number'}}}}, 'reducedBhinnashtakavarga': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'bindus', 'total'], 'properties': {'total': {'type': 'number'}, 'bindus': {'type': 'array', 'items': {'type': 'number'}}, 'planet': {'type': 'string'}}}}}}
Input schema
{'type': 'object', 'examples': [{'date': '2026-02-03', 'time': '12:00:00', 'latitude': 17.385044, 'longitude': 78.486671}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '2026-02-03', 'description': 'Date in YYYY-MM-DD format. Planetary positions are calculated for this date to determine mutual aspects (drishti).'}, 'time': {'type': 'string', 'format': 'time', 'example': '12:00:00', 'description': 'Time in HH:MM:SS format (24-hour). Exact time affects fast-moving planets (Moon, Mercury) and aspect orbs.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'latitude': {'type': 'number', 'example': 17.385044, 'maximum': 90, 'minimum': -90, 'description': 'Observer latitude in decimal degrees. Used for Lagna calculation which affects house-based aspect analysis.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5 (IST).'}, 'longitude': {'type': 'number', 'example': 78.486671, 'maximum': 180, 'minimum': -180, 'description': 'Observer longitude in decimal degrees. Affects local sidereal time for positional calculations.'}, 'coordinateSystem': {'enum': ['sidereal', 'tropical'], 'type': 'string', 'default': 'sidereal', 'example': 'sidereal', 'description': 'Coordinate system for longitude output. "sidereal" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. "tropical" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to "sidereal".'}}}
Output schema
{'type': 'object', 'required': ['datetime', 'planets', 'aspects', 'aspectTable', 'mutualAspects'], 'properties': {'aspects': {'type': 'array', 'items': {'type': 'object', 'required': ['aspectingPlanet', 'aspectedPlanet', 'aspectType', 'strength', 'orb'], 'properties': {'orb': {'type': 'number'}, 'strength': {'type': 'number'}, 'aspectType': {'enum': ['conjunction', '7th', '4th', '8th', '5th', '9th', '3rd', '10th'], 'type': 'string'}, 'aspectedPlanet': {'type': 'string'}, 'aspectingPlanet': {'type': 'string'}}}}, 'planets': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'longitude', 'sign'], 'properties': {'name': {'type': 'string'}, 'sign': {'type': 'string'}, 'longitude': {'type': 'number'}}}}, 'datetime': {'type': 'string'}, 'aspectTable': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'aspects'], 'properties': {'planet': {'type': 'string'}, 'aspects': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'aspectType', 'strength'], 'properties': {'planet': {'type': 'string'}, 'strength': {'type': 'number'}, 'aspectType': {'type': 'string'}}}}}}}, 'mutualAspects': {'type': 'array', 'items': {'type': 'object', 'required': ['planet1', 'planet2', 'aspectType'], 'properties': {'planet1': {'type': 'string'}, 'planet2': {'type': 'string'}, 'aspectType': {'type': 'string'}}}}}}
Input schema
{'type': 'object', 'examples': [{}], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'year': {'type': 'integer', 'example': 2026, 'maximum': 2649, 'minimum': 1551, 'description': 'Year for monthly analysis (1551 to 2649). Defaults to the current year (UTC).'}, 'month': {'type': 'integer', 'example': 2, 'maximum': 12, 'minimum': 1, 'description': 'Month number (1-12). Defaults to the current month (UTC).'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 0, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved once, at the start of the window, and that offset applies to every time in the response. Output times are converted to this timezone. Defaults to 0 (UTC).'}, 'coordinateSystem': {'enum': ['sidereal', 'tropical'], 'type': 'string', 'default': 'sidereal', 'example': 'sidereal', 'description': 'Coordinate system for longitude output. "sidereal" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. "tropical" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to "sidereal".'}}}
Output schema
{'type': 'object', 'required': ['year', 'month', 'timezone', 'events'], 'properties': {'year': {'type': 'number'}, 'month': {'type': 'number'}, 'events': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'aspect', 'date', 'time', 'datetime', 'orb', 'distance', 'moonLongitude', 'planetLongitude'], 'properties': {'orb': {'type': 'number'}, 'date': {'type': 'string'}, 'time': {'type': 'string'}, 'aspect': {'type': 'string'}, 'planet': {'type': 'string'}, 'datetime': {'type': 'string'}, 'distance': {'type': 'number'}, 'moonLongitude': {'type': 'number'}, 'planetLocalized': {'type': 'string'}, 'planetLongitude': {'type': 'number'}}}}, 'timezone': {'type': 'number'}}}
Input schema
{'type': 'object', 'examples': [{}], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'year': {'type': 'integer', 'example': 2026, 'maximum': 2649, 'minimum': 1551, 'description': 'Year for monthly analysis (1551 to 2649). Defaults to the current year (UTC).'}, 'month': {'type': 'integer', 'example': 2, 'maximum': 12, 'minimum': 1, 'description': 'Month number (1-12). Defaults to the current month (UTC).'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 0, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved once, at the start of the window, and that offset applies to every time in the response. Output times are converted to this timezone. Defaults to 0 (UTC).'}, 'coordinateSystem': {'enum': ['sidereal', 'tropical'], 'type': 'string', 'default': 'sidereal', 'example': 'sidereal', 'description': 'Coordinate system for longitude output. "sidereal" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. "tropical" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to "sidereal".'}}}
Output schema
{'type': 'object', 'required': ['year', 'month', 'timezone', 'events'], 'properties': {'year': {'type': 'number'}, 'month': {'type': 'number'}, 'events': {'type': 'array', 'items': {'type': 'object', 'required': ['planet1', 'planet2', 'aspect', 'date', 'time', 'datetime', 'orb', 'distance', 'planet1Longitude', 'planet2Longitude'], 'properties': {'orb': {'type': 'number'}, 'date': {'type': 'string'}, 'time': {'type': 'string'}, 'aspect': {'type': 'string'}, 'planet1': {'type': 'string'}, 'planet2': {'type': 'string'}, 'datetime': {'type': 'string'}, 'distance': {'type': 'number'}, 'planet1Localized': {'type': 'string'}, 'planet1Longitude': {'type': 'number'}, 'planet2Localized': {'type': 'string'}, 'planet2Longitude': {'type': 'number'}}}}, 'timezone': {'type': 'number'}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'focus': {'enum': ['general', 'finance'], 'type': 'string', 'default': 'general', 'example': 'general', 'description': 'Which signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general".'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['frame', 'houseSystem', 'bhavas', 'houseThemes', 'focus'], 'properties': {'focus': {'enum': ['general', 'finance'], 'type': 'string'}, 'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'bhavas': {'type': 'array', 'items': {'type': 'object', 'required': ['house', 'rashi', 'madhya', 'lord', 'bhavadhipatiBala', 'digBala', 'drishtiBala', 'totalVirupas', 'totalRupas', 'rank'], 'properties': {'lord': {'type': 'string'}, 'rank': {'type': 'number'}, 'house': {'type': 'number'}, 'rashi': {'type': 'string'}, 'madhya': {'type': 'number'}, 'digBala': {'type': 'number'}, 'totalRupas': {'type': 'number'}, 'drishtiBala': {'type': 'number'}, 'totalVirupas': {'type': 'number'}, 'bhavadhipatiBala': {'type': 'number'}}}}, 'houseSystem': {'type': 'string'}, 'houseThemes': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'focus': {'enum': ['general', 'finance'], 'type': 'string', 'default': 'general', 'example': 'general', 'description': 'Which signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general".'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['frame', 'houseSystem', 'ascendant', 'midheaven', 'bhavas', 'grahas', 'movedCount', 'houseThemes', 'focus'], 'properties': {'focus': {'enum': ['general', 'finance'], 'type': 'string'}, 'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'bhavas': {'type': 'array', 'items': {'type': 'object', 'required': ['house', 'start', 'madhya', 'end', 'span', 'rashi', 'grahas'], 'properties': {'end': {'type': 'number'}, 'span': {'type': 'number'}, 'house': {'type': 'number'}, 'rashi': {'type': 'string'}, 'start': {'type': 'number'}, 'grahas': {'type': 'array', 'items': {'type': 'string'}}, 'madhya': {'type': 'number'}}}}, 'grahas': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'longitude', 'rashi', 'bhava', 'rashiHouse', 'moved'], 'properties': {'bhava': {'type': 'number'}, 'graha': {'type': 'string'}, 'moved': {'type': 'boolean'}, 'rashi': {'type': 'string'}, 'longitude': {'type': 'number'}, 'rashiHouse': {'type': 'number'}}}}, 'ascendant': {'type': 'number'}, 'midheaven': {'type': 'number'}, 'movedCount': {'type': 'number'}, 'houseSystem': {'type': 'string'}, 'houseThemes': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'focus': {'enum': ['general', 'finance'], 'type': 'string', 'default': 'general', 'example': 'general', 'description': 'Which signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general".'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'avasthaInfo': {'type': 'boolean', 'default': False, 'example': True, 'description': 'Set true to include a localized meaning and one-sentence classical interpretation beside each graha avastha state, under avasthaInfo on that graha in meta. Defaults to false, so an existing integration is byte-identical until it opts in. Saves a second call to GET /avasthas and the client-side join that would otherwise be needed to turn Yuva or Swapna into readable text.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}, 'modernPlanets': {'type': 'boolean', 'default': False, 'example': True, 'description': 'Set true to also return Uranus, Neptune and Pluto, under the Sanskrit names Arun, Varun and Yam that Indian software prints for them. They arrive in a separate modernPlanets array, NOT inside meta, because classical Jyotish is defined over nine grahas: the moderns rule no sign, so they have no dignity, avastha, combustion or aspect strength and it would be fabrication to report one. Each carries longitude, rashi, degree in sign, nakshatra with pada and lord, and retrograde status. Defaults to false, so an existing integration is byte-identical until it opts in.'}}}
Output schema
{'type': 'object', 'required': ['aries', 'taurus', 'gemini', 'cancer', 'leo', 'virgo', 'libra', 'scorpio', 'sagittarius', 'capricorn', 'aquarius', 'pisces', 'frame', 'houses', 'combustion', 'planetaryWar', 'interpretations', 'meta'], 'properties': {'leo': {'type': 'object', 'required': ['rashi', 'signs'], 'properties': {'rashi': {'type': 'string'}, 'signs': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'longitude', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'awastha': {'enum': ['Bala', 'Kumara', 'Yuva', 'Vriddha', 'Mrita'], 'type': 'string'}, 'deeptadi': {'enum': ['Dipta', 'Svastha', 'Pramudita', 'Shanta', 'Dina', 'Duhkhita', 'Vikala', 'Khala', 'Kopa'], 'type': 'string'}, 'jagradadi': {'enum': ['Jagrat', 'Swapna', 'Sushupti'], 'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'isRetrograde': {'type': 'boolean'}}}}}}, 'meta': {'type': 'object', 'additionalProperties': {'type': 'object', 'required': ['graha', 'rashi', 'longitude', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'rashi': {'type': 'string'}, 'awastha': {'enum': ['Bala', 'Kumara', 'Yuva', 'Vriddha', 'Mrita'], 'type': 'string'}, 'deeptadi': {'enum': ['Dipta', 'Svastha', 'Pramudita', 'Shanta', 'Dina', 'Duhkhita', 'Vikala', 'Khala', 'Kopa'], 'type': 'string'}, 'jagradadi': {'enum': ['Jagrat', 'Swapna', 'Sushupti'], 'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'avasthaInfo': {'type': 'object', 'properties': {'awastha': {'type': 'object', 'required': ['meaning', 'interpretation'], 'properties': {'meaning': {'type': 'string'}, 'interpretation': {'type': 'string'}}}, 'deeptadi': {'type': 'object', 'required': ['meaning', 'interpretation'], 'properties': {'meaning': {'type': 'string'}, 'interpretation': {'type': 'string'}}}, 'jagradadi': {'type': 'object', 'required': ['meaning', 'interpretation'], 'properties': {'meaning': {'type': 'string'}, 'interpretation': {'type': 'string'}}}}}, 'isRetrograde': {'type': 'boolean'}}}}, 'aries': {'type': 'object', 'required': ['rashi', 'signs'], 'properties': {'rashi': {'type': 'string'}, 'signs': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'longitude', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'awastha': {'enum': ['Bala', 'Kumara', 'Yuva', 'Vriddha', 'Mrita'], 'type': 'string'}, 'deeptadi': {'enum': ['Dipta', 'Svastha', 'Pramudita', 'Shanta', 'Dina', 'Duhkhita', 'Vikala', 'Khala', 'Kopa'], 'type': 'string'}, 'jagradadi': {'enum': ['Jagrat', 'Swapna', 'Sushupti'], 'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'isRetrograde': {'type': 'boolean'}}}}}}, 'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'libra': {'type': 'object', 'required': ['rashi', 'signs'], 'properties': {'rashi': {'type': 'string'}, 'signs': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'longitude', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'awastha': {'enum': ['Bala', 'Kumara', 'Yuva', 'Vriddha', 'Mrita'], 'type': 'string'}, 'deeptadi': {'enum': ['Dipta', 'Svastha', 'Pramudita', 'Shanta', 'Dina', 'Duhkhita', 'Vikala', 'Khala', 'Kopa'], 'type': 'string'}, 'jagradadi': {'enum': ['Jagrat', 'Swapna', 'Sushupti'], 'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'isRetrograde': {'type': 'boolean'}}}}}}, 'virgo': {'type': 'object', 'required': ['rashi', 'signs'], 'properties': {'rashi': {'type': 'string'}, 'signs': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'longitude', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'awastha': {'enum': ['Bala', 'Kumara', 'Yuva', 'Vriddha', 'Mrita'], 'type': 'string'}, 'deeptadi': {'enum': ['Dipta', 'Svastha', 'Pramudita', 'Shanta', 'Dina', 'Duhkhita', 'Vikala', 'Khala', 'Kopa'], 'type': 'string'}, 'jagradadi': {'enum': ['Jagrat', 'Swapna', 'Sushupti'], 'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'isRetrograde': {'type': 'boolean'}}}}}}, 'yogas': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'description', 'result', 'quality', 'family', 'present'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'family': {'enum': ['classical', 'asraya', 'dala', 'akriti', 'sankhya'], 'type': 'string'}, 'result': {'type': 'string'}, 'present': {'type': 'boolean'}, 'quality': {'enum': ['Positive', 'Negative', 'Both'], 'type': 'string'}, 'evidence': {'type': 'string'}, 'description': {'type': 'string'}, 'suppressedBy': {'enum': ['classical', 'asraya', 'dala', 'akriti', 'sankhya'], 'type': 'string'}}}}, 'cancer': {'type': 'object', 'required': ['rashi', 'signs'], 'properties': {'rashi': {'type': 'string'}, 'signs': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'longitude', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'awastha': {'enum': ['Bala', 'Kumara', 'Yuva', 'Vriddha', 'Mrita'], 'type': 'string'}, 'deeptadi': {'enum': ['Dipta', 'Svastha', 'Pramudita', 'Shanta', 'Dina', 'Duhkhita', 'Vikala', 'Khala', 'Kopa'], 'type': 'string'}, 'jagradadi': {'enum': ['Jagrat', 'Swapna', 'Sushupti'], 'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'isRetrograde': {'type': 'boolean'}}}}}}, 'gemini': {'type': 'object', 'required': ['rashi', 'signs'], 'properties': {'rashi': {'type': 'string'}, 'signs': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'longitude', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'awastha': {'enum': ['Bala', 'Kumara', 'Yuva', 'Vriddha', 'Mrita'], 'type': 'string'}, 'deeptadi': {'enum': ['Dipta', 'Svastha', 'Pramudita', 'Shanta', 'Dina', 'Duhkhita', 'Vikala', 'Khala', 'Kopa'], 'type': 'string'}, 'jagradadi': {'enum': ['Jagrat', 'Swapna', 'Sushupti'], 'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'isRetrograde': {'type': 'boolean'}}}}}}, 'houses': {'type': 'array', 'items': {'type': 'object', 'required': ['number'], 'properties': {'name': {'type': 'string'}, 'number': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'themes': {'type': 'array', 'items': {'type': 'string'}}, 'description': {'type': 'string'}}}}, 'pisces': {'type': 'object', 'required': ['rashi', 'signs'], 'properties': {'rashi': {'type': 'string'}, 'signs': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'longitude', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'awastha': {'enum': ['Bala', 'Kumara', 'Yuva', 'Vriddha', 'Mrita'], 'type': 'string'}, 'deeptadi': {'enum': ['Dipta', 'Svastha', 'Pramudita', 'Shanta', 'Dina', 'Duhkhita', 'Vikala', 'Khala', 'Kopa'], 'type': 'string'}, 'jagradadi': {'enum': ['Jagrat', 'Swapna', 'Sushupti'], 'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'isRetrograde': {'type': 'boolean'}}}}}}, 'taurus': {'type': 'object', 'required': ['rashi', 'signs'], 'properties': {'rashi': {'type': 'string'}, 'signs': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'longitude', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'awastha': {'enum': ['Bala', 'Kumara', 'Yuva', 'Vriddha', 'Mrita'], 'type': 'string'}, 'deeptadi': {'enum': ['Dipta', 'Svastha', 'Pramudita', 'Shanta', 'Dina', 'Duhkhita', 'Vikala', 'Khala', 'Kopa'], 'type': 'string'}, 'jagradadi': {'enum': ['Jagrat', 'Swapna', 'Sushupti'], 'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'isRetrograde': {'type': 'boolean'}}}}}}, 'scorpio': {'type': 'object', 'required': ['rashi', 'signs'], 'properties': {'rashi': {'type': 'string'}, 'signs': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'longitude', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'awastha': {'enum': ['Bala', 'Kumara', 'Yuva', 'Vriddha', 'Mrita'], 'type': 'string'}, 'deeptadi': {'enum': ['Dipta', 'Svastha', 'Pramudita', 'Shanta', 'Dina', 'Duhkhita', 'Vikala', 'Khala', 'Kopa'], 'type': 'string'}, 'jagradadi': {'enum': ['Jagrat', 'Swapna', 'Sushupti'], 'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'isRetrograde': {'type': 'boolean'}}}}}}, 'aquarius': {'type': 'object', 'required': ['rashi', 'signs'], 'properties': {'rashi': {'type': 'string'}, 'signs': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'longitude', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'awastha': {'enum': ['Bala', 'Kumara', 'Yuva', 'Vriddha', 'Mrita'], 'type': 'string'}, 'deeptadi': {'enum': ['Dipta', 'Svastha', 'Pramudita', 'Shanta', 'Dina', 'Duhkhita', 'Vikala', 'Khala', 'Kopa'], 'type': 'string'}, 'jagradadi': {'enum': ['Jagrat', 'Swapna', 'Sushupti'], 'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'isRetrograde': {'type': 'boolean'}}}}}}, 'capricorn': {'type': 'object', 'required': ['rashi', 'signs'], 'properties': {'rashi': {'type': 'string'}, 'signs': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'longitude', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'awastha': {'enum': ['Bala', 'Kumara', 'Yuva', 'Vriddha', 'Mrita'], 'type': 'string'}, 'deeptadi': {'enum': ['Dipta', 'Svastha', 'Pramudita', 'Shanta', 'Dina', 'Duhkhita', 'Vikala', 'Khala', 'Kopa'], 'type': 'string'}, 'jagradadi': {'enum': ['Jagrat', 'Swapna', 'Sushupti'], 'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'isRetrograde': {'type': 'boolean'}}}}}}, 'combustion': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'distanceFromSun', 'orb'], 'properties': {'orb': {'type': 'number'}, 'planet': {'type': 'string'}, 'distanceFromSun': {'type': 'number'}}}}, 'sagittarius': {'type': 'object', 'required': ['rashi', 'signs'], 'properties': {'rashi': {'type': 'string'}, 'signs': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'longitude', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'awastha': {'enum': ['Bala', 'Kumara', 'Yuva', 'Vriddha', 'Mrita'], 'type': 'string'}, 'deeptadi': {'enum': ['Dipta', 'Svastha', 'Pramudita', 'Shanta', 'Dina', 'Duhkhita', 'Vikala', 'Khala', 'Kopa'], 'type': 'string'}, 'jagradadi': {'enum': ['Jagrat', 'Swapna', 'Sushupti'], 'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'isRetrograde': {'type': 'boolean'}}}}}}, 'planetaryWar': {'type': 'array', 'items': {'type': 'object', 'required': ['planet1', 'planet2', 'distance', 'winner'], 'properties': {'winner': {'type': 'string'}, 'planet1': {'type': 'string'}, 'planet2': {'type': 'string'}, 'distance': {'type': 'number'}}}}, 'modernPlanets': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'sanskritName', 'longitude', 'rashi', 'degreeInRashi', 'nakshatra', 'isRetrograde'], 'properties': {'rashi': {'type': 'string'}, 'planet': {'enum': ['Uranus', 'Neptune', 'Pluto'], 'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'isRetrograde': {'type': 'boolean'}, 'sanskritName': {'enum': ['Arun', 'Varun', 'Yam'], 'type': 'string'}, 'degreeInRashi': {'type': 'number'}}}}, 'interpretations': {'type': 'object', 'additionalProperties': {'type': 'object', 'required': ['rashi', 'nakshatra'], 'properties': {'rashi': {'type': 'string'}, 'nakshatra': {'type': 'string'}}}}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'scheme': {'enum': ['seven', 'eight'], 'type': 'string', 'default': 'eight', 'example': 'eight', 'description': 'Which Chara Karaka scheme to rank. "eight" includes Rahu, counting its degree in reverse because it moves retrograde, and returns eight offices including Pitrikaraka. "seven" ranks only the seven classical grahas and drops Pitrikaraka. Ketu is excluded from both, since it always mirrors the Rahu degree exactly. The two schemes can produce a different Atmakaraka for the same chart, so select the one your reference software uses. Defaults to "eight".'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['frame', 'scheme', 'atmakaraka', 'darakaraka', 'karakas'], 'properties': {'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'scheme': {'enum': ['seven', 'eight'], 'type': 'string'}, 'karakas': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'abbreviation', 'graha', 'rashi', 'degreeInRashi', 'rankingDegree', 'isReversed', 'meaning', 'significations'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'graha': {'type': 'string'}, 'rashi': {'type': 'string'}, 'meaning': {'type': 'string'}, 'isReversed': {'type': 'boolean'}, 'abbreviation': {'type': 'string'}, 'degreeInRashi': {'type': 'number'}, 'rankingDegree': {'type': 'number'}, 'significations': {'type': 'string'}}}}, 'atmakaraka': {'type': 'string'}, 'darakaraka': {'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{'person1': {'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}, 'person2': {'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}}], 'required': ['person1', 'person2'], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'person1': {'type': 'object', 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}}, 'description': 'Birth data of the first person (typically the boy/groom in traditional Ashtakoot matching). Date, time, and location determine Moon nakshatra for koota scoring.'}, 'person2': {'type': 'object', 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}}, 'description': 'Birth data of the second person (typically the girl/bride in traditional Ashtakoot matching). Moon nakshatra compared against person 1 across all 8 kootas.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['frame', 'total', 'maxScore', 'percentage', 'isCompatible', 'recommendation', 'doshas', 'doshaCancellations', 'breakdown'], 'properties': {'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'total': {'type': 'number'}, 'doshas': {'type': 'array', 'items': {'type': 'string'}}, 'maxScore': {'type': 'number'}, 'breakdown': {'type': 'array', 'items': {'type': 'object', 'required': ['category', 'score', 'maxScore', 'person1', 'person2', 'description'], 'properties': {'score': {'type': 'number'}, 'person1': {'type': 'string'}, 'person2': {'type': 'string'}, 'category': {'type': 'string'}, 'maxScore': {'type': 'number'}, 'description': {'type': 'string'}}}}, 'percentage': {'type': 'number'}, 'isCompatible': {'type': 'boolean'}, 'recommendation': {'type': 'string'}, 'doshaCancellations': {'type': 'array', 'items': {'type': 'object', 'required': ['dosha', 'reason'], 'properties': {'dosha': {'type': 'string'}, 'reason': {'type': 'string'}}}}}}
Input schema
{'type': 'object', 'examples': [{'person1': {'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}, 'person2': {'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}}], 'required': ['person1', 'person2'], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'person1': {'type': 'object', 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}}, 'description': 'Birth data of the GROOM. Direction is load bearing in this system: Dina, Mahendra, Stree Deergha, Rasi and Vasya all count from the bride toward the groom, so sending the two people the wrong way round returns a different and wrong sheet without any error.'}, 'person2': {'type': 'object', 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}}, 'description': 'Birth data of the BRIDE. Five of the ten poruthams count FROM this birth star, so this field is not interchangeable with person1. Date, time and location determine the Moon nakshatra and Moon rashi every porutham reads.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['frame', 'total', 'maxTotal', 'verdict', 'recommendation', 'rajju', 'vedha', 'breakdown'], 'properties': {'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'rajju': {'type': 'object', 'required': ['active', 'reason'], 'properties': {'active': {'type': 'boolean'}, 'reason': {'type': 'string'}}}, 'total': {'type': 'number'}, 'vedha': {'type': 'object', 'required': ['active', 'reason'], 'properties': {'active': {'type': 'boolean'}, 'reason': {'type': 'string'}}}, 'verdict': {'enum': ['recommended', 'marginal', 'rejected'], 'type': 'string'}, 'maxTotal': {'type': 'number'}, 'breakdown': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'points', 'maxPoints', 'verdict', 'person1', 'person2', 'note'], 'properties': {'name': {'enum': ['Dina', 'Gana', 'Mahendra', 'Stree Deergha', 'Yoni', 'Rasi', 'Rasyadhipati', 'Vasya', 'Rajju', 'Vedha'], 'type': 'string'}, 'note': {'type': 'string'}, 'points': {'type': 'number'}, 'person1': {'type': 'string'}, 'person2': {'type': 'string'}, 'verdict': {'enum': ['matched', 'unmatched'], 'type': 'string'}, 'maxPoints': {'type': 'number'}}}}, 'recommendation': {'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{'person1': {'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}, 'person2': {'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}}], 'required': ['person1', 'person2'], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'person1': {'type': 'object', 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}}, 'description': 'Birth data of the GROOM. The comparison is directional, so this field is not interchangeable with person2: the match reads as balanced only when the bride carries no more affliction than the groom, and swapping the two people can flip the verdict.'}, 'person2': {'type': 'object', 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}}, 'description': 'Birth data of the BRIDE. Date, time and location determine the Lagna, the Moon and Venus, which are the three points every papa point is counted from.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['frame', 'person1', 'person2', 'verdict', 'recommendation'], 'properties': {'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'person1': {'type': 'object', 'required': ['total', 'byReference'], 'properties': {'total': {'type': 'number'}, 'byReference': {'type': 'array', 'items': {'type': 'object', 'required': ['reference', 'weight', 'afflictions'], 'properties': {'weight': {'type': 'number'}, 'reference': {'enum': ['Lagna', 'Moon', 'Venus'], 'type': 'string'}, 'afflictions': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'house'], 'properties': {'graha': {'enum': ['Mars', 'Saturn', 'Sun', 'Rahu'], 'type': 'string'}, 'house': {'type': 'number'}}}}}}}}}, 'person2': {'type': 'object', 'required': ['total', 'byReference'], 'properties': {'total': {'type': 'number'}, 'byReference': {'type': 'array', 'items': {'type': 'object', 'required': ['reference', 'weight', 'afflictions'], 'properties': {'weight': {'type': 'number'}, 'reference': {'enum': ['Lagna', 'Moon', 'Venus'], 'type': 'string'}, 'afflictions': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'house'], 'properties': {'graha': {'enum': ['Mars', 'Saturn', 'Sun', 'Rahu'], 'type': 'string'}, 'house': {'type': 'number'}}}}}}}}}, 'verdict': {'enum': ['balanced', 'unbalanced'], 'type': 'string'}, 'recommendation': {'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{'latitude': 28.8944, 'birthDate': '1984-11-03', 'birthTime': '01:35:00', 'longitude': 76.5894}], 'required': ['birthDate', 'birthTime', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '2026-06-21', 'description': 'Civil date to read, in YYYY-MM-DD format. Defaults to today (UTC). The panchanga day it names runs from sunrise at the birth coordinates to the next sunrise, not from midnight, so a reading for this date covers the night that follows it.'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'focus': {'enum': ['general', 'finance'], 'type': 'string', 'default': 'general', 'example': 'general', 'description': 'Which signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general".'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'latitude': {'type': 'number', 'example': 28.8944, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Sets the natal house cusps behind the Ashtakavarga scorecard and the KP significators, and the sunrise that opens the panchanga day.'}, 'nodeType': {'enum': ['mean', 'true'], 'type': 'string', 'default': 'mean', 'example': 'mean', 'description': 'Lunar node type for Rahu and Ketu. "mean" uses the smooth mean node, which is the traditional Vedic default and what printed panchangs use. "true" uses the osculating node, which swings up to 1.5 degrees either side of mean and can therefore move a node into a different rashi and change its gochara house. Defaults to "mean".'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: IANA name (e.g. "Asia/Kolkata", "America/New_York") OR decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). IANA strings are resolved to the DST-correct offset for the date being read. Interprets the birth time and the civil date below. Defaults to 5.5.'}, 'birthDate': {'type': 'string', 'format': 'date', 'example': '1984-11-03', 'description': 'Birth date in YYYY-MM-DD format. Fixes the Janma Rashi and Janma Nakshatra every part of this reading is counted from, and the natal Ashtakavarga the bindu gate reads.'}, 'birthTime': {'type': 'string', 'format': 'time', 'example': '01:35:00', 'description': 'Birth time in HH:MM:SS format (24-hour). The Moon moves about half a degree an hour, so an error here moves the Janma Rashi and Janma Nakshatra and therefore every gochara house count, the tarabala and the chandrabala in this response.'}, 'longitude': {'type': 'number', 'example': 76.5894, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local sidereal time for the natal cusps and the sunrise the reading is composed at.'}}}
Output schema
{'type': 'object', 'required': ['frames', 'date', 'dayStart', 'dayEnd', 'subject', 'panchanga', 'grahas', 'tara', 'chandrabala', 'dasha', 'areas', 'score', 'verdict', 'tally', 'evaluated', 'degraded', 'houseThemes', 'focus'], 'properties': {'date': {'type': 'string'}, 'tara': {'type': 'array', 'items': {'type': 'object', 'required': ['validFrom', 'validTo', 'timescale', 'moonNakshatra', 'number', 'name', 'quality'], 'properties': {'name': {'enum': ['Janma', 'Sampat', 'Vipat', 'Kshema', 'Pratyari', 'Sadhaka', 'Vadha', 'Mitra', 'Parama Mitra'], 'type': 'string'}, 'number': {'type': 'number'}, 'quality': {'enum': ['favourable', 'unfavourable', 'neutral'], 'type': 'string'}, 'validTo': {'type': 'string'}, 'timescale': {'enum': ['hours', 'days', 'months', 'years'], 'type': 'string'}, 'validFrom': {'type': 'string'}, 'moonNakshatra': {'type': 'string'}}}}, 'areas': {'type': 'object', 'required': ['finance'], 'properties': {'finance': {'type': 'object', 'required': ['score', 'band', 'positive', 'negative', 'drivers', 'cautions', 'composite', 'natal'], 'properties': {'band': {'enum': ['very-strong', 'strong', 'moderate', 'weak', None], 'type': ['string', 'null']}, 'natal': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'quality', 'present', 'evidence'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'present': {'type': 'boolean'}, 'quality': {'enum': ['Positive', 'Negative', 'Both'], 'type': 'string'}, 'evidence': {'type': 'string'}}}}, 'score': {'type': ['number', 'null']}, 'drivers': {'type': ['array', 'null'], 'items': {'type': 'object', 'required': ['graha', 'house', 'level', 'grade', 'dashaLevels'], 'properties': {'grade': {'enum': ['A', 'B', 'C', 'D'], 'type': 'string'}, 'graha': {'type': 'string'}, 'house': {'type': 'number'}, 'level': {'type': 'integer', 'maximum': 4, 'minimum': 1}, 'dashaLevels': {'type': 'array', 'items': {'enum': ['mahadasha', 'antardasha', 'pratyantardasha'], 'type': 'string'}}}}}, 'cautions': {'type': ['array', 'null'], 'items': {'type': 'object', 'required': ['graha', 'house', 'level', 'grade', 'dashaLevels'], 'properties': {'grade': {'enum': ['A', 'B', 'C', 'D'], 'type': 'string'}, 'graha': {'type': 'string'}, 'house': {'type': 'number'}, 'level': {'type': 'integer', 'maximum': 4, 'minimum': 1}, 'dashaLevels': {'type': 'array', 'items': {'enum': ['mahadasha', 'antardasha', 'pratyantardasha'], 'type': 'string'}}}}}, 'negative': {'type': ['number', 'null']}, 'positive': {'type': ['number', 'null']}, 'composite': {'type': ['object', 'null'], 'required': ['score', 'band', 'layers'], 'properties': {'band': {'enum': ['very-strong', 'strong', 'moderate', 'weak'], 'type': 'string'}, 'score': {'type': 'number'}, 'layers': {'type': 'array', 'items': {'type': 'object', 'required': ['layer', 'score', 'band'], 'properties': {'band': {'enum': ['very-strong', 'strong', 'moderate', 'weak'], 'type': 'string'}, 'layer': {'enum': ['day', 'finance', 'natal'], 'type': 'string'}, 'score': {'type': 'number'}}}}}}}}}}, 'dasha': {'type': 'array', 'items': {'type': 'object', 'required': ['level', 'lord', 'startDate', 'endDate', 'timescale'], 'properties': {'lord': {'type': 'string'}, 'level': {'enum': ['mahadasha', 'antardasha', 'pratyantardasha'], 'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}, 'timescale': {'enum': ['hours', 'days', 'months', 'years'], 'type': 'string'}}}}, 'focus': {'enum': ['general', 'finance'], 'type': 'string'}, 'score': {'type': 'number'}, 'tally': {'type': 'array', 'items': {'type': 'object', 'required': ['state', 'count'], 'properties': {'count': {'type': 'number'}, 'state': {'enum': ['favourable', 'underdelivered', 'obstructed', 'void', 'aggravated', 'unfavourable'], 'type': 'string'}}}}, 'dayEnd': {'type': 'string'}, 'frames': {'type': 'object', 'required': ['natal', 'transit', 'kp'], 'properties': {'kp': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees', 'at', 'governs'], 'properties': {'at': {'type': 'string'}, 'governs': {'type': 'array', 'items': {'enum': ['subject', 'grahas', 'panchanga', 'tara', 'chandrabala', 'dasha', 'areas.finance'], 'type': 'string'}}, 'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'natal': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees', 'at', 'governs'], 'properties': {'at': {'type': 'string'}, 'governs': {'type': 'array', 'items': {'enum': ['subject', 'grahas', 'panchanga', 'tara', 'chandrabala', 'dasha', 'areas.finance'], 'type': 'string'}}, 'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'transit': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees', 'at', 'governs'], 'properties': {'at': {'type': 'string'}, 'governs': {'type': 'array', 'items': {'enum': ['subject', 'grahas', 'panchanga', 'tara', 'chandrabala', 'dasha', 'areas.finance'], 'type': 'string'}}, 'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}}}, 'grahas': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'sign', 'longitude', 'houseFromMoon', 'timescale', 'favourable', 'favourableHouses', 'vedhaHouse', 'obstructedBy', 'vedhaExempt', 'binduCount', 'kaksha', 'dignity', 'combust', 'aspectedByBenefic', 'aspectedByMalefic', 'aspectedByEnemy', 'state', 'stateSource'], 'properties': {'sign': {'type': 'string'}, 'graha': {'type': 'string'}, 'state': {'enum': ['favourable', 'underdelivered', 'obstructed', 'void', 'aggravated', 'unfavourable'], 'type': 'string'}, 'kaksha': {'type': 'object', 'required': ['number', 'lord', 'startDegree', 'endDegree', 'bindu', 'binduCount'], 'properties': {'lord': {'type': 'string'}, 'bindu': {'type': ['boolean', 'null']}, 'number': {'type': 'number'}, 'endDegree': {'type': 'number'}, 'binduCount': {'type': ['number', 'null']}, 'startDegree': {'type': 'number'}}}, 'combust': {'type': ['boolean', 'null']}, 'dignity': {'enum': ['exalted', 'own', 'debilitated', 'enemy', 'neutral', None], 'type': ['string', 'null']}, 'longitude': {'type': 'number'}, 'timescale': {'enum': ['hours', 'days', 'months', 'years'], 'type': 'string'}, 'binduCount': {'type': ['number', 'null']}, 'favourable': {'type': 'boolean'}, 'vedhaHouse': {'type': ['number', 'null']}, 'stateSource': {'type': 'string'}, 'vedhaExempt': {'type': 'array', 'items': {'type': 'string'}}, 'obstructedBy': {'type': 'array', 'items': {'type': 'string'}}, 'houseFromMoon': {'type': 'number'}, 'aspectedByEnemy': {'type': 'array', 'items': {'type': 'string'}}, 'favourableHouses': {'type': 'array', 'items': {'type': 'number'}}, 'aspectedByBenefic': {'type': 'array', 'items': {'type': 'string'}}, 'aspectedByMalefic': {'type': 'array', 'items': {'type': 'string'}}}}}, 'subject': {'type': 'object', 'required': ['janmaRashi', 'janmaNakshatra', 'janmaNakshatraNumber', 'moonLongitude'], 'properties': {'janmaRashi': {'type': 'string'}, 'moonLongitude': {'type': 'number'}, 'janmaNakshatra': {'type': 'string'}, 'janmaNakshatraNumber': {'type': 'number'}}}, 'verdict': {'enum': ['very-strong', 'strong', 'moderate', 'weak'], 'type': 'string'}, 'dayStart': {'type': 'string'}, 'degraded': {'type': 'array', 'items': {'type': 'object', 'required': ['component', 'reason'], 'properties': {'reason': {'enum': ['sun-does-not-rise', 'polar-latitude'], 'type': 'string'}, 'component': {'enum': ['dayStart', 'dayEnd', 'areas.finance.score'], 'type': 'string'}}}}, 'evaluated': {'type': 'number'}, 'panchanga': {'type': 'object', 'required': ['vara', 'varaSanskrit', 'paksha', 'tithi', 'nakshatra', 'yoga', 'karana'], 'properties': {'vara': {'type': 'string'}, 'yoga': {'type': 'object', 'required': ['number', 'name', 'validTo', 'next', 'timescale'], 'properties': {'name': {'type': 'string'}, 'next': {'type': 'string'}, 'number': {'type': 'number'}, 'validTo': {'type': 'string'}, 'timescale': {'enum': ['hours', 'days', 'months', 'years'], 'type': 'string'}}}, 'tithi': {'type': 'object', 'required': ['number', 'name', 'validTo', 'next', 'timescale'], 'properties': {'name': {'type': 'string'}, 'next': {'type': 'string'}, 'number': {'type': 'number'}, 'validTo': {'type': 'string'}, 'timescale': {'enum': ['hours', 'days', 'months', 'years'], 'type': 'string'}}}, 'karana': {'type': 'object', 'required': ['number', 'name', 'validTo', 'next', 'timescale'], 'properties': {'name': {'type': 'string'}, 'next': {'type': 'string'}, 'number': {'type': 'number'}, 'validTo': {'type': 'string'}, 'timescale': {'enum': ['hours', 'days', 'months', 'years'], 'type': 'string'}}}, 'paksha': {'type': 'string'}, 'nakshatra': {'type': 'object', 'required': ['number', 'name', 'validTo', 'next', 'timescale'], 'properties': {'name': {'type': 'string'}, 'next': {'type': 'string'}, 'number': {'type': 'number'}, 'validTo': {'type': 'string'}, 'timescale': {'enum': ['hours', 'days', 'months', 'years'], 'type': 'string'}}}, 'varaSanskrit': {'type': 'string'}}}, 'chandrabala': {'type': 'array', 'items': {'type': 'object', 'required': ['validFrom', 'validTo', 'timescale', 'moonSign', 'houseFromMoon', 'favourable', 'ashtamaChandra'], 'properties': {'validTo': {'type': 'string'}, 'moonSign': {'type': 'string'}, 'timescale': {'enum': ['hours', 'days', 'months', 'years'], 'type': 'string'}, 'validFrom': {'type': 'string'}, 'favourable': {'type': 'boolean'}, 'houseFromMoon': {'type': 'number'}, 'ashtamaChandra': {'type': 'boolean'}}}}, 'houseThemes': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'focus': {'enum': ['general', 'finance'], 'type': 'string', 'default': 'general', 'example': 'general', 'description': 'Which signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general".'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.'}, 'datetime': {'type': 'string', 'format': 'date-time', 'example': '2026-08-23T13:47:46Z', 'description': 'ISO 8601 datetime (YYYY-MM-DDTHH:MM:SS) to read the running periods at, for a reading prepared for a future day, a backtest, or a chart cast for a past moment. Defaults to the current instant. Interpreted as local time in the request timezone (a trailing Z is accepted but ignored); with timezone 0 it is UTC.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'nodeType': {'enum': ['mean', 'true'], 'type': 'string', 'default': 'mean', 'example': 'mean', 'description': 'Lunar node type for Rahu and Ketu, used ONLY when "significators" is true. Dasha dates themselves come from the Moon and never move with this field. "mean" uses the smooth mean node (traditional default). "true" uses the osculating node, which swings up to 1.5 degrees either side of mean over a 173-day cycle and can therefore change which house or star a node falls in. Defaults to "mean".'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}, 'significators': {'type': 'boolean', 'default': False, 'example': False, 'description': 'Set true to attach the KP significators of each period lord: its star lord, sub lord, occupied house, the houses it signifies at levels L1 to L4, and a strength grade. Off by default, so responses stay exactly as they are for clients that only need dates. Requires the birth latitude and longitude, since significators are read off a Placidus house chart, and uses the same ayanamsa frame selected above.'}}}
Output schema
{'type': 'object', 'required': ['moonNakshatra', 'nakshatraName', 'nakshatraLord', 'moonLongitude', 'ayanamsa', 'ayanamsaType', 'mahadasha', 'antardasha', 'pratyantardasha', 'sookshmaDasha', 'pranaDasha', 'remainingInMahadasha', 'remainingInAntardasha', 'remainingInPratyantardasha', 'remainingInSookshma', 'remainingInPrana'], 'properties': {'focus': {'enum': ['general', 'finance'], 'type': 'string'}, 'ayanamsa': {'type': 'number'}, 'mahadasha': {'type': 'object', 'required': ['planet', 'startDate', 'endDate', 'durationYears'], 'properties': {'planet': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}, 'durationYears': {'type': 'number'}, 'significators': {'type': 'object', 'required': ['house', 'starLord', 'signifies', 'signifiedHouses', 'strongHouses', 'strength'], 'properties': {'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'subLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'strength': {'type': 'object', 'required': ['score', 'grade', 'label'], 'properties': {'grade': {'enum': ['A', 'B', 'C', 'D'], 'type': 'string'}, 'label': {'enum': ['very-strong', 'strong', 'moderate', 'weak'], 'type': 'string'}, 'score': {'type': 'number', 'maximum': 100, 'minimum': 0}}}, 'signifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}, 'strongHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'signifiedHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}}, 'interpretation': {'type': 'string'}, 'nominalStartDate': {'type': 'string'}}}, 'antardasha': {'type': 'object', 'required': ['planet', 'startDate', 'endDate', 'durationYears', 'mahadashaLord'], 'properties': {'planet': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}, 'durationYears': {'type': 'number'}, 'mahadashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'significators': {'type': 'object', 'required': ['house', 'starLord', 'signifies', 'signifiedHouses', 'strongHouses', 'strength'], 'properties': {'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'subLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'strength': {'type': 'object', 'required': ['score', 'grade', 'label'], 'properties': {'grade': {'enum': ['A', 'B', 'C', 'D'], 'type': 'string'}, 'label': {'enum': ['very-strong', 'strong', 'moderate', 'weak'], 'type': 'string'}, 'score': {'type': 'number', 'maximum': 100, 'minimum': 0}}}, 'signifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}, 'strongHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'signifiedHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}}, 'interpretation': {'type': 'string'}, 'nominalStartDate': {'type': 'string'}}}, 'pranaDasha': {'type': 'object', 'required': ['planet', 'startDate', 'endDate', 'durationYears', 'mahadashaLord', 'antardashaLord', 'pratyantardashaLord', 'sookshmaLord'], 'properties': {'planet': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}, 'sookshmaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'durationYears': {'type': 'number'}, 'mahadashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'significators': {'type': 'object', 'required': ['house', 'starLord', 'signifies', 'signifiedHouses', 'strongHouses', 'strength'], 'properties': {'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'subLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'strength': {'type': 'object', 'required': ['score', 'grade', 'label'], 'properties': {'grade': {'enum': ['A', 'B', 'C', 'D'], 'type': 'string'}, 'label': {'enum': ['very-strong', 'strong', 'moderate', 'weak'], 'type': 'string'}, 'score': {'type': 'number', 'maximum': 100, 'minimum': 0}}}, 'signifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}, 'strongHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'signifiedHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}}, 'antardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'interpretation': {'type': 'string'}, 'nominalStartDate': {'type': 'string'}, 'pratyantardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}}}, 'houseThemes': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'ayanamsaType': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string'}, 'commonHouses': {'type': 'object', 'required': ['allLevels', 'dashaBhuktiAntara'], 'properties': {'allLevels': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'dashaBhuktiAntara': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}}, 'moonLongitude': {'type': 'number'}, 'moonNakshatra': {'type': 'integer', 'maximum': 27, 'minimum': 1}, 'nakshatraLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'nakshatraName': {'type': 'string'}, 'sookshmaDasha': {'type': 'object', 'required': ['planet', 'startDate', 'endDate', 'durationYears', 'mahadashaLord', 'antardashaLord', 'pratyantardashaLord'], 'properties': {'planet': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}, 'durationYears': {'type': 'number'}, 'mahadashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'significators': {'type': 'object', 'required': ['house', 'starLord', 'signifies', 'signifiedHouses', 'strongHouses', 'strength'], 'properties': {'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'subLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'strength': {'type': 'object', 'required': ['score', 'grade', 'label'], 'properties': {'grade': {'enum': ['A', 'B', 'C', 'D'], 'type': 'string'}, 'label': {'enum': ['very-strong', 'strong', 'moderate', 'weak'], 'type': 'string'}, 'score': {'type': 'number', 'maximum': 100, 'minimum': 0}}}, 'signifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}, 'strongHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'signifiedHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}}, 'antardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'interpretation': {'type': 'string'}, 'nominalStartDate': {'type': 'string'}, 'pratyantardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}}}, 'pratyantardasha': {'type': 'object', 'required': ['planet', 'startDate', 'endDate', 'durationYears', 'mahadashaLord', 'antardashaLord'], 'properties': {'planet': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}, 'durationYears': {'type': 'number'}, 'mahadashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'significators': {'type': 'object', 'required': ['house', 'starLord', 'signifies', 'signifiedHouses', 'strongHouses', 'strength'], 'properties': {'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'subLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'strength': {'type': 'object', 'required': ['score', 'grade', 'label'], 'properties': {'grade': {'enum': ['A', 'B', 'C', 'D'], 'type': 'string'}, 'label': {'enum': ['very-strong', 'strong', 'moderate', 'weak'], 'type': 'string'}, 'score': {'type': 'number', 'maximum': 100, 'minimum': 0}}}, 'signifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}, 'strongHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'signifiedHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}}, 'antardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'interpretation': {'type': 'string'}, 'nominalStartDate': {'type': 'string'}}}, 'remainingInPrana': {'type': 'object', 'required': ['years', 'months', 'days', 'totalDays'], 'properties': {'days': {'type': 'number'}, 'years': {'type': 'number'}, 'months': {'type': 'number'}, 'totalDays': {'type': 'number'}}}, 'remainingInSookshma': {'type': 'object', 'required': ['years', 'months', 'days', 'totalDays'], 'properties': {'days': {'type': 'number'}, 'years': {'type': 'number'}, 'months': {'type': 'number'}, 'totalDays': {'type': 'number'}}}, 'remainingInMahadasha': {'type': 'object', 'required': ['years', 'months', 'days', 'totalDays'], 'properties': {'days': {'type': 'number'}, 'years': {'type': 'number'}, 'months': {'type': 'number'}, 'totalDays': {'type': 'number'}}}, 'remainingInAntardasha': {'type': 'object', 'required': ['years', 'months', 'days', 'totalDays'], 'properties': {'days': {'type': 'number'}, 'years': {'type': 'number'}, 'months': {'type': 'number'}, 'totalDays': {'type': 'number'}}}, 'remainingInPratyantardasha': {'type': 'object', 'required': ['years', 'months', 'days', 'totalDays'], 'properties': {'days': {'type': 'number'}, 'years': {'type': 'number'}, 'months': {'type': 'number'}, 'totalDays': {'type': 'number'}}}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'focus': {'enum': ['general', 'finance'], 'type': 'string', 'default': 'general', 'example': 'general', 'description': 'Which signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general".'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'nodeType': {'enum': ['mean', 'true'], 'type': 'string', 'default': 'mean', 'example': 'mean', 'description': 'Lunar node type for Rahu and Ketu, used ONLY when "significators" is true. Dasha dates themselves come from the Moon and never move with this field. "mean" uses the smooth mean node (traditional default). "true" uses the osculating node, which swings up to 1.5 degrees either side of mean over a 173-day cycle and can therefore change which house or star a node falls in. Defaults to "mean".'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}, 'significators': {'type': 'boolean', 'default': False, 'example': False, 'description': 'Set true to attach the KP significators of each period lord: its star lord, sub lord, occupied house, the houses it signifies at levels L1 to L4, and a strength grade. Off by default, so responses stay exactly as they are for clients that only need dates. Requires the birth latitude and longitude, since significators are read off a Placidus house chart, and uses the same ayanamsa frame selected above.'}}}
Output schema
{'type': 'object', 'required': ['moonNakshatra', 'nakshatraName', 'nakshatraLord', 'moonLongitude', 'ayanamsa', 'ayanamsaType', 'birthDashaBalance', 'mahadashas', 'totalYears'], 'properties': {'focus': {'enum': ['general', 'finance'], 'type': 'string'}, 'ayanamsa': {'type': 'number'}, 'mahadashas': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'startDate', 'endDate', 'durationYears'], 'properties': {'planet': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}, 'durationYears': {'type': 'number'}, 'significators': {'type': 'object', 'required': ['house', 'starLord', 'signifies', 'signifiedHouses', 'strongHouses', 'strength'], 'properties': {'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'subLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'strength': {'type': 'object', 'required': ['score', 'grade', 'label'], 'properties': {'grade': {'enum': ['A', 'B', 'C', 'D'], 'type': 'string'}, 'label': {'enum': ['very-strong', 'strong', 'moderate', 'weak'], 'type': 'string'}, 'score': {'type': 'number', 'maximum': 100, 'minimum': 0}}}, 'signifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}, 'strongHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'signifiedHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}}, 'interpretation': {'type': 'string'}, 'nominalStartDate': {'type': 'string'}}}}, 'totalYears': {'type': 'number'}, 'houseThemes': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'ayanamsaType': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string'}, 'moonLongitude': {'type': 'number'}, 'moonNakshatra': {'type': 'integer', 'maximum': 27, 'minimum': 1}, 'nakshatraLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'nakshatraName': {'type': 'string'}, 'birthDashaBalance': {'type': 'object', 'required': ['years', 'months', 'days', 'totalDays'], 'properties': {'days': {'type': 'number'}, 'years': {'type': 'number'}, 'months': {'type': 'number'}, 'totalDays': {'type': 'number'}}}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209, 'mahadasha': 'Jupiter'}], 'required': ['mahadasha', 'date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'focus': {'enum': ['general', 'finance'], 'type': 'string', 'default': 'general', 'example': 'general', 'description': 'Which signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general".'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'nodeType': {'enum': ['mean', 'true'], 'type': 'string', 'default': 'mean', 'example': 'mean', 'description': 'Lunar node type for Rahu and Ketu, used ONLY when "significators" is true. Dasha dates themselves come from the Moon and never move with this field. "mean" uses the smooth mean node (traditional default). "true" uses the osculating node, which swings up to 1.5 degrees either side of mean over a 173-day cycle and can therefore change which house or star a node falls in. Defaults to "mean".'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'mahadasha': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string', 'example': 'Jupiter', 'description': 'Mahadasha planet name, case-insensitive (e.g., jupiter, Jupiter, JUPITER all work). Valid: Ketu, Venus, Sun, Moon, Mars, Rahu, Jupiter, Saturn, Mercury.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}, 'significators': {'type': 'boolean', 'default': False, 'example': False, 'description': 'Set true to attach the KP significators of each period lord: its star lord, sub lord, occupied house, the houses it signifies at levels L1 to L4, and a strength grade. Off by default, so responses stay exactly as they are for clients that only need dates. Requires the birth latitude and longitude, since significators are read off a Placidus house chart, and uses the same ayanamsa frame selected above.'}}}
Output schema
{'type': 'object', 'required': ['mahadashaLord', 'moonLongitude', 'ayanamsa', 'ayanamsaType', 'mahadashaPeriod', 'antardashas'], 'properties': {'focus': {'enum': ['general', 'finance'], 'type': 'string'}, 'ayanamsa': {'type': 'number'}, 'antardashas': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'startDate', 'endDate', 'durationYears', 'mahadashaLord'], 'properties': {'planet': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}, 'durationYears': {'type': 'number'}, 'mahadashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'significators': {'type': 'object', 'required': ['house', 'starLord', 'signifies', 'signifiedHouses', 'strongHouses', 'strength'], 'properties': {'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'subLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'strength': {'type': 'object', 'required': ['score', 'grade', 'label'], 'properties': {'grade': {'enum': ['A', 'B', 'C', 'D'], 'type': 'string'}, 'label': {'enum': ['very-strong', 'strong', 'moderate', 'weak'], 'type': 'string'}, 'score': {'type': 'number', 'maximum': 100, 'minimum': 0}}}, 'signifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}, 'strongHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'signifiedHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}}, 'interpretation': {'type': 'string'}, 'nominalStartDate': {'type': 'string'}}}, 'maxItems': 9, 'minItems': 1}, 'houseThemes': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'ayanamsaType': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string'}, 'mahadashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'moonLongitude': {'type': 'number'}, 'mahadashaPeriod': {'type': 'object', 'required': ['planet', 'startDate', 'endDate', 'durationYears'], 'properties': {'planet': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}, 'durationYears': {'type': 'number'}, 'significators': {'type': 'object', 'required': ['house', 'starLord', 'signifies', 'signifiedHouses', 'strongHouses', 'strength'], 'properties': {'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'subLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'strength': {'type': 'object', 'required': ['score', 'grade', 'label'], 'properties': {'grade': {'enum': ['A', 'B', 'C', 'D'], 'type': 'string'}, 'label': {'enum': ['very-strong', 'strong', 'moderate', 'weak'], 'type': 'string'}, 'score': {'type': 'number', 'maximum': 100, 'minimum': 0}}}, 'signifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}, 'strongHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'signifiedHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}}, 'interpretation': {'type': 'string'}, 'nominalStartDate': {'type': 'string'}}}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209, 'mahadasha': 'Saturn', 'antardasha': 'Venus'}], 'required': ['mahadasha', 'antardasha', 'date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'focus': {'enum': ['general', 'finance'], 'type': 'string', 'default': 'general', 'example': 'general', 'description': 'Which signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general".'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'nodeType': {'enum': ['mean', 'true'], 'type': 'string', 'default': 'mean', 'example': 'mean', 'description': 'Lunar node type for Rahu and Ketu, used ONLY when "significators" is true. Dasha dates themselves come from the Moon and never move with this field. "mean" uses the smooth mean node (traditional default). "true" uses the osculating node, which swings up to 1.5 degrees either side of mean over a 173-day cycle and can therefore change which house or star a node falls in. Defaults to "mean".'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'mahadasha': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string', 'example': 'Saturn', 'description': 'Mahadasha planet name, case-insensitive (e.g. saturn, Saturn, SATURN all work). Valid: Ketu, Venus, Sun, Moon, Mars, Rahu, Jupiter, Saturn, Mercury.'}, 'antardasha': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string', 'example': 'Venus', 'description': 'Antardasha (bhukti) planet name inside that Mahadasha, case-insensitive. Every Mahadasha contains all 9 lords, so a repeat such as saturn/saturn is valid.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}, 'significators': {'type': 'boolean', 'default': False, 'example': False, 'description': 'Set true to attach the KP significators of each period lord: its star lord, sub lord, occupied house, the houses it signifies at levels L1 to L4, and a strength grade. Off by default, so responses stay exactly as they are for clients that only need dates. Requires the birth latitude and longitude, since significators are read off a Placidus house chart, and uses the same ayanamsa frame selected above.'}}}
Output schema
{'type': 'object', 'required': ['mahadashaLord', 'antardashaLord', 'moonLongitude', 'ayanamsa', 'ayanamsaType', 'antardashaPeriod', 'pratyantardashas'], 'properties': {'focus': {'enum': ['general', 'finance'], 'type': 'string'}, 'ayanamsa': {'type': 'number'}, 'houseThemes': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'ayanamsaType': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string'}, 'mahadashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'moonLongitude': {'type': 'number'}, 'antardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'antardashaPeriod': {'type': 'object', 'required': ['planet', 'startDate', 'endDate', 'durationYears', 'mahadashaLord'], 'properties': {'planet': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}, 'durationYears': {'type': 'number'}, 'mahadashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'significators': {'type': 'object', 'required': ['house', 'starLord', 'signifies', 'signifiedHouses', 'strongHouses', 'strength'], 'properties': {'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'subLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'strength': {'type': 'object', 'required': ['score', 'grade', 'label'], 'properties': {'grade': {'enum': ['A', 'B', 'C', 'D'], 'type': 'string'}, 'label': {'enum': ['very-strong', 'strong', 'moderate', 'weak'], 'type': 'string'}, 'score': {'type': 'number', 'maximum': 100, 'minimum': 0}}}, 'signifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}, 'strongHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'signifiedHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}}, 'interpretation': {'type': 'string'}, 'nominalStartDate': {'type': 'string'}}}, 'pratyantardashas': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'startDate', 'endDate', 'durationYears', 'mahadashaLord', 'antardashaLord'], 'properties': {'planet': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}, 'durationYears': {'type': 'number'}, 'mahadashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'significators': {'type': 'object', 'required': ['house', 'starLord', 'signifies', 'signifiedHouses', 'strongHouses', 'strength'], 'properties': {'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'subLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'strength': {'type': 'object', 'required': ['score', 'grade', 'label'], 'properties': {'grade': {'enum': ['A', 'B', 'C', 'D'], 'type': 'string'}, 'label': {'enum': ['very-strong', 'strong', 'moderate', 'weak'], 'type': 'string'}, 'score': {'type': 'number', 'maximum': 100, 'minimum': 0}}}, 'signifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}, 'strongHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'signifiedHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}}, 'antardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'interpretation': {'type': 'string'}, 'nominalStartDate': {'type': 'string'}}}, 'maxItems': 9, 'minItems': 1}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209, 'mahadasha': 'Saturn', 'antardasha': 'Venus', 'pratyantardasha': 'Rahu'}], 'required': ['mahadasha', 'antardasha', 'pratyantardasha', 'date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'focus': {'enum': ['general', 'finance'], 'type': 'string', 'default': 'general', 'example': 'general', 'description': 'Which signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general".'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'nodeType': {'enum': ['mean', 'true'], 'type': 'string', 'default': 'mean', 'example': 'mean', 'description': 'Lunar node type for Rahu and Ketu, used ONLY when "significators" is true. Dasha dates themselves come from the Moon and never move with this field. "mean" uses the smooth mean node (traditional default). "true" uses the osculating node, which swings up to 1.5 degrees either side of mean over a 173-day cycle and can therefore change which house or star a node falls in. Defaults to "mean".'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'mahadasha': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string', 'example': 'Saturn', 'description': 'Mahadasha planet name, case-insensitive. Valid: Ketu, Venus, Sun, Moon, Mars, Rahu, Jupiter, Saturn, Mercury.'}, 'antardasha': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string', 'example': 'Venus', 'description': 'Antardasha (bhukti) planet name inside that Mahadasha, case-insensitive.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}, 'significators': {'type': 'boolean', 'default': False, 'example': False, 'description': 'Set true to attach the KP significators of each period lord: its star lord, sub lord, occupied house, the houses it signifies at levels L1 to L4, and a strength grade. Off by default, so responses stay exactly as they are for clients that only need dates. Requires the birth latitude and longitude, since significators are read off a Placidus house chart, and uses the same ayanamsa frame selected above.'}, 'pratyantardasha': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string', 'example': 'Rahu', 'description': 'Pratyantardasha (antara) planet name inside that Antardasha, case-insensitive.'}}}
Output schema
{'type': 'object', 'required': ['mahadashaLord', 'antardashaLord', 'pratyantardashaLord', 'moonLongitude', 'ayanamsa', 'ayanamsaType', 'pratyantardashaPeriod', 'sookshmaDashas'], 'properties': {'focus': {'enum': ['general', 'finance'], 'type': 'string'}, 'ayanamsa': {'type': 'number'}, 'houseThemes': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'ayanamsaType': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string'}, 'mahadashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'moonLongitude': {'type': 'number'}, 'antardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'sookshmaDashas': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'startDate', 'endDate', 'durationYears', 'mahadashaLord', 'antardashaLord', 'pratyantardashaLord'], 'properties': {'planet': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}, 'durationYears': {'type': 'number'}, 'mahadashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'significators': {'type': 'object', 'required': ['house', 'starLord', 'signifies', 'signifiedHouses', 'strongHouses', 'strength'], 'properties': {'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'subLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'strength': {'type': 'object', 'required': ['score', 'grade', 'label'], 'properties': {'grade': {'enum': ['A', 'B', 'C', 'D'], 'type': 'string'}, 'label': {'enum': ['very-strong', 'strong', 'moderate', 'weak'], 'type': 'string'}, 'score': {'type': 'number', 'maximum': 100, 'minimum': 0}}}, 'signifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}, 'strongHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'signifiedHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}}, 'antardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'interpretation': {'type': 'string'}, 'nominalStartDate': {'type': 'string'}, 'pratyantardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}}}, 'maxItems': 9, 'minItems': 1}, 'pratyantardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'pratyantardashaPeriod': {'type': 'object', 'required': ['planet', 'startDate', 'endDate', 'durationYears', 'mahadashaLord', 'antardashaLord'], 'properties': {'planet': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}, 'durationYears': {'type': 'number'}, 'mahadashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'significators': {'type': 'object', 'required': ['house', 'starLord', 'signifies', 'signifiedHouses', 'strongHouses', 'strength'], 'properties': {'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'subLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'strength': {'type': 'object', 'required': ['score', 'grade', 'label'], 'properties': {'grade': {'enum': ['A', 'B', 'C', 'D'], 'type': 'string'}, 'label': {'enum': ['very-strong', 'strong', 'moderate', 'weak'], 'type': 'string'}, 'score': {'type': 'number', 'maximum': 100, 'minimum': 0}}}, 'signifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}, 'strongHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'signifiedHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}}, 'antardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'interpretation': {'type': 'string'}, 'nominalStartDate': {'type': 'string'}}}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'sookshma': 'Jupiter', 'longitude': 77.209, 'mahadasha': 'Saturn', 'antardasha': 'Venus', 'pratyantardasha': 'Rahu'}], 'required': ['mahadasha', 'antardasha', 'pratyantardasha', 'sookshma', 'date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'focus': {'enum': ['general', 'finance'], 'type': 'string', 'default': 'general', 'example': 'general', 'description': 'Which signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general".'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'nodeType': {'enum': ['mean', 'true'], 'type': 'string', 'default': 'mean', 'example': 'mean', 'description': 'Lunar node type for Rahu and Ketu, used ONLY when "significators" is true. Dasha dates themselves come from the Moon and never move with this field. "mean" uses the smooth mean node (traditional default). "true" uses the osculating node, which swings up to 1.5 degrees either side of mean over a 173-day cycle and can therefore change which house or star a node falls in. Defaults to "mean".'}, 'sookshma': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string', 'example': 'Jupiter', 'description': 'Sookshma dasha planet name inside that Pratyantardasha, case-insensitive. Every full period contains all 9 lords, so a repeat such as saturn/saturn/saturn/saturn is valid.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'mahadasha': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string', 'example': 'Saturn', 'description': 'Mahadasha planet name, case-insensitive. Valid: Ketu, Venus, Sun, Moon, Mars, Rahu, Jupiter, Saturn, Mercury.'}, 'antardasha': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string', 'example': 'Venus', 'description': 'Antardasha (bhukti) planet name inside that Mahadasha, case-insensitive.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}, 'significators': {'type': 'boolean', 'default': False, 'example': False, 'description': 'Set true to attach the KP significators of each period lord: its star lord, sub lord, occupied house, the houses it signifies at levels L1 to L4, and a strength grade. Off by default, so responses stay exactly as they are for clients that only need dates. Requires the birth latitude and longitude, since significators are read off a Placidus house chart, and uses the same ayanamsa frame selected above.'}, 'pratyantardasha': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string', 'example': 'Rahu', 'description': 'Pratyantardasha (antara) planet name inside that Antardasha, case-insensitive.'}}}
Output schema
{'type': 'object', 'required': ['mahadashaLord', 'antardashaLord', 'pratyantardashaLord', 'sookshmaLord', 'moonLongitude', 'ayanamsa', 'ayanamsaType', 'sookshmaPeriod', 'pranaDashas'], 'properties': {'focus': {'enum': ['general', 'finance'], 'type': 'string'}, 'ayanamsa': {'type': 'number'}, 'houseThemes': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'pranaDashas': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'startDate', 'endDate', 'durationYears', 'mahadashaLord', 'antardashaLord', 'pratyantardashaLord', 'sookshmaLord'], 'properties': {'planet': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}, 'sookshmaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'durationYears': {'type': 'number'}, 'mahadashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'significators': {'type': 'object', 'required': ['house', 'starLord', 'signifies', 'signifiedHouses', 'strongHouses', 'strength'], 'properties': {'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'subLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'strength': {'type': 'object', 'required': ['score', 'grade', 'label'], 'properties': {'grade': {'enum': ['A', 'B', 'C', 'D'], 'type': 'string'}, 'label': {'enum': ['very-strong', 'strong', 'moderate', 'weak'], 'type': 'string'}, 'score': {'type': 'number', 'maximum': 100, 'minimum': 0}}}, 'signifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}, 'strongHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'signifiedHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}}, 'antardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'interpretation': {'type': 'string'}, 'nominalStartDate': {'type': 'string'}, 'pratyantardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}}}, 'maxItems': 9, 'minItems': 1}, 'ayanamsaType': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string'}, 'sookshmaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'mahadashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'moonLongitude': {'type': 'number'}, 'antardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'sookshmaPeriod': {'type': 'object', 'required': ['planet', 'startDate', 'endDate', 'durationYears', 'mahadashaLord', 'antardashaLord', 'pratyantardashaLord'], 'properties': {'planet': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}, 'durationYears': {'type': 'number'}, 'mahadashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'significators': {'type': 'object', 'required': ['house', 'starLord', 'signifies', 'signifiedHouses', 'strongHouses', 'strength'], 'properties': {'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'subLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'strength': {'type': 'object', 'required': ['score', 'grade', 'label'], 'properties': {'grade': {'enum': ['A', 'B', 'C', 'D'], 'type': 'string'}, 'label': {'enum': ['very-strong', 'strong', 'moderate', 'weak'], 'type': 'string'}, 'score': {'type': 'number', 'maximum': 100, 'minimum': 0}}}, 'signifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}, 'strongHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'signifiedHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}}, 'antardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'interpretation': {'type': 'string'}, 'nominalStartDate': {'type': 'string'}, 'pratyantardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}}}, 'pratyantardashaLord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'division': 10, 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude', 'division'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'division': {'type': 'integer', 'example': 10, 'description': 'Divisional chart number. Each division reveals a specific life area. Supported: 2 (Hora, wealth), 3 (Drekkana, siblings), 4 (Chaturthamsa, property), 7 (Saptamsa, children), 9 (Navamsa, marriage), 10 (Dasamsa, career), 12 (Dwadasamsa, parents), 16 (Shodasamsa, vehicles), 20 (Vimsamsa, spirituality), 24 (Chaturvimsamsa, education), 27 (Bhamsa, strength), 30 (Trimsamsa, misfortunes), 40 (Khavedamsa, merit), 45 (Akshavedamsa, character), 60 (Shashtiamsa, past life karma).'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['division', 'frame', 'chart', 'vargottama'], 'properties': {'chart': {'type': 'object', 'required': ['meta', 'aries'], 'properties': {'meta': {'type': 'object', 'additionalProperties': {'type': 'object', 'required': ['graha', 'rashi', 'longitude', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'rashi': {'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'isRetrograde': {'type': 'boolean'}}}}, 'aries': {'type': 'object', 'required': ['rashi', 'signs'], 'properties': {'rashi': {'type': 'string'}, 'signs': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'longitude', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'isRetrograde': {'type': 'boolean'}}}}}}}, 'additionalProperties': {}}, 'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'division': {'type': 'object', 'required': ['number', 'name', 'sanskritName', 'degreesPerDivision', 'significance'], 'properties': {'name': {'type': 'string'}, 'number': {'type': 'integer'}, 'sanskritName': {'type': 'string'}, 'significance': {'type': 'string'}, 'degreesPerDivision': {'type': 'string'}}}, 'vargottama': {'type': 'array', 'items': {'type': 'string'}}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['frame', 'present', 'description'], 'properties': {'type': {'type': 'string'}, 'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'effects': {'type': 'object', 'required': ['duration', 'career', 'health', 'relationships', 'mindset', 'positive'], 'properties': {'career': {'type': 'string'}, 'health': {'type': 'string'}, 'mindset': {'type': 'string'}, 'duration': {'type': 'string'}, 'positive': {'type': 'string'}, 'relationships': {'type': 'string'}}}, 'present': {'type': 'boolean'}, 'remedies': {'type': 'array', 'items': {'type': 'string'}}, 'severity': {'enum': ['Mild', 'Moderate', 'Severe'], 'type': 'string'}, 'description': {'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['frame', 'present', 'description'], 'properties': {'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'effects': {'type': 'object', 'required': ['marriage', 'personality', 'timing', 'relationships'], 'properties': {'timing': {'type': 'string'}, 'marriage': {'type': 'string'}, 'personality': {'type': 'string'}, 'relationships': {'type': 'string'}}}, 'present': {'type': 'boolean'}, 'remedies': {'type': 'array', 'items': {'type': 'string'}}, 'severity': {'enum': ['Mild', 'Moderate', 'Severe'], 'type': 'string'}, 'exceptions': {'type': 'array', 'items': {'type': 'string'}}, 'description': {'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['frame', 'present', 'description'], 'properties': {'type': {'type': 'string'}, 'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'effects': {'type': 'object', 'required': ['general', 'phases'], 'properties': {'phases': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'general': {'type': 'string'}}}, 'present': {'type': 'boolean'}, 'remedies': {'type': 'array', 'items': {'type': 'string'}}, 'severity': {'enum': ['Mild', 'Moderate', 'Severe'], 'type': 'string'}, 'description': {'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{'year': 2026}], 'required': ['year'], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'year': {'type': 'integer', 'example': 2026, 'maximum': 2649, 'minimum': 1551, 'description': 'Year to scan for ecliptic crossings (1551 to 2649).'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 0, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved once, at the start of the window, and that offset applies to every time in the response. Output times are converted to this timezone. Defaults to 0 (UTC).'}, 'coordinateSystem': {'enum': ['sidereal', 'tropical'], 'type': 'string', 'default': 'sidereal', 'example': 'sidereal', 'description': 'Coordinate system for longitude output. "sidereal" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. "tropical" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to "sidereal".'}}}
Output schema
{'type': 'object', 'required': ['year', 'timezone', 'events'], 'properties': {'year': {'type': 'number'}, 'events': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'date', 'time', 'datetime', 'direction', 'longitude', 'sign'], 'properties': {'date': {'type': 'string'}, 'sign': {'type': 'string'}, 'time': {'type': 'string'}, 'planet': {'type': 'string'}, 'datetime': {'type': 'string'}, 'direction': {'enum': ['ascending', 'descending'], 'type': 'string'}, 'longitude': {'type': 'number'}, 'signLocalized': {'type': 'string'}, 'planetLocalized': {'type': 'string'}}}}, 'timezone': {'type': 'number'}}}
Input schema
{'type': 'object', 'examples': [{'date': '2026-07-25', 'latitude': 19.076, 'longitude': 72.8777}], 'required': ['date', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '2026-07-25', 'description': 'Local calendar date to judge, in YYYY-MM-DD format. There is deliberately no time field: heliacal visibility is a once-a-day verdict read at that day sunrise or sunset, so a clock time could only pick a different day.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'latitude': {'type': 'number', 'example': 19.076, 'maximum': 60, 'minimum': -60, 'description': 'Observer latitude in decimal degrees, restricted to -60 to 60. Visibility depends on the observer, unlike the longitude orb every chart API reports, because the angle the ecliptic makes with the horizon decides how long a graha lingers after the Sun. Beyond this band the classical rule stops describing solar glare and starts describing polar horizon geometry, so it is declined rather than answered wrongly.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: IANA name (e.g. "Asia/Kolkata", "Europe/London") OR decimal hours from UTC. Fixes which local day the date refers to, and every datetime in the response is returned in it. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 72.8777, 'maximum': 180, 'minimum': -180, 'description': 'Observer longitude in decimal degrees. Sets local sunrise and sunset, which are the instants the verdict is read at. Example: Mumbai 72.8777, Delhi 77.2090, London -0.1278.'}}}
Output schema
{'type': 'object', 'required': ['date', 'grahas'], 'properties': {'date': {'type': 'string'}, 'grahas': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'visible', 'horizon', 'timeDegrees', 'kalamsa', 'retrograde', 'longitudeSeparation', 'lastEvent', 'nextEvent'], 'properties': {'graha': {'type': 'string'}, 'horizon': {'enum': ['east', 'west'], 'type': 'string'}, 'kalamsa': {'type': 'number'}, 'visible': {'type': 'boolean'}, 'lastEvent': {'type': ['object', 'null'], 'required': ['type', 'horizon', 'datetime', 'timeDegrees', 'kalamsa'], 'properties': {'type': {'enum': ['udaya', 'asta'], 'type': 'string'}, 'horizon': {'enum': ['east', 'west'], 'type': 'string'}, 'kalamsa': {'type': 'number'}, 'datetime': {'type': 'string'}, 'timeDegrees': {'type': 'number'}}}, 'nextEvent': {'type': ['object', 'null'], 'required': ['type', 'horizon', 'datetime', 'timeDegrees', 'kalamsa'], 'properties': {'type': {'enum': ['udaya', 'asta'], 'type': 'string'}, 'horizon': {'enum': ['east', 'west'], 'type': 'string'}, 'kalamsa': {'type': 'number'}, 'datetime': {'type': 'string'}, 'timeDegrees': {'type': 'number'}}}, 'retrograde': {'type': 'boolean'}, 'timeDegrees': {'type': 'number'}, 'longitudeSeparation': {'type': 'number'}}}}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. CRITICAL for accurate Lagna and house calculations.'}, 'focus': {'enum': ['general', 'finance'], 'type': 'string', 'default': 'general', 'example': 'general', 'description': 'Which signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general".'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'kp-newcomb', 'example': 'kp-newcomb', 'description': 'Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula (most common for KP). "kp-old" uses the Krishnamurti original table. "lahiri" uses Lahiri/Chitrapaksha ayanamsa matching most traditional Vedic software. "raman" uses the B.V. Raman ayanamsa, about 1.45 degrees below Lahiri. "custom" allows providing your own value via ayanamsaValue. Defaults to "kp-newcomb".'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees'}, 'nodeType': {'enum': ['mean', 'true'], 'type': 'string', 'default': 'mean', 'example': 'mean', 'description': 'Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5 (IST) for Vedic astrology.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['meta', 'ascendant', 'cusps', 'planets', 'nodes', 'significators', 'houseThemes', 'focus'], 'properties': {'meta': {'type': 'object', 'required': ['date', 'time', 'latitude', 'longitude', 'timezone', 'ayanamsa', 'ayanamsaType', 'houseSystem'], 'properties': {'date': {'type': 'string'}, 'time': {'type': 'string'}, 'ayanamsa': {'type': 'number'}, 'latitude': {'type': 'number'}, 'timezone': {'type': 'number'}, 'longitude': {'type': 'number'}, 'houseSystem': {'type': 'string'}, 'ayanamsaType': {'type': 'string'}}}, 'cusps': {'type': 'array', 'items': {'type': 'object', 'required': ['house', 'longitude', 'sign', 'signLord', 'nakshatra', 'nakshatraLord', 'pada', 'starLord', 'subLord', 'subSubLord', 'kpNumber'], 'properties': {'pada': {'type': 'number'}, 'sign': {'type': 'string'}, 'house': {'type': 'number'}, 'subLord': {'type': 'string'}, 'kpNumber': {'type': 'number'}, 'signLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'string'}, 'subSubLord': {'type': 'string'}, 'nakshatraLord': {'type': 'string'}}}}, 'focus': {'enum': ['general', 'finance'], 'type': 'string'}, 'nodes': {'type': 'object', 'required': ['rahu', 'ketu'], 'properties': {'ketu': {'type': 'object', 'required': ['longitude', 'sign', 'signLord', 'house', 'nakshatra', 'pada', 'starLord', 'subLord', 'subSubLord', 'kpNumber'], 'properties': {'pada': {'type': 'number'}, 'sign': {'type': 'string'}, 'house': {'type': 'number'}, 'subLord': {'type': 'string'}, 'kpNumber': {'type': 'number'}, 'signLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'string'}, 'subSubLord': {'type': 'string'}}}, 'rahu': {'type': 'object', 'required': ['longitude', 'sign', 'signLord', 'house', 'nakshatra', 'pada', 'starLord', 'subLord', 'subSubLord', 'kpNumber'], 'properties': {'pada': {'type': 'number'}, 'sign': {'type': 'string'}, 'house': {'type': 'number'}, 'subLord': {'type': 'string'}, 'kpNumber': {'type': 'number'}, 'signLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'string'}, 'subSubLord': {'type': 'string'}}}}}, 'planets': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'longitude', 'sign', 'signLord', 'house', 'nakshatra', 'nakshatraLord', 'pada', 'starLord', 'subLord', 'subSubLord', 'kpNumber', 'retrograde'], 'properties': {'pada': {'type': 'number'}, 'sign': {'type': 'string'}, 'house': {'type': 'number'}, 'planet': {'type': 'string'}, 'subLord': {'type': 'string'}, 'kpNumber': {'type': 'number'}, 'signLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'string'}, 'retrograde': {'type': 'boolean'}, 'subSubLord': {'type': 'string'}, 'nakshatraLord': {'type': 'string'}}}}, 'ascendant': {'type': 'object', 'required': ['longitude', 'sign', 'signLord', 'nakshatra', 'nakshatraLord', 'pada', 'starLord', 'subLord', 'subSubLord', 'kpNumber'], 'properties': {'pada': {'type': 'number'}, 'sign': {'type': 'string'}, 'subLord': {'type': 'string'}, 'kpNumber': {'type': 'number'}, 'signLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'string'}, 'subSubLord': {'type': 'string'}, 'nakshatraLord': {'type': 'string'}}}, 'houseThemes': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'significators': {'type': 'object', 'required': ['houseWise', 'planetWise'], 'properties': {'houseWise': {'type': 'array', 'items': {'type': 'object', 'required': ['house', 'significators', 'all'], 'properties': {'all': {'type': 'array', 'items': {'type': 'string'}}, 'house': {'type': 'number'}, 'significators': {'type': 'array', 'items': {'type': 'object', 'required': ['level', 'description', 'planets'], 'properties': {'level': {'type': 'number'}, 'planets': {'type': 'array', 'items': {'type': 'string'}}, 'description': {'type': 'string'}}}}}}}, 'planetWise': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'signifies', 'allHouses'], 'properties': {'planet': {'type': 'string'}, 'allHouses': {'type': 'array', 'items': {'type': 'number'}}, 'signifies': {'type': 'array', 'items': {'type': 'object', 'required': ['level', 'houses'], 'properties': {'level': {'type': 'number'}, 'houses': {'type': 'array', 'items': {'type': 'number'}}}}}}}}}}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format'}, 'focus': {'enum': ['general', 'finance'], 'type': 'string', 'default': 'general', 'example': 'general', 'description': 'Which signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general".'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'kp-newcomb', 'example': 'kp-newcomb', 'description': 'Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula (most common for KP). "kp-old" uses the Krishnamurti original table. "lahiri" uses Lahiri/Chitrapaksha ayanamsa matching most traditional Vedic software. "raman" uses the B.V. Raman ayanamsa, about 1.45 degrees below Lahiri. "custom" allows providing your own value via ayanamsaValue. Defaults to "kp-newcomb".'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5 (IST) for Vedic astrology.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['ayanamsa', 'houseSystem', 'cusps', 'houseThemes', 'focus'], 'properties': {'cusps': {'type': 'array', 'items': {'type': 'object', 'required': ['house', 'longitude', 'sign', 'signLord', 'nakshatra', 'nakshatraLord', 'pada', 'starLord', 'subLord', 'subSubLord', 'kpNumber'], 'properties': {'pada': {'type': 'number'}, 'sign': {'type': 'string'}, 'house': {'type': 'number'}, 'subLord': {'type': 'string'}, 'kpNumber': {'type': 'number'}, 'signLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'string'}, 'subSubLord': {'type': 'string'}, 'nakshatraLord': {'type': 'string'}}}}, 'focus': {'enum': ['general', 'finance'], 'type': 'string'}, 'ayanamsa': {'type': 'number'}, 'houseSystem': {'type': 'string'}, 'houseThemes': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}}}
Input schema
{'type': 'object', 'examples': [{'latitude': 28.6139, 'birthDate': '1990-06-15', 'birthTime': '07:30:00', 'longitude': 77.209}], 'required': ['birthDate', 'birthTime', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '2026-09-14', 'description': 'Civil date to read, YYYY-MM-DD in the request timezone. Defaults to today (UTC). The Moon windows cover this date from midnight to midnight.'}, 'time': {'type': 'string', 'format': 'time', 'example': '12:00:00', 'description': 'Reading moment on that date, HH:MM:SS local. The ruling planets and the running sookshma lord are read at this instant. Defaults to 12:00:00; pass a market open or any hour for an intraday read.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'weights': {'type': 'object', 'default': {'cusps': 30, 'dasha': 40, 'moonWindows': 15, 'rulingPlanets': 15}, 'example': {'cusps': 30, 'dasha': 40, 'moonWindows': 15, 'rulingPlanets': 15}, 'required': ['cusps', 'dasha', 'rulingPlanets', 'moonWindows'], 'properties': {'cusps': {'type': 'number', 'example': 30, 'maximum': 100, 'minimum': 0, 'description': 'Percent of the final score the cusps layer carries.'}, 'dasha': {'type': 'number', 'example': 40, 'maximum': 100, 'minimum': 0, 'description': 'Percent of the final score the dasha layer carries.'}, 'moonWindows': {'type': 'number', 'example': 15, 'maximum': 100, 'minimum': 0, 'description': 'Percent of the final score the moonWindows layer carries.'}, 'rulingPlanets': {'type': 'number', 'example': 15, 'maximum': 100, 'minimum': 0, 'description': 'Percent of the final score the rulingPlanets layer carries.'}}, 'description': 'Layer weights in percent, all four required, summing to 100. Defaults to the convention, cusps 30, dasha 40, rulingPlanets 15, moonWindows 15. Seventy percent of the default sits on the cusps and the outer dasha levels, which hold for months, so a chart reads inside a narrow band all month and the bands separate charts more than days. Move weight onto rulingPlanets and moonWindows for a reading that turns with the day.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman'], 'type': 'string', 'default': 'kp-newcomb', 'example': 'kp-newcomb', 'description': 'Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula, the most common choice for KP astrology. "kp-old" uses the Krishnamurti original table from KP Reader-1 with constant precession rate. "lahiri" uses Lahiri/Chitrapaksha ayanamsa, matching most traditional Vedic software. "raman" uses the B.V. Raman ayanamsa from Hindu Predictive Astrology, a recognised traditional school that sits about 1.45 degrees below Lahiri. Defaults to "kp-newcomb".'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth latitude in decimal degrees. Sets the Placidus cusps; also the place the ruling planets and the Moon windows are read at.'}, 'nodeType': {'enum': ['mean', 'true'], 'type': 'string', 'default': 'mean', 'example': 'mean', 'description': 'Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone as an IANA name (Asia/Kolkata) or decimal hours from UTC. Applies to the birth time, to the reading date and time, and to every local timestamp in the response. IANA names resolve to the offset in force on the date being read.'}, 'birthDate': {'type': 'string', 'format': 'date', 'example': '1990-06-15', 'description': 'Birth date, YYYY-MM-DD. Fixes the Placidus cusps, the four tier significators and the Vimshottari balance every layer reads.'}, 'birthTime': {'type': 'string', 'format': 'time', 'example': '07:30:00', 'description': 'Birth time, HH:MM:SS, 24 hour, local to the birth place. The cusp sub lords move about one sub every four minutes of clock time, so this is the input the whole reading is most sensitive to.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth longitude in decimal degrees, east positive.'}, 'gainHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'default': [2, 11], 'example': [2, 11], 'maxItems': 12, 'minItems': 1, 'description': 'Houses whose significators count as gain, 1 to 12. Defaults to the convention, 2 and 11. Override it to run your own school: the two lists may not share a house.'}, 'lossHouses': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'default': [6, 8, 12], 'example': [6, 8, 12], 'maxItems': 12, 'minItems': 1, 'description': 'Houses whose significators count as loss, 1 to 12. Defaults to the convention, 6 and 8 and 12. Override it to run your own school: the two lists may not share a house.'}}}
Output schema
{'type': 'object', 'required': ['date', 'readingAt', 'ayanamsaDegrees', 'houses', 'significators', 'layers', 'score', 'band', 'bestWindow', 'worstWindows'], 'properties': {'band': {'enum': ['strong', 'favourable', 'mixed', 'caution', 'unfavourable'], 'type': 'string'}, 'date': {'type': 'string'}, 'score': {'type': 'number'}, 'houses': {'type': 'object', 'required': ['gain', 'loss'], 'properties': {'gain': {'type': 'array', 'items': {'type': 'number'}}, 'loss': {'type': 'array', 'items': {'type': 'number'}}}}, 'layers': {'type': 'object', 'required': ['cusps', 'dasha', 'rulingPlanets', 'moonWindows'], 'properties': {'cusps': {'type': 'object', 'required': ['layer', 'weight', 'score', 'rows'], 'properties': {'rows': {'type': 'array', 'items': {'type': 'object', 'required': ['inGain', 'inLoss', 'verdict', 'house', 'longitude', 'signLord', 'starLord', 'subLord', 'inverted', 'score'], 'properties': {'house': {'type': 'number'}, 'score': {'type': 'number'}, 'inGain': {'type': 'boolean'}, 'inLoss': {'type': 'boolean'}, 'subLord': {'type': 'string'}, 'verdict': {'enum': ['favourable', 'mixed', 'unfavourable', 'neutral'], 'type': 'string'}, 'inverted': {'type': 'boolean'}, 'signLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'longitude': {'type': 'number'}}}}, 'layer': {'enum': ['cusps'], 'type': 'string'}, 'score': {'type': 'number'}, 'weight': {'type': 'number'}}}, 'dasha': {'type': 'object', 'required': ['layer', 'weight', 'score', 'rows'], 'properties': {'rows': {'type': 'array', 'items': {'type': 'object', 'required': ['inGain', 'inLoss', 'verdict', 'level', 'lord', 'startDate', 'endDate', 'retrograde', 'score', 'weight'], 'properties': {'lord': {'type': 'string'}, 'level': {'enum': ['mahadasha', 'antardasha', 'pratyantardasha', 'sookshmaDasha'], 'type': 'string'}, 'score': {'type': 'number'}, 'inGain': {'type': 'boolean'}, 'inLoss': {'type': 'boolean'}, 'weight': {'type': 'number'}, 'endDate': {'type': 'string'}, 'verdict': {'enum': ['favourable', 'mixed', 'unfavourable', 'neutral'], 'type': 'string'}, 'startDate': {'type': 'string'}, 'retrograde': {'type': 'boolean'}}}}, 'layer': {'enum': ['dasha'], 'type': 'string'}, 'score': {'type': 'number'}, 'weight': {'type': 'number'}}}, 'moonWindows': {'type': 'object', 'required': ['layer', 'weight', 'score', 'rows'], 'properties': {'rows': {'type': 'array', 'items': {'type': 'object', 'required': ['inGain', 'inLoss', 'verdict', 'from', 'to', 'subLord', 'score'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'score': {'type': 'number'}, 'inGain': {'type': 'boolean'}, 'inLoss': {'type': 'boolean'}, 'subLord': {'type': 'string'}, 'verdict': {'enum': ['favourable', 'mixed', 'unfavourable', 'neutral'], 'type': 'string'}}}}, 'layer': {'enum': ['moonWindows'], 'type': 'string'}, 'score': {'type': 'number'}, 'weight': {'type': 'number'}}}, 'rulingPlanets': {'type': 'object', 'required': ['layer', 'weight', 'score', 'rows'], 'properties': {'rows': {'type': 'array', 'items': {'type': 'object', 'required': ['inGain', 'inLoss', 'verdict', 'planet', 'retrograde', 'score'], 'properties': {'score': {'type': 'number'}, 'inGain': {'type': 'boolean'}, 'inLoss': {'type': 'boolean'}, 'planet': {'type': 'string'}, 'verdict': {'enum': ['favourable', 'mixed', 'unfavourable', 'neutral'], 'type': 'string'}, 'retrograde': {'type': 'boolean'}}}}, 'layer': {'enum': ['rulingPlanets'], 'type': 'string'}, 'score': {'type': 'number'}, 'weight': {'type': 'number'}}}}}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman'], 'type': 'string', 'default': 'kp-newcomb'}, 'readingAt': {'type': 'string'}, 'bestWindow': {'type': ['object', 'null'], 'required': ['inGain', 'inLoss', 'verdict', 'from', 'to', 'subLord', 'score'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'score': {'type': 'number'}, 'inGain': {'type': 'boolean'}, 'inLoss': {'type': 'boolean'}, 'subLord': {'type': 'string'}, 'verdict': {'enum': ['favourable', 'mixed', 'unfavourable', 'neutral'], 'type': 'string'}}}, 'worstWindows': {'type': 'array', 'items': {'type': 'object', 'required': ['inGain', 'inLoss', 'verdict', 'from', 'to', 'subLord', 'score'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'score': {'type': 'number'}, 'inGain': {'type': 'boolean'}, 'inLoss': {'type': 'boolean'}, 'subLord': {'type': 'string'}, 'verdict': {'enum': ['favourable', 'mixed', 'unfavourable', 'neutral'], 'type': 'string'}}}}, 'significators': {'type': 'object', 'required': ['gain', 'loss', 'byHouse'], 'properties': {'gain': {'type': 'array', 'items': {'type': 'string'}}, 'loss': {'type': 'array', 'items': {'type': 'string'}}, 'byHouse': {'type': 'array', 'items': {'type': 'object', 'required': ['house', 'group', 'significators'], 'properties': {'group': {'enum': ['gain', 'loss'], 'type': 'string'}, 'house': {'type': 'number'}, 'significators': {'type': 'array', 'items': {'type': 'string'}}}}}}}, 'ayanamsaDegrees': {'type': 'number'}}}
Input schema
{'type': 'object', 'examples': [{'date': '2026-03-08', 'time': '14:30:00', 'latitude': 19.076, 'longitude': 72.8777, 'horaryNumber': 108}], 'required': ['horaryNumber', 'date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '2026-03-08', 'description': 'Date the question was taken up for judgment, YYYY-MM-DD. Not a birth date: a horary chart needs no birth details at all, which is the point of the method.'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '14:30:00', 'description': 'Time the question was taken up for judgment, 24-hour HH:MM:SS. In KP practice this is the moment the astrologer receives and understands the question, not the moment the querent first thought of it. It sets every planetary position and all twelve cusps except the Ascendant.'}, 'focus': {'enum': ['general', 'finance'], 'type': 'string', 'default': 'general', 'example': 'general', 'description': 'Which signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general".'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'kp-newcomb', 'example': 'kp-newcomb', 'description': 'Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula (most common for KP). "kp-old" uses the Krishnamurti original table. "lahiri" uses Lahiri/Chitrapaksha ayanamsa matching most traditional Vedic software. "raman" uses the B.V. Raman ayanamsa, about 1.45 degrees below Lahiri. "custom" allows providing your own value via ayanamsaValue. Defaults to "kp-newcomb".'}, 'latitude': {'type': 'number', 'example': 19.076, 'maximum': 90, 'minimum': -90, 'description': 'Latitude where the question is judged, decimal degrees. The house cusps are Placidus and therefore latitude dependent, so this is the place of judgment, not the querent birthplace.'}, 'nodeType': {'enum': ['mean', 'true'], 'type': 'string', 'default': 'mean', 'example': 'mean', 'description': 'Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: IANA name (e.g. "Asia/Kolkata") OR decimal hours from UTC. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 72.8777, 'maximum': 180, 'minimum': -180, 'description': 'Longitude where the question is judged, decimal degrees.'}, 'horaryNumber': {'type': 'integer', 'example': 108, 'maximum': 249, 'minimum': 1, 'description': 'Horary number from 1 to 249, given by the querent while focused on their question. It maps to one of the 249 KP sub divisions of the zodiac, and that division sets the Ascendant of the chart. The querent should give the first number that comes to mind and use it once for that question; the astrologer never chooses it. Numbers outside 1 to 249 are rejected rather than wrapped, because a wrapped number would silently answer a different question.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['horaryNumber', 'questionTime', 'ayanamsaType', 'ayanamsaDegrees', 'ascendant', 'cusps', 'planets', 'rulingPlanets', 'significators', 'houseThemes', 'focus'], 'properties': {'cusps': {'type': 'array', 'items': {'type': 'object', 'required': ['house', 'longitude', 'sign', 'star', 'starLord', 'subLord', 'kpNumber'], 'properties': {'sign': {'type': 'string'}, 'star': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'subLord': {'type': 'string'}, 'kpNumber': {'type': 'integer'}, 'starLord': {'type': 'string'}, 'longitude': {'type': 'number'}}}}, 'focus': {'enum': ['general', 'finance'], 'type': 'string'}, 'planets': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'longitude', 'house', 'isRetrograde', 'subSubLord', 'sign', 'star', 'starLord', 'subLord', 'kpNumber'], 'properties': {'sign': {'type': 'string'}, 'star': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'planet': {'type': 'string'}, 'subLord': {'type': 'string'}, 'kpNumber': {'type': 'integer'}, 'starLord': {'type': 'string'}, 'longitude': {'type': 'number'}, 'subSubLord': {'type': 'string'}, 'isRetrograde': {'type': 'boolean'}}}}, 'ascendant': {'type': 'object', 'required': ['longitude', 'degreeInSign', 'sign', 'star', 'starLord', 'subLord', 'kpNumber', 'spanFrom', 'spanTo'], 'properties': {'sign': {'type': 'string'}, 'star': {'type': 'string'}, 'spanTo': {'type': 'number'}, 'subLord': {'type': 'string'}, 'kpNumber': {'type': 'integer'}, 'spanFrom': {'type': 'number'}, 'starLord': {'type': 'string'}, 'longitude': {'type': 'number'}, 'degreeInSign': {'type': 'number'}}}, 'houseThemes': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'ayanamsaType': {'type': 'string'}, 'horaryNumber': {'type': 'integer'}, 'questionTime': {'type': 'string'}, 'rulingPlanets': {'type': 'object', 'required': ['dayLord', 'moonSignLord', 'moonStarLord', 'moonSublord', 'moonSubSublord', 'lagnaSignLord', 'lagnaStarLord', 'lagnaSublord', 'lagnaSubSublord', 'rulingPlanets'], 'properties': {'dayLord': {'type': 'string'}, 'moonSublord': {'type': 'string'}, 'lagnaSublord': {'type': 'string'}, 'moonSignLord': {'type': 'string'}, 'moonStarLord': {'type': 'string'}, 'lagnaSignLord': {'type': 'string'}, 'lagnaStarLord': {'type': 'string'}, 'rulingPlanets': {'type': 'array', 'items': {'type': 'string'}}, 'moonSubSublord': {'type': 'string'}, 'lagnaSubSublord': {'type': 'string'}}}, 'significators': {'type': 'object', 'required': ['houseWise', 'planetWise'], 'properties': {'houseWise': {'type': 'array', 'items': {'type': 'object', 'required': ['house', 'significators', 'all'], 'properties': {'all': {'type': 'array', 'items': {'type': 'string'}}, 'house': {'type': 'number'}, 'significators': {'type': 'array', 'items': {'type': 'object', 'required': ['level', 'description', 'planets'], 'properties': {'level': {'type': 'number'}, 'planets': {'type': 'array', 'items': {'type': 'string'}}, 'description': {'type': 'string'}}}}}}}, 'planetWise': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'signifies', 'allHouses'], 'properties': {'planet': {'type': 'string'}, 'allHouses': {'type': 'array', 'items': {'type': 'number'}}, 'signifies': {'type': 'array', 'items': {'type': 'object', 'required': ['level', 'houses'], 'properties': {'level': {'type': 'number'}, 'houses': {'type': 'array', 'items': {'type': 'number'}}}}}}}}}}, 'ayanamsaDegrees': {'type': 'number'}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'kp-newcomb', 'example': 'kp-newcomb', 'description': 'Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula (most common for KP). "kp-old" uses the Krishnamurti original table. "lahiri" uses Lahiri/Chitrapaksha ayanamsa matching most traditional Vedic software. "raman" uses the B.V. Raman ayanamsa, about 1.45 degrees below Lahiri. "custom" allows providing your own value via ayanamsaValue. Defaults to "kp-newcomb".'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees'}, 'nodeType': {'enum': ['mean', 'true'], 'type': 'string', 'default': 'mean', 'example': 'mean', 'description': 'Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5 (IST) for Vedic astrology.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['ayanamsa', 'planets'], 'properties': {'planets': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'longitude', 'sign', 'signLord', 'nakshatra', 'nakshatraNumber', 'nakshatraLord', 'pada', 'starLord', 'subLord', 'subSubLord', 'kpNumber', 'retrograde'], 'properties': {'pada': {'type': 'number'}, 'sign': {'type': 'string'}, 'planet': {'type': 'string'}, 'subLord': {'type': 'string'}, 'kpNumber': {'type': 'number'}, 'signLord': {'type': 'string'}, 'starLord': {'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'string'}, 'retrograde': {'type': 'boolean'}, 'subSubLord': {'type': 'string'}, 'nakshatraLord': {'type': 'string'}, 'nakshatraNumber': {'type': 'number'}}}}, 'ayanamsa': {'type': 'number'}}}
Input schema
{'type': 'object', 'examples': [{'latitude': 28.6139, 'longitude': 77.209, 'endDatetime': '2025-01-15T23:59:00Z', 'startDatetime': '2025-01-15T00:00:00Z', 'intervalMinutes': 60}], 'required': ['startDatetime', 'endDatetime', 'intervalMinutes', 'latitude', 'longitude'], 'properties': {'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman'], 'type': 'string', 'default': 'kp-newcomb', 'example': 'kp-newcomb', 'description': 'Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula, the most common choice for KP astrology. "kp-old" uses the Krishnamurti original table from KP Reader-1 with constant precession rate. "lahiri" uses Lahiri/Chitrapaksha ayanamsa, matching most traditional Vedic software. "raman" uses the B.V. Raman ayanamsa from Hindu Predictive Astrology, a recognised traditional school that sits about 1.45 degrees below Lahiri. Defaults to "kp-newcomb".'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Observer latitude in decimal degrees (for future Lagna calculations)'}, 'nodeType': {'enum': ['mean', 'true'], 'type': 'string', 'default': 'mean', 'example': 'mean', 'description': 'Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 0, 'example': 5.5, 'description': 'IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC. IANA resolved to the DST-correct offset for the startDatetime date. When non-zero, all datetimes are treated as local time in this timezone (Z suffix is ignored). Defaults to 0 (UTC).'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Observer longitude in decimal degrees (for future Lagna calculations)'}, 'endDatetime': {'type': 'string', 'format': 'date-time', 'example': '2025-01-15T23:59:00Z', 'description': 'End datetime in ISO 8601 (YYYY-MM-DDTHH:MM:SS). Maximum 7 days from start. Interpreted as local time when a non-zero timezone is provided (a trailing Z is accepted but ignored); with timezone 0 it is UTC.'}, 'startDatetime': {'type': 'string', 'format': 'date-time', 'example': '2025-01-15T00:00:00Z', 'description': 'Start datetime in ISO 8601 (YYYY-MM-DDTHH:MM:SS). Interpreted as local time when a non-zero timezone is provided (a trailing Z is accepted but ignored); with timezone 0 it is UTC.'}, 'intervalMinutes': {'type': 'number', 'example': 60, 'maximum': 1440, 'minimum': 15, 'description': 'Time between calculations in minutes. Range: 15 (quarter-hourly) to 1440 (daily).'}}}
Output schema
{'type': 'object', 'required': ['startDatetime', 'endDatetime', 'intervalMinutes', 'totalIntervals', 'ayanamsa', 'ayanamsaValue', 'intervals'], 'properties': {'ayanamsa': {'type': 'string'}, 'intervals': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'time', 'datetime', 'planets'], 'properties': {'date': {'type': 'string'}, 'time': {'type': 'string'}, 'planets': {'type': 'object', 'additionalProperties': {'type': 'object', 'required': ['longitude', 'degreeInSign', 'sign', 'signLord', 'nakshatra', 'nakshatraLord', 'sublord', 'subSublord', 'kpNumber', 'isRetrograde'], 'properties': {'sign': {'type': 'string'}, 'sublord': {'type': 'string'}, 'kpNumber': {'type': 'number'}, 'signLord': {'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'string'}, 'subSublord': {'type': 'string'}, 'degreeInSign': {'type': 'number'}, 'isRetrograde': {'type': 'boolean'}, 'nakshatraLord': {'type': 'string'}}}}, 'datetime': {'type': 'string'}}}}, 'endDatetime': {'type': 'string'}, 'ayanamsaValue': {'type': 'number'}, 'startDatetime': {'type': 'string'}, 'totalIntervals': {'type': 'number'}, 'intervalMinutes': {'type': 'number'}}}
Input schema
{'type': 'object', 'examples': [{'planet': 'Sun', 'endDate': '2025-12-31', 'startDate': '2025-01-01'}], 'required': ['planet', 'startDate', 'endDate'], 'properties': {'planet': {'enum': ['Sun', 'Moon', 'Mars', 'Mercury', 'Jupiter', 'Venus', 'Saturn'], 'type': 'string', 'example': 'Sun', 'description': 'Planet to track (case-insensitive). Valid values: Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'endDate': {'type': 'string', 'format': 'date', 'example': '2025-12-31', 'description': 'Last day of the search, inclusive (YYYY-MM-DD), a calendar day in `timezone`. Not before startDate, at most 365 days after it.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman'], 'type': 'string', 'default': 'kp-newcomb', 'example': 'kp-newcomb', 'description': 'Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula, the most common choice for KP astrology. "kp-old" uses the Krishnamurti original table from KP Reader-1 with constant precession rate. "lahiri" uses Lahiri/Chitrapaksha ayanamsa, matching most traditional Vedic software. "raman" uses the B.V. Raman ayanamsa from Hindu Predictive Astrology, a recognised traditional school that sits about 1.45 degrees below Lahiri. Defaults to "kp-newcomb".'}, 'nodeType': {'enum': ['mean', 'true'], 'type': 'string', 'default': 'mean', 'example': 'mean', 'description': 'Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 0, 'example': 5.5, 'description': 'IANA name (e.g. "America/New_York", "Europe/London"), a fixed offset like "+05:30", OR decimal hours from UTC. One offset is taken from startDate (DST-correct for that date) and used for the whole range, so a window crossing a daylight-saving change is read on the earlier offset throughout; send a fixed offset if you need that explicit. The two dates are read as calendar days in this timezone and output times are converted to it, so one date with 5.5 is that whole Indian day. Defaults to 0 (UTC).'}, 'startDate': {'type': 'string', 'format': 'date', 'example': '2025-01-01', 'description': 'First day of the search (YYYY-MM-DD), a calendar day in `timezone`.'}}}
Output schema
{'type': 'object', 'required': ['planet', 'startDate', 'endDate', 'totalChanges', 'changes'], 'properties': {'planet': {'type': 'string'}, 'changes': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'time', 'datetime', 'fromSign', 'fromSignLord', 'toSign', 'toSignLord'], 'properties': {'date': {'type': 'string'}, 'time': {'type': 'string'}, 'toSign': {'type': 'string'}, 'datetime': {'type': 'string'}, 'fromSign': {'type': 'string'}, 'toSignLord': {'type': 'string'}, 'fromSignLord': {'type': 'string'}}}}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}, 'totalChanges': {'type': 'number'}}}
Input schema
{'type': 'object', 'examples': [{'latitude': 28.6139, 'longitude': 77.209}], 'required': ['latitude', 'longitude'], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'focus': {'enum': ['general', 'finance'], 'type': 'string', 'default': 'general', 'example': 'general', 'description': 'Which signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general".'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'datetime': {'type': 'string', 'format': 'date-time', 'example': '2025-01-15T10:30:00Z', 'description': 'ISO 8601 datetime (YYYY-MM-DDTHH:MM:SS) for ruling planets. Defaults to current time. Interpreted as local time when a non-zero timezone is provided (a trailing Z is accepted but ignored); with timezone 0 it is UTC.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Observer latitude in decimal degrees'}, 'nodeType': {'enum': ['mean', 'true'], 'type': 'string', 'default': 'mean', 'example': 'mean', 'description': 'Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC. IANA resolved to the DST-correct offset based on birthDate or datetime. Defaults to 5.5.'}, 'birthDate': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date (YYYY-MM-DD) to calculate significators. If provided with birthTime, response includes which houses each ruling planet signifies.'}, 'birthTime': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time (HH:MM:SS) for significator calculation. Required if birthDate is provided.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Observer longitude in decimal degrees'}}}
Output schema
{'type': 'object', 'required': ['datetime', 'location', 'dayLord', 'moonSignLord', 'moonStarLord', 'moonSublord', 'moonSubSublord', 'lagnaSignLord', 'lagnaStarLord', 'lagnaSublord', 'lagnaSubSublord', 'rulingPlanets'], 'properties': {'focus': {'enum': ['general', 'finance'], 'type': 'string'}, 'dayLord': {'type': 'string'}, 'datetime': {'type': 'string'}, 'location': {'type': 'object', 'required': ['latitude', 'longitude', 'timezone'], 'properties': {'latitude': {'type': 'number'}, 'timezone': {'type': 'number'}, 'longitude': {'type': 'number'}}}, 'houseThemes': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'moonSublord': {'type': 'string'}, 'lagnaSublord': {'type': 'string'}, 'moonSignLord': {'type': 'string'}, 'moonStarLord': {'type': 'string'}, 'lagnaSignLord': {'type': 'string'}, 'lagnaStarLord': {'type': 'string'}, 'rulingPlanets': {'type': 'array', 'items': {'type': 'string'}}, 'significators': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'signifies'], 'properties': {'planet': {'type': 'string'}, 'signifies': {'type': 'array', 'items': {'type': 'number'}}}}}, 'moonSubSublord': {'type': 'string'}, 'lagnaSubSublord': {'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{'latitude': 17.385044, 'longitude': 78.486671, 'endDatetime': '2026-02-03T01:00:00Z', 'startDatetime': '2026-02-03T00:00:00Z', 'intervalMinutes': 5}], 'required': ['startDatetime', 'endDatetime', 'intervalMinutes', 'latitude', 'longitude'], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'focus': {'enum': ['general', 'finance'], 'type': 'string', 'default': 'general', 'example': 'general', 'description': 'Which signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general".'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman'], 'type': 'string', 'default': 'kp-newcomb', 'example': 'kp-newcomb', 'description': 'Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula, the most common choice for KP astrology. "kp-old" uses the Krishnamurti original table from KP Reader-1 with constant precession rate. "lahiri" uses Lahiri/Chitrapaksha ayanamsa, matching most traditional Vedic software. "raman" uses the B.V. Raman ayanamsa from Hindu Predictive Astrology, a recognised traditional school that sits about 1.45 degrees below Lahiri. Defaults to "kp-newcomb".'}, 'latitude': {'type': 'number', 'example': 17.385044, 'maximum': 90, 'minimum': -90, 'description': 'Observer latitude in decimal degrees'}, 'nodeType': {'enum': ['mean', 'true'], 'type': 'string', 'default': 'mean', 'example': 'mean', 'description': 'Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved once, at the start of the window, and that offset applies to every time in the response. When non-zero, all datetimes are treated as local time in this timezone (Z suffix is ignored). Output times are also converted to this timezone. Defaults to 5.5 (IST).'}, 'longitude': {'type': 'number', 'example': 78.486671, 'maximum': 180, 'minimum': -180, 'description': 'Observer longitude in decimal degrees'}, 'endDatetime': {'type': 'string', 'format': 'date-time', 'example': '2026-02-03T01:00:00Z', 'description': 'End of the interval range in ISO 8601 (YYYY-MM-DDTHH:MM:SS). Interpreted as local time when a non-zero timezone is provided (a trailing Z is accepted but ignored); with timezone 0 it is UTC.'}, 'startDatetime': {'type': 'string', 'format': 'date-time', 'example': '2026-02-03T00:00:00Z', 'description': 'Start of the interval range in ISO 8601 (YYYY-MM-DDTHH:MM:SS). Interpreted as local time when a non-zero timezone is provided (a trailing Z is accepted but ignored); with timezone 0 it is UTC.'}, 'intervalMinutes': {'type': 'integer', 'example': 5, 'maximum': 1440, 'minimum': 1, 'description': 'Interval between calculations in minutes (1-1440). Use 1-5 for birth time rectification.'}}}
Output schema
{'type': 'object', 'required': ['startDatetime', 'endDatetime', 'intervalMinutes', 'location', 'totalIntervals', 'intervals', 'houseThemes', 'focus'], 'properties': {'focus': {'enum': ['general', 'finance'], 'type': 'string'}, 'location': {'type': 'object', 'required': ['latitude', 'longitude', 'timezone'], 'properties': {'latitude': {'type': 'number'}, 'timezone': {'type': 'number'}, 'longitude': {'type': 'number'}}}, 'intervals': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'time', 'datetime', 'dayLord', 'moonSignLord', 'moonStarLord', 'moonSublord', 'moonSubSublord', 'lagnaSignLord', 'lagnaStarLord', 'lagnaSublord', 'lagnaSubSublord', 'rulingPlanets', 'significators', 'moonSignLordSignifies', 'moonStarLordSignifies', 'moonSublordSignifies', 'moonSignifies'], 'properties': {'date': {'type': 'string'}, 'time': {'type': 'string'}, 'dayLord': {'type': 'string'}, 'datetime': {'type': 'string'}, 'moonSublord': {'type': 'string'}, 'lagnaSublord': {'type': 'string'}, 'moonSignLord': {'type': 'string'}, 'moonStarLord': {'type': 'string'}, 'lagnaSignLord': {'type': 'string'}, 'lagnaStarLord': {'type': 'string'}, 'moonSignifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}, 'rulingPlanets': {'type': 'array', 'items': {'type': 'string'}}, 'significators': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'signifies'], 'properties': {'planet': {'type': 'string'}, 'signifies': {'type': 'array', 'items': {'type': 'number'}}}}}, 'moonSubSublord': {'type': 'string'}, 'lagnaSubSublord': {'type': 'string'}, 'moonSublordSignifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}, 'moonSignLordSignifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}, 'moonStarLordSignifies': {'type': 'object', 'required': ['L1', 'L2', 'L3', 'L4'], 'properties': {'L1': {'type': 'array', 'items': {'type': 'integer'}}, 'L2': {'type': 'array', 'items': {'type': 'integer'}}, 'L3': {'type': 'array', 'items': {'type': 'integer'}}, 'L4': {'type': 'array', 'items': {'type': 'integer'}}}}}}}, 'endDatetime': {'type': 'string'}, 'houseThemes': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'startDatetime': {'type': 'string'}, 'totalIntervals': {'type': 'number'}, 'intervalMinutes': {'type': 'number'}}}
Input schema
{'type': 'object', 'examples': [{'planet': 'Moon', 'endDate': '2025-01-31', 'startDate': '2025-01-01'}], 'required': ['planet', 'startDate', 'endDate'], 'properties': {'planet': {'enum': ['Sun', 'Moon', 'Mars', 'Mercury', 'Jupiter', 'Venus', 'Saturn'], 'type': 'string', 'example': 'Moon', 'description': 'Planet to track (case-insensitive). Valid values: Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'endDate': {'type': 'string', 'format': 'date', 'example': '2025-01-31', 'description': 'Last day of the search, inclusive (YYYY-MM-DD), a calendar day in `timezone`. Not before startDate, at most 365 days after it.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman'], 'type': 'string', 'default': 'kp-newcomb', 'example': 'kp-newcomb', 'description': 'Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula, the most common choice for KP astrology. "kp-old" uses the Krishnamurti original table from KP Reader-1 with constant precession rate. "lahiri" uses Lahiri/Chitrapaksha ayanamsa, matching most traditional Vedic software. "raman" uses the B.V. Raman ayanamsa from Hindu Predictive Astrology, a recognised traditional school that sits about 1.45 degrees below Lahiri. Defaults to "kp-newcomb".'}, 'nodeType': {'enum': ['mean', 'true'], 'type': 'string', 'default': 'mean', 'example': 'mean', 'description': 'Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 0, 'example': 5.5, 'description': 'IANA name (e.g. "America/New_York", "Europe/London"), a fixed offset like "+05:30", OR decimal hours from UTC. One offset is taken from startDate (DST-correct for that date) and used for the whole range, so a window crossing a daylight-saving change is read on the earlier offset throughout; send a fixed offset if you need that explicit. The two dates are read as calendar days in this timezone and output times are converted to it, so one date with 5.5 is that whole Indian day. Defaults to 0 (UTC).'}, 'startDate': {'type': 'string', 'format': 'date', 'example': '2025-01-01', 'description': 'First day of the search (YYYY-MM-DD), a calendar day in `timezone`.'}}}
Output schema
{'type': 'object', 'required': ['planet', 'startDate', 'endDate', 'totalChanges', 'changes'], 'properties': {'planet': {'type': 'string'}, 'changes': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'time', 'datetime', 'fromKp', 'toKp', 'fromSublord', 'toSublord', 'fromNakshatraLord', 'toNakshatraLord'], 'properties': {'date': {'type': 'string'}, 'time': {'type': 'string'}, 'toKp': {'type': 'number'}, 'fromKp': {'type': 'number'}, 'datetime': {'type': 'string'}, 'toSublord': {'type': 'string'}, 'fromSublord': {'type': 'string'}, 'toNakshatraLord': {'type': 'string'}, 'fromNakshatraLord': {'type': 'string'}}}}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}, 'totalChanges': {'type': 'number'}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['chart', 'frame', 'vargottama', 'vargottamaExplanation'], 'properties': {'chart': {'type': 'object', 'required': ['meta', 'aries'], 'properties': {'meta': {'type': 'object', 'additionalProperties': {'type': 'object', 'required': ['graha', 'rashi', 'longitude', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'rashi': {'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'isRetrograde': {'type': 'boolean'}}}}, 'aries': {'type': 'object', 'required': ['rashi', 'signs'], 'properties': {'rashi': {'type': 'string'}, 'signs': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'longitude', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key', 'lord'], 'properties': {'key': {'type': 'number'}, 'lord': {'enum': ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury'], 'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}}}, 'isRetrograde': {'type': 'boolean'}}}}}}}, 'additionalProperties': {}}, 'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'vargottama': {'type': 'array', 'items': {'type': 'string'}}, 'vargottamaExplanation': {'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{'date': '2025-12-17', 'time': '12:00:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '2025-12-17', 'description': 'Date in YYYY-MM-DD format. Panchang elements (Tithi, Nakshatra, Yoga, Karana) are calculated for this date.'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '12:00:00', 'description': 'Time in HH:MM:SS format (24-hour). Determines the exact Moon and Sun positions for tithi and nakshatra calculation.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Observer latitude in decimal degrees. Determines sunrise/sunset times which define the Vara (weekday) and muhurta boundaries.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5 (IST).'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Observer longitude in decimal degrees. Affects local time calculations for sunrise/sunset-dependent panchang elements.'}}}
Output schema
{'type': 'object', 'required': ['tithi', 'nakshatra', 'yoga', 'karana', 'sunLongitude', 'moonLongitude'], 'properties': {'yoga': {'type': 'object', 'required': ['number', 'name'], 'properties': {'name': {'type': 'string'}, 'number': {'type': 'integer', 'maximum': 27, 'minimum': 1}, 'characteristics': {'type': 'string'}}}, 'tithi': {'type': 'object', 'required': ['number', 'name', 'paksha', 'percent'], 'properties': {'name': {'type': 'string'}, 'deity': {'type': 'string'}, 'number': {'type': 'integer', 'maximum': 30, 'minimum': 1}, 'paksha': {'enum': ['Shukla', 'Krishna'], 'type': 'string'}, 'element': {'type': 'string'}, 'percent': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'rulingPlanet': {'type': 'string'}}}, 'karana': {'type': 'object', 'required': ['number', 'name'], 'properties': {'name': {'type': 'string'}, 'type': {'type': 'string'}, 'number': {'type': 'integer'}, 'characteristics': {'type': 'string'}}}, 'nakshatra': {'type': 'object', 'required': ['number', 'name', 'lord', 'pada'], 'properties': {'lord': {'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'integer', 'maximum': 4, 'minimum': 1}, 'deity': {'type': 'string'}, 'number': {'type': 'integer', 'maximum': 27, 'minimum': 1}, 'symbol': {'type': 'string'}, 'characteristics': {'type': 'string'}}}, 'sunLongitude': {'type': 'number'}, 'moonLongitude': {'type': 'number'}}}
Input schema
{'type': 'object', 'examples': [{'date': '2026-02-03', 'latitude': 17.385044, 'longitude': 78.486671}], 'required': ['date', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '2026-02-03', 'description': 'Date in YYYY-MM-DD format. A single-digit month or day is accepted and zero-padded (2026-3-5 becomes 2026-03-05). Impossible calendar dates are rejected. Calculations that read planetary positions support 1550-01-02 to 2650-01-22; outside that span they answer 400 with code date_out_of_range, and a calculation that reads a window around the date (a sunrise search, a run of days) may answer the same 400 for a date within a few days of either end.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'latitude': {'type': 'number', 'example': 17.385044, 'maximum': 90, 'minimum': -90, 'description': 'Observer latitude in decimal degrees. Determines sunrise and sunset times which define day/night boundaries for muhurta calculations.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Used for accurate sunrise/sunset calculation and output time formatting. Essential for correct Choghadiya periods outside IST. Defaults to 5.5 (IST).'}, 'longitude': {'type': 'number', 'example': 78.486671, 'maximum': 180, 'minimum': -180, 'description': 'Observer longitude in decimal degrees. Affects local time calculations for sunrise, sunset, and muhurta period boundaries.'}}}
Output schema
{'type': 'object', 'required': ['date', 'dayChoghadiya', 'nightChoghadiya'], 'properties': {'date': {'type': 'string'}, 'dayChoghadiya': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'lord', 'effect', 'start', 'end'], 'properties': {'end': {'type': 'string'}, 'lord': {'type': 'string'}, 'name': {'enum': ['Udveg', 'Amrit', 'Rog', 'Labh', 'Shubh', 'Char', 'Kaal'], 'type': 'string'}, 'start': {'type': 'string'}, 'effect': {'enum': ['Good', 'Bad'], 'type': 'string'}}}}, 'nightChoghadiya': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'lord', 'effect', 'start', 'end'], 'properties': {'end': {'type': 'string'}, 'lord': {'type': 'string'}, 'name': {'enum': ['Udveg', 'Amrit', 'Rog', 'Labh', 'Shubh', 'Char', 'Kaal'], 'type': 'string'}, 'start': {'type': 'string'}, 'effect': {'enum': ['Good', 'Bad'], 'type': 'string'}}}}}}
Input schema
{'type': 'object', 'examples': [{'date': '2026-02-03', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '2026-02-03', 'description': 'Date in YYYY-MM-DD format. A single-digit month or day is accepted and zero-padded (2026-3-5 becomes 2026-03-05). Impossible calendar dates are rejected. Calculations that read planetary positions support 1550-01-02 to 2650-01-22; outside that span they answer 400 with code date_out_of_range, and a calculation that reads a window around the date (a sunrise search, a run of days) may answer the same 400 for a date within a few days of either end.'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Observer latitude in decimal degrees. Determines sunrise and sunset times which define day/night boundaries for muhurta calculations.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Send the timezone that matches the coordinates: sunrise, sunset and every muhurta boundary are found by searching forward from local midnight, so the default anchors the search to an Indian day. Omitting it for a location outside IST returns a correctly ordered set of periods for the wrong window, shifted by the difference between 5.5 and the real offset. Defaults to 5.5 (IST).'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Observer longitude in decimal degrees. Affects local time calculations for sunrise, sunset, and muhurta period boundaries.'}}}
Output schema
{'type': 'object', 'required': ['date', 'location', 'vara', 'sunrise', 'sunset', 'moonrise', 'moonset', 'moonSign', 'sunSign', 'sunNakshatra', 'tithi', 'nakshatra', 'yoga', 'karana', 'hora', 'rahuKaal', 'yamaganda', 'gulika', 'abhijitMuhurta', 'brahmaMuhurta', 'vijayaMuhurta', 'nishitaMuhurta', 'godhuliMuhurta', 'pratahSandhya', 'sayahnaSandhya', 'durMuhurta', 'varjyam', 'amritKalam', 'chandrabalam', 'tarabalam', 'panchaka', 'bhadra', 'transitions'], 'properties': {'date': {'type': 'string'}, 'hora': {'type': 'object', 'required': ['current', 'number', 'start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}, 'number': {'type': 'number'}, 'current': {'type': 'string'}}}, 'vara': {'type': 'object', 'required': ['name', 'sanskritName', 'lord'], 'properties': {'lord': {'type': 'string'}, 'name': {'type': 'string'}, 'sanskritName': {'type': 'string'}}}, 'yoga': {'type': 'object', 'required': ['number', 'name'], 'properties': {'name': {'type': 'string'}, 'number': {'type': 'integer', 'maximum': 27, 'minimum': 1}, 'characteristics': {'type': 'string'}}}, 'tithi': {'type': 'object', 'required': ['number', 'name', 'paksha', 'percent'], 'properties': {'name': {'type': 'string'}, 'deity': {'type': 'string'}, 'number': {'type': 'integer', 'maximum': 30, 'minimum': 1}, 'paksha': {'enum': ['Shukla', 'Krishna'], 'type': 'string'}, 'element': {'type': 'string'}, 'percent': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'rulingPlanet': {'type': 'string'}}}, 'bhadra': {'type': 'object', 'required': ['active', 'startsAt', 'endsAt'], 'properties': {'active': {'type': 'boolean'}, 'endsAt': {'type': ['string', 'null']}, 'startsAt': {'type': ['string', 'null']}}}, 'gulika': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}}}, 'karana': {'type': 'object', 'required': ['number', 'name'], 'properties': {'name': {'type': 'string'}, 'type': {'type': 'string'}, 'number': {'type': 'integer'}, 'characteristics': {'type': 'string'}}}, 'sunset': {'type': 'string'}, 'moonset': {'type': ['string', 'null']}, 'sunSign': {'type': 'object', 'required': ['name', 'sanskritName'], 'properties': {'name': {'type': 'string'}, 'sanskritName': {'type': 'string'}}}, 'sunrise': {'type': 'string'}, 'varjyam': {'type': 'array', 'items': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}}}}, 'location': {'type': 'object', 'required': ['latitude', 'longitude', 'timezone'], 'properties': {'latitude': {'type': 'number'}, 'timezone': {'type': 'number'}, 'longitude': {'type': 'number'}}}, 'moonSign': {'type': 'object', 'required': ['name', 'sanskritName'], 'properties': {'name': {'type': 'string'}, 'sanskritName': {'type': 'string'}}}, 'moonrise': {'type': ['string', 'null']}, 'panchaka': {'type': 'object', 'required': ['active', 'type', 'startsAt', 'endsAt'], 'properties': {'type': {'type': ['string', 'null']}, 'active': {'type': 'boolean'}, 'endsAt': {'type': ['string', 'null']}, 'startsAt': {'type': ['string', 'null']}}}, 'rahuKaal': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}}}, 'nakshatra': {'type': 'object', 'required': ['number', 'name', 'lord', 'pada'], 'properties': {'lord': {'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'integer', 'maximum': 4, 'minimum': 1}, 'deity': {'type': 'string'}, 'number': {'type': 'integer', 'maximum': 27, 'minimum': 1}, 'symbol': {'type': 'string'}, 'characteristics': {'type': 'string'}}}, 'tarabalam': {'type': 'object', 'required': ['favorableNakshatras', 'unfavorableNakshatras'], 'properties': {'favorableNakshatras': {'type': 'array', 'items': {'type': 'string'}}, 'unfavorableNakshatras': {'type': 'array', 'items': {'type': 'string'}}}}, 'yamaganda': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}}}, 'amritKalam': {'type': 'array', 'items': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}}}}, 'durMuhurta': {'type': 'array', 'items': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}}}}, 'transitions': {'type': 'object', 'required': ['tithi', 'yoga', 'karana', 'nakshatra', 'moonSign'], 'properties': {'yoga': {'type': 'object', 'required': ['endsAt', 'next'], 'properties': {'next': {'type': 'string'}, 'endsAt': {'type': 'string'}}}, 'tithi': {'type': 'object', 'required': ['endsAt', 'next'], 'properties': {'next': {'type': 'string'}, 'endsAt': {'type': 'string'}}}, 'karana': {'type': 'object', 'required': ['endsAt', 'next'], 'properties': {'next': {'type': 'string'}, 'endsAt': {'type': 'string'}}}, 'moonSign': {'type': 'object', 'required': ['current', 'changesAt', 'next'], 'properties': {'next': {'type': 'string'}, 'current': {'type': 'string'}, 'changesAt': {'type': 'string'}}}, 'nakshatra': {'type': 'object', 'required': ['endsAt', 'next', 'nextPada'], 'properties': {'next': {'type': 'string'}, 'endsAt': {'type': 'string'}, 'nextPada': {'type': 'number'}}}}}, 'chandrabalam': {'type': 'object', 'required': ['favorableRashis', 'ashtamaChandraRashi'], 'properties': {'favorableRashis': {'type': 'array', 'items': {'type': 'string'}}, 'ashtamaChandraRashi': {'type': 'string'}}}, 'sunNakshatra': {'type': 'object', 'required': ['number', 'name', 'lord', 'pada'], 'properties': {'lord': {'type': 'string'}, 'name': {'type': 'string'}, 'pada': {'type': 'integer', 'maximum': 4, 'minimum': 1}, 'number': {'type': 'integer', 'maximum': 27, 'minimum': 1}}}, 'brahmaMuhurta': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}}}, 'pratahSandhya': {'type': ['object', 'null'], 'required': ['start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}}}, 'vijayaMuhurta': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}}}, 'abhijitMuhurta': {'type': ['object', 'null'], 'required': ['start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}}}, 'godhuliMuhurta': {'type': ['object', 'null'], 'required': ['start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}}}, 'nishitaMuhurta': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}}}, 'sayahnaSandhya': {'type': ['object', 'null'], 'required': ['start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}}}}}
Input schema
{'type': 'object', 'examples': [{'date': '2026-02-03', 'latitude': 17.385044, 'longitude': 78.486671}], 'required': ['date', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '2026-02-03', 'description': 'Date in YYYY-MM-DD format. A single-digit month or day is accepted and zero-padded (2026-3-5 becomes 2026-03-05). Impossible calendar dates are rejected. Calculations that read planetary positions support 1550-01-02 to 2650-01-22; outside that span they answer 400 with code date_out_of_range, and a calculation that reads a window around the date (a sunrise search, a run of days) may answer the same 400 for a date within a few days of either end.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'latitude': {'type': 'number', 'example': 17.385044, 'maximum': 90, 'minimum': -90, 'description': 'Observer latitude in decimal degrees. Determines sunrise and sunset times which define day/night boundaries for muhurta calculations.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Used for accurate sunrise/sunset calculation and output time formatting. Essential for correct Hora periods outside IST. Defaults to 5.5 (IST).'}, 'longitude': {'type': 'number', 'example': 78.486671, 'maximum': 180, 'minimum': -180, 'description': 'Observer longitude in decimal degrees. Affects local time calculations for sunrise, sunset, and muhurta period boundaries.'}}}
Output schema
{'type': 'object', 'required': ['date', 'dayHoras', 'nightHoras'], 'properties': {'date': {'type': 'string'}, 'dayHoras': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'number', 'start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}, 'number': {'type': 'number'}, 'planet': {'type': 'string'}}}}, 'nightHoras': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'number', 'start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}, 'number': {'type': 'number'}, 'planet': {'type': 'string'}}}}}}
Input schema
{'type': 'object', 'examples': [{'date': '2026-02-03', 'time': '12:00:00', 'latitude': 17.385044, 'longitude': 78.486671}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'orb': {'type': 'number', 'default': 1.5, 'example': 1.5, 'maximum': 3, 'minimum': 0.5, 'description': 'Orb in degrees for parallel/contraparallel detection. Defaults to 1.5°.'}, 'date': {'type': 'string', 'format': 'date', 'example': '2026-02-03', 'description': 'Date in YYYY-MM-DD format. Planetary declinations are calculated for this date to find parallel and contraparallel aspects.'}, 'time': {'type': 'string', 'format': 'time', 'example': '12:00:00', 'description': 'Time in HH:MM:SS format (24-hour). Exact time affects declination values, especially for the fast-moving Moon.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'latitude': {'type': 'number', 'example': 17.385044, 'maximum': 90, 'minimum': -90, 'description': 'Birth latitude in decimal degrees, part of the birth record. Declinations are geocentric, as every published ephemeris prints them, so it does not move them.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5 (IST).'}, 'longitude': {'type': 'number', 'example': 78.486671, 'maximum': 180, 'minimum': -180, 'description': 'Birth longitude in decimal degrees, part of the birth record. Declinations are geocentric, so it does not move them; the instant comes from date, time and timezone.'}}}
Output schema
{'type': 'object', 'required': ['datetime', 'planets', 'parallels'], 'properties': {'planets': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'declination', 'rightAscension'], 'properties': {'name': {'type': 'string'}, 'declination': {'type': 'number'}, 'rightAscension': {'type': 'number'}}}}, 'datetime': {'type': 'string'}, 'parallels': {'type': 'array', 'items': {'type': 'object', 'required': ['planet1', 'planet2', 'type', 'orb', 'dec1', 'dec2'], 'properties': {'orb': {'type': 'number'}, 'dec1': {'type': 'number'}, 'dec2': {'type': 'number'}, 'type': {'enum': ['parallel', 'contraparallel'], 'type': 'string'}, 'planet1': {'type': 'string'}, 'planet2': {'type': 'string'}}}}}}
Input schema
{'type': 'object', 'examples': [{}], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'year': {'type': 'integer', 'example': 2026, 'maximum': 2649, 'minimum': 1551, 'description': 'Year for monthly parallel analysis (1551 to 2649). Defaults to the current year (UTC).'}, 'month': {'type': 'integer', 'example': 2, 'maximum': 12, 'minimum': 1, 'description': 'Month number (1-12) for parallel analysis. Defaults to the current month (UTC).'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 0, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved once, at the start of the window, and that offset applies to every time in the response. Output times are converted to this timezone. Defaults to 0 (UTC).'}}}
Output schema
{'type': 'object', 'required': ['year', 'month', 'events'], 'properties': {'year': {'type': 'number'}, 'month': {'type': 'number'}, 'events': {'type': 'array', 'items': {'type': 'object', 'required': ['planet1', 'planet2', 'type', 'date', 'time', 'datetime', 'orb', 'dec1', 'dec2'], 'properties': {'orb': {'type': 'number'}, 'date': {'type': 'string'}, 'dec1': {'type': 'number'}, 'dec2': {'type': 'number'}, 'time': {'type': 'string'}, 'type': {'enum': ['parallel', 'contraparallel'], 'type': 'string'}, 'planet1': {'type': 'string'}, 'planet2': {'type': 'string'}, 'datetime': {'type': 'string'}, 'planet1Localized': {'type': 'string'}, 'planet2Localized': {'type': 'string'}}}}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'additionalProperties': {'type': 'object', 'required': ['graha', 'rashi', 'longitude', 'house', 'nakshatra', 'isRetrograde'], 'properties': {'graha': {'type': 'string'}, 'house': {'type': 'number'}, 'rashi': {'type': 'string'}, 'awastha': {'enum': ['Bala', 'Kumara', 'Yuva', 'Vriddha', 'Mrita'], 'type': 'string'}, 'latitude': {'type': 'number'}, 'isCombust': {'type': 'boolean'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'object', 'required': ['name', 'pada', 'key'], 'properties': {'key': {'type': 'number'}, 'name': {'type': 'string'}, 'pada': {'type': 'number'}, 'deity': {'type': 'string'}, 'symbol': {'type': 'string'}, 'characteristics': {'type': 'string'}}}, 'isRetrograde': {'type': 'boolean'}, 'rashiDetails': {'type': 'object', 'properties': {'energy': {'type': 'string'}, 'symbol': {'type': 'string'}, 'vedicName': {'type': 'string'}, 'characteristics': {'type': 'string'}}}, 'combustionDistance': {'type': 'number'}}}}
Input schema
{'type': 'object', 'examples': [{}], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'year': {'type': 'integer', 'example': 2026, 'maximum': 2649, 'minimum': 1551, 'description': 'Year for monthly ephemeris (1551 to 2649). Defaults to the current year (UTC).'}, 'month': {'type': 'integer', 'example': 2, 'maximum': 12, 'minimum': 1, 'description': 'Month number (1-12) for ephemeris. Defaults to the current month (UTC).'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'coordinateSystem': {'enum': ['sidereal', 'tropical'], 'type': 'string', 'default': 'sidereal', 'example': 'sidereal', 'description': 'Coordinate system for longitude output. "sidereal" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. "tropical" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to "sidereal".'}}}
Output schema
{'type': 'object', 'required': ['year', 'month', 'days'], 'properties': {'days': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'positions'], 'properties': {'date': {'type': 'string'}, 'positions': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'longitude', 'sign', 'degreeInSign', 'isRetrograde'], 'properties': {'sign': {'type': 'string'}, 'planet': {'type': 'string'}, 'longitude': {'type': 'number'}, 'degreeInSign': {'type': 'number'}, 'isRetrograde': {'type': 'boolean'}, 'signLocalized': {'type': 'string'}, 'planetLocalized': {'type': 'string'}}}}}}}, 'year': {'type': 'number'}, 'month': {'type': 'number'}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['balaThemes', 'frame', 'planets'], 'properties': {'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'planets': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'sthanaBala', 'digBala', 'kalaBala', 'chestaBala', 'naisargikaBala', 'drikBala', 'totalVirupas', 'totalRupas', 'minRequired', 'strengthRatio', 'ishtaPhala', 'kashtaPhala', 'relativeRank'], 'properties': {'planet': {'type': 'string'}, 'digBala': {'type': 'number'}, 'drikBala': {'type': 'number'}, 'kalaBala': {'type': 'number'}, 'chestaBala': {'type': 'number'}, 'ishtaPhala': {'type': 'number'}, 'sthanaBala': {'type': 'number'}, 'totalRupas': {'type': 'number'}, 'kashtaPhala': {'type': 'number'}, 'minRequired': {'type': 'number'}, 'relativeRank': {'type': 'number'}, 'totalVirupas': {'type': 'number'}, 'strengthRatio': {'type': 'number'}, 'naisargikaBala': {'type': 'number'}}}}, 'balaThemes': {'type': 'object', 'required': ['sthanaBala', 'digBala', 'kalaBala', 'chestaBala', 'naisargikaBala', 'drikBala'], 'properties': {'digBala': {'type': 'object', 'required': ['name', 'meaning'], 'properties': {'name': {'type': 'string'}, 'meaning': {'type': 'string'}}}, 'drikBala': {'type': 'object', 'required': ['name', 'meaning'], 'properties': {'name': {'type': 'string'}, 'meaning': {'type': 'string'}}}, 'kalaBala': {'type': 'object', 'required': ['name', 'meaning'], 'properties': {'name': {'type': 'string'}, 'meaning': {'type': 'string'}}}, 'chestaBala': {'type': 'object', 'required': ['name', 'meaning'], 'properties': {'name': {'type': 'string'}, 'meaning': {'type': 'string'}}}, 'sthanaBala': {'type': 'object', 'required': ['name', 'meaning'], 'properties': {'name': {'type': 'string'}, 'meaning': {'type': 'string'}}}, 'naisargikaBala': {'type': 'object', 'required': ['name', 'meaning'], 'properties': {'name': {'type': 'string'}, 'meaning': {'type': 'string'}}}}}}}
Input schema
{'type': 'object', 'examples': [{'latitude': 17.385044, 'birthDate': '1990-07-04', 'birthTime': '10:12:00', 'longitude': 78.486671, 'transitDate': '2026-02-03'}], 'required': ['birthDate', 'birthTime', 'transitDate', 'latitude', 'longitude'], 'properties': {'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'latitude': {'type': 'number', 'example': 17.385044, 'maximum': 90, 'minimum': -90, 'description': 'Observer latitude in decimal degrees. Determines Placidus house cusps for natal chart house assignments.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5 (IST).'}, 'birthDate': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Used to calculate the natal chart against which transits are analyzed.'}, 'birthTime': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in HH:MM:SS format (24-hour). Critical for accurate natal Lagna and Placidus house cusps which determine transit house placements.'}, 'longitude': {'type': 'number', 'example': 78.486671, 'maximum': 180, 'minimum': -180, 'description': 'Observer longitude in decimal degrees. Affects local sidereal time for Lagna and house calculations.'}, 'transitDate': {'type': 'string', 'format': 'date', 'example': '2026-02-03', 'description': 'Transit date to analyze in YYYY-MM-DD format. Planetary positions on this date are overlaid on the natal chart.'}, 'transitTime': {'type': 'string', 'format': 'time', 'example': '12:00:00', 'description': 'Transit time in HH:MM:SS format (24-hour). Affects fast-moving planets like Moon. Defaults to noon.'}, 'coordinateSystem': {'enum': ['sidereal', 'tropical'], 'type': 'string', 'default': 'sidereal', 'example': 'sidereal', 'description': 'Coordinate system for longitude output. "sidereal" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. "tropical" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to "sidereal".'}}}
Output schema
{'type': 'object', 'required': ['frame', 'birthDatetime', 'transitDatetime', 'natalPlanets', 'transitingPlanets', 'keyTransits'], 'properties': {'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'keyTransits': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'description', 'natalHouse', 'houseFromMoon', 'aspects', 'drishti'], 'properties': {'planet': {'type': 'string'}, 'aspects': {'type': 'array', 'items': {'type': 'string'}}, 'drishti': {'type': 'array', 'items': {'type': 'string'}}, 'natalHouse': {'type': 'number'}, 'description': {'type': 'string'}, 'houseFromMoon': {'type': 'number'}}}}, 'natalPlanets': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'longitude', 'sign', 'house'], 'properties': {'name': {'type': 'string'}, 'sign': {'type': 'string'}, 'house': {'type': 'number'}, 'longitude': {'type': 'number'}}}}, 'birthDatetime': {'type': 'string'}, 'transitDatetime': {'type': 'string'}, 'transitingPlanets': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'longitude', 'sign', 'natalHouse', 'houseFromMoon', 'aspectsToNatal', 'drishtiToNatal', 'kaksha'], 'properties': {'name': {'type': 'string'}, 'sign': {'type': 'string'}, 'kaksha': {'type': 'object', 'required': ['number', 'lord', 'startDegree', 'endDegree', 'bindu', 'binduCount'], 'properties': {'lord': {'type': 'string'}, 'bindu': {'type': ['boolean', 'null']}, 'number': {'type': 'number'}, 'endDegree': {'type': 'number'}, 'binduCount': {'type': ['number', 'null']}, 'startDegree': {'type': 'number'}}}, 'longitude': {'type': 'number'}, 'natalHouse': {'type': 'number'}, 'houseFromMoon': {'type': 'number'}, 'aspectsToNatal': {'type': 'array', 'items': {'type': 'object', 'required': ['natalPlanet', 'aspectType', 'orb'], 'properties': {'orb': {'type': 'number'}, 'aspectType': {'type': 'string'}, 'natalPlanet': {'type': 'string'}}}}, 'drishtiToNatal': {'type': 'array', 'items': {'type': 'object', 'required': ['natalPlanet', 'aspectType', 'strength', 'orb'], 'properties': {'orb': {'type': 'number'}, 'strength': {'type': 'number'}, 'aspectType': {'enum': ['conjunction', '7th', '4th', '8th', '5th', '9th', '3rd', '10th'], 'type': 'string'}, 'natalPlanet': {'type': 'string'}}}}}}}}}
Input schema
{'type': 'object', 'examples': [{}], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'year': {'type': 'integer', 'example': 2026, 'maximum': 2649, 'minimum': 1551, 'description': 'Year for monthly transit analysis (1551 to 2649). Defaults to the current year (UTC).'}, 'month': {'type': 'integer', 'example': 2, 'maximum': 12, 'minimum': 1, 'description': 'Month number (1-12) for transit analysis. Defaults to the current month (UTC).'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 0, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved once, at the start of the window, and that offset applies to every time in the response. Output times are converted to this timezone. Defaults to 0 (UTC).'}, 'coordinateSystem': {'enum': ['sidereal', 'tropical'], 'type': 'string', 'default': 'sidereal', 'example': 'sidereal', 'description': 'Coordinate system for longitude output. "sidereal" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. "tropical" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to "sidereal".'}}}
Output schema
{'type': 'object', 'required': ['year', 'month', 'timezone', 'startingPositions', 'transitEvents'], 'properties': {'year': {'type': 'number'}, 'month': {'type': 'number'}, 'timezone': {'type': 'number'}, 'transitEvents': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'fromSign', 'toSign', 'date', 'time', 'datetime', 'isRetrograde'], 'properties': {'date': {'type': 'string'}, 'time': {'type': 'string'}, 'planet': {'type': 'string'}, 'toSign': {'type': 'string'}, 'datetime': {'type': 'string'}, 'fromSign': {'type': 'string'}, 'isRetrograde': {'type': 'boolean'}, 'planetLocalized': {'type': 'string'}, 'toSignLocalized': {'type': 'string'}, 'fromSignLocalized': {'type': 'string'}}}}, 'startingPositions': {'type': 'array', 'items': {'type': 'object', 'required': ['planet', 'sign', 'longitude'], 'properties': {'sign': {'type': 'string'}, 'planet': {'type': 'string'}, 'longitude': {'type': 'number'}, 'signLocalized': {'type': 'string'}, 'planetLocalized': {'type': 'string'}}}}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['frame', 'timeBased', 'sunBased'], 'properties': {'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'sunBased': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'longitude', 'rashi', 'degreeInSign', 'nakshatra', 'nakshatraIndex', 'nakshatraPada'], 'properties': {'name': {'type': 'string'}, 'rashi': {'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'string'}, 'degreeInSign': {'type': 'number'}, 'nakshatraPada': {'type': 'number'}, 'nakshatraIndex': {'type': 'number'}}}}, 'timeBased': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'longitude', 'rashi', 'degreeInSign', 'nakshatra', 'nakshatraIndex', 'nakshatraPada'], 'properties': {'name': {'type': 'string'}, 'rashi': {'type': 'string'}, 'longitude': {'type': 'number'}, 'nakshatra': {'type': 'string'}, 'degreeInSign': {'type': 'number'}, 'nakshatraPada': {'type': 'number'}, 'nakshatraIndex': {'type': 'number'}}}}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone: an IANA name (e.g. "America/New_York", "Europe/London", or `cities[0].timezone` from /location/search) or decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). An IANA name is resolved to the offset in force at the given date and time. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.'}}}
Output schema
{'type': 'object', 'required': ['yogas', 'frame', 'total', 'birthDetails'], 'properties': {'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'total': {'type': 'number'}, 'yogas': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'description', 'result', 'quality', 'family', 'present'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'family': {'enum': ['classical', 'asraya', 'dala', 'akriti', 'sankhya'], 'type': 'string'}, 'result': {'type': 'string'}, 'present': {'type': 'boolean'}, 'quality': {'enum': ['Positive', 'Negative', 'Both'], 'type': 'string'}, 'evidence': {'type': 'string'}, 'description': {'type': 'string'}, 'suppressedBy': {'enum': ['classical', 'asraya', 'dala', 'akriti', 'sankhya'], 'type': 'string'}}}}, 'birthDetails': {'type': 'object', 'required': ['date', 'time', 'latitude', 'longitude', 'timezone'], 'properties': {'date': {'type': 'string'}, 'time': {'type': 'string'}, 'latitude': {'type': 'number'}, 'timezone': {'type': 'number'}, 'longitude': {'type': 'number'}}}}}
Recent tool changes
Similar MCP servers
Asterwise
Provides Vedic and Western astrology, numerology, tarot, dream-symbol, crystal, compatibility, and related esoteric calculations …
Sahadeva
Calculates and analyzes Vedic astrology charts, compatibility, dashas, transits, yogas, remedies, and evidence or readiness check…
tollbooth-sample
Provides current, forecast, and historical weather data alongside Lightning-based usage credits, pricing, coupons, balances, and …
Thesportsdb
Provides sports catalog and match data, including teams, players, leagues, schedules, standings, lineups, timelines, scores, and …
Rescuegroups
Searches adoptable animals, breeds, rescues, shelters, and organization details from RescueGroups.org.
Recipes
Provides meal and recipe discovery by ingredient, random selection, and detailed cooking instructions.
F1
Provides Formula 1 schedules, race results, driver profiles, and current championship standings.
Nba
Retrieves NBA teams, players, games, schedules, scores, and related basketball data.