curl -X POST https://yogataraapi.prahlad.app/api/raasi_dasha/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"node":"true","dasha_type":"BrahmaRaasi","dasha_period":"mahadasha","datetime":"2025-05-27T05:12:46.849Z","latitude":26.9124,"longitude":75.7873,"timezone_as_float":5.5,"days_in_year":365.256364,"dasha_start":"current","dasha_direction":"forward"}'Rashi dashas divide a life into periods ruled by signs rather than by planets. Where the nakshatra dashas start from the Moon's birth star and cycle through the planets, these start from a seed sign — usually the ascendant, sometimes the stronger of the first and seventh, sometimes the ninth — and cycle through the twelve signs, with each sign's length derived from where its lord sits. They belong mostly to the Jaimini stream and are used for concrete outward events, whereas Vimshottari is generally read for inner experience. `dasha_type` selects among twenty schemes. NarayanaRaasi, CharaRaasi, DrigRaasi, SudasaRaasi, KendradhiRaasi, TrikonaRaasi, SthiraRaasi, ShoolaRaasi, NirayanaRaasi, VarnadaRaasi, MandookaRaasi, ParyaayaRaasi, BrahmaRaasi, ChakraRaasi, LagnamsakaRaasi, NavmasaRaasi, YogardhaRaasi, SandhyaRaasi, TaraLagnaRaasi and KalachakraRaasi each pick a different seed sign, direction and period length; several are meant to be applied only when their own applicability conditions hold, and an inapplicable chart can legitimately produce an empty period list. The request mirrors the nakshatra dasha endpoint. `datetime`, `latitude`, `longitude` and `node` build the chart; `dasha_period` chooses the depth from mahadasha down to dehdasha or 'all'; `dasha_start` and `dasha_direction` position the sequence; `days_in_year` sets the year length used to turn periods into dates; `max_levels` caps the nesting and is the main control on response size. The response is `{data: {<dasha_type>: …}}`, with each period given as a lord (a sign name at the top level) together with `start_date` and `end_date`, nested by level when you ask for 'all'. As on the nakshatra endpoint, setting `save_to_file` true replaces the JSON body with a compressed file download.
| Field | Type | Required | Notes |
|---|---|---|---|
| dasha_direction | string | required | forwardbackwardExact lower-case. Engine default 'forward'. |
| dasha_period | string | required | mahadashaantardashapratyantardashasookshmashapranadashadehdashaallExact lower-case; identical list to /api/nakshatra_dasha/. |
| dasha_start | string | required | currentnextpreviousExact lower-case. Engine default 'current'. |
| dasha_type | string | required | BrahmaRaasiChakraRaasiCharaRaasiDrigRaasiKalachakraRaasiKendradhiRaasiLagnamsakaRaasiMandookaRaasiNarayanaRaasiNavmasaRaasiNirayanaRaasiParyaayaRaasiThe value is used verbatim as a CoreEngine registry key: exact CamelCase, all ending in 'Raasi'. Note the spellings 'NavmasaRaasi' (not Navamsa) and 'ParyaayaRaasi'. |
| datetime | string (date-time) | required | The moment to calculate for, ISO 8601. ALWAYS include an offset or a trailing Z - a value with no zone is read as Asia/Kolkata (UTC+05:30), not UTC. Same meaning as date_time, which other endpoints call the same thing by a different name. |
| days_in_year | number (double) | required | min 360 · max 365.256364 |
| latitude | number (double) | required | Latitude of the place, in decimal degrees. Positive is north, negative is south. Example: 26.9124 for Jaipur, 40.7128 for New York. Minutes and seconds are not accepted - convert first. min -90 · max 90 |
| longitude | number (double) | required | Longitude of the place, in decimal degrees. Positive is east, negative is west. Example: 75.7873 for Jaipur, -74.0060 for New York. Note the sign: a missing minus puts New York in China. min -180 · max 180 |
| node | string | required | truemeanExact lower-case; interpolated into the chart celestial key ('northtruenode'/'northmeannode'. |
| timezone_as_float | number (double) | required | UTC offset of the place, in hours, as a decimal. Example: 5.5 for India (UTC+05:30), -5 for New York in winter, 5.75 for Nepal. This is NOT validated against date_time - if the two disagree you get a successful response for the wrong moment, so derive both from the same source. Use the offset in force on that date, not today's: a summer birth in a country with daylight saving needs the summer offset. min -12 · max 14 |
| compressed_output | boolean | optional | |
| compression_type | string | optional | gzipbzip2lzmanoneDefault 'gzip'. Only meaningful with save_to_file=true. |
| max_levels | integer | optional | min 1 · max 6 |
| output_dir | string | optional | |
| save_to_file | boolean | optional | |
| use_cache | boolean | optional | |
| use_nested | boolean | optional |