Skip to content

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/.