Monthly Panchanga calendar (JSON body)
Same data as GET /v1/astro/panchanga/calendar. Minimum required JSON fields: year (1900–2100), month (1–12), lat, lon. Optional timezone defaults to Asia/Kolkata.
Endpoint
POST /v1/astro/panchanga/calendar
Request parameters
| Field | Type | Required | Description |
|---|---|---|---|
| year | integer | Yes | |
| month | integer | Yes | |
| lat | number | Yes | |
| lon | number | Yes | |
| timezone | string | No | IANA timezone for the location |
| ayanamsa | string | No |
Example request
- curl
- Python
- TypeScript
curl -X POST "https://api.asterwise.com/v1/astro/panchanga/calendar" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"year":2026,"month":1,"lat":28.6139,"lon":77.209,"timezone":"Asia/Kolkata"}'
import asterwise
from asterwise.api.astrology_api import AstrologyApi
from asterwise.models.panchanga_calendar_post_body import PanchangaCalendarPostBody
configuration = asterwise.Configuration(
host="https://api.asterwise.com",
access_token="YOUR_API_KEY",
)
request = PanchangaCalendarPostBody(
year=2026,
month=1,
lat=28.6139,
lon=77.209,
timezone="Asia/Kolkata",
)
with asterwise.ApiClient(configuration) as client:
api = AstrologyApi(client)
result = api.panchanga_calendar_post(panchanga_calendar_post_body=request)
print(result)
import { createClient, createConfig, panchangaCalendarPost } from 'asterwise';
const client = createClient(createConfig({
baseUrl: 'https://api.asterwise.com',
headers: { Authorization: 'Bearer YOUR_API_KEY' },
}));
const result = await panchangaCalendarPost({
client,
body: {
"year": 2026,
"month": 1,
"lat": 28.6139,
"lon": 77.209,
"timezone": "Asia/Kolkata"
},
});
console.log(result.data);
Example response
Response fields
| Field | Type | Description |
|---|---|---|
| success | boolean | True if the request succeeded |
| message | string | Human-readable status message |
| data | object | |
| data.year | integer | Year of the calendar. |
| data.month | integer | Month of the calendar, 1 to 12. |
| data.timezone | string | IANA timezone used for calculations. |
| data.ayanamsa | string | Ayanamsa system used. |
| data.days | array[object] | Panchanga data for every day of the month. |
| data.days[].date | string | Date in YYYY-MM-DD format. |
| data.days[].tithi | object | |
| data.days[].tithi.name | string | Tithi name. |
| data.days[].tithi.number | integer | Tithi number, 1 to 30. |
| data.days[].tithi.paksha | string | Shukla or Krishna. |
| data.days[].tithi.end_time | string | null | Tithi end time if available. |
| data.days[].vara | object | |
| data.days[].vara.name | string | Weekday name in Sanskrit. |
| data.days[].vara.number | integer | Weekday number, 1 to 7. |
| data.days[].vara.lord | string | null | Planetary lord of the weekday. |
| data.days[].nakshatra | object | |
| data.days[].nakshatra.name | string | Nakshatra name. |
| data.days[].nakshatra.index | integer | Zero-based nakshatra index, 0 to 26. |
| data.days[].nakshatra.pada | integer | Pada number, 1 to 4. |
| data.days[].nakshatra.end_time | string | null | Nakshatra end time if available. |
| data.days[].yoga | object | |
| data.days[].yoga.name | string | Yoga name. |
| data.days[].yoga.index | integer | Zero-based yoga index, 0 to 26. |
| data.days[].yoga.is_inauspicious | boolean | True if this yoga is inauspicious. |
| data.days[].yoga.end_time | string | null | Yoga end time if available. |
| data.days[].karana | object | |
| data.days[].karana.name | string | Karana name. |
| data.days[].karana.number | integer | Karana number. |
| data.days[].karana.end_time | string | null | Karana end time if available. |
| data.days[].rahu_kaal | object | |
| data.days[].rahu_kaal.start | string | Rahu Kaal start time in HH:MM local time. |
| data.days[].rahu_kaal.end | string | Rahu Kaal end time in HH:MM local time. |
Errors
| Code | Description | Reference |
|---|---|---|
| authentication_failed | Missing or invalid API key. | authentication_failed |
| ephemeris_unavailable | Upstream ephemeris service error. | ephemeris_unavailable |
| insufficient_tier | API key tier does not include this endpoint. | insufficient_tier |
| internal_error | Unexpected server error. | internal_error |
| ip_rate_limit_exceeded | Too many requests in a short window. | ip_rate_limit_exceeded |
| payload_too_large | Request body exceeds the size limit. | payload_too_large |
| resource_not_found | Referenced resource was not found. | resource_not_found |
| validation_error | Request body failed schema validation. | validation_error |