@roxyapi/sdk 1.2.80 → 1.2.82

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.
@@ -4706,6 +4706,10 @@ export type KpChartResponse = {
4706
4706
  * Zodiac sign the planet occupies.
4707
4707
  */
4708
4708
  sign: string;
4709
+ /**
4710
+ * Rashi lord (sign ruler). First level of the KP significator hierarchy. Its house ownership determines L4 significations.
4711
+ */
4712
+ signLord: string;
4709
4713
  /**
4710
4714
  * House number (1-12) based on Placidus cusps.
4711
4715
  */
@@ -4759,6 +4763,10 @@ export type KpChartResponse = {
4759
4763
  * Zodiac sign Rahu occupies.
4760
4764
  */
4761
4765
  sign: string;
4766
+ /**
4767
+ * Rashi lord of the sign Rahu occupies. Rahu has no sign of its own and acts as agent of this lord.
4768
+ */
4769
+ signLord: string;
4762
4770
  /**
4763
4771
  * Occupied house number (1-12) based on Placidus cusps.
4764
4772
  */
@@ -4796,6 +4804,10 @@ export type KpChartResponse = {
4796
4804
  * Zodiac sign Ketu occupies.
4797
4805
  */
4798
4806
  sign: string;
4807
+ /**
4808
+ * Rashi lord of the sign Ketu occupies. Ketu has no sign of its own and acts as agent of this lord.
4809
+ */
4810
+ signLord: string;
4799
4811
  /**
4800
4812
  * Occupied house number (1-12) based on Placidus cusps.
4801
4813
  */
@@ -5769,6 +5781,412 @@ export type KpHoraryRequest = {
5769
5781
  */
5770
5782
  nodeType?: 'mean' | 'true';
5771
5783
  };
5784
+ export type KpDailyFinanceResponse = {
5785
+ /**
5786
+ * The civil date read.
5787
+ */
5788
+ date: string;
5789
+ /**
5790
+ * The reading moment, local datetime in the request timezone. The ruling planets and the dasha lords are read here.
5791
+ */
5792
+ readingAt: string;
5793
+ /**
5794
+ * 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".
5795
+ */
5796
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman';
5797
+ /**
5798
+ * Degrees subtracted from the tropical longitudes, resolved at the birth date. One frame for the whole reading: cusps, significators, Vimshottari balance, ruling planets and Moon windows alike.
5799
+ */
5800
+ ayanamsaDegrees: number;
5801
+ houses: {
5802
+ /**
5803
+ * The gain houses this reading used, the request override or the convention.
5804
+ */
5805
+ gain: Array<number>;
5806
+ /**
5807
+ * The loss houses this reading used, the request override or the convention.
5808
+ */
5809
+ loss: Array<number>;
5810
+ };
5811
+ significators: {
5812
+ /**
5813
+ * Every planet that signifies at least one gain house at any tier. The set every row is judged against.
5814
+ */
5815
+ gain: Array<string>;
5816
+ /**
5817
+ * Every planet that signifies at least one loss house at any tier. A planet in both sets reads "mixed" everywhere.
5818
+ */
5819
+ loss: Array<string>;
5820
+ /**
5821
+ * The per-house evidence the two sets are built from, so any row can be traced to the tier that put its planet in a set.
5822
+ */
5823
+ byHouse: Array<{
5824
+ /**
5825
+ * The house, 1 to 12.
5826
+ */
5827
+ house: number;
5828
+ /**
5829
+ * Which set this house feeds. Canonical English machine value.
5830
+ */
5831
+ group: 'gain' | 'loss';
5832
+ /**
5833
+ * The four tier significators of the house, strongest tier first: planets in the star of an occupant, occupants, planets in the star of the sign lord, the sign lord. A planet appears once per tier it reaches the house at, exactly as the KP chart route lists them.
5834
+ */
5835
+ significators: Array<string>;
5836
+ }>;
5837
+ };
5838
+ layers: {
5839
+ /**
5840
+ * Structural promise: each cusp of the two groups judged by its sub lord, the loss cusps inverted, the mean over the rows.
5841
+ */
5842
+ cusps: {
5843
+ /**
5844
+ * Which layer this is. Canonical English machine value, the same as its key.
5845
+ */
5846
+ layer: 'cusps';
5847
+ /**
5848
+ * Percent of the final score this layer carries. The four weights are cusps 30, dasha 40, rulingPlanets 15, moonWindows 15.
5849
+ */
5850
+ weight: number;
5851
+ /**
5852
+ * The layer on its own, 0 to 100, one decimal: the mean of its rows, or for the dasha layer the level-weighted sum. The final score is the weight-sum of the four layer scores.
5853
+ */
5854
+ score: number;
5855
+ rows: Array<{
5856
+ /**
5857
+ * Whether the planet signifies at least one gain house at any of the four tiers.
5858
+ */
5859
+ inGain: boolean;
5860
+ /**
5861
+ * Whether the planet signifies at least one loss house at any of the four tiers.
5862
+ */
5863
+ inLoss: boolean;
5864
+ /**
5865
+ * The one classification every layer uses: "favourable" when the planet signifies a gain house and no loss house (100), "mixed" when it signifies both (50), "unfavourable" when it signifies a loss house and no gain house (0), "neutral" when it signifies neither (50). Canonical English machine value.
5866
+ */
5867
+ verdict: 'favourable' | 'mixed' | 'unfavourable' | 'neutral';
5868
+ /**
5869
+ * The cusp judged, 1 to 12.
5870
+ */
5871
+ house: number;
5872
+ /**
5873
+ * Sidereal longitude of the cusp in the requested ayanamsa, degrees.
5874
+ */
5875
+ longitude: number;
5876
+ /**
5877
+ * Lord of the sign the cusp falls in.
5878
+ */
5879
+ signLord: string;
5880
+ /**
5881
+ * Lord of the nakshatra the cusp falls in.
5882
+ */
5883
+ starLord: string;
5884
+ /**
5885
+ * The KP sub lord of the cusp, the one lord that decides whether the house delivers. It is the planet the row classifies.
5886
+ */
5887
+ subLord: string;
5888
+ /**
5889
+ * True on a loss house, where the verdict score is inverted: a loss cusp whose sub lord signifies only loss scores 100, because a denied loss is good news for the native.
5890
+ */
5891
+ inverted: boolean;
5892
+ /**
5893
+ * The verdict score, 100 / 50 / 0 / 50, after the inversion on a loss house.
5894
+ */
5895
+ score: number;
5896
+ }>;
5897
+ };
5898
+ /**
5899
+ * Timing: the four running Vimshottari lords at the reading moment, in the same sidereal frame as the chart, each judged and penalised if retrograde, then weighed by level.
5900
+ */
5901
+ dasha: {
5902
+ /**
5903
+ * Which layer this is. Canonical English machine value, the same as its key.
5904
+ */
5905
+ layer: 'dasha';
5906
+ /**
5907
+ * Percent of the final score this layer carries. The four weights are cusps 30, dasha 40, rulingPlanets 15, moonWindows 15.
5908
+ */
5909
+ weight: number;
5910
+ /**
5911
+ * The layer on its own, 0 to 100, one decimal: the mean of its rows, or for the dasha layer the level-weighted sum. The final score is the weight-sum of the four layer scores.
5912
+ */
5913
+ score: number;
5914
+ rows: Array<{
5915
+ /**
5916
+ * Whether the planet signifies at least one gain house at any of the four tiers.
5917
+ */
5918
+ inGain: boolean;
5919
+ /**
5920
+ * Whether the planet signifies at least one loss house at any of the four tiers.
5921
+ */
5922
+ inLoss: boolean;
5923
+ /**
5924
+ * The one classification every layer uses: "favourable" when the planet signifies a gain house and no loss house (100), "mixed" when it signifies both (50), "unfavourable" when it signifies a loss house and no gain house (0), "neutral" when it signifies neither (50). Canonical English machine value.
5925
+ */
5926
+ verdict: 'favourable' | 'mixed' | 'unfavourable' | 'neutral';
5927
+ /**
5928
+ * Which Vimshottari level this lord runs, outermost first.
5929
+ */
5930
+ level: 'mahadasha' | 'antardasha' | 'pratyantardasha' | 'sookshmaDasha';
5931
+ /**
5932
+ * The running lord at this level.
5933
+ */
5934
+ lord: string;
5935
+ /**
5936
+ * ISO instant the period began.
5937
+ */
5938
+ startDate: string;
5939
+ /**
5940
+ * ISO instant the period ends.
5941
+ */
5942
+ endDate: string;
5943
+ /**
5944
+ * Whether the lord is retrograde in transit at the reading moment. Rahu and Ketu always are. Costs 10 points, floored at 0.
5945
+ */
5946
+ retrograde: boolean;
5947
+ /**
5948
+ * The verdict score after the retrograde penalty.
5949
+ */
5950
+ score: number;
5951
+ /**
5952
+ * Percent of the dasha layer this level carries, the finer levels weighed more: mahadasha 10, antardasha 20, pratyantardasha 30, sookshmaDasha 40.
5953
+ */
5954
+ weight: number;
5955
+ }>;
5956
+ };
5957
+ /**
5958
+ * The pulse of the moment: the KP ruling planets at the reading moment, each once, judged and penalised if retrograde, the mean over the rows.
5959
+ */
5960
+ rulingPlanets: {
5961
+ /**
5962
+ * Which layer this is. Canonical English machine value, the same as its key.
5963
+ */
5964
+ layer: 'rulingPlanets';
5965
+ /**
5966
+ * Percent of the final score this layer carries. The four weights are cusps 30, dasha 40, rulingPlanets 15, moonWindows 15.
5967
+ */
5968
+ weight: number;
5969
+ /**
5970
+ * The layer on its own, 0 to 100, one decimal: the mean of its rows, or for the dasha layer the level-weighted sum. The final score is the weight-sum of the four layer scores.
5971
+ */
5972
+ score: number;
5973
+ rows: Array<{
5974
+ /**
5975
+ * Whether the planet signifies at least one gain house at any of the four tiers.
5976
+ */
5977
+ inGain: boolean;
5978
+ /**
5979
+ * Whether the planet signifies at least one loss house at any of the four tiers.
5980
+ */
5981
+ inLoss: boolean;
5982
+ /**
5983
+ * The one classification every layer uses: "favourable" when the planet signifies a gain house and no loss house (100), "mixed" when it signifies both (50), "unfavourable" when it signifies a loss house and no gain house (0), "neutral" when it signifies neither (50). Canonical English machine value.
5984
+ */
5985
+ verdict: 'favourable' | 'mixed' | 'unfavourable' | 'neutral';
5986
+ /**
5987
+ * One ruling planet of the reading moment, listed once: the day lord, the sign and star lords of the Moon, and the sign and star lords of the ascendant.
5988
+ */
5989
+ planet: string;
5990
+ /**
5991
+ * Whether the planet is retrograde in transit at the reading moment. Costs 10 points, floored at 0.
5992
+ */
5993
+ retrograde: boolean;
5994
+ /**
5995
+ * The verdict score after the penalty.
5996
+ */
5997
+ score: number;
5998
+ }>;
5999
+ };
6000
+ /**
6001
+ * The hour hand: every stretch of the civil day over which the Moon holds one sub lord, each judged, the mean over the windows. Window boundaries are found by bisection and printed to the second.
6002
+ */
6003
+ moonWindows: {
6004
+ /**
6005
+ * Which layer this is. Canonical English machine value, the same as its key.
6006
+ */
6007
+ layer: 'moonWindows';
6008
+ /**
6009
+ * Percent of the final score this layer carries. The four weights are cusps 30, dasha 40, rulingPlanets 15, moonWindows 15.
6010
+ */
6011
+ weight: number;
6012
+ /**
6013
+ * The layer on its own, 0 to 100, one decimal: the mean of its rows, or for the dasha layer the level-weighted sum. The final score is the weight-sum of the four layer scores.
6014
+ */
6015
+ score: number;
6016
+ rows: Array<{
6017
+ /**
6018
+ * Whether the planet signifies at least one gain house at any of the four tiers.
6019
+ */
6020
+ inGain: boolean;
6021
+ /**
6022
+ * Whether the planet signifies at least one loss house at any of the four tiers.
6023
+ */
6024
+ inLoss: boolean;
6025
+ /**
6026
+ * The one classification every layer uses: "favourable" when the planet signifies a gain house and no loss house (100), "mixed" when it signifies both (50), "unfavourable" when it signifies a loss house and no gain house (0), "neutral" when it signifies neither (50). Canonical English machine value.
6027
+ */
6028
+ verdict: 'favourable' | 'mixed' | 'unfavourable' | 'neutral';
6029
+ /**
6030
+ * Local datetime the window opens, in the request timezone.
6031
+ */
6032
+ from: string;
6033
+ /**
6034
+ * Local datetime the window closes. The last window of the day closes at the next midnight.
6035
+ */
6036
+ to: string;
6037
+ /**
6038
+ * The KP sub lord the Moon holds through this window, the planet the row classifies.
6039
+ */
6040
+ subLord: string;
6041
+ /**
6042
+ * The verdict score of the window.
6043
+ */
6044
+ score: number;
6045
+ }>;
6046
+ };
6047
+ };
6048
+ /**
6049
+ * The weight-sum of the four layer scores, 0 to 100, one decimal: cusps 30, dasha 40, rulingPlanets 15, moonWindows 15, each divided by 100. Recomputable from the layers printed above. The house groups, the classification, the inversion on the loss cusps, the retrograde penalty, the level weights and the layer weights are a KP practitioner convention adopted as the published convention of this route: no classical KP text weighs these four layers against each other, and every table behind the number is printed so the result can be checked line by line rather than trusted. The score measures what the method outputs for the day, never the probability of a gain or a loss.
6050
+ */
6051
+ score: number;
6052
+ /**
6053
+ * The score as one of five bands, each entered at its edge: "strong" from 70, "favourable" from 55, "mixed" from 45, "caution" from 30, "unfavourable" below 30. "mixed" is the ordinary day. Canonical English machine values.
6054
+ */
6055
+ band: 'strong' | 'favourable' | 'mixed' | 'caution' | 'unfavourable';
6056
+ /**
6057
+ * The favourable Moon window of the day, the longest when several qualify, or null when the day has none. The one stretch the method backs outright.
6058
+ */
6059
+ bestWindow: {
6060
+ /**
6061
+ * Whether the planet signifies at least one gain house at any of the four tiers.
6062
+ */
6063
+ inGain: boolean;
6064
+ /**
6065
+ * Whether the planet signifies at least one loss house at any of the four tiers.
6066
+ */
6067
+ inLoss: boolean;
6068
+ /**
6069
+ * The one classification every layer uses: "favourable" when the planet signifies a gain house and no loss house (100), "mixed" when it signifies both (50), "unfavourable" when it signifies a loss house and no gain house (0), "neutral" when it signifies neither (50). Canonical English machine value.
6070
+ */
6071
+ verdict: 'favourable' | 'mixed' | 'unfavourable' | 'neutral';
6072
+ /**
6073
+ * Local datetime the window opens, in the request timezone.
6074
+ */
6075
+ from: string;
6076
+ /**
6077
+ * Local datetime the window closes. The last window of the day closes at the next midnight.
6078
+ */
6079
+ to: string;
6080
+ /**
6081
+ * The KP sub lord the Moon holds through this window, the planet the row classifies.
6082
+ */
6083
+ subLord: string;
6084
+ /**
6085
+ * The verdict score of the window.
6086
+ */
6087
+ score: number;
6088
+ } | null;
6089
+ /**
6090
+ * Every unfavourable Moon window of the day, in clock order.
6091
+ */
6092
+ worstWindows: Array<{
6093
+ /**
6094
+ * Whether the planet signifies at least one gain house at any of the four tiers.
6095
+ */
6096
+ inGain: boolean;
6097
+ /**
6098
+ * Whether the planet signifies at least one loss house at any of the four tiers.
6099
+ */
6100
+ inLoss: boolean;
6101
+ /**
6102
+ * The one classification every layer uses: "favourable" when the planet signifies a gain house and no loss house (100), "mixed" when it signifies both (50), "unfavourable" when it signifies a loss house and no gain house (0), "neutral" when it signifies neither (50). Canonical English machine value.
6103
+ */
6104
+ verdict: 'favourable' | 'mixed' | 'unfavourable' | 'neutral';
6105
+ /**
6106
+ * Local datetime the window opens, in the request timezone.
6107
+ */
6108
+ from: string;
6109
+ /**
6110
+ * Local datetime the window closes. The last window of the day closes at the next midnight.
6111
+ */
6112
+ to: string;
6113
+ /**
6114
+ * The KP sub lord the Moon holds through this window, the planet the row classifies.
6115
+ */
6116
+ subLord: string;
6117
+ /**
6118
+ * The verdict score of the window.
6119
+ */
6120
+ score: number;
6121
+ }>;
6122
+ };
6123
+ export type KpDailyFinanceRequest = {
6124
+ /**
6125
+ * Birth date, YYYY-MM-DD. Fixes the Placidus cusps, the four tier significators and the Vimshottari balance every layer reads.
6126
+ */
6127
+ birthDate: string;
6128
+ /**
6129
+ * Birth time, HH:MM:SS, 24 hour, local to the birth place. The cusp sub lords move about one sub every four minutes of clock time, so this is the input the whole reading is most sensitive to.
6130
+ */
6131
+ birthTime: string;
6132
+ /**
6133
+ * Birth latitude in decimal degrees. Sets the Placidus cusps; also the place the ruling planets and the Moon windows are read at.
6134
+ */
6135
+ latitude: number;
6136
+ /**
6137
+ * Birth longitude in decimal degrees, east positive.
6138
+ */
6139
+ longitude: number;
6140
+ /**
6141
+ * Timezone as an IANA name (Asia/Kolkata) or decimal hours from UTC. Applies to the birth time, to the reading date and time, and to every local timestamp in the response. IANA names resolve to the offset in force on the date being read.
6142
+ */
6143
+ timezone?: number | string;
6144
+ /**
6145
+ * Civil date to read, YYYY-MM-DD in the request timezone. Defaults to today (UTC). The Moon windows cover this date from midnight to midnight.
6146
+ */
6147
+ date?: string;
6148
+ /**
6149
+ * Reading moment on that date, HH:MM:SS local. The ruling planets and the running sookshma lord are read at this instant. Defaults to 12:00:00; pass a market open or any hour for an intraday read.
6150
+ */
6151
+ time?: string;
6152
+ /**
6153
+ * 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".
6154
+ */
6155
+ ayanamsa?: 'kp-newcomb' | 'kp-old' | 'lahiri' | 'raman';
6156
+ /**
6157
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".
6158
+ */
6159
+ nodeType?: 'mean' | 'true';
6160
+ /**
6161
+ * Houses whose significators count as gain, 1 to 12. Defaults to the convention, 2 and 11. Override it to run your own school: the two lists may not share a house.
6162
+ */
6163
+ gainHouses?: Array<number>;
6164
+ /**
6165
+ * Houses whose significators count as loss, 1 to 12. Defaults to the convention, 6 and 8 and 12. Override it to run your own school: the two lists may not share a house.
6166
+ */
6167
+ lossHouses?: Array<number>;
6168
+ /**
6169
+ * Layer weights in percent, all four required, summing to 100. Defaults to the convention, cusps 30, dasha 40, rulingPlanets 15, moonWindows 15. Seventy percent of the default sits on the cusps and the outer dasha levels, which hold for months, so a chart reads inside a narrow band all month and the bands separate charts more than days. Move weight onto rulingPlanets and moonWindows for a reading that turns with the day.
6170
+ */
6171
+ weights?: {
6172
+ /**
6173
+ * Percent of the final score the cusps layer carries.
6174
+ */
6175
+ cusps: number;
6176
+ /**
6177
+ * Percent of the final score the dasha layer carries.
6178
+ */
6179
+ dasha: number;
6180
+ /**
6181
+ * Percent of the final score the rulingPlanets layer carries.
6182
+ */
6183
+ rulingPlanets: number;
6184
+ /**
6185
+ * Percent of the final score the moonWindows layer carries.
6186
+ */
6187
+ moonWindows: number;
6188
+ };
6189
+ };
5772
6190
  export type RashiListResponse = Array<{
5773
6191
  /**
5774
6192
  * Unique slug identifier for the rashi. Used in URL paths and cross-references.
@@ -20233,11 +20651,11 @@ export type PostVedicAstrologyDailyResponses = {
20233
20651
  */
20234
20652
  finance: {
20235
20653
  /**
20236
- * Share of the running lords six-house connections that land on the positive group, 0 to 100, rounded. A COUNT, so positive and negative below reproduce it in one division: round(positive / (positive + negative) * 100). Zero when the running lords reach none of the six houses, which is an ABSENCE of connection rather than a negative verdict. Null above latitude 66.56, where the Placidus cusps the KP significators are read from have no solution: the question does not apply there rather than the answer being no, so never render it as zero or as a weak verdict. The natal block beside it is unaffected and still ships, and degraded names areas.finance.score. The two house groups are Krishnamurti Paddhati practice, but the NET is a KP practitioner convention rather than a classical operation: the KP sources that carry these groups use them as a promise test and an avoidance test, never as arithmetic. The groups also vary by author, and TWO houses are live disagreements rather than one. The 6th: some KP authors place it on the POSITIVE side as service income and salary, the exact opposite of the assignment used here. The 5th: it is named as a speculative GAIN house in the same KP sources that elsewhere call it a negation house, reading it as the 12th from the 6th and therefore loss of earning capacity, and both readings appear in one publication. The 1st is treated as a negation house by some authors on the same logic, as the 12th from the 2nd, and is not on either side here. This is a six house net and it is NOT the focus=finance lens, which re-reads all twelve bhavas in money vocabulary and moves no number. The two are orthogonal and both ship.
20654
+ * Share of the running lords six-house connections that land on the positive group, 0 to 100, rounded. A COUNT, so positive and negative below reproduce it in one division: round(positive / (positive + negative) * 100), which is the same signed net the top-level score uses with no neutral member, so 50 is as many connections on each side. Zero when the running lords reach none of the six houses, which is an ABSENCE of connection rather than a negative verdict. Null above latitude 66.56, where the Placidus cusps the KP significators are read from have no solution: the question does not apply there rather than the answer being no, so never render it as zero or as a weak verdict. The natal block beside it is unaffected and still ships, and degraded names areas.finance.score. The two house groups are Krishnamurti Paddhati practice, but the NET is a KP practitioner convention rather than a classical operation: the KP sources that carry these groups use them as a promise test and an avoidance test, never as arithmetic. The groups also vary by author, and TWO houses are live disagreements rather than one. The 6th: some KP authors place it on the POSITIVE side as service income and salary, the exact opposite of the assignment used here. The 5th: it is named as a speculative GAIN house in the same KP sources that elsewhere call it a negation house, reading it as the 12th from the 6th and therefore loss of earning capacity, and both readings appear in one publication. The 1st is treated as a negation house by some authors on the same logic, as the 12th from the 2nd, and is not on either side here. This is a six house net and it is NOT the focus=finance lens, which re-reads all twelve bhavas in money vocabulary and moves no number. The two are orthogonal and both ship.
20237
20655
  */
20238
20656
  score: number | null;
20239
20657
  /**
20240
- * The band the finance score falls in, on the same ladder as the top-level verdict so the two can never disagree about what a word means: "very-strong" at 75 and above, "strong" at 50 and above, "moderate" at 25 and above, "weak" below 25. Null above latitude 66.56, where the Placidus cusps the KP significators are read from have no solution: the question does not apply there rather than the answer being no, so never render it as zero or as a weak verdict. The natal block beside it is unaffected and still ships, and degraded names areas.finance.score.
20658
+ * The band the finance score falls in, on the same ladder as the top-level verdict so the two can never disagree about what a word means: "very-strong" above 75, "strong" above 50, "moderate" above 25, "weak" at 25 and below. Null above latitude 66.56, where the Placidus cusps the KP significators are read from have no solution: the question does not apply there rather than the answer being no, so never render it as zero or as a weak verdict. The natal block beside it is unaffected and still ships, and degraded names areas.finance.score.
20241
20659
  */
20242
20660
  band: 'very-strong' | 'strong' | 'moderate' | 'weak' | null;
20243
20661
  /**
@@ -20299,15 +20717,15 @@ export type PostVedicAstrologyDailyResponses = {
20299
20717
  dashaLevels: Array<'mahadasha' | 'antardasha' | 'pratyantardasha'>;
20300
20718
  }> | null;
20301
20719
  /**
20302
- * The equal-weight mean of the three day-level layer scores printed beside it, recomputable as round((day + finance + natal) / 3). WHICH LAYER IS WHICH: "day" is the top-level score of this reading, "finance" is areas.finance.score above, and "natal" is the share of the natal wealth yoga rows that speak for the native, positive yogas present plus negative yogas absent over the rows evaluated, so it is 0, 25, 50, 75 or 100. Equal weights are a RoxyAPI convention: no classical authority weights the natal chart, the running dasha and the transiting sky against each other, so the three are averaged as they are and printed beside the result, and the band uses the same ladder as verdict. The composite measures how much of this reading backs the native on this day and never the outcome of any matter: read it as support, not as a prediction. NULL IN TWO CASES, and neither is a low score. Null when the running lords reach none of the six houses, because an absence of connection is not a verdict and must not be averaged as one. Null above latitude 66.56, where the Placidus cusps the KP significators are read from have no solution: the question does not apply there rather than the answer being no, so never render it as zero or as a weak verdict. The natal block beside it is unaffected and still ships, and degraded names areas.finance.score.
20720
+ * The equal-weight mean of the three day-level layer scores printed beside it, recomputable as round((day + finance + natal) / 3). WHICH LAYER IS WHICH: "day" is the top-level score of this reading, "finance" is areas.finance.score above, and "natal" is the four natal wealth yoga rows on the same signed net as the day, present positive yogas for the native, a present negative one against, an absent verdict of either kind neutral, over the four rows: round(50 + 50 * (for minus against) / evaluated), so 50 is the balanced case with as many members for the native as against, 100 is every member for, 0 is every member against, and a member that is neither sits inside evaluated and pulls the result toward 50, so it is 38, 50, 63, 75 or 88 and a chart with none of the four reads 50. Every layer is centred on 50 the same way, so the mean is too. Equal weights are a RoxyAPI convention: no classical authority weights the natal chart, the running dasha and the transiting sky against each other, so the three are averaged as they are and printed beside the result, and the band uses the same ladder as verdict. The composite measures how much of this reading backs the native on this day and never the outcome of any matter: read it as support, not as a prediction. NULL IN TWO CASES, and neither is a low score. Null when the running lords reach none of the six houses, because an absence of connection is not a verdict and must not be averaged as one. Null above latitude 66.56, where the Placidus cusps the KP significators are read from have no solution: the question does not apply there rather than the answer being no, so never render it as zero or as a weak verdict. The natal block beside it is unaffected and still ships, and degraded names areas.finance.score.
20303
20721
  */
20304
20722
  composite: {
20305
20723
  /**
20306
- * The mean itself, 0 to 100, rounded. Every term is printed in the layers below, so the division can be redone rather than trusted.
20724
+ * The mean itself, 0 to 100, rounded, centred on 50 like each of its terms. Every term is printed in the layers below, so the division can be redone rather than trusted.
20307
20725
  */
20308
20726
  score: number;
20309
20727
  /**
20310
- * The band the composite falls in, on the same ladder the top-level verdict uses: "very-strong" at 75 and above, "strong" at 50 and above, "moderate" at 25 and above, "weak" below 25.
20728
+ * The band the composite falls in, on the same ladder the top-level verdict uses: "very-strong" above 75, "strong" above 50, "moderate" above 25, "weak" at 25 and below.
20311
20729
  */
20312
20730
  band: 'very-strong' | 'strong' | 'moderate' | 'weak';
20313
20731
  /**
@@ -20315,7 +20733,7 @@ export type PostVedicAstrologyDailyResponses = {
20315
20733
  */
20316
20734
  layers: Array<{
20317
20735
  /**
20318
- * Which term this row carries: "day" the top-level score of this reading, "finance" the KP net score in this area, "natal" the natal wealth count. Canonical English machine value, so it stays safe to switch on in code.
20736
+ * Which term this row carries: "day" the top-level score of this reading, "finance" the KP net score in this area, "natal" the natal wealth net over the four verdict rows. Canonical English machine value, so it stays safe to switch on in code.
20319
20737
  */
20320
20738
  layer: 'day' | 'finance' | 'natal';
20321
20739
  /**
@@ -20323,13 +20741,13 @@ export type PostVedicAstrologyDailyResponses = {
20323
20741
  */
20324
20742
  score: number;
20325
20743
  /**
20326
- * Where that one term lands on its own, on the same ladder as the composite band above: "very-strong" at 75 and above, "strong" at 50 and above, "moderate" at 25 and above, "weak" below 25.
20744
+ * Where that one term lands on its own, on the same ladder as the composite band above: "very-strong" above 75, "strong" above 50, "moderate" above 25, "weak" at 25 and below.
20327
20745
  */
20328
20746
  band: 'very-strong' | 'strong' | 'moderate' | 'weak';
20329
20747
  }>;
20330
20748
  } | null;
20331
20749
  /**
20332
- * The natal basis of this area: whether the chart is wealthy AT ALL, as the four classical wealth and poverty verdicts dhana, daridra, lakshmi, dhanamalika, each with the evidence that decided it. A PROPERTY OF THE BIRTH CHART AND NOT OF THE DAY, so it is the same block on every date this native is ever read for, which is exactly why it is CONTEXT rather than a term: it deliberately does not enter score, verdict, tally or evaluated, above or here, and the one number it does enter is the composite beside it, where it is printed as its own layer rather than folded in. Folding a constant into a per-day number would shift every day by the identical amount, carrying no information into the only comparison those numbers support, and it would break the published closed form that makes the top-level score reproducible by hand from grahas alone. Read it as the standing question the day is being read against. The verdicts are the same ones POST /yoga/detect and POST /birth-chart return for this chart, computed in the Lahiri natal frame rather than in the KP-Newcomb frame the significators above use. PRESENT AT EVERY LATITUDE, including above the polar circle: these verdicts need only whole-sign houses from the Lagna, so nothing about them depends on the cusps the KP members above lose there.
20750
+ * The natal basis of this area: whether the chart is wealthy AT ALL, as the four classical wealth and poverty verdicts dhana, daridra, lakshmi, dhanamalika, each with the evidence that decided it. A PROPERTY OF THE BIRTH CHART AND NOT OF THE DAY, so it is the same block on every date this native is ever read for, which is exactly why it is CONTEXT rather than a term: it deliberately does not enter score, verdict, tally or evaluated, above or here, and the one number it does enter is the composite beside it, where it is printed as its own layer rather than folded in. Folding a constant into a per-day number would shift every day by the identical amount, carrying no information into the only comparison those numbers support, and it would break the published closed form that makes the top-level score reproducible by hand from grahas and the two sunrise windows alone. Read it as the standing question the day is being read against. The verdicts are the same ones POST /yoga/detect and POST /birth-chart return for this chart, computed in the Lahiri natal frame rather than in the KP-Newcomb frame the significators above use. PRESENT AT EVERY LATITUDE, including above the polar circle: these verdicts need only whole-sign houses from the Lagna, so nothing about them depends on the cusps the KP members above lose there.
20333
20751
  */
20334
20752
  natal: Array<{
20335
20753
  /**
@@ -20356,15 +20774,15 @@ export type PostVedicAstrologyDailyResponses = {
20356
20774
  };
20357
20775
  };
20358
20776
  /**
20359
- * How much of the transiting sky supports this native today: supportive grahas divided by grahas evaluated, as a percentage, rounded. HAND REPRODUCIBLE FROM THIS RESPONSE ALONE, with no weights to publish and none to defend. STEP 1, count the grahas whose state is one of favourable; the tally array has that count already. STEP 2, divide by evaluated and round. Worked example: 2 supportive out of 9 evaluated scores round(2 / 9 * 100) = 22. The other states (underdelivered, obstructed, void, aggravated, unfavourable) count for nothing, because each of them is the tradition saying the promised good was reduced, cancelled or emptied. WHY IT IS A COUNT AND NOT A SUM: the tradition does not add these limbs up. Phaladeepika XXVI.41 makes a high bindu count an OVERRIDE that turns even the 6th, 8th and 12th good, and XXVI.30 to XXVI.32 make aspect, dignity and combustion NULLIFIERS, so a weighted sum would be a different mathematical object and could not carry those citations. The GATES are classical, the COUNTING is the RoxyAPI convention, and this sentence is where we say which is which. HOW TO READ THE NUMBER: it runs low by construction and that is the correct answer rather than a defect. Nine bodies casting drishti means almost every transiting graha is aspected by something, and the sloka voids the result when it is, so most days land in the bottom half and a high score is rare and therefore meaningful. Read it as a rare-high scale, not as a mark out of 100: 22 is an ordinary day, not a failing one. And it measures SUPPORT, never OUTCOME. It says how much of the sky backs this native today, never whether the day is good for a particular matter, which depends on the matter being judged.
20777
+ * Strength of this day for this native, 0 to 100, centred on 50, over eleven members: the nine transiting grahas and the two Moon tests of the day. Each graha counts +1 when its state is favourable, -1 when its state is unfavourable or aggravated, and 0 when it is underdelivered, obstructed, void. The tarabala window holding at sunrise, tara[0], counts +1 when its quality is favourable, -1 when unfavourable and 0 when neutral; the chandrabala window holding at sunrise, chandrabala[0], counts +1 when favourable and -1 otherwise. Then score = round(50 + 50 * (for minus against) / evaluated), so 50 is the balanced case with as many members for the native as against, 100 is every member for, 0 is every member against, and a member that is neither sits inside evaluated and pulls the result toward 50. Recompute it from this response: for is the favourable count in tally plus the Moon tests that are for, against is the unfavourable and aggravated counts plus the Moon tests that are against, evaluated is the field of that name. Worked example: 2 grahas for and 4 against, both Moon tests for, out of 11 evaluated is round(50 + 50 * (4 - 4) / 11) = 50. The Moon is counted three times on a day, through its own gochara row, its rashi test and its nakshatra test, because the gochara chapter and the muhurta chapter both weigh the Moon and ask different questions of it. The four gates that decide each graha state are classical, Phaladeepika XXVI.2 to XXVI.41 and B.V. Raman on Ashtakavarga, and each graha names the rule that decided it in stateSource; tarabala and chandrabala are the two per-native day tests of the muhurta genre. The count over all of them is a RoxyAPI convention, and it is a signed count rather than a weighted sum because the texts make a high bindu count an OVERRIDE and make aspect, dignity and combustion NULLIFIERS, not points to add. How to read it: an ordinary day sits in the 40s, because nine bodies casting drishti void most transits under XXVI.30, and the slow grahas hold one verdict for a year or more while the two Moon tests turn daily, so the day moves inside the month. Above 50 the day is in favour of the native, and the top band needs six more members for than against, which is rare. It measures support, never the outcome of a matter: whether the day suits a particular purpose depends on the purpose being judged.
20360
20778
  */
20361
20779
  score: number;
20362
20780
  /**
20363
- * The band the score falls in: "very-strong" at 75 and above, "strong" at 50 and above, "moderate" at 25 and above, "weak" below 25. The four WORDS are the shipped KP significator band words, reused so nothing new has to be translated. The EDGES are the RoxyAPI convention and are quartiles, because no authority bands a day and quartiles are the least arbitrary division of a percentage into four named steps. Read it with the same expectation the score carries: the gates cancel far more often than they deliver, so the lower bands are the common case.
20781
+ * The score as one of four bands: "very-strong" above 75, "strong" above 50, "moderate" above 25, "weak" at 25 and below. A band starts above its edge, so a balanced day at exactly 50 is "moderate" and "strong" means the net is in favour of the native. "moderate" is the ordinary day. "weak" needs the members against to outnumber the members for by more than half of those evaluated, which is six of eleven, and "very-strong" is the mirror of that and is rare. The same four words band the finance score, the composite and each of its layers, on the same edges, so one word means one thing everywhere in this response. Canonical English machine values, the same enum every KP significator route returns.
20364
20782
  */
20365
20783
  verdict: 'very-strong' | 'strong' | 'moderate' | 'weak';
20366
20784
  /**
20367
- * The full per-state count, always all six states including the zeros. This is the WHOLE input to the score, which is what makes the number reproducible by hand, and it is also what lets a caller who reads the states differently compute their own figure from this response instead of asking for a second one.
20785
+ * The full per-state count over the nine grahas, always all six states including the zeros, so it sums to nine and not to evaluated. This is the graha part of the input to the score; the other two members are read from tara[0] and chandrabala[0]. Published so the number is reproducible by hand, and so a caller who reads the states differently can compute their own figure from this response.
20368
20786
  */
20369
20787
  tally: Array<{
20370
20788
  /**
@@ -20377,7 +20795,7 @@ export type PostVedicAstrologyDailyResponses = {
20377
20795
  count: number;
20378
20796
  }>;
20379
20797
  /**
20380
- * How many grahas were put through the gates, which is the denominator of the score. Rahu and Ketu are included: they skip the bindu gate because they have no Bhinnashtakavarga, and a skipped gate is not a failed one, so they still reach a state through the other three.
20798
+ * How many members the score was taken over, and its denominator: the nine grahas put through the gates plus the two Moon tests read at sunrise, tara[0] and chandrabala[0]. Rahu and Ketu are among the nine: they skip the bindu gate because they have no Bhinnashtakavarga, and a skipped gate is not a failed one, so they still reach a state through the other three.
20381
20799
  */
20382
20800
  evaluated: number;
20383
20801
  /**
@@ -23722,6 +24140,121 @@ export type PostVedicAstrologyKpHoraryResponses = {
23722
24140
  200: KpHoraryResponse;
23723
24141
  };
23724
24142
  export type PostVedicAstrologyKpHoraryResponse = PostVedicAstrologyKpHoraryResponses[keyof PostVedicAstrologyKpHoraryResponses];
24143
+ export type PostVedicAstrologyKpDailyFinanceData = {
24144
+ body?: KpDailyFinanceRequest;
24145
+ path?: never;
24146
+ query?: never;
24147
+ url: '/vedic-astrology/kp/daily-finance';
24148
+ };
24149
+ export type PostVedicAstrologyKpDailyFinanceErrors = {
24150
+ /**
24151
+ * Validation error. `issues[]` lists every failed field.
24152
+ */
24153
+ 400: {
24154
+ /**
24155
+ * First issue summary.
24156
+ */
24157
+ error: string;
24158
+ code: 'validation_error';
24159
+ /**
24160
+ * Every validation failure. Use this to rebuild a valid request.
24161
+ */
24162
+ issues: Array<{
24163
+ /**
24164
+ * Dot-separated field path, or "(root)" for top-level.
24165
+ */
24166
+ path: string;
24167
+ message: string;
24168
+ /**
24169
+ * Zod issue code (invalid_type, too_small, too_big, invalid_string, ...).
24170
+ */
24171
+ code?: string;
24172
+ /**
24173
+ * Expected type for invalid_type.
24174
+ */
24175
+ expected?: string;
24176
+ /**
24177
+ * Minimum bound for too_small issues.
24178
+ */
24179
+ minimum?: number | string;
24180
+ /**
24181
+ * Maximum bound for too_big issues.
24182
+ */
24183
+ maximum?: number | string;
24184
+ inclusive?: boolean;
24185
+ /**
24186
+ * Format name for string issues (regex, email, url, uuid).
24187
+ */
24188
+ format?: string;
24189
+ /**
24190
+ * Regex pattern when format is regex.
24191
+ */
24192
+ pattern?: string;
24193
+ }>;
24194
+ };
24195
+ /**
24196
+ * Invalid or missing API key
24197
+ */
24198
+ 401: {
24199
+ /**
24200
+ * Human-readable error message. May change wording.
24201
+ */
24202
+ error: string;
24203
+ /**
24204
+ * Machine-readable error code. Stable identifier.
24205
+ */
24206
+ code: string;
24207
+ };
24208
+ /**
24209
+ * Method not allowed. The path exists but only responds to the methods listed in `allow[]` and the `Allow` response header.
24210
+ */
24211
+ 405: {
24212
+ error: string;
24213
+ code: 'method_not_allowed';
24214
+ /**
24215
+ * Allowed HTTP methods for this path. Mirrors the Allow response header.
24216
+ */
24217
+ allow: Array<string>;
24218
+ /**
24219
+ * Link to the product page for this domain.
24220
+ */
24221
+ docs?: string;
24222
+ };
24223
+ /**
24224
+ * Monthly rate limit exceeded
24225
+ */
24226
+ 429: {
24227
+ /**
24228
+ * Human-readable error message. May change wording.
24229
+ */
24230
+ error: string;
24231
+ /**
24232
+ * Machine-readable error code. Stable identifier.
24233
+ */
24234
+ code: string;
24235
+ };
24236
+ /**
24237
+ * Internal server error
24238
+ */
24239
+ 500: {
24240
+ /**
24241
+ * Human-readable error message. May change wording.
24242
+ */
24243
+ error: string;
24244
+ /**
24245
+ * Machine-readable error code. Stable identifier.
24246
+ */
24247
+ code: string;
24248
+ };
24249
+ };
24250
+ export type PostVedicAstrologyKpDailyFinanceError = PostVedicAstrologyKpDailyFinanceErrors[keyof PostVedicAstrologyKpDailyFinanceErrors];
24251
+ export type PostVedicAstrologyKpDailyFinanceResponses = {
24252
+ /**
24253
+ * The four layers, the weighted score, the band and the day windows.
24254
+ */
24255
+ 200: KpDailyFinanceResponse;
24256
+ };
24257
+ export type PostVedicAstrologyKpDailyFinanceResponse = PostVedicAstrologyKpDailyFinanceResponses[keyof PostVedicAstrologyKpDailyFinanceResponses];
23725
24258
  export type PostVedicAstrologyAspectsData = {
23726
24259
  body?: {
23727
24260
  /**