Vedic engine — overview¶
The /v1/vedic/* endpoints expose a complete classical Vedic toolkit
ported from the original astrolink engine (~64k lines) with math
byte-identical to the source. All routes layer on top of an existing
:chart_id: build a chart through POST /v1/charts first,
then call any of the routes below.
All endpoints require Authorization: Bearer <token> and the
charts:read scope.
Endpoints at a glance¶
| Endpoint | What it returns |
|---|---|
GET /v1/vedic/charts/{id}/divisional/{varga} |
D1..D60 divisional chart (planet → sign). |
GET /v1/vedic/charts/{id}/bhava-chakra |
12 bhava cusps in Raman or Equal style. |
GET /v1/vedic/charts/{id}/special-lagnas |
Bhava, Hora, Ghatika lagnas. |
GET /v1/vedic/charts/{id}/special-vargas |
D22 from Lagna + D64 from Moon (death-vargas). |
GET /v1/vedic/charts/{id}/aspects |
Vedic drishti matrix (Parashara + special). |
GET /v1/vedic/charts/{id}/aspects/with-orb |
Continuous orb-modulated aspect strength (quadratic decay). |
GET /v1/vedic/charts/{id}/dignity |
9-class strength: Exalt / Mooltrikona / Own / Friend / Neutral / Enemy / Debilitation. |
GET /v1/vedic/charts/{id}/functional-nature |
Per-lagna Lagnesha / Yoga-karaka / Benefic / Malefic / Neutral. |
GET /v1/vedic/charts/{id}/corrected-nature |
Mercury contamination + Moon phase corrections. |
GET /v1/vedic/charts/{id}/dasha/vimshottari |
Full 120-year MD + 81 AD + 729 PD. |
GET /v1/vedic/charts/{id}/dasha/current?at=<iso> |
Current MD/AD/PD at any moment. |
GET /v1/vedic/charts/{id}/dasha/yogini |
Yogini dasha — 8-yogini, 36-year cycle. |
GET /v1/vedic/charts/{id}/dasha/chara |
Legacy Chara dasha route. Prefer /dashas/chara for new integrations. |
GET /v1/vedic/charts/{id}/dashas/chara |
Canonical Jaimini Chara dasha route. |
GET /v1/vedic/charts/{id}/period-lords?sunrise=<iso> |
Ahargana + Abdadhipati + Masadhipati + Varadhipati + Horadhipati. |
GET /v1/vedic/charts/{id}/yogas |
11 classical yogas detected. |
GET /v1/vedic/charts/{id}/sambandhas |
Sambandhas between two planets (parivartana / aspect / mutual nakshatra). |
GET /v1/vedic/charts/{id}/sambandhas/{planet} |
All sambandhas affecting one planet. |
GET /v1/vedic/charts/{id}/extended-sambandhas?p1=&p2= |
9 extended sambandha sub-types between two planets. |
GET /v1/vedic/charts/{id}/extended-sambandhas/{planet} |
All extended sambandhas for one planet. |
GET /v1/vedic/charts/{id}/house-relations/planet/{planet} |
All ten relation types for one planet across the 12 houses. |
GET /v1/vedic/charts/{id}/house-relations/house/{house} |
All relations linking any planet to one house. |
GET /v1/vedic/charts/{id}/ashtakavarga |
7 Bhinnashtakavargas + SAV (verified 337 bindus total). |
GET /v1/vedic/charts/{id}/ashtakavarga/corrected |
Corrected Bhinnashtaka (Trikona + Ekadhipatya Shodhana). |
GET /v1/vedic/charts/{id}/shadbala |
Naisargika + Dig + Uchcha + Drik balas (Virupa). |
GET /v1/vedic/charts/{id}/shadbala/kala |
Partial Kala bala (paksha + vara + abda + masa + yuddha). |
GET /v1/vedic/charts/{id}/shadbala/kala-full |
Ephemeris-time Kala bala (Nathonnatha + Tribhaga + Ayana). |
GET /v1/vedic/charts/{id}/bhava-bala |
Per-house Bhava bala (bhavadhipati + dig + drishti). |
GET /v1/vedic/charts/{id}/ishta-kashta |
Ishta phala + Kashta phala per planet. |
GET /v1/vedic/charts/{id}/vimshopaka/{planet} |
20-point Vimshopaka bala per varga group. |
GET /v1/vedic/charts/{id}/varga-dignity |
Own-sign count + classical dignity name across Shodasha vargas. |
GET /v1/vedic/charts/{id}/strength/composite |
Per-planet 0..1 composite strength score + 5-level bucket. |
GET /v1/vedic/charts/{id}/strength/signs |
Composite strength score per zodiac sign. |
GET /v1/vedic/charts/{id}/strength/houses |
Composite strength score per house. |
GET /v1/vedic/panchanga?day=<yyyy-mm-dd>&latitude=<>&longitude=<>&timezone=<> |
Full day Panchanga: tithi, nakshatra, yoga, karana, weekday, kalams, durmuhurtam, chogadia. |
GET /v1/vedic/panchanga/current?at=<iso>&latitude=<>&longitude=<> |
Current active Panchanga angas for one exact instant. |
GET /v1/vedic/panchanga/windows?day=<yyyy-mm-dd>&latitude=<>&longitude=<>&timezone=<> |
Day window extraction for Rahu Kalam, Yamaganda, Gulika, Durmuhurtam and Chogadia. |
GET /v1/vedic/charts/{id}/jaimini/karakas |
Canonical 7 Jaimini karakas (Atma..Daraka). |
GET /v1/vedic/charts/{id}/jaimini/arudha |
Canonical Arudha pada for every house. |
GET /v1/vedic/charts/{id}/jaimini/aspects |
Sign-based Jaimini aspect matrix. |
GET /v1/vedic/charts/{id}/karakas/jaimini |
Legacy Jaimini karaka helper. |
GET /v1/vedic/charts/{id}/arudha |
Legacy Arudha helper. |
GET /v1/vedic/charts/{id}/badhaka |
Badhaka sign + lord. |
GET /v1/vedic/charts/{id}/rays |
7-ray classification. |
GET /v1/vedic/charts/{id}/rectify-lagna |
Kunda-Siddhanta lagna rectification. |
GET /v1/vedic/charts/{id}/progression?event_date=<iso> |
Age-based progression. |
GET /v1/vedic/charts/{id}/influence-network |
Theo influence network. |
GET /v1/vedic/charts/{id}/theo/house-roles/{house} |
KENDRA / TRIKONA / DUSTHANA classification per planet for a target house. |
GET /v1/vedic/charts/{id}/theo/sign-influences |
Per-sign benefic / malefic net influence. |
GET /v1/vedic/charts/{id}/theo/thematic/{area} |
Houses + karakas + activated planets for one life area. |
GET /v1/vedic/charts/{id}/house-quality |
Per-house auspiciousness label (very-difficult..very-good). |
GET /v1/vedic/charts/{id}/predict/materialization/{area} |
Natal base potential 0..1 for a life area. |
GET /v1/vedic/charts/{id}/predict/materialization/{area}/at?at=<iso> |
Date-bound probability — natal × transit modifier. |
GET /v1/vedic/charts/{id}/transits/contacts?at=<iso> |
Transit-vs-natal aspect / conjunction contacts at a moment. |
GET /v1/vedic/charts/{id}/transits/navamsa-activations?at=<iso> |
Transiting planets sharing a D9 sign with natal planets. |
GET /v1/vedic/charts/{id}/essential-planets/{theme} |
Ranked essential planets for any of 133 themes. |
GET /v1/vedic/charts/{id}/period-modifiers?at=<iso> |
Per-planet quality modifier under the dasha chain. |
GET /v1/vedic/charts/{id}/transit-modifiers?at=<iso> |
Per-planet transit-quality modifier (SAV + Bhinna based). |
GET /v1/vedic/charts/{id}/probability/{theme}?at=<iso> |
Full theme probability — 7-source decomposition. |
GET /v1/vedic/charts/{id}/complete-factor/{theme} |
Structured per-theme explanation (karaka + essentials + arudhas). |
GET /v1/vedic/charts/{id}/meta-factors |
Cross-theme planets driving ≥ 2 life themes. |
GET /v1/vedic/charts/{id}/varshaphala/{age_years} |
Annual chart (Muntha + solar return) per age. |
GET /v1/vedic/kp/lookup?longitude_deg=<> |
KP triplet (nakshatra-lord, sub-lord, sub-sub-lord). |
GET /v1/vedic/muhurta/activity-types |
Supported Muhurta activity taxonomy. |
POST /v1/vedic/muhurta/score |
Score one candidate moment for one activity. |
POST /v1/vedic/muhurta/search |
Search a time window and rank electional candidates. |
GET /v1/vedic/charts/{id}/muhurta?window_start=&window_end= |
Legacy chart-bound Muhurta optimizer. |
POST /v1/vedic/relationships/kuta |
Ashtakoota compatibility breakdown for two Vedic charts. |
POST /v1/vedic/relationships/doshas |
Pairwise dosha checks and severity flags. |
POST /v1/vedic/relationships/highlights |
Relationship highlights for product cards and LLM grounding. |
POST /v1/vedic/relationships/topics |
Ranked relationship topics with deterministic feature support. |
GET /v1/vedic/charts/{id}/risk-signals |
Structured caution signals grouped by life area. |
GET /v1/vedic/charts/{id}/support-signals |
Structured protective/supportive signals grouped by life area. |
GET /v1/vedic/charts/{id}/focus-areas?at=<iso> |
Date-aware ranked focus areas from dasha, transit and natal features. |
POST /v1/interpretations/vedic/natal |
LLM-ready Vedic natal prose grounded in deterministic engine features. |
POST /v1/interpretations/vedic/relationship |
LLM-ready Vedic relationship interpretation. |
POST /v1/interpretations/vedic/forecast |
LLM-ready Vedic dasha/transit forecast interpretation. |
POST /v1/interpretations/vedic/muhurta |
LLM-ready Muhurta explanation. |
GET /v1/vedic/charts/{id}/ux/profile-summary-cards |
Frontend-ready Vedic profile cards. |
GET /v1/vedic/charts/{id}/ux/daily-personal-weather?day=<yyyy-mm-dd> |
Daily Vedic weather card. |
GET /v1/vedic/charts/{id}/ux/next-important-period?starts_at=<iso>&ends_at=<iso> |
Next important dasha/transit period card. |
POST /v1/vedic/ux/relationship-highlights |
Frontend-ready relationship highlight cards. |
GET /v1/vedic/charts/{id}/ux/timeline-cards |
Timeline cards for key Vedic periods and events. |
Math fidelity¶
Every calculation carries a # Reference: astrolink/<file>:<line>
docstring pointing at the source line in the original engine. Tests
lock golden values (e.g. SAV must total exactly 337 bindus, the
Vimshottari cycle length is exactly 120 years, etc.) so divergence
would surface immediately.
Quick example: end-to-end Vedic chart pipeline¶
# 1. Build the natal chart.
CHART=$(curl -s -X POST https://api.astrolinkers.com/v1/charts \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"moment": "1990-06-15T09:30:00+05:30",
"latitude": 28.6139,
"longitude": 77.2090
},
"system": "vedic",
"house_system": "whole_sign",
"ayanamsha": "lahiri"
}' | jq -r .id)
# 2. Pull every classical Vedic layer.
curl -s -H "Authorization: Bearer $TOKEN" \
"https://api.astrolinkers.com/v1/vedic/charts/$CHART/dasha/vimshottari" | jq .
curl -s -H "Authorization: Bearer $TOKEN" \
"https://api.astrolinkers.com/v1/vedic/charts/$CHART/shadbala" | jq .
curl -s -H "Authorization: Bearer $TOKEN" \
"https://api.astrolinkers.com/v1/vedic/charts/$CHART/ashtakavarga" | jq .
curl -s -H "Authorization: Bearer $TOKEN" \
"https://api.astrolinkers.com/v1/vedic/charts/$CHART/yogas" | jq .
curl -s -H "Authorization: Bearer $TOKEN" \
"https://api.astrolinkers.com/v1/vedic/charts/$CHART/jaimini/karakas" | jq .
Source¶
All Vedic services live under src/astro_platform/services/astrology/vedic/
in the astro-platform repo.
Domain tables (nakshatras, vargas, BPHS bindu tables, dignity points,
drishti curves) are in src/astro_platform/domain/astrology/vedic/.