curl -X POST https://yogataraapi.prahlad.app/api/astro/chinese/luck-pillars/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date_time":"1984-06-15T14:30:00+08:00","latitude":39.9042,"longitude":116.4074,"timezone_as_float":8,"gender":"male","count":8}'The ten-year luck cycles, BaZi's timing technique. Life is divided into ten-year pillars stepping forward or backward through the sexagenary cycle from the month pillar. Two things decide how. DIRECTION: forward for a male born in a yang year or a female born in a yin year, backward otherwise. This is why `gender` is required — without it the cycles cannot be placed at all, and guessing would give a confident reading of the wrong half of someone's life. STARTING AGE: the distance from the birth to the adjacent solar term — the next one going forward, the previous going backward — at the classical rate of three days to one year. So a birth two days after a term, running backward, begins its first pillar at about eight months old; one twenty-five days before the next, running forward, begins at about eight years. Each pillar carries the ages and dates it covers and its ten-god relation to the day master, which is how the period is actually read.
| 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. |
| gender | string | required | Required: the direction of the luck cycles depends on it, together with the polarity of the year stem. malefemale |
| count | integer | optional | How many ten-year pillars to return. min 1 · max 12 |
| day_boundary | string | optional | When the day pillar changes. 'zi_hour' is 23:00, the traditional rule; 'midnight' is what most software uses. They disagree for births between 23:00 and 24:00. zi_hourmidnight |
| keys | array | optional | Which calculations to return, as a list of names. See the key table for this endpoint; an unrecognised name rejects the whole request. One call costs one credit however many keys you ask for, so request everything you need at once rather than making several calls. |
| latitude | number (double) | optional | 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. |
| longitude | number (double) | optional | 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. |
| orb_factor | number (double) | optional | Scale every aspect orb. 0.5 halves them, 2 doubles them. min 0.1 · max 2 |
| timezone_as_float | number (double) | optional | 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 |
| true_solar_time | boolean | optional | Correct the hour by the longitude's offset from the timezone meridian. Traditional practice uses true local solar time and it can move the hour pillar by one place. |