# Даші (періоди планет)

Даші — це періоди керування планет у ведичній астрології. Кожна планета «править» окремим відрізком життя людини, і саме чергування цих періодів пояснює таймінг подій. AstroWay рахує **10 систем дашів × 5 рівнів вкладеності = 50 ендпоінтів** в одному API.

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

- **Vimshottari** — основна система (120-річний цикл, прив'язана до Місячного накшатри при народженні). Використовується ~95% сучасних джйотиш-практиків.
- **Yogini** — 36-річний цикл, 8 богинь-керівниць (Mangala, Pingala, Dhanya, Bhramari, Bhadrika, Ulka, Siddha, Sankata).
- **Ashtottari** — 108-річний цикл, прив'язаний до Сонця.
- **Kalachakra** — циклічна даша, базується на накшатрі, не лінійна.
- **Chara** — рашi-даша (правлять знаки, не планети), система Jaimini.
- **Tribhagi** — варіант Vimshottari з потрьоєним темпом.
- **Shatabdika** — 100-річний цикл (рідкісна, для довгожителів).
- **Shodashottari** — 116-річний цикл, прив'язаний до Tithi.
- **Sthira** — фіксована rasi-даша (Jaimini).
- **Shoola** — rasi-даша з нерівними періодами (Jaimini).

Усередині кожної системи — 5 рівнів деталізації: **Maha** (головний період) → **Antar** (під-період) → **Pratyantar** (під-під) → **Sookshma** (мікро) → **Prana** (наносекундний).

## Ключові ендпоінти

| Ендпоінт | Кредити | Призначення |
|---|---|---|
| `/v1/vedic/dashas/vimshottari/maha` | 30 | Vimshottari maha-даші на 120 років |
| `/v1/vedic/dashas/vimshottari/antar` | 50 | Antar-даші всередині поточного maha |
| `/v1/vedic/dashas/vimshottari/pratyantar` | 80 | Pratyantar (3-й рівень вкладеності) |
| `/v1/vedic/dashas/vimshottari/sookshma` | 100 | Sookshma (4-й рівень) |
| `/v1/vedic/dashas/vimshottari/prana` | 150 | Prana (найдрібніший, добові інтервали) |
| `/v1/vedic/dashas/yogini/maha` | 30 | Yogini 36-річний цикл |
| `/v1/vedic/dashas/ashtottari/maha` | 30 | Ashtottari 108-річний цикл |
| `/v1/vedic/dashas/kalachakra/maha` | 50 | Циклічна Kalachakra |
| `/v1/vedic/dashas/chara/maha` | 40 | Chara rasi-даша (Jaimini) |
| `/v1/vedic/dashas/shodashottari/maha` | 30 | Shodashottari 116-річний цикл |

Повний список усіх 50 ендпоінтів — у [OpenAPI](/v1/openapi.json) (теги `Vedic / Dashas`).

## Приклад

<Tabs>
  <TabItem label="cURL">
    ```bash frame="terminal"
    curl -X POST https://api.astroway.info/v1/vedic/dashas/vimshottari/maha \
      -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/dashas/vimshottari/maha', {
      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();
    console.log(`Current maha: ${data.current.lord} until ${data.current.endDate}`);
    ```
  </TabItem>
  <TabItem label="Python">
    ```python

    r = requests.post(
        'https://api.astroway.info/v1/vedic/dashas/vimshottari/maha',
        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']
    print(f"Current: {data['current']['lord']} until {data['current']['endDate']}")
    ```
  </TabItem>
</Tabs>

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

```json
{
  "system": "vimshottari",
  "level": "maha",
  "ayanamsa": "lahiri",
  "moonNakshatra": "Rohini",
  "birthBalance": { "lord": "Moon", "yearsRemaining": 7.32 },
  "current": {
    "lord": "Rahu",
    "startDate": "2018-03-12",
    "endDate": "2036-03-12",
    "durationYears": 18
  },
  "periods": [
    { "lord": "Moon", "startDate": "1990-07-14", "endDate": "1997-11-04", "durationYears": 7.32 },
    { "lord": "Mars", "startDate": "1997-11-04", "endDate": "2004-11-04", "durationYears": 7 },
    { "lord": "Rahu", "startDate": "2018-03-12", "endDate": "2036-03-12", "durationYears": 18 }
  ]
}
```

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

- **Канонічний текст:** *Brihat Parashara Hora Shastra* (BPHS), розділи 46–52 — кожна система дашів описана окремо.
- **Reference implementation:** [PyJHora](https://github.com/naturalstupid/PyJHora) (Apache 2.0) — наш кросс-чек для всіх 10 систем. Алгоритми для Vimshottari/Yogini/Ashtottari/Kalachakra повністю збігаються з PyJHora; для Sthira/Shoola є мінімальний дрейф у часі переходів через відмінності в Jaimini sign-strength helpers.
- **Ayanamsa:** підтримуються `lahiri` (за замовчуванням, MoSh/IISc), `raman`, `krishnamurti`, `fagan-bradley`, `yukteshwar`, `sassanian`, `j2000`, `aldebaran`, `galactic-center`. Lahiri є офіційним стандартом Indian Ephemeris.
- **Tropical fallback:** усі даші використовують сидеричні координати — якщо ваш ключ передає `tropical: true`, ми внутрішньо застосовуємо ayanamsa-зсув.
- **Audit:** окремий запис в [/accuracy/](/accuracy/) для кожної системи дашів, з датою last-fix і дрейфом vs reference.

<Aside type="caution">
**Jaimini-даші vs Parashara-даші.** Chara/Sthira/Shoola належать до школи Джайміні — алгоритми принципово відрізняються від Парашари (правлять знаки, не планети). Якщо ви робите класичну джйотиш-програму — використовуйте Vimshottari як основну; інші системи беріть як додаткові огляди.
</Aside>

## Пов'язане

- [Панчанг](/vedic/panchang/) — добові ведичні параметри (tithi, karana, yoga, nakshatra)
- [Shadbala](/vedic/shadbala/) — шестикратна сила планет у момент розрахунку даші
- [Варги](/vedic/vargas/) — divisional charts D1–D60 (Navamsha критична для оцінки сили правителя даші)
- [Точність](/accuracy/) — лінідж, snapshot-тести, кросс-чек з swetest + PyJHora
- [Кредити](/credits/) — повна таблиця тарифів по всіх 50 dasha-ендпоінтах
- [Автентифікація](/authentication/) — як отримати `aw_live_*` ключ
