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
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_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_date and target_time. Defaults to the time zone at the coordinates.Response fields
target_date/target_time and for the sunrise-based day lord.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.