---
title: "Horary Planetary Hours"
method: POST
path: "/horary/planetary-hours"
tags: ["Horary"]
---

# Horary Planetary Hours

`POST /horary/planetary-hours`

Return the planetary hour ruler at the exact moment of a horary question and check if it matches the ASC ruler.

## Request body

- PlanetaryHours
  - `date` string, required
  - `latitude` number, nullable, required
  - `longitude` number, nullable, required
  - `timezoneOffset` number, nullable — Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC.
  - `atLocalHour` number — Local time of day in decimal hours, e.g. 15.2 for 15:12. When sent, the hour containing it carries isCurrent: true and every other hour carries false. When omitted, no hour carries the field at all: it is not false, it is unasked.

## Response `200`

Successful calculation

- object
  - `ok` boolean
  - `data` object
    - `hourRuler` string, nullable
    - `dayRuler` string, nullable
    - `ascRuler` string, nullable
    - `match` boolean, nullable
    - `hourNumber` number, nullable
    - `hourStart` string, nullable
    - `hourEnd` string, nullable

## Other responses

- `400` — Validation error
- `401` — Missing or invalid API key

## Changes

- **2026-08-23** `529d7d36d7d6` — 1 info
  - added the new optional request property `atLocalHour`
- **2026-08-15** `e637d1a9911b` — 2 warning
  - the `timezoneOffset` request property's max was set to `14.00`
  - the `timezoneOffset` request property's min was set to `-14.00`

[Change history](https://skmtc.dev/astroway/apis/astroway-calculation-api/changes/horary/planetary-hours/post.md)

---

[API](https://skmtc.dev/astroway/apis/astroway-calculation-api.md) · [All operations](https://skmtc.dev/astroway/apis/astroway-calculation-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/astroway/astroway-calculation-api/revisions/8ab5a768b521/schema)
