curl -X POST https://yogataraapi.prahlad.app/api/astro/dasha/current/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date_time":"1990-08-15T10:30:00+05:30","latitude":26.9124,"longitude":75.7873,"timezone_as_float":5.5,"levels":3,"system":"Vimshottari"}'Which dasha period is running right now, at every level. The question people actually ask of a dasha. Returns the chain from mahadasha down — "Jupiter / Ketu / Mercury" — each level with its start, its end, how far through it you are as a percentage, and how many days remain. The timeline endpoints cannot answer this without you fetching the whole tree, recursing it and comparing dates yourself. Defaults to Vimshottari and to now; pass `as_of` for any other moment and `system` for any of the thirty.
| Field | Type | Required | Notes |
|---|---|---|---|
| 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 |
| as_of | string (date-time) | optional | The moment to report on. Defaults to now (UTC). |
| dasha_direction | string | optional | forwardbackward |
| dasha_start | string | optional | Which cycle the timeline opens on. currentnextprevious |
| date_time | string (date-time) | optional | 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, and can return the previous day's result with a 200. '2026-09-01T06:00:00Z' and '2026-09-01 06:00:00' are different instants and give different answers. |
| datetime | string (date-time) | optional | 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) | optional | Year length the periods are measured in. 360 for the classical savana year, 365.25 for the Julian year. min 360 · max 365.256364 |
| levels | integer | optional | How deep to nest: 1 mahadasha only, 2 adds antardasha, 3 adds pratyantardasha. Capped at 4 because the response grows roughly tenfold per level. min 1 · max 4 |
| node | string | optional | Lunar node model. Required by the rashi parent, which does not default it; defaulted here. truemean |
| system | string | optional | Which system to read. Defaults to Vimshottari. |
| timezone_as_float | number (double) | optional | 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 |