Skip to main content

Void-of-course Moon

Void-of-course Moon periods in a date range (UTC). Rule used: the traditional one — the Moon is void from its last exact Ptolemaic aspect (conjunction, sextile, square, trine, opposition) to the Sun, Mercury, Venus, Mars, Jupiter or Saturn until it enters the next sign (William Lilly, Christian Astrology, 1647, p. 112). Outer planets are not counted. Each period gives start and end in UTC, the last aspect, the sign the Moon is in and the sign it enters next. Range limit 92 days.

Endpoint​

POST /v1/western/moon/void-of-course

GET works too

GET /v1/western/moon/void-of-course: Same answer as the POST route with the same fields as query parameters; cacheable (public, 10 minutes). Current-moment flags such as is_current may lag by up to the cache age.

Request parameters​

FieldTypeRequiredDescription
from_datestringYesFirst day of the range (YYYY-MM-DD, UTC).
to_datestringYesLast day of the range (YYYY-MM-DD, UTC, inclusive). At most 92 days after from_date.

Example request​

curl -X POST "https://api.asterwise.com/v1/western/moon/void-of-course" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"from_date":"2026-01-01","to_date":"2026-01-14"}'

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.from_datestring
data.to_datestring
data.definitionstringPlain-English statement of the rule used.
data.periodsarray[object]Void-of-course periods that overlap the range, in time order.
data.periods[].start_utcstringWhen the void-of-course period starts (last exact aspect), UTC.
data.periods[].end_utcstringWhen it ends: the Moon enters the next sign, UTC.
data.periods[].duration_hoursnumberLength of the void period in hours.
data.periods[].moon_signstringSign the Moon is in while void.
data.periods[].moon_sign_indexinteger
data.periods[].next_signstringSign the Moon enters at end_utc.
data.periods[].next_sign_indexinteger
data.periods[].last_aspectVoidOfCourseLastAspect | nullThe Moon's last exact aspect before leaving the sign. Null when the Moon made no exact aspect in that sign.
data.periods[].whole_sign_voidbooleanTrue when the Moon made no exact aspect at all while in the sign, so it was void for the whole passage.

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