@roxyapi/sdk 1.2.56 → 1.2.57

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 (43) hide show
  1. package/dist/{chunk-HCC4GID6.js → chunk-25Y6CPVU.js} +19 -11
  2. package/dist/client/index.cjs +19 -11
  3. package/dist/client/index.d.ts +2 -0
  4. package/dist/client/index.d.ts.map +1 -1
  5. package/dist/client/index.js +1 -1
  6. package/dist/client/utils.gen.d.ts +1 -1
  7. package/dist/client/utils.gen.d.ts.map +1 -1
  8. package/dist/client.gen.d.ts +2 -2
  9. package/dist/client.gen.d.ts.map +1 -1
  10. package/dist/core/auth.gen.d.ts +7 -0
  11. package/dist/core/auth.gen.d.ts.map +1 -1
  12. package/dist/core/params.gen.d.ts +2 -2
  13. package/dist/core/params.gen.d.ts.map +1 -1
  14. package/dist/core/pathSerializer.gen.d.ts.map +1 -1
  15. package/dist/core/queryKeySerializer.gen.d.ts +1 -1
  16. package/dist/core/queryKeySerializer.gen.d.ts.map +1 -1
  17. package/dist/core/types.gen.d.ts +5 -0
  18. package/dist/core/types.gen.d.ts.map +1 -1
  19. package/dist/core/utils.gen.d.ts.map +1 -1
  20. package/dist/factory.cjs +34 -2
  21. package/dist/factory.js +35 -3
  22. package/dist/index.d.ts +1 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/sdk.gen.d.ts +189 -177
  25. package/dist/sdk.gen.d.ts.map +1 -1
  26. package/dist/types.gen.d.ts +1275 -135
  27. package/dist/types.gen.d.ts.map +1 -1
  28. package/dist/version.d.ts +1 -1
  29. package/docs/llms-full.txt +59 -0
  30. package/package.json +4 -4
  31. package/src/client/index.ts +2 -0
  32. package/src/client/utils.gen.ts +2 -2
  33. package/src/client.gen.ts +2 -2
  34. package/src/core/auth.gen.ts +7 -0
  35. package/src/core/params.gen.ts +21 -12
  36. package/src/core/pathSerializer.gen.ts +6 -6
  37. package/src/core/queryKeySerializer.gen.ts +1 -1
  38. package/src/core/types.gen.ts +6 -0
  39. package/src/core/utils.gen.ts +4 -4
  40. package/src/index.ts +1 -1
  41. package/src/sdk.gen.ts +212 -178
  42. package/src/types.gen.ts +1774 -620
  43. package/src/version.ts +1 -1
@@ -994,7 +994,7 @@ export type AstrocartographyResponse = {
994
994
  /**
995
995
  * Absolute latitude in degrees beyond which the body never crosses the horizon, so the line has no points past it. Null when the line spans the full sampled range.
996
996
  */
997
- circumpolarBeyond: number;
997
+ circumpolarBeyond: number | null;
998
998
  /**
999
999
  * Plain language meaning of this rising or setting planetary line for relocation, suitable for chart reports and AI agents.
1000
1000
  */
@@ -1020,7 +1020,7 @@ export type AstrocartographyResponse = {
1020
1020
  /**
1021
1021
  * Absolute latitude in degrees beyond which the body never crosses the horizon, so the line has no points past it. Null when the line spans the full sampled range.
1022
1022
  */
1023
- circumpolarBeyond: number;
1023
+ circumpolarBeyond: number | null;
1024
1024
  /**
1025
1025
  * Plain language meaning of this rising or setting planetary line for relocation, suitable for chart reports and AI agents.
1026
1026
  */
@@ -2795,6 +2795,69 @@ export type BirthChartResponse = {
2795
2795
  deeptadi?: 'Dipta' | 'Svastha' | 'Pramudita' | 'Shanta' | 'Dina' | 'Duhkhita' | 'Vikala' | 'Khala' | 'Kopa';
2796
2796
  }>;
2797
2797
  };
2798
+ /**
2799
+ * The sidereal frame this response was computed in, so a cached or forwarded payload is self describing.
2800
+ */
2801
+ frame: {
2802
+ /**
2803
+ * Sidereal frame this chart was cast in, echoing the ayanamsa request field. "lahiri" when the field was omitted.
2804
+ */
2805
+ ayanamsa: string;
2806
+ /**
2807
+ * Degrees actually subtracted from every tropical longitude to produce this chart, read at the birth instant. Subtract it back to recover the tropical positions, or compare it against your reference software to confirm you are in the same frame before chasing a placement difference.
2808
+ */
2809
+ ayanamsaDegrees: number;
2810
+ };
2811
+ /**
2812
+ * Uranus, Neptune and Pluto, present only when modernPlanets true was sent. Deliberately separate from meta and deliberately without dignity, avastha, combustion or aspect fields: those are constructs of the nine-graha system and the modern planets rule no sign, so no classical value exists for them. Order is always Uranus, Neptune, Pluto.
2813
+ */
2814
+ modernPlanets?: Array<{
2815
+ /**
2816
+ * Modern planet name. These three are outside the classical Navagraha and are returned only when modernPlanets true is sent.
2817
+ */
2818
+ planet: 'Uranus' | 'Neptune' | 'Pluto';
2819
+ /**
2820
+ * Sanskrit name Indian software prints for this body: Arun for Uranus, Varun for Neptune, Yam for Pluto. Transliterated rather than translated, the same treatment as rashi and nakshatra lord names, so it is identical in every locale.
2821
+ */
2822
+ sanskritName: 'Arun' | 'Varun' | 'Yam';
2823
+ /**
2824
+ * Sidereal longitude in degrees (0-360), in the same ayanamsa frame as every other position in this response.
2825
+ */
2826
+ longitude: number;
2827
+ /**
2828
+ * Zodiac sign (rashi) the body occupies.
2829
+ */
2830
+ rashi: string;
2831
+ /**
2832
+ * Degrees advanced into the sign, 0 to 30. This is the figure a chart displays beside the sign.
2833
+ */
2834
+ degreeInRashi: number;
2835
+ /**
2836
+ * Nakshatra placement. Reported because it is purely positional; it does not imply the body participates in Vimshottari dasha, which is built on the Moon alone.
2837
+ */
2838
+ nakshatra: {
2839
+ /**
2840
+ * Nakshatra (lunar mansion, 1 of 27) the body occupies.
2841
+ */
2842
+ name: string;
2843
+ /**
2844
+ * Nakshatra pada (quarter, 1-4).
2845
+ */
2846
+ pada: number;
2847
+ /**
2848
+ * Nakshatra index (1-27) starting from Ashwini.
2849
+ */
2850
+ key: number;
2851
+ /**
2852
+ * Vimshottari ruling planet of this nakshatra.
2853
+ */
2854
+ lord: 'Ketu' | 'Venus' | 'Sun' | 'Moon' | 'Mars' | 'Rahu' | 'Jupiter' | 'Saturn' | 'Mercury';
2855
+ };
2856
+ /**
2857
+ * True when the body appears to move backward. All three are retrograde for roughly 40 percent of each year, so this is the normal case rather than the exception.
2858
+ */
2859
+ isRetrograde: boolean;
2860
+ }>;
2798
2861
  /**
2799
2862
  * The twelve bhavas (houses) in order, each with its classical name and significations. Houses are counted whole-sign from the Lagna.
2800
2863
  */
@@ -3027,10 +3090,22 @@ export type BirthChartRequest = {
3027
3090
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
3028
3091
  */
3029
3092
  timezone?: number | string;
3093
+ /**
3094
+ * Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.
3095
+ */
3096
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
3097
+ /**
3098
+ * Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.
3099
+ */
3100
+ ayanamsaValue?: number;
3030
3101
  /**
3031
3102
  * Set true to include a localized meaning and one-sentence classical interpretation beside each graha avastha state, under avasthaInfo on that graha in meta. Defaults to false, so an existing integration is byte-identical until it opts in. Saves a second call to GET /avasthas and the client-side join that would otherwise be needed to turn Yuva or Swapna into readable text.
3032
3103
  */
3033
3104
  avasthaInfo?: boolean;
3105
+ /**
3106
+ * Set true to also return Uranus, Neptune and Pluto, under the Sanskrit names Arun, Varun and Yam that Indian software prints for them. They arrive in a separate modernPlanets array, NOT inside meta, because classical Jyotish is defined over nine grahas: the moderns rule no sign, so they have no dignity, avastha, combustion or aspect strength and it would be fabrication to report one. Each carries longitude, rashi, degree in sign, nakshatra with pada and lord, and retrograde status. Defaults to false, so an existing integration is byte-identical until it opts in.
3107
+ */
3108
+ modernPlanets?: boolean;
3034
3109
  };
3035
3110
  export type NavamsaResponse = {
3036
3111
  /**
@@ -3138,6 +3213,19 @@ export type NavamsaResponse = {
3138
3213
  };
3139
3214
  [key: string]: unknown;
3140
3215
  };
3216
+ /**
3217
+ * The sidereal frame this response was computed in, so a cached or forwarded payload is self describing.
3218
+ */
3219
+ frame: {
3220
+ /**
3221
+ * Sidereal frame this chart was cast in, echoing the ayanamsa request field. "lahiri" when the field was omitted.
3222
+ */
3223
+ ayanamsa: string;
3224
+ /**
3225
+ * Degrees actually subtracted from every tropical longitude to produce this chart, read at the birth instant. Subtract it back to recover the tropical positions, or compare it against your reference software to confirm you are in the same frame before chasing a placement difference.
3226
+ */
3227
+ ayanamsaDegrees: number;
3228
+ };
3141
3229
  /**
3142
3230
  * Planets that are Vargottama (same sign in D1 and D9)
3143
3231
  */
@@ -3168,6 +3256,14 @@ export type NavamsaRequest = {
3168
3256
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
3169
3257
  */
3170
3258
  timezone?: number | string;
3259
+ /**
3260
+ * Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.
3261
+ */
3262
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
3263
+ /**
3264
+ * Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.
3265
+ */
3266
+ ayanamsaValue?: number;
3171
3267
  };
3172
3268
  export type DivisionalChartResponse = {
3173
3269
  /**
@@ -3195,6 +3291,19 @@ export type DivisionalChartResponse = {
3195
3291
  */
3196
3292
  significance: string;
3197
3293
  };
3294
+ /**
3295
+ * The sidereal frame this response was computed in, so a cached or forwarded payload is self describing.
3296
+ */
3297
+ frame: {
3298
+ /**
3299
+ * Sidereal frame this chart was cast in, echoing the ayanamsa request field. "lahiri" when the field was omitted.
3300
+ */
3301
+ ayanamsa: string;
3302
+ /**
3303
+ * Degrees actually subtracted from every tropical longitude to produce this chart, read at the birth instant. Subtract it back to recover the tropical positions, or compare it against your reference software to confirm you are in the same frame before chasing a placement difference.
3304
+ */
3305
+ ayanamsaDegrees: number;
3306
+ };
3198
3307
  /**
3199
3308
  * Divisional chart showing planetary positions across 12 rashi houses plus a meta lookup. Same structure as birth chart and navamsa responses.
3200
3309
  */
@@ -3326,12 +3435,33 @@ export type DivisionalChartRequest = {
3326
3435
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
3327
3436
  */
3328
3437
  timezone?: number | string;
3438
+ /**
3439
+ * Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.
3440
+ */
3441
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
3442
+ /**
3443
+ * Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.
3444
+ */
3445
+ ayanamsaValue?: number;
3329
3446
  /**
3330
3447
  * Divisional chart number. Each division reveals a specific life area. Supported: 2 (Hora, wealth), 3 (Drekkana, siblings), 4 (Chaturthamsa, property), 7 (Saptamsa, children), 9 (Navamsa, marriage), 10 (Dasamsa, career), 12 (Dwadasamsa, parents), 16 (Shodasamsa, vehicles), 20 (Vimsamsa, spirituality), 24 (Chaturvimsamsa, education), 27 (Bhamsa, strength), 30 (Trimsamsa, misfortunes), 40 (Khavedamsa, merit), 45 (Akshavedamsa, character), 60 (Shashtiamsa, past life karma).
3331
3448
  */
3332
3449
  division: number;
3333
3450
  };
3334
3451
  export type CompatibilityResponse = {
3452
+ /**
3453
+ * The sidereal frame this response was computed in, so a cached or forwarded payload is self describing.
3454
+ */
3455
+ frame: {
3456
+ /**
3457
+ * Sidereal frame this chart was cast in, echoing the ayanamsa request field. "lahiri" when the field was omitted.
3458
+ */
3459
+ ayanamsa: string;
3460
+ /**
3461
+ * Degrees actually subtracted from every tropical longitude to produce this chart, read at the birth instant. Subtract it back to recover the tropical positions, or compare it against your reference software to confirm you are in the same frame before chasing a placement difference.
3462
+ */
3463
+ ayanamsaDegrees: number;
3464
+ };
3335
3465
  /**
3336
3466
  * Total Ashtakoot Gun Milan score out of 36. Scores above 18 are considered compatible for marriage. Higher scores indicate stronger marital harmony.
3337
3467
  */
@@ -3450,6 +3580,14 @@ export type CompatibilityRequest = {
3450
3580
  */
3451
3581
  timezone?: number | string;
3452
3582
  };
3583
+ /**
3584
+ * Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.
3585
+ */
3586
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
3587
+ /**
3588
+ * Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.
3589
+ */
3590
+ ayanamsaValue?: number;
3453
3591
  };
3454
3592
  export type PlanetaryPositionsResponse = {
3455
3593
  [key: string]: {
@@ -3528,7 +3666,7 @@ export type PlanetaryPositionsResponse = {
3528
3666
  */
3529
3667
  isRetrograde: boolean;
3530
3668
  /**
3531
- * Whether the planet is combust (asta, moudhya). A planet is combust when too close to the Sun, weakening its significations. Combustion orbs vary by planet: Moon 12 deg, Mars 17 deg, Mercury 14 deg (12 deg if retrograde), Jupiter 11 deg, Venus 10 deg (8 deg if retrograde), Saturn 15 deg. Sun, Rahu, Ketu, and Lagna are never combust. Based on Surya Siddhanta combustion orbs.
3669
+ * Whether the planet is combust (asta, moudhya). A planet is combust when too close to the Sun, weakening its significations. Limits per Surya Siddhanta: Moon 12 deg, Mars 17 deg, Mercury 14 deg (12 deg if retrograde), Jupiter 11 deg, Venus 10 deg (8 deg if retrograde), Saturn 15 deg. Compared against the difference in ecliptic longitude, which is the standard interpretive convention and matches what other Vedic software reports. It is a chart judgement and not a statement about naked-eye visibility, which additionally depends on the observer latitude: for that use the heliacal endpoint, which applies the same limits in the classical degrees of time. The field is omitted entirely for Sun, Rahu, Ketu and Lagna, since the question does not apply to them rather than the answer being no.
3532
3670
  */
3533
3671
  isCombust?: boolean;
3534
3672
  /**
@@ -3562,8 +3700,29 @@ export type PlanetaryPositionsRequest = {
3562
3700
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
3563
3701
  */
3564
3702
  timezone?: number | string;
3703
+ /**
3704
+ * Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.
3705
+ */
3706
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
3707
+ /**
3708
+ * Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.
3709
+ */
3710
+ ayanamsaValue?: number;
3565
3711
  };
3566
3712
  export type ManglikResponse = {
3713
+ /**
3714
+ * The sidereal frame this response was computed in, so a cached or forwarded payload is self describing.
3715
+ */
3716
+ frame: {
3717
+ /**
3718
+ * Sidereal frame this chart was cast in, echoing the ayanamsa request field. "lahiri" when the field was omitted.
3719
+ */
3720
+ ayanamsa: string;
3721
+ /**
3722
+ * Degrees actually subtracted from every tropical longitude to produce this chart, read at the birth instant. Subtract it back to recover the tropical positions, or compare it against your reference software to confirm you are in the same frame before chasing a placement difference.
3723
+ */
3724
+ ayanamsaDegrees: number;
3725
+ };
3567
3726
  /**
3568
3727
  * Whether Manglik dosha (Kuja dosha) is present based on Mars placement from Lagna
3569
3728
  */
@@ -3627,8 +3786,29 @@ export type ManglikRequest = {
3627
3786
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
3628
3787
  */
3629
3788
  timezone?: number | string;
3789
+ /**
3790
+ * Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.
3791
+ */
3792
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
3793
+ /**
3794
+ * Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.
3795
+ */
3796
+ ayanamsaValue?: number;
3630
3797
  };
3631
3798
  export type KalsarpaResponse = {
3799
+ /**
3800
+ * The sidereal frame this response was computed in, so a cached or forwarded payload is self describing.
3801
+ */
3802
+ frame: {
3803
+ /**
3804
+ * Sidereal frame this chart was cast in, echoing the ayanamsa request field. "lahiri" when the field was omitted.
3805
+ */
3806
+ ayanamsa: string;
3807
+ /**
3808
+ * Degrees actually subtracted from every tropical longitude to produce this chart, read at the birth instant. Subtract it back to recover the tropical positions, or compare it against your reference software to confirm you are in the same frame before chasing a placement difference.
3809
+ */
3810
+ ayanamsaDegrees: number;
3811
+ };
3632
3812
  /**
3633
3813
  * Whether Kalsarpa dosha (Kalsarpa yoga) is present, all planets hemmed between Rahu-Ketu axis
3634
3814
  */
@@ -3700,8 +3880,29 @@ export type KalsarpaRequest = {
3700
3880
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
3701
3881
  */
3702
3882
  timezone?: number | string;
3883
+ /**
3884
+ * Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.
3885
+ */
3886
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
3887
+ /**
3888
+ * Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.
3889
+ */
3890
+ ayanamsaValue?: number;
3703
3891
  };
3704
3892
  export type SadhesatiResponse = {
3893
+ /**
3894
+ * The sidereal frame this response was computed in, so a cached or forwarded payload is self describing.
3895
+ */
3896
+ frame: {
3897
+ /**
3898
+ * Sidereal frame this chart was cast in, echoing the ayanamsa request field. "lahiri" when the field was omitted.
3899
+ */
3900
+ ayanamsa: string;
3901
+ /**
3902
+ * Degrees actually subtracted from every tropical longitude to produce this chart, read at the birth instant. Subtract it back to recover the tropical positions, or compare it against your reference software to confirm you are in the same frame before chasing a placement difference.
3903
+ */
3904
+ ayanamsaDegrees: number;
3905
+ };
3705
3906
  /**
3706
3907
  * Whether Sade Sati is currently active, Saturn transiting 12th, 1st, or 2nd house from natal Moon
3707
3908
  */
@@ -3759,6 +3960,14 @@ export type SadhesatiRequest = {
3759
3960
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
3760
3961
  */
3761
3962
  timezone?: number | string;
3963
+ /**
3964
+ * Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.
3965
+ */
3966
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
3967
+ /**
3968
+ * Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.
3969
+ */
3970
+ ayanamsaValue?: number;
3762
3971
  };
3763
3972
  export type YogaDetail = {
3764
3973
  /**
@@ -3828,6 +4037,19 @@ export type YogaDetectResponse = {
3828
4037
  */
3829
4038
  evidence?: string;
3830
4039
  }>;
4040
+ /**
4041
+ * The sidereal frame this response was computed in, so a cached or forwarded payload is self describing.
4042
+ */
4043
+ frame: {
4044
+ /**
4045
+ * Sidereal frame this chart was cast in, echoing the ayanamsa request field. "lahiri" when the field was omitted.
4046
+ */
4047
+ ayanamsa: string;
4048
+ /**
4049
+ * Degrees actually subtracted from every tropical longitude to produce this chart, read at the birth instant. Subtract it back to recover the tropical positions, or compare it against your reference software to confirm you are in the same frame before chasing a placement difference.
4050
+ */
4051
+ ayanamsaDegrees: number;
4052
+ };
3831
4053
  /**
3832
4054
  * Count of yogas where present === true in this chart. Range 0-44, though real charts sit in the low single digits: the Nabhasa families are mutually constrained by the precedence norms, and most shape yogas are rare.
3833
4055
  */
@@ -3879,6 +4101,14 @@ export type YogaDetectRequest = {
3879
4101
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
3880
4102
  */
3881
4103
  timezone?: number | string;
4104
+ /**
4105
+ * Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.
4106
+ */
4107
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
4108
+ /**
4109
+ * Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.
4110
+ */
4111
+ ayanamsaValue?: number;
3882
4112
  };
3883
4113
  export type KpAyanamsaResponse = {
3884
4114
  /**
@@ -5025,6 +5255,288 @@ export type KpPlanetsIntervalRequest = {
5025
5255
  */
5026
5256
  nodeType?: 'mean' | 'true';
5027
5257
  };
5258
+ /**
5259
+ * A complete KP horary (Prashna) chart: the Ascendant from the number, the cusps and planets from the moment of the question, plus ruling planets and four-level significators.
5260
+ */
5261
+ export type KpHoraryResponse = {
5262
+ /**
5263
+ * The number that was asked for, echoed so a stored chart is self describing.
5264
+ */
5265
+ horaryNumber: number;
5266
+ /**
5267
+ * UTC instant the chart was cast for, resolved from the date, time and timezone.
5268
+ */
5269
+ questionTime: string;
5270
+ /**
5271
+ * Sidereal frame used, echoed back.
5272
+ */
5273
+ ayanamsaType: string;
5274
+ /**
5275
+ * Degrees subtracted from every tropical longitude to produce this chart. Compare it against your reference software before treating a placement difference as a disagreement.
5276
+ */
5277
+ ayanamsaDegrees: number;
5278
+ /**
5279
+ * The Ascendant the horary number produced. This is the ONLY part of the chart that comes from the number; everything else comes from the sky at the moment of the question.
5280
+ */
5281
+ ascendant: {
5282
+ /**
5283
+ * Sidereal longitude of the horary Ascendant, taken as the MIDPOINT of the sub division the number names.
5284
+ */
5285
+ longitude: number;
5286
+ /**
5287
+ * Degrees into the sign, 0 to 30, which is what a chart displays.
5288
+ */
5289
+ degreeInSign: number;
5290
+ /**
5291
+ * Zodiac sign (rashi) of this point.
5292
+ */
5293
+ sign: string;
5294
+ /**
5295
+ * Nakshatra (star) this point falls in.
5296
+ */
5297
+ star: string;
5298
+ /**
5299
+ * Nakshatra lord (star lord), the second level of the KP hierarchy.
5300
+ */
5301
+ starLord: string;
5302
+ /**
5303
+ * Sub lord, the decisive level in KP. A cusp sub lord is what answers the question: it is read for whether the matter is promised, before any timing is attempted.
5304
+ */
5305
+ subLord: string;
5306
+ /**
5307
+ * KP horary number 1 to 249 of the sub division holding this point. Matches the standard published KP table.
5308
+ */
5309
+ kpNumber: number;
5310
+ /**
5311
+ * Sidereal longitude where this numbered sub division begins.
5312
+ */
5313
+ spanFrom: number;
5314
+ /**
5315
+ * Sidereal longitude where it ends. The Ascendant sits midway between this and spanFrom.
5316
+ */
5317
+ spanTo: number;
5318
+ };
5319
+ /**
5320
+ * Twelve Placidus cusps, house 1 first. House 1 is the horary Ascendant; the other eleven follow from the house frame that Ascendant implies at this latitude.
5321
+ */
5322
+ cusps: Array<{
5323
+ /**
5324
+ * House (bhava) number 1 to 12.
5325
+ */
5326
+ house: number;
5327
+ /**
5328
+ * Sidereal longitude of the cusp.
5329
+ */
5330
+ longitude: number;
5331
+ /**
5332
+ * Zodiac sign (rashi) of this point.
5333
+ */
5334
+ sign: string;
5335
+ /**
5336
+ * Nakshatra (star) this point falls in.
5337
+ */
5338
+ star: string;
5339
+ /**
5340
+ * Nakshatra lord (star lord), the second level of the KP hierarchy.
5341
+ */
5342
+ starLord: string;
5343
+ /**
5344
+ * Sub lord, the decisive level in KP. A cusp sub lord is what answers the question: it is read for whether the matter is promised, before any timing is attempted.
5345
+ */
5346
+ subLord: string;
5347
+ /**
5348
+ * KP horary number 1 to 249 of the sub division holding this point. Matches the standard published KP table.
5349
+ */
5350
+ kpNumber: number;
5351
+ }>;
5352
+ /**
5353
+ * The nine grahas at the moment of the question, placed against the horary cusps. These come from the real sky, not from the number.
5354
+ */
5355
+ planets: Array<{
5356
+ /**
5357
+ * Graha name.
5358
+ */
5359
+ planet: string;
5360
+ /**
5361
+ * Sidereal longitude at the moment of the question.
5362
+ */
5363
+ longitude: number;
5364
+ /**
5365
+ * Placidus house the graha occupies in this horary chart, counted against the cusps above rather than by whole sign.
5366
+ */
5367
+ house: number;
5368
+ /**
5369
+ * Retrograde motion flag.
5370
+ */
5371
+ isRetrograde: boolean;
5372
+ /**
5373
+ * Sub-sub lord, the fourth KP level, used to refine timing.
5374
+ */
5375
+ subSubLord: string;
5376
+ /**
5377
+ * Zodiac sign (rashi) of this point.
5378
+ */
5379
+ sign: string;
5380
+ /**
5381
+ * Nakshatra (star) this point falls in.
5382
+ */
5383
+ star: string;
5384
+ /**
5385
+ * Nakshatra lord (star lord), the second level of the KP hierarchy.
5386
+ */
5387
+ starLord: string;
5388
+ /**
5389
+ * Sub lord, the decisive level in KP. A cusp sub lord is what answers the question: it is read for whether the matter is promised, before any timing is attempted.
5390
+ */
5391
+ subLord: string;
5392
+ /**
5393
+ * KP horary number 1 to 249 of the sub division holding this point. Matches the standard published KP table.
5394
+ */
5395
+ kpNumber: number;
5396
+ }>;
5397
+ /**
5398
+ * Ruling planets at the moment of the question. NOTE the lagna values here are from the TIME-based ascendant, which is the classical ruling-planet definition, not from the horary number.
5399
+ */
5400
+ rulingPlanets: {
5401
+ /**
5402
+ * Lord of the Hindu weekday, counted from sunrise.
5403
+ */
5404
+ dayLord: string;
5405
+ /**
5406
+ * Sign lord of the Moon.
5407
+ */
5408
+ moonSignLord: string;
5409
+ /**
5410
+ * Star lord of the Moon.
5411
+ */
5412
+ moonStarLord: string;
5413
+ /**
5414
+ * Sub lord of the Moon.
5415
+ */
5416
+ moonSublord: string;
5417
+ /**
5418
+ * Sub-sub lord of the Moon.
5419
+ */
5420
+ moonSubSublord: string;
5421
+ /**
5422
+ * Sign lord of the ascendant at the question moment.
5423
+ */
5424
+ lagnaSignLord: string;
5425
+ /**
5426
+ * Star lord of that ascendant.
5427
+ */
5428
+ lagnaStarLord: string;
5429
+ /**
5430
+ * Sub lord of that ascendant.
5431
+ */
5432
+ lagnaSublord: string;
5433
+ /**
5434
+ * Sub-sub lord of that ascendant.
5435
+ */
5436
+ lagnaSubSublord: string;
5437
+ /**
5438
+ * The distinct ruling planets in KP order of strength. They validate the chart: when they repeat the significators of the houses the question needs, the judgment is considered reliable.
5439
+ */
5440
+ rulingPlanets: Array<string>;
5441
+ };
5442
+ /**
5443
+ * KP significators for event prediction and timing. Shows which planets signify each house (house-wise) and which houses each planet signifies (planet-wise). Strength order: Level 1 (planets in star of occupant) > Level 2 (occupants) > Level 3 (planets in star of owner) > Level 4 (house owner).
5444
+ */
5445
+ significators: {
5446
+ houseWise: Array<{
5447
+ /**
5448
+ * House number 1-12
5449
+ */
5450
+ house: number;
5451
+ significators: Array<{
5452
+ /**
5453
+ * KP significator strength level (1-4). L1: planets in star of occupant (strongest). L2: occupant itself. L3: planets in star of owner. L4: sign owner. Lower number = stronger signification for this house.
5454
+ */
5455
+ level: number;
5456
+ /**
5457
+ * Human-readable label for this KP significator level.
5458
+ */
5459
+ description: string;
5460
+ /**
5461
+ * Planets signifying this house at this strength level.
5462
+ */
5463
+ planets: Array<string>;
5464
+ }>;
5465
+ /**
5466
+ * All significators in order of strength
5467
+ */
5468
+ all: Array<string>;
5469
+ }>;
5470
+ planetWise: Array<{
5471
+ /**
5472
+ * Vedic graha (planet) being analyzed for its house significations.
5473
+ */
5474
+ planet: string;
5475
+ signifies: Array<{
5476
+ /**
5477
+ * KP significator strength level (1-4). L1 strongest, L4 weakest.
5478
+ */
5479
+ level: number;
5480
+ /**
5481
+ * House numbers this planet signifies at this strength level.
5482
+ */
5483
+ houses: Array<number>;
5484
+ }>;
5485
+ /**
5486
+ * All houses signified in order of strength
5487
+ */
5488
+ allHouses: Array<number>;
5489
+ }>;
5490
+ };
5491
+ /**
5492
+ * Significations of each of the twelve bhavas (houses), keyed by house number 1 to 12, as short keywords. Bhava 1 is the Lagna (self, body, vitality), 2 wealth and speech, 4 home and mother, 7 marriage and partnership, 10 career and status, 11 gains. Use it to label the house numbers returned elsewhere in the response: a Vimshottari dasha period signifying houses 2, 7 and 8, or a KP significator carrying houses 11 and 6, becomes readable text without a separate lookup call. Returned once per response rather than repeated per period, and localized by the lang query parameter alongside every other interpretation field.
5493
+ */
5494
+ houseThemes: {
5495
+ [key: string]: Array<string>;
5496
+ };
5497
+ /**
5498
+ * Which signification vocabulary produced the houseThemes keywords in this response, echoing the focus query parameter. Always present, and "general" when the parameter was omitted. Read it to label a rendered house legend, or to tell two cached responses apart when only one asked for the finance lens.
5499
+ */
5500
+ focus: 'general' | 'finance';
5501
+ };
5502
+ export type KpHoraryRequest = {
5503
+ /**
5504
+ * Horary number from 1 to 249, given by the querent while focused on their question. It maps to one of the 249 KP sub divisions of the zodiac, and that division sets the Ascendant of the chart. The querent should give the first number that comes to mind and use it once for that question; the astrologer never chooses it. Numbers outside 1 to 249 are rejected rather than wrapped, because a wrapped number would silently answer a different question.
5505
+ */
5506
+ horaryNumber: number;
5507
+ /**
5508
+ * Date the question was taken up for judgment, YYYY-MM-DD. Not a birth date: a horary chart needs no birth details at all, which is the point of the method.
5509
+ */
5510
+ date: string;
5511
+ /**
5512
+ * Time the question was taken up for judgment, 24-hour HH:MM:SS. In KP practice this is the moment the astrologer receives and understands the question, not the moment the querent first thought of it. It sets every planetary position and all twelve cusps except the Ascendant.
5513
+ */
5514
+ time: string;
5515
+ /**
5516
+ * Latitude where the question is judged, decimal degrees. The house cusps are Placidus and therefore latitude dependent, so this is the place of judgment, not the querent birthplace.
5517
+ */
5518
+ latitude: number;
5519
+ /**
5520
+ * Longitude where the question is judged, decimal degrees.
5521
+ */
5522
+ longitude: number;
5523
+ /**
5524
+ * Timezone: IANA name (e.g. "Asia/Kolkata") OR decimal hours from UTC. Defaults to 5.5.
5525
+ */
5526
+ timezone?: number | string;
5527
+ /**
5528
+ * Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula (most common for KP). "kp-old" uses the Krishnamurti original table. "lahiri" uses Lahiri/Chitrapaksha ayanamsa matching most traditional Vedic software. "raman" uses the B.V. Raman ayanamsa, about 1.45 degrees below Lahiri. "custom" allows providing your own value via ayanamsaValue. Defaults to "kp-newcomb".
5529
+ */
5530
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
5531
+ /**
5532
+ * Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.
5533
+ */
5534
+ ayanamsaValue?: number;
5535
+ /**
5536
+ * Lunar node type for Rahu and Ketu positions. "mean" uses the smooth mean node (traditional Vedic astrology default). "true" uses the osculating node with perturbation corrections, oscillating up to 1.5 degrees from mean with a 173-day period. Impacts KP sub-lord assignments in narrow boundary cases. Defaults to "mean".
5537
+ */
5538
+ nodeType?: 'mean' | 'true';
5539
+ };
5028
5540
  export type RashiListResponse = Array<{
5029
5541
  /**
5030
5542
  * Unique slug identifier for the rashi. Used in URL paths and cross-references.
@@ -5135,62 +5647,75 @@ export type NakshatraListResponse = Array<{
5135
5647
  */
5136
5648
  rituals: string;
5137
5649
  };
5138
- }>;
5139
- export type NakshatraResponse = {
5140
- /**
5141
- * Unique slug identifier for the nakshatra. Used in URL paths and cross-references.
5142
- */
5143
- id: string;
5144
- /**
5145
- * Nakshatra name as used in Vedic astrology. One of 27 lunar mansions spanning 13 degrees 20 minutes each.
5146
- */
5147
- name: string;
5148
- /**
5149
- * Sequential number (1-27) of this nakshatra in the zodiac starting from 0 degrees Aries.
5150
- */
5151
- number: number;
5152
- /**
5153
- * Sidereal longitude range this nakshatra occupies within its zodiac sign.
5154
- */
5155
- range: string;
5156
- /**
5157
- * Ruling planet (nakshatra lord) used in Vimshottari dasha calculations. Determines the planetary period sequence.
5158
- */
5159
- lord: string;
5160
- /**
5161
- * Presiding deity of the nakshatra. Influences the spiritual qualities and mythology associated with natives.
5162
- */
5163
- deity: string;
5164
- /**
5165
- * Traditional symbol representing this nakshatra. Reflects its core nature and energy.
5166
- */
5167
- symbol: string;
5168
- /**
5169
- * Personality traits, behavioral tendencies, and life themes for natives born under this nakshatra.
5170
- */
5171
- characteristics: string;
5650
+ }>;
5651
+ export type NakshatraResponse = {
5652
+ /**
5653
+ * Unique slug identifier for the nakshatra. Used in URL paths and cross-references.
5654
+ */
5655
+ id: string;
5656
+ /**
5657
+ * Nakshatra name as used in Vedic astrology. One of 27 lunar mansions spanning 13 degrees 20 minutes each.
5658
+ */
5659
+ name: string;
5660
+ /**
5661
+ * Sequential number (1-27) of this nakshatra in the zodiac starting from 0 degrees Aries.
5662
+ */
5663
+ number: number;
5664
+ /**
5665
+ * Sidereal longitude range this nakshatra occupies within its zodiac sign.
5666
+ */
5667
+ range: string;
5668
+ /**
5669
+ * Ruling planet (nakshatra lord) used in Vimshottari dasha calculations. Determines the planetary period sequence.
5670
+ */
5671
+ lord: string;
5672
+ /**
5673
+ * Presiding deity of the nakshatra. Influences the spiritual qualities and mythology associated with natives.
5674
+ */
5675
+ deity: string;
5676
+ /**
5677
+ * Traditional symbol representing this nakshatra. Reflects its core nature and energy.
5678
+ */
5679
+ symbol: string;
5680
+ /**
5681
+ * Personality traits, behavioral tendencies, and life themes for natives born under this nakshatra.
5682
+ */
5683
+ characteristics: string;
5684
+ /**
5685
+ * Traditional Vedic remedies including mantras, gemstones, and rituals for this nakshatra.
5686
+ */
5687
+ remedies: {
5688
+ /**
5689
+ * Recommended mantras for this nakshatra to enhance positive qualities.
5690
+ */
5691
+ mantras: string;
5692
+ /**
5693
+ * Recommended gemstones aligned with the ruling planet of this nakshatra.
5694
+ */
5695
+ gemstones: string;
5696
+ /**
5697
+ * Spiritual practices and daily rituals beneficial for natives of this nakshatra.
5698
+ */
5699
+ rituals: string;
5700
+ };
5701
+ };
5702
+ /**
5703
+ * Complete upagraha positions for a birth chart
5704
+ */
5705
+ export type UpagrahaResponse = {
5172
5706
  /**
5173
- * Traditional Vedic remedies including mantras, gemstones, and rituals for this nakshatra.
5707
+ * The sidereal frame this response was computed in, so a cached or forwarded payload is self describing.
5174
5708
  */
5175
- remedies: {
5709
+ frame: {
5176
5710
  /**
5177
- * Recommended mantras for this nakshatra to enhance positive qualities.
5711
+ * Sidereal frame this chart was cast in, echoing the ayanamsa request field. "lahiri" when the field was omitted.
5178
5712
  */
5179
- mantras: string;
5713
+ ayanamsa: string;
5180
5714
  /**
5181
- * Recommended gemstones aligned with the ruling planet of this nakshatra.
5715
+ * Degrees actually subtracted from every tropical longitude to produce this chart, read at the birth instant. Subtract it back to recover the tropical positions, or compare it against your reference software to confirm you are in the same frame before chasing a placement difference.
5182
5716
  */
5183
- gemstones: string;
5184
- /**
5185
- * Spiritual practices and daily rituals beneficial for natives of this nakshatra.
5186
- */
5187
- rituals: string;
5717
+ ayanamsaDegrees: number;
5188
5718
  };
5189
- };
5190
- /**
5191
- * Complete upagraha positions for a birth chart
5192
- */
5193
- export type UpagrahaResponse = {
5194
5719
  /**
5195
5720
  * Time-based upagrahas derived from the 8-part division of day or night. Gulika and Mandi are from Saturn segment, others from Sun, Mars, Mercury, Jupiter segments. Positions depend on birth time, location, and weekday.
5196
5721
  */
@@ -5279,11 +5804,32 @@ export type UpagrahaRequest = {
5279
5804
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
5280
5805
  */
5281
5806
  timezone?: number | string;
5807
+ /**
5808
+ * Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.
5809
+ */
5810
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
5811
+ /**
5812
+ * Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.
5813
+ */
5814
+ ayanamsaValue?: number;
5282
5815
  };
5283
5816
  /**
5284
5817
  * Complete Ashtakavarga analysis for a birth chart
5285
5818
  */
5286
5819
  export type AshtakavargaResponse = {
5820
+ /**
5821
+ * The sidereal frame this response was computed in, so a cached or forwarded payload is self describing.
5822
+ */
5823
+ frame: {
5824
+ /**
5825
+ * Sidereal frame this chart was cast in, echoing the ayanamsa request field. "lahiri" when the field was omitted.
5826
+ */
5827
+ ayanamsa: string;
5828
+ /**
5829
+ * Degrees actually subtracted from every tropical longitude to produce this chart, read at the birth instant. Subtract it back to recover the tropical positions, or compare it against your reference software to confirm you are in the same frame before chasing a placement difference.
5830
+ */
5831
+ ayanamsaDegrees: number;
5832
+ };
5287
5833
  /**
5288
5834
  * Individual planetary strength grids (Bhinnashtakavarga). Eight entries: one for each of the 7 classical planets plus Lagna. Each entry shows how many of the 8 contributors (7 planets + Lagna) give benefic points to that planet in each of the 12 signs.
5289
5835
  */
@@ -5391,11 +5937,115 @@ export type AshtakavargaRequest = {
5391
5937
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
5392
5938
  */
5393
5939
  timezone?: number | string;
5940
+ /**
5941
+ * Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.
5942
+ */
5943
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
5944
+ /**
5945
+ * Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.
5946
+ */
5947
+ ayanamsaValue?: number;
5394
5948
  };
5395
5949
  /**
5396
5950
  * Complete Shadbala (six-fold planetary strength) analysis for a birth chart per Brihat Parashara Hora Shastra (BPHS).
5397
5951
  */
5398
5952
  export type ShadbalaResponse = {
5953
+ /**
5954
+ * Localized name and one-line meaning for each of the six Shadbala components, keyed by the same field names each planet entry uses. Join it to render a readable strength breakdown in any of the eight supported languages instead of showing six untranslated Sanskrit terms.
5955
+ */
5956
+ balaThemes: {
5957
+ /**
5958
+ * Localized label and meaning for one Shadbala component.
5959
+ */
5960
+ sthanaBala: {
5961
+ /**
5962
+ * Localized name of this Shadbala component, suitable for a table header or a bar label.
5963
+ */
5964
+ name: string;
5965
+ /**
5966
+ * One-line localized explanation of what this component measures.
5967
+ */
5968
+ meaning: string;
5969
+ };
5970
+ /**
5971
+ * Localized label and meaning for one Shadbala component.
5972
+ */
5973
+ digBala: {
5974
+ /**
5975
+ * Localized name of this Shadbala component, suitable for a table header or a bar label.
5976
+ */
5977
+ name: string;
5978
+ /**
5979
+ * One-line localized explanation of what this component measures.
5980
+ */
5981
+ meaning: string;
5982
+ };
5983
+ /**
5984
+ * Localized label and meaning for one Shadbala component.
5985
+ */
5986
+ kalaBala: {
5987
+ /**
5988
+ * Localized name of this Shadbala component, suitable for a table header or a bar label.
5989
+ */
5990
+ name: string;
5991
+ /**
5992
+ * One-line localized explanation of what this component measures.
5993
+ */
5994
+ meaning: string;
5995
+ };
5996
+ /**
5997
+ * Localized label and meaning for one Shadbala component.
5998
+ */
5999
+ chestaBala: {
6000
+ /**
6001
+ * Localized name of this Shadbala component, suitable for a table header or a bar label.
6002
+ */
6003
+ name: string;
6004
+ /**
6005
+ * One-line localized explanation of what this component measures.
6006
+ */
6007
+ meaning: string;
6008
+ };
6009
+ /**
6010
+ * Localized label and meaning for one Shadbala component.
6011
+ */
6012
+ naisargikaBala: {
6013
+ /**
6014
+ * Localized name of this Shadbala component, suitable for a table header or a bar label.
6015
+ */
6016
+ name: string;
6017
+ /**
6018
+ * One-line localized explanation of what this component measures.
6019
+ */
6020
+ meaning: string;
6021
+ };
6022
+ /**
6023
+ * Localized label and meaning for one Shadbala component.
6024
+ */
6025
+ drikBala: {
6026
+ /**
6027
+ * Localized name of this Shadbala component, suitable for a table header or a bar label.
6028
+ */
6029
+ name: string;
6030
+ /**
6031
+ * One-line localized explanation of what this component measures.
6032
+ */
6033
+ meaning: string;
6034
+ };
6035
+ };
6036
+ /**
6037
+ * The sidereal frame this response was computed in, so a cached or forwarded payload is self describing.
6038
+ */
6039
+ frame: {
6040
+ /**
6041
+ * Sidereal frame this chart was cast in, echoing the ayanamsa request field. "lahiri" when the field was omitted.
6042
+ */
6043
+ ayanamsa: string;
6044
+ /**
6045
+ * Degrees actually subtracted from every tropical longitude to produce this chart, read at the birth instant. Subtract it back to recover the tropical positions, or compare it against your reference software to confirm you are in the same frame before chasing a placement difference.
6046
+ */
6047
+ ayanamsaDegrees: number;
6048
+ };
5399
6049
  /**
5400
6050
  * Shadbala analysis for all 7 classical planets. Ordered: Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn. Each entry contains all 6 strength components, total strength in virupas and Rupas, Ishta/Kashta Phala, minimum required threshold, strength ratio, and relative rank.
5401
6051
  */
@@ -5479,11 +6129,32 @@ export type ShadbalaRequest = {
5479
6129
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
5480
6130
  */
5481
6131
  timezone?: number | string;
6132
+ /**
6133
+ * Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.
6134
+ */
6135
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
6136
+ /**
6137
+ * Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.
6138
+ */
6139
+ ayanamsaValue?: number;
5482
6140
  };
5483
6141
  /**
5484
6142
  * The twelve Arudha padas of a birth chart, computed per the Jaimini rule with the classical exception applied.
5485
6143
  */
5486
6144
  export type ArudhaResponse = {
6145
+ /**
6146
+ * The sidereal frame this response was computed in, so a cached or forwarded payload is self describing.
6147
+ */
6148
+ frame: {
6149
+ /**
6150
+ * Sidereal frame this chart was cast in, echoing the ayanamsa request field. "lahiri" when the field was omitted.
6151
+ */
6152
+ ayanamsa: string;
6153
+ /**
6154
+ * Degrees actually subtracted from every tropical longitude to produce this chart, read at the birth instant. Subtract it back to recover the tropical positions, or compare it against your reference software to confirm you are in the same frame before chasing a placement difference.
6155
+ */
6156
+ ayanamsaDegrees: number;
6157
+ };
5487
6158
  /**
5488
6159
  * Zodiac sign of the Ascendant (Lagna), which anchors the twelve bhavas the padas are derived from.
5489
6160
  */
@@ -5571,11 +6242,32 @@ export type ArudhaRequest = {
5571
6242
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
5572
6243
  */
5573
6244
  timezone?: number | string;
6245
+ /**
6246
+ * Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.
6247
+ */
6248
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
6249
+ /**
6250
+ * Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.
6251
+ */
6252
+ ayanamsaValue?: number;
5574
6253
  };
5575
6254
  /**
5576
6255
  * Chara Karakas for a birth chart: the movable significators of Jaimini astrology, ranked by how far each graha has advanced into its sign.
5577
6256
  */
5578
6257
  export type CharaKarakaResponse = {
6258
+ /**
6259
+ * The sidereal frame this response was computed in, so a cached or forwarded payload is self describing.
6260
+ */
6261
+ frame: {
6262
+ /**
6263
+ * Sidereal frame this chart was cast in, echoing the ayanamsa request field. "lahiri" when the field was omitted.
6264
+ */
6265
+ ayanamsa: string;
6266
+ /**
6267
+ * Degrees actually subtracted from every tropical longitude to produce this chart, read at the birth instant. Subtract it back to recover the tropical positions, or compare it against your reference software to confirm you are in the same frame before chasing a placement difference.
6268
+ */
6269
+ ayanamsaDegrees: number;
6270
+ };
5579
6271
  /**
5580
6272
  * Scheme the ranking used, echoed back so a cached or logged response is self describing.
5581
6273
  */
@@ -5655,6 +6347,14 @@ export type CharaKarakaRequest = {
5655
6347
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
5656
6348
  */
5657
6349
  timezone?: number | string;
6350
+ /**
6351
+ * Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.
6352
+ */
6353
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
6354
+ /**
6355
+ * Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.
6356
+ */
6357
+ ayanamsaValue?: number;
5658
6358
  /**
5659
6359
  * Which Chara Karaka scheme to rank. "eight" includes Rahu, counting its degree in reverse because it moves retrograde, and returns eight offices including Pitrikaraka. "seven" ranks only the seven classical grahas and drops Pitrikaraka. Ketu is excluded from both, since it always mirrors the Rahu degree exactly. The two schemes can produce a different Atmakaraka for the same chart, so select the one your reference software uses. Defaults to "eight".
5660
6360
  */
@@ -5664,6 +6364,19 @@ export type CharaKarakaRequest = {
5664
6364
  * Complete Bhava Bala (house strength) analysis per Brihat Parashara Hora Shastra, with a localized house-meaning legend.
5665
6365
  */
5666
6366
  export type BhavaBalaResponse = {
6367
+ /**
6368
+ * The sidereal frame this response was computed in, so a cached or forwarded payload is self describing.
6369
+ */
6370
+ frame: {
6371
+ /**
6372
+ * Sidereal frame this chart was cast in, echoing the ayanamsa request field. "lahiri" when the field was omitted.
6373
+ */
6374
+ ayanamsa: string;
6375
+ /**
6376
+ * Degrees actually subtracted from every tropical longitude to produce this chart, read at the birth instant. Subtract it back to recover the tropical positions, or compare it against your reference software to confirm you are in the same frame before chasing a placement difference.
6377
+ */
6378
+ ayanamsaDegrees: number;
6379
+ };
5667
6380
  /**
5668
6381
  * House frame the bhavas were built on. Always sripati: Bhava Bala is defined on unequal bhava madhyas, not on whole signs.
5669
6382
  */
@@ -5745,11 +6458,32 @@ export type BhavaBalaRequest = {
5745
6458
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
5746
6459
  */
5747
6460
  timezone?: number | string;
6461
+ /**
6462
+ * Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.
6463
+ */
6464
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
6465
+ /**
6466
+ * Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.
6467
+ */
6468
+ ayanamsaValue?: number;
5748
6469
  };
5749
6470
  /**
5750
6471
  * Bhav Chalit (Chalit Kundli): every graha placed by unequal Sripati bhava, with the whole-sign placement beside it for comparison.
5751
6472
  */
5752
6473
  export type BhavChalitResponse = {
6474
+ /**
6475
+ * The sidereal frame this response was computed in, so a cached or forwarded payload is self describing.
6476
+ */
6477
+ frame: {
6478
+ /**
6479
+ * Sidereal frame this chart was cast in, echoing the ayanamsa request field. "lahiri" when the field was omitted.
6480
+ */
6481
+ ayanamsa: string;
6482
+ /**
6483
+ * Degrees actually subtracted from every tropical longitude to produce this chart, read at the birth instant. Subtract it back to recover the tropical positions, or compare it against your reference software to confirm you are in the same frame before chasing a placement difference.
6484
+ */
6485
+ ayanamsaDegrees: number;
6486
+ };
5753
6487
  /**
5754
6488
  * House frame used to build the bhavas. Always sripati for the Chalit chart.
5755
6489
  */
@@ -5860,6 +6594,124 @@ export type BhavChalitRequest = {
5860
6594
  * Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
5861
6595
  */
5862
6596
  timezone?: number | string;
6597
+ /**
6598
+ * Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.
6599
+ */
6600
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
6601
+ /**
6602
+ * Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.
6603
+ */
6604
+ ayanamsaValue?: number;
6605
+ };
6606
+ /**
6607
+ * Heliacal rising and setting status of the six visible grahas.
6608
+ */
6609
+ export type HeliacalResponse = {
6610
+ /**
6611
+ * Local calendar date the verdicts were read for, echoed from the request.
6612
+ */
6613
+ date: string;
6614
+ /**
6615
+ * One entry per visible graha, in classical order. A graha is omitted only when no horizon crossing exists for it at this latitude on this day.
6616
+ */
6617
+ grahas: Array<{
6618
+ /**
6619
+ * Graha name. Only the six with a visible body appear: Moon, Mars, Mercury, Jupiter, Venus and Saturn. The Sun cannot be lost in his own glare, and Rahu and Ketu are computed points with nothing to see.
6620
+ */
6621
+ graha: string;
6622
+ /**
6623
+ * Whether the graha clears the Sun glare on this day. False is the state a practitioner calls asta or combust, during which classical muhurta withholds auspicious ceremonies, most strictly marriage while Jupiter or Venus is invisible.
6624
+ */
6625
+ visible: boolean;
6626
+ /**
6627
+ * Horizon this graha is currently judged at. West means it sets after the Sun and is an evening object, east that it rises before him and is a morning one.
6628
+ */
6629
+ horizon: 'east' | 'west';
6630
+ /**
6631
+ * Separation from the Sun in degrees of TIME (kalamsa), measured along the equator between the two bodies horizon crossings. This is the quantity Surya Siddhanta actually compares against the limit, and it is not the same as the difference of ecliptic longitudes: the two diverge by roughly 3 degrees at Mumbai and by more than 15 further north, because it accounts for the angle the ecliptic makes with the local horizon.
6632
+ */
6633
+ timeDegrees: number;
6634
+ /**
6635
+ * The limit in degrees of time this graha must clear to be seen, per Surya Siddhanta ch. IX vv.6-8 and ch. X.1: Moon 12, Jupiter 11, Saturn 15, Mars 17, Venus 10 or 8, Mercury 14 or 12. Larger means the graha is fainter and needs more distance from the Sun.
6636
+ */
6637
+ kalamsa: number;
6638
+ /**
6639
+ * Whether the graha is retrograde, which for Mercury and Venus tightens the limit (Venus 10 to 8, Mercury 14 to 12). Retrograde puts them near inferior conjunction where they are far closer to Earth, so the larger brighter disk survives closer to the Sun.
6640
+ */
6641
+ retrograde: boolean;
6642
+ /**
6643
+ * Plain angular separation of the two ecliptic longitudes, in degrees. Returned beside timeDegrees so the two measures can be compared: this is what a combustion flag on a birth chart uses, and the gap between them is precisely what a location-aware heliacal calculation adds.
6644
+ */
6645
+ longitudeSeparation: number;
6646
+ /**
6647
+ * The event that produced the current state, or null when none falls inside the search horizon (up to about one synodic period, so Mars can legitimately have none).
6648
+ */
6649
+ lastEvent: {
6650
+ /**
6651
+ * Udaya is heliacal rising, the graha re-emerging from the Sun rays and becoming visible again. Asta (also called lopa, moudhya or moudyami) is heliacal setting, the graha disappearing into them. Stable Sanskrit keys, never translated.
6652
+ */
6653
+ type: 'udaya' | 'asta';
6654
+ /**
6655
+ * Horizon the event happens at. East means it is read before sunrise, so the graha is a morning object; west means after sunset, an evening object. A graha crosses to the other horizon as it passes the Sun, which is why an asta and the udaya that follows it are usually on opposite horizons.
6656
+ */
6657
+ horizon: 'east' | 'west';
6658
+ /**
6659
+ * Local civil datetime of the event (YYYY-MM-DDTHH:MM:SS), being the moment the graha itself crosses the horizon on the day its verdict changes. That instant, rather than sunrise or sunset, is what published Asta tables print.
6660
+ */
6661
+ datetime: string;
6662
+ /**
6663
+ * Separation from the Sun in degrees of time on the event day, measured the way the classical rule requires. Sits just either side of kalamsa, since that crossing is what defines the event.
6664
+ */
6665
+ timeDegrees: number;
6666
+ /**
6667
+ * The limit that was crossed. Can differ from the current reading limit for Mercury and Venus, whose limit tightens when they are retrograde, so an asta entered while retrograde may be left at a different threshold.
6668
+ */
6669
+ kalamsa: number;
6670
+ } | null;
6671
+ /**
6672
+ * The event that will end the current state, or null when none falls inside the search horizon. For an invisible graha this is the udaya a practitioner is waiting for, so it answers when Guru Asta or Shukra Asta lifts.
6673
+ */
6674
+ nextEvent: {
6675
+ /**
6676
+ * Udaya is heliacal rising, the graha re-emerging from the Sun rays and becoming visible again. Asta (also called lopa, moudhya or moudyami) is heliacal setting, the graha disappearing into them. Stable Sanskrit keys, never translated.
6677
+ */
6678
+ type: 'udaya' | 'asta';
6679
+ /**
6680
+ * Horizon the event happens at. East means it is read before sunrise, so the graha is a morning object; west means after sunset, an evening object. A graha crosses to the other horizon as it passes the Sun, which is why an asta and the udaya that follows it are usually on opposite horizons.
6681
+ */
6682
+ horizon: 'east' | 'west';
6683
+ /**
6684
+ * Local civil datetime of the event (YYYY-MM-DDTHH:MM:SS), being the moment the graha itself crosses the horizon on the day its verdict changes. That instant, rather than sunrise or sunset, is what published Asta tables print.
6685
+ */
6686
+ datetime: string;
6687
+ /**
6688
+ * Separation from the Sun in degrees of time on the event day, measured the way the classical rule requires. Sits just either side of kalamsa, since that crossing is what defines the event.
6689
+ */
6690
+ timeDegrees: number;
6691
+ /**
6692
+ * The limit that was crossed. Can differ from the current reading limit for Mercury and Venus, whose limit tightens when they are retrograde, so an asta entered while retrograde may be left at a different threshold.
6693
+ */
6694
+ kalamsa: number;
6695
+ } | null;
6696
+ }>;
6697
+ };
6698
+ export type HeliacalRequest = {
6699
+ /**
6700
+ * Local calendar date to judge, in YYYY-MM-DD format. There is deliberately no time field: heliacal visibility is a once-a-day verdict read at that day sunrise or sunset, so a clock time could only pick a different day.
6701
+ */
6702
+ date: string;
6703
+ /**
6704
+ * Observer latitude in decimal degrees, restricted to -60 to 60. Visibility depends on the observer, unlike the longitude orb every chart API reports, because the angle the ecliptic makes with the horizon decides how long a graha lingers after the Sun. Beyond this band the classical rule stops describing solar glare and starts describing polar horizon geometry, so it is declined rather than answered wrongly.
6705
+ */
6706
+ latitude: number;
6707
+ /**
6708
+ * Observer longitude in decimal degrees. Sets local sunrise and sunset, which are the instants the verdict is read at. Example: Mumbai 72.8777, Delhi 77.2090, London -0.1278.
6709
+ */
6710
+ longitude: number;
6711
+ /**
6712
+ * Timezone: IANA name (e.g. "Asia/Kolkata", "Europe/London") OR decimal hours from UTC. Fixes which local day the date refers to, and every datetime in the response is returned in it. Defaults to 5.5.
6713
+ */
6714
+ timezone?: number | string;
5863
6715
  };
5864
6716
  export type BasicCard = {
5865
6717
  /**
@@ -9140,7 +9992,7 @@ export type PostAstrologyTransitAspectsResponses = {
9140
9992
  * Aspect nature. Harmonious (trine, sextile) flows easily. Challenging (square, opposition) creates tension and growth. Neutral (conjunction) blends energies.
9141
9993
  */
9142
9994
  interpretation: 'harmonious' | 'challenging' | 'neutral';
9143
- };
9995
+ } | null;
9144
9996
  /**
9145
9997
  * Transit aspect counts grouped by aspect type (conjunction, trine, square, opposition, sextile, etc.). Useful for quickly assessing the transit weather.
9146
9998
  */
@@ -10735,7 +11587,7 @@ export type PostAstrologyCompatibilityScoreResponses = {
10735
11587
  /**
10736
11588
  * Dominant element shared by both charts, or null if dominant elements differ.
10737
11589
  */
10738
- sharedElement: string;
11590
+ sharedElement: string | null;
10739
11591
  /**
10740
11592
  * How the elemental balance between charts shapes the relationship dynamic.
10741
11593
  */
@@ -12229,7 +13081,7 @@ export type PostAstrologyFixedStarsData = {
12229
13081
  /**
12230
13082
  * Conjunction orb in degrees, the maximum separation for a star to count as conjunct a chart point. Defaults to 1, maximum 3. Widen it to surface looser contacts or tighten it for only the closest hits.
12231
13083
  */
12232
- orb?: number;
13084
+ orb?: number | null;
12233
13085
  };
12234
13086
  url: '/astrology/fixed-stars';
12235
13087
  };
@@ -13181,7 +14033,7 @@ export type PostVedicAstrologyBirthChartErrors = {
13181
14033
  export type PostVedicAstrologyBirthChartError = PostVedicAstrologyBirthChartErrors[keyof PostVedicAstrologyBirthChartErrors];
13182
14034
  export type PostVedicAstrologyBirthChartResponses = {
13183
14035
  /**
13184
- * D1 Rashi birth chart with all 12 houses, 9 grahas plus Lagna, combustion analysis (Surya Siddhanta orbs), planetary war detection, bhava interpretations, and a meta lookup keyed by planet name.
14036
+ * D1 Rashi birth chart with all 12 houses, 9 grahas plus Lagna, combustion analysis (Surya Siddhanta limits, applied as the standard ecliptic longitude orb), planetary war detection, bhava interpretations, and a meta lookup keyed by planet name.
13185
14037
  */
13186
14038
  200: BirthChartResponse;
13187
14039
  };
@@ -17022,11 +17874,11 @@ export type PostVedicAstrologyPanchangDetailedResponses = {
17022
17874
  /**
17023
17875
  * Moonrise time in the requested timezone. Can be null if Moon does not rise on this date.
17024
17876
  */
17025
- moonrise: string;
17877
+ moonrise: string | null;
17026
17878
  /**
17027
17879
  * Moonset time in the requested timezone. Can be null if Moon does not set on this date.
17028
17880
  */
17029
- moonset: string;
17881
+ moonset: string | null;
17030
17882
  /**
17031
17883
  * Moon sign (Chandra Rashi) at sunrise. Central to Vedic astrology. determines daily emotional tone, Chandrabalam, and Tarabalam.
17032
17884
  */
@@ -17250,7 +18102,7 @@ export type PostVedicAstrologyPanchangDetailedResponses = {
17250
18102
  * Period end time in ISO 8601 format. Timezone-adjusted based on the input timezone offset.
17251
18103
  */
17252
18104
  end: string;
17253
- };
18105
+ } | null;
17254
18106
  /**
17255
18107
  * Brahma Muhurta, sacred pre-dawn period approximately 96 minutes before sunrise (14th of 15 night muhurtas). Considered the best time for meditation, mantra japa, Vedic study, and spiritual sadhana. Referenced in Ashtanga Hridaya and Dharmashastra texts.
17256
18108
  */
@@ -17302,7 +18154,7 @@ export type PostVedicAstrologyPanchangDetailedResponses = {
17302
18154
  * Period end time in ISO 8601 format. Timezone-adjusted based on the input timezone offset.
17303
18155
  */
17304
18156
  end: string;
17305
- };
18157
+ } | null;
17306
18158
  /**
17307
18159
  * Pratah Sandhya, morning twilight junction period for Sandhyavandanam prayer. Spans 3 night ghatis before sunrise to sunrise. Duration varies by location and season based on ratrimana (night duration). One of the three daily Sandhya prayer times prescribed in Dharmashastra.
17308
18160
  */
@@ -17315,7 +18167,7 @@ export type PostVedicAstrologyPanchangDetailedResponses = {
17315
18167
  * Period end time in ISO 8601 format. Timezone-adjusted based on the input timezone offset.
17316
18168
  */
17317
18169
  end: string;
17318
- };
18170
+ } | null;
17319
18171
  /**
17320
18172
  * Sayahna Sandhya, evening twilight junction period for Sandhyavandanam prayer. Spans sunset to 3 night ghatis after sunset. Duration varies by location and season based on ratrimana (night duration). One of the three daily Sandhya prayer times prescribed in Dharmashastra.
17321
18173
  */
@@ -17328,7 +18180,7 @@ export type PostVedicAstrologyPanchangDetailedResponses = {
17328
18180
  * Period end time in ISO 8601 format. Timezone-adjusted based on the input timezone offset.
17329
18181
  */
17330
18182
  end: string;
17331
- };
18183
+ } | null;
17332
18184
  /**
17333
18185
  * Dur Muhurta (Dur Muhurtam), inauspicious muhurta periods determined by the weekday. The daytime is divided into 15 muhurtas from sunrise to sunset. Specific muhurta numbers are inauspicious each weekday per Muhurta Chintamani. Each period lasts ~48 minutes. Most days have 2 Dur Muhurtas, Wednesday and Sunday have 1. Avoid initiating important activities during these periods.
17334
18186
  */
@@ -17405,15 +18257,15 @@ export type PostVedicAstrologyPanchangDetailedResponses = {
17405
18257
  /**
17406
18258
  * Panchaka dosha, set by the weekday the period BEGINS (not the nakshatra): Roga (Sunday, disease), Raja (Monday, government), Agni (Tuesday, fire), Chora (Friday, theft), Mrityu (Saturday, death). Null when Panchaka begins on Wednesday or Thursday (no dosha) or when no Panchaka touches this date.
17407
18259
  */
17408
- type: string;
18260
+ type: string | null;
17409
18261
  /**
17410
18262
  * When the Panchaka period starts (Moon enters 300 degrees, Dhanishta 3rd pada). May predate this date when Panchaka is already running. Null when no Panchaka is in force or begins on this date. In requested timezone.
17411
18263
  */
17412
- startsAt: string;
18264
+ startsAt: string | null;
17413
18265
  /**
17414
18266
  * When the Panchaka period ends (Moon exits Revati at 360 degrees), about five days after it starts. Null when no Panchaka. In requested timezone.
17415
18267
  */
17416
- endsAt: string;
18268
+ endsAt: string | null;
17417
18269
  };
17418
18270
  /**
17419
18271
  * Bhadra (Vishti Karana), the 7th movable karana, avoided for all auspicious activities. Bhadra recurs roughly every 3 to 5 days and lasts about half a tithi. active is true whenever a Bhadra is attributed to this date; startsAt and endsAt give the window, which may end on the next calendar day.
@@ -17426,11 +18278,11 @@ export type PostVedicAstrologyPanchangDetailedResponses = {
17426
18278
  /**
17427
18279
  * When the Bhadra (Vishti) period that begins on this date starts. Null when no Bhadra begins on this date. In requested timezone.
17428
18280
  */
17429
- startsAt: string;
18281
+ startsAt: string | null;
17430
18282
  /**
17431
18283
  * When the Bhadra (Vishti) period that begins on this date ends. May fall on the next calendar day. Null when no Bhadra begins on this date. In requested timezone.
17432
18284
  */
17433
- endsAt: string;
18285
+ endsAt: string | null;
17434
18286
  };
17435
18287
  /**
17436
18288
  * Panchang element transition times. exact timing of when each element (tithi, yoga, karana, nakshatra, Moon sign) changes. Calculated using binary search for ~1 minute precision. Essential for precise muhurta determination and panchang calendars.
@@ -17882,7 +18734,12 @@ export type PostVedicAstrologyPanchangHoraResponse = PostVedicAstrologyPanchangH
17882
18734
  export type PostVedicAstrologyDoshaManglikData = {
17883
18735
  body?: ManglikRequest;
17884
18736
  path?: never;
17885
- query?: never;
18737
+ query?: {
18738
+ /**
18739
+ * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
18740
+ */
18741
+ lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru';
18742
+ };
17886
18743
  url: '/vedic-astrology/dosha/manglik';
17887
18744
  };
17888
18745
  export type PostVedicAstrologyDoshaManglikErrors = {
@@ -17997,7 +18854,12 @@ export type PostVedicAstrologyDoshaManglikResponse = PostVedicAstrologyDoshaMang
17997
18854
  export type PostVedicAstrologyDoshaKalsarpaData = {
17998
18855
  body?: KalsarpaRequest;
17999
18856
  path?: never;
18000
- query?: never;
18857
+ query?: {
18858
+ /**
18859
+ * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
18860
+ */
18861
+ lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru';
18862
+ };
18001
18863
  url: '/vedic-astrology/dosha/kalsarpa';
18002
18864
  };
18003
18865
  export type PostVedicAstrologyDoshaKalsarpaErrors = {
@@ -18112,7 +18974,12 @@ export type PostVedicAstrologyDoshaKalsarpaResponse = PostVedicAstrologyDoshaKal
18112
18974
  export type PostVedicAstrologyDoshaSadhesatiData = {
18113
18975
  body?: SadhesatiRequest;
18114
18976
  path?: never;
18115
- query?: never;
18977
+ query?: {
18978
+ /**
18979
+ * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
18980
+ */
18981
+ lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru';
18982
+ };
18116
18983
  url: '/vedic-astrology/dosha/sadhesati';
18117
18984
  };
18118
18985
  export type PostVedicAstrologyDoshaSadhesatiErrors = {
@@ -19774,6 +20641,130 @@ export type PostVedicAstrologyKpPlanetsIntervalResponses = {
19774
20641
  200: KpPlanetsIntervalResponse;
19775
20642
  };
19776
20643
  export type PostVedicAstrologyKpPlanetsIntervalResponse = PostVedicAstrologyKpPlanetsIntervalResponses[keyof PostVedicAstrologyKpPlanetsIntervalResponses];
20644
+ export type PostVedicAstrologyKpHoraryData = {
20645
+ body?: KpHoraryRequest;
20646
+ path?: never;
20647
+ query?: {
20648
+ /**
20649
+ * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
20650
+ */
20651
+ lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru';
20652
+ /**
20653
+ * Which signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general".
20654
+ */
20655
+ focus?: 'general' | 'finance';
20656
+ };
20657
+ url: '/vedic-astrology/kp/horary';
20658
+ };
20659
+ export type PostVedicAstrologyKpHoraryErrors = {
20660
+ /**
20661
+ * Validation error. `issues[]` lists every failed field.
20662
+ */
20663
+ 400: {
20664
+ /**
20665
+ * First issue summary.
20666
+ */
20667
+ error: string;
20668
+ code: 'validation_error';
20669
+ /**
20670
+ * Every validation failure. Use this to rebuild a valid request.
20671
+ */
20672
+ issues: Array<{
20673
+ /**
20674
+ * Dot-separated field path, or "(root)" for top-level.
20675
+ */
20676
+ path: string;
20677
+ message: string;
20678
+ /**
20679
+ * Zod issue code (invalid_type, too_small, too_big, invalid_string, ...).
20680
+ */
20681
+ code?: string;
20682
+ /**
20683
+ * Expected type for invalid_type.
20684
+ */
20685
+ expected?: string;
20686
+ /**
20687
+ * Minimum bound for too_small issues.
20688
+ */
20689
+ minimum?: number | string;
20690
+ /**
20691
+ * Maximum bound for too_big issues.
20692
+ */
20693
+ maximum?: number | string;
20694
+ inclusive?: boolean;
20695
+ /**
20696
+ * Format name for string issues (regex, email, url, uuid).
20697
+ */
20698
+ format?: string;
20699
+ /**
20700
+ * Regex pattern when format is regex.
20701
+ */
20702
+ pattern?: string;
20703
+ }>;
20704
+ };
20705
+ /**
20706
+ * Invalid or missing API key
20707
+ */
20708
+ 401: {
20709
+ /**
20710
+ * Human-readable error message. May change wording.
20711
+ */
20712
+ error: string;
20713
+ /**
20714
+ * Machine-readable error code. Stable identifier.
20715
+ */
20716
+ code: string;
20717
+ };
20718
+ /**
20719
+ * Method not allowed. The path exists but only responds to the methods listed in `allow[]` and the `Allow` response header.
20720
+ */
20721
+ 405: {
20722
+ error: string;
20723
+ code: 'method_not_allowed';
20724
+ /**
20725
+ * Allowed HTTP methods for this path. Mirrors the Allow response header.
20726
+ */
20727
+ allow: Array<string>;
20728
+ /**
20729
+ * Link to the product page for this domain.
20730
+ */
20731
+ docs?: string;
20732
+ };
20733
+ /**
20734
+ * Monthly rate limit exceeded
20735
+ */
20736
+ 429: {
20737
+ /**
20738
+ * Human-readable error message. May change wording.
20739
+ */
20740
+ error: string;
20741
+ /**
20742
+ * Machine-readable error code. Stable identifier.
20743
+ */
20744
+ code: string;
20745
+ };
20746
+ /**
20747
+ * Internal server error
20748
+ */
20749
+ 500: {
20750
+ /**
20751
+ * Human-readable error message. May change wording.
20752
+ */
20753
+ error: string;
20754
+ /**
20755
+ * Machine-readable error code. Stable identifier.
20756
+ */
20757
+ code: string;
20758
+ };
20759
+ };
20760
+ export type PostVedicAstrologyKpHoraryError = PostVedicAstrologyKpHoraryErrors[keyof PostVedicAstrologyKpHoraryErrors];
20761
+ export type PostVedicAstrologyKpHoraryResponses = {
20762
+ /**
20763
+ * Horary chart with the Ascendant from the number, Placidus cusps, planets at the question moment, ruling planets, and four-level significators.
20764
+ */
20765
+ 200: KpHoraryResponse;
20766
+ };
20767
+ export type PostVedicAstrologyKpHoraryResponse = PostVedicAstrologyKpHoraryResponses[keyof PostVedicAstrologyKpHoraryResponses];
19777
20768
  export type PostVedicAstrologyAspectsData = {
19778
20769
  body?: {
19779
20770
  /**
@@ -20539,7 +21530,7 @@ export type PostVedicAstrologyTransitResponses = {
20539
21530
  */
20540
21531
  natalPlanets: Array<{
20541
21532
  /**
20542
- * Planet name (Sun through Ketu plus Lagna).
21533
+ * Graha name, Sun through Ketu. The Lagna is not one of these entries; it is a house frame rather than a body, and the natal house numbers on every entry are counted from it.
20543
21534
  */
20544
21535
  name: string;
20545
21536
  /**
@@ -20556,7 +21547,7 @@ export type PostVedicAstrologyTransitResponses = {
20556
21547
  house: number;
20557
21548
  }>;
20558
21549
  /**
20559
- * Current planetary positions overlaid on the natal chart with house placements and aspects.
21550
+ * Current planetary positions overlaid on the natal chart with house placements, aspects, and the Gochara Kaksha verdict for each graha.
20560
21551
  */
20561
21552
  transitingPlanets: Array<{
20562
21553
  /**
@@ -20592,6 +21583,35 @@ export type PostVedicAstrologyTransitResponses = {
20592
21583
  */
20593
21584
  orb: number;
20594
21585
  }>;
21586
+ /**
21587
+ * Gochara Kaksha: the ashtakavarga-qualified reading of this transit. The sign says where a graha is, this says whether the exact stretch it currently occupies is one its own Bhinnashtakavarga supports, which is the classical way of refining a transit verdict from sign-level to under four degrees.
21588
+ */
21589
+ kaksha: {
21590
+ /**
21591
+ * Kaksha number 1-8 within the current sign. Each sign divides into eight kakshas of 3 degrees 45 minutes, crossed in order, so this is how far through the sign the graha has travelled.
21592
+ */
21593
+ number: number;
21594
+ /**
21595
+ * Graha ruling this kaksha. The eight lords run Saturn, Jupiter, Mars, Sun, Venus, Mercury, Moon, Lagna from the start of every sign, ordered by how long each takes to cross a sign.
21596
+ */
21597
+ lord: string;
21598
+ /**
21599
+ * Degree within the sign where this kaksha begins (0, 3.75, 7.5 and so on).
21600
+ */
21601
+ startDegree: number;
21602
+ /**
21603
+ * Degree within the sign where this kaksha ends.
21604
+ */
21605
+ endDegree: number;
21606
+ /**
21607
+ * Whether this kaksha lord gave the transiting graha a bindu in the sign being transited, which is the Gochara Kaksha verdict: true reads as a favourable stretch of the transit, false as an unfavourable one. Null means the question does not apply rather than that the answer is no, because Rahu and Ketu have no Bhinnashtakavarga to read. Never render null as unfavourable.
21608
+ */
21609
+ bindu: boolean | null;
21610
+ /**
21611
+ * Bindus the transiting graha holds in this whole sign, 0-8, or null for Rahu and Ketu. Context for the verdict, since the same kaksha reads differently in a sign worth 7 than in one worth 1.
21612
+ */
21613
+ binduCount: number | null;
21614
+ };
20595
21615
  }>;
20596
21616
  /**
20597
21617
  * Highlighted transits from slow-moving planets (Jupiter, Saturn, Rahu, Ketu), most impactful for Gochar analysis.
@@ -22096,7 +23116,12 @@ export type PostVedicAstrologyAshtakavargaResponse = PostVedicAstrologyAshtakava
22096
23116
  export type PostVedicAstrologyShadbalaData = {
22097
23117
  body?: ShadbalaRequest;
22098
23118
  path?: never;
22099
- query?: never;
23119
+ query?: {
23120
+ /**
23121
+ * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
23122
+ */
23123
+ lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru';
23124
+ };
22100
23125
  url: '/vedic-astrology/shadbala';
22101
23126
  };
22102
23127
  export type PostVedicAstrologyShadbalaErrors = {
@@ -23000,6 +24025,121 @@ export type PostVedicAstrologyBhavChalitResponses = {
23000
24025
  200: BhavChalitResponse;
23001
24026
  };
23002
24027
  export type PostVedicAstrologyBhavChalitResponse = PostVedicAstrologyBhavChalitResponses[keyof PostVedicAstrologyBhavChalitResponses];
24028
+ export type PostVedicAstrologyHeliacalData = {
24029
+ body?: HeliacalRequest;
24030
+ path?: never;
24031
+ query?: never;
24032
+ url: '/vedic-astrology/heliacal';
24033
+ };
24034
+ export type PostVedicAstrologyHeliacalErrors = {
24035
+ /**
24036
+ * Validation error. `issues[]` lists every failed field.
24037
+ */
24038
+ 400: {
24039
+ /**
24040
+ * First issue summary.
24041
+ */
24042
+ error: string;
24043
+ code: 'validation_error';
24044
+ /**
24045
+ * Every validation failure. Use this to rebuild a valid request.
24046
+ */
24047
+ issues: Array<{
24048
+ /**
24049
+ * Dot-separated field path, or "(root)" for top-level.
24050
+ */
24051
+ path: string;
24052
+ message: string;
24053
+ /**
24054
+ * Zod issue code (invalid_type, too_small, too_big, invalid_string, ...).
24055
+ */
24056
+ code?: string;
24057
+ /**
24058
+ * Expected type for invalid_type.
24059
+ */
24060
+ expected?: string;
24061
+ /**
24062
+ * Minimum bound for too_small issues.
24063
+ */
24064
+ minimum?: number | string;
24065
+ /**
24066
+ * Maximum bound for too_big issues.
24067
+ */
24068
+ maximum?: number | string;
24069
+ inclusive?: boolean;
24070
+ /**
24071
+ * Format name for string issues (regex, email, url, uuid).
24072
+ */
24073
+ format?: string;
24074
+ /**
24075
+ * Regex pattern when format is regex.
24076
+ */
24077
+ pattern?: string;
24078
+ }>;
24079
+ };
24080
+ /**
24081
+ * Invalid or missing API key
24082
+ */
24083
+ 401: {
24084
+ /**
24085
+ * Human-readable error message. May change wording.
24086
+ */
24087
+ error: string;
24088
+ /**
24089
+ * Machine-readable error code. Stable identifier.
24090
+ */
24091
+ code: string;
24092
+ };
24093
+ /**
24094
+ * Method not allowed. The path exists but only responds to the methods listed in `allow[]` and the `Allow` response header.
24095
+ */
24096
+ 405: {
24097
+ error: string;
24098
+ code: 'method_not_allowed';
24099
+ /**
24100
+ * Allowed HTTP methods for this path. Mirrors the Allow response header.
24101
+ */
24102
+ allow: Array<string>;
24103
+ /**
24104
+ * Link to the product page for this domain.
24105
+ */
24106
+ docs?: string;
24107
+ };
24108
+ /**
24109
+ * Monthly rate limit exceeded
24110
+ */
24111
+ 429: {
24112
+ /**
24113
+ * Human-readable error message. May change wording.
24114
+ */
24115
+ error: string;
24116
+ /**
24117
+ * Machine-readable error code. Stable identifier.
24118
+ */
24119
+ code: string;
24120
+ };
24121
+ /**
24122
+ * Internal server error
24123
+ */
24124
+ 500: {
24125
+ /**
24126
+ * Human-readable error message. May change wording.
24127
+ */
24128
+ error: string;
24129
+ /**
24130
+ * Machine-readable error code. Stable identifier.
24131
+ */
24132
+ code: string;
24133
+ };
24134
+ };
24135
+ export type PostVedicAstrologyHeliacalError = PostVedicAstrologyHeliacalErrors[keyof PostVedicAstrologyHeliacalErrors];
24136
+ export type PostVedicAstrologyHeliacalResponses = {
24137
+ /**
24138
+ * Heliacal visibility and the surrounding udaya and asta events for each graha.
24139
+ */
24140
+ 200: HeliacalResponse;
24141
+ };
24142
+ export type PostVedicAstrologyHeliacalResponse = PostVedicAstrologyHeliacalResponses[keyof PostVedicAstrologyHeliacalResponses];
23003
24143
  export type PostForecastTimelineData = {
23004
24144
  body?: {
23005
24145
  /**
@@ -26101,7 +27241,7 @@ export type GetHumanDesignGatesByNumberData = {
26101
27241
  /**
26102
27242
  * Gate number from 1 to 64.
26103
27243
  */
26104
- number: number;
27244
+ number: number | null;
26105
27245
  };
26106
27246
  query?: {
26107
27247
  /**
@@ -30414,7 +31554,7 @@ export type PostNumerologyChartResponses = {
30414
31554
  /**
30415
31555
  * Age when this phase ends. Null for the 4th Pinnacle (lasts rest of life).
30416
31556
  */
30417
- endAge: number;
31557
+ endAge: number | null;
30418
31558
  /**
30419
31559
  * Meaning and interpretation for this Pinnacle number.
30420
31560
  */
@@ -30456,7 +31596,7 @@ export type PostNumerologyChartResponses = {
30456
31596
  /**
30457
31597
  * Age when this period ends. Null for the 4th Challenge.
30458
31598
  */
30459
- endAge: number;
31599
+ endAge: number | null;
30460
31600
  /**
30461
31601
  * Meaning and resolution guidance for this Challenge number.
30462
31602
  */
@@ -31179,7 +32319,7 @@ export type PostNumerologyChaldeanResponses = {
31179
32319
  /**
31180
32320
  * The interpretable compound number (10 to 52), the hidden influence behind the name, or null when the total resolves below 10.
31181
32321
  */
31182
- compound: number;
32322
+ compound: number | null;
31183
32323
  /**
31184
32324
  * The single-digit root (1 to 9), the outward expression. Chaldean does not preserve master numbers.
31185
32325
  */
@@ -31199,7 +32339,7 @@ export type PostNumerologyChaldeanResponses = {
31199
32339
  /**
31200
32340
  * Classical symbolic title from Cheiro, or null when the number has no named symbol.
31201
32341
  */
31202
- name: string;
32342
+ name: string | null;
31203
32343
  /**
31204
32344
  * Overall tenor of the compound. "mixed" covers conditional numbers that are fortunate only alongside a favorable single number or in a specific domain.
31205
32345
  */
@@ -31212,7 +32352,7 @@ export type PostNumerologyChaldeanResponses = {
31212
32352
  * For numbers 33 to 52, the lower compound in the same series whose meaning this number shares.
31213
32353
  */
31214
32354
  sameAs?: number;
31215
- };
32355
+ } | null;
31216
32356
  };
31217
32357
  /**
31218
32358
  * The Soul Urge number from the vowels, revealing inner desire. Root may be 0 when the name has no vowels.
@@ -31225,7 +32365,7 @@ export type PostNumerologyChaldeanResponses = {
31225
32365
  /**
31226
32366
  * The interpretable compound number (10 to 52), the hidden influence behind the name, or null when the total resolves below 10.
31227
32367
  */
31228
- compound: number;
32368
+ compound: number | null;
31229
32369
  /**
31230
32370
  * The single-digit root (1 to 9), the outward expression. Chaldean does not preserve master numbers.
31231
32371
  */
@@ -31245,7 +32385,7 @@ export type PostNumerologyChaldeanResponses = {
31245
32385
  /**
31246
32386
  * Classical symbolic title from Cheiro, or null when the number has no named symbol.
31247
32387
  */
31248
- name: string;
32388
+ name: string | null;
31249
32389
  /**
31250
32390
  * Overall tenor of the compound. "mixed" covers conditional numbers that are fortunate only alongside a favorable single number or in a specific domain.
31251
32391
  */
@@ -31258,7 +32398,7 @@ export type PostNumerologyChaldeanResponses = {
31258
32398
  * For numbers 33 to 52, the lower compound in the same series whose meaning this number shares.
31259
32399
  */
31260
32400
  sameAs?: number;
31261
- };
32401
+ } | null;
31262
32402
  };
31263
32403
  /**
31264
32404
  * The Personality number from the consonants, revealing the outer impression. Root may be 0 when the name has no consonants.
@@ -31271,7 +32411,7 @@ export type PostNumerologyChaldeanResponses = {
31271
32411
  /**
31272
32412
  * The interpretable compound number (10 to 52), the hidden influence behind the name, or null when the total resolves below 10.
31273
32413
  */
31274
- compound: number;
32414
+ compound: number | null;
31275
32415
  /**
31276
32416
  * The single-digit root (1 to 9), the outward expression. Chaldean does not preserve master numbers.
31277
32417
  */
@@ -31291,7 +32431,7 @@ export type PostNumerologyChaldeanResponses = {
31291
32431
  /**
31292
32432
  * Classical symbolic title from Cheiro, or null when the number has no named symbol.
31293
32433
  */
31294
- name: string;
32434
+ name: string | null;
31295
32435
  /**
31296
32436
  * Overall tenor of the compound. "mixed" covers conditional numbers that are fortunate only alongside a favorable single number or in a specific domain.
31297
32437
  */
@@ -31304,7 +32444,7 @@ export type PostNumerologyChaldeanResponses = {
31304
32444
  * For numbers 33 to 52, the lower compound in the same series whose meaning this number shares.
31305
32445
  */
31306
32446
  sameAs?: number;
31307
- };
32447
+ } | null;
31308
32448
  };
31309
32449
  numberMeaning: {
31310
32450
  /**
@@ -31473,7 +32613,7 @@ export type GetNumerologyCompoundNumberByNumberResponses = {
31473
32613
  /**
31474
32614
  * Classical symbolic title from Cheiro, or null when none is given.
31475
32615
  */
31476
- name: string;
32616
+ name: string | null;
31477
32617
  /**
31478
32618
  * Overall tenor of the number. "mixed" marks conditional numbers, fortunate only with a favorable single number or in one domain.
31479
32619
  */
@@ -31646,7 +32786,7 @@ export type PostNumerologyDualResponses = {
31646
32786
  /**
31647
32787
  * Chaldean compound number (10 to 52), the hidden influence, or null.
31648
32788
  */
31649
- compound: number;
32789
+ compound: number | null;
31650
32790
  /**
31651
32791
  * Chaldean root (1 to 9).
31652
32792
  */
@@ -31682,7 +32822,7 @@ export type PostNumerologyDualResponses = {
31682
32822
  /**
31683
32823
  * Symbolic title.
31684
32824
  */
31685
- name: string;
32825
+ name: string | null;
31686
32826
  /**
31687
32827
  * Tenor of the compound.
31688
32828
  */
@@ -31695,7 +32835,7 @@ export type PostNumerologyDualResponses = {
31695
32835
  * Series equivalent for 33 to 52.
31696
32836
  */
31697
32837
  sameAs?: number;
31698
- };
32838
+ } | null;
31699
32839
  };
31700
32840
  /**
31701
32841
  * True when both systems reduce to the same single-digit energy (Pythagorean number reduced to one digit equals the Chaldean root). Agreement is read as a name whose vibrations are in harmony.
@@ -31842,7 +32982,7 @@ export type PostNumerologyBusinessNameResponses = {
31842
32982
  /**
31843
32983
  * Chaldean compound number (10 to 52), the hidden influence, or null.
31844
32984
  */
31845
- compound: number;
32985
+ compound: number | null;
31846
32986
  /**
31847
32987
  * Single-digit business root (1 to 9), the outward commercial expression.
31848
32988
  */
@@ -31882,7 +33022,7 @@ export type PostNumerologyBusinessNameResponses = {
31882
33022
  /**
31883
33023
  * Symbolic title, if any.
31884
33024
  */
31885
- name: string;
33025
+ name: string | null;
31886
33026
  /**
31887
33027
  * Tenor of the compound.
31888
33028
  */
@@ -31895,7 +33035,7 @@ export type PostNumerologyBusinessNameResponses = {
31895
33035
  * Series equivalent for 33 to 52.
31896
33036
  */
31897
33037
  sameAs?: number;
31898
- };
33038
+ } | null;
31899
33039
  /**
31900
33040
  * One-line plain-language verdict for the business name.
31901
33041
  */
@@ -31918,7 +33058,7 @@ export type GetTarotCardsData = {
31918
33058
  /**
31919
33059
  * Number of items to skip for pagination. Default 0.
31920
33060
  */
31921
- offset?: number;
33061
+ offset?: number | null;
31922
33062
  /**
31923
33063
  * Filter by arcana type. Major arcana (0-21) represents life lessons and spiritual themes. Minor arcana (Ace-King in 4 suits) represents daily situations and practical matters.
31924
33064
  */
@@ -31930,7 +33070,7 @@ export type GetTarotCardsData = {
31930
33070
  /**
31931
33071
  * Filter by card number. Major Arcana: 0 (The Fool) through 21 (The World). Minor Arcana: 1 (Ace) through 14 (King). Combine with arcana or suit filters for precise results.
31932
33072
  */
31933
- number?: number;
33073
+ number?: number | null;
31934
33074
  };
31935
33075
  url: '/tarot/cards';
31936
33076
  };
@@ -34118,7 +35258,7 @@ export type PostBiorhythmCriticalDaysResponses = {
34118
35258
  /**
34119
35259
  * Date where all 3 primary cycles cross zero simultaneously. Extremely rare event. Null if none found in range.
34120
35260
  */
34121
- tripleCriticalDay: string;
35261
+ tripleCriticalDay: string | null;
34122
35262
  };
34123
35263
  };
34124
35264
  export type PostBiorhythmCriticalDaysResponse = PostBiorhythmCriticalDaysResponses[keyof PostBiorhythmCriticalDaysResponses];
@@ -35207,7 +36347,7 @@ export type GetIchingHexagramsData = {
35207
36347
  /**
35208
36348
  * Number of items to skip for pagination. Default 0.
35209
36349
  */
35210
- offset?: number;
36350
+ offset?: number | null;
35211
36351
  };
35212
36352
  url: '/iching/hexagrams';
35213
36353
  };
@@ -36171,7 +37311,7 @@ export type GetCrystalsZodiacBySignData = {
36171
37311
  /**
36172
37312
  * Number of items to skip for pagination. Default 0.
36173
37313
  */
36174
- offset?: number;
37314
+ offset?: number | null;
36175
37315
  };
36176
37316
  url: '/crystals/zodiac/{sign}';
36177
37317
  };
@@ -36313,11 +37453,11 @@ export type GetCrystalsZodiacBySignResponses = {
36313
37453
  /**
36314
37454
  * URL to crystal photograph for visual identification.
36315
37455
  */
36316
- imageUrl: string;
37456
+ imageUrl: string | null;
36317
37457
  /**
36318
37458
  * Primary colors of this crystal variety. Null when color data is unavailable.
36319
37459
  */
36320
- colors: Array<string>;
37460
+ colors: Array<string> | null;
36321
37461
  }>;
36322
37462
  };
36323
37463
  };
@@ -36342,7 +37482,7 @@ export type GetCrystalsChakraByChakraData = {
36342
37482
  /**
36343
37483
  * Number of items to skip for pagination. Default 0.
36344
37484
  */
36345
- offset?: number;
37485
+ offset?: number | null;
36346
37486
  };
36347
37487
  url: '/crystals/chakra/{chakra}';
36348
37488
  };
@@ -36484,11 +37624,11 @@ export type GetCrystalsChakraByChakraResponses = {
36484
37624
  /**
36485
37625
  * URL to crystal photograph for visual identification.
36486
37626
  */
36487
- imageUrl: string;
37627
+ imageUrl: string | null;
36488
37628
  /**
36489
37629
  * Primary colors of this crystal variety. Null when color data is unavailable.
36490
37630
  */
36491
- colors: Array<string>;
37631
+ colors: Array<string> | null;
36492
37632
  }>;
36493
37633
  };
36494
37634
  };
@@ -36513,7 +37653,7 @@ export type GetCrystalsElementByElementData = {
36513
37653
  /**
36514
37654
  * Number of items to skip for pagination. Default 0.
36515
37655
  */
36516
- offset?: number;
37656
+ offset?: number | null;
36517
37657
  };
36518
37658
  url: '/crystals/element/{element}';
36519
37659
  };
@@ -36655,11 +37795,11 @@ export type GetCrystalsElementByElementResponses = {
36655
37795
  /**
36656
37796
  * URL to crystal photograph for visual identification.
36657
37797
  */
36658
- imageUrl: string;
37798
+ imageUrl: string | null;
36659
37799
  /**
36660
37800
  * Primary colors of this crystal variety. Null when color data is unavailable.
36661
37801
  */
36662
- colors: Array<string>;
37802
+ colors: Array<string> | null;
36663
37803
  }>;
36664
37804
  };
36665
37805
  };
@@ -36814,11 +37954,11 @@ export type GetCrystalsBirthstoneByMonthResponses = {
36814
37954
  /**
36815
37955
  * URL to crystal photograph for visual identification.
36816
37956
  */
36817
- imageUrl: string;
37957
+ imageUrl: string | null;
36818
37958
  /**
36819
37959
  * Primary colors of this crystal variety. Null when color data is unavailable.
36820
37960
  */
36821
- colors: Array<string>;
37961
+ colors: Array<string> | null;
36822
37962
  }>;
36823
37963
  };
36824
37964
  };
@@ -36842,7 +37982,7 @@ export type GetCrystalsSearchData = {
36842
37982
  /**
36843
37983
  * Number of items to skip for pagination. Default 0.
36844
37984
  */
36845
- offset?: number;
37985
+ offset?: number | null;
36846
37986
  };
36847
37987
  url: '/crystals/search';
36848
37988
  };
@@ -36984,11 +38124,11 @@ export type GetCrystalsSearchResponses = {
36984
38124
  /**
36985
38125
  * URL to crystal photograph for visual identification.
36986
38126
  */
36987
- imageUrl: string;
38127
+ imageUrl: string | null;
36988
38128
  /**
36989
38129
  * Primary colors of this crystal variety. Null when color data is unavailable.
36990
38130
  */
36991
- colors: Array<string>;
38131
+ colors: Array<string> | null;
36992
38132
  }>;
36993
38133
  };
36994
38134
  };
@@ -37156,7 +38296,7 @@ export type GetCrystalsPairingsByIdResponses = {
37156
38296
  /**
37157
38297
  * URL to paired crystal photograph.
37158
38298
  */
37159
- imageUrl: string;
38299
+ imageUrl: string | null;
37160
38300
  /**
37161
38301
  * Brief overview of the paired crystal.
37162
38302
  */
@@ -37168,7 +38308,7 @@ export type GetCrystalsPairingsByIdResponses = {
37168
38308
  /**
37169
38309
  * Healing property keywords for the paired crystal. Null when keyword data is unavailable.
37170
38310
  */
37171
- keywords: Array<string>;
38311
+ keywords: Array<string> | null;
37172
38312
  }>;
37173
38313
  };
37174
38314
  };
@@ -37319,7 +38459,7 @@ export type PostCrystalsDailyResponses = {
37319
38459
  /**
37320
38460
  * URL to crystal photograph. Use for daily crystal card display and visual features.
37321
38461
  */
37322
- imageUrl: string;
38462
+ imageUrl: string | null;
37323
38463
  /**
37324
38464
  * Overview of the crystal covering primary healing purpose and benefits.
37325
38465
  */
@@ -37331,7 +38471,7 @@ export type PostCrystalsDailyResponses = {
37331
38471
  /**
37332
38472
  * Zodiac signs this crystal is traditionally associated with. Null when zodiac data is unavailable.
37333
38473
  */
37334
- zodiacSigns: Array<string>;
38474
+ zodiacSigns: Array<string> | null;
37335
38475
  /**
37336
38476
  * Positive affirmation aligned with the selected crystal. Use for daily affirmation features and meditation guidance.
37337
38477
  */
@@ -37468,7 +38608,7 @@ export type GetCrystalsRandomResponses = {
37468
38608
  /**
37469
38609
  * URL to crystal photograph for visual display.
37470
38610
  */
37471
- imageUrl: string;
38611
+ imageUrl: string | null;
37472
38612
  /**
37473
38613
  * Overview of the crystal covering primary healing purpose and benefits.
37474
38614
  */
@@ -37480,7 +38620,7 @@ export type GetCrystalsRandomResponses = {
37480
38620
  /**
37481
38621
  * Zodiac signs this crystal is traditionally associated with. Null when zodiac data is unavailable.
37482
38622
  */
37483
- zodiacSigns: Array<string>;
38623
+ zodiacSigns: Array<string> | null;
37484
38624
  /**
37485
38625
  * Positive affirmation aligned with the selected crystal energy.
37486
38626
  */
@@ -37771,7 +38911,7 @@ export type GetCrystalsData = {
37771
38911
  /**
37772
38912
  * Number of items to skip for pagination. Default 0.
37773
38913
  */
37774
- offset?: number;
38914
+ offset?: number | null;
37775
38915
  };
37776
38916
  url: '/crystals';
37777
38917
  };
@@ -37909,11 +39049,11 @@ export type GetCrystalsResponses = {
37909
39049
  /**
37910
39050
  * URL to crystal photograph for visual identification.
37911
39051
  */
37912
- imageUrl: string;
39052
+ imageUrl: string | null;
37913
39053
  /**
37914
39054
  * Primary colors of this crystal variety. Null when color data is unavailable.
37915
39055
  */
37916
- colors: Array<string>;
39056
+ colors: Array<string> | null;
37917
39057
  /**
37918
39058
  * Chakra energy centers this crystal resonates with. One of: Root, Sacral, Solar Plexus, Heart, Throat, Third Eye, Crown.
37919
39059
  */
@@ -38069,7 +39209,7 @@ export type GetCrystalsByIdResponses = {
38069
39209
  /**
38070
39210
  * URL to a high-quality crystal photograph. Use for visual crystal guides, product listings, and crystal identification features.
38071
39211
  */
38072
- imageUrl: string;
39212
+ imageUrl: string | null;
38073
39213
  /**
38074
39214
  * Overview of the crystal covering its primary healing purpose, spiritual significance, and key benefits.
38075
39215
  */
@@ -38081,7 +39221,7 @@ export type GetCrystalsByIdResponses = {
38081
39221
  /**
38082
39222
  * Spiritual and metaphysical healing properties including energy work, meditation benefits, and higher consciousness connections. Null when spiritual interpretation is unavailable.
38083
39223
  */
38084
- spiritual: string;
39224
+ spiritual: string | null;
38085
39225
  /**
38086
39226
  * Emotional healing properties including stress relief, relationship support, and emotional balance benefits.
38087
39227
  */
@@ -38089,7 +39229,7 @@ export type GetCrystalsByIdResponses = {
38089
39229
  /**
38090
39230
  * Physical healing associations traditionally attributed to this crystal in crystal healing practice. Null when physical healing data is unavailable.
38091
39231
  */
38092
- physical: string;
39232
+ physical: string | null;
38093
39233
  };
38094
39234
  /**
38095
39235
  * Chakra energy centers this crystal resonates with. One of: Root, Sacral, Solar Plexus, Heart, Throat, Third Eye, Crown.
@@ -38098,19 +39238,19 @@ export type GetCrystalsByIdResponses = {
38098
39238
  /**
38099
39239
  * Zodiac signs this crystal is traditionally associated with. Null when zodiac data is unavailable. Useful for personalized crystal recommendations based on birth chart.
38100
39240
  */
38101
- zodiacSigns: Array<string>;
39241
+ zodiacSigns: Array<string> | null;
38102
39242
  /**
38103
39243
  * Ruling planet or celestial body associated with this crystal in astrological tradition. Null when planetary association is unavailable.
38104
39244
  */
38105
- planet: string;
39245
+ planet: string | null;
38106
39246
  /**
38107
39247
  * Elemental associations (Earth, Water, Fire, Air, Storm) connecting the crystal to natural forces and energy types. Null when elemental data is unavailable.
38108
39248
  */
38109
- elements: Array<string>;
39249
+ elements: Array<string> | null;
38110
39250
  /**
38111
39251
  * Primary colors of this crystal variety. Null when color data is unavailable. Useful for color-based crystal selection and filtering.
38112
39252
  */
38113
- colors: Array<string>;
39253
+ colors: Array<string> | null;
38114
39254
  /**
38115
39255
  * Mohs hardness scale rating (1-10). Indicates durability for jewelry use. Quartz family is 7, Diamond is 10, Selenite is 2.
38116
39256
  */
@@ -38122,11 +39262,11 @@ export type GetCrystalsByIdResponses = {
38122
39262
  /**
38123
39263
  * Keywords capturing the core healing properties and spiritual themes of this crystal. The count varies by stone, from a single keyword up to twenty. Null when keyword data is unavailable.
38124
39264
  */
38125
- keywords: Array<string>;
39265
+ keywords: Array<string> | null;
38126
39266
  /**
38127
39267
  * Birth month (1-12) if this crystal is a traditional birthstone. Null if not a birthstone. January is 1, December is 12.
38128
39268
  */
38129
- birthMonth: number;
39269
+ birthMonth: number | null;
38130
39270
  /**
38131
39271
  * Positive affirmation aligned with this crystal energy. Use for meditation, journaling, or daily affirmation features.
38132
39272
  */
@@ -38157,7 +39297,7 @@ export type GetDreamsSymbolsData = {
38157
39297
  /**
38158
39298
  * Number of items to skip for pagination. Default 0.
38159
39299
  */
38160
- offset?: number;
39300
+ offset?: number | null;
38161
39301
  };
38162
39302
  url: '/dreams/symbols';
38163
39303
  };
@@ -38838,7 +39978,7 @@ export type GetAngelNumbersNumbersData = {
38838
39978
  /**
38839
39979
  * Number of items to skip for pagination. Default 0.
38840
39980
  */
38841
- offset?: number;
39981
+ offset?: number | null;
38842
39982
  /**
38843
39983
  * Filter results by angel number pattern type. "repeating" returns numbers like 111, 444, 7777. "sequential" returns patterns like 1234. "mirror" returns palindrome or alternating patterns like 1212, 717. "master" returns 11, 22, 33. "root" returns single digits 0-9. "compound" returns mixed sequences with no pure pattern like 911, 1122.
38844
39984
  */
@@ -39421,7 +40561,7 @@ export type GetAngelNumbersLookupResponses = {
39421
40561
  * Actionable steps when you see this number.
39422
40562
  */
39423
40563
  actionSteps: Array<string>;
39424
- };
40564
+ } | null;
39425
40565
  /**
39426
40566
  * The foundational meaning of this number based on its digit root. Every number reduces to a root digit (0-9) or master number (11, 22, 33), which provides the base interpretation even for unknown sequences.
39427
40567
  */
@@ -39471,7 +40611,7 @@ export type GetAngelNumbersLookupResponses = {
39471
40611
  * Affirmation for the root digit.
39472
40612
  */
39473
40613
  affirmation: string;
39474
- };
40614
+ } | null;
39475
40615
  /**
39476
40616
  * Present only when the context query parameter is supplied. A short reading layered on top of the meaning that accounts for WHERE the number was seen (clock, receipt, license plate, phone, address, price), since the place of a sighting shifts its emphasis.
39477
40617
  */
@@ -39701,7 +40841,7 @@ export type GetLocationSearchData = {
39701
40841
  /**
39702
40842
  * Number of items to skip for pagination. Default 0.
39703
40843
  */
39704
- offset?: number;
40844
+ offset?: number | null;
39705
40845
  };
39706
40846
  url: '/location/search';
39707
40847
  };
@@ -39879,7 +41019,7 @@ export type GetLocationCountriesData = {
39879
41019
  /**
39880
41020
  * Number of items to skip for pagination. Default 0.
39881
41021
  */
39882
- offset?: number;
41022
+ offset?: number | null;
39883
41023
  };
39884
41024
  url: '/location/countries';
39885
41025
  };
@@ -40042,7 +41182,7 @@ export type GetLocationCountriesByIso2Data = {
40042
41182
  /**
40043
41183
  * Number of items to skip for pagination. Default 0.
40044
41184
  */
40045
- offset?: number;
41185
+ offset?: number | null;
40046
41186
  };
40047
41187
  url: '/location/countries/{iso2}';
40048
41188
  };