@roxyapi/ui-vue 0.29.0 → 0.31.0

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.
Files changed (146) hide show
  1. package/AGENTS.md +1 -0
  2. package/README.md +1 -0
  3. package/dist/components/angel-number-card.js +1 -1
  4. package/dist/components/angel-number-card.js.map +1 -1
  5. package/dist/components/angel-number-lookup.js +1 -1
  6. package/dist/components/angel-number-lookup.js.map +1 -1
  7. package/dist/components/arudha-padas.js +1 -1
  8. package/dist/components/arudha-padas.js.map +1 -1
  9. package/dist/components/ashtakavarga-grid.js +1 -1
  10. package/dist/components/ashtakavarga-grid.js.map +1 -1
  11. package/dist/components/aspects-table.js +1 -1
  12. package/dist/components/aspects-table.js.map +1 -1
  13. package/dist/components/astrocartography-map.js +1 -1
  14. package/dist/components/astrocartography-map.js.map +1 -1
  15. package/dist/components/bhav-chalit-table.js +1 -1
  16. package/dist/components/bhav-chalit-table.js.map +1 -1
  17. package/dist/components/bhava-bala-table.js +1 -1
  18. package/dist/components/bhava-bala-table.js.map +1 -1
  19. package/dist/components/biorhythm-chart.js +1 -1
  20. package/dist/components/biorhythm-chart.js.map +1 -1
  21. package/dist/components/bodygraph.js +1 -1
  22. package/dist/components/bodygraph.js.map +1 -1
  23. package/dist/components/chara-karakas.js +1 -1
  24. package/dist/components/chara-karakas.js.map +1 -1
  25. package/dist/components/choghadiya-grid.js +1 -1
  26. package/dist/components/choghadiya-grid.js.map +1 -1
  27. package/dist/components/compatibility-card.js +1 -1
  28. package/dist/components/compatibility-card.js.map +1 -1
  29. package/dist/components/crystal-card.js +1 -1
  30. package/dist/components/crystal-card.js.map +1 -1
  31. package/dist/components/crystal-grid.js +1 -1
  32. package/dist/components/crystal-grid.js.map +1 -1
  33. package/dist/components/dasha-timeline.js +1 -1
  34. package/dist/components/dasha-timeline.js.map +1 -1
  35. package/dist/components/data.js +1 -1
  36. package/dist/components/data.js.map +1 -1
  37. package/dist/components/divisional-chart.js +1 -1
  38. package/dist/components/divisional-chart.js.map +1 -1
  39. package/dist/components/dosha-card.js +1 -1
  40. package/dist/components/dosha-card.js.map +1 -1
  41. package/dist/components/dream-card.js +1 -1
  42. package/dist/components/dream-card.js.map +1 -1
  43. package/dist/components/dream-search.js +1 -1
  44. package/dist/components/dream-search.js.map +1 -1
  45. package/dist/components/endpoint-form.js +1 -1
  46. package/dist/components/endpoint-form.js.map +1 -1
  47. package/dist/components/ephemeris-table.js +1 -1
  48. package/dist/components/ephemeris-table.js.map +1 -1
  49. package/dist/components/fixed-stars.js +1 -1
  50. package/dist/components/fixed-stars.js.map +1 -1
  51. package/dist/components/forecast-digest.js +1 -1
  52. package/dist/components/forecast-digest.js.map +1 -1
  53. package/dist/components/forecast-timeline.js +1 -1
  54. package/dist/components/forecast-timeline.js.map +1 -1
  55. package/dist/components/gochara-table.js +1 -1
  56. package/dist/components/gochara-table.js.map +1 -1
  57. package/dist/components/guna-milan.js +1 -1
  58. package/dist/components/guna-milan.js.map +1 -1
  59. package/dist/components/hd-connection.js +1 -1
  60. package/dist/components/hd-connection.js.map +1 -1
  61. package/dist/components/hd-penta.js +1 -1
  62. package/dist/components/hd-penta.js.map +1 -1
  63. package/dist/components/hd-type-card.js +1 -1
  64. package/dist/components/hd-type-card.js.map +1 -1
  65. package/dist/components/hd-variables.js +1 -1
  66. package/dist/components/hd-variables.js.map +1 -1
  67. package/dist/components/heliacal-table.js +1 -1
  68. package/dist/components/heliacal-table.js.map +1 -1
  69. package/dist/components/hexagram.js +1 -1
  70. package/dist/components/hexagram.js.map +1 -1
  71. package/dist/components/hora-table.js +1 -1
  72. package/dist/components/hora-table.js.map +1 -1
  73. package/dist/components/horoscope-card.js +1 -1
  74. package/dist/components/horoscope-card.js.map +1 -1
  75. package/dist/components/kp-chart.js +1 -1
  76. package/dist/components/kp-chart.js.map +1 -1
  77. package/dist/components/kp-planets-table.js +1 -1
  78. package/dist/components/kp-planets-table.js.map +1 -1
  79. package/dist/components/kp-ruling-planets.js +1 -1
  80. package/dist/components/kp-ruling-planets.js.map +1 -1
  81. package/dist/components/local-space-compass.js +1 -1
  82. package/dist/components/local-space-compass.js.map +1 -1
  83. package/dist/components/location-search.js +1 -1
  84. package/dist/components/location-search.js.map +1 -1
  85. package/dist/components/moon-phase.js +1 -1
  86. package/dist/components/moon-phase.js.map +1 -1
  87. package/dist/components/nakshatra-card.js +1 -1
  88. package/dist/components/nakshatra-card.js.map +1 -1
  89. package/dist/components/natal-chart.js +1 -1
  90. package/dist/components/natal-chart.js.map +1 -1
  91. package/dist/components/numerology-card.js +1 -1
  92. package/dist/components/numerology-card.js.map +1 -1
  93. package/dist/components/panchang-table.js +1 -1
  94. package/dist/components/panchang-table.js.map +1 -1
  95. package/dist/components/positions-table.js +1 -1
  96. package/dist/components/positions-table.js.map +1 -1
  97. package/dist/components/profection-card.js +1 -1
  98. package/dist/components/profection-card.js.map +1 -1
  99. package/dist/components/reference-card.js +1 -1
  100. package/dist/components/reference-card.js.map +1 -1
  101. package/dist/components/relocation-wheel.js +1 -1
  102. package/dist/components/relocation-wheel.js.map +1 -1
  103. package/dist/components/shadbala-table.js +1 -1
  104. package/dist/components/shadbala-table.js.map +1 -1
  105. package/dist/components/synastry-chart.js +1 -1
  106. package/dist/components/synastry-chart.js.map +1 -1
  107. package/dist/components/tarot-card.js +1 -1
  108. package/dist/components/tarot-card.js.map +1 -1
  109. package/dist/components/tarot-catalog.js +1 -1
  110. package/dist/components/tarot-catalog.js.map +1 -1
  111. package/dist/components/tarot-spread.js +1 -1
  112. package/dist/components/tarot-spread.js.map +1 -1
  113. package/dist/components/transit-wheel.js +1 -1
  114. package/dist/components/transit-wheel.js.map +1 -1
  115. package/dist/components/transits-table.js +1 -1
  116. package/dist/components/transits-table.js.map +1 -1
  117. package/dist/components/upagraha-table.js +1 -1
  118. package/dist/components/upagraha-table.js.map +1 -1
  119. package/dist/components/vedic-aspects.js +1 -1
  120. package/dist/components/vedic-aspects.js.map +1 -1
  121. package/dist/components/vedic-daily.d.ts +98 -0
  122. package/dist/components/vedic-daily.d.ts.map +1 -0
  123. package/dist/components/vedic-daily.js +2 -0
  124. package/dist/components/vedic-daily.js.map +7 -0
  125. package/dist/components/vedic-kundli.js +1 -1
  126. package/dist/components/vedic-kundli.js.map +1 -1
  127. package/dist/components/vedic-planets-table.js +1 -1
  128. package/dist/components/vedic-planets-table.js.map +1 -1
  129. package/dist/components/western-planets-table.js +1 -1
  130. package/dist/components/western-planets-table.js.map +1 -1
  131. package/dist/components/yoga-list.js +1 -1
  132. package/dist/components/yoga-list.js.map +1 -1
  133. package/dist/index.cjs +1 -1
  134. package/dist/index.cjs.map +4 -4
  135. package/dist/index.d.ts +1 -0
  136. package/dist/index.d.ts.map +1 -1
  137. package/dist/index.js +1 -1
  138. package/dist/index.js.map +4 -4
  139. package/dist/load-ui.d.ts +1 -1
  140. package/dist/load-ui.js +1 -1
  141. package/dist/load-ui.js.map +1 -1
  142. package/dist/types/index.d.ts +1 -1
  143. package/dist/types/index.d.ts.map +1 -1
  144. package/dist/types/types.gen.d.ts +1159 -330
  145. package/dist/types/types.gen.d.ts.map +1 -1
  146. package/package.json +1 -1
@@ -6944,7 +6944,7 @@ export type HeliacalRequest = {
6944
6944
  };
6945
6945
  export type BasicCard = {
6946
6946
  /**
6947
- * Unique card identifier in kebab-case (e.g. fool, ace-of-cups, queen-of-swords).
6947
+ * Unique card identifier in kebab-case, with no leading article on Major Arcana (e.g. fool, star, ace-of-cups, queen-of-swords). This is the canonical form, whatever spelling was requested.
6948
6948
  */
6949
6949
  id: string;
6950
6950
  /**
@@ -6970,7 +6970,7 @@ export type BasicCard = {
6970
6970
  };
6971
6971
  export type Card = {
6972
6972
  /**
6973
- * Unique card identifier in kebab-case (e.g. fool, ace-of-cups, queen-of-swords).
6973
+ * Unique card identifier in kebab-case, with no leading article on Major Arcana (e.g. fool, star, ace-of-cups, queen-of-swords). This is the canonical form, whatever spelling was requested.
6974
6974
  */
6975
6975
  id: string;
6976
6976
  /**
@@ -8057,7 +8057,7 @@ export type GetPlanetMeaningData = {
8057
8057
  body?: never;
8058
8058
  path: {
8059
8059
  /**
8060
- * Planet ID (lowercase, e.g., sun, moon, mercury) or display name (case-insensitive, e.g., Sun, MOON).
8060
+ * Planet ID (lowercase, e.g., sun, moon, mercury) or display name (case-insensitive, e.g., Sun, MOON). Spaces, hyphens and underscores are interchangeable, so the two lunar nodes answer to north-node and south-node as well as to their ids north node and south node, and Black Moon Lilith answers to black-moon-lilith as well as to lilith.
8061
8061
  */
8062
8062
  id: string;
8063
8063
  };
@@ -9530,9 +9530,13 @@ export type CalculateSynastryResponses = {
9530
9530
  */
9531
9531
  degree: number;
9532
9532
  /**
9533
- * House this planet occupies in the person 1 chart (1-12).
9533
+ * House this planet occupies in the person 1 chart (1-12). This is the placement in this person OWN chart. For the house overlay a synastry reading is built on, read houseInOtherChart.
9534
9534
  */
9535
9535
  house: number;
9536
+ /**
9537
+ * Which of person 2 houses this planet of person 1 falls into (1-12), counted on that person cusps in the same house system. This is the house OVERLAY, the half of synastry the inter-aspects do not cover: an aspect says two bodies are in relationship, an overlay says which area of the other person life this body lands in. Both people get their own overlay, so person 2 planets carry the reverse reading.
9538
+ */
9539
+ houseInOtherChart: number;
9536
9540
  /**
9537
9541
  * True when the planet is retrograde at this moment.
9538
9542
  */
@@ -9609,9 +9613,13 @@ export type CalculateSynastryResponses = {
9609
9613
  */
9610
9614
  degree: number;
9611
9615
  /**
9612
- * House this planet occupies in the person 2 chart (1-12).
9616
+ * House this planet occupies in the person 2 chart (1-12). This is the placement in this person OWN chart. For the house overlay a synastry reading is built on, read houseInOtherChart.
9613
9617
  */
9614
9618
  house: number;
9619
+ /**
9620
+ * Which of person 1 houses this planet of person 2 falls into (1-12), counted on that person cusps in the same house system. This is the house OVERLAY, the half of synastry the inter-aspects do not cover: an aspect says two bodies are in relationship, an overlay says which area of the other person life this body lands in. Both people get their own overlay, so person 1 planets carry the reverse reading.
9621
+ */
9622
+ houseInOtherChart: number;
9615
9623
  /**
9616
9624
  * True when the planet is retrograde at this moment.
9617
9625
  */
@@ -10013,6 +10021,221 @@ export type CalculateAspectsResponses = {
10013
10021
  200: AspectsResponse;
10014
10022
  };
10015
10023
  export type CalculateAspectsResponse = CalculateAspectsResponses[keyof CalculateAspectsResponses];
10024
+ export type GetMonthlyTropicalAspectsData = {
10025
+ body?: {
10026
+ /**
10027
+ * Year for the aspect calendar (1900-2100). Defaults to the current year (UTC).
10028
+ */
10029
+ year?: number;
10030
+ /**
10031
+ * Month number (1-12). Defaults to the current month (UTC).
10032
+ */
10033
+ month?: number;
10034
+ /**
10035
+ * Timezone offset from UTC in hours. Event dates and times are reported in this zone, which is what makes a published calendar read correctly for its audience. Defaults to 0 (UTC).
10036
+ */
10037
+ timezone?: number | string;
10038
+ /**
10039
+ * 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 the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. 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".
10040
+ */
10041
+ nodeType?: 'mean' | 'true';
10042
+ };
10043
+ path?: never;
10044
+ query?: {
10045
+ /**
10046
+ * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
10047
+ */
10048
+ lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru';
10049
+ };
10050
+ url: '/astrology/aspects/monthly';
10051
+ };
10052
+ export type GetMonthlyTropicalAspectsErrors = {
10053
+ /**
10054
+ * Validation error. `issues[]` lists every failed field.
10055
+ */
10056
+ 400: {
10057
+ /**
10058
+ * First issue summary.
10059
+ */
10060
+ error: string;
10061
+ code: 'validation_error';
10062
+ /**
10063
+ * Every validation failure. Use this to rebuild a valid request.
10064
+ */
10065
+ issues: Array<{
10066
+ /**
10067
+ * Dot-separated field path, or "(root)" for top-level.
10068
+ */
10069
+ path: string;
10070
+ message: string;
10071
+ /**
10072
+ * Zod issue code (invalid_type, too_small, too_big, invalid_string, ...).
10073
+ */
10074
+ code?: string;
10075
+ /**
10076
+ * Expected type for invalid_type.
10077
+ */
10078
+ expected?: string;
10079
+ /**
10080
+ * Minimum bound for too_small issues.
10081
+ */
10082
+ minimum?: number | string;
10083
+ /**
10084
+ * Maximum bound for too_big issues.
10085
+ */
10086
+ maximum?: number | string;
10087
+ inclusive?: boolean;
10088
+ /**
10089
+ * Format name for string issues (regex, email, url, uuid).
10090
+ */
10091
+ format?: string;
10092
+ /**
10093
+ * Regex pattern when format is regex.
10094
+ */
10095
+ pattern?: string;
10096
+ }>;
10097
+ };
10098
+ /**
10099
+ * Invalid or missing API key
10100
+ */
10101
+ 401: {
10102
+ /**
10103
+ * Human-readable error message. May change wording.
10104
+ */
10105
+ error: string;
10106
+ /**
10107
+ * Machine-readable error code. Stable identifier.
10108
+ */
10109
+ code: string;
10110
+ };
10111
+ /**
10112
+ * Method not allowed. The path exists but only responds to the methods listed in `allow[]` and the `Allow` response header.
10113
+ */
10114
+ 405: {
10115
+ error: string;
10116
+ code: 'method_not_allowed';
10117
+ /**
10118
+ * Allowed HTTP methods for this path. Mirrors the Allow response header.
10119
+ */
10120
+ allow: Array<string>;
10121
+ /**
10122
+ * Link to the product page for this domain.
10123
+ */
10124
+ docs?: string;
10125
+ };
10126
+ /**
10127
+ * Monthly rate limit exceeded
10128
+ */
10129
+ 429: {
10130
+ /**
10131
+ * Human-readable error message. May change wording.
10132
+ */
10133
+ error: string;
10134
+ /**
10135
+ * Machine-readable error code. Stable identifier.
10136
+ */
10137
+ code: string;
10138
+ };
10139
+ /**
10140
+ * Internal server error
10141
+ */
10142
+ 500: {
10143
+ /**
10144
+ * Human-readable error message. May change wording.
10145
+ */
10146
+ error: string;
10147
+ /**
10148
+ * Machine-readable error code. Stable identifier.
10149
+ */
10150
+ code: string;
10151
+ };
10152
+ };
10153
+ export type GetMonthlyTropicalAspectsError = GetMonthlyTropicalAspectsErrors[keyof GetMonthlyTropicalAspectsErrors];
10154
+ export type GetMonthlyTropicalAspectsResponses = {
10155
+ /**
10156
+ * Monthly aspect calendar calculated successfully
10157
+ */
10158
+ 200: {
10159
+ /**
10160
+ * Year of the calendar. Echoes the year requested, or the current UTC year when it was omitted.
10161
+ */
10162
+ year: number;
10163
+ /**
10164
+ * Month of the calendar. Echoes the month requested, or the current UTC month when it was omitted.
10165
+ */
10166
+ month: number;
10167
+ /**
10168
+ * Timezone the event dates and times are reported in. Echoes the request.
10169
+ */
10170
+ timezone: number;
10171
+ /**
10172
+ * Every aspect event in the month, in chronological order across all body pairs.
10173
+ */
10174
+ events: Array<{
10175
+ /**
10176
+ * First body forming the aspect. Always canonical English whatever the lang parameter says, so it stays safe to compare against in code. Use planet1Localized for anything a reader sees.
10177
+ */
10178
+ planet1: string;
10179
+ /**
10180
+ * First body in the requested language. Present only when lang is supplied.
10181
+ */
10182
+ planet1Localized?: string;
10183
+ /**
10184
+ * Second body forming the aspect. Always canonical English.
10185
+ */
10186
+ planet2: string;
10187
+ /**
10188
+ * Second body in the requested language. Present only when lang is supplied.
10189
+ */
10190
+ planet2Localized?: string;
10191
+ /**
10192
+ * Aspect type, canonical English. One of conjunction (0 deg), semi-sextile (30 deg), semi-square (45 deg), sextile (60 deg), square (90 deg), trine (120 deg), sesquiquadrate (135 deg), quincunx (150 deg), opposition (180 deg).
10193
+ */
10194
+ aspect: string;
10195
+ /**
10196
+ * Aspect name in the requested language. Present only when lang is supplied.
10197
+ */
10198
+ aspectLocalized?: string;
10199
+ /**
10200
+ * Whether the aspect is harmonious, challenging or neutral. Canonical English, so a calendar can colour or filter on it directly. natureLocalized carries the reader-facing form.
10201
+ */
10202
+ nature: string;
10203
+ /**
10204
+ * Nature in the requested language. Present only when lang is supplied.
10205
+ */
10206
+ natureLocalized?: string;
10207
+ /**
10208
+ * Date the aspect is closest to exact, in the requested timezone (YYYY-MM-DD).
10209
+ */
10210
+ date: string;
10211
+ /**
10212
+ * Time the aspect is closest to exact, in the requested timezone (HH:MM).
10213
+ */
10214
+ time: string;
10215
+ /**
10216
+ * Combined timestamp of closest approach, in the requested timezone.
10217
+ */
10218
+ datetime: string;
10219
+ /**
10220
+ * Distance from exact in degrees at the reported instant. Effectively zero for an aspect that perfects inside the month, and larger only where the pair turns before reaching exact.
10221
+ */
10222
+ orb: number;
10223
+ /**
10224
+ * Actual angular separation between the two bodies in degrees at the reported instant, measured the short way round the circle.
10225
+ */
10226
+ separation: number;
10227
+ /**
10228
+ * Tropical ecliptic longitude of the first body at the reported instant.
10229
+ */
10230
+ planet1Longitude: number;
10231
+ /**
10232
+ * Tropical ecliptic longitude of the second body at the reported instant.
10233
+ */
10234
+ planet2Longitude: number;
10235
+ }>;
10236
+ };
10237
+ };
10238
+ export type GetMonthlyTropicalAspectsResponse = GetMonthlyTropicalAspectsResponses[keyof GetMonthlyTropicalAspectsResponses];
10016
10239
  export type DetectAspectPatternsData = {
10017
10240
  body?: AspectPatternsRequest;
10018
10241
  path?: never;
@@ -10261,6 +10484,226 @@ export type CalculateTransitsResponses = {
10261
10484
  200: TransitsResponse;
10262
10485
  };
10263
10486
  export type CalculateTransitsResponse = CalculateTransitsResponses[keyof CalculateTransitsResponses];
10487
+ export type GetMonthlyTropicalTransitsData = {
10488
+ body?: {
10489
+ /**
10490
+ * Year for the monthly transit table (1900-2100). Defaults to the current year (UTC).
10491
+ */
10492
+ year?: number;
10493
+ /**
10494
+ * Month number (1-12). Defaults to the current month (UTC).
10495
+ */
10496
+ month?: number;
10497
+ /**
10498
+ * Timezone offset from UTC in hours. Ingress dates and times are reported in this zone, which is what makes a published calendar read correctly for its audience. Defaults to 0 (UTC).
10499
+ */
10500
+ timezone?: number | string;
10501
+ /**
10502
+ * 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 the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. 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".
10503
+ */
10504
+ nodeType?: 'mean' | 'true';
10505
+ };
10506
+ path?: never;
10507
+ query?: {
10508
+ /**
10509
+ * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
10510
+ */
10511
+ lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru';
10512
+ };
10513
+ url: '/astrology/transits/monthly';
10514
+ };
10515
+ export type GetMonthlyTropicalTransitsErrors = {
10516
+ /**
10517
+ * Validation error. `issues[]` lists every failed field.
10518
+ */
10519
+ 400: {
10520
+ /**
10521
+ * First issue summary.
10522
+ */
10523
+ error: string;
10524
+ code: 'validation_error';
10525
+ /**
10526
+ * Every validation failure. Use this to rebuild a valid request.
10527
+ */
10528
+ issues: Array<{
10529
+ /**
10530
+ * Dot-separated field path, or "(root)" for top-level.
10531
+ */
10532
+ path: string;
10533
+ message: string;
10534
+ /**
10535
+ * Zod issue code (invalid_type, too_small, too_big, invalid_string, ...).
10536
+ */
10537
+ code?: string;
10538
+ /**
10539
+ * Expected type for invalid_type.
10540
+ */
10541
+ expected?: string;
10542
+ /**
10543
+ * Minimum bound for too_small issues.
10544
+ */
10545
+ minimum?: number | string;
10546
+ /**
10547
+ * Maximum bound for too_big issues.
10548
+ */
10549
+ maximum?: number | string;
10550
+ inclusive?: boolean;
10551
+ /**
10552
+ * Format name for string issues (regex, email, url, uuid).
10553
+ */
10554
+ format?: string;
10555
+ /**
10556
+ * Regex pattern when format is regex.
10557
+ */
10558
+ pattern?: string;
10559
+ }>;
10560
+ };
10561
+ /**
10562
+ * Invalid or missing API key
10563
+ */
10564
+ 401: {
10565
+ /**
10566
+ * Human-readable error message. May change wording.
10567
+ */
10568
+ error: string;
10569
+ /**
10570
+ * Machine-readable error code. Stable identifier.
10571
+ */
10572
+ code: string;
10573
+ };
10574
+ /**
10575
+ * Method not allowed. The path exists but only responds to the methods listed in `allow[]` and the `Allow` response header.
10576
+ */
10577
+ 405: {
10578
+ error: string;
10579
+ code: 'method_not_allowed';
10580
+ /**
10581
+ * Allowed HTTP methods for this path. Mirrors the Allow response header.
10582
+ */
10583
+ allow: Array<string>;
10584
+ /**
10585
+ * Link to the product page for this domain.
10586
+ */
10587
+ docs?: string;
10588
+ };
10589
+ /**
10590
+ * Monthly rate limit exceeded
10591
+ */
10592
+ 429: {
10593
+ /**
10594
+ * Human-readable error message. May change wording.
10595
+ */
10596
+ error: string;
10597
+ /**
10598
+ * Machine-readable error code. Stable identifier.
10599
+ */
10600
+ code: string;
10601
+ };
10602
+ /**
10603
+ * Internal server error
10604
+ */
10605
+ 500: {
10606
+ /**
10607
+ * Human-readable error message. May change wording.
10608
+ */
10609
+ error: string;
10610
+ /**
10611
+ * Machine-readable error code. Stable identifier.
10612
+ */
10613
+ code: string;
10614
+ };
10615
+ };
10616
+ export type GetMonthlyTropicalTransitsError = GetMonthlyTropicalTransitsErrors[keyof GetMonthlyTropicalTransitsErrors];
10617
+ export type GetMonthlyTropicalTransitsResponses = {
10618
+ /**
10619
+ * Monthly transit table calculated successfully
10620
+ */
10621
+ 200: {
10622
+ /**
10623
+ * Year of the table. Echoes the year requested, or the current UTC year when it was omitted.
10624
+ */
10625
+ year: number;
10626
+ /**
10627
+ * Month of the table. Echoes the month requested, or the current UTC month when it was omitted.
10628
+ */
10629
+ month: number;
10630
+ /**
10631
+ * Timezone the ingress dates and times are reported in. Echoes the request.
10632
+ */
10633
+ timezone: number;
10634
+ /**
10635
+ * Where every body stands as the month opens, so a calendar can show the run-in as well as the changes.
10636
+ */
10637
+ startingPositions: Array<{
10638
+ /**
10639
+ * Body name, canonical English.
10640
+ */
10641
+ planet: string;
10642
+ /**
10643
+ * Body name in the requested language.
10644
+ */
10645
+ planetLocalized?: string;
10646
+ /**
10647
+ * Tropical sign the body occupies at the start of the month.
10648
+ */
10649
+ sign: string;
10650
+ /**
10651
+ * Sign in the requested language.
10652
+ */
10653
+ signLocalized?: string;
10654
+ /**
10655
+ * Tropical ecliptic longitude in degrees at 00:00 UTC on the first of the month.
10656
+ */
10657
+ longitude: number;
10658
+ }>;
10659
+ /**
10660
+ * Every sign change in the month, in chronological order across all bodies. Empty only for a month in which nothing changes sign, which cannot happen while the Moon is included.
10661
+ */
10662
+ transitEvents: Array<{
10663
+ /**
10664
+ * Body that changes sign during the month. One of the 14 Western bodies. Always canonical English whatever the lang parameter says, so it stays safe to compare against in code. Use planetLocalized for anything a reader sees.
10665
+ */
10666
+ planet: string;
10667
+ /**
10668
+ * Body name in the requested language. Present only when lang is supplied.
10669
+ */
10670
+ planetLocalized?: string;
10671
+ /**
10672
+ * Tropical sign the body leaves. Canonical English.
10673
+ */
10674
+ fromSign: string;
10675
+ /**
10676
+ * Sign left, in the requested language. Present only when lang is supplied.
10677
+ */
10678
+ fromSignLocalized?: string;
10679
+ /**
10680
+ * Tropical sign the body enters. Canonical English.
10681
+ */
10682
+ toSign: string;
10683
+ /**
10684
+ * Sign entered, in the requested language. Present only when lang is supplied.
10685
+ */
10686
+ toSignLocalized?: string;
10687
+ /**
10688
+ * Date of the ingress in the requested timezone (YYYY-MM-DD).
10689
+ */
10690
+ date: string;
10691
+ /**
10692
+ * Time of the ingress in the requested timezone (HH:MM).
10693
+ */
10694
+ time: string;
10695
+ /**
10696
+ * Combined ingress timestamp in the requested timezone.
10697
+ */
10698
+ datetime: string;
10699
+ /**
10700
+ * Whether the body was retrograde at the moment it crossed. A retrograde ingress is the body re-entering a sign it already left, which is why the same body can appear more than once in a month.
10701
+ */
10702
+ isRetrograde: boolean;
10703
+ }>;
10704
+ };
10705
+ };
10706
+ export type GetMonthlyTropicalTransitsResponse = GetMonthlyTropicalTransitsResponses[keyof GetMonthlyTropicalTransitsResponses];
10264
10707
  export type CalculateTransitAspectsData = {
10265
10708
  body?: {
10266
10709
  /**
@@ -10427,334 +10870,720 @@ export type CalculateTransitAspectsErrors = {
10427
10870
  code: string;
10428
10871
  };
10429
10872
  };
10430
- export type CalculateTransitAspectsError = CalculateTransitAspectsErrors[keyof CalculateTransitAspectsErrors];
10431
- export type CalculateTransitAspectsResponses = {
10873
+ export type CalculateTransitAspectsError = CalculateTransitAspectsErrors[keyof CalculateTransitAspectsErrors];
10874
+ export type CalculateTransitAspectsResponses = {
10875
+ /**
10876
+ * Transit aspects calculated successfully
10877
+ */
10878
+ 200: {
10879
+ /**
10880
+ * Date and time of the transit calculation.
10881
+ */
10882
+ transitDate: string;
10883
+ /**
10884
+ * 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.
10885
+ */
10886
+ houseSystem: 'placidus' | 'whole-sign' | 'equal' | 'koch';
10887
+ /**
10888
+ * 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.
10889
+ */
10890
+ houses: Array<{
10891
+ /**
10892
+ * House number (1-12). Each house governs specific life themes in Western astrology.
10893
+ */
10894
+ number: number;
10895
+ /**
10896
+ * Ecliptic longitude of this house cusp in degrees (0-360).
10897
+ */
10898
+ longitude: number;
10899
+ /**
10900
+ * Zodiac sign on this house cusp. Colors the themes of this life area.
10901
+ */
10902
+ sign: string;
10903
+ /**
10904
+ * Degree within the zodiac sign on this cusp (0-29.999).
10905
+ */
10906
+ degree: number;
10907
+ /**
10908
+ * 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.
10909
+ */
10910
+ signLocalized?: string;
10911
+ }>;
10912
+ /**
10913
+ * 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.
10914
+ */
10915
+ ascendant: {
10916
+ /**
10917
+ * Tropical zodiac sign on the natal Ascendant. Always English, whatever the lang parameter says. Use signLocalized for anything a reader sees.
10918
+ */
10919
+ sign: string;
10920
+ /**
10921
+ * 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.
10922
+ */
10923
+ signLocalized?: string;
10924
+ /**
10925
+ * Degree within the Ascendant sign (0-29.999).
10926
+ */
10927
+ degree: number;
10928
+ /**
10929
+ * Absolute ecliptic longitude of the natal Ascendant in degrees (0-360).
10930
+ */
10931
+ longitude: number;
10932
+ };
10933
+ /**
10934
+ * 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.
10935
+ */
10936
+ transitPlanets: Array<{
10937
+ /**
10938
+ * 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.
10939
+ */
10940
+ name: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
10941
+ /**
10942
+ * Tropical ecliptic longitude in degrees (0-360). Primary coordinate for zodiac sign and aspect calculations.
10943
+ */
10944
+ longitude: number;
10945
+ /**
10946
+ * Ecliptic latitude in degrees. Near zero for most planets, varies for the Moon and Pluto, and reaches up to about 5 degrees for Black Moon Lilith (projected from the inclined mean lunar orbit).
10947
+ */
10948
+ latitude: number;
10949
+ /**
10950
+ * Tropical zodiac sign this planet occupies. Determined by 30-degree divisions of ecliptic longitude.
10951
+ */
10952
+ sign: string;
10953
+ /**
10954
+ * Degree within the zodiac sign (0-29.999). Indicates how far the planet has progressed through the sign.
10955
+ */
10956
+ degree: number;
10957
+ /**
10958
+ * Natal house (1-12) this transiting body is currently passing through, read against the natal house cusps. This is the life area the transit activates, so it is driven by the natal birth time and location rather than by the transit moment.
10959
+ */
10960
+ house: number;
10961
+ /**
10962
+ * Daily motion in degrees per day. Negative values indicate retrograde motion.
10963
+ */
10964
+ speed: number;
10965
+ /**
10966
+ * Whether the planet appears to move backward from Earth perspective. Retrograde periods signal review and introspection.
10967
+ */
10968
+ isRetrograde: boolean;
10969
+ /**
10970
+ * 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.
10971
+ */
10972
+ nameLocalized?: string;
10973
+ /**
10974
+ * Zodiac 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.
10975
+ */
10976
+ signLocalized?: string;
10977
+ }>;
10978
+ /**
10979
+ * Natal (birth chart) planetary positions used as the baseline for transit aspect comparison, each placed in its natal house.
10980
+ */
10981
+ natalPlanets: Array<{
10982
+ /**
10983
+ * 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.
10984
+ */
10985
+ name: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
10986
+ /**
10987
+ * Tropical ecliptic longitude in degrees (0-360). Primary coordinate for zodiac sign and aspect calculations.
10988
+ */
10989
+ longitude: number;
10990
+ /**
10991
+ * Ecliptic latitude in degrees. Near zero for most planets, varies for the Moon and Pluto, and reaches up to about 5 degrees for Black Moon Lilith (projected from the inclined mean lunar orbit).
10992
+ */
10993
+ latitude: number;
10994
+ /**
10995
+ * Tropical zodiac sign this planet occupies. Determined by 30-degree divisions of ecliptic longitude.
10996
+ */
10997
+ sign: string;
10998
+ /**
10999
+ * Degree within the zodiac sign (0-29.999). Indicates how far the planet has progressed through the sign.
11000
+ */
11001
+ degree: number;
11002
+ /**
11003
+ * House placement (1-12). Determined by the selected house system and birth location.
11004
+ */
11005
+ house: number;
11006
+ /**
11007
+ * Daily motion in degrees per day. Negative values indicate retrograde motion.
11008
+ */
11009
+ speed: number;
11010
+ /**
11011
+ * Whether the planet appears to move backward from Earth perspective. Retrograde periods signal review and introspection.
11012
+ */
11013
+ isRetrograde: boolean;
11014
+ /**
11015
+ * 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.
11016
+ */
11017
+ nameLocalized?: string;
11018
+ /**
11019
+ * Zodiac 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.
11020
+ */
11021
+ signLocalized?: string;
11022
+ }>;
11023
+ /**
11024
+ * Transit-to-natal aspects with interpretations, strength ratings, and guidance. Each aspect represents a transiting planet forming a geometric angle to a natal planet.
11025
+ */
11026
+ aspects: Array<{
11027
+ /**
11028
+ * First planet in the aspect pair.
11029
+ */
11030
+ planet1: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
11031
+ /**
11032
+ * Second planet in the aspect pair.
11033
+ */
11034
+ planet2: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
11035
+ /**
11036
+ * Aspect type. Major: conjunction (0), opposition (180), trine (120), square (90), sextile (60). Minor: semi-sextile, quincunx, semi-square, sesquiquadrate.
11037
+ */
11038
+ type: 'CONJUNCTION' | 'OPPOSITION' | 'TRINE' | 'SQUARE' | 'SEXTILE' | 'SEMI_SEXTILE' | 'QUINCUNX' | 'SEMI_SQUARE' | 'SESQUIQUADRATE';
11039
+ /**
11040
+ * Exact angular separation that defines this aspect type in degrees.
11041
+ */
11042
+ angle: number;
11043
+ /**
11044
+ * Deviation from exact aspect in degrees. Tighter orb means stronger influence.
11045
+ */
11046
+ orb: number;
11047
+ /**
11048
+ * Whether the aspect is applying (planets moving toward exact) or separating (moving apart). Applying aspects grow stronger.
11049
+ */
11050
+ isApplying: boolean;
11051
+ /**
11052
+ * Aspect strength percentage (0-100). Based on orb tightness relative to the allowed maximum.
11053
+ */
11054
+ strength: number;
11055
+ /**
11056
+ * Aspect nature. Harmonious (trine, sextile) flows easily. Challenging (square, opposition) creates tension and growth. Neutral (conjunction) blends energies. Always English, whatever the lang parameter says: it is an identifier consumers switch and style on. Use interpretationLocalized for anything a reader sees.
11057
+ */
11058
+ interpretation: 'harmonious' | 'challenging' | 'neutral';
11059
+ /**
11060
+ * First 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.
11061
+ */
11062
+ planet1Localized?: string;
11063
+ /**
11064
+ * Second 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.
11065
+ */
11066
+ planet2Localized?: string;
11067
+ /**
11068
+ * 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.
11069
+ */
11070
+ typeLocalized?: string;
11071
+ /**
11072
+ * Rich interpretation of the transit aspect: narrative summary, timing, impact assessment, practical guidance, and keywords.
11073
+ */
11074
+ transitInterpretation: {
11075
+ /**
11076
+ * Narrative interpretation of this transit aspect and its life impact.
11077
+ */
11078
+ summary: string;
11079
+ /**
11080
+ * 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.
11081
+ */
11082
+ timing: string;
11083
+ /**
11084
+ * Strength and nature of this transit effect — constructive, challenging, or neutral.
11085
+ */
11086
+ impact: string;
11087
+ /**
11088
+ * Practical advice for working with this transit energy.
11089
+ */
11090
+ guidance: string;
11091
+ /**
11092
+ * Key themes activated by this transit aspect.
11093
+ */
11094
+ keywords: Array<string>;
11095
+ };
11096
+ }>;
11097
+ /**
11098
+ * Statistical summary of all transit aspects. The harmonious-to-challenging ratio reveals the overall transit weather — whether the current period favors ease or demands effort.
11099
+ */
11100
+ summary: {
11101
+ /**
11102
+ * Total number of transit-to-natal aspects found.
11103
+ */
11104
+ total: number;
11105
+ /**
11106
+ * Count of harmonious aspects (trine, sextile). These transits bring ease, flow, and opportunity.
11107
+ */
11108
+ harmonious: number;
11109
+ /**
11110
+ * Count of challenging aspects (square, opposition, semi-square, sesquiquadrate). These transits bring tension, growth pressure, and action.
11111
+ */
11112
+ challenging: number;
11113
+ /**
11114
+ * Count of neutral aspects (conjunction, minor aspects). Conjunctions blend energies — the outcome depends on the planets involved.
11115
+ */
11116
+ neutral: number;
11117
+ /**
11118
+ * The tightest aspect by orb. This is the most potent transit currently active — the one most likely to be felt.
11119
+ */
11120
+ strongest: {
11121
+ /**
11122
+ * First planet in the aspect pair.
11123
+ */
11124
+ planet1: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
11125
+ /**
11126
+ * Second planet in the aspect pair.
11127
+ */
11128
+ planet2: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
11129
+ /**
11130
+ * Aspect type. Major: conjunction (0), opposition (180), trine (120), square (90), sextile (60). Minor: semi-sextile, quincunx, semi-square, sesquiquadrate.
11131
+ */
11132
+ type: 'CONJUNCTION' | 'OPPOSITION' | 'TRINE' | 'SQUARE' | 'SEXTILE' | 'SEMI_SEXTILE' | 'QUINCUNX' | 'SEMI_SQUARE' | 'SESQUIQUADRATE';
11133
+ /**
11134
+ * Exact angular separation that defines this aspect type in degrees.
11135
+ */
11136
+ angle: number;
11137
+ /**
11138
+ * Deviation from exact aspect in degrees. Tighter orb means stronger influence.
11139
+ */
11140
+ orb: number;
11141
+ /**
11142
+ * Whether the aspect is applying (planets moving toward exact) or separating (moving apart). Applying aspects grow stronger.
11143
+ */
11144
+ isApplying: boolean;
11145
+ /**
11146
+ * Aspect strength percentage (0-100). Based on orb tightness relative to the allowed maximum.
11147
+ */
11148
+ strength: number;
11149
+ /**
11150
+ * Aspect nature. Harmonious (trine, sextile) flows easily. Challenging (square, opposition) creates tension and growth. Neutral (conjunction) blends energies. Always English, whatever the lang parameter says: it is an identifier consumers switch and style on. Use interpretationLocalized for anything a reader sees.
11151
+ */
11152
+ interpretation: 'harmonious' | 'challenging' | 'neutral';
11153
+ /**
11154
+ * First 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.
11155
+ */
11156
+ planet1Localized?: string;
11157
+ /**
11158
+ * Second 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.
11159
+ */
11160
+ planet2Localized?: string;
11161
+ /**
11162
+ * 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.
11163
+ */
11164
+ typeLocalized?: string;
11165
+ /**
11166
+ * Rich interpretation of the transit aspect: narrative summary, timing, impact assessment, practical guidance, and keywords.
11167
+ */
11168
+ transitInterpretation: {
11169
+ /**
11170
+ * Narrative interpretation of this transit aspect and its life impact.
11171
+ */
11172
+ summary: string;
11173
+ /**
11174
+ * 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.
11175
+ */
11176
+ timing: string;
11177
+ /**
11178
+ * Strength and nature of this transit effect — constructive, challenging, or neutral.
11179
+ */
11180
+ impact: string;
11181
+ /**
11182
+ * Practical advice for working with this transit energy.
11183
+ */
11184
+ guidance: string;
11185
+ /**
11186
+ * Key themes activated by this transit aspect.
11187
+ */
11188
+ keywords: Array<string>;
11189
+ };
11190
+ } | null;
11191
+ /**
11192
+ * Transit aspect counts grouped by aspect type (conjunction, trine, square, opposition, sextile, etc.). Useful for quickly assessing the transit weather.
11193
+ */
11194
+ byType: {
11195
+ [key: string]: number;
11196
+ };
11197
+ };
11198
+ };
11199
+ };
11200
+ export type CalculateTransitAspectsResponse = CalculateTransitAspectsResponses[keyof CalculateTransitAspectsResponses];
11201
+ export type GetMonthlyDeclinationParallelsData = {
11202
+ body?: {
11203
+ /**
11204
+ * Year for the declination calendar (1900-2100). Defaults to the current year (UTC).
11205
+ */
11206
+ year?: number;
11207
+ /**
11208
+ * Month number (1-12). Defaults to the current month (UTC).
11209
+ */
11210
+ month?: number;
11211
+ /**
11212
+ * Timezone offset from UTC in hours. Event dates and times are reported in this zone, which is what makes a published calendar read correctly for its audience. Defaults to 0 (UTC).
11213
+ */
11214
+ timezone?: number | string;
11215
+ /**
11216
+ * How far from exact still counts, in degrees. The traditional orb for a declination contact is tighter than for a zodiacal aspect because declination changes slowly. Defaults to 1.5.
11217
+ */
11218
+ orb?: number;
11219
+ /**
11220
+ * 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 the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. 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".
11221
+ */
11222
+ nodeType?: 'mean' | 'true';
11223
+ };
11224
+ path?: never;
11225
+ query?: {
11226
+ /**
11227
+ * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
11228
+ */
11229
+ lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru';
11230
+ };
11231
+ url: '/astrology/parallels/monthly';
11232
+ };
11233
+ export type GetMonthlyDeclinationParallelsErrors = {
11234
+ /**
11235
+ * Validation error. `issues[]` lists every failed field.
11236
+ */
11237
+ 400: {
11238
+ /**
11239
+ * First issue summary.
11240
+ */
11241
+ error: string;
11242
+ code: 'validation_error';
11243
+ /**
11244
+ * Every validation failure. Use this to rebuild a valid request.
11245
+ */
11246
+ issues: Array<{
11247
+ /**
11248
+ * Dot-separated field path, or "(root)" for top-level.
11249
+ */
11250
+ path: string;
11251
+ message: string;
11252
+ /**
11253
+ * Zod issue code (invalid_type, too_small, too_big, invalid_string, ...).
11254
+ */
11255
+ code?: string;
11256
+ /**
11257
+ * Expected type for invalid_type.
11258
+ */
11259
+ expected?: string;
11260
+ /**
11261
+ * Minimum bound for too_small issues.
11262
+ */
11263
+ minimum?: number | string;
11264
+ /**
11265
+ * Maximum bound for too_big issues.
11266
+ */
11267
+ maximum?: number | string;
11268
+ inclusive?: boolean;
11269
+ /**
11270
+ * Format name for string issues (regex, email, url, uuid).
11271
+ */
11272
+ format?: string;
11273
+ /**
11274
+ * Regex pattern when format is regex.
11275
+ */
11276
+ pattern?: string;
11277
+ }>;
11278
+ };
11279
+ /**
11280
+ * Invalid or missing API key
11281
+ */
11282
+ 401: {
11283
+ /**
11284
+ * Human-readable error message. May change wording.
11285
+ */
11286
+ error: string;
11287
+ /**
11288
+ * Machine-readable error code. Stable identifier.
11289
+ */
11290
+ code: string;
11291
+ };
11292
+ /**
11293
+ * Method not allowed. The path exists but only responds to the methods listed in `allow[]` and the `Allow` response header.
11294
+ */
11295
+ 405: {
11296
+ error: string;
11297
+ code: 'method_not_allowed';
11298
+ /**
11299
+ * Allowed HTTP methods for this path. Mirrors the Allow response header.
11300
+ */
11301
+ allow: Array<string>;
11302
+ /**
11303
+ * Link to the product page for this domain.
11304
+ */
11305
+ docs?: string;
11306
+ };
11307
+ /**
11308
+ * Monthly rate limit exceeded
11309
+ */
11310
+ 429: {
11311
+ /**
11312
+ * Human-readable error message. May change wording.
11313
+ */
11314
+ error: string;
11315
+ /**
11316
+ * Machine-readable error code. Stable identifier.
11317
+ */
11318
+ code: string;
11319
+ };
11320
+ /**
11321
+ * Internal server error
11322
+ */
11323
+ 500: {
11324
+ /**
11325
+ * Human-readable error message. May change wording.
11326
+ */
11327
+ error: string;
11328
+ /**
11329
+ * Machine-readable error code. Stable identifier.
11330
+ */
11331
+ code: string;
11332
+ };
11333
+ };
11334
+ export type GetMonthlyDeclinationParallelsError = GetMonthlyDeclinationParallelsErrors[keyof GetMonthlyDeclinationParallelsErrors];
11335
+ export type GetMonthlyDeclinationParallelsResponses = {
11336
+ /**
11337
+ * Monthly declination calendar calculated successfully
11338
+ */
11339
+ 200: {
11340
+ /**
11341
+ * Year of the calendar. Echoes the year requested, or the current UTC year when it was omitted.
11342
+ */
11343
+ year: number;
11344
+ /**
11345
+ * Month of the calendar. Echoes the month requested, or the current UTC month when it was omitted.
11346
+ */
11347
+ month: number;
11348
+ /**
11349
+ * Timezone the event dates and times are reported in. Echoes the request.
11350
+ */
11351
+ timezone: number;
11352
+ /**
11353
+ * Orb in degrees that was applied. Echoes the request.
11354
+ */
11355
+ orb: number;
11356
+ /**
11357
+ * Every declination contact in the month, in chronological order across all body pairs.
11358
+ */
11359
+ events: Array<{
11360
+ /**
11361
+ * First body in the contact. Always canonical English whatever the lang parameter says, so it stays safe to compare against in code. Use planet1Localized for anything a reader sees.
11362
+ */
11363
+ planet1: string;
11364
+ /**
11365
+ * First body in the requested language. Present only when lang is supplied.
11366
+ */
11367
+ planet1Localized?: string;
11368
+ /**
11369
+ * Second body in the contact. Always canonical English.
11370
+ */
11371
+ planet2: string;
11372
+ /**
11373
+ * Second body in the requested language. Present only when lang is supplied.
11374
+ */
11375
+ planet2Localized?: string;
11376
+ /**
11377
+ * parallel means both bodies stand at the same declination, the same distance north or south of the celestial equator, and reads much like a conjunction. contraparallel means equal and opposite declinations, one as far north as the other is south, and reads much like an opposition. Neither depends on how far apart the two bodies are along the zodiac, which is what makes them worth tracking alongside ordinary aspects.
11378
+ */
11379
+ type: 'parallel' | 'contraparallel';
11380
+ /**
11381
+ * Date the contact is closest to exact, in the requested timezone (YYYY-MM-DD).
11382
+ */
11383
+ date: string;
11384
+ /**
11385
+ * Time the contact is closest to exact, in the requested timezone (HH:MM).
11386
+ */
11387
+ time: string;
11388
+ /**
11389
+ * Combined timestamp of closest approach, in the requested timezone.
11390
+ */
11391
+ datetime: string;
11392
+ /**
11393
+ * Distance from exact in degrees at the reported instant. Effectively zero for a contact that perfects inside the month, and larger only where the pair turns before reaching exact.
11394
+ */
11395
+ orb: number;
11396
+ /**
11397
+ * Geocentric declination of the first body at the reported instant, in degrees. Positive is north of the celestial equator, negative south.
11398
+ */
11399
+ declination1: number;
11400
+ /**
11401
+ * Geocentric declination of the second body at the reported instant, in degrees.
11402
+ */
11403
+ declination2: number;
11404
+ }>;
11405
+ };
11406
+ };
11407
+ export type GetMonthlyDeclinationParallelsResponse = GetMonthlyDeclinationParallelsResponses[keyof GetMonthlyDeclinationParallelsResponses];
11408
+ export type GetPlanetaryNodePassagesData = {
11409
+ body?: {
11410
+ /**
11411
+ * Year to scan for node passages (1900-2100).
11412
+ */
11413
+ year: number;
11414
+ /**
11415
+ * Timezone offset from UTC in hours. Crossing dates and times are reported in this zone. Defaults to 0 (UTC).
11416
+ */
11417
+ timezone?: number | string;
11418
+ };
11419
+ path?: never;
11420
+ query?: {
11421
+ /**
11422
+ * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
11423
+ */
11424
+ lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru';
11425
+ };
11426
+ url: '/astrology/ecliptic-crossings';
11427
+ };
11428
+ export type GetPlanetaryNodePassagesErrors = {
11429
+ /**
11430
+ * Validation error. `issues[]` lists every failed field.
11431
+ */
11432
+ 400: {
11433
+ /**
11434
+ * First issue summary.
11435
+ */
11436
+ error: string;
11437
+ code: 'validation_error';
11438
+ /**
11439
+ * Every validation failure. Use this to rebuild a valid request.
11440
+ */
11441
+ issues: Array<{
11442
+ /**
11443
+ * Dot-separated field path, or "(root)" for top-level.
11444
+ */
11445
+ path: string;
11446
+ message: string;
11447
+ /**
11448
+ * Zod issue code (invalid_type, too_small, too_big, invalid_string, ...).
11449
+ */
11450
+ code?: string;
11451
+ /**
11452
+ * Expected type for invalid_type.
11453
+ */
11454
+ expected?: string;
11455
+ /**
11456
+ * Minimum bound for too_small issues.
11457
+ */
11458
+ minimum?: number | string;
11459
+ /**
11460
+ * Maximum bound for too_big issues.
11461
+ */
11462
+ maximum?: number | string;
11463
+ inclusive?: boolean;
11464
+ /**
11465
+ * Format name for string issues (regex, email, url, uuid).
11466
+ */
11467
+ format?: string;
11468
+ /**
11469
+ * Regex pattern when format is regex.
11470
+ */
11471
+ pattern?: string;
11472
+ }>;
11473
+ };
11474
+ /**
11475
+ * Invalid or missing API key
11476
+ */
11477
+ 401: {
11478
+ /**
11479
+ * Human-readable error message. May change wording.
11480
+ */
11481
+ error: string;
11482
+ /**
11483
+ * Machine-readable error code. Stable identifier.
11484
+ */
11485
+ code: string;
11486
+ };
11487
+ /**
11488
+ * Method not allowed. The path exists but only responds to the methods listed in `allow[]` and the `Allow` response header.
11489
+ */
11490
+ 405: {
11491
+ error: string;
11492
+ code: 'method_not_allowed';
11493
+ /**
11494
+ * Allowed HTTP methods for this path. Mirrors the Allow response header.
11495
+ */
11496
+ allow: Array<string>;
11497
+ /**
11498
+ * Link to the product page for this domain.
11499
+ */
11500
+ docs?: string;
11501
+ };
11502
+ /**
11503
+ * Monthly rate limit exceeded
11504
+ */
11505
+ 429: {
11506
+ /**
11507
+ * Human-readable error message. May change wording.
11508
+ */
11509
+ error: string;
11510
+ /**
11511
+ * Machine-readable error code. Stable identifier.
11512
+ */
11513
+ code: string;
11514
+ };
11515
+ /**
11516
+ * Internal server error
11517
+ */
11518
+ 500: {
11519
+ /**
11520
+ * Human-readable error message. May change wording.
11521
+ */
11522
+ error: string;
11523
+ /**
11524
+ * Machine-readable error code. Stable identifier.
11525
+ */
11526
+ code: string;
11527
+ };
11528
+ };
11529
+ export type GetPlanetaryNodePassagesError = GetPlanetaryNodePassagesErrors[keyof GetPlanetaryNodePassagesErrors];
11530
+ export type GetPlanetaryNodePassagesResponses = {
10432
11531
  /**
10433
- * Transit aspects calculated successfully
11532
+ * Node passages calculated successfully
10434
11533
  */
10435
11534
  200: {
10436
11535
  /**
10437
- * Date and time of the transit calculation.
10438
- */
10439
- transitDate: string;
10440
- /**
10441
- * 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.
10442
- */
10443
- houseSystem: 'placidus' | 'whole-sign' | 'equal' | 'koch';
10444
- /**
10445
- * 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.
11536
+ * Year that was scanned. Echoes the request.
10446
11537
  */
10447
- houses: Array<{
10448
- /**
10449
- * House number (1-12). Each house governs specific life themes in Western astrology.
10450
- */
10451
- number: number;
10452
- /**
10453
- * Ecliptic longitude of this house cusp in degrees (0-360).
10454
- */
10455
- longitude: number;
10456
- /**
10457
- * Zodiac sign on this house cusp. Colors the themes of this life area.
10458
- */
10459
- sign: string;
10460
- /**
10461
- * Degree within the zodiac sign on this cusp (0-29.999).
10462
- */
10463
- degree: number;
10464
- /**
10465
- * 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.
10466
- */
10467
- signLocalized?: string;
10468
- }>;
11538
+ year: number;
10469
11539
  /**
10470
- * 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.
11540
+ * Timezone the dates and times are reported in. Echoes the request.
10471
11541
  */
10472
- ascendant: {
10473
- /**
10474
- * Tropical zodiac sign on the natal Ascendant. Always English, whatever the lang parameter says. Use signLocalized for anything a reader sees.
10475
- */
10476
- sign: string;
10477
- /**
10478
- * 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.
10479
- */
10480
- signLocalized?: string;
10481
- /**
10482
- * Degree within the Ascendant sign (0-29.999).
10483
- */
10484
- degree: number;
10485
- /**
10486
- * Absolute ecliptic longitude of the natal Ascendant in degrees (0-360).
10487
- */
10488
- longitude: number;
10489
- };
11542
+ timezone: number;
10490
11543
  /**
10491
- * 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.
11544
+ * Every node passage in the year, in chronological order across all bodies. The fast bodies dominate: a slow body can go years or decades between node passages, so an absent planet means it did not cross that year rather than that it was not checked.
10492
11545
  */
10493
- transitPlanets: Array<{
10494
- /**
10495
- * 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.
10496
- */
10497
- name: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
10498
- /**
10499
- * Tropical ecliptic longitude in degrees (0-360). Primary coordinate for zodiac sign and aspect calculations.
10500
- */
10501
- longitude: number;
10502
- /**
10503
- * Ecliptic latitude in degrees. Near zero for most planets, varies for the Moon and Pluto, and reaches up to about 5 degrees for Black Moon Lilith (projected from the inclined mean lunar orbit).
10504
- */
10505
- latitude: number;
11546
+ events: Array<{
10506
11547
  /**
10507
- * Tropical zodiac sign this planet occupies. Determined by 30-degree divisions of ecliptic longitude.
11548
+ * Body making the crossing. Always canonical English whatever the lang parameter says, so it stays safe to compare against in code. Use planetLocalized for anything a reader sees.
10508
11549
  */
10509
- sign: string;
10510
- /**
10511
- * Degree within the zodiac sign (0-29.999). Indicates how far the planet has progressed through the sign.
10512
- */
10513
- degree: number;
10514
- /**
10515
- * Natal house (1-12) this transiting body is currently passing through, read against the natal house cusps. This is the life area the transit activates, so it is driven by the natal birth time and location rather than by the transit moment.
10516
- */
10517
- house: number;
11550
+ planet: string;
10518
11551
  /**
10519
- * Daily motion in degrees per day. Negative values indicate retrograde motion.
11552
+ * Body name in the requested language. Present only when lang is supplied.
10520
11553
  */
10521
- speed: number;
11554
+ planetLocalized?: string;
10522
11555
  /**
10523
- * Whether the planet appears to move backward from Earth perspective. Retrograde periods signal review and introspection.
11556
+ * ascending is the crossing from south of the ecliptic to north, at the body north node. descending is the reverse, at its south node.
10524
11557
  */
10525
- isRetrograde: boolean;
11558
+ direction: 'ascending' | 'descending';
10526
11559
  /**
10527
- * 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.
11560
+ * Date of the crossing in the requested timezone (YYYY-MM-DD).
10528
11561
  */
10529
- nameLocalized?: string;
11562
+ date: string;
10530
11563
  /**
10531
- * Zodiac 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.
11564
+ * Time of the crossing in the requested timezone (HH:MM).
10532
11565
  */
10533
- signLocalized?: string;
10534
- }>;
10535
- /**
10536
- * Natal (birth chart) planetary positions used as the baseline for transit aspect comparison, each placed in its natal house.
10537
- */
10538
- natalPlanets: Array<{
11566
+ time: string;
10539
11567
  /**
10540
- * 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.
11568
+ * Combined crossing timestamp in the requested timezone.
10541
11569
  */
10542
- name: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
11570
+ datetime: string;
10543
11571
  /**
10544
- * Tropical ecliptic longitude in degrees (0-360). Primary coordinate for zodiac sign and aspect calculations.
11572
+ * Tropical ecliptic longitude of the body at the crossing, in degrees. This is the only value in the response that depends on the zodiac frame.
10545
11573
  */
10546
11574
  longitude: number;
10547
11575
  /**
10548
- * Ecliptic latitude in degrees. Near zero for most planets, varies for the Moon and Pluto, and reaches up to about 5 degrees for Black Moon Lilith (projected from the inclined mean lunar orbit).
10549
- */
10550
- latitude: number;
10551
- /**
10552
- * Tropical zodiac sign this planet occupies. Determined by 30-degree divisions of ecliptic longitude.
11576
+ * Tropical sign the body occupies at the crossing. Canonical English.
10553
11577
  */
10554
11578
  sign: string;
10555
11579
  /**
10556
- * Degree within the zodiac sign (0-29.999). Indicates how far the planet has progressed through the sign.
10557
- */
10558
- degree: number;
10559
- /**
10560
- * House placement (1-12). Determined by the selected house system and birth location.
10561
- */
10562
- house: number;
10563
- /**
10564
- * Daily motion in degrees per day. Negative values indicate retrograde motion.
10565
- */
10566
- speed: number;
10567
- /**
10568
- * Whether the planet appears to move backward from Earth perspective. Retrograde periods signal review and introspection.
10569
- */
10570
- isRetrograde: boolean;
10571
- /**
10572
- * 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.
10573
- */
10574
- nameLocalized?: string;
10575
- /**
10576
- * Zodiac 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.
11580
+ * Sign in the requested language. Present only when lang is supplied.
10577
11581
  */
10578
11582
  signLocalized?: string;
10579
11583
  }>;
10580
- /**
10581
- * Transit-to-natal aspects with interpretations, strength ratings, and guidance. Each aspect represents a transiting planet forming a geometric angle to a natal planet.
10582
- */
10583
- aspects: Array<{
10584
- /**
10585
- * First planet in the aspect pair.
10586
- */
10587
- planet1: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
10588
- /**
10589
- * Second planet in the aspect pair.
10590
- */
10591
- planet2: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
10592
- /**
10593
- * Aspect type. Major: conjunction (0), opposition (180), trine (120), square (90), sextile (60). Minor: semi-sextile, quincunx, semi-square, sesquiquadrate.
10594
- */
10595
- type: 'CONJUNCTION' | 'OPPOSITION' | 'TRINE' | 'SQUARE' | 'SEXTILE' | 'SEMI_SEXTILE' | 'QUINCUNX' | 'SEMI_SQUARE' | 'SESQUIQUADRATE';
10596
- /**
10597
- * Exact angular separation that defines this aspect type in degrees.
10598
- */
10599
- angle: number;
10600
- /**
10601
- * Deviation from exact aspect in degrees. Tighter orb means stronger influence.
10602
- */
10603
- orb: number;
10604
- /**
10605
- * Whether the aspect is applying (planets moving toward exact) or separating (moving apart). Applying aspects grow stronger.
10606
- */
10607
- isApplying: boolean;
10608
- /**
10609
- * Aspect strength percentage (0-100). Based on orb tightness relative to the allowed maximum.
10610
- */
10611
- strength: number;
10612
- /**
10613
- * Aspect nature. Harmonious (trine, sextile) flows easily. Challenging (square, opposition) creates tension and growth. Neutral (conjunction) blends energies. Always English, whatever the lang parameter says: it is an identifier consumers switch and style on. Use interpretationLocalized for anything a reader sees.
10614
- */
10615
- interpretation: 'harmonious' | 'challenging' | 'neutral';
10616
- /**
10617
- * First 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.
10618
- */
10619
- planet1Localized?: string;
10620
- /**
10621
- * Second 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.
10622
- */
10623
- planet2Localized?: string;
10624
- /**
10625
- * 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.
10626
- */
10627
- typeLocalized?: string;
10628
- /**
10629
- * Rich interpretation of the transit aspect: narrative summary, timing, impact assessment, practical guidance, and keywords.
10630
- */
10631
- transitInterpretation: {
10632
- /**
10633
- * Narrative interpretation of this transit aspect and its life impact.
10634
- */
10635
- summary: string;
10636
- /**
10637
- * 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.
10638
- */
10639
- timing: string;
10640
- /**
10641
- * Strength and nature of this transit effect — constructive, challenging, or neutral.
10642
- */
10643
- impact: string;
10644
- /**
10645
- * Practical advice for working with this transit energy.
10646
- */
10647
- guidance: string;
10648
- /**
10649
- * Key themes activated by this transit aspect.
10650
- */
10651
- keywords: Array<string>;
10652
- };
10653
- }>;
10654
- /**
10655
- * Statistical summary of all transit aspects. The harmonious-to-challenging ratio reveals the overall transit weather — whether the current period favors ease or demands effort.
10656
- */
10657
- summary: {
10658
- /**
10659
- * Total number of transit-to-natal aspects found.
10660
- */
10661
- total: number;
10662
- /**
10663
- * Count of harmonious aspects (trine, sextile). These transits bring ease, flow, and opportunity.
10664
- */
10665
- harmonious: number;
10666
- /**
10667
- * Count of challenging aspects (square, opposition, semi-square, sesquiquadrate). These transits bring tension, growth pressure, and action.
10668
- */
10669
- challenging: number;
10670
- /**
10671
- * Count of neutral aspects (conjunction, minor aspects). Conjunctions blend energies — the outcome depends on the planets involved.
10672
- */
10673
- neutral: number;
10674
- /**
10675
- * The tightest aspect by orb. This is the most potent transit currently active — the one most likely to be felt.
10676
- */
10677
- strongest: {
10678
- /**
10679
- * First planet in the aspect pair.
10680
- */
10681
- planet1: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
10682
- /**
10683
- * Second planet in the aspect pair.
10684
- */
10685
- planet2: 'Sun' | 'Moon' | 'Mercury' | 'Venus' | 'Mars' | 'Jupiter' | 'Saturn' | 'Uranus' | 'Neptune' | 'Pluto' | 'North Node' | 'South Node' | 'Chiron' | 'Black Moon Lilith';
10686
- /**
10687
- * Aspect type. Major: conjunction (0), opposition (180), trine (120), square (90), sextile (60). Minor: semi-sextile, quincunx, semi-square, sesquiquadrate.
10688
- */
10689
- type: 'CONJUNCTION' | 'OPPOSITION' | 'TRINE' | 'SQUARE' | 'SEXTILE' | 'SEMI_SEXTILE' | 'QUINCUNX' | 'SEMI_SQUARE' | 'SESQUIQUADRATE';
10690
- /**
10691
- * Exact angular separation that defines this aspect type in degrees.
10692
- */
10693
- angle: number;
10694
- /**
10695
- * Deviation from exact aspect in degrees. Tighter orb means stronger influence.
10696
- */
10697
- orb: number;
10698
- /**
10699
- * Whether the aspect is applying (planets moving toward exact) or separating (moving apart). Applying aspects grow stronger.
10700
- */
10701
- isApplying: boolean;
10702
- /**
10703
- * Aspect strength percentage (0-100). Based on orb tightness relative to the allowed maximum.
10704
- */
10705
- strength: number;
10706
- /**
10707
- * Aspect nature. Harmonious (trine, sextile) flows easily. Challenging (square, opposition) creates tension and growth. Neutral (conjunction) blends energies. Always English, whatever the lang parameter says: it is an identifier consumers switch and style on. Use interpretationLocalized for anything a reader sees.
10708
- */
10709
- interpretation: 'harmonious' | 'challenging' | 'neutral';
10710
- /**
10711
- * First 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.
10712
- */
10713
- planet1Localized?: string;
10714
- /**
10715
- * Second 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.
10716
- */
10717
- planet2Localized?: string;
10718
- /**
10719
- * 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.
10720
- */
10721
- typeLocalized?: string;
10722
- /**
10723
- * Rich interpretation of the transit aspect: narrative summary, timing, impact assessment, practical guidance, and keywords.
10724
- */
10725
- transitInterpretation: {
10726
- /**
10727
- * Narrative interpretation of this transit aspect and its life impact.
10728
- */
10729
- summary: string;
10730
- /**
10731
- * 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.
10732
- */
10733
- timing: string;
10734
- /**
10735
- * Strength and nature of this transit effect — constructive, challenging, or neutral.
10736
- */
10737
- impact: string;
10738
- /**
10739
- * Practical advice for working with this transit energy.
10740
- */
10741
- guidance: string;
10742
- /**
10743
- * Key themes activated by this transit aspect.
10744
- */
10745
- keywords: Array<string>;
10746
- };
10747
- } | null;
10748
- /**
10749
- * Transit aspect counts grouped by aspect type (conjunction, trine, square, opposition, sextile, etc.). Useful for quickly assessing the transit weather.
10750
- */
10751
- byType: {
10752
- [key: string]: number;
10753
- };
10754
- };
10755
11584
  };
10756
11585
  };
10757
- export type CalculateTransitAspectsResponse = CalculateTransitAspectsResponses[keyof CalculateTransitAspectsResponses];
11586
+ export type GetPlanetaryNodePassagesResponse = GetPlanetaryNodePassagesResponses[keyof GetPlanetaryNodePassagesResponses];
10758
11587
  export type GenerateSolarReturnData = {
10759
11588
  body?: {
10760
11589
  /**
@@ -18820,11 +19649,11 @@ export type GetVedicDailyReadingResponses = {
18820
19649
  */
18821
19650
  areas: {
18822
19651
  /**
18823
- * The finance area: the positive house group 2, 5, 11 netted against the negative group 6, 8, 12, read off the lords of the running dasha, bhukti and antara, because that is the KP rule for when a matter fructifies, plus the natal basis the day is read against. ALWAYS AN OBJECT. Above latitude 66.56 the six netted members are null, because the Placidus cusps behind the significators have no solution there, while natal is still populated because it is a property of the birth chart and needs no cusps; the reading also still carries its gochara, panchanga and dasha and names the omission in degraded. The two house groups are Krishnamurti Paddhati practice, but the NET is a KP practitioner convention rather than a classical operation: the KP sources that carry these groups use them as a promise test and an avoidance test, never as arithmetic. The groups also vary by author, and the 6th house is the live disagreement, since some KP authors place it on the POSITIVE side as service income and salary, the exact opposite of the assignment used here. This is a six house net and it is NOT the focus=finance lens, which re-reads all twelve bhavas in money vocabulary and moves no number. The two are orthogonal and both ship.
19652
+ * The finance area: the positive house group 2, 5, 11 netted against the negative group 6, 8, 12, read off the lords of the running dasha, bhukti and antara, because that is the KP rule for when a matter fructifies, plus the natal basis the day is read against. ALWAYS AN OBJECT. Above latitude 66.56 the six netted members are null, because the Placidus cusps behind the significators have no solution there, while natal is still populated because it is a property of the birth chart and needs no cusps; the reading also still carries its gochara, panchanga and dasha and names the omission in degraded. The two house groups are Krishnamurti Paddhati practice, but the NET is a KP practitioner convention rather than a classical operation: the KP sources that carry these groups use them as a promise test and an avoidance test, never as arithmetic. The groups also vary by author, and TWO houses are live disagreements rather than one. The 6th: some KP authors place it on the POSITIVE side as service income and salary, the exact opposite of the assignment used here. The 5th: it is named as a speculative GAIN house in the same KP sources that elsewhere call it a negation house, reading it as the 12th from the 6th and therefore loss of earning capacity, and both readings appear in one publication. The 1st is treated as a negation house by some authors on the same logic, as the 12th from the 2nd, and is not on either side here. This is a six house net and it is NOT the focus=finance lens, which re-reads all twelve bhavas in money vocabulary and moves no number. The two are orthogonal and both ship.
18824
19653
  */
18825
19654
  finance: {
18826
19655
  /**
18827
- * Share of the running lords six-house connections that land on the positive group, 0 to 100, rounded. A COUNT, so positive and negative below reproduce it in one division: round(positive / (positive + negative) * 100). Zero when the running lords reach none of the six houses, which is an ABSENCE of connection rather than a negative verdict. Null above latitude 66.56, where the Placidus cusps the KP significators are read from have no solution: the question does not apply there rather than the answer being no, so never render it as zero or as a weak verdict. The natal block beside it is unaffected and still ships, and degraded names areas.finance.score. The two house groups are Krishnamurti Paddhati practice, but the NET is a KP practitioner convention rather than a classical operation: the KP sources that carry these groups use them as a promise test and an avoidance test, never as arithmetic. The groups also vary by author, and the 6th house is the live disagreement, since some KP authors place it on the POSITIVE side as service income and salary, the exact opposite of the assignment used here. This is a six house net and it is NOT the focus=finance lens, which re-reads all twelve bhavas in money vocabulary and moves no number. The two are orthogonal and both ship.
19656
+ * Share of the running lords six-house connections that land on the positive group, 0 to 100, rounded. A COUNT, so positive and negative below reproduce it in one division: round(positive / (positive + negative) * 100). Zero when the running lords reach none of the six houses, which is an ABSENCE of connection rather than a negative verdict. Null above latitude 66.56, where the Placidus cusps the KP significators are read from have no solution: the question does not apply there rather than the answer being no, so never render it as zero or as a weak verdict. The natal block beside it is unaffected and still ships, and degraded names areas.finance.score. The two house groups are Krishnamurti Paddhati practice, but the NET is a KP practitioner convention rather than a classical operation: the KP sources that carry these groups use them as a promise test and an avoidance test, never as arithmetic. The groups also vary by author, and TWO houses are live disagreements rather than one. The 6th: some KP authors place it on the POSITIVE side as service income and salary, the exact opposite of the assignment used here. The 5th: it is named as a speculative GAIN house in the same KP sources that elsewhere call it a negation house, reading it as the 12th from the 6th and therefore loss of earning capacity, and both readings appear in one publication. The 1st is treated as a negation house by some authors on the same logic, as the 12th from the 2nd, and is not on either side here. This is a six house net and it is NOT the focus=finance lens, which re-reads all twelve bhavas in money vocabulary and moves no number. The two are orthogonal and both ship.
18828
19657
  */
18829
19658
  score: number | null;
18830
19659
  /**
@@ -35053,7 +35882,7 @@ export type GetCardData = {
35053
35882
  body?: never;
35054
35883
  path: {
35055
35884
  /**
35056
- * Unique card identifier in kebab-case. Major arcana: "fool", "magician", "death", etc. Minor arcana: "ace-of-cups", "seven-of-wands", "queen-of-swords", "king-of-pentacles", etc.
35885
+ * Card identifier. Major arcana: "fool", "magician", "death". Minor arcana: "ace-of-cups", "seven-of-wands", "queen-of-swords", "king-of-pentacles". Casing and separators are flexible, so "Fool" and "ACE_OF_CUPS" both resolve, and a leading definite article is optional, so "the-star" resolves to "star". The canonical form, and the one every response echoes, is kebab-case with no article.
35057
35886
  */
35058
35887
  id: string;
35059
35888
  };
@@ -36638,9 +37467,9 @@ export type GetReadingResponses = {
36638
37467
  */
36639
37468
  rawValue: number;
36640
37469
  /**
36641
- * Current phase of the cycle. One of: peak, high, rising, critical_ascending, critical_descending, falling, low, trough.
37470
+ * Current phase of the cycle. One of: peak, high, rising, critical_ascending, critical_descending, falling, low, trough. Canonical English whatever the lang parameter says, so it stays safe to compare against in code; phaseLabel carries the reader-facing form and IS translated.
36642
37471
  */
36643
- phase: string;
37472
+ phase: 'peak' | 'high' | 'rising' | 'critical_ascending' | 'critical_descending' | 'falling' | 'low' | 'trough';
36644
37473
  /**
36645
37474
  * Human-readable phase name for display in UIs, dashboards, and reports.
36646
37475
  */
@@ -36662,9 +37491,9 @@ export type GetReadingResponses = {
36662
37491
  */
36663
37492
  daysUntilCritical: number;
36664
37493
  /**
36665
- * Short-term direction of the cycle. One of: rising, falling, peaking, bottoming.
37494
+ * Short-term direction of the cycle, which is its SLOPE rather than its band, so it moves independently of phase. One of: rising, falling, peaking, bottoming. Canonical English, like phase.
36666
37495
  */
36667
- trend: string;
37496
+ trend: 'rising' | 'falling' | 'peaking' | 'bottoming';
36668
37497
  /**
36669
37498
  * Editorial 2-3 sentence reading specific to this cycle at its current phase position.
36670
37499
  */
@@ -36676,9 +37505,9 @@ export type GetReadingResponses = {
36676
37505
  */
36677
37506
  energyRating: number;
36678
37507
  /**
36679
- * Summary phase label. One of: high_energy, mixed, recovery, critical.
37508
+ * Summary phase across every cycle for the day. One of: high_energy, mixed, recovery, critical.
36680
37509
  */
36681
- overallPhase: string;
37510
+ overallPhase: 'high_energy' | 'mixed' | 'recovery' | 'critical';
36682
37511
  /**
36683
37512
  * Editorial 3-5 sentence reading combining all cycle states into a coherent daily assessment.
36684
37513
  */
@@ -36694,15 +37523,15 @@ export type GetReadingResponses = {
36694
37523
  /**
36695
37524
  * Which cycle is at or near zero crossing.
36696
37525
  */
36697
- cycle: string;
37526
+ cycle: 'physical' | 'emotional' | 'intellectual' | 'intuitive' | 'aesthetic' | 'awareness' | 'spiritual' | 'passion' | 'mastery' | 'wisdom';
36698
37527
  /**
36699
- * Alert type. zero_crossing when a cycle crosses zero, approaching_critical when within 1 day of zero.
37528
+ * Alert type. One of: zero_crossing. Raised once for the whole critical band, when the cycle sits within 9 points of zero in either direction.
36700
37529
  */
36701
- type: string;
37530
+ type: 'zero_crossing';
36702
37531
  /**
36703
37532
  * Whether the cycle is rising through zero (ascending) or falling through zero (descending).
36704
37533
  */
36705
- direction: string;
37534
+ direction: 'ascending' | 'descending';
36706
37535
  /**
36707
37536
  * Specific advisory text for this critical alert.
36708
37537
  */
@@ -37080,9 +37909,9 @@ export type GetCriticalDaysResponses = {
37080
37909
  */
37081
37910
  date: string;
37082
37911
  /**
37083
- * Which primary cycle crosses zero on this date.
37912
+ * Which primary cycle crosses zero on this date. One of: physical, emotional, intellectual. Only the three primary cycles are scanned; the secondary and composite cycles are not.
37084
37913
  */
37085
- cycle: string;
37914
+ cycle: 'physical' | 'emotional' | 'intellectual';
37086
37915
  /**
37087
37916
  * Cycle period in days.
37088
37917
  */
@@ -37090,11 +37919,11 @@ export type GetCriticalDaysResponses = {
37090
37919
  /**
37091
37920
  * Whether the cycle is rising through zero (ascending) or falling through zero (descending).
37092
37921
  */
37093
- direction: string;
37922
+ direction: 'ascending' | 'descending';
37094
37923
  /**
37095
- * How many primary cycles are critical on this date. single, double, or triple.
37924
+ * How many primary cycles are critical on this date. One of: single, double, triple.
37096
37925
  */
37097
- severity: string;
37926
+ severity: 'single' | 'double' | 'triple';
37098
37927
  /**
37099
37928
  * Advisory text explaining the significance of this critical day and recommended precautions.
37100
37929
  */
@@ -37292,9 +38121,9 @@ export type CalculateBioCompatibilityResponses = {
37292
38121
  */
37293
38122
  alignment: number;
37294
38123
  /**
37295
- * Alignment phase. One of: in_sync, complementary, neutral, opposing.
38124
+ * How the two people's cycles sit against each other. One of: in_sync, complementary, neutral, opposing. This is a PAIR alignment and shares no values with the single-person cycle phase.
37296
38125
  */
37297
- phase: string;
38126
+ phase: 'in_sync' | 'complementary' | 'neutral' | 'opposing';
37298
38127
  /**
37299
38128
  * Human-readable description of how this cycle alignment affects the relationship.
37300
38129
  */
@@ -37481,7 +38310,7 @@ export type GetPhasesResponses = {
37481
38310
  /**
37482
38311
  * Current phase identifier.
37483
38312
  */
37484
- phase: string;
38313
+ phase: 'peak' | 'high' | 'rising' | 'critical_ascending' | 'critical_descending' | 'falling' | 'low' | 'trough';
37485
38314
  /**
37486
38315
  * Human-readable phase label.
37487
38316
  */
@@ -37501,7 +38330,7 @@ export type GetPhasesResponses = {
37501
38330
  /**
37502
38331
  * Short-term direction: rising, falling, peaking, or bottoming.
37503
38332
  */
37504
- trend: string;
38333
+ trend: 'rising' | 'falling' | 'peaking' | 'bottoming';
37505
38334
  };
37506
38335
  };
37507
38336
  /**
@@ -37651,14 +38480,14 @@ export type GetDailyBiorhythmResponses = {
37651
38480
  */
37652
38481
  energyRating: number;
37653
38482
  /**
37654
- * Summary phase. One of: high_energy, mixed, recovery, critical.
38483
+ * Summary phase across every cycle for the day. One of: high_energy, mixed, recovery, critical.
37655
38484
  */
37656
- overallPhase: string;
38485
+ overallPhase: 'high_energy' | 'mixed' | 'recovery' | 'critical';
37657
38486
  spotlight: {
37658
38487
  /**
37659
- * Which primary cycle is featured as the daily spotlight.
38488
+ * Which primary cycle is featured as the daily spotlight. One of: physical, emotional, intellectual.
37660
38489
  */
37661
- cycle: string;
38490
+ cycle: 'physical' | 'emotional' | 'intellectual';
37662
38491
  /**
37663
38492
  * Current value of the spotlight cycle (-100 to 100).
37664
38493
  */
@@ -37666,7 +38495,7 @@ export type GetDailyBiorhythmResponses = {
37666
38495
  /**
37667
38496
  * Current phase of the spotlight cycle.
37668
38497
  */
37669
- phase: string;
38498
+ phase: 'peak' | 'high' | 'rising' | 'critical_ascending' | 'critical_descending' | 'falling' | 'low' | 'trough';
37670
38499
  /**
37671
38500
  * Personalized message about the spotlight cycle and what it means for today.
37672
38501
  */
@@ -43322,7 +44151,7 @@ export type GetUsageStatsResponses = {
43322
44151
  */
43323
44152
  plan: string;
43324
44153
  /**
43325
- * Billable requests counted against the current calendar month. Read from the same counter the rate limiter enforces on, so it never reports a rosier number than the limit that will 429 you. Cached responses still count.
44154
+ * Billable requests counted against the current calendar month. The quota window is the UTC calendar month and resets on the 1st at 12:00 AM UTC, never on your renewal date, so an annual plan refills every month and a plan bought mid month still refills on the 1st. Read from the same counter the rate limiter enforces on, so it never reports a rosier number than the limit that will 429 you. Cached responses still count.
43326
44155
  */
43327
44156
  usedThisMonth: number;
43328
44157
  /**
@@ -43330,7 +44159,7 @@ export type GetUsageStatsResponses = {
43330
44159
  */
43331
44160
  requestsPerMonth: number;
43332
44161
  /**
43333
- * Requests left before the monthly allowance is exhausted, floored at zero. Equal to requestsPerMonth minus usedThisMonth.
44162
+ * Requests left before the monthly allowance is exhausted, floored at zero. Equal to requestsPerMonth minus usedThisMonth. Refills at the calendar month rollover, whose exact instant every API response carries as a Unix timestamp in the X-RateLimit-Reset header.
43334
44163
  */
43335
44164
  remainingThisMonth: number;
43336
44165
  /**
@@ -43342,7 +44171,7 @@ export type GetUsageStatsResponses = {
43342
44171
  */
43343
44172
  status: string;
43344
44173
  /**
43345
- * ISO 8601 timestamp when the current billing period ends. A renewal extends this date in place. API access survives a cancelled or suspended status until this moment passes.
44174
+ * ISO 8601 timestamp when the current billing period ends. A renewal extends this date in place. API access survives a cancelled or suspended status until this moment passes. This is a BILLING date, not a quota date: the monthly allowance resets on the 1st of each month independently of it.
43346
44175
  */
43347
44176
  endDate: string;
43348
44177
  };