curl -X POST https://api.occultapi.com/api/astro/prashna/ashtamangala/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date_time":"2026-09-16T10:30:00","latitude":26.9124,"longitude":75.7873,"timezone_as_float":5.5,"arudha_sign":5,"heaps":[35,40,33]}'Ashtamangala is the Kerala system of Prashna (horary astrology), as set out in Prasna Marga. The chart is cast for the moment and place of the question; the querent picks the Arudha sign, and 108 cowries divided into three heaps give the three-digit Ashtamangala number. This endpoint works out the chart, the Arudha, the Chatra, the six rasis of Prasna Kriya, the five Sutras and the full reading of the number. Send `date_time` as the local clock time of the question (`YYYY-MM-DDTHH:MM:SS`, no offset), `latitude`, `longitude` and `timezone_as_float`. `arudha_sign` is the sign the querent chose (1 = Aries); without it the rising sign is used. Give the cowries as `heaps` (three counts) or the number itself as `number` (three digits, each 1 to 8); `heaps` wins when both are sent. `birth_moon_sign`, `birth_nakshatra` and `touched_sign` (the sign of the organ the querent touched, 1 = Aries, the head) are optional and fill in the Janma rasi, the Nakshatra sutra and the Sprishtanga. The response has `day`, `lagna` and `arudha` (the Lagna's degrees placed in the chosen sign), `chatra` with the Veethi it was counted from, `six_rasis` (Arudha, Lagna, Navamsa lagna, Chatra, Sprishtanga and Janma, each with its organ and the benefics and malefics in or aspecting it), `sutras` (Samanya, Amsaka, Adhipati, Nakshatra and Maha, each Jeeva, Roga or Mrityu), the `planets` with their houses from both Lagna and Arudha, `number` (each digit's planet, yoni, animal and element and the results Prasna Marga gives for them) and the `organs` table. Two things to know. The chart always uses the Lahiri ayanamsa. And the sphutas and Gulika are not repeated here: call `/api/astro/prashna/` for the same moment to get them.
| Field | Type | Required | Notes |
|---|---|---|---|
| date_time | string (date-time) | required | The moment to calculate for, ISO 8601. ALWAYS include an offset or a trailing Z - a value with no zone is read as Asia/Kolkata (UTC+05:30), not UTC, and can return the previous day's result with a 200. '2026-09-01T06:00:00Z' and '2026-09-01 06:00:00' are different instants and give different answers. |
| latitude | number (double) | required | Latitude of the place, in decimal degrees. Positive is north, negative is south. Example: 26.9124 for Jaipur, 40.7128 for New York. Minutes and seconds are not accepted - convert first. min -66 · max 66 |
| longitude | number (double) | required | Longitude of the place, in decimal degrees. Positive is east, negative is west. Example: 75.7873 for Jaipur, -74.0060 for New York. Note the sign: a missing minus puts New York in China. min -180 · max 180 |
| timezone_as_float | number (double) | required | UTC offset of the place, in hours, as a decimal. Example: 5.5 for India (UTC+05:30), -5 for New York in winter, 5.75 for Nepal. This is NOT validated against date_time - if the two disagree you get a successful response for the wrong moment, so derive both from the same source. Use the offset in force on that date, not today's: a summer birth in a country with daylight saving needs the summer offset. min -12 · max 14 |
| arudha_sign | integer | optional | The sign the querent chose, 1 = Aries. Omit to use the rising sign. min 1 · max 12 |
| birth_moon_sign | integer | optional | The querent's Janma rasi, 1 = Aries, for the Janma rasi and st. 35. min 1 · max 12 |
| birth_nakshatra | integer | optional | The querent's Janma nakshatra, 1 = Ashwini, for the Nakshatra sutra and st. 35. min 1 · max 27 |
| heaps | array | optional | Cowries in the three heaps. |
| node_type | string | optional | meantrue |
| number | integer | optional | The three-digit Ashtamangala number, each digit 1-8. Used when heaps are not given. min 111 · max 888 |
| touched_sign | integer | optional | Sprishtanga: the sign of the organ the querent touched, 1 = Aries (head). min 1 · max 12 |