---
title: "Tarabala and Chandrabala"
method: POST
path: "/v1/astro/tarabala"
tags: ["Advanced"]
---

# Tarabala and Chandrabala

`POST /v1/astro/tarabala`

## Request

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

Tarabala and Chandrabala for any date, with the Moon's star and sign change times. For every Moon nakshatra and Moon sign in the range (1 to 31 civil days) it gives the exact start and end, the tara counted from the birth nakshatra with its name and whether it is favourable, and the Moon's house from the natal Moon sign with the chandrabala verdict (Muhurta Chintamani rules). Needs the birth Moon, so a birth time makes it exact; without one the natal Moon may be a star off.

## Request body

- TarabalaRequest
  - `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
  - `target_date` string, nullable: First day of the range (YYYY-MM-DD, civil day in `timezone`). Defaults to today in the birth timezone.
  - `days` integer: Number of civil days to cover, 1 to 31.
  - `target_timezone` string, nullable: IANA timezone that defines the civil days. Defaults to the birth timezone. The Moon's star and sign do not depend on place; only the day boundaries do.

## Response `200`

Successful Response

- ApiResponseTarabalaResponse
  - `success` boolean: True if the request succeeded
  - `message` string: Human-readable status message
  - `data` TarabalaResponse, required
    - `birth_time_provided` boolean: False when no birth time was given: the natal Moon then comes from a sunrise chart and may sit in a neighbouring nakshatra, so every tara below may be off by one.
    - `start_date` string, required
    - `end_date` string, required
    - `timezone` string, required
    - `range_start` string, required
    - `range_end` string, required
    - `range_start_utc` string, required
    - `range_end_utc` string, required
    - `natal` TarabalaNatal, required
      - `moon_nakshatra_index` integer, required
      - `moon_nakshatra` string, required
      - `moon_sign_index` integer, required
      - `moon_sign` string, required
    - `moon_nakshatras` MoonNakshatraSpan[], required: Every Moon nakshatra overlapping the range, in order, with its tara. Times are unclipped: the first span may start before the range.
      - `index` integer, required
      - `number` integer, required
      - `name` string, required
      - `start` string, required: When the Moon entered this nakshatra. ISO 8601 local time with UTC offset.
      - `end` string, required: When it leaves. ISO 8601 local time with UTC offset.
      - `start_utc` string, required
      - `end_utc` string, required
      - `tarabala` TaraInfo, required
        - `count_from_birth` integer, required: Count from the birth nakshatra, both inclusive.
        - `tara_number` integer, required
        - `cycle` integer, required: Which round of nine the count falls in.
        - `cycle_name` string, required
        - `name` string, required: Tara name: Janma, Sampat, Vipat, Kshema, Pratyak, Sadhana, Naidhana, Mitra, Ati-Mitra (Anujanma/Trijanma for the 10th and 19th).
        - `meaning` string, required
        - `is_favorable` boolean, required: True for Sampat, Kshema, Sadhana, Mitra and Ati-Mitra.
        - `is_moon_in_birth_nakshatra` boolean, required
    - `moon_signs` MoonSignSpan[], required: Every Moon sign overlapping the range, with its chandrabala.
      - `index` integer, required
      - `name` string, required: Sidereal sign (Sanskrit name).
      - `start` string, required
      - `end` string, required
      - `start_utc` string, required
      - `end_utc` string, required
      - `chandrabala` ChandrabalaInfo, required
        - `moon_house_from_natal` integer, required: The Moon's sign counted from the natal Moon sign.
        - `is_favorable` boolean, required: True for houses 1, 3, 6, 7, 10 and 11.
        - `is_ashtama` boolean, required: True in the 8th: Ashtama Chandra, the one to avoid.
    - `rules` object, required: The classical rules used, in plain words.

## 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)
