Skip to main content

Western day view

One calendar day at a place, Western style: planetary hours, void-of-course Moon periods, Moon sign changes and the Moon phase. The day runs from local midnight to midnight; every planetary hour that falls in it is listed, with the void-of-course periods that overlap it and the Moon's tropical sign at the start and end. Same engines as /v1/western/planetary-hours and /v1/western/moon/void-of-course, in one call. Western counterpart of the panchanga civil day.

Endpoint​

POST /v1/western/day

GET works too

GET /v1/western/day: Same answer as the POST route with the same fields as query parameters; cacheable (public, 10 minutes).

Request parameters​

FieldTypeRequiredDescription
datestringYesDate in YYYY-MM-DD format
locationstring | nullNoCity name. Example: 'Mumbai'
latitudenumber | nullNoLatitude in decimal degrees, north positive. Use with longitude and timezone instead of location.
longitudenumber | nullNoLongitude in decimal degrees, east positive. Use with latitude and timezone instead of location.
timezonestring | nullNoIANA timezone string

Example request​

curl -X POST "https://api.asterwise.com/v1/western/day" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2026-01-01","latitude":51.5074,"longitude":-0.1278,"timezone":"Europe/London"}'

Example response​

Example response omitted — live API call did not return HTTP 200.

Response fields​

FieldTypeDescription
successbooleanTrue if the request succeeded
messagestringHuman-readable status message
dataobject
data.datestring
data.timezonestring
data.startstringLocal midnight that opens the day, ISO 8601 with offset.
data.endstringLocal midnight that closes it.
data.start_utcstring
data.end_utcstring
data.statusstringno_sunrise at polar latitudes: planetary_hours is then null.
data.status_detailstring | null
data.planetary_hoursarray[PlanetaryHour] | nullEvery planetary hour that overlaps the civil day (the hours after midnight come from the previous sunrise's night).
data.void_of_coursearray[object]Void-of-course Moon periods that overlap the civil day (traditional rule, see /v1/western/moon/void-of-course).
data.void_of_course[].start_utcstring
data.void_of_course[].end_utcstring
data.void_of_course[].duration_hoursnumber
data.void_of_course[].moon_signstring
data.void_of_course[].next_signstring
data.void_of_course[].last_aspectVoidOfCourseLastAspect | null
data.void_of_course[].whole_sign_voidboolean
data.moonobject
data.moon.sign_at_startstringTropical Moon sign at local midnight opening the day.
data.moon.sign_at_endstringTropical Moon sign at the midnight closing it.
data.moon.sign_changesarray[object]Moon sign changes inside the day, with exact times.
data.moon.sign_changes[].at_utcstring
data.moon.sign_changes[].at_localstring
data.moon.sign_changes[].from_signstring
data.moon.sign_changes[].to_signstring
data.moon.phase_namestringMoon phase for the date (eight 45° phases).
data.moon.illumination_pctnumber
data.moon.is_waxingboolean

Errors​

CodeDescriptionReference
api_key_invalidInvalid API key format.api_key_invalid
api_key_missingAPI key is missing. Include it in the Authorization header as 'Bearer YOUR_KEY'.api_key_missing
api_key_not_foundThe provided API key was not found. Verify the key in your Asterwise dashboard.api_key_not_found
api_key_revokedThis API key has been revoked.api_key_revoked
burst_limit_exceededToo many requests per minute. Please slow down.burst_limit_exceeded
internal_errorSomething went wrong on our end. Please try again, or contact [email protected] if the problem persists. Include your request_id when contacting support.internal_error
ip_rate_limit_exceededToo many requests from this IP address. Please slow down.ip_rate_limit_exceeded
monthly_usage_limit_exceededMonthly API call limit reached. Upgrade your plan to continue.monthly_usage_limit_exceeded
payload_too_largeRequest body exceeds maximum allowed size of 64KB.payload_too_large
subscription_expiredYour subscription has expired. Please renew at asterwise.com/dashboard to continue.subscription_expired
validation_errorThe request couldn't be processed. See the 'details' field for specific field-level issues.validation_error