@roxyapi/sdk 1.2.70 → 1.2.72

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.
package/src/types.gen.ts CHANGED
@@ -13677,11 +13677,48 @@ export type GetAstrologyHoroscopeBySignDailyResponses = {
13677
13677
  */
13678
13678
  advice: string;
13679
13679
  /**
13680
- * Lucky number for the day.
13680
+ * The full column for this period, ready to run as one piece, with paragraphs separated by a blank line. Names the events driving it and the dates they fall on, read into the whole-sign houses of this sign. Typically 120 to 180 words. The six section fields are the same reading split by topic, so render either shape and never both. Deterministic: the same sign and period always returns the same column.
13681
+ */
13682
+ column: string;
13683
+ /**
13684
+ * The dated astronomical events this reading is built on, earliest first. Every field in every row can be checked against an independent authority, so a column can be fact-checked before it is published. Empty on a period in which nothing exact happens, where the reading falls back to the standing positions instead.
13685
+ */
13686
+ events: Array<{
13687
+ /**
13688
+ * Kind of event. aspect is an exact angle between two moving bodies, sign-ingress a body entering a new sign, retrograde-station a body turning retrograde or direct, lunar-phase one of the four quarters, eclipse a solar or lunar eclipse, and solar-season the Sun entering a sign.
13689
+ */
13690
+ type: 'aspect' | 'sign-ingress' | 'retrograde-station' | 'lunar-phase' | 'eclipse' | 'solar-season';
13691
+ /**
13692
+ * Exact instant the event perfects, UTC, to the second. Verifiable against NASA JPL Horizons for a position event and against the US Naval Observatory for a lunar phase or eclipse.
13693
+ */
13694
+ at: string;
13695
+ /**
13696
+ * Bodies involved, canonical English regardless of the requested language so the value stays safe to switch on. Two entries for an aspect, faster body first. One entry for an ingress, a station, a lunar phase, or an eclipse.
13697
+ */
13698
+ bodies: Array<string>;
13699
+ /**
13700
+ * Angle formed, on aspect events only: conjunction, sextile, square, trine, opposition, semi-sextile, quincunx, semi-square, or sesquiquadrate.
13701
+ */
13702
+ aspect?: string;
13703
+ /**
13704
+ * Sign the event falls in, lowercase, where it has exactly one. Absent for an aspect whose two bodies stand in different signs.
13705
+ */
13706
+ sign?: string;
13707
+ /**
13708
+ * Whole-sign house the event falls in, counted from the queried sign, 1 to 12. This is what turns one global sky event into a statement about this reader.
13709
+ */
13710
+ house: number;
13711
+ /**
13712
+ * End of the window this event holds open, UTC, given only where a bounded window is a real fact about it: the orb span of an aspect, the sign span of an ingress or a season, the retrograde span of a station. Absent for a lunar phase or an eclipse, which are instants and not spans.
13713
+ */
13714
+ through?: string;
13715
+ }>;
13716
+ /**
13717
+ * Lucky number for the day, 1 to 9, from the traditional planetary number correspondence applied to the planet that governs this sign today. Not a random draw and not a function of the date.
13681
13718
  */
13682
13719
  luckyNumber: number;
13683
13720
  /**
13684
- * Lucky color for the day, derived from the sign element.
13721
+ * Lucky color for the day, drawn from the three colors of the sign element and selected by the planet governing the reading.
13685
13722
  */
13686
13723
  luckyColor: string;
13687
13724
  /**
@@ -13701,7 +13738,7 @@ export type GetAstrologyHoroscopeBySignDailyResponses = {
13701
13738
  */
13702
13739
  moonPhase: string;
13703
13740
  /**
13704
- * Overall energy intensity for this sign today (1-10). Higher when more transits activate this sign directly. Useful for content widgets and visual indicators.
13741
+ * Overall energy for this sign today (1-10). Derived from how many aspects are in force between the planets, how tight they are, whether they are harmonious or challenging, and which houses they fall in for this sign, so a busy day rates higher than a quiet one and a harmonious day higher than a hostile one of the same weight. Useful for content widgets and visual indicators.
13705
13742
  */
13706
13743
  energyRating: number;
13707
13744
  };
@@ -13876,11 +13913,48 @@ export type GetAstrologyHoroscopeBySignWeeklyResponses = {
13876
13913
  */
13877
13914
  advice: string;
13878
13915
  /**
13879
- * Favorable days this week, based on planetary rulership.
13916
+ * The full column for this period, ready to run as one piece, with paragraphs separated by a blank line. Names the events driving it and the dates they fall on, read into the whole-sign houses of this sign. Typically 250 to 450 words. The six section fields are the same reading split by topic, so render either shape and never both. Deterministic: the same sign and period always returns the same column.
13917
+ */
13918
+ column: string;
13919
+ /**
13920
+ * The dated astronomical events this reading is built on, earliest first. Every field in every row can be checked against an independent authority, so a column can be fact-checked before it is published. Empty on a period in which nothing exact happens, where the reading falls back to the standing positions instead.
13921
+ */
13922
+ events: Array<{
13923
+ /**
13924
+ * Kind of event. aspect is an exact angle between two moving bodies, sign-ingress a body entering a new sign, retrograde-station a body turning retrograde or direct, lunar-phase one of the four quarters, eclipse a solar or lunar eclipse, and solar-season the Sun entering a sign.
13925
+ */
13926
+ type: 'aspect' | 'sign-ingress' | 'retrograde-station' | 'lunar-phase' | 'eclipse' | 'solar-season';
13927
+ /**
13928
+ * Exact instant the event perfects, UTC, to the second. Verifiable against NASA JPL Horizons for a position event and against the US Naval Observatory for a lunar phase or eclipse.
13929
+ */
13930
+ at: string;
13931
+ /**
13932
+ * Bodies involved, canonical English regardless of the requested language so the value stays safe to switch on. Two entries for an aspect, faster body first. One entry for an ingress, a station, a lunar phase, or an eclipse.
13933
+ */
13934
+ bodies: Array<string>;
13935
+ /**
13936
+ * Angle formed, on aspect events only: conjunction, sextile, square, trine, opposition, semi-sextile, quincunx, semi-square, or sesquiquadrate.
13937
+ */
13938
+ aspect?: string;
13939
+ /**
13940
+ * Sign the event falls in, lowercase, where it has exactly one. Absent for an aspect whose two bodies stand in different signs.
13941
+ */
13942
+ sign?: string;
13943
+ /**
13944
+ * Whole-sign house the event falls in, counted from the queried sign, 1 to 12. This is what turns one global sky event into a statement about this reader.
13945
+ */
13946
+ house: number;
13947
+ /**
13948
+ * End of the window this event holds open, UTC, given only where a bounded window is a real fact about it: the orb span of an aspect, the sign span of an ingress or a season, the retrograde span of a station. Absent for a lunar phase or an eclipse, which are instants and not spans.
13949
+ */
13950
+ through?: string;
13951
+ }>;
13952
+ /**
13953
+ * The three most favorable days this week, from the planetary rulers of the seven weekdays, ranked by how strongly each of those planets stands for this sign.
13880
13954
  */
13881
13955
  luckyDays: Array<string>;
13882
13956
  /**
13883
- * Lucky numbers for the week.
13957
+ * Three lucky numbers for the week, each 1 to 9 and all distinct, from the traditional planetary number correspondence applied to the three planets that govern this sign this week.
13884
13958
  */
13885
13959
  luckyNumbers: Array<number>;
13886
13960
  /**
@@ -14058,6 +14132,43 @@ export type GetAstrologyHoroscopeBySignMonthlyResponses = {
14058
14132
  * Actionable guidance for the month as a whole, derived from the Mercury house activation for this sign. Distinct from the per-week advice inside weekByWeek: this is the single takeaway for the month.
14059
14133
  */
14060
14134
  advice: string;
14135
+ /**
14136
+ * The full column for this period, ready to run as one piece, with paragraphs separated by a blank line. Names the events driving it and the dates they fall on, read into the whole-sign houses of this sign. Typically 400 to 700 words. The six section fields are the same reading split by topic, so render either shape and never both. Deterministic: the same sign and period always returns the same column.
14137
+ */
14138
+ column: string;
14139
+ /**
14140
+ * The dated astronomical events this reading is built on, earliest first. Every field in every row can be checked against an independent authority, so a column can be fact-checked before it is published. Empty on a period in which nothing exact happens, where the reading falls back to the standing positions instead.
14141
+ */
14142
+ events: Array<{
14143
+ /**
14144
+ * Kind of event. aspect is an exact angle between two moving bodies, sign-ingress a body entering a new sign, retrograde-station a body turning retrograde or direct, lunar-phase one of the four quarters, eclipse a solar or lunar eclipse, and solar-season the Sun entering a sign.
14145
+ */
14146
+ type: 'aspect' | 'sign-ingress' | 'retrograde-station' | 'lunar-phase' | 'eclipse' | 'solar-season';
14147
+ /**
14148
+ * Exact instant the event perfects, UTC, to the second. Verifiable against NASA JPL Horizons for a position event and against the US Naval Observatory for a lunar phase or eclipse.
14149
+ */
14150
+ at: string;
14151
+ /**
14152
+ * Bodies involved, canonical English regardless of the requested language so the value stays safe to switch on. Two entries for an aspect, faster body first. One entry for an ingress, a station, a lunar phase, or an eclipse.
14153
+ */
14154
+ bodies: Array<string>;
14155
+ /**
14156
+ * Angle formed, on aspect events only: conjunction, sextile, square, trine, opposition, semi-sextile, quincunx, semi-square, or sesquiquadrate.
14157
+ */
14158
+ aspect?: string;
14159
+ /**
14160
+ * Sign the event falls in, lowercase, where it has exactly one. Absent for an aspect whose two bodies stand in different signs.
14161
+ */
14162
+ sign?: string;
14163
+ /**
14164
+ * Whole-sign house the event falls in, counted from the queried sign, 1 to 12. This is what turns one global sky event into a statement about this reader.
14165
+ */
14166
+ house: number;
14167
+ /**
14168
+ * End of the window this event holds open, UTC, given only where a bounded window is a real fact about it: the orb span of an aspect, the sign span of an ingress or a season, the retrograde span of a station. Absent for a lunar phase or an eclipse, which are instants and not spans.
14169
+ */
14170
+ through?: string;
14171
+ }>;
14061
14172
  /**
14062
14173
  * Week-by-week breakdown with sign-specific focus areas based on transit house positions.
14063
14174
  */
@@ -14089,11 +14200,11 @@ export type GetAstrologyHoroscopeBySignMonthlyResponses = {
14089
14200
  event: string;
14090
14201
  }>;
14091
14202
  /**
14092
- * Lucky numbers for the month.
14203
+ * Four lucky numbers for the month, each 1 to 9 and all distinct, from the traditional planetary number correspondence applied to the four planets that govern this sign this month.
14093
14204
  */
14094
14205
  luckyNumbers: Array<number>;
14095
14206
  /**
14096
- * Lucky color for the month.
14207
+ * Lucky color for the month, drawn from the three colors of the sign element and selected by the planet governing the reading.
14097
14208
  */
14098
14209
  luckyColor: string;
14099
14210
  /**
@@ -14105,6 +14216,399 @@ export type GetAstrologyHoroscopeBySignMonthlyResponses = {
14105
14216
 
14106
14217
  export type GetAstrologyHoroscopeBySignMonthlyResponse = GetAstrologyHoroscopeBySignMonthlyResponses[keyof GetAstrologyHoroscopeBySignMonthlyResponses];
14107
14218
 
14219
+ export type GetAstrologyHoroscopeBySignYearlyData = {
14220
+ body?: never;
14221
+ path: {
14222
+ /**
14223
+ * Zodiac sign, case-insensitive (e.g., aries, Aries, ARIES all work).
14224
+ */
14225
+ sign: 'aries' | 'taurus' | 'gemini' | 'cancer' | 'leo' | 'virgo' | 'libra' | 'scorpio' | 'sagittarius' | 'capricorn' | 'aquarius' | 'pisces';
14226
+ };
14227
+ query?: {
14228
+ /**
14229
+ * Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.
14230
+ */
14231
+ lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru' | 'zh-Hans' | 'zh-Hant';
14232
+ /**
14233
+ * Calendar year to forecast, 1900 to 2100. Defaults to the current year in the timezone parameter.
14234
+ */
14235
+ year?: number;
14236
+ /**
14237
+ * Selects which year counts as current when year is omitted. Defaults to UTC, so the forecast rolls over at 00:00 UTC on January 1. Pass the timezone of the end user to roll over on their local clock instead. Ignored when year is set. Accepts an IANA name (e.g. "America/New_York"), decimal hours (e.g. 5.5 for IST), or a fixed UTC offset (e.g. "-05:00").
14238
+ */
14239
+ timezone?: string;
14240
+ };
14241
+ url: '/astrology/horoscope/{sign}/yearly';
14242
+ };
14243
+
14244
+ export type GetAstrologyHoroscopeBySignYearlyErrors = {
14245
+ /**
14246
+ * Validation error. `issues[]` lists every failed field.
14247
+ */
14248
+ 400: {
14249
+ /**
14250
+ * First issue summary.
14251
+ */
14252
+ error: string;
14253
+ code: 'validation_error';
14254
+ /**
14255
+ * Every validation failure. Use this to rebuild a valid request.
14256
+ */
14257
+ issues: Array<{
14258
+ /**
14259
+ * Dot-separated field path, or "(root)" for top-level.
14260
+ */
14261
+ path: string;
14262
+ message: string;
14263
+ /**
14264
+ * Zod issue code (invalid_type, too_small, too_big, invalid_string, ...).
14265
+ */
14266
+ code?: string;
14267
+ /**
14268
+ * Expected type for invalid_type.
14269
+ */
14270
+ expected?: string;
14271
+ /**
14272
+ * Minimum bound for too_small issues.
14273
+ */
14274
+ minimum?: number | string;
14275
+ /**
14276
+ * Maximum bound for too_big issues.
14277
+ */
14278
+ maximum?: number | string;
14279
+ inclusive?: boolean;
14280
+ /**
14281
+ * Format name for string issues (regex, email, url, uuid).
14282
+ */
14283
+ format?: string;
14284
+ /**
14285
+ * Regex pattern when format is regex.
14286
+ */
14287
+ pattern?: string;
14288
+ }>;
14289
+ };
14290
+ /**
14291
+ * Invalid or missing API key
14292
+ */
14293
+ 401: {
14294
+ /**
14295
+ * Human-readable error message. May change wording.
14296
+ */
14297
+ error: string;
14298
+ /**
14299
+ * Machine-readable error code. Stable identifier.
14300
+ */
14301
+ code: string;
14302
+ };
14303
+ /**
14304
+ * Method not allowed. The path exists but only responds to the methods listed in `allow[]` and the `Allow` response header.
14305
+ */
14306
+ 405: {
14307
+ error: string;
14308
+ code: 'method_not_allowed';
14309
+ /**
14310
+ * Allowed HTTP methods for this path. Mirrors the Allow response header.
14311
+ */
14312
+ allow: Array<string>;
14313
+ /**
14314
+ * Link to the product page for this domain.
14315
+ */
14316
+ docs?: string;
14317
+ };
14318
+ /**
14319
+ * Monthly rate limit exceeded
14320
+ */
14321
+ 429: {
14322
+ /**
14323
+ * Human-readable error message. May change wording.
14324
+ */
14325
+ error: string;
14326
+ /**
14327
+ * Machine-readable error code. Stable identifier.
14328
+ */
14329
+ code: string;
14330
+ };
14331
+ /**
14332
+ * Internal server error
14333
+ */
14334
+ 500: {
14335
+ /**
14336
+ * Human-readable error message. May change wording.
14337
+ */
14338
+ error: string;
14339
+ /**
14340
+ * Machine-readable error code. Stable identifier.
14341
+ */
14342
+ code: string;
14343
+ };
14344
+ };
14345
+
14346
+ export type GetAstrologyHoroscopeBySignYearlyError = GetAstrologyHoroscopeBySignYearlyErrors[keyof GetAstrologyHoroscopeBySignYearlyErrors];
14347
+
14348
+ export type GetAstrologyHoroscopeBySignYearlyResponses = {
14349
+ /**
14350
+ * Yearly horoscope retrieved successfully
14351
+ */
14352
+ 200: {
14353
+ /**
14354
+ * Zodiac sign for this horoscope.
14355
+ */
14356
+ sign: string;
14357
+ /**
14358
+ * Calendar year this forecast covers. Echoes the year requested, or the current year when it was omitted.
14359
+ */
14360
+ year: number;
14361
+ /**
14362
+ * Yearly overview, led by the single event with the most weight for this sign across the whole year.
14363
+ */
14364
+ overview: string;
14365
+ /**
14366
+ * Yearly love and relationship outlook.
14367
+ */
14368
+ love: string;
14369
+ /**
14370
+ * Yearly career and professional outlook.
14371
+ */
14372
+ career: string;
14373
+ /**
14374
+ * Yearly health, energy, and wellness outlook.
14375
+ */
14376
+ health: string;
14377
+ /**
14378
+ * Yearly financial outlook.
14379
+ */
14380
+ finance: string;
14381
+ /**
14382
+ * The single takeaway for the year, drawn from the event that leads it rather than stated in general terms.
14383
+ */
14384
+ advice: string;
14385
+ /**
14386
+ * The full column for this period, ready to run as one piece, with paragraphs separated by a blank line. Names the events driving it and the dates they fall on, read into the whole-sign houses of this sign. Typically 600 to 900 words. The six section fields are the same reading split by topic, so render either shape and never both. Deterministic: the same sign and period always returns the same column.
14387
+ */
14388
+ column: string;
14389
+ /**
14390
+ * The dated astronomical events this reading is built on, earliest first. Every field in every row can be checked against an independent authority, so a column can be fact-checked before it is published. Empty on a period in which nothing exact happens, where the reading falls back to the standing positions instead.
14391
+ */
14392
+ events: Array<{
14393
+ /**
14394
+ * Kind of event. aspect is an exact angle between two moving bodies, sign-ingress a body entering a new sign, retrograde-station a body turning retrograde or direct, lunar-phase one of the four quarters, eclipse a solar or lunar eclipse, and solar-season the Sun entering a sign.
14395
+ */
14396
+ type: 'aspect' | 'sign-ingress' | 'retrograde-station' | 'lunar-phase' | 'eclipse' | 'solar-season';
14397
+ /**
14398
+ * Exact instant the event perfects, UTC, to the second. Verifiable against NASA JPL Horizons for a position event and against the US Naval Observatory for a lunar phase or eclipse.
14399
+ */
14400
+ at: string;
14401
+ /**
14402
+ * Bodies involved, canonical English regardless of the requested language so the value stays safe to switch on. Two entries for an aspect, faster body first. One entry for an ingress, a station, a lunar phase, or an eclipse.
14403
+ */
14404
+ bodies: Array<string>;
14405
+ /**
14406
+ * Angle formed, on aspect events only: conjunction, sextile, square, trine, opposition, semi-sextile, quincunx, semi-square, or sesquiquadrate.
14407
+ */
14408
+ aspect?: string;
14409
+ /**
14410
+ * Sign the event falls in, lowercase, where it has exactly one. Absent for an aspect whose two bodies stand in different signs.
14411
+ */
14412
+ sign?: string;
14413
+ /**
14414
+ * Whole-sign house the event falls in, counted from the queried sign, 1 to 12. This is what turns one global sky event into a statement about this reader.
14415
+ */
14416
+ house: number;
14417
+ /**
14418
+ * End of the window this event holds open, UTC, given only where a bounded window is a real fact about it: the orb span of an aspect, the sign span of an ingress or a season, the retrograde span of a station. Absent for a lunar phase or an eclipse, which are instants and not spans.
14419
+ */
14420
+ through?: string;
14421
+ }>;
14422
+ /**
14423
+ * The backdrop of the year: which whole-sign house each slow-moving body occupies for this sign, Jupiter first and Pluto last. One row per unbroken stretch, so a body that stays put is a single row spanning the year and a body that changes sign is two rows with the exact date between them. Dates are the part of the stretch that falls inside this year; the full span of a change that happens inside the year is in the events array. Use it for the year-at-a-glance panel a year-ahead page opens with.
14424
+ */
14425
+ themes: Array<{
14426
+ /**
14427
+ * The slow-moving body holding this theme, canonical English regardless of the requested language: Jupiter, Saturn, Uranus, Neptune, or Pluto.
14428
+ */
14429
+ body: string;
14430
+ /**
14431
+ * Sign the body occupies through this stretch, lowercase. Checkable against NASA JPL Horizons for any date inside from and to.
14432
+ */
14433
+ sign: string;
14434
+ /**
14435
+ * Whole-sign house that sign is for this sign, 1 to 12.
14436
+ */
14437
+ house: number;
14438
+ /**
14439
+ * What that house governs, so the placement reads as a life area rather than a coordinate.
14440
+ */
14441
+ theme: string;
14442
+ /**
14443
+ * First date of the stretch inside this year, in UTC (YYYY-MM-DD). January 1 when the body was already there when the year opened, otherwise the date it arrived.
14444
+ */
14445
+ from: string;
14446
+ /**
14447
+ * Last date of the stretch inside this year, in UTC (YYYY-MM-DD). December 31 when the body is still there when the year closes, otherwise the date it leaves.
14448
+ */
14449
+ to: string;
14450
+ }>;
14451
+ /**
14452
+ * Every solar and lunar eclipse of the year, with the house each one falls in for this sign. Usually four to six, and the dates match the published eclipse canon.
14453
+ */
14454
+ eclipses: Array<{
14455
+ /**
14456
+ * Date of the eclipse peak in UTC (YYYY-MM-DD). The exact instant is in the events array.
14457
+ */
14458
+ date: string;
14459
+ /**
14460
+ * Eclipse kind: total, annular, partial, or penumbral.
14461
+ */
14462
+ kind: string;
14463
+ /**
14464
+ * Whole-sign house the eclipse falls in for this sign, 1 to 12.
14465
+ */
14466
+ house: number;
14467
+ /**
14468
+ * What that house governs, so the eclipse reads as a life area rather than a coordinate.
14469
+ */
14470
+ theme: string;
14471
+ }>;
14472
+ /**
14473
+ * Every retrograde and direct station of the year, in order, with the house each falls in for this sign. Drives review windows and the not-yet warnings a yearly column is bought for.
14474
+ */
14475
+ retrogrades: Array<{
14476
+ /**
14477
+ * Date the body turns, in UTC (YYYY-MM-DD). The exact instant is in the events array.
14478
+ */
14479
+ date: string;
14480
+ /**
14481
+ * Body making the station, canonical English.
14482
+ */
14483
+ body: string;
14484
+ /**
14485
+ * Which way it turns: retrograde when apparent motion reverses, direct when it resumes.
14486
+ */
14487
+ direction: string;
14488
+ /**
14489
+ * Whole-sign house the station falls in for this sign, 1 to 12.
14490
+ */
14491
+ house: number;
14492
+ /**
14493
+ * What that house governs, so the station reads as a life area rather than a coordinate.
14494
+ */
14495
+ theme: string;
14496
+ }>;
14497
+ /**
14498
+ * The year as a calendar of life areas: for each whole-sign house, the single dated stretch that most strongly activates it, ordered by start date. Twelve rows in a full year, one per house, so every life area gets a date range and none is named twice. Periods overlap freely, because more than one body is always moving. Use it for the dates-to-circle panel of a year-ahead page.
14499
+ */
14500
+ keyPeriods: Array<{
14501
+ /**
14502
+ * Date the period opens, in UTC (YYYY-MM-DD). Always inside the year requested: this is the day the body enters the sign.
14503
+ */
14504
+ from: string;
14505
+ /**
14506
+ * Date the period closes, in UTC (YYYY-MM-DD), which is the day the body leaves that sign. A period that opens late in the year closes in the next one, by at most about three months, so a reader knows what they are still in on January 1.
14507
+ */
14508
+ to: string;
14509
+ /**
14510
+ * Body driving the period, canonical English regardless of the requested language: Mercury, Venus, or Mars. The slower bodies are in the themes array instead, because a stretch measured in years is a backdrop rather than a date to circle.
14511
+ */
14512
+ body: string;
14513
+ /**
14514
+ * Whole-sign house the period activates for this sign, 1 to 12. Unique within the array: each house appears at most once.
14515
+ */
14516
+ house: number;
14517
+ /**
14518
+ * The life area that period is about, from the house it activates.
14519
+ */
14520
+ focus: string;
14521
+ }>;
14522
+ /**
14523
+ * The easiest month of the year for each of the four topic sections, by how many exact harmonious aspects (sextiles and trines) fall in that month and land in the houses that govern the area for this sign. An area is omitted only in the rare year that carries no harmonious aspect for it at all, so treat each key as optional. Use it for the best-months-for panel, and read the count as the evidence behind the word best.
14524
+ */
14525
+ bestPeriods: {
14526
+ /**
14527
+ * Best month for romance and partnership. Absent only if the whole year carries no harmonious aspect reaching this area.
14528
+ */
14529
+ love?: {
14530
+ /**
14531
+ * First day of the month, in UTC (YYYY-MM-DD).
14532
+ */
14533
+ from: string;
14534
+ /**
14535
+ * Last day of the month, in UTC (YYYY-MM-DD).
14536
+ */
14537
+ to: string;
14538
+ /**
14539
+ * How many exact harmonious aspects fell in that month and reached this area. This is the measurement the month was chosen on, and every aspect behind it can be checked against NASA JPL Horizons.
14540
+ */
14541
+ count: number;
14542
+ };
14543
+ /**
14544
+ * Best month for career, work and reputation. Absent only if the whole year carries no harmonious aspect reaching this area.
14545
+ */
14546
+ career?: {
14547
+ /**
14548
+ * First day of the month, in UTC (YYYY-MM-DD).
14549
+ */
14550
+ from: string;
14551
+ /**
14552
+ * Last day of the month, in UTC (YYYY-MM-DD).
14553
+ */
14554
+ to: string;
14555
+ /**
14556
+ * How many exact harmonious aspects fell in that month and reached this area. This is the measurement the month was chosen on, and every aspect behind it can be checked against NASA JPL Horizons.
14557
+ */
14558
+ count: number;
14559
+ };
14560
+ /**
14561
+ * Best month for health. Absent only if the whole year carries no harmonious aspect reaching this area.
14562
+ */
14563
+ health?: {
14564
+ /**
14565
+ * First day of the month, in UTC (YYYY-MM-DD).
14566
+ */
14567
+ from: string;
14568
+ /**
14569
+ * Last day of the month, in UTC (YYYY-MM-DD).
14570
+ */
14571
+ to: string;
14572
+ /**
14573
+ * How many exact harmonious aspects fell in that month and reached this area. This is the measurement the month was chosen on, and every aspect behind it can be checked against NASA JPL Horizons.
14574
+ */
14575
+ count: number;
14576
+ };
14577
+ /**
14578
+ * Best month for finance. Absent only if the whole year carries no harmonious aspect reaching this area.
14579
+ */
14580
+ finance?: {
14581
+ /**
14582
+ * First day of the month, in UTC (YYYY-MM-DD).
14583
+ */
14584
+ from: string;
14585
+ /**
14586
+ * Last day of the month, in UTC (YYYY-MM-DD).
14587
+ */
14588
+ to: string;
14589
+ /**
14590
+ * How many exact harmonious aspects fell in that month and reached this area. This is the measurement the month was chosen on, and every aspect behind it can be checked against NASA JPL Horizons.
14591
+ */
14592
+ count: number;
14593
+ };
14594
+ };
14595
+ /**
14596
+ * Four lucky numbers for the year, each 1 to 9 and all distinct, from the traditional planetary number correspondence applied to the four planets that govern this sign this year.
14597
+ */
14598
+ luckyNumbers: Array<number>;
14599
+ /**
14600
+ * Lucky color for the year, drawn from the three colors of the sign element and selected by the planet governing the reading.
14601
+ */
14602
+ luckyColor: string;
14603
+ /**
14604
+ * Most compatible zodiac signs for this sign. Trine partners (same element) followed by a sextile partner (complementary element).
14605
+ */
14606
+ compatibleSigns: Array<string>;
14607
+ };
14608
+ };
14609
+
14610
+ export type GetAstrologyHoroscopeBySignYearlyResponse = GetAstrologyHoroscopeBySignYearlyResponses[keyof GetAstrologyHoroscopeBySignYearlyResponses];
14611
+
14108
14612
  export type PostAstrologyPlanetaryReturnsData = {
14109
14613
  body?: {
14110
14614
  /**
@@ -31992,7 +32496,7 @@ export type PostChineseAstrologyBaziChartResponses = {
31992
32496
  */
31993
32497
  nameLocalized?: string;
31994
32498
  /**
31995
- * The relation in simplified hanzi. Identical under every lang; the traditional forms arrive through the zh-Hant response.
32499
+ * The relation in traditional hanzi. Identical under every lang.
31996
32500
  */
31997
32501
  chinese: string;
31998
32502
  /**
@@ -32062,7 +32566,7 @@ export type PostChineseAstrologyBaziChartResponses = {
32062
32566
  */
32063
32567
  nameLocalized?: string;
32064
32568
  /**
32065
- * The relation in simplified hanzi. Identical under every lang; the traditional forms arrive through the zh-Hant response.
32569
+ * The relation in traditional hanzi. Identical under every lang.
32066
32570
  */
32067
32571
  chinese: string;
32068
32572
  /**
@@ -32551,7 +33055,7 @@ export type PostChineseAstrologyBaziLuckPillarsResponses = {
32551
33055
  */
32552
33056
  nameLocalized?: string;
32553
33057
  /**
32554
- * The relation in simplified hanzi. Identical under every lang; the traditional forms arrive through the zh-Hant response.
33058
+ * The relation in traditional hanzi. Identical under every lang.
32555
33059
  */
32556
33060
  chinese: string;
32557
33061
  /**
@@ -32617,7 +33121,7 @@ export type PostChineseAstrologyBaziLuckPillarsResponses = {
32617
33121
  */
32618
33122
  nameLocalized?: string;
32619
33123
  /**
32620
- * The relation in simplified hanzi. Identical under every lang; the traditional forms arrive through the zh-Hant response.
33124
+ * The relation in traditional hanzi. Identical under every lang.
32621
33125
  */
32622
33126
  chinese: string;
32623
33127
  /**
@@ -33270,7 +33774,7 @@ export type PostChineseAstrologyBaziCompatibilityResponses = {
33270
33774
  */
33271
33775
  nameLocalized?: string;
33272
33776
  /**
33273
- * The relation in simplified hanzi. Identical under every lang; the traditional forms arrive through the zh-Hant response.
33777
+ * The relation in traditional hanzi. Identical under every lang.
33274
33778
  */
33275
33779
  chinese: string;
33276
33780
  /**
@@ -33340,7 +33844,7 @@ export type PostChineseAstrologyBaziCompatibilityResponses = {
33340
33844
  */
33341
33845
  nameLocalized?: string;
33342
33846
  /**
33343
- * The relation in simplified hanzi. Identical under every lang; the traditional forms arrive through the zh-Hant response.
33847
+ * The relation in traditional hanzi. Identical under every lang.
33344
33848
  */
33345
33849
  chinese: string;
33346
33850
  /**
@@ -33528,7 +34032,7 @@ export type PostChineseAstrologyBaziCompatibilityResponses = {
33528
34032
  */
33529
34033
  nameLocalized?: string;
33530
34034
  /**
33531
- * The relation in simplified hanzi. Identical under every lang; the traditional forms arrive through the zh-Hant response.
34035
+ * The relation in traditional hanzi. Identical under every lang.
33532
34036
  */
33533
34037
  chinese: string;
33534
34038
  /**
@@ -33598,7 +34102,7 @@ export type PostChineseAstrologyBaziCompatibilityResponses = {
33598
34102
  */
33599
34103
  nameLocalized?: string;
33600
34104
  /**
33601
- * The relation in simplified hanzi. Identical under every lang; the traditional forms arrive through the zh-Hant response.
34105
+ * The relation in traditional hanzi. Identical under every lang.
33602
34106
  */
33603
34107
  chinese: string;
33604
34108
  /**
@@ -34073,7 +34577,7 @@ export type PostChineseAstrologyBaziAnnualForecastResponses = {
34073
34577
  */
34074
34578
  nameLocalized?: string;
34075
34579
  /**
34076
- * The relation in simplified hanzi. Identical under every lang; the traditional forms arrive through the zh-Hant response.
34580
+ * The relation in traditional hanzi. Identical under every lang.
34077
34581
  */
34078
34582
  chinese: string;
34079
34583
  /**
@@ -34106,7 +34610,7 @@ export type PostChineseAstrologyBaziAnnualForecastResponses = {
34106
34610
  */
34107
34611
  nameLocalized?: string;
34108
34612
  /**
34109
- * The relation in simplified hanzi. Identical under every lang; the traditional forms arrive through the zh-Hant response.
34613
+ * The relation in traditional hanzi. Identical under every lang.
34110
34614
  */
34111
34615
  chinese: string;
34112
34616
  /**
@@ -34350,7 +34854,7 @@ export type GetChineseAstrologyZodiacAnimalsResponses = {
34350
34854
  */
34351
34855
  nameLocalized?: string;
34352
34856
  /**
34353
- * Simplified Chinese character for the animal itself, not for its Earthly Branch. Data rather than a translation, so it is identical under every lang.
34857
+ * Traditional hanzi character for the animal itself, not for its Earthly Branch. Data rather than a translation, so it is identical under every lang.
34354
34858
  */
34355
34859
  chinese: string;
34356
34860
  /**
@@ -34522,7 +35026,7 @@ export type GetChineseAstrologyZodiacAnimalsByIdResponses = {
34522
35026
  */
34523
35027
  nameLocalized?: string;
34524
35028
  /**
34525
- * Simplified Chinese character for the animal itself, not for its Earthly Branch. Data rather than a translation, so it is identical under every lang.
35029
+ * Traditional hanzi character for the animal itself, not for its Earthly Branch. Data rather than a translation, so it is identical under every lang.
34526
35030
  */
34527
35031
  chinese: string;
34528
35032
  /**
@@ -34632,7 +35136,7 @@ export type GetChineseAstrologyZodiacAnimalsByIdResponses = {
34632
35136
  */
34633
35137
  nameLocalized?: string;
34634
35138
  /**
34635
- * Simplified Chinese character for the related animal.
35139
+ * Traditional hanzi character for the related animal.
34636
35140
  */
34637
35141
  chinese: string;
34638
35142
  /**
@@ -34665,7 +35169,7 @@ export type GetChineseAstrologyZodiacAnimalsByIdResponses = {
34665
35169
  */
34666
35170
  nameLocalized?: string;
34667
35171
  /**
34668
- * Simplified Chinese character for the related animal.
35172
+ * Traditional hanzi character for the related animal.
34669
35173
  */
34670
35174
  chinese: string;
34671
35175
  /**
@@ -34690,7 +35194,7 @@ export type GetChineseAstrologyZodiacAnimalsByIdResponses = {
34690
35194
  */
34691
35195
  nameLocalized?: string;
34692
35196
  /**
34693
- * Simplified Chinese character for the related animal.
35197
+ * Traditional hanzi character for the related animal.
34694
35198
  */
34695
35199
  chinese: string;
34696
35200
  /**
@@ -34883,7 +35387,7 @@ export type PostChineseAstrologyZodiacSignResponses = {
34883
35387
  */
34884
35388
  nameLocalized?: string;
34885
35389
  /**
34886
- * Simplified Chinese character for the animal itself, not for its Earthly Branch. Data rather than a translation, so it is identical under every lang.
35390
+ * Traditional hanzi character for the animal itself, not for its Earthly Branch. Data rather than a translation, so it is identical under every lang.
34887
35391
  */
34888
35392
  chinese: string;
34889
35393
  /**
@@ -35106,7 +35610,7 @@ export type GetChineseAstrologyZodiacCompatibilityBySign1BySign2Responses = {
35106
35610
  */
35107
35611
  nameLocalized?: string;
35108
35612
  /**
35109
- * Simplified Chinese character for the animal itself, not for its Earthly Branch. Data rather than a translation, so it is identical under every lang.
35613
+ * Traditional hanzi character for the animal itself, not for its Earthly Branch. Data rather than a translation, so it is identical under every lang.
35110
35614
  */
35111
35615
  chinese: string;
35112
35616
  /**
@@ -35144,7 +35648,7 @@ export type GetChineseAstrologyZodiacCompatibilityBySign1BySign2Responses = {
35144
35648
  */
35145
35649
  nameLocalized?: string;
35146
35650
  /**
35147
- * Simplified Chinese character for the animal itself, not for its Earthly Branch. Data rather than a translation, so it is identical under every lang.
35651
+ * Traditional hanzi character for the animal itself, not for its Earthly Branch. Data rather than a translation, so it is identical under every lang.
35148
35652
  */
35149
35653
  chinese: string;
35150
35654
  /**
@@ -35182,7 +35686,7 @@ export type GetChineseAstrologyZodiacCompatibilityBySign1BySign2Responses = {
35182
35686
  */
35183
35687
  relationshipNameLocalized?: string;
35184
35688
  /**
35185
- * Classical name of the relation in simplified Chinese.
35689
+ * Classical name of the relation in traditional hanzi. Identical under every lang.
35186
35690
  */
35187
35691
  relationshipChinese: string;
35188
35692
  /**
@@ -35377,7 +35881,7 @@ export type GetChineseAstrologyZodiacByIdDailyResponses = {
35377
35881
  */
35378
35882
  nameLocalized?: string;
35379
35883
  /**
35380
- * Simplified Chinese character for the animal.
35884
+ * Traditional hanzi character for the animal. Identical under every lang.
35381
35885
  */
35382
35886
  chinese: string;
35383
35887
  /**
@@ -36136,7 +36640,7 @@ export type GetChineseAstrologyCalendarDayByDateResponses = {
36136
36640
  */
36137
36641
  nameLocalized?: string;
36138
36642
  /**
36139
- * English display name of the officer.
36643
+ * English display name of the officer. Canonical, identical in every language, so it stays safe to compare against in code. The translation is in nameLocalized.
36140
36644
  */
36141
36645
  name: string;
36142
36646
  /**
@@ -36162,9 +36666,13 @@ export type GetChineseAstrologyCalendarDayByDateResponses = {
36162
36666
  */
36163
36667
  number: number;
36164
36668
  /**
36165
- * English display name of the mansion.
36669
+ * English display name of the mansion. Canonical, identical in every language. The translation is in nameLocalized. Note the mansion has no string id: number is the stable 1 to 28 key, because five of the 28 share a pinyin spelling.
36166
36670
  */
36167
36671
  name: string;
36672
+ /**
36673
+ * Display name of the mansion in the requested language. Absent when lang is en, and absent when a language has no entry for this mansion, so a caller falls back to name rather than rendering a blank.
36674
+ */
36675
+ nameLocalized?: string;
36168
36676
  /**
36169
36677
  * The mansion in Chinese. A data field, identical in every language.
36170
36678
  */
@@ -36182,9 +36690,13 @@ export type GetChineseAstrologyCalendarDayByDateResponses = {
36182
36690
  */
36183
36691
  planet: string;
36184
36692
  /**
36185
- * Animal emblem of the mansion, the third character of its full Chinese name.
36693
+ * Animal emblem of the mansion, the third character of its full Chinese name. English and canonical, identical in every language, matching how clashAnimal behaves on the same response. The translation is in animalLocalized.
36186
36694
  */
36187
36695
  animal: string;
36696
+ /**
36697
+ * Animal emblem in the requested language. Absent when lang is en, and absent when a language has no entry, so a caller falls back to animal.
36698
+ */
36699
+ animalLocalized?: string;
36188
36700
  };
36189
36701
  /**
36190
36702
  * The zodiac animal the day clashes with, which is the animal six branches away from the day branch. Anyone born in that animal year traditionally avoids the day for anything important.
@@ -36510,7 +37022,7 @@ export type GetChineseAstrologyCalendarMonthlyResponses = {
36510
37022
  */
36511
37023
  nameLocalized?: string;
36512
37024
  /**
36513
- * English display name of the officer.
37025
+ * English display name of the officer. Canonical, identical in every language, so it stays safe to compare against in code. The translation is in nameLocalized.
36514
37026
  */
36515
37027
  name: string;
36516
37028
  /**
@@ -36536,9 +37048,13 @@ export type GetChineseAstrologyCalendarMonthlyResponses = {
36536
37048
  */
36537
37049
  number: number;
36538
37050
  /**
36539
- * English display name of the mansion.
37051
+ * English display name of the mansion. Canonical, identical in every language. The translation is in nameLocalized. Note the mansion has no string id: number is the stable 1 to 28 key, because five of the 28 share a pinyin spelling.
36540
37052
  */
36541
37053
  name: string;
37054
+ /**
37055
+ * Display name of the mansion in the requested language. Absent when lang is en, and absent when a language has no entry for this mansion, so a caller falls back to name rather than rendering a blank.
37056
+ */
37057
+ nameLocalized?: string;
36542
37058
  /**
36543
37059
  * The mansion in Chinese. A data field, identical in every language.
36544
37060
  */
@@ -36556,9 +37072,13 @@ export type GetChineseAstrologyCalendarMonthlyResponses = {
36556
37072
  */
36557
37073
  planet: string;
36558
37074
  /**
36559
- * Animal emblem of the mansion, the third character of its full Chinese name.
37075
+ * Animal emblem of the mansion, the third character of its full Chinese name. English and canonical, identical in every language, matching how clashAnimal behaves on the same response. The translation is in animalLocalized.
36560
37076
  */
36561
37077
  animal: string;
37078
+ /**
37079
+ * Animal emblem in the requested language. Absent when lang is en, and absent when a language has no entry, so a caller falls back to animal.
37080
+ */
37081
+ animalLocalized?: string;
36562
37082
  };
36563
37083
  /**
36564
37084
  * The zodiac animal the day clashes with, which is the animal six branches away from the day branch. Anyone born in that animal year traditionally avoids the day for anything important.
@@ -36888,7 +37408,7 @@ export type PostChineseAstrologyCalendarAuspiciousDaysResponses = {
36888
37408
  */
36889
37409
  nameLocalized?: string;
36890
37410
  /**
36891
- * English display name of the officer.
37411
+ * English display name of the officer. Canonical, identical in every language, so it stays safe to compare against in code. The translation is in nameLocalized.
36892
37412
  */
36893
37413
  name: string;
36894
37414
  /**
@@ -36914,9 +37434,13 @@ export type PostChineseAstrologyCalendarAuspiciousDaysResponses = {
36914
37434
  */
36915
37435
  number: number;
36916
37436
  /**
36917
- * English display name of the mansion.
37437
+ * English display name of the mansion. Canonical, identical in every language. The translation is in nameLocalized. Note the mansion has no string id: number is the stable 1 to 28 key, because five of the 28 share a pinyin spelling.
36918
37438
  */
36919
37439
  name: string;
37440
+ /**
37441
+ * Display name of the mansion in the requested language. Absent when lang is en, and absent when a language has no entry for this mansion, so a caller falls back to name rather than rendering a blank.
37442
+ */
37443
+ nameLocalized?: string;
36920
37444
  /**
36921
37445
  * The mansion in Chinese. A data field, identical in every language.
36922
37446
  */
@@ -36934,9 +37458,13 @@ export type PostChineseAstrologyCalendarAuspiciousDaysResponses = {
36934
37458
  */
36935
37459
  planet: string;
36936
37460
  /**
36937
- * Animal emblem of the mansion, the third character of its full Chinese name.
37461
+ * Animal emblem of the mansion, the third character of its full Chinese name. English and canonical, identical in every language, matching how clashAnimal behaves on the same response. The translation is in animalLocalized.
36938
37462
  */
36939
37463
  animal: string;
37464
+ /**
37465
+ * Animal emblem in the requested language. Absent when lang is en, and absent when a language has no entry, so a caller falls back to animal.
37466
+ */
37467
+ animalLocalized?: string;
36940
37468
  };
36941
37469
  /**
36942
37470
  * The zodiac animal the day clashes with, which is the animal six branches away from the day branch. Anyone born in that animal year traditionally avoids the day for anything important.
@@ -38192,7 +38720,7 @@ export type PostFengShuiFlyingStarsNatalResponses = {
38192
38720
  */
38193
38721
  id: string;
38194
38722
  /**
38195
- * Display name of the structure. Always English, whatever the lang parameter says.
38723
+ * Display name of the structure, TRANSLATED IN PLACE under the lang parameter. Switch on structure.id, which is the stable machine value in every language. Unlike the star and formation names beside it, this field has no nameLocalized sibling.
38196
38724
  */
38197
38725
  name: string;
38198
38726
  /**
@@ -39005,7 +39533,11 @@ export type GetFengShuiAfflictionsByYearResponses = {
39005
39533
  */
39006
39534
  taiSui: {
39007
39535
  /**
39008
- * Display name of the affliction. Always English, whatever the lang parameter says, so it stays safe to compare against in code.
39536
+ * Stable machine key for the affliction: taiSui, suiPo, sanSha or fiveYellow. Always English, identical in every language, and the field to branch on. Use this rather than name, which is display copy and does translate.
39537
+ */
39538
+ id: string;
39539
+ /**
39540
+ * Display name of the affliction, translated in place when lang is set (Tai Sui in English, 太岁 under zh-Hans). Display copy, never a comparison key: branch on id instead.
39009
39541
  */
39010
39542
  name: string;
39011
39543
  /**
@@ -39076,7 +39608,11 @@ export type GetFengShuiAfflictionsByYearResponses = {
39076
39608
  */
39077
39609
  suiPo: {
39078
39610
  /**
39079
- * Display name of the affliction. Always English, whatever the lang parameter says, so it stays safe to compare against in code.
39611
+ * Stable machine key for the affliction: taiSui, suiPo, sanSha or fiveYellow. Always English, identical in every language, and the field to branch on. Use this rather than name, which is display copy and does translate.
39612
+ */
39613
+ id: string;
39614
+ /**
39615
+ * Display name of the affliction, translated in place when lang is set (Tai Sui in English, 太岁 under zh-Hans). Display copy, never a comparison key: branch on id instead.
39080
39616
  */
39081
39617
  name: string;
39082
39618
  /**
@@ -39139,7 +39675,11 @@ export type GetFengShuiAfflictionsByYearResponses = {
39139
39675
  */
39140
39676
  sanSha: {
39141
39677
  /**
39142
- * Display name of the affliction. Always English, whatever the lang parameter says, so it stays safe to compare against in code.
39678
+ * Stable machine key for the affliction: taiSui, suiPo, sanSha or fiveYellow. Always English, identical in every language, and the field to branch on. Use this rather than name, which is display copy and does translate.
39679
+ */
39680
+ id: string;
39681
+ /**
39682
+ * Display name of the affliction, translated in place when lang is set (Tai Sui in English, 太岁 under zh-Hans). Display copy, never a comparison key: branch on id instead.
39143
39683
  */
39144
39684
  name: string;
39145
39685
  /**
@@ -39183,7 +39723,7 @@ export type GetFengShuiAfflictionsByYearResponses = {
39183
39723
  */
39184
39724
  id: string;
39185
39725
  /**
39186
- * Display name of the part. Always English, whatever the lang parameter says.
39726
+ * Display name of the part, translated in place when lang is set. Display copy, never a comparison key: branch on id instead.
39187
39727
  */
39188
39728
  name: string;
39189
39729
  /**
@@ -39243,7 +39783,11 @@ export type GetFengShuiAfflictionsByYearResponses = {
39243
39783
  */
39244
39784
  fiveYellow: {
39245
39785
  /**
39246
- * Display name of the affliction. Always English, whatever the lang parameter says, so it stays safe to compare against in code.
39786
+ * Stable machine key for the affliction: taiSui, suiPo, sanSha or fiveYellow. Always English, identical in every language, and the field to branch on. Use this rather than name, which is display copy and does translate.
39787
+ */
39788
+ id: string;
39789
+ /**
39790
+ * Display name of the affliction, translated in place when lang is set (Tai Sui in English, 太岁 under zh-Hans). Display copy, never a comparison key: branch on id instead.
39247
39791
  */
39248
39792
  name: string;
39249
39793
  /**