---
title: "Yogini Dasha"
method: POST
path: "/v1/astro/yogini"
tags: ["Advanced"]
---

# Yogini Dasha

`POST /v1/astro/yogini`

## Request

- Base URL: `https://api.asterwise.com`
- URL: `https://api.asterwise.com/v1/astro/yogini`
- Auth: HTTP bearer

Computes Yogini Dasha periods for a given birth chart.

**What is Yogini Dasha?**
Yogini Dasha is a Nakshatra-based dasha system using 8 Yoginis, each ruled 
by a planet. The total cycle is 36 years. It is considered highly accurate
for timing events in the near term and is widely used alongside Vimshottari.

**Timeline:** the opening Yogini runs from birth for its balance, then three
full 36-year cycles follow (past age 108). The first row carries
`dasha_start_date` (when the full period began, before birth) and
`balance_years`; its antardashas are the tail of the full period.

**Antardashas:** each lasts MD years × AD Yogini years / 36, starting from
the Mahadasha's own Yogini (the published proportional rule).

**The 8 Yoginis and their durations:**
- Mangala (Moon) — 1 year
- Pingala (Sun) — 2 years
- Dhanya (Jupiter) — 3 years
- Bhramari (Mars) — 4 years
- Bhadrika (Mercury) — 5 years
- Ulka (Saturn) — 6 years
- Siddha (Venus) — 7 years
- Sankata (Rahu) — 8 years

**Starting Yogini** is determined by the Moon's Nakshatra at birth.

**Levels:**
- `levels: 1` — returns Maha Dasha periods only
- `levels: 2` — returns Maha Dasha with Antar Dasha sub-periods (default)

**Date format:** All dates are returned in DD/MM/YYYY format.

**Ayanamsa:** Default is Lahiri; the request's `ayanamsa` is applied.

## Request body

- YoginiRequest
  - `location` string, nullable: City name to resolve to lat/lon/tz automatically. Example: 'Mumbai' or 'New Delhi, India'. If provided, latitude, longitude and timezone are not required.
  - `name` string: Person name associated with the birth record
  - `date` string, required: Birth date in YYYY-MM-DD format
  - `time` string, nullable: Birth time in HH:MM 24-hour format. If omitted, sunrise chart is used as fallback.
  - `latitude` number, nullable: Latitude. Required if location not provided.
  - `longitude` number, nullable: Longitude. Required if location not provided.
  - `timezone` string, nullable: IANA timezone. Required if location not provided (unless utc_offset is given). For dates before the zone adopted a standard time, the birthplace's local mean time (longitude / 15 hours) is used.
  - `utc_offset` string, nullable: Optional explicit UTC offset of the birth time, as ±HH:MM or ±HH:MM:SS (e.g. '+04:51:31' for Bombay mean time). Overrides the offset `timezone` would give. Use it when the birth record states the offset, or for historical local times the IANA database cannot represent.
  - `ayanamsa` 'lahiri' | 'raman' | 'kp' | 'tropical': Sidereal ayanamsa mode used in calculations
  - `levels` integer: Depth of sub-periods to return. 1 returns Maha Dashas only. 2 returns Maha and Antar Dashas. Maximum is 2.

## Response `200`

Successful Response

- ApiResponseYoginiEndpointResponse
  - `success` boolean: True if the request succeeded
  - `message` string: Human-readable status message
  - `data` YoginiEndpointResponse, required
    - `periods` YoginiResponse, required
      - `root` YoginiPeriod[], required
        - `yogini` string, required: Name of the Yogini ruling this period, e.g. Mangala, Pingala, Dhanya
        - `planet` string, required: Planetary lord of this Yogini
        - `start_jd` number, required: Start of period as Julian Day number
        - `end_jd` number, required: End of period as Julian Day number
        - `start_date` string, required: Start date in DD/MM/YYYY format
        - `end_date` string, required: End date in DD/MM/YYYY format
        - `sub` unknown[], nullable: Sub-periods (Antar Dasha), present only when levels=2. Each lasts MD years × AD Yogini years / 36, starting from the MD's own Yogini. Under the first Mahadasha they are the remaining tail of the full Mahadasha, which began before birth.
          - unknown
        - `dasha_start_date` string, nullable: Only on the first Mahadasha row: the date (DD/MM/YYYY, UTC) the full Mahadasha began, before birth. The row itself starts at birth and lasts the balance.
        - `balance_years` number, nullable: Only on the first Mahadasha row: the balance of that Mahadasha remaining at birth, in years of 365.25636 days.
    - `birth_time_provided` boolean: Whether a precise birth time was provided. False when birth time was not supplied or treated as unknown — calculations using this field will have lagna-dependent accuracy limits.

## Other responses

- `401`: Authentication failed
- `403`: Authorization failed
- `404`: Resource not found
- `413`: Payload too large
- `422`: Validation error
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream provider error
- `503`: Service unavailable

---

[API](https://skmtc.dev/asterwise/apis/asterwise-api.md) · [All operations](https://skmtc.dev/asterwise/apis/asterwise-api/llms.txt) · [OpenAPI document](https://skmtc.dev/asterwise/apis/asterwise-api/revisions/3c4bbb1194e2?raw)
