@roxyapi/sdk 1.2.27 → 1.2.28

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.
@@ -143,6 +143,57 @@ export type NatalChartResponse = {
143
143
  */
144
144
  interpretation: string;
145
145
  }>;
146
+ /**
147
+ * Detected multi-planet aspect configurations (Grand Trine, Kite, T-Square, Grand Cross, Yod, Mystic Rectangle, Stellium). Grand Cross suppresses contained T-Squares, Kite suppresses underlying Grand Trine.
148
+ */
149
+ patterns?: Array<{
150
+ /**
151
+ * Pattern kind identifier. GRAND_TRINE (3 trines, harmonious flow), KITE (Grand Trine with a focal outlet planet), T_SQUARE (opposition with squared apex, growth engine), GRAND_CROSS (4 planets in 2 oppositions and 4 squares, peak tension), YOD (Finger of Fate, fated adjustment), MYSTIC_RECTANGLE (oppositions softened by trines and sextiles), STELLIUM (3+ planets clustered in a sign or 10-degree arc).
152
+ */
153
+ kind: 'GRAND_TRINE' | 'KITE' | 'T_SQUARE' | 'GRAND_CROSS' | 'YOD' | 'MYSTIC_RECTANGLE' | 'STELLIUM';
154
+ /**
155
+ * Human-readable name of the configuration as used in astrological literature.
156
+ */
157
+ name: string;
158
+ /**
159
+ * Participating bodies in canonical order. For Kite, T-Square, and Yod the apex planet appears first.
160
+ */
161
+ planets: Array<string>;
162
+ /**
163
+ * Focal planet for Kite, T-Square, and Yod patterns. Receives the released energy of the configuration and is the recommended integration point.
164
+ */
165
+ apex?: string;
166
+ /**
167
+ * Dominant element when the pattern is element-coherent (Grand Trine, Kite). Reported lowercase. Absent for patterns whose meaning does not pivot on element.
168
+ */
169
+ element?: 'fire' | 'earth' | 'air' | 'water';
170
+ /**
171
+ * Dominant modality for tension-based patterns (T-Square, Grand Cross). Cardinal initiates, Fixed sustains, Mutable adapts.
172
+ */
173
+ modality?: 'cardinal' | 'fixed' | 'mutable';
174
+ /**
175
+ * True if the pattern is out-of-sign (one or more planets in a neighboring element or modality). Dissociate patterns are still valid but operate with weakened thematic coherence.
176
+ */
177
+ dissociate?: boolean;
178
+ /**
179
+ * Tightness score (0-100) derived from the average orb tightness across all defining aspects. Higher means closer to exact and stronger thematic expression.
180
+ */
181
+ tightness: number;
182
+ /**
183
+ * Concise one-line interpretation naming the participating planets and theme. Localized to the requested language via the lang query parameter (defaults to English).
184
+ */
185
+ interpretation: string;
186
+ /**
187
+ * Stable template identifier used to render the interpretation. Useful for clients that wish to swap in a custom narrative template while preserving the structured variables.
188
+ */
189
+ interpretationKey: string;
190
+ /**
191
+ * Variables that were interpolated into the interpretation template. Names already resolved to the requested language where appropriate.
192
+ */
193
+ interpretationVars: {
194
+ [key: string]: string;
195
+ };
196
+ }>;
146
197
  /**
147
198
  * Aspect pattern analysis showing the balance of harmonious vs challenging energies in the chart.
148
199
  */
@@ -474,6 +525,57 @@ export type AspectsResponse = {
474
525
  nature: string;
475
526
  };
476
527
  }>;
528
+ /**
529
+ * Detected multi-planet aspect configurations (Grand Trine, Kite, T-Square, Grand Cross, Yod, Mystic Rectangle, Stellium).
530
+ */
531
+ patterns?: Array<{
532
+ /**
533
+ * Pattern kind identifier. GRAND_TRINE (3 trines, harmonious flow), KITE (Grand Trine with a focal outlet planet), T_SQUARE (opposition with squared apex, growth engine), GRAND_CROSS (4 planets in 2 oppositions and 4 squares, peak tension), YOD (Finger of Fate, fated adjustment), MYSTIC_RECTANGLE (oppositions softened by trines and sextiles), STELLIUM (3+ planets clustered in a sign or 10-degree arc).
534
+ */
535
+ kind: 'GRAND_TRINE' | 'KITE' | 'T_SQUARE' | 'GRAND_CROSS' | 'YOD' | 'MYSTIC_RECTANGLE' | 'STELLIUM';
536
+ /**
537
+ * Human-readable name of the configuration as used in astrological literature.
538
+ */
539
+ name: string;
540
+ /**
541
+ * Participating bodies in canonical order. For Kite, T-Square, and Yod the apex planet appears first.
542
+ */
543
+ planets: Array<string>;
544
+ /**
545
+ * Focal planet for Kite, T-Square, and Yod patterns. Receives the released energy of the configuration and is the recommended integration point.
546
+ */
547
+ apex?: string;
548
+ /**
549
+ * Dominant element when the pattern is element-coherent (Grand Trine, Kite). Reported lowercase. Absent for patterns whose meaning does not pivot on element.
550
+ */
551
+ element?: 'fire' | 'earth' | 'air' | 'water';
552
+ /**
553
+ * Dominant modality for tension-based patterns (T-Square, Grand Cross). Cardinal initiates, Fixed sustains, Mutable adapts.
554
+ */
555
+ modality?: 'cardinal' | 'fixed' | 'mutable';
556
+ /**
557
+ * True if the pattern is out-of-sign (one or more planets in a neighboring element or modality). Dissociate patterns are still valid but operate with weakened thematic coherence.
558
+ */
559
+ dissociate?: boolean;
560
+ /**
561
+ * Tightness score (0-100) derived from the average orb tightness across all defining aspects. Higher means closer to exact and stronger thematic expression.
562
+ */
563
+ tightness: number;
564
+ /**
565
+ * Concise one-line interpretation naming the participating planets and theme. Localized to the requested language via the lang query parameter (defaults to English).
566
+ */
567
+ interpretation: string;
568
+ /**
569
+ * Stable template identifier used to render the interpretation. Useful for clients that wish to swap in a custom narrative template while preserving the structured variables.
570
+ */
571
+ interpretationKey: string;
572
+ /**
573
+ * Variables that were interpolated into the interpretation template. Names already resolved to the requested language where appropriate.
574
+ */
575
+ interpretationVars: {
576
+ [key: string]: string;
577
+ };
578
+ }>;
477
579
  /**
478
580
  * Aspect summary with counts by nature and type.
479
581
  */
@@ -524,6 +626,98 @@ export type AspectsRequest = {
524
626
  */
525
627
  aspectTypes?: Array<string>;
526
628
  };
629
+ export type AspectPatternsResponse = {
630
+ /**
631
+ * All aspect patterns detected in the chart, in detection order: Grand Cross first, then Kite, Grand Trine, T-Square, Yod, Mystic Rectangle, Stellium. Patterns absorbed by a higher-priority detection (T-Squares inside a Grand Cross, Grand Trines absorbed by a Kite) are not reported separately.
632
+ */
633
+ patterns: Array<{
634
+ /**
635
+ * Pattern kind identifier. GRAND_TRINE (3 trines, harmonious flow), KITE (Grand Trine with a focal outlet planet), T_SQUARE (opposition with squared apex, growth engine), GRAND_CROSS (4 planets in 2 oppositions and 4 squares, peak tension), YOD (Finger of Fate, fated adjustment), MYSTIC_RECTANGLE (oppositions softened by trines and sextiles), STELLIUM (3+ planets clustered in a sign or 10-degree arc).
636
+ */
637
+ kind: 'GRAND_TRINE' | 'KITE' | 'T_SQUARE' | 'GRAND_CROSS' | 'YOD' | 'MYSTIC_RECTANGLE' | 'STELLIUM';
638
+ /**
639
+ * Human-readable name of the configuration as used in astrological literature.
640
+ */
641
+ name: string;
642
+ /**
643
+ * Participating bodies in canonical order. For Kite, T-Square, and Yod the apex planet appears first.
644
+ */
645
+ planets: Array<string>;
646
+ /**
647
+ * Focal planet for Kite, T-Square, and Yod patterns. Receives the released energy of the configuration and is the recommended integration point.
648
+ */
649
+ apex?: string;
650
+ /**
651
+ * Dominant element when the pattern is element-coherent (Grand Trine, Kite). Reported lowercase. Absent for patterns whose meaning does not pivot on element.
652
+ */
653
+ element?: 'fire' | 'earth' | 'air' | 'water';
654
+ /**
655
+ * Dominant modality for tension-based patterns (T-Square, Grand Cross). Cardinal initiates, Fixed sustains, Mutable adapts.
656
+ */
657
+ modality?: 'cardinal' | 'fixed' | 'mutable';
658
+ /**
659
+ * True if the pattern is out-of-sign (one or more planets in a neighboring element or modality). Dissociate patterns are still valid but operate with weakened thematic coherence.
660
+ */
661
+ dissociate?: boolean;
662
+ /**
663
+ * Tightness score (0-100) derived from the average orb tightness across all defining aspects. Higher means closer to exact and stronger thematic expression.
664
+ */
665
+ tightness: number;
666
+ /**
667
+ * Concise one-line interpretation naming the participating planets and theme. Localized to the requested language via the lang query parameter (defaults to English).
668
+ */
669
+ interpretation: string;
670
+ /**
671
+ * Stable template identifier used to render the interpretation. Useful for clients that wish to swap in a custom narrative template while preserving the structured variables.
672
+ */
673
+ interpretationKey: string;
674
+ /**
675
+ * Variables that were interpolated into the interpretation template. Names already resolved to the requested language where appropriate.
676
+ */
677
+ interpretationVars: {
678
+ [key: string]: string;
679
+ };
680
+ }>;
681
+ /**
682
+ * Total number of detected aspect patterns in this chart.
683
+ */
684
+ total: number;
685
+ /**
686
+ * Echo of the options used for this detection run. Useful for reproducibility and for downstream UI display.
687
+ */
688
+ options: {
689
+ /**
690
+ * Whether the strict (Pontopia-style) orb budget was used. False uses industry-standard orbs (8 for major aspects, 9 for square, 6 for sextile, 3 for quincunx).
691
+ */
692
+ strictOrbs: boolean;
693
+ /**
694
+ * Optional bodies included beyond the default Sun-Pluto set. Empty means classical 10-planet detection only.
695
+ */
696
+ include: Array<'chiron' | 'northNode'>;
697
+ };
698
+ };
699
+ export type AspectPatternsRequest = {
700
+ /**
701
+ * Birth date in YYYY-MM-DD format. Determines planetary positions for the specific calendar day.
702
+ */
703
+ date: string;
704
+ /**
705
+ * Birth time in 24-hour HH:MM:SS format. Determines the Ascendant (rising sign) and house cusps. Use 12:00:00 if unknown.
706
+ */
707
+ time: string;
708
+ /**
709
+ * Birth location latitude in decimal degrees (-90 to 90). Positive = North, negative = South.
710
+ */
711
+ latitude: number;
712
+ /**
713
+ * Birth location longitude in decimal degrees (-180 to 180). Positive = East, negative = West.
714
+ */
715
+ longitude: number;
716
+ /**
717
+ * Timezone: decimal hours from UTC (e.g. -5 for EST, 5.5 for IST) OR IANA name (e.g. "America/New_York", "Asia/Kolkata"). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly.
718
+ */
719
+ timezone: number | string;
720
+ };
527
721
  export type TransitsResponse = {
528
722
  /**
529
723
  * Date of the transit calculation (YYYY-MM-DD).
@@ -731,6 +925,39 @@ export type BirthChartResponse = {
731
925
  awastha?: 'Bala' | 'Kumara' | 'Yuva' | 'Vriddha' | 'Mrita';
732
926
  }>;
733
927
  };
928
+ /**
929
+ * Twelve classical yogas detected against this chart: Gajakesari (three-rule parashara definition), Sunapha, Anapha, Dhurdhura, Kemadruma, Chandra Mangala, Budha-Aditya, and the five Pancha Mahapurusha (Ruchaka, Bhadra, Hamsa, Malavya, Sasa). Each entry carries an `id` (matches `GET /yoga/{id}` for full glossary lookup), a `present` boolean, and classical-text `evidence` for the rule that triggered or failed.
930
+ */
931
+ yogas?: Array<{
932
+ /**
933
+ * Glossary id (lowercase, kebab-case) matching an entry in the 300-entry planetary-yoga catalog. Use with GET /yoga/{id} to retrieve the full glossary text.
934
+ */
935
+ id: string;
936
+ /**
937
+ * Classical Sanskrit name of the yoga as referenced in BPHS (Brihat Parashara Hora Shastra), Phaladeepika, and B.V. Raman *Three Hundred Important Combinations*.
938
+ */
939
+ name: string;
940
+ /**
941
+ * Brief classical formation rule. Identifies the planetary placement, lordship, dignity, or aspect pattern required for the yoga to form.
942
+ */
943
+ description: string;
944
+ /**
945
+ * Classical phala (life-effect) description of the yoga when present, sourced from the parashari and phaladeepika tradition.
946
+ */
947
+ result: string;
948
+ /**
949
+ * Overall nature. Auspicious yogas (Pancha Mahapurusha, Gajakesari) bestow benefits; inauspicious yogas (Kemadruma) indicate challenges; Both denotes context-dependent effects.
950
+ */
951
+ quality: 'Positive' | 'Negative' | 'Both';
952
+ /**
953
+ * True if every classical condition for the yoga is satisfied by the given chart. False if any rule fails, including "almost-present" cases where dignity is met but kendra/aspect is not.
954
+ */
955
+ present: boolean;
956
+ /**
957
+ * Human-readable rationale naming the specific rule that triggered or failed the detection, including planetary positions, dignity, kendrādhipati status, lordship, or malefic drishti.
958
+ */
959
+ evidence?: string;
960
+ }>;
734
961
  /**
735
962
  * Quick lookup of all planet positions keyed by planet name. Contains Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu, and Lagna (Ascendant).
736
963
  */
@@ -1526,6 +1753,77 @@ export type SadhesatiRequest = {
1526
1753
  */
1527
1754
  timezone?: number | string;
1528
1755
  };
1756
+ export type YogaDetectResponse = {
1757
+ /**
1758
+ * Array of 12 detected yogas. Every entry carries a present boolean; filter on present === true for active yogas. Evidence text names the rule that triggered or failed.
1759
+ */
1760
+ yogas: Array<{
1761
+ /**
1762
+ * Glossary id (lowercase, kebab-case) matching an entry in the 300-entry planetary-yoga catalog. Use with GET /yoga/{id} to retrieve the full glossary text.
1763
+ */
1764
+ id: string;
1765
+ /**
1766
+ * Classical Sanskrit name of the yoga as referenced in BPHS (Brihat Parashara Hora Shastra), Phaladeepika, and B.V. Raman *Three Hundred Important Combinations*.
1767
+ */
1768
+ name: string;
1769
+ /**
1770
+ * Brief classical formation rule. Identifies the planetary placement, lordship, dignity, or aspect pattern required for the yoga to form.
1771
+ */
1772
+ description: string;
1773
+ /**
1774
+ * Classical phala (life-effect) description of the yoga when present, sourced from the parashari and phaladeepika tradition.
1775
+ */
1776
+ result: string;
1777
+ /**
1778
+ * Overall nature. Auspicious yogas (Pancha Mahapurusha, Gajakesari) bestow benefits; inauspicious yogas (Kemadruma) indicate challenges; Both denotes context-dependent effects.
1779
+ */
1780
+ quality: 'Positive' | 'Negative' | 'Both';
1781
+ /**
1782
+ * True if every classical condition for the yoga is satisfied by the given chart. False if any rule fails, including "almost-present" cases where dignity is met but kendra/aspect is not.
1783
+ */
1784
+ present: boolean;
1785
+ /**
1786
+ * Human-readable rationale naming the specific rule that triggered or failed the detection, including planetary positions, dignity, kendrādhipati status, lordship, or malefic drishti.
1787
+ */
1788
+ evidence?: string;
1789
+ }>;
1790
+ /**
1791
+ * Count of yogas where present === true in this chart. Range 0-12.
1792
+ */
1793
+ total: number;
1794
+ /**
1795
+ * Echo of the resolved birth data used for detection. Timezone is the numeric offset that the chart engine consumed (IANA names are resolved upstream).
1796
+ */
1797
+ birthDetails: {
1798
+ date: string;
1799
+ time: string;
1800
+ latitude: number;
1801
+ longitude: number;
1802
+ timezone: number;
1803
+ };
1804
+ };
1805
+ export type YogaDetectRequest = {
1806
+ /**
1807
+ * Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
1808
+ */
1809
+ date: string;
1810
+ /**
1811
+ * Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions - changes every ~2 hours. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
1812
+ */
1813
+ time: string;
1814
+ /**
1815
+ * Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
1816
+ */
1817
+ latitude: number;
1818
+ /**
1819
+ * Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
1820
+ */
1821
+ longitude: number;
1822
+ /**
1823
+ * Timezone: decimal hours from UTC (e.g. 5.5 for IST, -5 for EST) OR IANA name (e.g. "Asia/Kolkata", "America/New_York"). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5 (IST).
1824
+ */
1825
+ timezone?: number | string;
1826
+ };
1529
1827
  export type KpAyanamsaResponse = {
1530
1828
  /**
1531
1829
  * Date for which ayanamsa was calculated
@@ -5645,6 +5943,134 @@ export type PostAstrologyAspectsResponses = {
5645
5943
  200: AspectsResponse;
5646
5944
  };
5647
5945
  export type PostAstrologyAspectsResponse = PostAstrologyAspectsResponses[keyof PostAstrologyAspectsResponses];
5946
+ export type PostAstrologyAspectPatternsData = {
5947
+ body?: AspectPatternsRequest;
5948
+ path?: never;
5949
+ query?: {
5950
+ /**
5951
+ * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
5952
+ */
5953
+ lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru';
5954
+ /**
5955
+ * Use tighter orbs (Pontopia "optimal" recommendations). Truthy values (true, 1, yes, on; case-insensitive) narrow trine to 5, square to 5, sextile to 4, quincunx to 2. Defaults to false (industry-standard orbs).
5956
+ */
5957
+ strictOrbs?: string;
5958
+ /**
5959
+ * Comma-separated list of optional bodies to include beyond the classical 10 planets. Valid tokens (case-insensitive): chiron, northNode (also accepts north_node, north-node, northnode). Empty by default.
5960
+ */
5961
+ include?: string;
5962
+ };
5963
+ url: '/astrology/aspect-patterns';
5964
+ };
5965
+ export type PostAstrologyAspectPatternsErrors = {
5966
+ /**
5967
+ * Validation error. `issues[]` lists every failed field.
5968
+ */
5969
+ 400: {
5970
+ /**
5971
+ * First issue summary.
5972
+ */
5973
+ error: string;
5974
+ code: 'validation_error';
5975
+ /**
5976
+ * Every validation failure. Use this to rebuild a valid request.
5977
+ */
5978
+ issues: Array<{
5979
+ /**
5980
+ * Dot-separated field path, or "(root)" for top-level.
5981
+ */
5982
+ path: string;
5983
+ message: string;
5984
+ /**
5985
+ * Zod issue code (invalid_type, too_small, too_big, invalid_string, ...).
5986
+ */
5987
+ code?: string;
5988
+ /**
5989
+ * Expected type for invalid_type.
5990
+ */
5991
+ expected?: string;
5992
+ /**
5993
+ * Minimum bound for too_small issues.
5994
+ */
5995
+ minimum?: number | string;
5996
+ /**
5997
+ * Maximum bound for too_big issues.
5998
+ */
5999
+ maximum?: number | string;
6000
+ inclusive?: boolean;
6001
+ /**
6002
+ * Format name for string issues (regex, email, url, uuid).
6003
+ */
6004
+ format?: string;
6005
+ /**
6006
+ * Regex pattern when format is regex.
6007
+ */
6008
+ pattern?: string;
6009
+ }>;
6010
+ };
6011
+ /**
6012
+ * Invalid or missing API key
6013
+ */
6014
+ 401: {
6015
+ /**
6016
+ * Human-readable error message. May change wording.
6017
+ */
6018
+ error: string;
6019
+ /**
6020
+ * Machine-readable error code. Stable identifier.
6021
+ */
6022
+ code: string;
6023
+ };
6024
+ /**
6025
+ * Method not allowed. The path exists but only responds to the methods listed in `allow[]` and the `Allow` response header.
6026
+ */
6027
+ 405: {
6028
+ error: string;
6029
+ code: 'method_not_allowed';
6030
+ /**
6031
+ * Allowed HTTP methods for this path. Mirrors the Allow response header.
6032
+ */
6033
+ allow: Array<string>;
6034
+ /**
6035
+ * Link to the product page for this domain.
6036
+ */
6037
+ docs?: string;
6038
+ };
6039
+ /**
6040
+ * Monthly rate limit exceeded
6041
+ */
6042
+ 429: {
6043
+ /**
6044
+ * Human-readable error message. May change wording.
6045
+ */
6046
+ error: string;
6047
+ /**
6048
+ * Machine-readable error code. Stable identifier.
6049
+ */
6050
+ code: string;
6051
+ };
6052
+ /**
6053
+ * Internal server error
6054
+ */
6055
+ 500: {
6056
+ /**
6057
+ * Human-readable error message. May change wording.
6058
+ */
6059
+ error: string;
6060
+ /**
6061
+ * Machine-readable error code. Stable identifier.
6062
+ */
6063
+ code: string;
6064
+ };
6065
+ };
6066
+ export type PostAstrologyAspectPatternsError = PostAstrologyAspectPatternsErrors[keyof PostAstrologyAspectPatternsErrors];
6067
+ export type PostAstrologyAspectPatternsResponses = {
6068
+ /**
6069
+ * Aspect patterns detected successfully
6070
+ */
6071
+ 200: AspectPatternsResponse;
6072
+ };
6073
+ export type PostAstrologyAspectPatternsResponse = PostAstrologyAspectPatternsResponses[keyof PostAstrologyAspectPatternsResponses];
5648
6074
  export type PostAstrologyTransitsData = {
5649
6075
  body?: TransitsRequest;
5650
6076
  path?: never;
@@ -12149,6 +12575,126 @@ export type GetVedicAstrologyYogaByIdResponses = {
12149
12575
  };
12150
12576
  };
12151
12577
  export type GetVedicAstrologyYogaByIdResponse = GetVedicAstrologyYogaByIdResponses[keyof GetVedicAstrologyYogaByIdResponses];
12578
+ export type PostVedicAstrologyYogaDetectData = {
12579
+ body?: YogaDetectRequest;
12580
+ path?: never;
12581
+ query?: {
12582
+ /**
12583
+ * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
12584
+ */
12585
+ lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru';
12586
+ };
12587
+ url: '/vedic-astrology/yoga/detect';
12588
+ };
12589
+ export type PostVedicAstrologyYogaDetectErrors = {
12590
+ /**
12591
+ * Validation error. `issues[]` lists every failed field.
12592
+ */
12593
+ 400: {
12594
+ /**
12595
+ * First issue summary.
12596
+ */
12597
+ error: string;
12598
+ code: 'validation_error';
12599
+ /**
12600
+ * Every validation failure. Use this to rebuild a valid request.
12601
+ */
12602
+ issues: Array<{
12603
+ /**
12604
+ * Dot-separated field path, or "(root)" for top-level.
12605
+ */
12606
+ path: string;
12607
+ message: string;
12608
+ /**
12609
+ * Zod issue code (invalid_type, too_small, too_big, invalid_string, ...).
12610
+ */
12611
+ code?: string;
12612
+ /**
12613
+ * Expected type for invalid_type.
12614
+ */
12615
+ expected?: string;
12616
+ /**
12617
+ * Minimum bound for too_small issues.
12618
+ */
12619
+ minimum?: number | string;
12620
+ /**
12621
+ * Maximum bound for too_big issues.
12622
+ */
12623
+ maximum?: number | string;
12624
+ inclusive?: boolean;
12625
+ /**
12626
+ * Format name for string issues (regex, email, url, uuid).
12627
+ */
12628
+ format?: string;
12629
+ /**
12630
+ * Regex pattern when format is regex.
12631
+ */
12632
+ pattern?: string;
12633
+ }>;
12634
+ };
12635
+ /**
12636
+ * Invalid or missing API key
12637
+ */
12638
+ 401: {
12639
+ /**
12640
+ * Human-readable error message. May change wording.
12641
+ */
12642
+ error: string;
12643
+ /**
12644
+ * Machine-readable error code. Stable identifier.
12645
+ */
12646
+ code: string;
12647
+ };
12648
+ /**
12649
+ * Method not allowed. The path exists but only responds to the methods listed in `allow[]` and the `Allow` response header.
12650
+ */
12651
+ 405: {
12652
+ error: string;
12653
+ code: 'method_not_allowed';
12654
+ /**
12655
+ * Allowed HTTP methods for this path. Mirrors the Allow response header.
12656
+ */
12657
+ allow: Array<string>;
12658
+ /**
12659
+ * Link to the product page for this domain.
12660
+ */
12661
+ docs?: string;
12662
+ };
12663
+ /**
12664
+ * Monthly rate limit exceeded
12665
+ */
12666
+ 429: {
12667
+ /**
12668
+ * Human-readable error message. May change wording.
12669
+ */
12670
+ error: string;
12671
+ /**
12672
+ * Machine-readable error code. Stable identifier.
12673
+ */
12674
+ code: string;
12675
+ };
12676
+ /**
12677
+ * Internal server error
12678
+ */
12679
+ 500: {
12680
+ /**
12681
+ * Human-readable error message. May change wording.
12682
+ */
12683
+ error: string;
12684
+ /**
12685
+ * Machine-readable error code. Stable identifier.
12686
+ */
12687
+ code: string;
12688
+ };
12689
+ };
12690
+ export type PostVedicAstrologyYogaDetectError = PostVedicAstrologyYogaDetectErrors[keyof PostVedicAstrologyYogaDetectErrors];
12691
+ export type PostVedicAstrologyYogaDetectResponses = {
12692
+ /**
12693
+ * List of 12 classical yogas with present/absent verdicts and classical-text evidence.
12694
+ */
12695
+ 200: YogaDetectResponse;
12696
+ };
12697
+ export type PostVedicAstrologyYogaDetectResponse = PostVedicAstrologyYogaDetectResponses[keyof PostVedicAstrologyYogaDetectResponses];
12152
12698
  export type GetVedicAstrologyKpAyanamsaData = {
12153
12699
  body?: never;
12154
12700
  path?: never;