---
title: "Choghadiya periods"
method: POST
path: "/v1/astro/panchanga/choghadiya"
tags: ["Astrology"]
---

# Choghadiya periods

`POST /v1/astro/panchanga/choghadiya`

## Request

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

Calculate all 16 Choghadiya periods (8 day + 8 night) for a given date and location. Each period is classified (e.g. highly auspicious for Amrit, good, beneficial, neutral, or inauspicious) with the ruling planet.

## Request body

- PanchangaExtRequest: Base request schema for all panchanga extension endpoints.
  - `date` string, required: Date in YYYY-MM-DD format
  - `location` string, nullable: City name. Example: 'Mumbai'
  - `latitude` number, nullable: Latitude in decimal degrees, north positive. Use with longitude and timezone instead of location.
  - `longitude` number, nullable: Longitude in decimal degrees, east positive. Use with latitude and timezone instead of location.
  - `timezone` string, nullable: IANA timezone string

## Response `200`

Day and night Choghadiya periods with start/end times and classification

- ApiResponseChoghadiyaResponse
  - `success` boolean: True if the request succeeded
  - `message` string: Human-readable status message
  - `data` ChoghadiyaResponse, required
    - `status` 'ok' | 'no_sunrise': ok, or no_sunrise when the place has no sunrise or sunset on that date (polar latitudes): the window fields are then null.
    - `status_detail` string, nullable: Plain-English reason when status is not ok.
    - `date` string, required: Date for which Choghadiya is calculated (YYYY-MM-DD).
    - `sunrise` string, nullable: Sunrise time in HH:MM local time.
    - `sunrise_at` string, nullable: Sunrise time, ISO 8601 local time with date and UTC offset.
    - `sunrise_utc` string, nullable: Sunrise time, ISO 8601 UTC with Z.
    - `sunset` string, nullable: Sunset time in HH:MM local time.
    - `sunset_at` string, nullable: Sunset time, ISO 8601 local time with date and UTC offset.
    - `sunset_utc` string, nullable: Sunset time, ISO 8601 UTC with Z.
    - `day_choghadiya` ChoghadiyaPeriod[], nullable: 8 Choghadiya periods from sunrise to sunset.
      - `period` integer, required: Period number, 1 to 8.
      - `name` string, required: Choghadiya name, e.g. Amrit, Shubh, Kaal.
      - `type` string, required: Classification: highly auspicious, auspicious, or inauspicious.
      - `ruling_planet` string, required: Planet ruling this Choghadiya period.
      - `suitable_for` string, required: Activities suited to this period.
      - `start` string, required: Period start time in HH:MM local time.
      - `start_at` string, nullable: Period start time, ISO 8601 local time with date and UTC offset.
      - `start_utc` string, nullable: Period start time, ISO 8601 UTC with Z.
      - `end` string, required: Period end time in HH:MM local time.
      - `end_at` string, nullable: Period end time, ISO 8601 local time with date and UTC offset.
      - `end_utc` string, nullable: Period end time, ISO 8601 UTC with Z.
      - `is_current` boolean, required: True if this period is currently active.
    - `night_choghadiya` ChoghadiyaPeriod[], nullable: 8 Choghadiya periods from sunset to next sunrise.
      - `period` integer, required: Period number, 1 to 8.
      - `name` string, required: Choghadiya name, e.g. Amrit, Shubh, Kaal.
      - `type` string, required: Classification: highly auspicious, auspicious, or inauspicious.
      - `ruling_planet` string, required: Planet ruling this Choghadiya period.
      - `suitable_for` string, required: Activities suited to this period.
      - `start` string, required: Period start time in HH:MM local time.
      - `start_at` string, nullable: Period start time, ISO 8601 local time with date and UTC offset.
      - `start_utc` string, nullable: Period start time, ISO 8601 UTC with Z.
      - `end` string, required: Period end time in HH:MM local time.
      - `end_at` string, nullable: Period end time, ISO 8601 local time with date and UTC offset.
      - `end_utc` string, nullable: Period end time, ISO 8601 UTC with Z.
      - `is_current` boolean, required: True if this period is currently active.

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