Vimshottari Dasha
asterwise_get_dasha
Computes Vimshottari Dasha from birth data and returns hierarchical period trees plus current Maha/Antar interpretation blocks.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
birth | object | yes | Birth data for a single person. Required fields: date, lat, lon. Optional fields: time, person_name, timezone, ayanamsa. |
response_format | enum: markdown, json | no | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. |
levels | integer | no | Depth of the Vimshottari tree, 1-5: 1 = Mahadasha only, 2 adds Antardasha (default), 3 Pratyantar, 4 Sookshma, 5 Prana (much larger payload). |
What it covers
Computes the classical Vimshottari timeline from the Moon's birth nakshatra: Mahadasha and nested sub-periods up to the depth set by levels, with Julian and calendar boundaries and optional modern summaries. It returns data.periods[] and data.interpretation for the active periods. It does not compute Char Dasha, Yogini Dasha, Ashtottari, or transit correlations; use the dedicated tools for those systems. The first Mahadasha row starts at birth and lasts the balance; its sub-periods are the remaining tail of the full Mahadasha, which began before birth, so the period running at birth is usually not the Mahadasha lord's own. That row also carries dasha_start_date (DD/MM/YYYY) and balance_years.
Workflow
BEFORE: RECOMMENDED — asterwise_get_natal_chart — establishes chart and Moon context before interpreting Dasha lords.
AFTER: asterwise_get_dasha_transits — correlates active Dasha lords with transits for the same birth data.
Input
levels (int, default 2, max 5): tree depth — 1 = Mahadasha only; 2 adds Antardasha; 3 Pratyantar; 4 Sookshma; 5 Prana (much larger payload). Response dates in periods[] use DD/MM/YYYY, not ISO. BirthData fields follow the global contract (date YYYY-MM-DD, time HH:MM). Unknown birth time: omit time (a sunrise chart is cast and birth_time_provided=false); never pass time='00:00' for unknown, which is read as midnight.
Output contract
data.periods[] — array of Mahadasha objects:
planet (string)
start_date (string — DD/MM/YYYY, not ISO)
end_date (string — DD/MM/YYYY)
dasha_start_date (string — DD/MM/YYYY, first row only: when the full Mahadasha began, before birth)
balance_years (float — first row only: years of that Mahadasha left at birth)
sub[] — array of Antardasha objects with the same shape; sub=null at deepest level
(The per-period planet essays and Julian-day pairs from the REST API are omitted here to keep the tree small; the current-period essays are in data.interpretation.)
data.interpretation.current_mahadasha:
planet (string)
start_date (string)
end_date (string)
duration_years (float)
modern_summary (string or null)
favorable_conditions[] (string array)
favorable_results[] (string array)
unfavorable_conditions[] (string array)
unfavorable_results[] (string array)
timing_note (string)
data.interpretation.current_antardasha — same fields as current_mahadasha plus mahadasha_planet (string)
data.birth_time_provided (bool)
Response format
response_format=json serialises the complete response as indented JSON — use this for programmatic parsing, typed clients, and downstream tool chaining. response_format=markdown renders the same data as a human-readable report. Both modes return identical underlying data — no fields are added, removed, or filtered by either mode.
Compute class
MEDIUM_COMPUTE (~100ms at levels=1, ~1500ms at levels=5)
Errors
INVALID_PARAMS (local — caught before upstream call):
— levels < 1 or levels > 5 → MCP INVALID_PARAMS
INVALID_PARAMS (upstream):
— None — BirthData validation is upstream beyond Pydantic field constraints.
INTERNAL_ERROR:
— Any upstream API failure or timeout → MCP INTERNAL_ERROR
Edge cases:
— Period start_date/end_date strings are DD/MM/YYYY; do not parse as ISO.
Do not confuse with
asterwise_get_char_dasha — classical sign-based periods with ISO dates on periods[], not planet-based Vimshottari.
asterwise_get_yogini_dasha — 36-year eight-Yogini cycle with data.periods.root[], not Vimshottari.
asterwise_get_ashtottari_dasha — 108-year alternative tree with data.periods.root[] and same levels semantics as this tool.
Connect
Remote MCP endpoint: https://mcp.asterwise.com/mcp. Authenticate with Authorization: Bearer <API key> or OAuth. See the MCP setup guide.