---
title: "Regional calendar: month boundaries for a year"
method: POST
path: "/vedic/calendar/regional/months"
tags: ["Vedic"]
---

# Regional calendar: month boundaries for a year

`POST /vedic/calendar/regional/months`

## Request

- Base URL: `https://api.astroway.info/v1`
- URL: `https://api.astroway.info/v1/vedic/calendar/regional/months`
- Auth: API key in header `X-Api-Key`
- TypeScript: <https://skmtc.dev/astroway/apis/astroway-calculation-api/docs/vedic/calendar/regional/months/post.ts> (a function with typed inputs; its response is checked against the schema)

Month boundaries of a regional calendar for the year. Solar: tamil (sankranti before sunset: that day), malayalam (within the first three fifths of daylight: that day), bengali (between sunrise and midnight: the next day; after midnight: the day after), each month with its sankranti moment, first and last civil day, length and year (Tamil samvatsara, Kollam era, Bangabda). Lunisolar: gujarati (amanta, Vikram Samvat from Kartika, Sud and Vad) and marathi (amanta, Shaka from Chaitra), each month with its new moons, first and last civil day, adhika and kshaya.

## Query parameters

- `fields` string
- `precision` integer

## Headers

- `Idempotency-Key` string

## Request body

- RegionalMonthsInput: A regional calendar, a Gregorian year and a place.
  - `calendar` 'tamil' | 'malayalam' | 'bengali' | 'gujarati' | 'marathi', required: tamil, malayalam, bengali (solar months from the sankranti by each region's rule), gujarati (amanta, Vikram Samvat from Kartika), marathi (amanta, Shaka from Chaitra).
  - `year` integer, required: Gregorian year, 1900 to 2100. Entries are those whose date falls in this year.
  - `latitude` number, nullable, required: Latitude in decimal degrees, north positive. Between -66 and 66: further out the Sun does not rise on some days and a Hindu day has no start.
  - `longitude` number, nullable, required: Longitude in decimal degrees, east positive.
  - `timezone` string: IANA zone name such as Asia/Kolkata, America/New_York or Europe/Kyiv, or auto (default) to look it up from the coordinates. Resolved day by day: each day is read on the offset that zone kept that day, so summer time is followed.
  - `timezoneOffset` number, nullable: A fixed offset in hours instead of a zone, for the whole year. Ignored when timezone is sent.
  - `ayanamsaId` number, nullable
  - `ayanamsa` 'fagan-bradley' | 'lahiri' | 'de-luce' | 'raman' | 'krishnamurti' | 'kp' | 'yukteshwar' | 'jn-bhasin' | 'true-citra' | 'djwhal-khul': Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.

## Response `200`

Successful calculation

- object
  - `ok` boolean
  - `data` object
    - `calendar` string, nullable
    - `year` number, nullable
    - `place` object, nullable
      - `latitude` number, nullable
      - `longitude` number, nullable
      - `timezone` string, nullable
      - `timezoneOffset` unknown
      - `ayanamsaId` number, nullable
    - `months` object[], nullable
      - `name` string, nullable
      - `number` number, nullable
      - `sign` string, nullable
      - `sankranti` string, nullable
      - `start` string, nullable
      - `end` string, nullable
      - `days` number, nullable
      - `year` object, nullable
        - `era` string, nullable
        - `number` unknown
        - `name` string, nullable
    - `rule` string, nullable

## Other responses

- `400`: Validation error
- `401`: Missing or invalid API key

## Changes

- **2026-11-07** `69a55e116a5e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/astroway/apis/astroway-calculation-api/changes/vedic/calendar/regional/months/post.md)

---

[API](https://skmtc.dev/astroway/apis/astroway-calculation-api.md) - [All operations](https://skmtc.dev/astroway/apis/astroway-calculation-api/llms.txt) - [OpenAPI document](https://skmtc.dev/astroway/apis/astroway-calculation-api/revisions/bf266b2e6703?raw)
