Skip to main content
POST/v1/astro/kp/ruling-planets

KP Ruling Planets

Computes KP Ruling Planets at a given moment (no natal birth chart). Request body: latitude, longitude, optional target_date, target_time, target_timezone. KP takes ruling planets at the moment of judgment, so with no target_date and no target_time the current instant is used. target_time alone means that time today; target_date alone means 12:00 on that date. Local date and time are read in target_timezone, which defaults to the time zone at the coordinates. target_utc and target_timezone in the response show the instant and zone used. A date not in the calendar (e.g. 2026-02-30) is rejected with 422 saying it does not exist; dates outside 1800-01-01 to 2099-12-31 are rejected with 422 too. A local time skipped by a daylight-saving change is read with the offset before the change (moved forward by the gap), a repeated time as its first occurrence; local_time_status says which applied. Works at every latitude, including inside the polar circles: only the ascendant is used, which needs no house cusps (the day lord still needs a sunrise). Returns day lord, Moon sign/nakshatra/sub lords, ascendant sign/nakshatra/sub lords, and the combined list of ruling planets in priority order.

Request parameters​

latituderequired
number
Location latitude in decimal degrees. North positive, south negative.
longituderequired
number
Location longitude in decimal degrees. East positive, west negative.
target_dateoptional
string | null
YYYY-MM-DD, local date in target_timezone. Omit together with target_time to use the current instant. Given without target_time, 12:00 local on that date is used. A date that is not in the calendar (e.g. 2026-02-30) is rejected with 422 saying the date does not exist. Supported dates: 1800-01-01 to 2099-12-31.
target_timeoptional
string | null
HH:MM (24-hour), local time in target_timezone. Given without target_date, that time today is used. Omit together with target_date to use the current instant. A time skipped by a daylight-saving change (e.g. 02:30 on 2026-03-08 in America/New_York) is read with the offset in force before the change, i.e. moved forward by the gap (03:30 EDT); a time that occurred twice is read as the first occurrence. local_time_status in the response says which applied.
target_timezoneoptional
string | null
IANA timezone (or explicit UTC offset) for target_date and target_time. Defaults to the time zone at the coordinates.

Response fields​

success
boolean
True if the request succeeded
message
string
Human-readable status message
data
object
data.ayanamsa
string
data.target_utc
string
The instant used, ISO 8601 UTC.
data.target_timezone
string
Time zone used to read target_date/target_time and for the sunrise-based day lord.
data.local_time_status
string
How target_date/target_time was read. 'nonexistent': the local time fell in a daylight-saving gap and was read with the offset in force before the change (moved forward by the gap). 'ambiguous': the local time occurred twice and the first occurrence was used. 'ok' otherwise, including when the current instant was used.
data.day_lord
string
data.moon
object
data.moon.longitude
number
data.moon.rashi
string
data.moon.sign_lord
string
data.moon.nakshatra_lord
string
data.moon.sub_lord
string
data.ascendant
object
data.ascendant.longitude
number
data.ascendant.rashi
string
data.ascendant.sign_lord
string
data.ascendant.nakshatra_lord
string
data.ascendant.sub_lord
string
data.ruling_planets
array[string]

Errors​

Invalid API key format.
API key is missing. Include it in the Authorization header as 'Bearer YOUR_KEY'.
The provided API key was not found. Verify the key in your Asterwise dashboard.
This API key has been revoked.
Too many requests per minute. Please slow down.
Something went wrong on our end. Please try again, or contact [email protected] if the problem persists. Include your request_id when contacting support.
Too many requests from this IP address. Please slow down.
Monthly API call limit reached. Upgrade your plan to continue.
Request body exceeds maximum allowed size of 64KB.
Your subscription has expired. Please renew at asterwise.com/dashboard to continue.
The request couldn't be processed. See the 'details' field for specific field-level issues.