Skip to main content

Varshaphal

asterwise_get_varshaphal

Computes the annual Tajika-style solar return for a four-digit civil year and returns Muntha, Pancha Adhikari metrics, Tajika aspects, and varshaphal positions.

Parameters

ParameterTypeRequiredDescription
birthobjectyesBirth data for a single person. Fields: date, time, lat, lon*, person_name, timezone, ayanamsa
yearintegeryes
response_formatenum: markdown, jsonno

What it covers

Varshaphal engine: solar return instant, year lord, muntha block, varsha pati election, five pancha adhikaris with bala components, tajika aspect arrays, and pairwise Tajika geometry including ithsala/musaripha flags. year must mean calendar year (e.g. 2026), not biological age — not enforced locally; wrong integers chart the wrong annual return. Not lifetime Vimshottari (asterwise_get_dasha) nor generic transit ingress lists (asterwise_get_transits).

Workflow

BEFORE: RECOMMENDED — asterwise_get_natal_chart — baseline radix before annual overlay.
AFTER: None.

Input

year is a plain int sent as target_year upstream; callers must supply the true Gregorian return year, not age.

Output contract

data.target_year (int)
data.ayanamsa (string)
data.solar_return_utc (string — ISO)
data.solar_return_jd (float)
data.natal_sun_longitude (float)
data.natal_lagna (string)
data.natal_lagna_index (int)
data.year_lord (string — planet name)
data.muntha:
rashi_index (int)
rashi (string)
age_years (float)
muntha_lord (string)
data.planets{} — keys Sun..Ketu:
longitude (float)
rashi_index (int)
rashi (string)
degree (float)
is_retrograde (bool)
speed (float)
data.varshaphal_ascendant_longitude (float)
data.varshaphal_ascendant_sign (string — Sanskrit sign name derived from the ascendant longitude)
data.varshaphal_ascendant_sign_index (int — sign index 0-11, where 0=Mesha and 11=Meena)
data.varsha_pati:
planet (string)
role (string)
pancha_vargeeya_bala (float)
kshetra_bala (float)
uchcha_bala (float)
election_used_strongest_without_aspect (bool)
data.pancha_adhikaris[] — five objects:
role (string)
planet (string)
pancha_vargeeya_bala, kshetra_bala, uchcha_bala, hadda_bala, dreshkana_bala, navamsa_bala (floats)
pending_components_note (string)
aspects_ascendant (bool)
tajika_aspect_angles_matched[] (array)
separation_from_asc_deg (float)
data.pancha_vargeeya_bala{} — keyed by role (float values)
data.tajika_aspects[] — per Pancha Adhikari (structure per upstream)
data.tajika_planet_pairs[] — each:
planet_a, planet_b (strings)
house_a, house_b (int)
diff_ab, diff_ba (float)
aspect_ab, aspect_ba (strings or floats per upstream)
is_ithsala (bool)
is_musaripha (bool)
faster_planet (string)
orb_degrees (float)

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):
None — year not range-checked here.

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:
— Feeding age instead of civil year silently mis-orients the return — caller responsibility.

Do not confuse with

asterwise_get_dasha — multi-decade Vimshottari, not one solar return.
asterwise_get_transits — ingress/station timeline, not annual Tajika chart.

Connect

Remote MCP endpoint: https://mcp.asterwise.com/mcp. Authenticate with Authorization: Bearer <API key> or OAuth. See the MCP setup guide.