@roxyapi/sdk 1.2.60 → 1.2.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -394,6 +394,10 @@ export type NatalChartRequest = {
394
394
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
395
395
  */
396
396
  timezone: number | string;
397
+ /**
398
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
399
+ */
400
+ nodeType?: 'mean' | 'true';
397
401
  /**
398
402
  * House system for dividing the chart into 12 houses. Placidus (default) is most popular in Western astrology and time-sensitive. Whole Sign assigns one sign per house (simpler, ancient). Equal houses divide chart into 30° segments from Ascendant. Koch emphasizes houses in high latitudes.
399
403
  */
@@ -796,6 +800,10 @@ export type AspectPatternsRequest = {
796
800
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
797
801
  */
798
802
  timezone: number | string;
803
+ /**
804
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
805
+ */
806
+ nodeType?: 'mean' | 'true';
799
807
  };
800
808
  export type TransitsResponse = {
801
809
  /**
@@ -960,6 +968,10 @@ export type TransitsRequest = {
960
968
  * Transit timezone: decimal hours from UTC OR IANA name (e.g. "America/New_York"). IANA resolved to the DST-correct offset for the transit date. Defaults to 0 (UTC).
961
969
  */
962
970
  timezone?: number | string;
971
+ /**
972
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
973
+ */
974
+ nodeType?: 'mean' | 'true';
963
975
  /**
964
976
  * Optional natal chart data to compare transits against
965
977
  */
@@ -1017,9 +1029,13 @@ export type AstrocartographyResponse = {
1017
1029
  */
1018
1030
  lines: Array<{
1019
1031
  /**
1020
- * Celestial body this set of planetary lines belongs to.
1032
+ * Celestial body this set of planetary lines belongs to. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use planetLocalized for anything a reader sees.
1021
1033
  */
1022
1034
  planet: string;
1035
+ /**
1036
+ * Body name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
1037
+ */
1038
+ planetLocalized?: string;
1023
1039
  /**
1024
1040
  * Unicode astronomical symbol for this body.
1025
1041
  */
@@ -1309,7 +1325,7 @@ export type RelocationChartResponse = {
1309
1325
  };
1310
1326
  export type RelocationPlanet = {
1311
1327
  /**
1312
- * Body name. One of the 10 classical planets (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto), the lunar nodes (North Node, South Node), Chiron, or Black Moon Lilith (the mean lunar apogee).
1328
+ * Body name. One of the 10 classical planets (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto), the lunar nodes (North Node, South Node), Chiron, or Black Moon Lilith (the mean lunar apogee). The nodes follow the request `nodeType`, which defaults to the true (osculating) node; pass "mean" for the smoothed node. The two differ by up to about 1.8 degrees and no other body is affected.
1313
1329
  */
1314
1330
  name: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
1315
1331
  /**
@@ -1431,9 +1447,13 @@ export type LocalSpaceResponse = {
1431
1447
  */
1432
1448
  bodies: Array<{
1433
1449
  /**
1434
- * Body name (Sun, Moon, Mercury through Pluto, plus North Node, Chiron, or Black Moon Lilith when requested). Localized when a translation exists.
1450
+ * Body name (Sun, Moon, Mercury through Pluto, plus North Node, Chiron, or Black Moon Lilith when requested). Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use planetLocalized for anything a reader sees.
1435
1451
  */
1436
1452
  planet: string;
1453
+ /**
1454
+ * Body name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
1455
+ */
1456
+ planetLocalized?: string;
1437
1457
  /**
1438
1458
  * Unicode astronomical symbol for this body.
1439
1459
  */
@@ -1553,9 +1573,13 @@ export type FixedStarsResponse = {
1553
1573
  */
1554
1574
  conjunctions: Array<{
1555
1575
  /**
1556
- * Natal point conjunct this star: a planet name, or the chart angles MC and ASC. Planet names are localized to the requested language.
1576
+ * Natal point conjunct this star: a planet name, or the chart angles MC and ASC. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use pointLocalized for anything a reader sees.
1557
1577
  */
1558
1578
  point: string;
1579
+ /**
1580
+ * Natal point name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
1581
+ */
1582
+ pointLocalized?: string;
1559
1583
  /**
1560
1584
  * Tropical ecliptic longitude of the natal point in degrees (0-360).
1561
1585
  */
@@ -1575,9 +1599,13 @@ export type FixedStarsResponse = {
1575
1599
  */
1576
1600
  star: string;
1577
1601
  /**
1578
- * Natal point conjunct the star: a localized planet name, or the chart angles MC and ASC.
1602
+ * Natal point conjunct the star: a planet name, or the chart angles MC and ASC. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use pointLocalized for anything a reader sees.
1579
1603
  */
1580
1604
  point: string;
1605
+ /**
1606
+ * Natal point name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
1607
+ */
1608
+ pointLocalized?: string;
1581
1609
  /**
1582
1610
  * Angular separation in degrees between the star and the natal point.
1583
1611
  */
@@ -1627,13 +1655,17 @@ export type ArabicLotsResponse = {
1627
1655
  */
1628
1656
  lots: Array<{
1629
1657
  /**
1630
- * Stable machine identifier for the lot (fortune, spirit, eros, necessity, courage, victory, nemesis). Use this for lookups; the name field carries the localized display label.
1658
+ * Stable machine identifier for the lot (fortune, spirit, eros, necessity, courage, victory, nemesis). Use this for lookups.
1631
1659
  */
1632
1660
  id: string;
1633
1661
  /**
1634
- * Display name of the lot, localized to the requested language.
1662
+ * Name of the lot. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use nameLocalized for anything a reader sees.
1635
1663
  */
1636
1664
  name: string;
1665
+ /**
1666
+ * Lot name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
1667
+ */
1668
+ nameLocalized?: string;
1637
1669
  /**
1638
1670
  * Absolute tropical ecliptic longitude of the lot in degrees (0 to 360).
1639
1671
  */
@@ -1681,6 +1713,10 @@ export type ArabicLotsRequest = {
1681
1713
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
1682
1714
  */
1683
1715
  timezone: number | string;
1716
+ /**
1717
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
1718
+ */
1719
+ nodeType?: 'mean' | 'true';
1684
1720
  /**
1685
1721
  * House system used to place the Sun, which determines the chart sect (day when the Sun is above the horizon, night when below) and therefore which lot formula applies. Placidus (default), Whole Sign, Equal, or Koch.
1686
1722
  */
@@ -1721,9 +1757,13 @@ export type AsteroidsResponse = {
1721
1757
  */
1722
1758
  asteroids: Array<{
1723
1759
  /**
1724
- * Display name of the asteroid, localized to the requested language.
1760
+ * Name of the asteroid: Ceres, Pallas, Juno, or Vesta. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use nameLocalized for anything a reader sees.
1725
1761
  */
1726
1762
  name: string;
1763
+ /**
1764
+ * Asteroid name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
1765
+ */
1766
+ nameLocalized?: string;
1727
1767
  /**
1728
1768
  * Absolute tropical ecliptic longitude of the asteroid in degrees (0 to 360).
1729
1769
  */
@@ -1783,6 +1823,10 @@ export type AsteroidsRequest = {
1783
1823
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
1784
1824
  */
1785
1825
  timezone: number | string;
1826
+ /**
1827
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
1828
+ */
1829
+ nodeType?: 'mean' | 'true';
1786
1830
  /**
1787
1831
  * House system used to assign each asteroid to a natal house. Placidus (default), Whole Sign, Equal, or Koch. Above the polar circle, quadrant systems fall back to Whole Sign and the echoed houseSystem reports the system actually used.
1788
1832
  */
@@ -1823,9 +1867,13 @@ export type LilithResponse = {
1823
1867
  */
1824
1868
  lilith: Array<{
1825
1869
  /**
1826
- * Which lunar apogee this entry describes, localized to the requested language. The mean variant is the smoothed average apogee; the true variant is the instantaneous osculating apogee.
1870
+ * Which lunar apogee this entry describes. The mean variant is the smoothed average apogee; the true variant is the instantaneous osculating apogee. Always one of these two English literals, whatever the lang parameter says, so it stays safe to compare against in code. Use variantLocalized for anything a reader sees.
1827
1871
  */
1828
- variant: string;
1872
+ variant: 'mean' | 'true';
1873
+ /**
1874
+ * Apogee variant label in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
1875
+ */
1876
+ variantLocalized?: string;
1829
1877
  /**
1830
1878
  * Absolute tropical ecliptic longitude of the apogee in degrees (0 to 360).
1831
1879
  */
@@ -1889,6 +1937,10 @@ export type LilithRequest = {
1889
1937
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
1890
1938
  */
1891
1939
  timezone: number | string;
1940
+ /**
1941
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
1942
+ */
1943
+ nodeType?: 'mean' | 'true';
1892
1944
  /**
1893
1945
  * House system used to place each Lilith variant in a house. Placidus (default), Whole Sign, Equal, or Koch.
1894
1946
  */
@@ -2045,6 +2097,10 @@ export type ProgressionsRequest = {
2045
2097
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
2046
2098
  */
2047
2099
  timezone: number | string;
2100
+ /**
2101
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
2102
+ */
2103
+ nodeType?: 'mean' | 'true';
2048
2104
  /**
2049
2105
  * Date to progress the chart to, in YYYY-MM-DD format. Usually today or a forecast date. The day-for-a-year key turns the elapsed years since birth into the same number of ephemeris days after the birth moment.
2050
2106
  */
@@ -2093,9 +2149,13 @@ export type SolarArcResponse = {
2093
2149
  */
2094
2150
  directed: Array<{
2095
2151
  /**
2096
- * Name of the directed point, localized to the requested language. This covers the planets and the two angles, the Ascendant and the Midheaven, alike.
2152
+ * Name of the directed point, covering the planets and the two angles, the Ascendant and the Midheaven, alike. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use nameLocalized for anything a reader sees.
2097
2153
  */
2098
2154
  name: string;
2155
+ /**
2156
+ * Directed point name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
2157
+ */
2158
+ nameLocalized?: string;
2099
2159
  /**
2100
2160
  * Absolute tropical ecliptic longitude of the point in the natal chart, in degrees (0 to 360).
2101
2161
  */
@@ -2139,6 +2199,10 @@ export type SolarArcRequest = {
2139
2199
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
2140
2200
  */
2141
2201
  timezone: number | string;
2202
+ /**
2203
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
2204
+ */
2205
+ nodeType?: 'mean' | 'true';
2142
2206
  /**
2143
2207
  * Date to direct the chart to, in YYYY-MM-DD format. Every natal point is advanced by the solar arc accumulated from birth to this date, about one degree for each year of life.
2144
2208
  */
@@ -2233,6 +2297,10 @@ export type ProfectionsRequest = {
2233
2297
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
2234
2298
  */
2235
2299
  timezone: number | string;
2300
+ /**
2301
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
2302
+ */
2303
+ nodeType?: 'mean' | 'true';
2236
2304
  /**
2237
2305
  * Date whose profection year you want, in YYYY-MM-DD format. The completed whole years from the birth date to this date select the profected house and sign. Must fall on or after the birth date.
2238
2306
  */
@@ -4358,7 +4426,7 @@ export type KpPlanetsRequest = {
4358
4426
  */
4359
4427
  ayanamsaValue?: number;
4360
4428
  /**
4361
- * Lunar node type for Rahu and Ketu positions. "mean" uses the smooth mean node (traditional Vedic astrology default). "true" uses the osculating node with perturbation corrections, oscillating up to 1.5 degrees from mean with a 173-day period. Impacts KP sub-lord assignments in narrow boundary cases. Defaults to "mean".
4429
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".
4362
4430
  */
4363
4431
  nodeType?: 'mean' | 'true';
4364
4432
  };
@@ -4812,7 +4880,7 @@ export type KpChartRequest = {
4812
4880
  */
4813
4881
  ayanamsaValue?: number;
4814
4882
  /**
4815
- * Lunar node type for Rahu and Ketu positions. "mean" uses the smooth mean node (traditional Vedic astrology default). "true" uses the osculating node with perturbation corrections, oscillating up to 1.5 degrees from mean with a 173-day period. Impacts KP sub-lord assignments in narrow boundary cases. Defaults to "mean".
4883
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".
4816
4884
  */
4817
4885
  nodeType?: 'mean' | 'true';
4818
4886
  };
@@ -5182,7 +5250,7 @@ export type KpSublordChangesRequest = {
5182
5250
  */
5183
5251
  ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman';
5184
5252
  /**
5185
- * Lunar node type for Rahu and Ketu positions. "mean" uses the smooth mean node (traditional Vedic astrology default). "true" uses the osculating node with perturbation corrections, oscillating up to 1.5 degrees from mean with a 173-day period. Impacts KP sub-lord assignments in narrow boundary cases. Defaults to "mean".
5253
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".
5186
5254
  */
5187
5255
  nodeType?: 'mean' | 'true';
5188
5256
  };
@@ -5259,7 +5327,7 @@ export type KpRasiChangesRequest = {
5259
5327
  */
5260
5328
  ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman';
5261
5329
  /**
5262
- * Lunar node type for Rahu and Ketu positions. "mean" uses the smooth mean node (traditional Vedic astrology default). "true" uses the osculating node with perturbation corrections, oscillating up to 1.5 degrees from mean with a 173-day period. Impacts KP sub-lord assignments in narrow boundary cases. Defaults to "mean".
5330
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".
5263
5331
  */
5264
5332
  nodeType?: 'mean' | 'true';
5265
5333
  };
@@ -5383,7 +5451,7 @@ export type KpPlanetsIntervalRequest = {
5383
5451
  */
5384
5452
  ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman';
5385
5453
  /**
5386
- * Lunar node type for Rahu and Ketu positions. "mean" uses the smooth mean node (traditional Vedic astrology default). "true" uses the osculating node with perturbation corrections, oscillating up to 1.5 degrees from mean with a 173-day period. Impacts KP sub-lord assignments in narrow boundary cases. Defaults to "mean".
5454
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".
5387
5455
  */
5388
5456
  nodeType?: 'mean' | 'true';
5389
5457
  };
@@ -5665,7 +5733,7 @@ export type KpHoraryRequest = {
5665
5733
  */
5666
5734
  ayanamsaValue?: number;
5667
5735
  /**
5668
- * Lunar node type for Rahu and Ketu positions. "mean" uses the smooth mean node (traditional Vedic astrology default). "true" uses the osculating node with perturbation corrections, oscillating up to 1.5 degrees from mean with a 173-day period. Impacts KP sub-lord assignments in narrow boundary cases. Defaults to "mean".
5736
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".
5669
5737
  */
5670
5738
  nodeType?: 'mean' | 'true';
5671
5739
  };
@@ -7406,9 +7474,13 @@ export type GetAstrologySignsResponses = {
7406
7474
  */
7407
7475
  symbol?: string;
7408
7476
  /**
7409
- * Elemental classification: Fire, Earth, Air, or Water.
7477
+ * Elemental classification: fire, earth, air, or water. Always one of these four English literals, whatever the lang parameter says, so it stays safe to compare against in code. Use elementLocalized for anything a reader sees.
7410
7478
  */
7411
7479
  element: 'fire' | 'earth' | 'air' | 'water';
7480
+ /**
7481
+ * Element name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
7482
+ */
7483
+ elementLocalized?: string;
7412
7484
  /**
7413
7485
  * Tropical zodiac date range for this sign.
7414
7486
  */
@@ -7582,17 +7654,29 @@ export type GetAstrologySignsByIdResponses = {
7582
7654
  */
7583
7655
  symbolName: string;
7584
7656
  /**
7585
- * Elemental classification: Fire, Earth, Air, or Water. Determines temperament and compatibility group.
7657
+ * Elemental classification: fire, earth, air, or water. Determines temperament and compatibility group. Always one of these four English literals, whatever the lang parameter says, so it stays safe to compare against in code. Use elementLocalized for anything a reader sees.
7586
7658
  */
7587
7659
  element: 'fire' | 'earth' | 'air' | 'water';
7588
7660
  /**
7589
- * Quality/modality: Cardinal (initiating), Fixed (sustaining), or Mutable (adapting).
7661
+ * Element name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
7662
+ */
7663
+ elementLocalized?: string;
7664
+ /**
7665
+ * Quality/modality: cardinal (initiating), fixed (sustaining), or mutable (adapting). Always one of these three English literals, whatever the lang parameter says, so it stays safe to compare against in code. Use modalityLocalized for anything a reader sees.
7590
7666
  */
7591
7667
  modality: 'cardinal' | 'fixed' | 'mutable';
7592
7668
  /**
7593
- * Traditional ruling planet that governs this sign.
7669
+ * Modality name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
7670
+ */
7671
+ modalityLocalized?: string;
7672
+ /**
7673
+ * Traditional ruling planet that governs this sign. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use rulingPlanetLocalized for anything a reader sees.
7594
7674
  */
7595
7675
  rulingPlanet: string;
7676
+ /**
7677
+ * Ruling planet name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
7678
+ */
7679
+ rulingPlanetLocalized?: string;
7596
7680
  /**
7597
7681
  * Tropical zodiac date range for this sign.
7598
7682
  */
@@ -8150,6 +8234,10 @@ export type PostAstrologyPlanetsData = {
8150
8234
  * Time in 24-hour HH:MM:SS format for precise calculations. Moon moves ~13° per day, so time matters for accurate lunar position. Use 12:00:00 (noon) as default if exact time not needed.
8151
8235
  */
8152
8236
  time: string;
8237
+ /**
8238
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
8239
+ */
8240
+ nodeType?: 'mean' | 'true';
8153
8241
  /**
8154
8242
  * Observer latitude in decimal degrees (-90 to 90). While planetary longitudes are geocentric (same worldwide), this is needed for house calculations if extending functionality. For basic ephemeris, use 0 as default.
8155
8243
  */
@@ -9046,6 +9134,10 @@ export type PostAstrologySynastryData = {
9046
9134
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
9047
9135
  */
9048
9136
  timezone: number | string;
9137
+ /**
9138
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
9139
+ */
9140
+ nodeType?: 'mean' | 'true';
9049
9141
  /**
9050
9142
  * Optional display name for this person. Included in the response for easy identification.
9051
9143
  */
@@ -9072,6 +9164,10 @@ export type PostAstrologySynastryData = {
9072
9164
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
9073
9165
  */
9074
9166
  timezone: number | string;
9167
+ /**
9168
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
9169
+ */
9170
+ nodeType?: 'mean' | 'true';
9075
9171
  /**
9076
9172
  * Optional display name for this person. Included in the response for easy identification.
9077
9173
  */
@@ -10025,6 +10121,10 @@ export type PostAstrologyTransitAspectsData = {
10025
10121
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
10026
10122
  */
10027
10123
  timezone: number | string;
10124
+ /**
10125
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
10126
+ */
10127
+ nodeType?: 'mean' | 'true';
10028
10128
  };
10029
10129
  /**
10030
10130
  * Transit date in YYYY-MM-DD format. Defaults to current date if omitted. Use future dates for predictive transit analysis.
@@ -10175,12 +10275,58 @@ export type PostAstrologyTransitAspectsResponses = {
10175
10275
  * House system actually used for the natal cusps behind every house number in this response. Differs from the requested system only above the polar circle, where quadrant systems fall back to Whole Sign.
10176
10276
  */
10177
10277
  houseSystem: 'placidus' | 'whole-sign' | 'equal' | 'koch';
10278
+ /**
10279
+ * The twelve NATAL house cusps that every house number in this response is read against, in the house system named by houseSystem. Same shape as the natal-chart houses array, so a bi-wheel can be drawn with real house sectors from this one response instead of pairing it with a second call.
10280
+ */
10281
+ houses: Array<{
10282
+ /**
10283
+ * House number (1-12). Each house governs specific life themes in Western astrology.
10284
+ */
10285
+ number: number;
10286
+ /**
10287
+ * Ecliptic longitude of this house cusp in degrees (0-360).
10288
+ */
10289
+ longitude: number;
10290
+ /**
10291
+ * Zodiac sign on this house cusp. Colors the themes of this life area.
10292
+ */
10293
+ sign: string;
10294
+ /**
10295
+ * Degree within the zodiac sign on this cusp (0-29.999).
10296
+ */
10297
+ degree: number;
10298
+ /**
10299
+ * Zodiac sign name on this cusp in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
10300
+ */
10301
+ signLocalized?: string;
10302
+ }>;
10303
+ /**
10304
+ * The natal Ascendant (rising sign): the eastern horizon at birth, and the left-hand horizon a chart wheel is oriented to. Reported alongside the cusps because the two are not the same longitude in every house system: Whole Sign puts the first cusp at 0 degrees of the rising sign, which can sit most of a sign away from the Ascendant itself.
10305
+ */
10306
+ ascendant: {
10307
+ /**
10308
+ * Tropical zodiac sign on the natal Ascendant. Always English, whatever the lang parameter says. Use signLocalized for anything a reader sees.
10309
+ */
10310
+ sign: string;
10311
+ /**
10312
+ * Ascendant sign name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
10313
+ */
10314
+ signLocalized?: string;
10315
+ /**
10316
+ * Degree within the Ascendant sign (0-29.999).
10317
+ */
10318
+ degree: number;
10319
+ /**
10320
+ * Absolute ecliptic longitude of the natal Ascendant in degrees (0-360).
10321
+ */
10322
+ longitude: number;
10323
+ };
10178
10324
  /**
10179
10325
  * Current transiting positions in the tropical zodiac, each placed in the natal house it is passing through. All 14 celestial bodies: the 10 classical planets (Sun through Pluto), the lunar nodes, Chiron, and Black Moon Lilith.
10180
10326
  */
10181
10327
  transitPlanets: Array<{
10182
10328
  /**
10183
- * Body name. One of the 10 classical planets (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto), the lunar nodes (North Node, South Node), Chiron, or Black Moon Lilith (the mean lunar apogee).
10329
+ * Body name. One of the 10 classical planets (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto), the lunar nodes (North Node, South Node), Chiron, or Black Moon Lilith (the mean lunar apogee). The nodes follow the request `nodeType`, which defaults to the true (osculating) node; pass "mean" for the smoothed node. The two differ by up to about 1.8 degrees and no other body is affected.
10184
10330
  */
10185
10331
  name: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
10186
10332
  /**
@@ -10225,7 +10371,7 @@ export type PostAstrologyTransitAspectsResponses = {
10225
10371
  */
10226
10372
  natalPlanets: Array<{
10227
10373
  /**
10228
- * Body name. One of the 10 classical planets (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto), the lunar nodes (North Node, South Node), Chiron, or Black Moon Lilith (the mean lunar apogee).
10374
+ * Body name. One of the 10 classical planets (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto), the lunar nodes (North Node, South Node), Chiron, or Black Moon Lilith (the mean lunar apogee). The nodes follow the request `nodeType`, which defaults to the true (osculating) node; pass "mean" for the smoothed node. The two differ by up to about 1.8 degrees and no other body is affected.
10229
10375
  */
10230
10376
  name: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
10231
10377
  /**
@@ -10313,7 +10459,10 @@ export type PostAstrologyTransitAspectsResponses = {
10313
10459
  * Aspect type name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
10314
10460
  */
10315
10461
  typeLocalized?: string;
10316
- transitInterpretation?: {
10462
+ /**
10463
+ * Rich interpretation of the transit aspect: narrative summary, timing, impact assessment, practical guidance, and keywords.
10464
+ */
10465
+ transitInterpretation: {
10317
10466
  /**
10318
10467
  * Narrative interpretation of this transit aspect and its life impact.
10319
10468
  */
@@ -10404,6 +10553,31 @@ export type PostAstrologyTransitAspectsResponses = {
10404
10553
  * Aspect type name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
10405
10554
  */
10406
10555
  typeLocalized?: string;
10556
+ /**
10557
+ * Rich interpretation of the transit aspect: narrative summary, timing, impact assessment, practical guidance, and keywords.
10558
+ */
10559
+ transitInterpretation: {
10560
+ /**
10561
+ * Narrative interpretation of this transit aspect and its life impact.
10562
+ */
10563
+ summary: string;
10564
+ /**
10565
+ * When this transit is most active and how long its influence lasts, localized. The bucket follows the speed of the transiting body: a few hours for the Moon, a few days for the Sun, Mercury, Venus and Mars, one to two weeks for Jupiter, several weeks for Saturn, and an extended period for Uranus, Neptune and Pluto.
10566
+ */
10567
+ timing: string;
10568
+ /**
10569
+ * Strength and nature of this transit effect — constructive, challenging, or neutral.
10570
+ */
10571
+ impact: string;
10572
+ /**
10573
+ * Practical advice for working with this transit energy.
10574
+ */
10575
+ guidance: string;
10576
+ /**
10577
+ * Key themes activated by this transit aspect.
10578
+ */
10579
+ keywords: Array<string>;
10580
+ };
10407
10581
  } | null;
10408
10582
  /**
10409
10583
  * Transit aspect counts grouped by aspect type (conjunction, trine, square, opposition, sextile, etc.). Useful for quickly assessing the transit weather.
@@ -10621,11 +10795,11 @@ export type PostAstrologySolarReturnResponses = {
10621
10795
  timezone: number;
10622
10796
  };
10623
10797
  /**
10624
- * All 14 celestial bodies in the tropical zodiac with house placements: the 10 classical planets (Sun through Pluto), the lunar nodes (North Node, South Node), Chiron, and Black Moon Lilith.
10798
+ * All 14 celestial bodies in the tropical zodiac with house placements: the 10 classical planets (Sun through Pluto), the lunar nodes (North Node, South Node, in the requested `nodeType` convention), Chiron, and Black Moon Lilith.
10625
10799
  */
10626
10800
  planets: Array<{
10627
10801
  /**
10628
- * Body name. One of the 10 classical planets (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto), the lunar nodes (North Node, South Node), Chiron, or Black Moon Lilith (the mean lunar apogee).
10802
+ * Body name. One of the 10 classical planets (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto), the lunar nodes (North Node, South Node), Chiron, or Black Moon Lilith (the mean lunar apogee). The nodes follow the request `nodeType`, which defaults to the true (osculating) node; pass "mean" for the smoothed node. The two differ by up to about 1.8 degrees and no other body is affected.
10629
10803
  */
10630
10804
  name: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
10631
10805
  /**
@@ -10997,11 +11171,11 @@ export type PostAstrologyLunarReturnResponses = {
10997
11171
  timezone: number;
10998
11172
  };
10999
11173
  /**
11000
- * All 14 celestial bodies in the tropical zodiac with house placements: the 10 classical planets (Sun through Pluto), the lunar nodes (North Node, South Node), Chiron, and Black Moon Lilith.
11174
+ * All 14 celestial bodies in the tropical zodiac with house placements: the 10 classical planets (Sun through Pluto), the lunar nodes (North Node, South Node, in the requested `nodeType` convention), Chiron, and Black Moon Lilith.
11001
11175
  */
11002
11176
  planets: Array<{
11003
11177
  /**
11004
- * Body name. One of the 10 classical planets (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto), the lunar nodes (North Node, South Node), Chiron, or Black Moon Lilith (the mean lunar apogee).
11178
+ * Body name. One of the 10 classical planets (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto), the lunar nodes (North Node, South Node), Chiron, or Black Moon Lilith (the mean lunar apogee). The nodes follow the request `nodeType`, which defaults to the true (osculating) node; pass "mean" for the smoothed node. The two differ by up to about 1.8 degrees and no other body is affected.
11005
11179
  */
11006
11180
  name: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
11007
11181
  /**
@@ -11197,6 +11371,10 @@ export type PostAstrologyCompositeChartData = {
11197
11371
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
11198
11372
  */
11199
11373
  timezone: number | string;
11374
+ /**
11375
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
11376
+ */
11377
+ nodeType?: 'mean' | 'true';
11200
11378
  };
11201
11379
  /**
11202
11380
  * Second person birth details (date, time, location, timezone).
@@ -11222,6 +11400,10 @@ export type PostAstrologyCompositeChartData = {
11222
11400
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
11223
11401
  */
11224
11402
  timezone: number | string;
11403
+ /**
11404
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
11405
+ */
11406
+ nodeType?: 'mean' | 'true';
11225
11407
  };
11226
11408
  /**
11227
11409
  * House system for the composite chart. Placidus (default), Whole Sign, Equal, or Koch.
@@ -11399,7 +11581,7 @@ export type PostAstrologyCompositeChartResponses = {
11399
11581
  */
11400
11582
  compositePlanets: Array<{
11401
11583
  /**
11402
- * Body name. One of the 10 classical planets (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto), the lunar nodes (North Node, South Node), Chiron, or Black Moon Lilith (the mean lunar apogee).
11584
+ * Body name. One of the 10 classical planets (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto), the lunar nodes (North Node, South Node), Chiron, or Black Moon Lilith (the mean lunar apogee). The nodes follow the request `nodeType`, which defaults to the true (osculating) node; pass "mean" for the smoothed node. The two differ by up to about 1.8 degrees and no other body is affected.
11403
11585
  */
11404
11586
  name: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
11405
11587
  /**
@@ -11586,6 +11768,10 @@ export type PostAstrologyCompatibilityScoreData = {
11586
11768
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
11587
11769
  */
11588
11770
  timezone: number | string;
11771
+ /**
11772
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
11773
+ */
11774
+ nodeType?: 'mean' | 'true';
11589
11775
  };
11590
11776
  /**
11591
11777
  * Second person birth details. Compared against person1 to evaluate inter-chart aspects and compatibility.
@@ -11611,6 +11797,10 @@ export type PostAstrologyCompatibilityScoreData = {
11611
11797
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
11612
11798
  */
11613
11799
  timezone: number | string;
11800
+ /**
11801
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
11802
+ */
11803
+ nodeType?: 'mean' | 'true';
11614
11804
  };
11615
11805
  };
11616
11806
  path?: never;
@@ -12881,11 +13071,11 @@ export type PostAstrologyPlanetaryReturnsResponses = {
12881
13071
  timezone: number;
12882
13072
  };
12883
13073
  /**
12884
- * All 14 celestial bodies in the tropical zodiac with house placements: the 10 classical planets (Sun through Pluto), the lunar nodes (North Node, South Node), Chiron, and Black Moon Lilith.
13074
+ * All 14 celestial bodies in the tropical zodiac with house placements: the 10 classical planets (Sun through Pluto), the lunar nodes (North Node, South Node, in the requested `nodeType` convention), Chiron, and Black Moon Lilith.
12885
13075
  */
12886
13076
  planets: Array<{
12887
13077
  /**
12888
- * Body name. One of the 10 classical planets (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto), the lunar nodes (North Node, South Node), Chiron, or Black Moon Lilith (the mean lunar apogee).
13078
+ * Body name. One of the 10 classical planets (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto), the lunar nodes (North Node, South Node), Chiron, or Black Moon Lilith (the mean lunar apogee). The nodes follow the request `nodeType`, which defaults to the true (osculating) node; pass "mean" for the smoothed node. The two differ by up to about 1.8 degrees and no other body is affected.
12889
13079
  */
12890
13080
  name: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
12891
13081
  /**
@@ -13073,6 +13263,10 @@ export type PostAstrologyAstrocartographyData = {
13073
13263
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
13074
13264
  */
13075
13265
  timezone: number | string;
13266
+ /**
13267
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
13268
+ */
13269
+ nodeType?: 'mean' | 'true';
13076
13270
  };
13077
13271
  path?: never;
13078
13272
  query?: {
@@ -13483,6 +13677,10 @@ export type PostAstrologyFixedStarsData = {
13483
13677
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
13484
13678
  */
13485
13679
  timezone: number | string;
13680
+ /**
13681
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
13682
+ */
13683
+ nodeType?: 'mean' | 'true';
13486
13684
  };
13487
13685
  path?: never;
13488
13686
  query?: {
@@ -20438,7 +20636,7 @@ export type PostVedicAstrologyKpRulingPlanetsData = {
20438
20636
  */
20439
20637
  birthTime?: string;
20440
20638
  /**
20441
- * Lunar node type for Rahu and Ketu positions. "mean" uses the smooth mean node (traditional Vedic astrology default). "true" uses the osculating node with perturbation corrections, oscillating up to 1.5 degrees from mean with a 173-day period. Impacts KP sub-lord assignments in narrow boundary cases. Defaults to "mean".
20639
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".
20442
20640
  */
20443
20641
  nodeType?: 'mean' | 'true';
20444
20642
  };
@@ -20595,7 +20793,7 @@ export type PostVedicAstrologyKpRulingPlanetsIntervalData = {
20595
20793
  */
20596
20794
  ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman';
20597
20795
  /**
20598
- * Lunar node type for Rahu and Ketu positions. "mean" uses the smooth mean node (traditional Vedic astrology default). "true" uses the osculating node with perturbation corrections, oscillating up to 1.5 degrees from mean with a 173-day period. Impacts KP sub-lord assignments in narrow boundary cases. Defaults to "mean".
20796
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".
20599
20797
  */
20600
20798
  nodeType?: 'mean' | 'true';
20601
20799
  };
@@ -21964,6 +22162,19 @@ export type PostVedicAstrologyTransitResponses = {
21964
22162
  * Transit analysis calculated successfully
21965
22163
  */
21966
22164
  200: {
22165
+ /**
22166
+ * The zodiac frame every longitude in this response was computed in, so a cached or forwarded payload is self describing. Sidereal requests report the Lahiri ayanamsa, read at the birth instant; the transit positions use the same named frame resolved at their own instant, which moves by about 50 arcseconds a year. A tropical request reports "tropical" with 0 degrees subtracted, which is the one case a Vedic table can otherwise be rendered in the wrong zodiac with nothing on screen saying so.
22167
+ */
22168
+ frame: {
22169
+ /**
22170
+ * Sidereal frame this chart was cast in, echoing the ayanamsa request field. "lahiri" when the field was omitted.
22171
+ */
22172
+ ayanamsa: string;
22173
+ /**
22174
+ * Degrees actually subtracted from every tropical longitude to produce this chart, read at the birth instant. Subtract it back to recover the tropical positions, or compare it against your reference software to confirm you are in the same frame before chasing a placement difference.
22175
+ */
22176
+ ayanamsaDegrees: number;
22177
+ };
21967
22178
  /**
21968
22179
  * Birth datetime used for the natal chart, echoed as the local civil date and time supplied in the request (YYYY-MM-DDTHH:MM:SS). Combine it with the timezone field to recover the UTC instant.
21969
22180
  */
@@ -22010,11 +22221,15 @@ export type PostVedicAstrologyTransitResponses = {
22010
22221
  */
22011
22222
  sign: string;
22012
22223
  /**
22013
- * Which natal house (whole-sign bhava from the Lagna) this planet is currently transiting through. Key for Gochar predictions.
22224
+ * Which natal house (whole-sign bhava counted from the Lagna) this graha is currently transiting through. This is the Lagna reading of the transit, which is what a transit chart drawn over the birth chart shows. For the house classical Gochara is judged from, read houseFromMoon instead.
22014
22225
  */
22015
22226
  natalHouse: number;
22016
22227
  /**
22017
- * Aspects formed between this transiting planet and natal planets.
22228
+ * Which house this graha is transiting counted from the natal Moon sign (Janma Rashi), 1-12 whole-sign and counted inclusively, so the Moon sign itself is 1. This is the number classical Gochara is reckoned in: Phaladeepika chapter 26 opens by saying that of all the Lagnas only the Moon Lagna matters for transit results, and the Vedha and Ashtakavarga transit rules are counted from the Moon throughout. The reference sign is the sign of the Moon entry in natalPlanets, so a client can label the column without a second request.
22229
+ */
22230
+ houseFromMoon: number;
22231
+ /**
22232
+ * Degree-based angular aspects between this transiting graha and the natal grahas. Western vocabulary, kept for callers who read a chart that way; drishtiToNatal is the Vedic answer to the same question.
22018
22233
  */
22019
22234
  aspectsToNatal: Array<{
22020
22235
  /**
@@ -22022,7 +22237,7 @@ export type PostVedicAstrologyTransitResponses = {
22022
22237
  */
22023
22238
  natalPlanet: string;
22024
22239
  /**
22025
- * Aspect type: conjunction, opposition, trine, square, or sextile.
22240
+ * Degree-based angular aspect between the two longitudes: conjunction, opposition, trine, square, or sextile. This is the Western aspect vocabulary and it is offered for charts read that way. Parashari jyotish has no sextile, square or trine, so for the Vedic reading use drishtiToNatal, which reports graha drishti by house count.
22026
22241
  */
22027
22242
  aspectType: string;
22028
22243
  /**
@@ -22030,6 +22245,27 @@ export type PostVedicAstrologyTransitResponses = {
22030
22245
  */
22031
22246
  orb: number;
22032
22247
  }>;
22248
+ /**
22249
+ * Graha drishti cast by this transiting graha onto the natal grahas, the Vedic reading of transit-to-natal aspects. Rahu and Ketu cast none. Empty when this graha reaches no occupied natal sign.
22250
+ */
22251
+ drishtiToNatal: Array<{
22252
+ /**
22253
+ * Natal graha receiving the drishti from this transiting graha.
22254
+ */
22255
+ natalPlanet: string;
22256
+ /**
22257
+ * Which house the drishti falls on, counted whole-sign and inclusively from the transiting graha. Every graha aspects the 7th; Mars adds the 4th and 8th, Jupiter the 5th and 9th, Saturn the 3rd and 10th. Same vocabulary the /aspects endpoint returns, so the two can be compared directly.
22258
+ */
22259
+ aspectType: 'conjunction' | '7th' | '4th' | '8th' | '5th' | '9th' | '3rd' | '10th';
22260
+ /**
22261
+ * Drishti strength as a percentage. Full and special aspects are 100; the partial quarter, half and three-quarter sights are not reported.
22262
+ */
22263
+ strength: number;
22264
+ /**
22265
+ * Gap between the two degrees-in-sign, in degrees. Graha drishti is whole-sign and does not depend on this, so read it as how exact the sight is inside the pair of rashis rather than as a condition for the aspect.
22266
+ */
22267
+ orb: number;
22268
+ }>;
22033
22269
  /**
22034
22270
  * Gochara Kaksha: the ashtakavarga-qualified reading of this transit. The sign says where a graha is, this says whether the exact stretch it currently occupies is one its own Bhinnashtakavarga supports, which is the classical way of refining a transit verdict from sign-level to under four degrees.
22035
22271
  */
@@ -22069,17 +22305,25 @@ export type PostVedicAstrologyTransitResponses = {
22069
22305
  */
22070
22306
  planet: string;
22071
22307
  /**
22072
- * Human-readable transit summary.
22308
+ * Human-readable transit summary, naming the rashi being transited and both house readings: from the Lagna, then from the natal Moon.
22073
22309
  */
22074
22310
  description: string;
22075
22311
  /**
22076
- * Natal house being transited by this slow planet.
22312
+ * Natal house being transited by this slow graha, counted whole-sign from the Lagna. Mirrors natalHouse on the matching transitingPlanets entry.
22077
22313
  */
22078
22314
  natalHouse: number;
22079
22315
  /**
22080
- * Notable aspects to natal planets from this slow-moving transiting planet.
22316
+ * House being transited by this slow graha counted from the natal Moon sign (Janma Rashi), the classical Gochara reference. Mirrors houseFromMoon on the matching transitingPlanets entry.
22317
+ */
22318
+ houseFromMoon: number;
22319
+ /**
22320
+ * Notable degree-based angular aspects to natal planets from this slow-moving transiting planet, in Western vocabulary.
22081
22321
  */
22082
22322
  aspects: Array<string>;
22323
+ /**
22324
+ * Graha drishti this slow-moving transiting graha casts on the natal grahas, the Vedic reading. Empty for Rahu and Ketu, which cast none.
22325
+ */
22326
+ drishti: Array<string>;
22083
22327
  }>;
22084
22328
  };
22085
22329
  };
@@ -26010,11 +26254,11 @@ export type PostForecastSolarReturnResponses = {
26010
26254
  timezone: number;
26011
26255
  };
26012
26256
  /**
26013
- * All 14 celestial bodies in the tropical zodiac with house placements: the 10 classical planets (Sun through Pluto), the lunar nodes (North Node, South Node), Chiron, and Black Moon Lilith.
26257
+ * All 14 celestial bodies in the tropical zodiac with house placements: the 10 classical planets (Sun through Pluto), the lunar nodes (North Node, South Node, in the requested `nodeType` convention), Chiron, and Black Moon Lilith.
26014
26258
  */
26015
26259
  planets: Array<{
26016
26260
  /**
26017
- * Body name. One of the 10 classical planets (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto), the lunar nodes (North Node, South Node), Chiron, or Black Moon Lilith (the mean lunar apogee).
26261
+ * Body name. One of the 10 classical planets (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto), the lunar nodes (North Node, South Node), Chiron, or Black Moon Lilith (the mean lunar apogee). The nodes follow the request `nodeType`, which defaults to the true (osculating) node; pass "mean" for the smoothed node. The two differ by up to about 1.8 degrees and no other body is affected.
26018
26262
  */
26019
26263
  name: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
26020
26264
  /**
@@ -26173,7 +26417,7 @@ export type PostHumanDesignBodygraphData = {
26173
26417
  */
26174
26418
  longitude?: number;
26175
26419
  /**
26176
- * Lunar node convention for the North and South Node activations. Leave unset (or "true") for the standard Human Design chart: "true" is the osculating node used by professional Human Design software (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against. Pass "mean" to match a calculator that uses the smoothed mean node (the traditional Western-astrology default, common in free chart tools). The two agree on almost every chart; they diverge by up to ~1.75 degrees only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority, or definition. If another calculator shows a different type, it is likely using the mean node: pass "mean" to match it.
26420
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority or definition. If another calculator shows a different type, it is almost certainly using the mean node: pass "mean" to match it. Defaults to "true".
26177
26421
  */
26178
26422
  nodeType?: 'mean' | 'true';
26179
26423
  };
@@ -26294,9 +26538,13 @@ export type PostHumanDesignBodygraphResponses = {
26294
26538
  */
26295
26539
  200: {
26296
26540
  /**
26297
- * Human Design energy type. One of Manifestor, Generator, Manifesting Generator, Projector, Reflector.
26541
+ * Human Design energy type. One of Manifestor, Generator, Manifesting Generator, Projector, Reflector. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use typeLocalized for anything a reader sees.
26298
26542
  */
26299
26543
  type: string;
26544
+ /**
26545
+ * Energy type name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
26546
+ */
26547
+ typeLocalized?: string;
26300
26548
  /**
26301
26549
  * What the aura of this type does and how it is designed to engage life. The grounding text for the type label, so a consuming agent does not have to supply the meaning itself.
26302
26550
  */
@@ -26306,29 +26554,45 @@ export type PostHumanDesignBodygraphResponses = {
26306
26554
  */
26307
26555
  aura: string;
26308
26556
  /**
26309
- * The aura strategy for engaging life correctly for this type.
26557
+ * The aura strategy for engaging life correctly for this type. Always English, whatever the lang parameter says. Use strategyLocalized for anything a reader sees.
26310
26558
  */
26311
26559
  strategy: string;
26560
+ /**
26561
+ * Strategy name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
26562
+ */
26563
+ strategyLocalized?: string;
26312
26564
  /**
26313
26565
  * How to actually apply the strategy. The strategy field alone is a bare label such as Respond or Inform; this is the operating instruction behind it.
26314
26566
  */
26315
26567
  strategyDescription: string;
26316
26568
  /**
26317
- * Inner authority for decision making. One of Emotional, Sacral, Splenic, Ego, Self-Projected, Mental, Lunar.
26569
+ * Inner authority for decision making. One of Emotional, Sacral, Splenic, Ego, Self-Projected, Mental, Lunar. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use authorityLocalized for anything a reader sees.
26318
26570
  */
26319
26571
  authority: string;
26572
+ /**
26573
+ * Inner authority name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
26574
+ */
26575
+ authorityLocalized?: string;
26320
26576
  /**
26321
26577
  * How the decision is made, the timing it requires, and the characteristic trap. Inner authority is the most actionable output of a Human Design chart, so this is the field to lean on when grounding a reading.
26322
26578
  */
26323
26579
  authorityDescription: string;
26324
26580
  /**
26325
- * The signature feeling of living in alignment with the type.
26581
+ * The signature feeling of living in alignment with the type. Always English, whatever the lang parameter says. Use signatureLocalized for anything a reader sees.
26326
26582
  */
26327
26583
  signature: string;
26328
26584
  /**
26329
- * The not-self theme, the recurring feeling that signals being out of alignment.
26585
+ * Signature theme name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
26586
+ */
26587
+ signatureLocalized?: string;
26588
+ /**
26589
+ * The not-self theme, the recurring feeling that signals being out of alignment. Always English, whatever the lang parameter says. Use notSelfLocalized for anything a reader sees.
26330
26590
  */
26331
26591
  notSelf: string;
26592
+ /**
26593
+ * Not-self theme name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
26594
+ */
26595
+ notSelfLocalized?: string;
26332
26596
  /**
26333
26597
  * Profile in conscious/unconscious form from the Personality Sun line over the Design Sun line.
26334
26598
  */
@@ -26359,9 +26623,13 @@ export type PostHumanDesignBodygraphResponses = {
26359
26623
  */
26360
26624
  profileDescription: string;
26361
26625
  /**
26362
- * Definition type from the number of connected components among defined centers. One of None, Single, Split, Triple Split, Quadruple Split.
26626
+ * Definition type from the number of connected components among defined centers. One of None, Single, Split, Triple Split, Quadruple Split. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use definitionLocalized for anything a reader sees.
26363
26627
  */
26364
26628
  definition: string;
26629
+ /**
26630
+ * Definition type name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
26631
+ */
26632
+ definitionLocalized?: string;
26365
26633
  /**
26366
26634
  * How energy flows through the defined centers in this configuration, and what the configuration needs. For a split, this is where the bridging gates of other people matter.
26367
26635
  */
@@ -26381,9 +26649,13 @@ export type PostHumanDesignBodygraphResponses = {
26381
26649
  */
26382
26650
  gates: Array<number>;
26383
26651
  /**
26384
- * Cross angle. One of Right Angle, Juxtaposition, Left Angle.
26652
+ * Cross angle. One of Right Angle, Juxtaposition, Left Angle. Always English, whatever the lang parameter says. Use angleLocalized for anything a reader sees.
26385
26653
  */
26386
26654
  angle: string;
26655
+ /**
26656
+ * Cross angle name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
26657
+ */
26658
+ angleLocalized?: string;
26387
26659
  /**
26388
26660
  * Short code for the angle. One of RAX, JXT, LAX.
26389
26661
  */
@@ -26406,9 +26678,13 @@ export type PostHumanDesignBodygraphResponses = {
26406
26678
  */
26407
26679
  id: string;
26408
26680
  /**
26409
- * Display name of the center.
26681
+ * Display name of the center. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use nameLocalized for anything a reader sees.
26410
26682
  */
26411
26683
  name: string;
26684
+ /**
26685
+ * Center name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
26686
+ */
26687
+ nameLocalized?: string;
26412
26688
  /**
26413
26689
  * Whether the center is defined. A defined center is a consistent source of energy or awareness; an undefined center is open and conditioned by others.
26414
26690
  */
@@ -26451,13 +26727,21 @@ export type PostHumanDesignBodygraphResponses = {
26451
26727
  */
26452
26728
  gateB: number;
26453
26729
  /**
26454
- * Name of the defined channel.
26730
+ * Name of the defined channel. Always English, whatever the lang parameter says. Use nameLocalized for anything a reader sees.
26455
26731
  */
26456
26732
  name: string;
26457
26733
  /**
26458
- * Circuit family of the channel. One of Individual, Collective, Tribal.
26734
+ * Channel name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
26735
+ */
26736
+ nameLocalized?: string;
26737
+ /**
26738
+ * Circuit family of the channel. One of Individual, Collective, Tribal. Always English, whatever the lang parameter says. Use circuitLocalized for anything a reader sees.
26459
26739
  */
26460
26740
  circuit: string;
26741
+ /**
26742
+ * Circuit family name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
26743
+ */
26744
+ circuitLocalized?: string;
26461
26745
  /**
26462
26746
  * The two centers this channel connects and defines.
26463
26747
  */
@@ -26476,9 +26760,13 @@ export type PostHumanDesignBodygraphResponses = {
26476
26760
  */
26477
26761
  gates: Array<{
26478
26762
  /**
26479
- * Activating body. One of Sun, Earth, Moon, North Node, South Node, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto.
26763
+ * Activating body. One of Sun, Earth, Moon, North Node, South Node, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto. Always English, whatever the lang parameter says, so it stays safe to compare against in code and to key a glyph table on. Use planetLocalized for anything a reader sees.
26480
26764
  */
26481
26765
  planet: string;
26766
+ /**
26767
+ * Activating body name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
26768
+ */
26769
+ planetLocalized?: string;
26482
26770
  /**
26483
26771
  * Chart side. personality is the conscious birth-moment activation, design is the unconscious activation 88 degrees of solar arc before birth.
26484
26772
  */
@@ -26492,9 +26780,13 @@ export type PostHumanDesignBodygraphResponses = {
26492
26780
  */
26493
26781
  line: number;
26494
26782
  /**
26495
- * Human Design keynote name of the gate, describing its bodygraph function.
26783
+ * Human Design keynote name of the gate, describing its bodygraph function. Always English, whatever the lang parameter says. Use gateNameLocalized for anything a reader sees.
26496
26784
  */
26497
26785
  gateName: string;
26786
+ /**
26787
+ * Gate keynote name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
26788
+ */
26789
+ gateNameLocalized?: string;
26498
26790
  /**
26499
26791
  * Bodygraph function of the gate: what it does in the center it sits in and the channel it forms. This is NOT the meaning of the I-Ching hexagram that shares its number. They share a number, not a definition.
26500
26792
  */
@@ -26551,7 +26843,7 @@ export type PostHumanDesignConnectionData = {
26551
26843
  */
26552
26844
  longitude?: number;
26553
26845
  /**
26554
- * Lunar node convention for the North and South Node activations. Leave unset (or "true") for the standard Human Design chart: "true" is the osculating node used by professional Human Design software (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against. Pass "mean" to match a calculator that uses the smoothed mean node (the traditional Western-astrology default, common in free chart tools). The two agree on almost every chart; they diverge by up to ~1.75 degrees only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority, or definition. If another calculator shows a different type, it is likely using the mean node: pass "mean" to match it.
26846
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority or definition. If another calculator shows a different type, it is almost certainly using the mean node: pass "mean" to match it. Defaults to "true".
26555
26847
  */
26556
26848
  nodeType?: 'mean' | 'true';
26557
26849
  };
@@ -26580,7 +26872,7 @@ export type PostHumanDesignConnectionData = {
26580
26872
  */
26581
26873
  longitude?: number;
26582
26874
  /**
26583
- * Lunar node convention for the North and South Node activations. Leave unset (or "true") for the standard Human Design chart: "true" is the osculating node used by professional Human Design software (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against. Pass "mean" to match a calculator that uses the smoothed mean node (the traditional Western-astrology default, common in free chart tools). The two agree on almost every chart; they diverge by up to ~1.75 degrees only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority, or definition. If another calculator shows a different type, it is likely using the mean node: pass "mean" to match it.
26875
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority or definition. If another calculator shows a different type, it is almost certainly using the mean node: pass "mean" to match it. Defaults to "true".
26584
26876
  */
26585
26877
  nodeType?: 'mean' | 'true';
26586
26878
  };
@@ -26718,21 +27010,33 @@ export type PostHumanDesignConnectionResponses = {
26718
27010
  */
26719
27011
  gateB: number;
26720
27012
  /**
26721
- * Name of the channel whose connection dynamic is reported.
27013
+ * Name of the channel whose connection dynamic is reported. Always English, whatever the lang parameter says. Use nameLocalized for anything a reader sees.
26722
27014
  */
26723
27015
  name: string;
26724
27016
  /**
26725
- * Circuit family of the channel. One of Individual, Collective, Tribal.
27017
+ * Channel name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27018
+ */
27019
+ nameLocalized?: string;
27020
+ /**
27021
+ * Circuit family of the channel. One of Individual, Collective, Tribal. Always English, whatever the lang parameter says. Use circuitLocalized for anything a reader sees.
26726
27022
  */
26727
27023
  circuit: string;
27024
+ /**
27025
+ * Circuit family name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27026
+ */
27027
+ circuitLocalized?: string;
26728
27028
  /**
26729
27029
  * The two centers this channel connects in the bodygraph.
26730
27030
  */
26731
27031
  centers: Array<string>;
26732
27032
  /**
26733
- * Connection dynamic for this channel. Electromagnetic means each person holds one of the two gates and the channel completes only together, the classic point of attraction. Dominance means one person holds both gates and the other holds neither, a one-way conditioning. Compromise means one person holds both gates and the other holds a single hanging gate. Companionship means both people independently hold both gates, a shared and familiar frequency.
27033
+ * Connection dynamic for this channel. Electromagnetic means each person holds one of the two gates and the channel completes only together, the classic point of attraction. Dominance means one person holds both gates and the other holds neither, a one-way conditioning. Compromise means one person holds both gates and the other holds a single hanging gate. Companionship means both people independently hold both gates, a shared and familiar frequency. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use dynamicLocalized for anything a reader sees.
26734
27034
  */
26735
27035
  dynamic: string;
27036
+ /**
27037
+ * Connection dynamic name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27038
+ */
27039
+ dynamicLocalized?: string;
26736
27040
  /**
26737
27041
  * Which of the channel two gates person A holds, from one to both.
26738
27042
  */
@@ -26751,9 +27055,13 @@ export type PostHumanDesignConnectionResponses = {
26751
27055
  */
26752
27056
  id: string;
26753
27057
  /**
26754
- * Display name of the center.
27058
+ * Display name of the center. Always English, whatever the lang parameter says. Use nameLocalized for anything a reader sees.
26755
27059
  */
26756
27060
  name: string;
27061
+ /**
27062
+ * Center name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27063
+ */
27064
+ nameLocalized?: string;
26757
27065
  /**
26758
27066
  * Whether the center is defined in the combined connection bodygraph, where a channel counts as defined when the two people together hold both of its gates.
26759
27067
  */
@@ -26764,9 +27072,13 @@ export type PostHumanDesignConnectionResponses = {
26764
27072
  definedBy: Array<string>;
26765
27073
  }>;
26766
27074
  /**
26767
- * Definition of the combined connection bodygraph from connected components among its defined centers. One of None, Single, Split, Triple Split, Quadruple Split.
27075
+ * Definition of the combined connection bodygraph from connected components among its defined centers. One of None, Single, Split, Triple Split, Quadruple Split. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use combinedDefinitionLocalized for anything a reader sees.
26768
27076
  */
26769
27077
  combinedDefinition: string;
27078
+ /**
27079
+ * Combined definition name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27080
+ */
27081
+ combinedDefinitionLocalized?: string;
26770
27082
  /**
26771
27083
  * Count of each connection dynamic across all connected channels.
26772
27084
  */
@@ -26818,7 +27130,7 @@ export type PostHumanDesignPentaData = {
26818
27130
  */
26819
27131
  longitude?: number;
26820
27132
  /**
26821
- * Lunar node convention for the North and South Node activations. Leave unset (or "true") for the standard Human Design chart: "true" is the osculating node used by professional Human Design software (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against. Pass "mean" to match a calculator that uses the smoothed mean node (the traditional Western-astrology default, common in free chart tools). The two agree on almost every chart; they diverge by up to ~1.75 degrees only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority, or definition. If another calculator shows a different type, it is likely using the mean node: pass "mean" to match it.
27133
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority or definition. If another calculator shows a different type, it is almost certainly using the mean node: pass "mean" to match it. Defaults to "true".
26822
27134
  */
26823
27135
  nodeType?: 'mean' | 'true';
26824
27136
  }>;
@@ -26956,13 +27268,21 @@ export type PostHumanDesignPentaResponses = {
26956
27268
  */
26957
27269
  gateB: number;
26958
27270
  /**
26959
- * Name of the Penta channel. One of The Alpha, Inspiration, The Prodigal, Rhythm, The Beat, Discovery.
27271
+ * Name of the Penta channel. One of The Alpha, Inspiration, The Prodigal, Rhythm, The Beat, Discovery. Always English, whatever the lang parameter says. Use nameLocalized for anything a reader sees.
26960
27272
  */
26961
27273
  name: string;
26962
27274
  /**
26963
- * Circuit family of the channel. One of Individual, Collective, Tribal.
27275
+ * Penta channel name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27276
+ */
27277
+ nameLocalized?: string;
27278
+ /**
27279
+ * Circuit family of the channel. One of Individual, Collective, Tribal. Always English, whatever the lang parameter says. Use circuitLocalized for anything a reader sees.
26964
27280
  */
26965
27281
  circuit: string;
27282
+ /**
27283
+ * Circuit family name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27284
+ */
27285
+ circuitLocalized?: string;
26966
27286
  /**
26967
27287
  * Position of the channel in the Penta. upper channels run from the G Center to the Throat and carry the leadership and how-the-group-presents roles. lower channels run from the G Center to the Sacral and carry the managed, generative, resource roles.
26968
27288
  */
@@ -26993,9 +27313,13 @@ export type PostHumanDesignPentaResponses = {
26993
27313
  */
26994
27314
  gate: number;
26995
27315
  /**
26996
- * Human Design keynote name of the gate, describing the role it brings to the group.
27316
+ * Human Design keynote name of the gate, describing the role it brings to the group. Always English, whatever the lang parameter says. Use gateNameLocalized for anything a reader sees.
26997
27317
  */
26998
27318
  gateName: string;
27319
+ /**
27320
+ * Gate keynote name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27321
+ */
27322
+ gateNameLocalized?: string;
26999
27323
  /**
27000
27324
  * Whether at least one member holds this gate. A gate held by nobody is a gap that conditions the group to compensate for the missing role.
27001
27325
  */
@@ -27056,7 +27380,7 @@ export type PostHumanDesignTransitData = {
27056
27380
  */
27057
27381
  longitude?: number;
27058
27382
  /**
27059
- * Lunar node convention for the North and South Node activations. Leave unset (or "true") for the standard Human Design chart: "true" is the osculating node used by professional Human Design software (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against. Pass "mean" to match a calculator that uses the smoothed mean node (the traditional Western-astrology default, common in free chart tools). The two agree on almost every chart; they diverge by up to ~1.75 degrees only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority, or definition. If another calculator shows a different type, it is likely using the mean node: pass "mean" to match it.
27383
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority or definition. If another calculator shows a different type, it is almost certainly using the mean node: pass "mean" to match it. Defaults to "true".
27060
27384
  */
27061
27385
  nodeType?: 'mean' | 'true';
27062
27386
  };
@@ -27202,9 +27526,13 @@ export type PostHumanDesignTransitResponses = {
27202
27526
  */
27203
27527
  activations: Array<{
27204
27528
  /**
27205
- * Transiting body whose current position lands on this gate. One of Sun, Earth, Moon, North Node, South Node, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto.
27529
+ * Transiting body whose current position lands on this gate. One of Sun, Earth, Moon, North Node, South Node, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto. Always English, whatever the lang parameter says, so it stays safe to compare against in code and to key a glyph table on. Use bodyLocalized for anything a reader sees.
27206
27530
  */
27207
27531
  body: string;
27532
+ /**
27533
+ * Transiting body name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27534
+ */
27535
+ bodyLocalized?: string;
27208
27536
  /**
27209
27537
  * Human Design gate number from 1 to 64 this transiting body currently sits in.
27210
27538
  */
@@ -27214,9 +27542,13 @@ export type PostHumanDesignTransitResponses = {
27214
27542
  */
27215
27543
  line: number;
27216
27544
  /**
27217
- * Human Design keynote name of the gate the transiting body activates.
27545
+ * Human Design keynote name of the gate the transiting body activates. Always English, whatever the lang parameter says. Use gateNameLocalized for anything a reader sees.
27218
27546
  */
27219
27547
  gateName: string;
27548
+ /**
27549
+ * Gate keynote name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27550
+ */
27551
+ gateNameLocalized?: string;
27220
27552
  /**
27221
27553
  * Cross-reference to the I-Ching hexagram that shares this gate number.
27222
27554
  */
@@ -27244,21 +27576,33 @@ export type PostHumanDesignTransitResponses = {
27244
27576
  */
27245
27577
  gateB: number;
27246
27578
  /**
27247
- * Name of the channel the transit temporarily completes.
27579
+ * Name of the channel the transit temporarily completes. Always English, whatever the lang parameter says. Use nameLocalized for anything a reader sees.
27248
27580
  */
27249
27581
  name: string;
27250
27582
  /**
27251
- * Circuit family of the channel. One of Individual, Collective, Tribal.
27583
+ * Channel name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27584
+ */
27585
+ nameLocalized?: string;
27586
+ /**
27587
+ * Circuit family of the channel. One of Individual, Collective, Tribal. Always English, whatever the lang parameter says. Use circuitLocalized for anything a reader sees.
27252
27588
  */
27253
27589
  circuit: string;
27590
+ /**
27591
+ * Circuit family name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27592
+ */
27593
+ circuitLocalized?: string;
27254
27594
  /**
27255
27595
  * The two centers this channel connects and temporarily defines.
27256
27596
  */
27257
27597
  centers: Array<string>;
27258
27598
  /**
27259
- * How the transit completes the channel. personal means the natal chart already holds one gate and the transit supplies the other, the classic electromagnetic completion. educational means both gates are open in the natal chart and the transit supplies both at once.
27599
+ * How the transit completes the channel. personal means the natal chart already holds one gate and the transit supplies the other, the classic electromagnetic completion. educational means both gates are open in the natal chart and the transit supplies both at once. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use kindLocalized for anything a reader sees.
27260
27600
  */
27261
27601
  kind: string;
27602
+ /**
27603
+ * Completion kind name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27604
+ */
27605
+ kindLocalized?: string;
27262
27606
  /**
27263
27607
  * Gate or gates of this channel the natal chart already holds. Empty for an educational channel.
27264
27608
  */
@@ -27277,9 +27621,13 @@ export type PostHumanDesignTransitResponses = {
27277
27621
  */
27278
27622
  id: string;
27279
27623
  /**
27280
- * Display name of the center.
27624
+ * Display name of the center. Always English, whatever the lang parameter says. Use nameLocalized for anything a reader sees.
27281
27625
  */
27282
27626
  name: string;
27627
+ /**
27628
+ * Center name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27629
+ */
27630
+ nameLocalized?: string;
27283
27631
  /**
27284
27632
  * Always true. The center is open in the natal chart and temporarily defined by a transit-completed channel for the duration of the transit.
27285
27633
  */
@@ -27315,7 +27663,7 @@ export type PostHumanDesignTypeData = {
27315
27663
  */
27316
27664
  longitude?: number;
27317
27665
  /**
27318
- * Lunar node convention for the North and South Node activations. Leave unset (or "true") for the standard Human Design chart: "true" is the osculating node used by professional Human Design software (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against. Pass "mean" to match a calculator that uses the smoothed mean node (the traditional Western-astrology default, common in free chart tools). The two agree on almost every chart; they diverge by up to ~1.75 degrees only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority, or definition. If another calculator shows a different type, it is likely using the mean node: pass "mean" to match it.
27666
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority or definition. If another calculator shows a different type, it is almost certainly using the mean node: pass "mean" to match it. Defaults to "true".
27319
27667
  */
27320
27668
  nodeType?: 'mean' | 'true';
27321
27669
  };
@@ -27436,9 +27784,13 @@ export type PostHumanDesignTypeResponses = {
27436
27784
  */
27437
27785
  200: {
27438
27786
  /**
27439
- * Human Design energy type. One of Manifestor, Generator, Manifesting Generator, Projector, Reflector.
27787
+ * Human Design energy type. One of Manifestor, Generator, Manifesting Generator, Projector, Reflector. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use typeLocalized for anything a reader sees.
27440
27788
  */
27441
27789
  type: string;
27790
+ /**
27791
+ * Energy type name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27792
+ */
27793
+ typeLocalized?: string;
27442
27794
  /**
27443
27795
  * What the aura of this type does and how it is designed to engage life. The grounding text for the type label, so a consuming agent does not have to supply the meaning itself.
27444
27796
  */
@@ -27448,29 +27800,45 @@ export type PostHumanDesignTypeResponses = {
27448
27800
  */
27449
27801
  aura: string;
27450
27802
  /**
27451
- * The aura strategy for engaging life correctly for this type.
27803
+ * The aura strategy for engaging life correctly for this type. Always English, whatever the lang parameter says. Use strategyLocalized for anything a reader sees.
27452
27804
  */
27453
27805
  strategy: string;
27806
+ /**
27807
+ * Strategy name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27808
+ */
27809
+ strategyLocalized?: string;
27454
27810
  /**
27455
27811
  * How to actually apply the strategy. The strategy field alone is a bare label such as Respond or Inform; this is the operating instruction behind it.
27456
27812
  */
27457
27813
  strategyDescription: string;
27458
27814
  /**
27459
- * Inner authority for decision making. One of Emotional, Sacral, Splenic, Ego, Self-Projected, Mental, Lunar.
27815
+ * Inner authority for decision making. One of Emotional, Sacral, Splenic, Ego, Self-Projected, Mental, Lunar. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use authorityLocalized for anything a reader sees.
27460
27816
  */
27461
27817
  authority: string;
27818
+ /**
27819
+ * Inner authority name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27820
+ */
27821
+ authorityLocalized?: string;
27462
27822
  /**
27463
27823
  * How the decision is made, the timing it requires, and the characteristic trap. Inner authority is the most actionable output of a Human Design chart.
27464
27824
  */
27465
27825
  authorityDescription: string;
27466
27826
  /**
27467
- * The signature feeling of living in alignment.
27827
+ * The signature feeling of living in alignment. Always English, whatever the lang parameter says. Use signatureLocalized for anything a reader sees.
27468
27828
  */
27469
27829
  signature: string;
27470
27830
  /**
27471
- * The not-self theme that signals being out of alignment.
27831
+ * Signature theme name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27832
+ */
27833
+ signatureLocalized?: string;
27834
+ /**
27835
+ * The not-self theme that signals being out of alignment. Always English, whatever the lang parameter says. Use notSelfLocalized for anything a reader sees.
27472
27836
  */
27473
27837
  notSelf: string;
27838
+ /**
27839
+ * Not-self theme name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
27840
+ */
27841
+ notSelfLocalized?: string;
27474
27842
  /**
27475
27843
  * Profile from the Personality Sun line over the Design Sun line.
27476
27844
  */
@@ -27501,7 +27869,7 @@ export type PostHumanDesignGatesData = {
27501
27869
  */
27502
27870
  longitude?: number;
27503
27871
  /**
27504
- * Lunar node convention for the North and South Node activations. Leave unset (or "true") for the standard Human Design chart: "true" is the osculating node used by professional Human Design software (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against. Pass "mean" to match a calculator that uses the smoothed mean node (the traditional Western-astrology default, common in free chart tools). The two agree on almost every chart; they diverge by up to ~1.75 degrees only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority, or definition. If another calculator shows a different type, it is likely using the mean node: pass "mean" to match it.
27872
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority or definition. If another calculator shows a different type, it is almost certainly using the mean node: pass "mean" to match it. Defaults to "true".
27505
27873
  */
27506
27874
  nodeType?: 'mean' | 'true';
27507
27875
  };
@@ -27626,9 +27994,13 @@ export type PostHumanDesignGatesResponses = {
27626
27994
  */
27627
27995
  personality: Array<{
27628
27996
  /**
27629
- * Activating body. One of Sun, Earth, Moon, North Node, South Node, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto.
27997
+ * Activating body. One of Sun, Earth, Moon, North Node, South Node, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto. Always English, whatever the lang parameter says, so it stays safe to compare against in code and to key a glyph table on. Use planetLocalized for anything a reader sees.
27630
27998
  */
27631
27999
  planet: string;
28000
+ /**
28001
+ * Activating body name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
28002
+ */
28003
+ planetLocalized?: string;
27632
28004
  /**
27633
28005
  * Chart side. personality is the conscious birth-moment activation, design is the unconscious activation 88 degrees of solar arc before birth.
27634
28006
  */
@@ -27642,9 +28014,13 @@ export type PostHumanDesignGatesResponses = {
27642
28014
  */
27643
28015
  line: number;
27644
28016
  /**
27645
- * Human Design keynote name of the gate, describing its bodygraph function.
28017
+ * Human Design keynote name of the gate, describing its bodygraph function. Always English, whatever the lang parameter says. Use gateNameLocalized for anything a reader sees.
27646
28018
  */
27647
28019
  gateName: string;
28020
+ /**
28021
+ * Gate keynote name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
28022
+ */
28023
+ gateNameLocalized?: string;
27648
28024
  /**
27649
28025
  * Bodygraph function of the gate: what it does in the center it sits in and the channel it forms. This is NOT the meaning of the I-Ching hexagram that shares its number. They share a number, not a definition.
27650
28026
  */
@@ -27676,9 +28052,13 @@ export type PostHumanDesignGatesResponses = {
27676
28052
  */
27677
28053
  design: Array<{
27678
28054
  /**
27679
- * Activating body. One of Sun, Earth, Moon, North Node, South Node, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto.
28055
+ * Activating body. One of Sun, Earth, Moon, North Node, South Node, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto. Always English, whatever the lang parameter says, so it stays safe to compare against in code and to key a glyph table on. Use planetLocalized for anything a reader sees.
27680
28056
  */
27681
28057
  planet: string;
28058
+ /**
28059
+ * Activating body name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
28060
+ */
28061
+ planetLocalized?: string;
27682
28062
  /**
27683
28063
  * Chart side. personality is the conscious birth-moment activation, design is the unconscious activation 88 degrees of solar arc before birth.
27684
28064
  */
@@ -27692,9 +28072,13 @@ export type PostHumanDesignGatesResponses = {
27692
28072
  */
27693
28073
  line: number;
27694
28074
  /**
27695
- * Human Design keynote name of the gate, describing its bodygraph function.
28075
+ * Human Design keynote name of the gate, describing its bodygraph function. Always English, whatever the lang parameter says. Use gateNameLocalized for anything a reader sees.
27696
28076
  */
27697
28077
  gateName: string;
28078
+ /**
28079
+ * Gate keynote name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
28080
+ */
28081
+ gateNameLocalized?: string;
27698
28082
  /**
27699
28083
  * Bodygraph function of the gate: what it does in the center it sits in and the channel it forms. This is NOT the meaning of the I-Ching hexagram that shares its number. They share a number, not a definition.
27700
28084
  */
@@ -27865,17 +28249,25 @@ export type GetHumanDesignGatesByNumberResponses = {
27865
28249
  */
27866
28250
  number: number;
27867
28251
  /**
27868
- * Human Design keynote name of the gate.
28252
+ * Human Design keynote name of the gate. Always English, whatever the lang parameter says. Use nameLocalized for anything a reader sees.
27869
28253
  */
27870
28254
  name: string;
28255
+ /**
28256
+ * Gate keynote name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
28257
+ */
28258
+ nameLocalized?: string;
27871
28259
  /**
27872
28260
  * Center the gate sits in.
27873
28261
  */
27874
28262
  center: string;
27875
28263
  /**
27876
- * Display name of the center.
28264
+ * Display name of the center. Always English, whatever the lang parameter says. Use centerNameLocalized for anything a reader sees.
27877
28265
  */
27878
28266
  centerName: string;
28267
+ /**
28268
+ * Center name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
28269
+ */
28270
+ centerNameLocalized?: string;
27879
28271
  /**
27880
28272
  * The I-Ching hexagram that shares this gate number.
27881
28273
  */
@@ -27898,9 +28290,13 @@ export type GetHumanDesignGatesByNumberResponses = {
27898
28290
  */
27899
28291
  gate: number;
27900
28292
  /**
27901
- * Name of the shared channel.
28293
+ * Name of the shared channel. Always English, whatever the lang parameter says. Use channelLocalized for anything a reader sees.
27902
28294
  */
27903
28295
  channel: string;
28296
+ /**
28297
+ * Channel name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
28298
+ */
28299
+ channelLocalized?: string;
27904
28300
  }>;
27905
28301
  };
27906
28302
  };
@@ -27928,7 +28324,7 @@ export type PostHumanDesignChannelsData = {
27928
28324
  */
27929
28325
  longitude?: number;
27930
28326
  /**
27931
- * Lunar node convention for the North and South Node activations. Leave unset (or "true") for the standard Human Design chart: "true" is the osculating node used by professional Human Design software (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against. Pass "mean" to match a calculator that uses the smoothed mean node (the traditional Western-astrology default, common in free chart tools). The two agree on almost every chart; they diverge by up to ~1.75 degrees only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority, or definition. If another calculator shows a different type, it is likely using the mean node: pass "mean" to match it.
28327
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority or definition. If another calculator shows a different type, it is almost certainly using the mean node: pass "mean" to match it. Defaults to "true".
27932
28328
  */
27933
28329
  nodeType?: 'mean' | 'true';
27934
28330
  };
@@ -28061,13 +28457,21 @@ export type PostHumanDesignChannelsResponses = {
28061
28457
  */
28062
28458
  gateB: number;
28063
28459
  /**
28064
- * Name of the defined channel.
28460
+ * Name of the defined channel. Always English, whatever the lang parameter says. Use nameLocalized for anything a reader sees.
28065
28461
  */
28066
28462
  name: string;
28067
28463
  /**
28068
- * Circuit family of the channel. One of Individual, Collective, Tribal.
28464
+ * Channel name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
28465
+ */
28466
+ nameLocalized?: string;
28467
+ /**
28468
+ * Circuit family of the channel. One of Individual, Collective, Tribal. Always English, whatever the lang parameter says. Use circuitLocalized for anything a reader sees.
28069
28469
  */
28070
28470
  circuit: string;
28471
+ /**
28472
+ * Circuit family name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
28473
+ */
28474
+ circuitLocalized?: string;
28071
28475
  /**
28072
28476
  * The two centers this channel connects and defines.
28073
28477
  */
@@ -28115,7 +28519,7 @@ export type PostHumanDesignCentersData = {
28115
28519
  */
28116
28520
  longitude?: number;
28117
28521
  /**
28118
- * Lunar node convention for the North and South Node activations. Leave unset (or "true") for the standard Human Design chart: "true" is the osculating node used by professional Human Design software (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against. Pass "mean" to match a calculator that uses the smoothed mean node (the traditional Western-astrology default, common in free chart tools). The two agree on almost every chart; they diverge by up to ~1.75 degrees only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority, or definition. If another calculator shows a different type, it is likely using the mean node: pass "mean" to match it.
28522
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority or definition. If another calculator shows a different type, it is almost certainly using the mean node: pass "mean" to match it. Defaults to "true".
28119
28523
  */
28120
28524
  nodeType?: 'mean' | 'true';
28121
28525
  };
@@ -28244,9 +28648,13 @@ export type PostHumanDesignCentersResponses = {
28244
28648
  */
28245
28649
  id: string;
28246
28650
  /**
28247
- * Display name of the center.
28651
+ * Display name of the center. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use nameLocalized for anything a reader sees.
28248
28652
  */
28249
28653
  name: string;
28654
+ /**
28655
+ * Center name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
28656
+ */
28657
+ nameLocalized?: string;
28250
28658
  /**
28251
28659
  * Whether the center is defined. A defined center is a consistent source of energy or awareness; an undefined center is open and conditioned by others.
28252
28660
  */
@@ -28411,9 +28819,13 @@ export type GetHumanDesignCentersByIdResponses = {
28411
28819
  */
28412
28820
  id: string;
28413
28821
  /**
28414
- * Display name of the center.
28822
+ * Display name of the center. Always English, whatever the lang parameter says. Use nameLocalized for anything a reader sees.
28415
28823
  */
28416
28824
  name: string;
28825
+ /**
28826
+ * Center name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
28827
+ */
28828
+ nameLocalized?: string;
28417
28829
  /**
28418
28830
  * Whether this is a motor center.
28419
28831
  */
@@ -28456,7 +28868,7 @@ export type PostHumanDesignProfileData = {
28456
28868
  */
28457
28869
  longitude?: number;
28458
28870
  /**
28459
- * Lunar node convention for the North and South Node activations. Leave unset (or "true") for the standard Human Design chart: "true" is the osculating node used by professional Human Design software (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against. Pass "mean" to match a calculator that uses the smoothed mean node (the traditional Western-astrology default, common in free chart tools). The two agree on almost every chart; they diverge by up to ~1.75 degrees only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority, or definition. If another calculator shows a different type, it is likely using the mean node: pass "mean" to match it.
28871
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority or definition. If another calculator shows a different type, it is almost certainly using the mean node: pass "mean" to match it. Defaults to "true".
28460
28872
  */
28461
28873
  nodeType?: 'mean' | 'true';
28462
28874
  };
@@ -28622,7 +29034,7 @@ export type PostHumanDesignVariablesData = {
28622
29034
  */
28623
29035
  longitude?: number;
28624
29036
  /**
28625
- * Lunar node convention for the North and South Node activations. Leave unset (or "true") for the standard Human Design chart: "true" is the osculating node used by professional Human Design software (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against. Pass "mean" to match a calculator that uses the smoothed mean node (the traditional Western-astrology default, common in free chart tools). The two agree on almost every chart; they diverge by up to ~1.75 degrees only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority, or definition. If another calculator shows a different type, it is likely using the mean node: pass "mean" to match it.
29037
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice can move a node gate and, rarely, change the completed channels and therefore the type, authority or definition. If another calculator shows a different type, it is almost certainly using the mean node: pass "mean" to match it. Defaults to "true".
28626
29038
  */
28627
29039
  nodeType?: 'mean' | 'true';
28628
29040
  };
@@ -28751,17 +29163,29 @@ export type PostHumanDesignVariablesResponses = {
28751
29163
  */
28752
29164
  key: string;
28753
29165
  /**
28754
- * Arrow name. Determination is the top-left arrow governing the Primary Health System and digestion, Environment the bottom-left arrow, Perspective the bottom-right arrow also called View, and Motivation the top-right arrow.
29166
+ * Arrow name. Determination is the top-left arrow governing the Primary Health System and digestion, Environment the bottom-left arrow, Perspective the bottom-right arrow also called View, and Motivation the top-right arrow. Always English, whatever the lang parameter says. Use nameLocalized for anything a reader sees.
28755
29167
  */
28756
29168
  name: string;
28757
29169
  /**
28758
- * Which half of the advanced layer the arrow belongs to. Primary Health System covers the body-side Determination and Environment arrows, Rave Psychology covers the mind-side Perspective and Motivation arrows.
29170
+ * Arrow name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
29171
+ */
29172
+ nameLocalized?: string;
29173
+ /**
29174
+ * Which half of the advanced layer the arrow belongs to. Primary Health System covers the body-side Determination and Environment arrows, Rave Psychology covers the mind-side Perspective and Motivation arrows. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use layerLocalized for anything a reader sees.
28759
29175
  */
28760
29176
  layer: string;
28761
29177
  /**
28762
- * Position of the arrow at the head of the bodygraph. One of Top left, Bottom left, Top right, Bottom right.
29178
+ * Layer name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
29179
+ */
29180
+ layerLocalized?: string;
29181
+ /**
29182
+ * Position of the arrow at the head of the bodygraph. One of Top left, Bottom left, Top right, Bottom right. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use positionLocalized for anything a reader sees.
28763
29183
  */
28764
29184
  position: string;
29185
+ /**
29186
+ * Arrow position name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
29187
+ */
29188
+ positionLocalized?: string;
28765
29189
  /**
28766
29190
  * The single activation, body and chart side, that this arrow is derived from.
28767
29191
  */
@@ -28792,13 +29216,21 @@ export type PostHumanDesignVariablesResponses = {
28792
29216
  */
28793
29217
  direction: string;
28794
29218
  /**
28795
- * Name of the Color theme for this arrow, for example a determination family such as Touch, an environment such as Mountains, a perspective such as Personal, or a motivation such as Hope.
29219
+ * Name of the Color theme for this arrow, for example a determination family such as Touch, an environment such as Mountains, a perspective such as Personal, or a motivation such as Hope. Always English, whatever the lang parameter says. Use colorLabelLocalized for anything a reader sees.
28796
29220
  */
28797
29221
  colorLabel: string;
28798
29222
  /**
28799
- * Keynote of the arrow direction for this arrow, for example Active or Passive for Determination, Focused or Peripheral for Perspective.
29223
+ * Color theme name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
29224
+ */
29225
+ colorLabelLocalized?: string;
29226
+ /**
29227
+ * Keynote of the arrow direction for this arrow, for example Active or Passive for Determination, Focused or Peripheral for Perspective. Always English, whatever the lang parameter says. Use directionLabelLocalized for anything a reader sees.
28800
29228
  */
28801
29229
  directionLabel: string;
29230
+ /**
29231
+ * Arrow direction keynote in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
29232
+ */
29233
+ directionLabelLocalized?: string;
28802
29234
  /**
28803
29235
  * What this arrow is and what it governs.
28804
29236
  */
@@ -28820,17 +29252,25 @@ export type PostHumanDesignVariablesResponses = {
28820
29252
  */
28821
29253
  directionMeaning: string;
28822
29254
  /**
28823
- * Name of the Base. Informational only: the Base is finer than any civil birth time can resolve.
29255
+ * Name of the Base. Informational only: the Base is finer than any civil birth time can resolve. Always English, whatever the lang parameter says. Use baseNameLocalized for anything a reader sees.
28824
29256
  */
28825
29257
  baseName: string;
29258
+ /**
29259
+ * Base name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
29260
+ */
29261
+ baseNameLocalized?: string;
28826
29262
  /**
28827
29263
  * Cognition, the strongest sense, read off the Determination Tone. Present on the determination arrow ONLY: no authority supports reading Cognition from the other three arrows, so it is omitted rather than invented.
28828
29264
  */
28829
29265
  cognition?: {
28830
29266
  /**
28831
- * Name of the Cognition, the strongest sense. One of six read off the Determination Tone: Smell, Taste, Outer Vision, Inner Vision, Feeling, Touch.
29267
+ * Name of the Cognition, the strongest sense. One of six read off the Determination Tone: Smell, Taste, Outer Vision, Inner Vision, Feeling, Touch. Always English, whatever the lang parameter says, so it stays safe to compare against in code. Use labelLocalized for anything a reader sees.
28832
29268
  */
28833
29269
  label: string;
29270
+ /**
29271
+ * Cognition name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it.
29272
+ */
29273
+ labelLocalized?: string;
28834
29274
  /**
28835
29275
  * How this Cognition discriminates what is correct for the body, and the conditions that sharpen it. Renderable as the Cognition paragraph of a Variables or Primary Health System report.
28836
29276
  */
@@ -41320,7 +41760,7 @@ export type GetLocationSearchData = {
41320
41760
  path?: never;
41321
41761
  query: {
41322
41762
  /**
41323
- * City name to search for. Accepts bare city ("berlin"), city plus country ("berlin germany"), or comma-qualified ("berlin, germany", "springfield, illinois") for disambiguation. Matches against city name, province/state, or combined "city country" queries. Case-insensitive with partial matching (e.g. "ber" matches Berlin, Bern, Bergen).
41763
+ * Place to search for, written the way a person would. Accepts a bare city (berlin), a city plus country (berlin germany), a comma-qualified place (richfield, utah), a fully qualified place (richfield, utah, united states), or a historic name (bombay, peking, constantinople). Commas are optional, and a qualifier the dataset spells differently, such as USA for United States, still resolves. Matched against city name, alternate names, state or province, and country. Add the state or country whenever the name is common, since that is what separates the six Springfields, and Richfield, Utah from Richfield, Minnesota.
41324
41764
  */
41325
41765
  q: string;
41326
41766
  /**
@@ -41438,11 +41878,11 @@ export type GetLocationSearchErrors = {
41438
41878
  export type GetLocationSearchError = GetLocationSearchErrors[keyof GetLocationSearchErrors];
41439
41879
  export type GetLocationSearchResponses = {
41440
41880
  /**
41441
- * Matching cities sorted by relevance (prefix match first) then population
41881
+ * Matching places, best match first, with coordinates, IANA timezone and UTC offset
41442
41882
  */
41443
41883
  200: {
41444
41884
  /**
41445
- * Total number of cities matching the search query.
41885
+ * Number of places matching the query across all pages, not the number returned in this response. Greater than 1 means the name is ambiguous, so show province and country and let the user confirm before using the result for a chart.
41446
41886
  */
41447
41887
  total: number;
41448
41888
  /**
@@ -41450,11 +41890,11 @@ export type GetLocationSearchResponses = {
41450
41890
  */
41451
41891
  limit: number;
41452
41892
  /**
41453
- * Number of cities skipped. Use with limit for pagination.
41893
+ * Number of places skipped. Use with limit to page through results.
41454
41894
  */
41455
41895
  offset: number;
41456
41896
  /**
41457
- * City results for the current page, sorted by relevance (prefix match first) then population.
41897
+ * Matching places for the current page, best match first. Ordered by match quality, then population within equal quality: an exact name beats a qualified name such as richfield, utah, which beats a name merely starting with the query, which beats an incidental match on state or country. Take the first entry when total is 1, otherwise disambiguate on province and country.
41458
41898
  */
41459
41899
  cities: Array<{
41460
41900
  /**
@@ -41462,7 +41902,7 @@ export type GetLocationSearchResponses = {
41462
41902
  */
41463
41903
  city: string;
41464
41904
  /**
41465
- * State, province, canton, or administrative region. Helps disambiguate cities with the same name across regions (e.g. Springfield IL vs Springfield MO).
41905
+ * State, province, canton, or administrative region. Show it whenever more than one result comes back: it is what separates Richfield, Utah from Richfield, Minnesota, and the six US Springfields from each other. Empty for the small number of places with no administrative division recorded.
41466
41906
  */
41467
41907
  province: string;
41468
41908
  /**
@@ -41482,15 +41922,15 @@ export type GetLocationSearchResponses = {
41482
41922
  */
41483
41923
  longitude: number;
41484
41924
  /**
41485
- * IANA timezone identifier following the tz database standard (e.g. Europe/Berlin, America/New_York, Asia/Tokyo). Use with JavaScript Date, Luxon, day.js, or any date library for accurate local time conversion.
41925
+ * IANA timezone identifier following the tz database standard (e.g. Europe/Berlin, America/New_York, Asia/Tokyo). Always present. Pass THIS, not the numeric offset, into any chart or panchang request for a past date: the calculation endpoints resolve it to the offset that was actually in force on that date, including historical daylight saving. Also works directly with JavaScript Date, Luxon, day.js, or any date library.
41486
41926
  */
41487
41927
  timezone: string;
41488
41928
  /**
41489
- * Current UTC offset in decimal hours, automatically adjusted for daylight saving time. Pass directly as the timezone parameter in astrology API endpoints. Examples: 1 for CET, 2 for CEST, -5 for EST, 5.5 for IST, 5.75 for Nepal.
41929
+ * UTC offset in decimal hours for TODAY at this place, already adjusted for daylight saving. Convenient for displaying local time now. For a birth date or any past date use the `timezone` field instead, since the offset in force then may differ. Examples: 1 for CET, 2 for CEST, -5 for EST, 5.5 for IST, 5.75 for Nepal.
41490
41930
  */
41491
41931
  utcOffset: number;
41492
41932
  /**
41493
- * City population estimate from geographic databases. Larger cities rank higher in search results, ensuring major metropolitan areas appear first in autocomplete suggestions.
41933
+ * Population estimate for the place. Breaks ties between results of equal match quality, so among several places matching equally well the largest leads. It never outranks a better match, which is why a small town still wins when its name is typed exactly. May be 0 for a hamlet or administrative seat that carries no published figure.
41494
41934
  */
41495
41935
  population: number;
41496
41936
  }>;
@@ -41620,7 +42060,7 @@ export type GetLocationCountriesResponses = {
41620
42060
  */
41621
42061
  200: {
41622
42062
  /**
41623
- * Total number of countries available.
42063
+ * Total number of countries with at least one place in the dataset.
41624
42064
  */
41625
42065
  total: number;
41626
42066
  /**
@@ -41648,7 +42088,7 @@ export type GetLocationCountriesResponses = {
41648
42088
  */
41649
42089
  iso3: string;
41650
42090
  /**
41651
- * Number of searchable cities available for this country. Useful for showing coverage in UI or deciding whether to offer city search for a given country.
42091
+ * Number of searchable places in this country, including small towns and administrative seats. Useful for showing coverage in a UI or sizing a dependent city dropdown.
41652
42092
  */
41653
42093
  cityCount: number;
41654
42094
  }>;
@@ -41783,7 +42223,7 @@ export type GetLocationCountriesByIso2Responses = {
41783
42223
  */
41784
42224
  200: {
41785
42225
  /**
41786
- * Total number of cities available for this country.
42226
+ * Total number of places available for this country across all pages.
41787
42227
  */
41788
42228
  total: number;
41789
42229
  /**
@@ -41803,7 +42243,7 @@ export type GetLocationCountriesByIso2Responses = {
41803
42243
  */
41804
42244
  city: string;
41805
42245
  /**
41806
- * State, province, canton, or administrative region. Helps disambiguate cities with the same name across regions (e.g. Springfield IL vs Springfield MO).
42246
+ * State, province, canton, or administrative region. Show it whenever more than one result comes back: it is what separates Richfield, Utah from Richfield, Minnesota, and the six US Springfields from each other. Empty for the small number of places with no administrative division recorded.
41807
42247
  */
41808
42248
  province: string;
41809
42249
  /**
@@ -41823,15 +42263,15 @@ export type GetLocationCountriesByIso2Responses = {
41823
42263
  */
41824
42264
  longitude: number;
41825
42265
  /**
41826
- * IANA timezone identifier following the tz database standard (e.g. Europe/Berlin, America/New_York, Asia/Tokyo). Use with JavaScript Date, Luxon, day.js, or any date library for accurate local time conversion.
42266
+ * IANA timezone identifier following the tz database standard (e.g. Europe/Berlin, America/New_York, Asia/Tokyo). Always present. Pass THIS, not the numeric offset, into any chart or panchang request for a past date: the calculation endpoints resolve it to the offset that was actually in force on that date, including historical daylight saving. Also works directly with JavaScript Date, Luxon, day.js, or any date library.
41827
42267
  */
41828
42268
  timezone: string;
41829
42269
  /**
41830
- * Current UTC offset in decimal hours, automatically adjusted for daylight saving time. Pass directly as the timezone parameter in astrology API endpoints. Examples: 1 for CET, 2 for CEST, -5 for EST, 5.5 for IST, 5.75 for Nepal.
42270
+ * UTC offset in decimal hours for TODAY at this place, already adjusted for daylight saving. Convenient for displaying local time now. For a birth date or any past date use the `timezone` field instead, since the offset in force then may differ. Examples: 1 for CET, 2 for CEST, -5 for EST, 5.5 for IST, 5.75 for Nepal.
41831
42271
  */
41832
42272
  utcOffset: number;
41833
42273
  /**
41834
- * City population estimate from geographic databases. Larger cities rank higher in search results, ensuring major metropolitan areas appear first in autocomplete suggestions.
42274
+ * Population estimate for the place. Breaks ties between results of equal match quality, so among several places matching equally well the largest leads. It never outranks a better match, which is why a small town still wins when its name is typed exactly. May be 0 for a hamlet or administrative seat that carries no published figure.
41835
42275
  */
41836
42276
  population: number;
41837
42277
  }>;