Skip to content

Yogas (planetary combinations)

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

Detects 11 classical yogas across three families.

Auspicious yogas:

  • Raja Yoga — conjunction of kendra-lord and trikona-lord.
  • Pancha Mahapurusha — Mars (Ruchaka), Mercury (Bhadra), Jupiter (Hamsa), Venus (Malavya), or Saturn (Shasha) in own / exalted sign in a kendra.
  • Gajakesari Yoga — Jupiter in a kendra from Moon.
  • Budha-Aditya Yoga — Sun + Mercury in same sign.
  • Chandra-Mangala Yoga — Moon + Mars conjunct or opposed.
  • Dhana Yoga — wealth combinations: 2nd / 11th lord in a kendra / trikona, or kendra / trikona lord in the 2nd / 11th.
  • Viprit Raja Yoga — a 6 / 8 / 12 lord sitting in a 6 / 8 / 12 house together with another planet in a dusthana; the classical "two negatives cancel into a kingmaker" combination.

Inauspicious yogas:

  • Kalsarpa Yoga — all 7 classical planets between Rahu and Ketu.
  • Kemadruma Yoga — Moon isolated (no planets in adjacent signs).
  • Shakata Yoga — Moon in 6/8/12 from Jupiter.
  • Grahan Mrityu Yoga — any planet within 5° of Rahu or Ketu. The classical "eclipse death" indicator.
{
  "chart_id": "01HKD…",
  "yogas": [
    {
      "name": "Gajakesari Yoga",
      "category": "lunar",
      "polarity": "auspicious",
      "participants": ["moon", "jupiter"],
      "house": null,
      "score": 10,
      "description": "Jupiter in pisces is 7th from Moon in virgo"
    },
    {
      "name": "Hamsa Yoga",
      "category": "pancha_mahapurusha",
      "polarity": "auspicious",
      "participants": ["jupiter"],
      "house": 4,
      "score": 15,
      "description": "jupiter in pisces (own/exalted) in kendra house 4"
    }
  ],
  "auspicious_count": 2,
  "inauspicious_count": 0
}

GET /v1/vedic/charts/{id}/yogas/{category}

The same detection, filtered to one category. category is one of: raja · pancha_mahapurusha · dhana · daridra · lunar · solar · node · malefic. Returns the same YogaReport shape as /yogas, with only the matching yogas in yogas[] (and the counts reflecting that subset).

GET /v1/vedic/charts/{id}/yoga-summary-cards

Frontend-ready cards — each detected yoga as a prioritised, evidence-bearing card (positive and challenging mixed, highest priority first).

{
  "chart_id": "01HKD…",
  "method_version": "v2",
  "cards": [
    {
      "kind": "yoga",
      "title": "Hamsa Yoga",
      "category": "pancha_mahapurusha",
      "polarity": "auspicious",
      "score": 15,
      "priority": 90,
      "participants": ["jupiter"],
      "evidence": ["jupiter in pisces (own/exalted) in kendra house 4"]
    }
  ],
  "features_used": [ { "source": "yogas", "version": "v2", "fields": ["cards"] } ]
}
Field (per card) Type Notes
title string The yoga's name.
category string One of the categories above.
polarity string auspicious / inauspicious.
score int The yoga's raw strength score.
priority int Display priority (higher = surface first).
participants string[] The planets forming it.
evidence string[] Plain-language reasons it fired.

Both endpoints require scope charts:read.