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.