# Shadbala (шестикратна сила планет)

Shadbala (षड्बल, «шість сил») — класична ведична метрика «наскільки сильна планета у конкретній карті». Сила обчислюється як сума шести компонентів і виражається в **rupa** (1 rupa = 60 virupa). Результат — об'єктивне число для порівняння планет, ранжування правителів дашів, та оцінки якості yoga. AstroWay експонує 6 компонентів окремо + підсумковий total.

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

Шість сил за *Brihat Parashara Hora Shastra* (BPHS), розділ 27 «Грахабала-адхйайя»:

- **Sthana Bala** (sthāna, «позиційна») — сила від положення в знаку, навамші, варгах, окреслена 5 під-компонентами (Uchcha Bala, Saptavargaja Bala, Ojha-Yugma Bala, Kendradi Bala, Drekkana Bala).
- **Dig Bala** («напрямкова») — Юпітер/Меркурій сильні на сході, Місяць/Венера на півночі, Сатурн на заході, Сонце/Марс на півдні.
- **Kala Bala** («часова») — 9 під-компонентів: Nathonnatha, Paksha, Tribhaga, Abda/Masa/Vara/Hora, Ayana, Yuddha. Залежить від часу доби, дня тижня, місяця, року, війни планет.
- **Cheshta Bala** («рухова») — швидкість планети vs середня. Ретроградні планети отримують максимум; вкрай повільні (станції) — теж високі бали.
- **Naisargika Bala** («природна») — фіксована шкала: Сонце 60, Місяць 51.43, Венера 42.85, Юпітер 34.28, Меркурій 25.71, Марс 17.14, Сатурн 8.57 virupa.
- **Drik Bala** («аспектна») — сума прийнятих/наданих аспектів від інших планет, зважена за орбісом і характером.

Підсумок: `Total Bala = Sthana + Dig + Kala + Cheshta + Naisargika + Drik`. Порівнюється з **Required Bala** (мінімальний поріг сили per BPHS Table 27.1) — планета «достатньо сильна», якщо Total ≥ Required.

## Ендпоінти

| Ендпоінт | Кредити | Що повертає |
|---|---|---|
| `/v1/vedic/shadbala/sthana` | 30 | Sthana Bala + 5 під-компонентів для 7 планет |
| `/v1/vedic/shadbala/dig` | 20 | Dig Bala (напрямкова сила) |
| `/v1/vedic/shadbala/kala` | 50 | Kala Bala + 9 під-компонентів |
| `/v1/vedic/shadbala/cheshta` | 30 | Cheshta Bala (зі швидкістю та статусом ретро) |
| `/v1/vedic/shadbala/naisargika` | 10 | Naisargika (фіксована таблиця) |
| `/v1/vedic/shadbala/drik` | 30 | Drik Bala (аспектна сума) |
| `/v1/vedic/shadbala/full` | 100 | Усі 6 + total + ratio до Required Bala |

## Приклад

<Tabs>
  <TabItem label="cURL">
    ```bash frame="terminal"
    curl -X POST https://api.astroway.info/v1/vedic/shadbala/full \
      -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.45,
        "longitude": 30.52,
        "ayanamsa": "lahiri"
      }'
    ```
  </TabItem>
  <TabItem label="Node.js">
    ```ts
    const r = await fetch('https://api.astroway.info/v1/vedic/shadbala/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.45, longitude: 30.52, ayanamsa: 'lahiri',
      }),
    });
    const { data } = await r.json();
    const strongest = data.planets.reduce((a, b) => b.total > a.total ? b : a);
    console.log(`Strongest planet: ${strongest.name} (${strongest.total} rupa)`);
    ```
  </TabItem>
  <TabItem label="Python">
    ```python

    r = requests.post(
        'https://api.astroway.info/v1/vedic/shadbala/full',
        headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY']},
        json={
            'date': '1990-07-14', 'time': '14:30:00', 'timezoneOffset': 3,
            'latitude': 50.45, 'longitude': 30.52, 'ayanamsa': 'lahiri',
        },
    )
    data = r.json()['data']
    for p in data['planets']:
        flag = 'OK' if p['total'] >= p['required'] else 'WEAK'
        print(f"{p['name']:8s} {p['total']:6.2f} / {p['required']:5.2f}  [{flag}]")
    ```
  </TabItem>
</Tabs>

### Приклад відповіді

```json
{
  "ayanamsa": "lahiri",
  "unit": "rupa",
  "planets": [
    {
      "name": "Sun",
      "sthana":     1.21,
      "dig":        0.34,
      "kala":       1.05,
      "cheshta":    0.42,
      "naisargika": 1.00,
      "drik":       0.18,
      "total":      4.20,
      "required":   5.00,
      "ratio":      0.84
    },
    {
      "name": "Moon",
      "sthana":     2.43, "dig": 0.91, "kala": 1.78, "cheshta": 0.55,
      "naisargika": 0.86, "drik": 0.32, "total": 6.85, "required": 6.00, "ratio": 1.14
    }
  ]
}
```

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

- **Канонічний текст:** *Brihat Parashara Hora Shastra* (BPHS), розділ 27 — формули шести bal та таблиці Required Bala.
- **Reference implementation:** [PyJHora](https://github.com/naturalstupid/PyJHora) (Apache 2.0), модуль `shadbala.py`. Наші числа збігаються з PyJHora в межах ±0.05 rupa для всіх компонентів окрім Drik Bala (там використовуються трохи різні орбіси аспектів — ми використовуємо повний BPHS-варіант, PyJHora — спрощений).
- **Status:** GREEN для Sthana/Dig/Kala/Cheshta/Naisargika, YELLOW для Drik (через різницю в орбісах). Деталі — [/accuracy/](/accuracy/).
- **Ayanamsa:** ті ж 9 опцій, що й для інших ведичних розрахунків (Lahiri за замовчуванням).
- **Kala Bala складна.** 9 під-компонентів вимагають точного часу sunrise/sunset для даної географії — переконайтесь, що `latitude/longitude/timezoneOffset` коректні.

<Aside type="caution">
**Shadbala — не оракул.** Висока сила не означає «хороших подій» — це означає «планета буде активно проявлятися». Слабка планета з yoga може дати кращі плоди, ніж сильна без неї. Використовуйте Shadbala як одну з вхідних даних для аналізу, не як єдиний предиктор.
</Aside>

## Пов'язане

- [Даші](/vedic/dashas/) — Shadbala ключова для оцінки правителя поточної даші
- [Панчанг](/vedic/panchang/) — момент розрахунку Kala Bala залежить від tithi/vara
- [Варги](/vedic/vargas/) — Saptavargaja Bala (під-компонент Sthana) ґрунтується на 7 divisional charts
- [Точність](/accuracy/) — детальний аудит компонентів і дрейфу vs PyJHora
- [Кредити](/credits/) — повна таблиця тарифів
- [Автентифікація](/authentication/) — як отримати `aw_live_*` ключ
