Char Dasha
asterwise_get_char_dasha
Computes Char Dasha from birth data and returns sign lords as period rulers with ISO-dated Maha and Antar sequences plus karaka mappings.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
birth | object | yes | Birth data for tools that need the exact birth time (no sunrise fallback). Required fields: date, time, lat, lon. Optional fields: 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. |
cycles | integer/null | no | Char Dasha cycles to return, 1-3 (default 1). Every further cycle repeats the first cycle's signs, order and years (K.N. Rao). |
What it covers
Uses the classical system where rashis (not grahas) rule time periods, including Atmakaraka, eight karakas, current Maha/Antar labels in Sanskrit signs, and a period array with nested antardashas. Method: K.N. Rao, as in his own dated case notes: sequence from the Lagna, forward if the 9th sign is savya, else backward; years = signs to the lord minus one, 12 when the lord is in the sign, with no year added or taken off for an exalted or debilitated lord (JHora's K.N. Rao option adds/subtracts one). Scorpio and Aquarius count to the co-lord outside the sign, or with both outside to the one with more planets, then the one further advanced in its sign. It does not return Vimshottari (asterwise_get_dasha), Yogini, or Ashtottari timelines.
Workflow
BEFORE: RECOMMENDED — asterwise_get_natal_chart — contextualises the chart before interpreting sign-based lords.
AFTER: asterwise_get_dasha — optional Vimshottari cross-check for the same native.
Input
cycles (optional int 1–3, default 1): every further cycle repeats the first cycle's signs, order and years (K.N. Rao). Period start_date and end_date in data.periods[] are YYYY-MM-DD (ISO), unlike asterwise_get_dasha which uses DD/MM/YYYY in its tree. All other parameters follow the BirthData global contract.
Output contract
data.atmakaraka (string — planet name)
data.start_rashi (string — Sanskrit rashi name)
data.start_rashi_index (int)
data.karakas{} — object mapping classical karaka keys to planet names
data.current_mahadasha (string — Sanskrit rashi name, e.g. 'Mithuna')
data.current_antardasha (string — Sanskrit rashi name)
data.periods[] — Mahadasha objects:
rashi (string)
rashi_index (int)
years (int — K.N. Rao: signs to the lord minus one, 12 when the lord is in the sign, no exaltation/debilitation adjustment; 1–12; every cycle repeats the first cycle's years)
start_date (string — YYYY-MM-DD ISO)
end_date (string — YYYY-MM-DD ISO)
antardashas[] — same shape as one level (no further nesting); K.N. Rao order: forward or backward by the 9th sign from the mahadasha sign, starting with the next sign, the mahadasha sign's own antardasha last; each lasts as many months as the mahadasha has years
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
Errors
INVALID_PARAMS (local — caught before upstream call):
— cycles outside 1..3 → MCP INVALID_PARAMS
INVALID_PARAMS (upstream):
— None — upstream rejection surfaces as MCP INTERNAL_ERROR at the tool layer.
INTERNAL_ERROR:
— Any upstream API failure or timeout → MCP INTERNAL_ERROR
Edge cases:
— Period years are 1–12; JHora's K.N. Rao option (±1 for exalted/debilitated lords) can differ by a year.
Do not confuse with
asterwise_get_dasha — Vimshottari planet lords with DD/MM/YYYY in periods[], not sign-based Char Dasha.
asterwise_get_yogini_dasha — eight Yoginis and data.periods.root[], not classical signs.
Connect
Remote MCP endpoint: https://mcp.asterwise.com/mcp. Authenticate with Authorization: Bearer <API key> or OAuth. See the MCP setup guide.