Skip to main content

Varshaphal Saham

asterwise_get_varshaphal_saham

Computes all 10 Tajika Saham (sensitive points) for a Varshaphal solar return chart. Sahams are the Tajika equivalent of Arabic Parts — mathematically derived zodiac points that focus the annual horoscope on specific life themes.

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

Saham formula: (A - B + Ascendant) % 360, with a conditional +30° correction applied when the Ascendant does not fall in the forward zodiacal arc from B to A. This conditional is the defining classical Tajika Saham rule — without it, results are wrong. Day and night formulas differ: the Minuend and Subtrahend swap based on whether the solar return falls during daytime or nighttime at the birth location. Punya Saham (Fortune) is always computed first because Yashas (Fame) and Mahatmya (Status) use it as an operand. The Saham lord (planet ruling the sign where the Saham falls) is the Sahamesha — its strength, house placement, and Tajika aspects to the Varsha Ascendant determine whether the theme manifests positively or is obstructed.

10 Sahams returned:
punya — Fortune and Luck (Moon-Sun day / Sun-Moon night)
vidya — Education and Learning (Sun-Jupiter day)
yashas — Fame and Reputation (Jupiter-Punya day) — uses Punya as operand
mitra — Friends and Allies (Jupiter-Venus day)
mahatmya — Greatness and Status (Punya-Mars day) — uses Punya as operand
asha — Desires and Fulfillment (Saturn-Venus day)
karmakarya — Action and Profession (Mars-Mercury day)
vyapara — Business and Trade (Mars-Saturn day)
vivaha — Marriage and Relationships (Venus-Saturn day)
santapa — Sorrow and Stress (Saturn-Moon day)

Workflow

BEFORE: RECOMMENDED — asterwise_get_varshaphal — understand the base solar return chart (year lord, Muntha, Varsha Ascendant) before interpreting Saham lords. The Saham is meaningless without knowing which house it occupies from the Varsha Ascendant.
AFTER: asterwise_get_varshaphal_harsha_bala — assess the Saham lord's positional happiness score to determine ease or difficulty of manifestation.

Input

Same as asterwise_get_varshaphal — BirthData plus target_year.
target_year (required int): The Gregorian calendar year of the solar return. Not age — the civil year (e.g. 2026). Feeding age instead of year silently produces the wrong return.
time (required): Solar return Ascendant is time-sensitive. Accurate birth time is required for reliable Saham interpretation.

Output contract

data.target_year (int — calendar year of the solar return)
data.ayanamsa (string — ayanamsa system used, e.g. 'lahiri')
data.solar_return_utc (string — ISO UTC timestamp of solar return moment)
data.is_day_return (bool — true if solar return occurs between sunrise and sunset; determines which Saham formula variant is used)
data.varshaphal_ascendant_longitude (float — Varsha Ascendant in degrees; all 10 Saham longitudes are computed relative to this)
data.total (int — always 10)
data.sahams[] — 10 objects in order [punya, vidya, yashas, mitra, mahatmya, asha, karmakarya, vyapara, vivaha, santapa]:
slug (string — lowercase key, e.g. 'punya')
name (string — full display name, e.g. 'Punya Saham')
theme (string — life area, e.g. 'Fortune and Luck')
longitude (float — Saham longitude in degrees 0–360)
rashi_index (int — 0–11, 0=Mesha)
rashi (string — Sanskrit sign name, e.g. 'Mesha')
degree_in_sign (float — degrees within the sign)
saham_lord (string — classical lord of the sign where Saham falls)
formula_used (string — describes whether day or night formula was applied and which planets were operands, e.g. 'day: Moon - Sun + Asc')
(string — methodology note)

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

SLOW_COMPUTE — internally runs the full solar return computation (binary-search Sun longitude + house computation) before deriving Sahams.

Errors

INVALID_PARAMS (local — caught before upstream call): None — BirthData Pydantic only.
INVALID_PARAMS (upstream): None — upstream rejection surfaces as MCP INTERNAL_ERROR.
INTERNAL_ERROR: Any upstream API failure or timeout → MCP INTERNAL_ERROR
Edge cases:
— Day/night determination uses sunrise/sunset at the birth coordinates for the solar return date. Polar latitudes where sunrise cannot be computed → MCP INTERNAL_ERROR.
— target_year is a Gregorian year, not age — always verify the caller passes the civil year.

Do not confuse with

asterwise_get_varshaphal — returns the full base solar return chart including Muntha, year lord, and planet positions; Saham points are not included there.
asterwise_get_varshaphal_harsha_bala — scores planet positional happiness; this tool computes zodiac points, not planet positions.
asterwise_get_gemstone_recommendations — birthchart gemstone recommendations, unrelated to Tajika Saham.

Connect

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