# Йоги (Yogas) — планетарні комбінації

Йоги — це специфічні комбінації планет у натальній карті, які підсилюють або послаблюють певні життєві теми (влада, багатство, духовність, ізоляція). AstroWay підтримує **12 ендпоінтів йог** у двох школах — Парашара (класична) і Джайміні (caraka-карака).

## Що ми розраховуємо

- **Раджа-йоги** — комбінації, що дають владу, статус, успіх. Поєднання володарів кендр (1, 4, 7, 10) і тріконов (1, 5, 9).
- **Дхана-йоги** — багатство. Зв'язки між володарями 2-го, 5-го, 9-го, 11-го домів.
- **Дхарма-Кармадхіпаті-йоги** — синергія володарів 9-го (дхарма) і 10-го (карма) домів.
- **Панча-Махапуруша** — п'ять "великих людських" йог: Ручака (Марс), Бхадра (Меркурій), Хамса (Юпітер), Малав'я (Венера), Шаша (Сатурн).
- **Гаджакесарі** — Юпітер у кендрі від Місяця.
- **Адхі-йога** — Меркурій, Юпітер, Венера у 6/7/8 від Місяця.
- **Атмакарака (Джайміні)** — планета з найбільшою довготою в межах знака; "душевний показник".
- **Бадхака (Джайміні)** — планетарне обмеження за рухомими/нерухомими/двостворінними знаками.

## Ендпоінти

| Ендпоінт | Школа | Кредити | Опис |
|---|---|---|---|
| `/v1/vedic/yogas/parashara/raja` | Парашара | 50 | Раджа-йоги |
| `/v1/vedic/yogas/parashara/dhana` | Парашара | 50 | Дхана-йоги (багатство) |
| `/v1/vedic/yogas/parashara/dharma-karmadhipati` | Парашара | 50 | Дхарма + Карма |
| `/v1/vedic/yogas/parashara/pancha-mahapurusha` | Парашара | 50 | 5 махапуруша-йог |
| `/v1/vedic/yogas/parashara/gajakesari` | Парашара | 20 | Гаджакесарі |
| `/v1/vedic/yogas/parashara/adhi` | Парашара | 20 | Адхі-йога |
| `/v1/vedic/yogas/parashara/full` | Парашара | 100 | Усі йоги Парашара одним викликом |
| `/v1/vedic/yogas/jaimini/raja` | Джайміні | 50 | Джайміні раджа-йоги |
| `/v1/vedic/yogas/jaimini/atmakaraka` | Джайміні | 20 | Атмакарака + інші karakas |
| `/v1/vedic/yogas/jaimini/badhaka` | Джайміні | 20 | Бадхака-планета |
| `/v1/vedic/yogas/jaimini/full` | Джайміні | 100 | Усі йоги Джайміні одним викликом |

## Приклад

<Tabs>
  <TabItem label="cURL">
    ```bash frame="terminal"
    curl -X POST https://api.astroway.info/v1/vedic/yogas/parashara/pancha-mahapurusha \
      -H "X-Api-Key: aw_live_your_key_here" \
      -H "Content-Type: application/json" \
      -d '{
        "date": "1990-07-14",
        "time": "14:30:00",
        "timezoneOffset": 3,
        "latitude": 50.4501,
        "longitude": 30.5234,
        "ayanamsa": "lahiri"
      }'
    ```
  </TabItem>
  <TabItem label="Node.js">
    ```ts
    const r = await fetch('https://api.astroway.info/v1/vedic/yogas/parashara/full', {
      method: 'POST',
      headers: {
        'X-Api-Key': process.env.ASTROWAY_API_KEY!,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        date: '1990-07-14',
        time: '14:30:00',
        timezoneOffset: 3,
        latitude: 50.4501,
        longitude: 30.5234,
        ayanamsa: 'lahiri',
      }),
    });
    const { data } = await r.json();
    console.log(`Active yogas: ${data.yogas.length}`);
    for (const y of data.yogas) {
      console.log(` - ${y.name} (${y.category}): ${y.strength}`);
    }
    ```
  </TabItem>
  <TabItem label="Python">
    ```python

    r = requests.post(
        'https://api.astroway.info/v1/vedic/yogas/parashara/full',
        headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY']},
        json={
            'date': '1990-07-14',
            'time': '14:30:00',
            'timezoneOffset': 3,
            'latitude': 50.4501,
            'longitude': 30.5234,
            'ayanamsa': 'lahiri',
        },
    )
    data = r.json()['data']
    for y in data['yogas']:
        print(f"{y['name']} ({y['category']}): {y['strength']}")
    ```
  </TabItem>
</Tabs>

Приклад відповіді (скорочено):

```json
{
  "data": {
    "yogas": [
      {
        "name": "Hamsa Yoga",
        "category": "pancha-mahapurusha",
        "planet": "Jupiter",
        "house": 1,
        "sign": "Cancer",
        "strength": "strong",
        "description": "Jupiter in own/exalted sign in a kendra from ascendant"
      },
      {
        "name": "Gajakesari Yoga",
        "category": "moon-jupiter",
        "houses_from_moon": 4,
        "strength": "moderate"
      }
    ],
    "count": 2,
    "ayanamsa": "lahiri"
  }
}
```

## Точність і джерела

- **Парашара-йоги** — алгоритм за *Brihat Parashara Hora Shastra* (BPHS), глави 36–39 (Raja-yoga, Dhana-yoga, Pancha-mahapurusha). Переклад Р. Сантанам (Ranjan Publications) як основний референс, перехресна звірка з *Phaladeepika* (Mantreswara).
- **Джайміні-йоги** — *Jaimini Sutras* (переклад P.S. Sastri), глава 2. Атмакарака за методом за довготою в межах знака (Parashari-варіант); альтернатива Krishna Mishra доступна через параметр `karaka_scheme=advanced`.
- **Статус ендпоінтів** — Phase 2, переважно GREEN. Окремі йоги (наприклад, Vipareeta Raja) поки YELLOW через варіативність визначень у різних коментарях BPHS; повний статус і дата останньої перевірки — у `docs/AUDIT-TRAIL.md` (приватний repo, інтегратори отримують доступ за запитом).
- **Sidereal zodiac** — за замовчуванням Lahiri ayanamsa. Підтримуються також Raman, Krishnamurti, Fagan-Bradley, Yukteshwar — задається параметром `ayanamsa`.

Жодна реалізація йог не може претендувати на "канонічну" — класичні тексти мають варіації в наборі правил і умов активації. Ми чесно фіксуємо вибрану школу і коментар у `docs/AUDIT-TRAIL.md`.

## Пов'язане

<CardGrid>
  <LinkCard title="Доші" href="/vedic/doshas/" description="Манґлік, кала-сарп, пітру — 19 ендпоінтів афлікцій" />
  <LinkCard title="Сумісність" href="/vedic/compatibility/" description="Ашта-кута, даша-кута, Manglik-перевірка" />
  <LinkCard title="Мухурта" href="/vedic/muhurat/" description="Електорна астрологія: вибір часу для подій" />
  <LinkCard title="Вартість" href="/credits/" description="Кредити за виклик для кожного ендпоінта" />
  <LinkCard title="Точність" href="/accuracy/" description="Як ми верифікуємо обчислення" />
  <LinkCard title="Автентифікація" href="/authentication/" description="X-Api-Key, тестові ключі, ротація" />
</CardGrid>
