The batch of births to chart, up to 5,000 records per run. SUPPORTED BIRTH YEARS ARE 1900-2100 BY CIVIL YEAR — the year in 'date', not the 사주 solar year — and a record outside that range comes back as an 'out_of_range' row with null pillars instead of a guess. The difference shows at both ends: a 1900-01-10 birth IS charted and reports solar_year 1899 (입춘 1900 is on 1900-02-04), while the 丑月 of solar year 2100, which opens with 소한 on 2101-01-05 and runs to 입춘 on 2101-02-04, is NOT chartable, because those dates are civil 2101. The last chartable date is 2100-12-31, still inside 子月. One record in = exactly one dataset row out, in the same order, with your own 'id' echoed back so you can join results to your source table. Per record: 'date' (required, YYYY-MM-DD, Gregorian/양력 — convert lunar 음력 dates first; a record marked calendar:'lunar' is rejected, never guessed at), 'time' (HH:MM or HH:MM:SS, 24-hour; omit it if unknown and the hour pillar is returned as null rather than guessed), 'sex' ('male' or 'female' — needed only for 대운, whose direction follows 양남음녀; omit it and 'daeun' is null with a note), 'id' (any string key of yours), 'timezone' (IANA zone id, defaults below), 'longitude' (degrees east, used only for the solar-time conventions, defaults below — but REQUIRED on any record whose 'timezone' differs from the run's default zone, since the default longitude then belongs to a different place; such a record comes back as 'longitude_required' instead of being charted on the wrong meridian). BILLING: charted rows and flagged rows (a local time that never existed or happened twice) are billed; rows rejected as 'invalid_input', 'out_of_range' or 'longitude_required' are still returned, so your join keeps one row per record, but they are not billed. The three pre-filled records are the cases worth seeing: an ordinary 1990 birth, a 23:40 birth in Korea's 1955 UTC+09:30 summer time, and a 1961-08-10 00:15 birth — a wall-clock time that never existed.
Default:[
{
"id": "A-1990",
"date": "1990-06-15",
"time": "13:10",
"sex": "male"
},
{
"id": "B-1955",
"date": "1955-07-10",
"time": "23:40",
"sex": "male"
},
{
"id": "C-1961",
"date": "1961-08-10",
"time": "00:15",
"sex": "female"
}
]