<!-- generated by scripts/docs/generate-reference.ts — do not edit -->
astro_chart
Cast a chart at a specific moment + location. Single-chart compute primitive.
- Layer: compute
- Methods: natal, current, transit, relocated, geodetic
- Free tier: natal, current, transit
- Paid tier: relocated, geodetic
Description
Cast a chart at a specific moment + location. Single-chart compute primitive.
Methods:
natal [Free] — birth data (date, time, place) → full natal chart (planets, houses, aspects)
current [Free] — "right now" snapshot at a location → transiting planets + aspects
transit [Free] — birth data + transit date → natal chart + transits (bi-wheel data)
relocated [Paid] — recast a natal chart at a new location (paid method)
geodetic [Paid] — mundane-longitude geodetic chart (paid method)
Input schema
natal
| Field | Type | Required | Constraints |
|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| houseSystem | enum(38) | no | — |
| zodiac | enum(34) | no | — |
| aspectOrbs | any | "default" | "hide" | object | no | — |
| bodies.fortune | boolean | no | — |
| bodies.vertex | boolean | no | — |
| bodies.chiron | boolean | no | — |
| bodies.lilith | boolean | no | — |
| bodies.trueLilith | boolean | no | — |
| bodies.nodes | boolean | no | — |
| bodies.trueNode | boolean | no | — |
| aspectToggles.fortuneAspects | boolean | no | — |
| aspectToggles.vertexAspects | boolean | no | — |
| aspectToggles.chironAspects | boolean | no | — |
| aspectToggles.lilithAspects | boolean | no | — |
| aspectToggles.nodeAspects | boolean | no | — |
| aspectToggles.ascMcAspects | boolean | no | — |
| minorAspects.quincunx | boolean | no | — |
| minorAspects.semiSextile | boolean | no | — |
| minorAspects.semiSquare | boolean | no | — |
| minorAspects.sesquiquadrate | boolean | no | — |
| minorAspects.quintile | boolean | no | — |
| minorAspects.biQuintile | boolean | no | — |
| parallelOrb | number | no | min 0, max 3 |
current
| Field | Type | Required | Constraints |
|---|
| year | integer | yes | min -4000, max 4000, int |
| month | integer | yes | min 1, max 12, int |
| day | integer | yes | min 1, max 31, int |
| hour | integer | yes | min 0, max 23, int |
| minute | integer | yes | min 0, max 59, int |
| second | integer | no | min 0, max 59, int |
| latitude | number | no | min -90, max 90 |
| longitude | number | no | min -180, max 180 |
| houseSystem | enum(38) | no | — |
| zodiac | enum(34) | no | — |
| bodies.fortune | boolean | no | — |
| bodies.vertex | boolean | no | — |
| bodies.chiron | boolean | no | — |
| bodies.lilith | boolean | no | — |
| bodies.trueLilith | boolean | no | — |
| bodies.nodes | boolean | no | — |
| bodies.trueNode | boolean | no | — |
| aspectOrbs | any | "default" | "hide" | object | no | — |
| aspectToggles.fortuneAspects | boolean | no | — |
| aspectToggles.vertexAspects | boolean | no | — |
| aspectToggles.chironAspects | boolean | no | — |
| aspectToggles.lilithAspects | boolean | no | — |
| aspectToggles.nodeAspects | boolean | no | — |
| aspectToggles.ascMcAspects | boolean | no | — |
| minorAspects.quincunx | boolean | no | — |
| minorAspects.semiSextile | boolean | no | — |
| minorAspects.semiSquare | boolean | no | — |
| minorAspects.sesquiquadrate | boolean | no | — |
| minorAspects.quintile | boolean | no | — |
| minorAspects.biQuintile | boolean | no | — |
| maxOrb | number | no | min 0, max 15 |
| parallelOrb | number | no | min 0, max 3 |
transit
| Field | Type | Required | Constraints |
|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| transitData.year | integer | yes | min -4000, max 4000, int |
| transitData.month | integer | yes | min 1, max 12, int |
| transitData.day | integer | yes | min 1, max 31, int |
| transitData.hour | integer | yes | min 0, max 23, int |
| transitData.minute | integer | yes | min 0, max 59, int |
| transitData.second | integer | no | min 0, max 59, int |
| transitData.latitude | number | yes | min -90, max 90 |
| transitData.longitude | number | yes | min -180, max 180 |
| transitData.timezone | number | yes | min -12, max 14 |
| transitData.unknownTime | boolean | no | — |
| houseSystem | enum(38) | no | — |
| zodiac | enum(34) | no | — |
| aspectOrbs | any | "default" | "hide" | object | no | — |
| bodies.fortune | boolean | no | — |
| bodies.vertex | boolean | no | — |
| bodies.chiron | boolean | no | — |
| bodies.lilith | boolean | no | — |
| bodies.trueLilith | boolean | no | — |
| bodies.nodes | boolean | no | — |
| bodies.trueNode | boolean | no | — |
| aspectToggles.fortuneAspects | boolean | no | — |
| aspectToggles.vertexAspects | boolean | no | — |
| aspectToggles.chironAspects | boolean | no | — |
| aspectToggles.lilithAspects | boolean | no | — |
| aspectToggles.nodeAspects | boolean | no | — |
| aspectToggles.ascMcAspects | boolean | no | — |
| minorAspects.quincunx | boolean | no | — |
| minorAspects.semiSextile | boolean | no | — |
| minorAspects.semiSquare | boolean | no | — |
| minorAspects.sesquiquadrate | boolean | no | — |
| minorAspects.quintile | boolean | no | — |
| minorAspects.biQuintile | boolean | no | — |
| parallelOrb | number | no | min 0, max 3 |
| aspectDisplay | "cross" | "natal" | "hide" | no | — |
| slowPlanetsOnly | boolean | no | — |
relocated
| Field | Type | Required | Constraints |
|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| relocation.latitude | number | yes | min -90, max 90 |
| relocation.longitude | number | yes | min -180, max 180 |
| houseSystem | enum(38) | no | — |
| zodiac | enum(34) | no | — |
geodetic
| Field | Type | Required | Constraints |
|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| houseSystem | enum(38) | no | — |