Skip to content

Ashtakavarga

GET /v1/vedic/charts/{id}/ashtakavarga

Full classical Ashtakavarga following BPHS chapter 66:

  • 7 Bhinnashtakavargas — one per classical planet (Sun..Saturn); each shows 12 signs × 8 contributors (the 7 planets + Lagna).
  • Sarvashtakavarga (SAV) — sum of all individual ashtakavargas per sign. The total across all 12 signs is always exactly 337 bindus (verified by test as a structural invariant).

A sign with ≥ 28 bindus (the per-sign mean) is classically considered strong; < 28 is weak.

{
  "chart_id": "01HKD…",
  "individuals": [
    {
      "subject": "sun",
      "total_bindus": 48,
      "by_sign": [
        {"sign": "aries", "total": 4, "by_contributor": {"sun": 1, "mars": 1, "saturn": 1, "lagna": 1}},
        "…12 entries"
      ]
    },
    "…7 subjects total"
  ],
  "sarvashtakavarga": {
    "aries": 27,
    "taurus": 32,
    "…12 entries summing to 337": "…"
  },
  "sarvashtakavarga_total": 337
}

Per-subject totals (BPHS canonical)

Subject Bindus
Sun 48
Moon 49
Mars 39
Mercury 54
Jupiter 56
Venus 52
Saturn 39
SAV total 337

Slices — bhinna and sarva

The combined /ashtakavarga above carries both sets at once. When you only need one — and want the V2 envelope (method_version + features_used) — use the dedicated slices.

GET /v1/vedic/charts/{id}/ashtakavarga/bhinna

Just the seven individual Bhinnashtakavargas, with a per-sign contributor breakdown:

{
  "chart_id": "01HKD…",
  "method_version": "v2",
  "individuals": [
    {
      "subject": "sun",
      "total_bindus": 48,
      "by_sign": [ { "sign": "aries", "total": 4, "by_contributor": { "sun": 1, "mars": 1, "lagna": 1 } } ]
    }
  ],
  "features_used": [ { "source": "ashtakavarga", "version": "v2", "fields": ["by_contributor"] } ]
}

GET /v1/vedic/charts/{id}/ashtakavarga/sarva

Just the Sarvashtakavarga, with the strong/weak signs pre-classified (≥ 28 = strong):

{
  "chart_id": "01HKD…",
  "method_version": "v2",
  "sarvashtakavarga": { "aries": 27, "taurus": 32, "…": "…" },
  "sarvashtakavarga_total": 337,
  "strong_signs": ["taurus", "leo"],
  "weak_signs": ["aries", "scorpio"],
  "features_used": [ { "source": "ashtakavarga", "version": "v2", "fields": ["sarvashtakavarga"] } ]
}

GET /v1/vedic/charts/{id}/ashtakavarga/transit-score?at=<iso>

Scores each transiting planet's current sign against the natal Ashtakavarga — a quick "is this a supported transit?" read at a moment. at is a tz-aware ISO 8601 datetime.

{
  "chart_id": "01HKD…",
  "method_version": "v2",
  "at": "2026-06-05T00:00:00Z",
  "scores": [
    {
      "planet": "jupiter", "transit_sign": "gemini", "natal_house": 11,
      "sarva_bindus": 31, "bhinna_bindus": 5, "score": 0.74, "label": "supportive"
    }
  ],
  "features_used": [ { "source": "ashtakavarga", "version": "v2", "fields": ["scores"] } ]
}
Field (per scores[]) Type Notes
planet string The transiting planet.
transit_sign string Its current sign.
natal_house int Which natal house that sign falls in.
sarva_bindus int SAV bindus in the transit sign.
bhinna_bindus int | null The planet's own bindus in that sign.
score float Normalised support score.
label string Human band, e.g. supportive / neutral / challenging.

GET /v1/vedic/charts/{id}/ashtakavarga/corrected

Advanced Ashtakavarga refinements layered on top of the base Bhinnashtakavarga, following classical BPHS Chapter 67:

  • Trikona Shodhana — within each elemental trikona (fire = Aries/Leo/Sagittarius, earth = Taurus/Virgo/Capricorn, air = Gemini/Libra/Aquarius, water = Cancer/Scorpio/Pisces), subtract the minimum bindu count from all three signs. If any sign in the trikona starts at 0, the trikona is unchanged.
  • Ekadhipatya Shodhana — for each pair of signs ruled by the same lord (Mars: Aries+Scorpio, Venus: Taurus+Libra, Mercury: Gemini+Virgo, Jupiter: Sagittarius+Pisces, Saturn: Capricorn+Aquarius), apply the occupancy rule:
  • one sign occupied + the other empty → empty sign drops to 0.
  • both empty → both take the smaller of the two values.
  • both occupied → no change.

Output per planet shows the raw, after-trikona, after-ekadhipatya, and final maps so you can audit every step.

{
  "chart_id": "01HKD…",
  "entries": [
    {
      "planet": "jupiter",
      "raw":              {"aries": 5, "taurus": 3, "...": "..."},
      "after_trikona":    {"aries": 2, "taurus": 0, "...": "..."},
      "after_ekadhipatya":{"aries": 2, "taurus": 0, "scorpio": 0, "...": "..."},
      "final":            {"aries": 2, "taurus": 0, "scorpio": 0, "...": "..."}
    },
    "…6 more planets"
  ]
}

The corrected SAV (sum of corrected Bhinnashtakas) is the sharpest signal for sign-strength analysis in long-horizon predictions — it removes the inflation from empty co-lord signs and from trikona-symmetry artefacts.