@roxyapi/sdk 1.2.54 → 1.2.56

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.
@@ -432,10 +432,25 @@ export type HousesResponse = {
432
432
  */
433
433
  comparison?: {
434
434
  [key: string]: {
435
+ /**
436
+ * All 12 house cusps as this system computes them. Compare the same house number across the four keys to see how far the systems disagree, which is largest at high latitudes and for the intermediate cusps.
437
+ */
435
438
  houses: Array<{
439
+ /**
440
+ * House number (1-12). Each house governs specific life areas.
441
+ */
436
442
  number: number;
443
+ /**
444
+ * Ecliptic longitude of this house cusp in degrees (0-360), as this house system places it.
445
+ */
437
446
  longitude: number;
447
+ /**
448
+ * Zodiac sign on this house cusp in this house system.
449
+ */
438
450
  sign: string;
451
+ /**
452
+ * Degree within the zodiac sign on this cusp (0-29.999).
453
+ */
439
454
  degree: number;
440
455
  }>;
441
456
  };
@@ -809,7 +824,7 @@ export type TransitsResponse = {
809
824
  */
810
825
  summary: string;
811
826
  /**
812
- * How long this transit influence lasts based on the transiting planet speed.
827
+ * How long this transit influence lasts, localized. The bucket follows the speed of the transiting body: a few hours for the Moon, a few days for the Sun, Mercury, Venus and Mars, one to two weeks for Jupiter, several weeks for Saturn, and an extended period for Uranus, Neptune and Pluto.
813
828
  */
814
829
  timing: string;
815
830
  /**
@@ -873,7 +888,13 @@ export type TransitsRequest = {
873
888
  * Time in 24-hour format. Seconds are optional and default to 00 (14:30 becomes 14:30:00); a single-digit hour is zero-padded. Out-of-range values are rejected.
874
889
  */
875
890
  time: string;
891
+ /**
892
+ * Natal birth latitude in decimal degrees, positive north. Sets the local sidereal time behind the natal Ascendant and house cusps that the transits are measured against.
893
+ */
876
894
  latitude: number;
895
+ /**
896
+ * Natal birth longitude in decimal degrees, positive east and negative west. Example: New York -74.0060, London -0.1276, Sydney 151.2093.
897
+ */
877
898
  longitude: number;
878
899
  /**
879
900
  * Natal timezone: decimal hours OR IANA name (e.g. "America/New_York"). IANA resolved to the DST-correct offset for the natal date.
@@ -2092,7 +2113,7 @@ export type ProfectionsRequest = {
2092
2113
  export type BirthChartResponse = {
2093
2114
  aries: {
2094
2115
  /**
2095
- * Zodiac sign name in lowercase.
2116
+ * Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces".
2096
2117
  */
2097
2118
  rashi: string;
2098
2119
  /**
@@ -2149,7 +2170,7 @@ export type BirthChartResponse = {
2149
2170
  };
2150
2171
  taurus: {
2151
2172
  /**
2152
- * Zodiac sign name in lowercase.
2173
+ * Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces".
2153
2174
  */
2154
2175
  rashi: string;
2155
2176
  /**
@@ -2206,7 +2227,7 @@ export type BirthChartResponse = {
2206
2227
  };
2207
2228
  gemini: {
2208
2229
  /**
2209
- * Zodiac sign name in lowercase.
2230
+ * Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces".
2210
2231
  */
2211
2232
  rashi: string;
2212
2233
  /**
@@ -2263,7 +2284,7 @@ export type BirthChartResponse = {
2263
2284
  };
2264
2285
  cancer: {
2265
2286
  /**
2266
- * Zodiac sign name in lowercase.
2287
+ * Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces".
2267
2288
  */
2268
2289
  rashi: string;
2269
2290
  /**
@@ -2320,7 +2341,7 @@ export type BirthChartResponse = {
2320
2341
  };
2321
2342
  leo: {
2322
2343
  /**
2323
- * Zodiac sign name in lowercase.
2344
+ * Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces".
2324
2345
  */
2325
2346
  rashi: string;
2326
2347
  /**
@@ -2377,7 +2398,7 @@ export type BirthChartResponse = {
2377
2398
  };
2378
2399
  virgo: {
2379
2400
  /**
2380
- * Zodiac sign name in lowercase.
2401
+ * Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces".
2381
2402
  */
2382
2403
  rashi: string;
2383
2404
  /**
@@ -2434,7 +2455,7 @@ export type BirthChartResponse = {
2434
2455
  };
2435
2456
  libra: {
2436
2457
  /**
2437
- * Zodiac sign name in lowercase.
2458
+ * Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces".
2438
2459
  */
2439
2460
  rashi: string;
2440
2461
  /**
@@ -2491,7 +2512,7 @@ export type BirthChartResponse = {
2491
2512
  };
2492
2513
  scorpio: {
2493
2514
  /**
2494
- * Zodiac sign name in lowercase.
2515
+ * Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces".
2495
2516
  */
2496
2517
  rashi: string;
2497
2518
  /**
@@ -2548,7 +2569,7 @@ export type BirthChartResponse = {
2548
2569
  };
2549
2570
  sagittarius: {
2550
2571
  /**
2551
- * Zodiac sign name in lowercase.
2572
+ * Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces".
2552
2573
  */
2553
2574
  rashi: string;
2554
2575
  /**
@@ -2605,7 +2626,7 @@ export type BirthChartResponse = {
2605
2626
  };
2606
2627
  capricorn: {
2607
2628
  /**
2608
- * Zodiac sign name in lowercase.
2629
+ * Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces".
2609
2630
  */
2610
2631
  rashi: string;
2611
2632
  /**
@@ -2662,7 +2683,7 @@ export type BirthChartResponse = {
2662
2683
  };
2663
2684
  aquarius: {
2664
2685
  /**
2665
- * Zodiac sign name in lowercase.
2686
+ * Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces".
2666
2687
  */
2667
2688
  rashi: string;
2668
2689
  /**
@@ -2719,7 +2740,7 @@ export type BirthChartResponse = {
2719
2740
  };
2720
2741
  pisces: {
2721
2742
  /**
2722
- * Zodiac sign name in lowercase.
2743
+ * Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces".
2723
2744
  */
2724
2745
  rashi: string;
2725
2746
  /**
@@ -2873,9 +2894,17 @@ export type BirthChartResponse = {
2873
2894
  */
2874
2895
  quality: 'Positive' | 'Negative' | 'Both';
2875
2896
  /**
2876
- * True if every classical condition for the yoga is satisfied by the given chart. False if any rule fails, including "almost-present" cases where dignity is met but kendra/aspect is not, and Nabhasa cases where the yoga matched its own rule but a stronger family outranked it under the classical precedence norms. Read `evidence` to tell those apart.
2897
+ * Classical grouping, ALWAYS present on a detection verdict: one of the four Nabhasa families (asraya, dala, akriti, sankhya) or classical for the twelve single-combination yogas such as Gajakesari and the Pancha Mahapurusha. Group the verdict list on this key to render a Nabhasa result the way the tradition arranges it. Never translated, so grouping works identically under any lang.
2898
+ */
2899
+ family: 'classical' | 'asraya' | 'dala' | 'akriti' | 'sankhya';
2900
+ /**
2901
+ * True if every classical condition for the yoga is satisfied by the given chart. False means one of TWO different things: the rule failed, or the rule held and a stronger family outranked it. Read `suppressedBy` to tell those apart, which is exact and locale-independent; `evidence` says the same thing in English prose.
2877
2902
  */
2878
2903
  present: boolean;
2904
+ /**
2905
+ * Set ONLY when this yoga matched its own classical rule and was then silenced by a higher-ranking family, so `present` is false for a reason a practitioner reads very differently from a failed rule. Names the family that took precedence, under the four classical norms: Akriti outranks Asraya, and Akriti, Asraya and Dala each outrank Sankhya. Absent means the rule genuinely did not hold.
2906
+ */
2907
+ suppressedBy?: 'classical' | 'asraya' | 'dala' | 'akriti' | 'sankhya';
2879
2908
  /**
2880
2909
  * Human-readable rationale naming the specific rule that triggered or failed the detection, including planetary positions, dignity, kendradhipati status, lordship, malefic drishti, sign modality, or whole-chart bhava distribution. For a Nabhasa yoga that matched its own rule but was outranked, this names the precedence norm that silenced it, for example that an Akriti yoga outranks Asraya or that any other Nabhasa family suppresses Sankhya.
2881
2910
  */
@@ -2903,11 +2932,11 @@ export type BirthChartResponse = {
2903
2932
  */
2904
2933
  nakshatra: {
2905
2934
  /**
2906
- * Nakshatra (lunar mansion) the planet occupies. One of 27 Vedic nakshatras spanning 13 degrees 20 arcminutes each. Determines dasha lord and behavioral qualities.
2935
+ * Nakshatra (lunar mansion) the planet occupies. One of 27 Vedic nakshatras spanning 13 degrees 20 minutes each. Determines dasha lord and behavioral qualities.
2907
2936
  */
2908
2937
  name: string;
2909
2938
  /**
2910
- * Nakshatra pada (quarter, 1-4). Each nakshatra divides into 4 padas of 3 degrees 20 arcminutes. Pada determines Navamsa sign and refines personality traits.
2939
+ * Nakshatra pada (quarter, 1-4). Each nakshatra divides into 4 padas of 3 degrees 20 minutes. Pada determines Navamsa sign and refines personality traits.
2911
2940
  */
2912
2941
  pada: number;
2913
2942
  /**
@@ -2927,6 +2956,41 @@ export type BirthChartResponse = {
2927
2956
  * Bhava (house) number 1-12, counted whole-sign from the Lagna (house 1 is the Lagna rashi; Lagna itself is house 1). Present on the D1 birth chart; divisional charts omit it.
2928
2957
  */
2929
2958
  house?: number;
2959
+ /**
2960
+ * Localized readings for this graha avastha states, present only when avasthaInfo true was sent. Each key mirrors the state field of the same name and carries a short meaning plus a one-sentence classical interpretation, so a client can label Yuva or Swapna without a second lookup call.
2961
+ */
2962
+ avasthaInfo?: {
2963
+ awastha?: {
2964
+ /**
2965
+ * One or two word gloss of the state, suitable for a table cell beside the graha.
2966
+ */
2967
+ meaning: string;
2968
+ /**
2969
+ * Single-sentence classical reading of what the state does to the graha results, sourced from BPHS ch. 45, Saravali ch. 5 and Phaladeepika ch. 9. Localized by the lang query parameter.
2970
+ */
2971
+ interpretation: string;
2972
+ };
2973
+ jagradadi?: {
2974
+ /**
2975
+ * One or two word gloss of the state, suitable for a table cell beside the graha.
2976
+ */
2977
+ meaning: string;
2978
+ /**
2979
+ * Single-sentence classical reading of what the state does to the graha results, sourced from BPHS ch. 45, Saravali ch. 5 and Phaladeepika ch. 9. Localized by the lang query parameter.
2980
+ */
2981
+ interpretation: string;
2982
+ };
2983
+ deeptadi?: {
2984
+ /**
2985
+ * One or two word gloss of the state, suitable for a table cell beside the graha.
2986
+ */
2987
+ meaning: string;
2988
+ /**
2989
+ * Single-sentence classical reading of what the state does to the graha results, sourced from BPHS ch. 45, Saravali ch. 5 and Phaladeepika ch. 9. Localized by the lang query parameter.
2990
+ */
2991
+ interpretation: string;
2992
+ };
2993
+ };
2930
2994
  /**
2931
2995
  * Baladi avastha, the planetary age-state set by the graha degree within its sign: Bala (infant), Kumara (child), Yuva (adult, strongest results), Vriddha (old), Mrita (dead, weakest). Bands run forward in odd signs and reversed in even signs. D1 birth chart only.
2932
2996
  */
@@ -2963,6 +3027,10 @@ export type BirthChartRequest = {
2963
3027
  * 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.
2964
3028
  */
2965
3029
  timezone?: number | string;
3030
+ /**
3031
+ * 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
+ */
3033
+ avasthaInfo?: boolean;
2966
3034
  };
2967
3035
  export type NavamsaResponse = {
2968
3036
  /**
@@ -2991,11 +3059,11 @@ export type NavamsaResponse = {
2991
3059
  */
2992
3060
  nakshatra: {
2993
3061
  /**
2994
- * Nakshatra (lunar mansion) the planet occupies. One of 27 Vedic nakshatras spanning 13 degrees 20 arcminutes each. Determines dasha lord and behavioral qualities.
3062
+ * Nakshatra (lunar mansion) the planet occupies. One of 27 Vedic nakshatras spanning 13 degrees 20 minutes each. Determines dasha lord and behavioral qualities.
2995
3063
  */
2996
3064
  name: string;
2997
3065
  /**
2998
- * Nakshatra pada (quarter, 1-4). Each nakshatra divides into 4 padas of 3 degrees 20 arcminutes. Pada determines Navamsa sign and refines personality traits.
3066
+ * Nakshatra pada (quarter, 1-4). Each nakshatra divides into 4 padas of 3 degrees 20 minutes. Pada determines Navamsa sign and refines personality traits.
2999
3067
  */
3000
3068
  pada: number;
3001
3069
  /**
@@ -3022,7 +3090,7 @@ export type NavamsaResponse = {
3022
3090
  */
3023
3091
  aries: {
3024
3092
  /**
3025
- * Zodiac sign name in lowercase.
3093
+ * Zodiac sign name in lowercase. Always equals the key of the navamsa rashi-house block it sits in.
3026
3094
  */
3027
3095
  rashi: string;
3028
3096
  /**
@@ -3153,11 +3221,11 @@ export type DivisionalChartResponse = {
3153
3221
  */
3154
3222
  nakshatra: {
3155
3223
  /**
3156
- * Nakshatra (lunar mansion) the planet occupies. One of 27 Vedic nakshatras spanning 13 degrees 20 arcminutes each. Determines dasha lord and behavioral qualities.
3224
+ * Nakshatra (lunar mansion) the planet occupies. One of 27 Vedic nakshatras spanning 13 degrees 20 minutes each. Determines dasha lord and behavioral qualities.
3157
3225
  */
3158
3226
  name: string;
3159
3227
  /**
3160
- * Nakshatra pada (quarter, 1-4). Each nakshatra divides into 4 padas of 3 degrees 20 arcminutes. Pada determines Navamsa sign and refines personality traits.
3228
+ * Nakshatra pada (quarter, 1-4). Each nakshatra divides into 4 padas of 3 degrees 20 minutes. Pada determines Navamsa sign and refines personality traits.
3161
3229
  */
3162
3230
  pada: number;
3163
3231
  /**
@@ -3184,7 +3252,7 @@ export type DivisionalChartResponse = {
3184
3252
  */
3185
3253
  aries: {
3186
3254
  /**
3187
- * Zodiac sign name in lowercase.
3255
+ * Zodiac sign name in lowercase. Always equals the key of the divisional rashi-house block it sits in.
3188
3256
  */
3189
3257
  rashi: string;
3190
3258
  /**
@@ -3410,11 +3478,11 @@ export type PlanetaryPositionsResponse = {
3410
3478
  */
3411
3479
  nakshatra: {
3412
3480
  /**
3413
- * Nakshatra (lunar mansion) the planet occupies. One of 27 Vedic nakshatras spanning 13 degrees 20 arcminutes each.
3481
+ * Nakshatra (lunar mansion) the planet occupies. One of 27 Vedic nakshatras spanning 13 degrees 20 minutes each.
3414
3482
  */
3415
3483
  name: string;
3416
3484
  /**
3417
- * Nakshatra pada (quarter, 1-4). Each nakshatra divides into 4 padas of 3 degrees 20 arcminutes. Determines Navamsa sign.
3485
+ * Nakshatra pada (quarter, 1-4). Each nakshatra divides into 4 padas of 3 degrees 20 minutes. Determines Navamsa sign.
3418
3486
  */
3419
3487
  pada: number;
3420
3488
  /**
@@ -3713,6 +3781,10 @@ export type YogaDetail = {
3713
3781
  * Overall nature. Auspicious yogas (Pancha Mahapurusha, Gajakesari) bestow benefits; inauspicious yogas (Kemadruma) indicate challenges; Both denotes context-dependent effects.
3714
3782
  */
3715
3783
  quality: 'Positive' | 'Negative' | 'Both';
3784
+ /**
3785
+ * Nabhasa family this yoga belongs to, present only on the 32 Nabhasa distribution yogas: asraya (3, sign modality), dala (2, benefic or malefic kendra tenancy), akriti (20, bhava shape) and sankhya (7, count of occupied rasis). Absent on every other glossary row, which is most of the catalog, since those are single-combination yogas outside the Nabhasa scheme. Group or filter the catalog on this key; it is never translated.
3786
+ */
3787
+ family?: 'classical' | 'asraya' | 'dala' | 'akriti' | 'sankhya';
3716
3788
  };
3717
3789
  export type YogaDetectResponse = {
3718
3790
  /**
@@ -3740,9 +3812,17 @@ export type YogaDetectResponse = {
3740
3812
  */
3741
3813
  quality: 'Positive' | 'Negative' | 'Both';
3742
3814
  /**
3743
- * True if every classical condition for the yoga is satisfied by the given chart. False if any rule fails, including "almost-present" cases where dignity is met but kendra/aspect is not, and Nabhasa cases where the yoga matched its own rule but a stronger family outranked it under the classical precedence norms. Read `evidence` to tell those apart.
3815
+ * Classical grouping, ALWAYS present on a detection verdict: one of the four Nabhasa families (asraya, dala, akriti, sankhya) or classical for the twelve single-combination yogas such as Gajakesari and the Pancha Mahapurusha. Group the verdict list on this key to render a Nabhasa result the way the tradition arranges it. Never translated, so grouping works identically under any lang.
3816
+ */
3817
+ family: 'classical' | 'asraya' | 'dala' | 'akriti' | 'sankhya';
3818
+ /**
3819
+ * True if every classical condition for the yoga is satisfied by the given chart. False means one of TWO different things: the rule failed, or the rule held and a stronger family outranked it. Read `suppressedBy` to tell those apart, which is exact and locale-independent; `evidence` says the same thing in English prose.
3744
3820
  */
3745
3821
  present: boolean;
3822
+ /**
3823
+ * Set ONLY when this yoga matched its own classical rule and was then silenced by a higher-ranking family, so `present` is false for a reason a practitioner reads very differently from a failed rule. Names the family that took precedence, under the four classical norms: Akriti outranks Asraya, and Akriti, Asraya and Dala each outrank Sankhya. Absent means the rule genuinely did not hold.
3824
+ */
3825
+ suppressedBy?: 'classical' | 'asraya' | 'dala' | 'akriti' | 'sankhya';
3746
3826
  /**
3747
3827
  * Human-readable rationale naming the specific rule that triggered or failed the detection, including planetary positions, dignity, kendradhipati status, lordship, malefic drishti, sign modality, or whole-chart bhava distribution. For a Nabhasa yoga that matched its own rule but was outranked, this names the precedence norm that silenced it, for example that an Akriti yoga outranks Asraya or that any other Nabhasa family suppresses Sankhya.
3748
3828
  */
@@ -3756,10 +3836,25 @@ export type YogaDetectResponse = {
3756
3836
  * Echo of the resolved birth data used for detection. Timezone is the numeric offset that the chart engine consumed (IANA names are resolved upstream).
3757
3837
  */
3758
3838
  birthDetails: {
3839
+ /**
3840
+ * Birth date the kundli was cast for, YYYY-MM-DD, echoed back from the request.
3841
+ */
3759
3842
  date: string;
3843
+ /**
3844
+ * Birth time the kundli was cast for, 24-hour HH:MM:SS, echoed back from the request. Lagna moves roughly one rashi every two hours, so this is what pins the bhava-dependent yogas.
3845
+ */
3760
3846
  time: string;
3847
+ /**
3848
+ * Birth latitude in decimal degrees, echoed back from the request. Feeds the local sidereal time behind the Lagna.
3849
+ */
3761
3850
  latitude: number;
3851
+ /**
3852
+ * Birth longitude in decimal degrees, echoed back from the request. East is positive, west is negative.
3853
+ */
3762
3854
  longitude: number;
3855
+ /**
3856
+ * Numeric UTC offset in decimal hours that the chart engine actually consumed. An IANA name sent on the request is resolved to its DST-correct offset upstream, so this is always a number.
3857
+ */
3763
3858
  timezone: number;
3764
3859
  };
3765
3860
  };
@@ -3893,9 +3988,9 @@ export type KpPlanetsRequest = {
3893
3988
  */
3894
3989
  timezone?: number | string;
3895
3990
  /**
3896
- * 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. "custom" allows providing your own value via ayanamsaValue. Defaults to "kp-newcomb".
3991
+ * 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".
3897
3992
  */
3898
- ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'custom';
3993
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
3899
3994
  /**
3900
3995
  * 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.
3901
3996
  */
@@ -3966,6 +4061,10 @@ export type KpCuspsResponse = {
3966
4061
  houseThemes: {
3967
4062
  [key: string]: Array<string>;
3968
4063
  };
4064
+ /**
4065
+ * 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.
4066
+ */
4067
+ focus: 'general' | 'finance';
3969
4068
  };
3970
4069
  export type KpCuspsRequest = {
3971
4070
  /**
@@ -3989,9 +4088,9 @@ export type KpCuspsRequest = {
3989
4088
  */
3990
4089
  timezone?: number | string;
3991
4090
  /**
3992
- * 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. "custom" allows providing your own value via ayanamsaValue. Defaults to "kp-newcomb".
4091
+ * 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".
3993
4092
  */
3994
- ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'custom';
4093
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
3995
4094
  /**
3996
4095
  * 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.
3997
4096
  */
@@ -4027,7 +4126,7 @@ export type KpChartResponse = {
4027
4126
  */
4028
4127
  ayanamsa: number;
4029
4128
  /**
4030
- * Ayanamsa system used (KP Newcomb).
4129
+ * Ayanamsa system used, echoing the ayanamsa field of the request: "kp-newcomb", "kp-old", "lahiri", "raman" or "custom".
4031
4130
  */
4032
4131
  ayanamsaType: string;
4033
4132
  /**
@@ -4316,6 +4415,10 @@ export type KpChartResponse = {
4316
4415
  houseThemes: {
4317
4416
  [key: string]: Array<string>;
4318
4417
  };
4418
+ /**
4419
+ * 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.
4420
+ */
4421
+ focus: 'general' | 'finance';
4319
4422
  };
4320
4423
  export type KpChartRequest = {
4321
4424
  /**
@@ -4339,9 +4442,9 @@ export type KpChartRequest = {
4339
4442
  */
4340
4443
  timezone?: number | string;
4341
4444
  /**
4342
- * 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. "custom" allows providing your own value via ayanamsaValue. Defaults to "kp-newcomb".
4445
+ * 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".
4343
4446
  */
4344
- ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'custom';
4447
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
4345
4448
  /**
4346
4449
  * 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.
4347
4450
  */
@@ -4360,8 +4463,17 @@ export type KpRulingPlanetsResponse = {
4360
4463
  * Observer location coordinates
4361
4464
  */
4362
4465
  location: {
4466
+ /**
4467
+ * Observer latitude in decimal degrees, echoed back from the request. Sets the local sidereal time behind the KP ascendant and therefore the Lagna sublord.
4468
+ */
4363
4469
  latitude: number;
4470
+ /**
4471
+ * Observer longitude in decimal degrees, echoed back from the request. East is positive, west is negative.
4472
+ */
4364
4473
  longitude: number;
4474
+ /**
4475
+ * Numeric UTC offset in decimal hours the calculation consumed. An IANA name sent on the request is resolved to its DST-correct offset upstream, so this is always a number.
4476
+ */
4365
4477
  timezone: number;
4366
4478
  };
4367
4479
  /**
@@ -4423,6 +4535,10 @@ export type KpRulingPlanetsResponse = {
4423
4535
  houseThemes?: {
4424
4536
  [key: string]: Array<string>;
4425
4537
  };
4538
+ /**
4539
+ * 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.
4540
+ */
4541
+ focus?: 'general' | 'finance';
4426
4542
  };
4427
4543
  export type KpRulingPlanetsIntervalResponse = {
4428
4544
  /**
@@ -4618,6 +4734,10 @@ export type KpRulingPlanetsIntervalResponse = {
4618
4734
  houseThemes: {
4619
4735
  [key: string]: Array<string>;
4620
4736
  };
4737
+ /**
4738
+ * 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.
4739
+ */
4740
+ focus: 'general' | 'finance';
4621
4741
  };
4622
4742
  export type KpSublordChangesResponse = {
4623
4743
  /**
@@ -4696,9 +4816,9 @@ export type KpSublordChangesRequest = {
4696
4816
  */
4697
4817
  timezone?: number | string;
4698
4818
  /**
4699
- * Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula, the most common choice for KP astrology. "kp-old" uses the Krishnamurti original table from KP Reader-1 with constant precession rate. "lahiri" uses Lahiri/Chitrapaksha ayanamsa, matching most traditional Vedic software. Defaults to "kp-newcomb".
4819
+ * Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula, the most common choice for KP astrology. "kp-old" uses the Krishnamurti original table from KP Reader-1 with constant precession rate. "lahiri" uses Lahiri/Chitrapaksha ayanamsa, matching most traditional Vedic software. "raman" uses the B.V. Raman ayanamsa from Hindu Predictive Astrology, a recognised traditional school that sits about 1.45 degrees below Lahiri. Defaults to "kp-newcomb".
4700
4820
  */
4701
- ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri';
4821
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman';
4702
4822
  /**
4703
4823
  * 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".
4704
4824
  */
@@ -4773,9 +4893,9 @@ export type KpRasiChangesRequest = {
4773
4893
  */
4774
4894
  timezone?: number | string;
4775
4895
  /**
4776
- * Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula, the most common choice for KP astrology. "kp-old" uses the Krishnamurti original table from KP Reader-1 with constant precession rate. "lahiri" uses Lahiri/Chitrapaksha ayanamsa, matching most traditional Vedic software. Defaults to "kp-newcomb".
4896
+ * Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula, the most common choice for KP astrology. "kp-old" uses the Krishnamurti original table from KP Reader-1 with constant precession rate. "lahiri" uses Lahiri/Chitrapaksha ayanamsa, matching most traditional Vedic software. "raman" uses the B.V. Raman ayanamsa from Hindu Predictive Astrology, a recognised traditional school that sits about 1.45 degrees below Lahiri. Defaults to "kp-newcomb".
4777
4897
  */
4778
- ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri';
4898
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman';
4779
4899
  /**
4780
4900
  * 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".
4781
4901
  */
@@ -4897,9 +5017,9 @@ export type KpPlanetsIntervalRequest = {
4897
5017
  */
4898
5018
  timezone?: number | string;
4899
5019
  /**
4900
- * Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula, the most common choice for KP astrology. "kp-old" uses the Krishnamurti original table from KP Reader-1 with constant precession rate. "lahiri" uses Lahiri/Chitrapaksha ayanamsa, matching most traditional Vedic software. Defaults to "kp-newcomb".
5020
+ * Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula, the most common choice for KP astrology. "kp-old" uses the Krishnamurti original table from KP Reader-1 with constant precession rate. "lahiri" uses Lahiri/Chitrapaksha ayanamsa, matching most traditional Vedic software. "raman" uses the B.V. Raman ayanamsa from Hindu Predictive Astrology, a recognised traditional school that sits about 1.45 degrees below Lahiri. Defaults to "kp-newcomb".
4901
5021
  */
4902
- ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri';
5022
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman';
4903
5023
  /**
4904
5024
  * 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".
4905
5025
  */
@@ -5297,7 +5417,7 @@ export type ShadbalaResponse = {
5297
5417
  */
5298
5418
  kalaBala: number;
5299
5419
  /**
5300
- * Chesta Bala (Motional Strength) in virupas. Based on planetary motion and retrogression. Retrograde planets score higher. Sun uses Ayana Chesta Bala (declination arc), Moon uses elongation from Sun. Other planets use Sheeghrochcha (mean anomaly) from Surya Siddhanta elements. Range 0 to 60.
5420
+ * Chesta Bala (Motional Strength) in virupas. Based on planetary motion, so a retrograde graha scores higher because it is closer to Earth and working hardest. The Sun uses its Ayana Bala and the Moon its elongation from the Sun, per BPHS. Mars, Mercury, Jupiter, Venus and Saturn use the Sheeghra Kendra, the arc between the sheeghrochcha and the mean of the true and mean longitudes, with the roles of the mean Sun and the graha swapped for Mercury and Venus. Range 0 to 60.
5301
5421
  */
5302
5422
  chestaBala: number;
5303
5423
  /**
@@ -5305,7 +5425,7 @@ export type ShadbalaResponse = {
5305
5425
  */
5306
5426
  naisargikaBala: number;
5307
5427
  /**
5308
- * Drik Bala (Aspectual Strength) in virupas. Strength gained or lost from aspects received by other planets. Benefic aspects (Jupiter, Venus) add strength, malefic aspects (Sun, Mars, Saturn) reduce it. Can be negative when malefic aspects dominate. Uses Sputa Drishti with Vishesha (special) aspects for Mars, Jupiter, and Saturn.
5428
+ * Drik Bala (Aspectual Strength) in virupas. Strength gained or lost from the aspects a graha receives. Benefic aspects add strength and malefic aspects reduce it, so this value is negative when malefics dominate. Mercury counts as benefic or malefic by the company it keeps in its own sign, decided by count with the nearest graha breaking a tie, and the Moon by its paksha. Uses the graded Sputa Drishti curve of BPHS Ch. 26 with the Vishesha (special) aspects of Mars, Jupiter and Saturn applied at their precise DEGREE ranges rather than by whole sign.
5309
5429
  */
5310
5430
  drikBala: number;
5311
5431
  /**
@@ -5540,6 +5660,207 @@ export type CharaKarakaRequest = {
5540
5660
  */
5541
5661
  scheme?: 'seven' | 'eight';
5542
5662
  };
5663
+ /**
5664
+ * Complete Bhava Bala (house strength) analysis per Brihat Parashara Hora Shastra, with a localized house-meaning legend.
5665
+ */
5666
+ export type BhavaBalaResponse = {
5667
+ /**
5668
+ * House frame the bhavas were built on. Always sripati: Bhava Bala is defined on unequal bhava madhyas, not on whole signs.
5669
+ */
5670
+ houseSystem: string;
5671
+ /**
5672
+ * Bhava Bala for all twelve houses in order, house 1 first. Each entry carries its own components so a client can explain a score rather than just display it.
5673
+ */
5674
+ bhavas: Array<{
5675
+ /**
5676
+ * Bhava (house) number 1 to 12, counted from the Lagna. House 1 is the Ascendant bhava, house 10 the career bhava, house 7 the partnership bhava.
5677
+ */
5678
+ house: number;
5679
+ /**
5680
+ * Zodiac sign holding this bhavas madhya (mid-cusp). Under the Sripati house system the bhavas are unequal, so this is NOT always the nth sign from the Lagna, and two bhavas can share a sign while another sign holds none.
5681
+ */
5682
+ rashi: string;
5683
+ /**
5684
+ * Bhava madhya (mid-cusp) longitude in degrees, sidereal Lahiri. The point every strength component below is measured at. Bhavas 1, 4, 7 and 10 sit on the Ascendant, IC, Descendant and Midheaven; the rest trisect the quadrants between them.
5685
+ */
5686
+ madhya: number;
5687
+ /**
5688
+ * Bhavadhipati (house lord), the ruler of the sign holding the madhya. Its Shadbala is what this bhava inherits, so a house ruled by a strong graha starts strong.
5689
+ */
5690
+ lord: string;
5691
+ /**
5692
+ * Bhavadhipati Bala in virupas: the total Shadbala of the house lord, carried across unchanged. The dominant term of the three, typically 250 to 650. Two bhavas ruled by the same graha therefore share this value exactly.
5693
+ */
5694
+ bhavadhipatiBala: number;
5695
+ /**
5696
+ * Bhava Digbala (directional strength) in virupas, 0 to 60 in steps of 10. Each rashi class is strongest in one cardinal bhava (human signs at the Lagna, quadruped at the 10th, watery at the 4th, Scorpio at the 7th) and loses 10 virupas per bhava of separation, reaching 0 at the seventh from it.
5697
+ */
5698
+ digBala: number;
5699
+ /**
5700
+ * Bhava Drishti Bala (aspectual strength) in virupas, computed on the bhava madhya exactly as Graha Drik Bala is computed on a graha. Benefic aspects add and malefic aspects subtract, so this term is often negative.
5701
+ */
5702
+ drishtiBala: number;
5703
+ /**
5704
+ * Total Bhava Bala in virupas, the sum of the three components above. Use it to compare houses within one chart: the strongest bhavas are the life areas that unfold with least resistance.
5705
+ */
5706
+ totalVirupas: number;
5707
+ /**
5708
+ * Total Bhava Bala in rupas (totalVirupas / 60). 1 rupa equals 60 virupas. Rupas are the conventional unit in classical tables.
5709
+ */
5710
+ totalRupas: number;
5711
+ /**
5712
+ * Strength rank among the twelve bhavas, 1 = strongest. Ranked on totalVirupas, so it never disagrees with the published totals.
5713
+ */
5714
+ rank: number;
5715
+ }>;
5716
+ /**
5717
+ * 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.
5718
+ */
5719
+ houseThemes: {
5720
+ [key: string]: Array<string>;
5721
+ };
5722
+ /**
5723
+ * 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.
5724
+ */
5725
+ focus: 'general' | 'finance';
5726
+ };
5727
+ export type BhavaBalaRequest = {
5728
+ /**
5729
+ * Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
5730
+ */
5731
+ date: string;
5732
+ /**
5733
+ * Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
5734
+ */
5735
+ time: string;
5736
+ /**
5737
+ * Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
5738
+ */
5739
+ latitude: number;
5740
+ /**
5741
+ * Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
5742
+ */
5743
+ longitude: number;
5744
+ /**
5745
+ * 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
+ */
5747
+ timezone?: number | string;
5748
+ };
5749
+ /**
5750
+ * Bhav Chalit (Chalit Kundli): every graha placed by unequal Sripati bhava, with the whole-sign placement beside it for comparison.
5751
+ */
5752
+ export type BhavChalitResponse = {
5753
+ /**
5754
+ * House frame used to build the bhavas. Always sripati for the Chalit chart.
5755
+ */
5756
+ houseSystem: string;
5757
+ /**
5758
+ * Sidereal Lahiri Ascendant in degrees. The madhya of bhava 1.
5759
+ */
5760
+ ascendant: number;
5761
+ /**
5762
+ * Sidereal Lahiri Midheaven in degrees. The madhya of bhava 10.
5763
+ */
5764
+ midheaven: number;
5765
+ /**
5766
+ * The twelve Sripati bhavas in order with their boundaries and occupants.
5767
+ */
5768
+ bhavas: Array<{
5769
+ /**
5770
+ * Bhava number 1 to 12.
5771
+ */
5772
+ house: number;
5773
+ /**
5774
+ * Bhava sandhi (junction) opening this bhava, in degrees. The midpoint between this madhya and the previous one. A graha exactly on a sandhi belongs to the bhava it opens.
5775
+ */
5776
+ start: number;
5777
+ /**
5778
+ * Bhava madhya (mid-cusp) in degrees. Bhavas 1, 4, 7 and 10 sit exactly on the Ascendant, IC, Descendant and Midheaven; the other eight trisect the quadrant arcs between them.
5779
+ */
5780
+ madhya: number;
5781
+ /**
5782
+ * Bhava sandhi closing this bhava. Identical to the next bhavas start, so the twelve bhavas tile the zodiac with no gap.
5783
+ */
5784
+ end: number;
5785
+ /**
5786
+ * Width of the bhava in degrees. Rarely 30: the Ascendant and Midheaven are only 90 degrees apart by coincidence of latitude and epoch, so quadrants stretch and squeeze and the bhavas with them.
5787
+ */
5788
+ span: number;
5789
+ /**
5790
+ * Sign holding the madhya. Because bhavas are unequal, two bhavas can share a sign while another sign holds no madhya at all.
5791
+ */
5792
+ rashi: string;
5793
+ /**
5794
+ * Grahas falling inside this bhava. Empty when the bhava is unoccupied.
5795
+ */
5796
+ grahas: Array<string>;
5797
+ }>;
5798
+ /**
5799
+ * All nine grahas with both their Chalit bhava and their whole-sign Rashi house, plus a moved flag.
5800
+ */
5801
+ grahas: Array<{
5802
+ /**
5803
+ * Graha name. All nine are placed, the seven classical grahas plus the lunar nodes Rahu and Ketu.
5804
+ */
5805
+ graha: string;
5806
+ /**
5807
+ * Sidereal Lahiri longitude in degrees.
5808
+ */
5809
+ longitude: number;
5810
+ /**
5811
+ * Zodiac sign the graha occupies. Identical to the Rashi (D1) chart.
5812
+ */
5813
+ rashi: string;
5814
+ /**
5815
+ * Bhava the graha falls in under the unequal Sripati cusps. This is the Bhav Chalit placement and the reason the chart exists.
5816
+ */
5817
+ bhava: number;
5818
+ /**
5819
+ * House the same graha occupies in the whole-sign Rashi chart, counted from the Lagna sign. Returned alongside bhava so the difference is visible without a second request.
5820
+ */
5821
+ rashiHouse: number;
5822
+ /**
5823
+ * True when bhava and rashiHouse disagree, i.e. the graha changes house between the Rashi chart and the Chalit chart. These are the placements a practitioner opens this chart to check.
5824
+ */
5825
+ moved: boolean;
5826
+ }>;
5827
+ /**
5828
+ * How many of the nine grahas change house between the Rashi chart and the Chalit chart. Zero is a perfectly normal result and means the two charts agree for this nativity.
5829
+ */
5830
+ movedCount: number;
5831
+ /**
5832
+ * 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.
5833
+ */
5834
+ houseThemes: {
5835
+ [key: string]: Array<string>;
5836
+ };
5837
+ /**
5838
+ * 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.
5839
+ */
5840
+ focus: 'general' | 'finance';
5841
+ };
5842
+ export type BhavChalitRequest = {
5843
+ /**
5844
+ * Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
5845
+ */
5846
+ date: string;
5847
+ /**
5848
+ * Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
5849
+ */
5850
+ time: string;
5851
+ /**
5852
+ * Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
5853
+ */
5854
+ latitude: number;
5855
+ /**
5856
+ * Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
5857
+ */
5858
+ longitude: number;
5859
+ /**
5860
+ * 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
+ */
5862
+ timezone?: number | string;
5863
+ };
5543
5864
  export type BasicCard = {
5544
5865
  /**
5545
5866
  * Unique card identifier in kebab-case (e.g. fool, ace-of-cups, queen-of-swords).
@@ -8746,7 +9067,7 @@ export type PostAstrologyTransitAspectsResponses = {
8746
9067
  */
8747
9068
  summary: string;
8748
9069
  /**
8749
- * When this transit is most active and how long its influence lasts.
9070
+ * When this transit is most active and how long its influence lasts, localized. The bucket follows the speed of the transiting body: a few hours for the Moon, a few days for the Sun, Mercury, Venus and Mars, one to two weeks for Jupiter, several weeks for Saturn, and an extended period for Uranus, Neptune and Pluto.
8750
9071
  */
8751
9072
  timing: string;
8752
9073
  /**
@@ -13539,9 +13860,9 @@ export type PostVedicAstrologyDashaCurrentData = {
13539
13860
  */
13540
13861
  timezone?: number | string;
13541
13862
  /**
13542
- * Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.
13863
+ * Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.
13543
13864
  */
13544
- ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'custom';
13865
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
13545
13866
  /**
13546
13867
  * 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.
13547
13868
  */
@@ -13681,6 +14002,10 @@ export type PostVedicAstrologyDashaCurrentResponses = {
13681
14002
  houseThemes?: {
13682
14003
  [key: string]: Array<string>;
13683
14004
  };
14005
+ /**
14006
+ * 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.
14007
+ */
14008
+ focus?: 'general' | 'finance';
13684
14009
  /**
13685
14010
  * Birth Moon nakshatra number (1-27). This nakshatra determines the starting dasha lord in the Vimshottari 120-year cycle.
13686
14011
  */
@@ -13704,7 +14029,7 @@ export type PostVedicAstrologyDashaCurrentResponses = {
13704
14029
  /**
13705
14030
  * Ayanamsa system used, echoing the request field. One of "lahiri", "kp-newcomb", "kp-old" or "custom". Echoed so a client can confirm which frame produced these dates without re-deriving it. When it reads "custom" the ayanamsa field above carries the exact value you supplied.
13706
14031
  */
13707
- ayanamsaType: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'custom';
14032
+ ayanamsaType: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
13708
14033
  /**
13709
14034
  * Mahadasha (major planetary period) in the 120-year Vimshottari dasha cycle. Start and end dates are determined by Moon nakshatra at birth.
13710
14035
  */
@@ -14349,9 +14674,9 @@ export type PostVedicAstrologyDashaMajorData = {
14349
14674
  */
14350
14675
  timezone?: number | string;
14351
14676
  /**
14352
- * Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.
14677
+ * Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.
14353
14678
  */
14354
- ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'custom';
14679
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
14355
14680
  /**
14356
14681
  * 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.
14357
14682
  */
@@ -14491,6 +14816,10 @@ export type PostVedicAstrologyDashaMajorResponses = {
14491
14816
  houseThemes?: {
14492
14817
  [key: string]: Array<string>;
14493
14818
  };
14819
+ /**
14820
+ * 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.
14821
+ */
14822
+ focus?: 'general' | 'finance';
14494
14823
  /**
14495
14824
  * Birth Moon nakshatra number (1-27) that determines the Vimshottari starting point.
14496
14825
  */
@@ -14514,7 +14843,7 @@ export type PostVedicAstrologyDashaMajorResponses = {
14514
14843
  /**
14515
14844
  * Ayanamsa system used, echoing the request field. One of "lahiri", "kp-newcomb", "kp-old" or "custom". Echoed so a client can confirm which frame produced these dates without re-deriving it. When it reads "custom" the ayanamsa field above carries the exact value you supplied.
14516
14845
  */
14517
- ayanamsaType: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'custom';
14846
+ ayanamsaType: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
14518
14847
  /**
14519
14848
  * Remaining balance of the first Mahadasha at birth. Based on Moon degree within the birth nakshatra. partial dasha already elapsed before birth.
14520
14849
  */
@@ -14658,9 +14987,9 @@ export type PostVedicAstrologyDashaSubByMahadashaData = {
14658
14987
  */
14659
14988
  timezone?: number | string;
14660
14989
  /**
14661
- * Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.
14990
+ * Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.
14662
14991
  */
14663
- ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'custom';
14992
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
14664
14993
  /**
14665
14994
  * 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.
14666
14995
  */
@@ -14805,6 +15134,10 @@ export type PostVedicAstrologyDashaSubByMahadashaResponses = {
14805
15134
  houseThemes?: {
14806
15135
  [key: string]: Array<string>;
14807
15136
  };
15137
+ /**
15138
+ * 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.
15139
+ */
15140
+ focus?: 'general' | 'finance';
14808
15141
  /**
14809
15142
  * Ruling planet of the requested Mahadasha period.
14810
15143
  */
@@ -14820,7 +15153,7 @@ export type PostVedicAstrologyDashaSubByMahadashaResponses = {
14820
15153
  /**
14821
15154
  * Ayanamsa system used, echoing the request field. One of "lahiri", "kp-newcomb", "kp-old" or "custom". Echoed so a client can confirm which frame produced these dates without re-deriving it. When it reads "custom" the ayanamsa field above carries the exact value you supplied.
14822
15155
  */
14823
- ayanamsaType: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'custom';
15156
+ ayanamsaType: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
14824
15157
  /**
14825
15158
  * Full details of the parent Mahadasha including start/end dates and duration.
14826
15159
  */
@@ -15035,9 +15368,9 @@ export type PostVedicAstrologyDashaSubByMahadashaByAntardashaData = {
15035
15368
  */
15036
15369
  timezone?: number | string;
15037
15370
  /**
15038
- * Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.
15371
+ * Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.
15039
15372
  */
15040
- ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'custom';
15373
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
15041
15374
  /**
15042
15375
  * 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.
15043
15376
  */
@@ -15186,6 +15519,10 @@ export type PostVedicAstrologyDashaSubByMahadashaByAntardashaResponses = {
15186
15519
  houseThemes?: {
15187
15520
  [key: string]: Array<string>;
15188
15521
  };
15522
+ /**
15523
+ * 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.
15524
+ */
15525
+ focus?: 'general' | 'finance';
15189
15526
  /**
15190
15527
  * Ruling planet of the requested Mahadasha period.
15191
15528
  */
@@ -15205,7 +15542,7 @@ export type PostVedicAstrologyDashaSubByMahadashaByAntardashaResponses = {
15205
15542
  /**
15206
15543
  * Ayanamsa system used, echoing the request field. One of "lahiri", "kp-newcomb", "kp-old" or "custom". Echoed so a client can confirm which frame produced these dates without re-deriving it. When it reads "custom" the ayanamsa field above carries the exact value you supplied.
15207
15544
  */
15208
- ayanamsaType: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'custom';
15545
+ ayanamsaType: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
15209
15546
  /**
15210
15547
  * Full details of the parent Antardasha including start/end dates and duration.
15211
15548
  */
@@ -15428,9 +15765,9 @@ export type PostVedicAstrologyDashaSubByMahadashaByAntardashaByPratyantardashaDa
15428
15765
  */
15429
15766
  timezone?: number | string;
15430
15767
  /**
15431
- * Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.
15768
+ * Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.
15432
15769
  */
15433
- ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'custom';
15770
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
15434
15771
  /**
15435
15772
  * 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.
15436
15773
  */
@@ -15583,6 +15920,10 @@ export type PostVedicAstrologyDashaSubByMahadashaByAntardashaByPratyantardashaRe
15583
15920
  houseThemes?: {
15584
15921
  [key: string]: Array<string>;
15585
15922
  };
15923
+ /**
15924
+ * 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.
15925
+ */
15926
+ focus?: 'general' | 'finance';
15586
15927
  /**
15587
15928
  * Ruling planet of the requested Mahadasha period.
15588
15929
  */
@@ -15606,7 +15947,7 @@ export type PostVedicAstrologyDashaSubByMahadashaByAntardashaByPratyantardashaRe
15606
15947
  /**
15607
15948
  * Ayanamsa system used, echoing the request field. One of "lahiri", "kp-newcomb", "kp-old" or "custom". Echoed so a client can confirm which frame produced these dates without re-deriving it. When it reads "custom" the ayanamsa field above carries the exact value you supplied.
15608
15949
  */
15609
- ayanamsaType: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'custom';
15950
+ ayanamsaType: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
15610
15951
  /**
15611
15952
  * Full details of the parent Pratyantardasha including start/end dates and duration.
15612
15953
  */
@@ -15837,9 +16178,9 @@ export type PostVedicAstrologyDashaSubByMahadashaByAntardashaByPratyantardashaBy
15837
16178
  */
15838
16179
  timezone?: number | string;
15839
16180
  /**
15840
- * Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.
16181
+ * Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.
15841
16182
  */
15842
- ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'custom';
16183
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
15843
16184
  /**
15844
16185
  * 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.
15845
16186
  */
@@ -15996,6 +16337,10 @@ export type PostVedicAstrologyDashaSubByMahadashaByAntardashaByPratyantardashaBy
15996
16337
  houseThemes?: {
15997
16338
  [key: string]: Array<string>;
15998
16339
  };
16340
+ /**
16341
+ * 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.
16342
+ */
16343
+ focus?: 'general' | 'finance';
15999
16344
  /**
16000
16345
  * Ruling planet of the requested Mahadasha period.
16001
16346
  */
@@ -16023,7 +16368,7 @@ export type PostVedicAstrologyDashaSubByMahadashaByAntardashaByPratyantardashaBy
16023
16368
  /**
16024
16369
  * Ayanamsa system used, echoing the request field. One of "lahiri", "kp-newcomb", "kp-old" or "custom". Echoed so a client can confirm which frame produced these dates without re-deriving it. When it reads "custom" the ayanamsa field above carries the exact value you supplied.
16025
16370
  */
16026
- ayanamsaType: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'custom';
16371
+ ayanamsaType: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman' | 'custom';
16027
16372
  /**
16028
16373
  * Full details of the parent Sookshma dasha including start/end dates and duration.
16029
16374
  */
@@ -16654,20 +16999,24 @@ export type PostVedicAstrologyPanchangDetailedResponses = {
16654
16999
  */
16655
17000
  vara: {
16656
17001
  /**
16657
- * Hindu weekday name. Vara begins at local sunrise, not midnight.
17002
+ * Weekday name in English. Vara begins at local sunrise, not at midnight, so a time before sunrise belongs to the previous vara.
16658
17003
  */
16659
17004
  name: string;
17005
+ /**
17006
+ * Vara name transliterated from Sanskrit: Ravivara, Somavara, Mangalavara, Budhavara, Guruvara, Shukravara, Shanivara. Use this rather than name for a Jyotish-facing reading, since it is the form the classical texts use and it does not change with the lang parameter.
17007
+ */
17008
+ sanskritName: string;
16660
17009
  /**
16661
17010
  * Ruling planet of the day (Vara lord). Influences day-level auspiciousness.
16662
17011
  */
16663
17012
  lord: string;
16664
17013
  };
16665
17014
  /**
16666
- * Local sunrise time in UTC. Marks the start of the Hindu day.
17015
+ * Local sunrise in the requested timezone as YYYY-MM-DDTHH:MM:SS, with no zone suffix. Marks the start of the Hindu day.
16667
17016
  */
16668
17017
  sunrise: string;
16669
17018
  /**
16670
- * Local sunset time in UTC. Marks the transition to night muhurtas.
17019
+ * Local sunset in the requested timezone as YYYY-MM-DDTHH:MM:SS, with no zone suffix. Marks the transition to night muhurtas.
16671
17020
  */
16672
17021
  sunset: string;
16673
17022
  /**
@@ -16842,11 +17191,11 @@ export type PostVedicAstrologyPanchangDetailedResponses = {
16842
17191
  */
16843
17192
  number: number;
16844
17193
  /**
16845
- * Start time of the current hora in UTC.
17194
+ * Start time of the current hora, as local civil time in the requested timezone offset. The first hora of any day begins at local sunrise, so this equals the sunrise field when the hora number is 1.
16846
17195
  */
16847
17196
  start: string;
16848
17197
  /**
16849
- * End time of the current hora in UTC.
17198
+ * End time of the current hora, as local civil time in the requested timezone offset. Day horas and night horas have different lengths, so a hora is only approximately 60 minutes.
16850
17199
  */
16851
17200
  end: string;
16852
17201
  };
@@ -17294,6 +17643,9 @@ export type PostVedicAstrologyPanchangChoghadiyaResponses = {
17294
17643
  * 8 daytime and 8 nighttime Choghadiya muhurta periods with names, ruling planets, auspiciousness ratings (Good/Bad), and exact start/end times based on sunrise and sunset.
17295
17644
  */
17296
17645
  200: {
17646
+ /**
17647
+ * Calendar date the choghadiya muhurta table was computed for, YYYY-MM-DD, echoed back from the request. The day periods run from that date sunrise to its sunset, and the night periods run on to the next sunrise.
17648
+ */
17297
17649
  date: string;
17298
17650
  /**
17299
17651
  * 8 daytime choghadiya periods (sunrise to sunset)
@@ -17880,6 +18232,10 @@ export type GetVedicAstrologyYogaData = {
17880
18232
  * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
17881
18233
  */
17882
18234
  lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru';
18235
+ /**
18236
+ * Filter the catalog to one Nabhasa family: asraya (3), dala (2), akriti (20) or sankhya (7). Omit for the full catalog. `classical` is accepted but matches nothing here, because it is a detection-verdict value for single-combination yogas rather than a catalog grouping.
18237
+ */
18238
+ family?: 'classical' | 'asraya' | 'dala' | 'akriti' | 'sankhya';
17883
18239
  };
17884
18240
  url: '/vedic-astrology/yoga';
17885
18241
  };
@@ -17991,20 +18347,24 @@ export type GetVedicAstrologyYogaResponses = {
17991
18347
  */
17992
18348
  200: {
17993
18349
  /**
17994
- * Array of all planetary yogas with basic identifiers. Use GET /yogas/:id for formation rules, effects, and quality classification.
18350
+ * Array of planetary yogas with basic identifiers, narrowed by `family` when that filter is supplied. Use GET /yoga/{id} for formation rules, effects, and quality classification.
17995
18351
  */
17996
18352
  yogas: Array<{
17997
18353
  /**
17998
- * Unique yoga identifier in lowercase kebab-case. Use this to fetch full details via GET /yogas/:id.
18354
+ * Unique yoga identifier in lowercase kebab-case. Use this to fetch full details via GET /yoga/{id}.
17999
18355
  */
18000
18356
  id: string;
18001
18357
  /**
18002
18358
  * Traditional Sanskrit name of the planetary yoga combination.
18003
18359
  */
18004
18360
  name: string;
18361
+ /**
18362
+ * Nabhasa family, present only on the 32 Nabhasa distribution yogas and absent on every other catalog row. Never translated, so it groups identically under any lang.
18363
+ */
18364
+ family?: 'classical' | 'asraya' | 'dala' | 'akriti' | 'sankhya';
18005
18365
  }>;
18006
18366
  /**
18007
- * Total count of planetary yogas in the database. Includes Raj Yogas, Dhan Yogas, Pancha Mahapurusha Yogas, Nabhasa Yogas, and more.
18367
+ * Number of yogas in this response, which is the filtered count when `family` is supplied and the full catalog size otherwise. Includes Raj Yogas, Dhan Yogas, Pancha Mahapurusha Yogas, Nabhasa Yogas, and more.
18008
18368
  */
18009
18369
  total: number;
18010
18370
  };
@@ -18939,9 +19299,9 @@ export type PostVedicAstrologyKpRulingPlanetsIntervalData = {
18939
19299
  */
18940
19300
  timezone?: number | string;
18941
19301
  /**
18942
- * Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula, the most common choice for KP astrology. "kp-old" uses the Krishnamurti original table from KP Reader-1 with constant precession rate. "lahiri" uses Lahiri/Chitrapaksha ayanamsa, matching most traditional Vedic software. Defaults to "kp-newcomb".
19302
+ * Ayanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula, the most common choice for KP astrology. "kp-old" uses the Krishnamurti original table from KP Reader-1 with constant precession rate. "lahiri" uses Lahiri/Chitrapaksha ayanamsa, matching most traditional Vedic software. "raman" uses the B.V. Raman ayanamsa from Hindu Predictive Astrology, a recognised traditional school that sits about 1.45 degrees below Lahiri. Defaults to "kp-newcomb".
18943
19303
  */
18944
- ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri';
19304
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman';
18945
19305
  /**
18946
19306
  * 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".
18947
19307
  */
@@ -20167,11 +20527,11 @@ export type PostVedicAstrologyTransitResponses = {
20167
20527
  */
20168
20528
  200: {
20169
20529
  /**
20170
- * Birth datetime used for the natal chart (UTC ISO 8601).
20530
+ * Birth datetime used for the natal chart, echoed as the local civil date and time supplied in the request (YYYY-MM-DDTHH:MM:SS). Combine it with the timezone field to recover the UTC instant.
20171
20531
  */
20172
20532
  birthDatetime: string;
20173
20533
  /**
20174
- * Transit datetime being analyzed (UTC ISO 8601).
20534
+ * Transit datetime being analyzed, echoed as the local civil date and time supplied in the request (YYYY-MM-DDTHH:MM:SS). Gochar positions are computed for this moment and overlaid on the natal chart.
20175
20535
  */
20176
20536
  transitDatetime: string;
20177
20537
  /**
@@ -20587,7 +20947,7 @@ export type PostVedicAstrologyParallelsResponses = {
20587
20947
  */
20588
20948
  200: {
20589
20949
  /**
20590
- * UTC datetime used for declination calculation (ISO 8601).
20950
+ * Datetime used for the declination calculation, echoed as the local civil date and time supplied in the request (YYYY-MM-DDTHH:MM:SS). The timezone field of the request is what converts it to the instant the declinations are computed for.
20591
20951
  */
20592
20952
  datetime: string;
20593
20953
  /**
@@ -21964,12 +22324,171 @@ export type GetVedicAstrologyAvasthasErrors = {
21964
22324
  code: string;
21965
22325
  };
21966
22326
  };
21967
- export type GetVedicAstrologyAvasthasError = GetVedicAstrologyAvasthasErrors[keyof GetVedicAstrologyAvasthasErrors];
21968
- export type GetVedicAstrologyAvasthasResponses = {
22327
+ export type GetVedicAstrologyAvasthasError = GetVedicAstrologyAvasthasErrors[keyof GetVedicAstrologyAvasthasErrors];
22328
+ export type GetVedicAstrologyAvasthasResponses = {
22329
+ /**
22330
+ * Avastha states with their labels and interpretations, in system order.
22331
+ */
22332
+ 200: Array<{
22333
+ /**
22334
+ * Unique slug for the avastha state. It is the lowercased form of the state name the birth chart returns, so a chart value maps straight onto this record.
22335
+ */
22336
+ id: string;
22337
+ /**
22338
+ * Sanskrit name of the state, exactly as it appears in the `awastha`, `jagradadi` or `deeptadi` field of a birth chart.
22339
+ */
22340
+ name: string;
22341
+ /**
22342
+ * Which avastha system the state belongs to, and therefore which birth-chart field it appears in. "baladi" is the five-fold age state set by degree within the sign and appears in `awastha`. "jagradadi" is the three-fold waking state set by sign dignity. "deeptadi" is the nine-fold dispositional state. Baladi applies to every body; the other two apply to the seven classical grahas only.
22343
+ */
22344
+ system: 'baladi' | 'jagradadi' | 'deeptadi';
22345
+ /**
22346
+ * Short label for the state, sized for a table cell beside the graha.
22347
+ */
22348
+ meaning: string;
22349
+ /**
22350
+ * What the state means for the results the graha delivers, which is the whole purpose of reading an avastha: the chart says where a graha is, the avastha says how much of its promise it can keep.
22351
+ */
22352
+ interpretation: string;
22353
+ }>;
22354
+ };
22355
+ export type GetVedicAstrologyAvasthasResponse = GetVedicAstrologyAvasthasResponses[keyof GetVedicAstrologyAvasthasResponses];
22356
+ export type GetVedicAstrologyAvasthasByIdData = {
22357
+ body?: never;
22358
+ path: {
22359
+ /**
22360
+ * Avastha slug. Baladi: bala, kumara, yuva, vriddha, mrita. Jagradadi: jagrat, swapna, sushupti. Deeptadi: dipta, svastha, pramudita, shanta, dina, duhkhita, vikala, khala, kopa.
22361
+ */
22362
+ id: 'bala' | 'kumara' | 'yuva' | 'vriddha' | 'mrita' | 'jagrat' | 'swapna' | 'sushupti' | 'dipta' | 'svastha' | 'pramudita' | 'shanta' | 'dina' | 'duhkhita' | 'vikala' | 'khala' | 'kopa';
22363
+ };
22364
+ query?: {
22365
+ /**
22366
+ * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
22367
+ */
22368
+ lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru';
22369
+ };
22370
+ url: '/vedic-astrology/avasthas/{id}';
22371
+ };
22372
+ export type GetVedicAstrologyAvasthasByIdErrors = {
22373
+ /**
22374
+ * Validation error. `issues[]` lists every failed field.
22375
+ */
22376
+ 400: {
22377
+ /**
22378
+ * First issue summary.
22379
+ */
22380
+ error: string;
22381
+ code: 'validation_error';
22382
+ /**
22383
+ * Every validation failure. Use this to rebuild a valid request.
22384
+ */
22385
+ issues: Array<{
22386
+ /**
22387
+ * Dot-separated field path, or "(root)" for top-level.
22388
+ */
22389
+ path: string;
22390
+ message: string;
22391
+ /**
22392
+ * Zod issue code (invalid_type, too_small, too_big, invalid_string, ...).
22393
+ */
22394
+ code?: string;
22395
+ /**
22396
+ * Expected type for invalid_type.
22397
+ */
22398
+ expected?: string;
22399
+ /**
22400
+ * Minimum bound for too_small issues.
22401
+ */
22402
+ minimum?: number | string;
22403
+ /**
22404
+ * Maximum bound for too_big issues.
22405
+ */
22406
+ maximum?: number | string;
22407
+ inclusive?: boolean;
22408
+ /**
22409
+ * Format name for string issues (regex, email, url, uuid).
22410
+ */
22411
+ format?: string;
22412
+ /**
22413
+ * Regex pattern when format is regex.
22414
+ */
22415
+ pattern?: string;
22416
+ }>;
22417
+ };
22418
+ /**
22419
+ * Invalid or missing API key
22420
+ */
22421
+ 401: {
22422
+ /**
22423
+ * Human-readable error message. May change wording.
22424
+ */
22425
+ error: string;
22426
+ /**
22427
+ * Machine-readable error code. Stable identifier.
22428
+ */
22429
+ code: string;
22430
+ };
22431
+ /**
22432
+ * No avastha state matches that slug.
22433
+ */
22434
+ 404: {
22435
+ /**
22436
+ * Human-readable error message. May change wording — do not parse programmatically.
22437
+ */
22438
+ error: string;
22439
+ /**
22440
+ * Machine-readable error code. Stable identifier for programmatic error handling.
22441
+ */
22442
+ code: string;
22443
+ };
22444
+ /**
22445
+ * Method not allowed. The path exists but only responds to the methods listed in `allow[]` and the `Allow` response header.
22446
+ */
22447
+ 405: {
22448
+ error: string;
22449
+ code: 'method_not_allowed';
22450
+ /**
22451
+ * Allowed HTTP methods for this path. Mirrors the Allow response header.
22452
+ */
22453
+ allow: Array<string>;
22454
+ /**
22455
+ * Link to the product page for this domain.
22456
+ */
22457
+ docs?: string;
22458
+ };
22459
+ /**
22460
+ * Monthly rate limit exceeded
22461
+ */
22462
+ 429: {
22463
+ /**
22464
+ * Human-readable error message. May change wording.
22465
+ */
22466
+ error: string;
22467
+ /**
22468
+ * Machine-readable error code. Stable identifier.
22469
+ */
22470
+ code: string;
22471
+ };
22472
+ /**
22473
+ * Internal server error
22474
+ */
22475
+ 500: {
22476
+ /**
22477
+ * Human-readable error message. May change wording.
22478
+ */
22479
+ error: string;
22480
+ /**
22481
+ * Machine-readable error code. Stable identifier.
22482
+ */
22483
+ code: string;
22484
+ };
22485
+ };
22486
+ export type GetVedicAstrologyAvasthasByIdError = GetVedicAstrologyAvasthasByIdErrors[keyof GetVedicAstrologyAvasthasByIdErrors];
22487
+ export type GetVedicAstrologyAvasthasByIdResponses = {
21969
22488
  /**
21970
- * Avastha states with their labels and interpretations, in system order.
22489
+ * The avastha state with its system, label and interpretation.
21971
22490
  */
21972
- 200: Array<{
22491
+ 200: {
21973
22492
  /**
21974
22493
  * Unique slug for the avastha state. It is the lowercased form of the state name the birth chart returns, so a chart value maps straight onto this record.
21975
22494
  */
@@ -21990,26 +22509,21 @@ export type GetVedicAstrologyAvasthasResponses = {
21990
22509
  * What the state means for the results the graha delivers, which is the whole purpose of reading an avastha: the chart says where a graha is, the avastha says how much of its promise it can keep.
21991
22510
  */
21992
22511
  interpretation: string;
21993
- }>;
21994
- };
21995
- export type GetVedicAstrologyAvasthasResponse = GetVedicAstrologyAvasthasResponses[keyof GetVedicAstrologyAvasthasResponses];
21996
- export type GetVedicAstrologyAvasthasByIdData = {
21997
- body?: never;
21998
- path: {
21999
- /**
22000
- * Avastha slug. Baladi: bala, kumara, yuva, vriddha, mrita. Jagradadi: jagrat, swapna, sushupti. Deeptadi: dipta, svastha, pramudita, shanta, dina, duhkhita, vikala, khala, kopa.
22001
- */
22002
- id: 'bala' | 'kumara' | 'yuva' | 'vriddha' | 'mrita' | 'jagrat' | 'swapna' | 'sushupti' | 'dipta' | 'svastha' | 'pramudita' | 'shanta' | 'dina' | 'duhkhita' | 'vikala' | 'khala' | 'kopa';
22003
22512
  };
22513
+ };
22514
+ export type GetVedicAstrologyAvasthasByIdResponse = GetVedicAstrologyAvasthasByIdResponses[keyof GetVedicAstrologyAvasthasByIdResponses];
22515
+ export type PostVedicAstrologyArudhaData = {
22516
+ body?: ArudhaRequest;
22517
+ path?: never;
22004
22518
  query?: {
22005
22519
  /**
22006
22520
  * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
22007
22521
  */
22008
22522
  lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru';
22009
22523
  };
22010
- url: '/vedic-astrology/avasthas/{id}';
22524
+ url: '/vedic-astrology/arudha';
22011
22525
  };
22012
- export type GetVedicAstrologyAvasthasByIdErrors = {
22526
+ export type PostVedicAstrologyArudhaErrors = {
22013
22527
  /**
22014
22528
  * Validation error. `issues[]` lists every failed field.
22015
22529
  */
@@ -22068,19 +22582,6 @@ export type GetVedicAstrologyAvasthasByIdErrors = {
22068
22582
  */
22069
22583
  code: string;
22070
22584
  };
22071
- /**
22072
- * No avastha state matches that slug.
22073
- */
22074
- 404: {
22075
- /**
22076
- * Human-readable error message. May change wording — do not parse programmatically.
22077
- */
22078
- error: string;
22079
- /**
22080
- * Machine-readable error code. Stable identifier for programmatic error handling.
22081
- */
22082
- code: string;
22083
- };
22084
22585
  /**
22085
22586
  * Method not allowed. The path exists but only responds to the methods listed in `allow[]` and the `Allow` response header.
22086
22587
  */
@@ -22123,47 +22624,150 @@ export type GetVedicAstrologyAvasthasByIdErrors = {
22123
22624
  code: string;
22124
22625
  };
22125
22626
  };
22126
- export type GetVedicAstrologyAvasthasByIdError = GetVedicAstrologyAvasthasByIdErrors[keyof GetVedicAstrologyAvasthasByIdErrors];
22127
- export type GetVedicAstrologyAvasthasByIdResponses = {
22627
+ export type PostVedicAstrologyArudhaError = PostVedicAstrologyArudhaErrors[keyof PostVedicAstrologyArudhaErrors];
22628
+ export type PostVedicAstrologyArudhaResponses = {
22128
22629
  /**
22129
- * The avastha state with its system, label and interpretation.
22630
+ * All twelve Arudha padas with derivation detail, plus the Arudha Lagna and Upapada lifted to the top level.
22130
22631
  */
22131
- 200: {
22632
+ 200: ArudhaResponse;
22633
+ };
22634
+ export type PostVedicAstrologyArudhaResponse = PostVedicAstrologyArudhaResponses[keyof PostVedicAstrologyArudhaResponses];
22635
+ export type PostVedicAstrologyCharaKarakasData = {
22636
+ body?: CharaKarakaRequest;
22637
+ path?: never;
22638
+ query?: {
22132
22639
  /**
22133
- * Unique slug for the avastha state. It is the lowercased form of the state name the birth chart returns, so a chart value maps straight onto this record.
22640
+ * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
22134
22641
  */
22135
- id: string;
22642
+ lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru';
22643
+ };
22644
+ url: '/vedic-astrology/chara-karakas';
22645
+ };
22646
+ export type PostVedicAstrologyCharaKarakasErrors = {
22647
+ /**
22648
+ * Validation error. `issues[]` lists every failed field.
22649
+ */
22650
+ 400: {
22136
22651
  /**
22137
- * Sanskrit name of the state, exactly as it appears in the `awastha`, `jagradadi` or `deeptadi` field of a birth chart.
22652
+ * First issue summary.
22138
22653
  */
22139
- name: string;
22654
+ error: string;
22655
+ code: 'validation_error';
22140
22656
  /**
22141
- * Which avastha system the state belongs to, and therefore which birth-chart field it appears in. "baladi" is the five-fold age state set by degree within the sign and appears in `awastha`. "jagradadi" is the three-fold waking state set by sign dignity. "deeptadi" is the nine-fold dispositional state. Baladi applies to every body; the other two apply to the seven classical grahas only.
22657
+ * Every validation failure. Use this to rebuild a valid request.
22142
22658
  */
22143
- system: 'baladi' | 'jagradadi' | 'deeptadi';
22659
+ issues: Array<{
22660
+ /**
22661
+ * Dot-separated field path, or "(root)" for top-level.
22662
+ */
22663
+ path: string;
22664
+ message: string;
22665
+ /**
22666
+ * Zod issue code (invalid_type, too_small, too_big, invalid_string, ...).
22667
+ */
22668
+ code?: string;
22669
+ /**
22670
+ * Expected type for invalid_type.
22671
+ */
22672
+ expected?: string;
22673
+ /**
22674
+ * Minimum bound for too_small issues.
22675
+ */
22676
+ minimum?: number | string;
22677
+ /**
22678
+ * Maximum bound for too_big issues.
22679
+ */
22680
+ maximum?: number | string;
22681
+ inclusive?: boolean;
22682
+ /**
22683
+ * Format name for string issues (regex, email, url, uuid).
22684
+ */
22685
+ format?: string;
22686
+ /**
22687
+ * Regex pattern when format is regex.
22688
+ */
22689
+ pattern?: string;
22690
+ }>;
22691
+ };
22692
+ /**
22693
+ * Invalid or missing API key
22694
+ */
22695
+ 401: {
22144
22696
  /**
22145
- * Short label for the state, sized for a table cell beside the graha.
22697
+ * Human-readable error message. May change wording.
22146
22698
  */
22147
- meaning: string;
22699
+ error: string;
22148
22700
  /**
22149
- * What the state means for the results the graha delivers, which is the whole purpose of reading an avastha: the chart says where a graha is, the avastha says how much of its promise it can keep.
22701
+ * Machine-readable error code. Stable identifier.
22150
22702
  */
22151
- interpretation: string;
22703
+ code: string;
22704
+ };
22705
+ /**
22706
+ * Method not allowed. The path exists but only responds to the methods listed in `allow[]` and the `Allow` response header.
22707
+ */
22708
+ 405: {
22709
+ error: string;
22710
+ code: 'method_not_allowed';
22711
+ /**
22712
+ * Allowed HTTP methods for this path. Mirrors the Allow response header.
22713
+ */
22714
+ allow: Array<string>;
22715
+ /**
22716
+ * Link to the product page for this domain.
22717
+ */
22718
+ docs?: string;
22719
+ };
22720
+ /**
22721
+ * Monthly rate limit exceeded
22722
+ */
22723
+ 429: {
22724
+ /**
22725
+ * Human-readable error message. May change wording.
22726
+ */
22727
+ error: string;
22728
+ /**
22729
+ * Machine-readable error code. Stable identifier.
22730
+ */
22731
+ code: string;
22732
+ };
22733
+ /**
22734
+ * Internal server error
22735
+ */
22736
+ 500: {
22737
+ /**
22738
+ * Human-readable error message. May change wording.
22739
+ */
22740
+ error: string;
22741
+ /**
22742
+ * Machine-readable error code. Stable identifier.
22743
+ */
22744
+ code: string;
22152
22745
  };
22153
22746
  };
22154
- export type GetVedicAstrologyAvasthasByIdResponse = GetVedicAstrologyAvasthasByIdResponses[keyof GetVedicAstrologyAvasthasByIdResponses];
22155
- export type PostVedicAstrologyArudhaData = {
22156
- body?: ArudhaRequest;
22747
+ export type PostVedicAstrologyCharaKarakasError = PostVedicAstrologyCharaKarakasErrors[keyof PostVedicAstrologyCharaKarakasErrors];
22748
+ export type PostVedicAstrologyCharaKarakasResponses = {
22749
+ /**
22750
+ * Karaka offices in descending rank with the ranking degree for each, plus the Atmakaraka and Darakaraka lifted to the top level.
22751
+ */
22752
+ 200: CharaKarakaResponse;
22753
+ };
22754
+ export type PostVedicAstrologyCharaKarakasResponse = PostVedicAstrologyCharaKarakasResponses[keyof PostVedicAstrologyCharaKarakasResponses];
22755
+ export type PostVedicAstrologyBhavaBalaData = {
22756
+ body?: BhavaBalaRequest;
22157
22757
  path?: never;
22158
22758
  query?: {
22159
22759
  /**
22160
22760
  * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
22161
22761
  */
22162
22762
  lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru';
22763
+ /**
22764
+ * 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".
22765
+ */
22766
+ focus?: 'general' | 'finance';
22163
22767
  };
22164
- url: '/vedic-astrology/arudha';
22768
+ url: '/vedic-astrology/bhava-bala';
22165
22769
  };
22166
- export type PostVedicAstrologyArudhaErrors = {
22770
+ export type PostVedicAstrologyBhavaBalaErrors = {
22167
22771
  /**
22168
22772
  * Validation error. `issues[]` lists every failed field.
22169
22773
  */
@@ -22264,26 +22868,30 @@ export type PostVedicAstrologyArudhaErrors = {
22264
22868
  code: string;
22265
22869
  };
22266
22870
  };
22267
- export type PostVedicAstrologyArudhaError = PostVedicAstrologyArudhaErrors[keyof PostVedicAstrologyArudhaErrors];
22268
- export type PostVedicAstrologyArudhaResponses = {
22871
+ export type PostVedicAstrologyBhavaBalaError = PostVedicAstrologyBhavaBalaErrors[keyof PostVedicAstrologyBhavaBalaErrors];
22872
+ export type PostVedicAstrologyBhavaBalaResponses = {
22269
22873
  /**
22270
- * All twelve Arudha padas with derivation detail, plus the Arudha Lagna and Upapada lifted to the top level.
22874
+ * Bhava Bala for all twelve houses with the three components, totals in virupas and rupas, ranking, and the localized house-theme legend.
22271
22875
  */
22272
- 200: ArudhaResponse;
22876
+ 200: BhavaBalaResponse;
22273
22877
  };
22274
- export type PostVedicAstrologyArudhaResponse = PostVedicAstrologyArudhaResponses[keyof PostVedicAstrologyArudhaResponses];
22275
- export type PostVedicAstrologyCharaKarakasData = {
22276
- body?: CharaKarakaRequest;
22878
+ export type PostVedicAstrologyBhavaBalaResponse = PostVedicAstrologyBhavaBalaResponses[keyof PostVedicAstrologyBhavaBalaResponses];
22879
+ export type PostVedicAstrologyBhavChalitData = {
22880
+ body?: BhavChalitRequest;
22277
22881
  path?: never;
22278
22882
  query?: {
22279
22883
  /**
22280
22884
  * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
22281
22885
  */
22282
22886
  lang?: 'en' | 'tr' | 'de' | 'es' | 'hi' | 'pt' | 'fr' | 'ru';
22887
+ /**
22888
+ * 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".
22889
+ */
22890
+ focus?: 'general' | 'finance';
22283
22891
  };
22284
- url: '/vedic-astrology/chara-karakas';
22892
+ url: '/vedic-astrology/bhav-chalit';
22285
22893
  };
22286
- export type PostVedicAstrologyCharaKarakasErrors = {
22894
+ export type PostVedicAstrologyBhavChalitErrors = {
22287
22895
  /**
22288
22896
  * Validation error. `issues[]` lists every failed field.
22289
22897
  */
@@ -22384,14 +22992,14 @@ export type PostVedicAstrologyCharaKarakasErrors = {
22384
22992
  code: string;
22385
22993
  };
22386
22994
  };
22387
- export type PostVedicAstrologyCharaKarakasError = PostVedicAstrologyCharaKarakasErrors[keyof PostVedicAstrologyCharaKarakasErrors];
22388
- export type PostVedicAstrologyCharaKarakasResponses = {
22995
+ export type PostVedicAstrologyBhavChalitError = PostVedicAstrologyBhavChalitErrors[keyof PostVedicAstrologyBhavChalitErrors];
22996
+ export type PostVedicAstrologyBhavChalitResponses = {
22389
22997
  /**
22390
- * Karaka offices in descending rank with the ranking degree for each, plus the Atmakaraka and Darakaraka lifted to the top level.
22998
+ * Bhav Chalit chart with the twelve Sripati bhavas, every graha in both frames, and the localized house-theme legend.
22391
22999
  */
22392
- 200: CharaKarakaResponse;
23000
+ 200: BhavChalitResponse;
22393
23001
  };
22394
- export type PostVedicAstrologyCharaKarakasResponse = PostVedicAstrologyCharaKarakasResponses[keyof PostVedicAstrologyCharaKarakasResponses];
23002
+ export type PostVedicAstrologyBhavChalitResponse = PostVedicAstrologyBhavChalitResponses[keyof PostVedicAstrologyBhavChalitResponses];
22395
23003
  export type PostForecastTimelineData = {
22396
23004
  body?: {
22397
23005
  /**
@@ -22582,9 +23190,9 @@ export type PostForecastTimelineResponses = {
22582
23190
  */
22583
23191
  time: string;
22584
23192
  /**
22585
- * IANA name (e.g. "America/New_York", "Europe/London", "UTC"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. "-05:00", "+01:00"). Prefer the IANA name: it is resolved to the DST-correct offset for the birth date, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state on that date. Invalid timezones return 400 with a validation error.
23193
+ * Decimal UTC offset the forecast was computed with, resolved from whatever the request sent. An IANA name is resolved to the DST-correct offset for the birth date, so this is the literal number applied, never the name.
22586
23194
  */
22587
- timezone: number | string;
23195
+ timezone: number;
22588
23196
  /**
22589
23197
  * Birth latitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0.
22590
23198
  */
@@ -22839,9 +23447,9 @@ export type PostForecastTransitsResponses = {
22839
23447
  */
22840
23448
  time: string;
22841
23449
  /**
22842
- * IANA name (e.g. "America/New_York", "Europe/London", "UTC"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. "-05:00", "+01:00"). Prefer the IANA name: it is resolved to the DST-correct offset for the birth date, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state on that date. Invalid timezones return 400 with a validation error.
23450
+ * Decimal UTC offset the forecast was computed with, resolved from whatever the request sent. An IANA name is resolved to the DST-correct offset for the birth date, so this is the literal number applied, never the name.
22843
23451
  */
22844
- timezone: number | string;
23452
+ timezone: number;
22845
23453
  /**
22846
23454
  * Birth latitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0.
22847
23455
  */
@@ -23117,9 +23725,9 @@ export type PostForecastSignificantDatesResponses = {
23117
23725
  */
23118
23726
  time: string;
23119
23727
  /**
23120
- * IANA name (e.g. "America/New_York", "Europe/London", "UTC"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. "-05:00", "+01:00"). Prefer the IANA name: it is resolved to the DST-correct offset for the birth date, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state on that date. Invalid timezones return 400 with a validation error.
23728
+ * Decimal UTC offset the forecast was computed with, resolved from whatever the request sent. An IANA name is resolved to the DST-correct offset for the birth date, so this is the literal number applied, never the name.
23121
23729
  */
23122
- timezone: number | string;
23730
+ timezone: number;
23123
23731
  /**
23124
23732
  * Birth latitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0.
23125
23733
  */
@@ -23395,9 +24003,9 @@ export type PostForecastDigestResponses = {
23395
24003
  */
23396
24004
  time: string;
23397
24005
  /**
23398
- * IANA name (e.g. "America/New_York", "Europe/London", "UTC"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. "-05:00", "+01:00"). Prefer the IANA name: it is resolved to the DST-correct offset for the birth date, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state on that date. Invalid timezones return 400 with a validation error.
24006
+ * Decimal UTC offset the forecast was computed with, resolved from whatever the request sent. An IANA name is resolved to the DST-correct offset for the birth date, so this is the literal number applied, never the name.
23399
24007
  */
23400
- timezone: number | string;
24008
+ timezone: number;
23401
24009
  /**
23402
24010
  * Birth latitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0.
23403
24011
  */
@@ -23439,20 +24047,50 @@ export type PostForecastDigestResponses = {
23439
24047
  * Count of events in this window broken down by domain. Only domains with at least one event in the window are present. The values sum to count.
23440
24048
  */
23441
24049
  byDomain: {
24050
+ /**
24051
+ * Number of events in this window produced by this forecast domain. Absent when the domain contributed nothing, so a zero is never written.
24052
+ */
23442
24053
  western?: number;
24054
+ /**
24055
+ * Number of events in this window produced by this forecast domain. Absent when the domain contributed nothing, so a zero is never written.
24056
+ */
23443
24057
  vedic?: number;
24058
+ /**
24059
+ * Number of events in this window produced by this forecast domain. Absent when the domain contributed nothing, so a zero is never written.
24060
+ */
23444
24061
  biorhythm?: number;
23445
24062
  };
23446
24063
  /**
23447
24064
  * Count of events in this window broken down by event type. Only types with at least one event in the window are present. The values sum to count.
23448
24065
  */
23449
24066
  byType: {
24067
+ /**
24068
+ * Number of events in this window of this event type. Absent when the type did not occur, so a zero is never written.
24069
+ */
23450
24070
  'transit-aspect'?: number;
24071
+ /**
24072
+ * Number of events in this window of this event type. Absent when the type did not occur, so a zero is never written.
24073
+ */
23451
24074
  'sign-ingress'?: number;
24075
+ /**
24076
+ * Number of events in this window of this event type. Absent when the type did not occur, so a zero is never written.
24077
+ */
23452
24078
  'retrograde-station'?: number;
24079
+ /**
24080
+ * Number of events in this window of this event type. Absent when the type did not occur, so a zero is never written.
24081
+ */
23453
24082
  eclipse?: number;
24083
+ /**
24084
+ * Number of events in this window of this event type. Absent when the type did not occur, so a zero is never written.
24085
+ */
23454
24086
  'lunar-phase'?: number;
24087
+ /**
24088
+ * Number of events in this window of this event type. Absent when the type did not occur, so a zero is never written.
24089
+ */
23455
24090
  'dasha-change'?: number;
24091
+ /**
24092
+ * Number of events in this window of this event type. Absent when the type did not occur, so a zero is never written.
24093
+ */
23456
24094
  'critical-day'?: number;
23457
24095
  };
23458
24096
  /**
@@ -26560,7 +27198,13 @@ export type PostHumanDesignVariablesResponses = {
26560
27198
  * Cognition, the strongest sense, read off the Determination Tone. Present on the determination arrow ONLY: no authority supports reading Cognition from the other three arrows, so it is omitted rather than invented.
26561
27199
  */
26562
27200
  cognition?: {
27201
+ /**
27202
+ * Name of the Cognition, the strongest sense. One of six read off the Determination Tone: Smell, Taste, Outer Vision, Inner Vision, Feeling, Touch.
27203
+ */
26563
27204
  label: string;
27205
+ /**
27206
+ * How this Cognition discriminates what is correct for the body, and the conditions that sharpen it. Renderable as the Cognition paragraph of a Variables or Primary Health System report.
27207
+ */
26564
27208
  description: string;
26565
27209
  };
26566
27210
  /**
@@ -31974,6 +32618,10 @@ export type PostTarotYesNoResponses = {
31974
32618
  * The querent question that was asked, if one was provided.
31975
32619
  */
31976
32620
  question?: string;
32621
+ /**
32622
+ * The seed used for this draw, echoed back when one was supplied. Present only if the request carried a seed. Makes a cached or forwarded response self describing, so a reading can be reproduced or shared without the original request beside it.
32623
+ */
32624
+ seed?: string;
31977
32625
  /**
31978
32626
  * Tarot-derived answer. Yes = upright card supports a positive outcome. No = reversed card suggests obstacles. Maybe = inherently ambiguous card drawn (The Hanged Man, Wheel of Fortune, Temperance, Two of Swords, Four of Swords) signaling pause, reflection, or shifting circumstances.
31979
32627
  */
@@ -32173,7 +32821,7 @@ export type PostTarotSpreadsThreeCardResponses = {
32173
32821
  card: DrawnCard;
32174
32822
  }>;
32175
32823
  /**
32176
- * AI-generated narrative connecting all cards in the spread into a cohesive reading.
32824
+ * Narrative summary that connects the cards drawn across the spread positions into one cohesive reading.
32177
32825
  */
32178
32826
  summary?: string;
32179
32827
  };
@@ -32181,7 +32829,13 @@ export type PostTarotSpreadsThreeCardResponses = {
32181
32829
  export type PostTarotSpreadsThreeCardResponse = PostTarotSpreadsThreeCardResponses[keyof PostTarotSpreadsThreeCardResponses];
32182
32830
  export type PostTarotSpreadsCelticCrossData = {
32183
32831
  body: {
32832
+ /**
32833
+ * Optional querent question to focus the Celtic Cross. It is echoed back on the reading and gives the ten positions their context. Omit for a general reading of the situation.
32834
+ */
32184
32835
  question?: string;
32836
+ /**
32837
+ * Optional seed for reproducible results. The same seed always draws the same ten cards into the same Celtic Cross positions, which is what lets a reading be shared or re-rendered. Omit for a random draw.
32838
+ */
32185
32839
  seed?: string;
32186
32840
  };
32187
32841
  path?: never;
@@ -32331,7 +32985,7 @@ export type PostTarotSpreadsCelticCrossResponses = {
32331
32985
  card: DrawnCard;
32332
32986
  }>;
32333
32987
  /**
32334
- * AI-generated narrative connecting all cards in the spread into a cohesive reading.
32988
+ * Narrative summary that connects the cards drawn across the spread positions into one cohesive reading.
32335
32989
  */
32336
32990
  summary?: string;
32337
32991
  };
@@ -32339,7 +32993,13 @@ export type PostTarotSpreadsCelticCrossResponses = {
32339
32993
  export type PostTarotSpreadsCelticCrossResponse = PostTarotSpreadsCelticCrossResponses[keyof PostTarotSpreadsCelticCrossResponses];
32340
32994
  export type PostTarotSpreadsLoveData = {
32341
32995
  body: {
32996
+ /**
32997
+ * Optional querent question to focus the love spread. It is echoed back on the reading and gives the five relationship positions their context. Omit for general relationship guidance.
32998
+ */
32342
32999
  question?: string;
33000
+ /**
33001
+ * Optional seed for reproducible results. The same seed always draws the same five cards into the same love positions, which is what lets a reading be shared or re-rendered. Omit for a random draw.
33002
+ */
32343
33003
  seed?: string;
32344
33004
  };
32345
33005
  path?: never;
@@ -32489,7 +33149,7 @@ export type PostTarotSpreadsLoveResponses = {
32489
33149
  card: DrawnCard;
32490
33150
  }>;
32491
33151
  /**
32492
- * AI-generated narrative connecting all cards in the spread into a cohesive reading.
33152
+ * Narrative summary that connects the cards drawn across the spread positions into one cohesive reading.
32493
33153
  */
32494
33154
  summary?: string;
32495
33155
  };
@@ -32497,7 +33157,13 @@ export type PostTarotSpreadsLoveResponses = {
32497
33157
  export type PostTarotSpreadsLoveResponse = PostTarotSpreadsLoveResponses[keyof PostTarotSpreadsLoveResponses];
32498
33158
  export type PostTarotSpreadsCareerData = {
32499
33159
  body: {
33160
+ /**
33161
+ * Optional querent question to focus the career spread. It is echoed back on the reading and gives the five career positions their context. Omit for general work and vocation guidance.
33162
+ */
32500
33163
  question?: string;
33164
+ /**
33165
+ * Optional seed for reproducible results. The same seed always draws the same five cards into the same career positions, which is what lets a reading be shared or re-rendered. Omit for a random draw.
33166
+ */
32501
33167
  seed?: string;
32502
33168
  };
32503
33169
  path?: never;
@@ -32647,7 +33313,7 @@ export type PostTarotSpreadsCareerResponses = {
32647
33313
  card: DrawnCard;
32648
33314
  }>;
32649
33315
  /**
32650
- * AI-generated narrative connecting all cards in the spread into a cohesive reading.
33316
+ * Narrative summary that connects the cards drawn across the spread positions into one cohesive reading.
32651
33317
  */
32652
33318
  summary?: string;
32653
33319
  };
@@ -32827,10 +33493,6 @@ export type PostTarotSpreadsCustomResponses = {
32827
33493
  interpretation: string;
32828
33494
  card: DrawnCard;
32829
33495
  }>;
32830
- /**
32831
- * AI-generated narrative connecting all cards in the spread into a cohesive reading.
32832
- */
32833
- summary?: string;
32834
33496
  };
32835
33497
  };
32836
33498
  export type PostTarotSpreadsCustomResponse = PostTarotSpreadsCustomResponses[keyof PostTarotSpreadsCustomResponses];
@@ -37458,7 +38120,7 @@ export type GetCrystalsByIdResponses = {
37458
38120
  */
37459
38121
  numericalVibration: number;
37460
38122
  /**
37461
- * Five to nine keywords capturing the core healing properties and spiritual themes of this crystal. Null when keyword data is unavailable.
38123
+ * 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.
37462
38124
  */
37463
38125
  keywords: Array<string>;
37464
38126
  /**
@@ -38780,10 +39442,25 @@ export type GetAngelNumbersLookupResponses = {
38780
39442
  * Full life-area interpretation of the underlying root digit. For an unknown sequence this is the substantive reading to display, so a synchronicity app never dead-ends on an arbitrary number.
38781
39443
  */
38782
39444
  meaning: {
39445
+ /**
39446
+ * Spiritual interpretation of the root digit, covering divine guidance, higher purpose, and metaphysical significance.
39447
+ */
38783
39448
  spiritual: string;
39449
+ /**
39450
+ * Love and relationship interpretation of the root digit, for singles, couples, and those healing from past relationships.
39451
+ */
38784
39452
  love: string;
39453
+ /**
39454
+ * Career and vocation guidance for the root digit. Money and finances are returned separately in the money field.
39455
+ */
38785
39456
  career: string;
39457
+ /**
39458
+ * Money, finances, and material abundance guidance for the root digit, kept distinct from career.
39459
+ */
38786
39460
  money: string;
39461
+ /**
39462
+ * Twin flame interpretation of the root digit, covering union, separation, and spiritual growth.
39463
+ */
38787
39464
  twinFlame: string;
38788
39465
  };
38789
39466
  /**
@@ -39651,12 +40328,33 @@ export type GetUsageResponses = {
39651
40328
  * Usage statistics retrieved
39652
40329
  */
39653
40330
  200: {
40331
+ /**
40332
+ * Name of the subscription plan the API key belongs to. One flat plan covers every domain and the Remote MCP servers, so this is a quota tier, never a per product entitlement.
40333
+ */
39654
40334
  plan: string;
40335
+ /**
40336
+ * Billable requests counted against the current calendar month. Read from the same counter the rate limiter enforces on, so it never reports a rosier number than the limit that will 429 you. Cached responses still count.
40337
+ */
39655
40338
  usedThisMonth: number;
40339
+ /**
40340
+ * Monthly request allowance for the plan. One request, API or MCP, equals one unit: there is no credit weighting and no per domain fee.
40341
+ */
39656
40342
  requestsPerMonth: number;
40343
+ /**
40344
+ * Requests left before the monthly allowance is exhausted, floored at zero. Equal to requestsPerMonth minus usedThisMonth.
40345
+ */
39657
40346
  remainingThisMonth: number;
40347
+ /**
40348
+ * Billing email the subscription is registered under.
40349
+ */
39658
40350
  email: string;
40351
+ /**
40352
+ * Subscription lifecycle state. Values: active, cancelled (no longer renewing but usable until endDate), suspended (payment failed, usable until endDate), expired (past endDate), pending (checkout started, payment not captured).
40353
+ */
39659
40354
  status: string;
40355
+ /**
40356
+ * ISO 8601 timestamp when the current billing period ends. A renewal extends this date in place. API access survives a cancelled or suspended status until this moment passes.
40357
+ */
39660
40358
  endDate: string;
39661
40359
  };
39662
40360
  };