rectify_birth_time
Test how much a recorded birth time can actually be narrowed, and against what.
Two modes:
* **No events** — scans the uncertainty window and reports how many
genuinely distinct charts it contains, what differs between them, and
what does not. Use this FIRST to find out whether rectification is even
worth attempting.
* **With events** — scores each candidate against dated life events and
checks the result against a null model of randomised dates.
This tool does NOT return "your real birth time is X", and you should not
present it that way. The unit of the answer is the **variant** — a group of
minutes producing an identical chart structure. Preferring one minute over
its neighbour inside a variant is fitting arithmetic, not evidence.
Read `verdict.usable` before quoting anything else. Fewer than three
independent, well-dated events fits the events rather than the birth time,
and the verdict will say so.
Args:
dob, tob, tz, lat, lon: Birth data, as for create_chart. `tob` is the
centre of the window, not an assertion.
events: Dated life events, e.g.
[{"date": "2015-06", "type": "job_change"},
{"date": "2019-03", "type": "marriage"}].
Dates may be YYYY-MM or YYYY-MM-DD. See `event_types` in the error
response for the accepted vocabulary.
half_width_minutes: Half-width of the uncertainty window (max 120).
step_minutes: Candidate spacing in minutes.
ayanamsha: Sidereal zero-point.
Costs one full chart computation per candidate, with a minimum of 20 per
call — a 30-minute window at 1-minute steps is 61 charts and takes a few
seconds. The floor means a very narrow window is not cheaper than one
considered call, which is deliberate: probing repeatedly is the wrong way
to use this. On the shared public demo a single call is capped at 61
candidates; the refusal names two smaller calls that fit.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tz | Yes | ||
| dob | Yes | ||
| lat | Yes | ||
| lon | Yes | ||
| tob | Yes | ||
| events | No | ||
| ayanamsha | No | lahiri | |
| step_minutes | No | ||
| half_width_minutes | No |