---
title: "KP: Horary chart (1..249)"
method: POST
path: "/vedic/kp/horary"
tags: ["Vedic"]
---

# KP: Horary chart (1..249)

`POST /vedic/kp/horary`

KP horary number lookup: given a number 1..249, returns the canonical KP-table ASC longitude + sub-lord chain. The horary moment is the call moment passed in the body.

## Request body

- HoraryInput
  - `horaryNumber` integer, required
  - `date` string, required
  - `time` string, 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.
  - `latitude` number, required
  - `longitude` number, required
  - `ayanamsaId` number, nullable
  - `ayanamsa` 'fagan-bradley' | 'lahiri' | 'de-luce' | 'raman' | 'krishnamurti' | 'kp' | 'yukteshwar' | 'jn-bhasin' | 'true-citra' | 'djwhal-khul' — Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.

## Response `200`

Successful calculation

- object
  - `ok` boolean
  - `data` object
    - `horaryNumber` number, nullable
    - `ascSidereal` number, nullable
    - `ascendant` object, nullable
      - `longitude` number, nullable
      - `sign` number, nullable
      - `signName` string, nullable
      - `signLord` number, nullable
      - `signLordName` string, nullable
      - `star` number, nullable
      - `starName` string, nullable
      - `starLord` number, nullable
      - `starLordName` string, nullable
      - `sub` number, nullable
      - `subName` string, nullable
      - `subSub` number, nullable
      - `subSubName` string, nullable
      - `positionInSign` number, nullable
      - `positionInStar` number, nullable
    - `method` string, nullable

## Other responses

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

## Changes

- **2026-08-24** `8ab5a768b521` — 12 info
  - added the optional property `data/ascendant/longitude` to the response with the `200` status
  - added the optional property `data/ascendant/positionInSign` to the response with the `200` status
  - added the optional property `data/ascendant/positionInStar` to the response with the `200` status
  - added the optional property `data/ascendant/sign` to the response with the `200` status
  - …8 more
- **2026-08-23** `6828e5609564` — 4 warning
  - the `latitude` request property's max was set to `90.00`
  - the `longitude` request property's max was set to `180.00`
  - the `latitude` request property's min was set to `-90.00`
  - the `longitude` request property's min was set to `-180.00`
- **2026-08-18** `dd3764875e7a` — 2 info
  - added the new optional request property `ayanamsa`
  - the request property `ayanamsaId` became nullable
- **2026-08-15** `e637d1a9911b` — 2 warning, 3 info
  - the `timezoneOffset` request property's max was set to `14.00`
  - the `timezoneOffset` request property's min was set to `-14.00`
  - the request property `timezoneOffset` became nullable
  - the request property `timezoneOffset` became optional
  - …1 more

[Change history](https://skmtc.dev/astroway/apis/astroway-calculation-api/changes/vedic/kp/horary/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/4ed0fa90d9dc/schema)
