@firela/api-types 0.0.0-canary.e7524e0a → 0.0.0-canary.e85e9088

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -81,7 +81,7 @@ type AccountResponseDto = {
81
81
  /**
82
82
  * Account-level asset sub-class (product type, e.g. STOCK/DEPOSIT/CREDIT_CARD/PERSONAL_LOAN). Computed from the account path via the asset-classifier (ADR-0077). Null for non-asset accounts (Income/Expenses/Equity) or unmatched paths.
83
83
  */
84
- assetSubClass?: 'DEPOSIT' | 'CASH' | 'MONEY_MARKET_FUND' | 'STOCK' | 'ETF' | 'MUTUAL_FUND' | 'EQUITY_COMPENSATION' | 'GOVERNMENT_BOND' | 'CORPORATE_BOND' | 'BOND_FUND' | 'PRIMARY_RESIDENCE' | 'INVESTMENT_PROPERTY' | 'REIT' | 'GOLD' | 'SILVER' | 'PRECIOUS_METAL' | 'PRECIOUS_METAL_FUND' | 'COMMODITY' | 'COMMODITY_FUND' | 'CRYPTOCURRENCY' | 'RETIREMENT_ACCOUNT' | 'HEALTH_ACCOUNT' | 'EDUCATION_ACCOUNT' | 'INSURANCE' | 'PRIVATE_EQUITY' | 'HEDGE_FUND' | 'COLLECTIBLES' | 'MORTGAGE' | 'STUDENT_LOAN' | 'CREDIT_CARD' | 'PERSONAL_LOAN' | 'OTHER' | null;
84
+ assetSubClass?: 'DEPOSIT' | 'CASH' | 'MONEY_MARKET_FUND' | 'STOCK' | 'ETF' | 'MUTUAL_FUND' | 'EQUITY_COMPENSATION' | 'GOVERNMENT_BOND' | 'CORPORATE_BOND' | 'BOND_FUND' | 'PRIMARY_RESIDENCE' | 'INVESTMENT_PROPERTY' | 'REIT' | 'GOLD' | 'SILVER' | 'PRECIOUS_METAL' | 'PRECIOUS_METAL_FUND' | 'COMMODITY' | 'COMMODITY_FUND' | 'CRYPTOCURRENCY' | 'RETIREMENT_ACCOUNT' | 'HEALTH_ACCOUNT' | 'EDUCATION_ACCOUNT' | 'INSURANCE' | 'PRIVATE_EQUITY' | 'HEDGE_FUND' | 'COLLECTIBLES' | 'MORTGAGE' | 'STUDENT_LOAN' | 'CREDIT_CARD' | 'PERSONAL_LOAN' | 'ACCOUNTS_PAYABLE' | 'TAX_PAYABLE' | 'OTHER' | null;
85
85
  /**
86
86
  * Account status
87
87
  */
@@ -127,9 +127,7 @@ type AccountResponseDto = {
127
127
  /**
128
128
  * Platform ID (null if unbound)
129
129
  */
130
- platformId?: {
131
- [key: string]: unknown;
132
- };
130
+ platformId?: string;
133
131
  /**
134
132
  * Platform details (populated if platformId is set)
135
133
  */
@@ -152,7 +150,7 @@ type type = 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
152
150
  /**
153
151
  * Account-level asset sub-class (product type, e.g. STOCK/DEPOSIT/CREDIT_CARD/PERSONAL_LOAN). Computed from the account path via the asset-classifier (ADR-0077). Null for non-asset accounts (Income/Expenses/Equity) or unmatched paths.
154
152
  */
155
- type assetSubClass = 'DEPOSIT' | 'CASH' | 'MONEY_MARKET_FUND' | 'STOCK' | 'ETF' | 'MUTUAL_FUND' | 'EQUITY_COMPENSATION' | 'GOVERNMENT_BOND' | 'CORPORATE_BOND' | 'BOND_FUND' | 'PRIMARY_RESIDENCE' | 'INVESTMENT_PROPERTY' | 'REIT' | 'GOLD' | 'SILVER' | 'PRECIOUS_METAL' | 'PRECIOUS_METAL_FUND' | 'COMMODITY' | 'COMMODITY_FUND' | 'CRYPTOCURRENCY' | 'RETIREMENT_ACCOUNT' | 'HEALTH_ACCOUNT' | 'EDUCATION_ACCOUNT' | 'INSURANCE' | 'PRIVATE_EQUITY' | 'HEDGE_FUND' | 'COLLECTIBLES' | 'MORTGAGE' | 'STUDENT_LOAN' | 'CREDIT_CARD' | 'PERSONAL_LOAN' | 'OTHER';
153
+ type assetSubClass = 'DEPOSIT' | 'CASH' | 'MONEY_MARKET_FUND' | 'STOCK' | 'ETF' | 'MUTUAL_FUND' | 'EQUITY_COMPENSATION' | 'GOVERNMENT_BOND' | 'CORPORATE_BOND' | 'BOND_FUND' | 'PRIMARY_RESIDENCE' | 'INVESTMENT_PROPERTY' | 'REIT' | 'GOLD' | 'SILVER' | 'PRECIOUS_METAL' | 'PRECIOUS_METAL_FUND' | 'COMMODITY' | 'COMMODITY_FUND' | 'CRYPTOCURRENCY' | 'RETIREMENT_ACCOUNT' | 'HEALTH_ACCOUNT' | 'EDUCATION_ACCOUNT' | 'INSURANCE' | 'PRIVATE_EQUITY' | 'HEDGE_FUND' | 'COLLECTIBLES' | 'MORTGAGE' | 'STUDENT_LOAN' | 'CREDIT_CARD' | 'PERSONAL_LOAN' | 'ACCOUNTS_PAYABLE' | 'TAX_PAYABLE' | 'OTHER';
156
154
  /**
157
155
  * Account status
158
156
  */
@@ -239,22 +237,54 @@ type AccountStandardResponseDto = {
239
237
  */
240
238
  type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
241
239
  /**
242
- * Short localized display name
240
+ * Short display name. Universal rows project to the request locale (Accept-Language); regional rows keep the authored native name — mixed-language by design (ADR-0131 class P vs class A).
243
241
  */
244
242
  name?: string;
245
243
  /**
246
- * Account description (stable semantics only)
244
+ * Authored market-language alternative names delivered verbatim (not localized copy, not xlf-managed, not locale-projected). Flat string[] per ADR-0129 D1; ADR-0131 class A.
245
+ */
246
+ aliases?: Array<string>;
247
+ /**
248
+ * Locale-projected search synonyms (e.g. the zh bank-card / debit-card everyday terms for the checking account). Pure-locale projection — absent when the locale has no seeded synonyms; English fallback rides the authored aliases field. Search-only vocabulary, not the NLP routing corpus (#698, ADR-0131 fourth-class adjudication).
249
+ */
250
+ searchTerms?: Array<string>;
251
+ /**
252
+ * Product denomination as a 3-letter ISO 4217 code, authored market data delivered verbatim (not localized, not xlf-managed). ADR-0131 class A. Absent = single-currency not asserted — consumers fall back to their own region currency (#714).
253
+ */
254
+ currency?: string;
255
+ /**
256
+ * Account description (stable semantics only). Mixed-language contract: universal rows project to the request locale via the accountDesc xlf axis with an en fallback (ADR-0131 class P, ADR-0132; unseeded locales falling back to English are expected); regional rows deliver the authored market language (ADR-0131 class A, verbatim, never xlf-managed).
247
257
  */
248
258
  description: string;
249
259
  /**
250
- * Account tags for categorization
260
+ * Account tags for categorization — structured metadata delivered verbatim (not localized, not xlf-managed). ADR-0131 class A.
251
261
  */
252
262
  tags: Array<string>;
253
263
  /**
254
264
  * Icon identifier for UI display
255
265
  */
256
266
  icon: string;
267
+ /**
268
+ * Onboarding product category (coarse grouping derived from assetSubClass)
269
+ */
270
+ productCategory: 'cash' | 'investment' | 'credit_card' | 'loan' | 'payable_tax' | 'other';
271
+ /**
272
+ * Asset class (LIQUIDITY/EQUITY/.../LIABILITY), derived at read time from classification rules
273
+ */
274
+ assetClass?: 'LIQUIDITY' | 'EQUITY' | 'FIXED_INCOME' | 'PRECIOUS_METALS' | 'COMMODITY' | 'INSURANCE' | 'ALTERNATIVE_INVESTMENT' | 'PERSONAL_ASSETS' | 'LIABILITY' | 'REAL_ESTATE' | 'INDEX';
275
+ /**
276
+ * Asset sub-class (product type, derived at read time from classification rules)
277
+ */
278
+ assetSubClass?: string;
257
279
  };
280
+ /**
281
+ * Onboarding product category (coarse grouping derived from assetSubClass)
282
+ */
283
+ type productCategory = 'cash' | 'investment' | 'credit_card' | 'loan' | 'payable_tax' | 'other';
284
+ /**
285
+ * Asset class (LIQUIDITY/EQUITY/.../LIABILITY), derived at read time from classification rules
286
+ */
287
+ type assetClass = 'LIQUIDITY' | 'EQUITY' | 'FIXED_INCOME' | 'PRECIOUS_METALS' | 'COMMODITY' | 'INSURANCE' | 'ALTERNATIVE_INVESTMENT' | 'PERSONAL_ASSETS' | 'LIABILITY' | 'REAL_ESTATE' | 'INDEX';
258
288
  type AccountStandardListResponseDto = {
259
289
  /**
260
290
  * Array of account templates
@@ -281,10 +311,17 @@ type TemplateMetadataResponseDto = {
281
311
  type RegionConfigDto = {
282
312
  currency: string;
283
313
  dateFormat: string;
314
+ /**
315
+ * Region-qualified BCP-47 tag whose region subtag equals the region's own ISO 3166-1 code (e.g., ja-JP, zh-CN, zh-HK)
316
+ */
284
317
  locale: string;
285
318
  };
286
319
  type RegionInfoDto = {
287
320
  code: string;
321
+ /**
322
+ * Whether the region is open (has a ready regional account template). Not-yet-open regions still return identity metadata and degrade to the universal-only catalog.
323
+ */
324
+ open: boolean;
288
325
  displayName: string;
289
326
  parent?: string;
290
327
  chain: Array<string>;
@@ -437,7 +474,7 @@ type PostingResponseDto = {
437
474
  */
438
475
  account: string;
439
476
  /**
440
- * Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
477
+ * Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned. Carries the raw Beancount sign (credit-normal accounts such as Income post negative — the accounting truth, ADR-0126); renderers must not infer economic semantics from this sign.
441
478
  */
442
479
  units?: string;
443
480
  /**
@@ -649,7 +686,7 @@ type PostingDetailDto = {
649
686
  */
650
687
  account: string;
651
688
  /**
652
- * Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
689
+ * Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned. Carries the raw Beancount sign (credit-normal accounts such as Income post negative — the accounting truth, ADR-0126); renderers must not infer economic semantics from this sign.
653
690
  */
654
691
  units?: string;
655
692
  /**
@@ -779,6 +816,94 @@ type flag2 = 'CLEARED' | 'PENDING' | 'PADDING' | 'SUMMARIZE' | 'TRANSFER' | 'CON
779
816
  * Transaction status
780
817
  */
781
818
  type status2 = 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
819
+ type TransactionListItemDto = {
820
+ /**
821
+ * Transaction ID
822
+ */
823
+ id: string;
824
+ /**
825
+ * Transaction date
826
+ */
827
+ date: string;
828
+ /**
829
+ * Transaction flag
830
+ */
831
+ flag?: 'CLEARED' | 'PENDING' | 'PADDING' | 'SUMMARIZE' | 'TRANSFER' | 'CONVERSIONS';
832
+ /**
833
+ * Custom flag (if not using standard flags)
834
+ */
835
+ customFlag?: string;
836
+ /**
837
+ * Payee name
838
+ */
839
+ payee?: string;
840
+ /**
841
+ * Transaction narration
842
+ */
843
+ narration: string;
844
+ /**
845
+ * Transaction tags
846
+ */
847
+ tags: Array<string>;
848
+ /**
849
+ * Transaction links
850
+ */
851
+ links: Array<string>;
852
+ /**
853
+ * Transaction metadata
854
+ */
855
+ meta?: {
856
+ [key: string]: unknown;
857
+ };
858
+ /**
859
+ * Transaction status
860
+ */
861
+ status: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
862
+ /**
863
+ * Source type (free-form string from transaction metadata, e.g. import, api)
864
+ */
865
+ sourceType?: string;
866
+ /**
867
+ * Source platform (e.g., alipay, wechat)
868
+ */
869
+ sourcePlatform?: string;
870
+ /**
871
+ * Transaction postings
872
+ */
873
+ postings: Array<PostingDetailDto>;
874
+ /**
875
+ * Created at timestamp
876
+ */
877
+ createdAt: string;
878
+ /**
879
+ * Voided at timestamp (if voided)
880
+ */
881
+ voidedAt?: string;
882
+ /**
883
+ * User ID who voided this transaction
884
+ */
885
+ voidedBy?: string;
886
+ /**
887
+ * Correction reason (if voided or superseded)
888
+ */
889
+ correctionReason?: string;
890
+ /**
891
+ * ID of the transaction that supersedes this one (set when status=SUPERSEDED)
892
+ */
893
+ supersededBy?: string;
894
+ /**
895
+ * ID of the transaction this one corrected/replaced (back-link on the replacement)
896
+ */
897
+ originalTxn?: string;
898
+ /**
899
+ * Row amount under the request viewpoint (ADR-0126). Category viewpoint (category + flow): per-leg sign-normalized sum over the category account set (Income-root legs negated, Expenses-root identity) — positive under normal booking but NOT clamped (explicit negative expense legs and net-flip refund months stay negative). No viewpoint (plain list / search, no accountId): wallet money-flow net = raw-sign sum over cost-less Assets/Liabilities legs (income positive, expenses negative, transfers net ~0); color cue is the wallet sign (net < 0 = wealth-decreasing). Status-orthogonal: audit views match too (ADR-0128 amount-as-matching-key). Omitted under the account viewpoint (incl. dual) and for rows with no wallet leg.
900
+ */
901
+ viewpointAmount?: string;
902
+ /**
903
+ * Currency of viewpointAmount. A row spanning multiple currencies takes the largest-magnitude currency group (known simplification, ADR-0126).
904
+ */
905
+ viewpointCurrency?: string;
906
+ };
782
907
  type BalanceByCurrencyDto = {
783
908
  /**
784
909
  * ISO 4217 currency code
@@ -805,7 +930,7 @@ type ExchangeRateWarningDto = {
805
930
  };
806
931
  type TransactionListSummaryDto = {
807
932
  /**
808
- * Partial converted total in base currency (rated currencies only, raw Beancount sign). When warnings is non-empty this excludes currencies missing an FX rate; may be "0.00" if ALL non-base currencies lack a rate. Converted at the dateTo (or current) available rate.
933
+ * Partial converted total in base currency (rated currencies only). Sign by viewpoint (ADR-0126): account viewpoint keeps the raw Beancount sign (income negative); category viewpoint is per-leg sign-normalized (Income legs negated, Expenses legs identity — positive under normal booking, not clamped). When warnings is non-empty this excludes currencies missing an FX rate; may be "0.00" if ALL non-base currencies lack a rate. Converted at the dateTo (or current) available rate.
809
934
  */
810
935
  totalAmount: string;
811
936
  /**
@@ -821,11 +946,29 @@ type TransactionListSummaryDto = {
821
946
  */
822
947
  warnings?: Array<ExchangeRateWarningDto>;
823
948
  };
949
+ type TransactionListViewpointDto = {
950
+ /**
951
+ * Viewpoint type (only category drill-down carries a viewpoint today)
952
+ */
953
+ type: 'category';
954
+ /**
955
+ * Flow root the category account set is restricted to
956
+ */
957
+ flow: 'income' | 'expense';
958
+ };
959
+ /**
960
+ * Viewpoint type (only category drill-down carries a viewpoint today)
961
+ */
962
+ type type2 = 'category';
963
+ /**
964
+ * Flow root the category account set is restricted to
965
+ */
966
+ type flow = 'income' | 'expense';
824
967
  type TransactionListResponseDto = {
825
968
  /**
826
969
  * List of transactions
827
970
  */
828
- data: Array<TransactionDetailDto>;
971
+ data: Array<TransactionListItemDto>;
829
972
  /**
830
973
  * Total count of matching transactions
831
974
  */
@@ -842,6 +985,10 @@ type TransactionListResponseDto = {
842
985
  * Amount summary for the full filtered set (#514). Present only when the request has a single account OR category viewpoint; omitted for search-only / plain-list / dual-perspective requests.
843
986
  */
844
987
  summary?: TransactionListSummaryDto;
988
+ /**
989
+ * Viewpoint metadata (ADR-0126). Present only for a single category filter (category + flow, no accountId); dual-perspective requests are viewpoint-less (raw signs, no viewpointAmount).
990
+ */
991
+ viewpoint?: TransactionListViewpointDto;
845
992
  };
846
993
  type TagSuggestionDto = {
847
994
  /**
@@ -1034,7 +1181,7 @@ type ReviewSummaryDto = {
1034
1181
  /**
1035
1182
  * Review type
1036
1183
  */
1037
- type type2 = 'DUPLICATE' | 'RULE_MATCH' | 'PAYEE_MATCH' | 'ACCOUNT_VALIDATION' | 'PIPELINE_ERROR';
1184
+ type type3 = 'DUPLICATE' | 'RULE_MATCH' | 'PAYEE_MATCH' | 'ACCOUNT_VALIDATION' | 'PIPELINE_ERROR';
1038
1185
  /**
1039
1186
  * Review status
1040
1187
  */
@@ -1398,7 +1545,7 @@ type UpdatePayeeDto = {
1398
1545
  */
1399
1546
  customTags?: Array<string>;
1400
1547
  /**
1401
- * Metadata for extended information (location, notes, contact info, etc.). Will merge with existing metadata.
1548
+ * Metadata for extended information (location, notes, contact info, etc.)
1402
1549
  */
1403
1550
  meta?: {
1404
1551
  [key: string]: unknown;
@@ -1688,451 +1835,423 @@ type UpdateCommodityDto = {
1688
1835
  [key: string]: unknown;
1689
1836
  };
1690
1837
  };
1691
- type CreateBeanPriceDto = {
1838
+ type CurrencyBalanceDto = {
1692
1839
  /**
1693
- * Currency being priced (e.g., USD, AAPL, BTC)
1840
+ * ISO 4217 currency code
1694
1841
  */
1695
1842
  currency: string;
1696
1843
  /**
1697
- * Quote currency (pricing currency, e.g., CNY, EUR)
1844
+ * Balance amount
1698
1845
  */
1699
- quoteCurrency: string;
1846
+ balance: string;
1847
+ };
1848
+ type TimeSeriesPointDto = {
1700
1849
  /**
1701
- * Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
1850
+ * Date in YYYY-MM-DD format
1702
1851
  */
1703
- amount: number;
1852
+ date: string;
1704
1853
  /**
1705
- * Price date (ISO 8601 format)
1854
+ * Value at this date (in base currency)
1706
1855
  */
1707
- date: string;
1856
+ value: string;
1708
1857
  /**
1709
- * Metadata (validated by Zod schema, max field lengths enforced)
1858
+ * Change from previous point
1710
1859
  */
1711
- metadata?: {
1712
- [key: string]: unknown;
1713
- };
1714
- };
1715
- type PriceResponseDto = {
1860
+ change?: string;
1716
1861
  /**
1717
- * Unique identifier
1862
+ * Total assets at this date (in base currency)
1718
1863
  */
1719
- id: string;
1864
+ assets?: string;
1720
1865
  /**
1721
- * User ID (owner of the price)
1866
+ * Total liabilities at this date (in base currency)
1722
1867
  */
1723
- userId: string;
1868
+ liabilities?: string;
1724
1869
  /**
1725
- * Currency being priced (e.g., USD, AAPL, BTC)
1870
+ * Multi-currency breakdown for this point
1726
1871
  */
1727
- currency: string;
1872
+ byCurrency?: Array<CurrencyBalanceDto>;
1873
+ };
1874
+ type TrendSummaryDto = {
1728
1875
  /**
1729
- * Quote currency (pricing currency, e.g., USD, CNY)
1876
+ * Value at start of period
1730
1877
  */
1731
- quoteCurrency: string;
1878
+ startValue: string;
1732
1879
  /**
1733
- * Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
1880
+ * Value at end of period
1734
1881
  */
1735
- amount: number;
1882
+ endValue: string;
1736
1883
  /**
1737
- * Price date (ISO 8601 format). Represents the date this price was valid.
1884
+ * Total change over period
1738
1885
  */
1739
- date: string;
1886
+ totalChange: string;
1740
1887
  /**
1741
- * Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
1888
+ * Total change percentage
1742
1889
  */
1743
- meta: {
1744
- [key: string]: unknown;
1745
- };
1890
+ totalChangePercentage: string;
1891
+ };
1892
+ type MultiCurrencyPointDto = {
1746
1893
  /**
1747
- * Creation timestamp
1894
+ * Date in YYYY-MM-DD format
1748
1895
  */
1749
- createdAt: string;
1896
+ date: string;
1750
1897
  /**
1751
- * Last update timestamp
1898
+ * Balances by currency
1752
1899
  */
1753
- updatedAt: string;
1900
+ byCurrency: Array<CurrencyBalanceDto>;
1754
1901
  };
1755
- type PriceListResponseDto = {
1902
+ type PortfolioTrendsResponseDto = {
1756
1903
  /**
1757
- * List of prices
1904
+ * Time series data points
1758
1905
  */
1759
- items: Array<PriceResponseDto>;
1906
+ series: Array<TimeSeriesPointDto>;
1760
1907
  /**
1761
- * Total number of prices
1908
+ * Period summary
1762
1909
  */
1763
- total: number;
1764
- };
1765
- type UpdateBeanPriceDto = {
1910
+ summary: TrendSummaryDto;
1766
1911
  /**
1767
- * Currency being priced
1912
+ * Period requested
1768
1913
  */
1769
- currency?: string;
1914
+ period: string;
1770
1915
  /**
1771
- * Quote currency (pricing currency)
1916
+ * Data granularity
1772
1917
  */
1773
- quoteCurrency?: string;
1918
+ granularity: string;
1774
1919
  /**
1775
- * Price amount (MUST be >= 0 per Beancount spec)
1920
+ * Base currency for converted values
1776
1921
  */
1777
- amount?: number;
1922
+ currency: string;
1778
1923
  /**
1779
- * Price date (ISO 8601 format)
1924
+ * Multi-currency time series (each point has currency breakdown)
1780
1925
  */
1781
- date?: string;
1926
+ byCurrency?: Array<MultiCurrencyPointDto>;
1782
1927
  /**
1783
- * Metadata
1928
+ * Exchange rate warnings
1784
1929
  */
1785
- metadata?: {
1786
- [key: string]: unknown;
1787
- };
1930
+ warnings?: Array<ExchangeRateWarningDto>;
1788
1931
  };
1789
- type CreateRecurringRuleDto = {
1932
+ type CashFlowPointDto = {
1790
1933
  /**
1791
- * Rule name (unique per user)
1934
+ * Month key (YYYY-MM)
1792
1935
  */
1793
- name: string;
1936
+ month: string;
1794
1937
  /**
1795
- * Icon emoji
1938
+ * Income in base currency (absolute, converted)
1796
1939
  */
1797
- icon?: string;
1940
+ income: string;
1798
1941
  /**
1799
- * Recurring frequency
1942
+ * Expense in base currency (absolute, converted)
1800
1943
  */
1801
- frequency: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
1944
+ expense: string;
1802
1945
  /**
1803
- * Expected amount (positive number)
1946
+ * netSavings = income − expense (savings positive)
1804
1947
  */
1805
- expectedAmount: number;
1948
+ netSavings: string;
1949
+ };
1950
+ type CashFlowTrendSummaryDto = {
1806
1951
  /**
1807
- * Expected day of month (1-31)
1952
+ * Total income across the period
1808
1953
  */
1809
- expectedDay?: number;
1954
+ totalIncome: string;
1810
1955
  /**
1811
- * Custom interval in days (required for CUSTOM frequency)
1956
+ * Total expense across the period
1812
1957
  */
1813
- customIntervalDays?: number;
1958
+ totalExpense: string;
1814
1959
  /**
1815
- * Currency code
1960
+ * income − expense across the period
1816
1961
  */
1817
- currency: string;
1962
+ totalNetSavings: string;
1818
1963
  /**
1819
- * Payee matching pattern (supports wildcards)
1964
+ * totalNetSavings divided by the window length (N months, incl. zero-filled)
1820
1965
  */
1821
- matchPayeePattern?: string;
1966
+ averageMonthlyNetSavings: string;
1967
+ };
1968
+ type CashFlowTrendsResponseDto = {
1822
1969
  /**
1823
- * Amount tolerance percentage (0-1)
1970
+ * Monthly cash-flow series (fixed N-month window, zero-filled)
1824
1971
  */
1825
- matchAmountTolerance: number;
1972
+ series: Array<CashFlowPointDto>;
1826
1973
  /**
1827
- * Default expense account for auto-create
1974
+ * Period totals
1828
1975
  */
1829
- defaultExpenseAccount?: string;
1976
+ summary: CashFlowTrendSummaryDto;
1830
1977
  /**
1831
- * Default payment account for auto-create
1978
+ * Period requested
1832
1979
  */
1833
- defaultPaymentAccount?: string;
1980
+ period: string;
1834
1981
  /**
1835
- * Default payee for auto-create
1982
+ * Data granularity (v1 returns month buckets)
1836
1983
  */
1837
- defaultPayee?: string;
1984
+ granularity: string;
1838
1985
  /**
1839
- * Auto-create transaction when expected date arrives
1986
+ * Base currency for converted values
1840
1987
  */
1841
- autoCreate: boolean;
1988
+ currency: string;
1842
1989
  /**
1843
- * Rule start date (ISO format)
1990
+ * Exchange rate warnings (e.g. missing rate for a currency)
1844
1991
  */
1845
- startDate?: string;
1992
+ warnings?: Array<ExchangeRateWarningDto>;
1993
+ };
1994
+ type GenerateSnapshotBody = unknown;
1995
+ type GenerateSnapshotResponse = unknown;
1996
+ type BackfillSnapshotsBody = unknown;
1997
+ type BackfillSnapshotsResponse = unknown;
1998
+ type CreateBeanPriceDto = {
1846
1999
  /**
1847
- * Rule end date (ISO format)
2000
+ * Currency being priced (e.g., USD, AAPL, BTC)
1848
2001
  */
1849
- endDate?: string;
1850
- };
1851
- /**
1852
- * Recurring frequency
1853
- */
1854
- type frequency = 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
1855
- type RecurringRuleResponseDto = {
2002
+ currency: string;
1856
2003
  /**
1857
- * Rule ID
2004
+ * Quote currency (pricing currency, e.g., CNY, EUR)
1858
2005
  */
1859
- id: string;
2006
+ quoteCurrency: string;
1860
2007
  /**
1861
- * User ID
2008
+ * Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
1862
2009
  */
1863
- userId: string;
2010
+ amount: number;
1864
2011
  /**
1865
- * Rule name
2012
+ * Price date (ISO 8601 format)
1866
2013
  */
1867
- name: string;
2014
+ date: string;
1868
2015
  /**
1869
- * Icon emoji
2016
+ * Metadata (validated by Zod schema, max field lengths enforced)
1870
2017
  */
1871
- icon?: {
2018
+ metadata?: {
1872
2019
  [key: string]: unknown;
1873
2020
  };
2021
+ };
2022
+ type PriceResponseDto = {
1874
2023
  /**
1875
- * Recurring frequency
1876
- */
1877
- frequency: string;
1878
- /**
1879
- * Expected amount
1880
- */
1881
- expectedAmount: number;
1882
- /**
1883
- * Expected day of month
2024
+ * Unique identifier
1884
2025
  */
1885
- expectedDay?: {
1886
- [key: string]: unknown;
1887
- };
2026
+ id: string;
1888
2027
  /**
1889
- * Custom interval in days
2028
+ * User ID (owner of the price)
1890
2029
  */
1891
- customIntervalDays?: {
1892
- [key: string]: unknown;
1893
- };
2030
+ userId: string;
1894
2031
  /**
1895
- * Currency code
2032
+ * Currency being priced (e.g., USD, AAPL, BTC)
1896
2033
  */
1897
2034
  currency: string;
1898
2035
  /**
1899
- * Payee matching pattern
2036
+ * Quote currency (pricing currency, e.g., USD, CNY)
1900
2037
  */
1901
- matchPayeePattern?: {
1902
- [key: string]: unknown;
1903
- };
2038
+ quoteCurrency: string;
1904
2039
  /**
1905
- * Amount tolerance percentage
2040
+ * Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
1906
2041
  */
1907
- matchAmountTolerance: number;
2042
+ amount: number;
1908
2043
  /**
1909
- * Default expense account
2044
+ * Price date (ISO 8601 format). Represents the date this price was valid.
1910
2045
  */
1911
- defaultExpenseAccount?: {
1912
- [key: string]: unknown;
1913
- };
2046
+ date: string;
1914
2047
  /**
1915
- * Default payment account
2048
+ * Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
1916
2049
  */
1917
- defaultPaymentAccount?: {
2050
+ meta: {
1918
2051
  [key: string]: unknown;
1919
2052
  };
1920
2053
  /**
1921
- * Default payee
2054
+ * Creation timestamp
1922
2055
  */
1923
- defaultPayee?: {
1924
- [key: string]: unknown;
1925
- };
2056
+ createdAt: string;
1926
2057
  /**
1927
- * Whether rule is active
2058
+ * Last update timestamp
1928
2059
  */
1929
- isActive: boolean;
2060
+ updatedAt: string;
2061
+ };
2062
+ type PriceListResponseDto = {
1930
2063
  /**
1931
- * Rule start date (YYYY-MM-DD)
2064
+ * List of prices
1932
2065
  */
1933
- startDate: string;
2066
+ items: Array<PriceResponseDto>;
1934
2067
  /**
1935
- * Rule end date (YYYY-MM-DD)
2068
+ * Total number of prices
1936
2069
  */
1937
- endDate?: {
1938
- [key: string]: unknown;
1939
- };
2070
+ total: number;
2071
+ };
2072
+ type UpdateBeanPriceDto = {
1940
2073
  /**
1941
- * Auto-create transaction on expected date
2074
+ * Currency being priced
1942
2075
  */
1943
- autoCreate: boolean;
2076
+ currency?: string;
1944
2077
  /**
1945
- * Last matched occurrence date (YYYY-MM-DD)
2078
+ * Quote currency (pricing currency)
1946
2079
  */
1947
- lastOccurrence?: {
1948
- [key: string]: unknown;
1949
- };
2080
+ quoteCurrency?: string;
1950
2081
  /**
1951
- * Total matched transactions count
2082
+ * Price amount (MUST be >= 0 per Beancount spec)
1952
2083
  */
1953
- totalCount: number;
2084
+ amount?: number;
1954
2085
  /**
1955
- * Created at timestamp
2086
+ * Price date (ISO 8601 format)
1956
2087
  */
1957
- createdAt: string;
2088
+ date?: string;
1958
2089
  /**
1959
- * Updated at timestamp
2090
+ * Metadata
1960
2091
  */
1961
- updatedAt: string;
2092
+ metadata?: {
2093
+ [key: string]: unknown;
2094
+ };
1962
2095
  };
1963
- type CreateRuleFromTransactionDto = {
1964
- /**
1965
- * Recurring frequency
1966
- */
1967
- frequency: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
1968
- /**
1969
- * Optional name override (default: transaction payee)
1970
- */
1971
- name?: string;
2096
+ type DeleteOwnUserDto = {
1972
2097
  /**
1973
- * Optional icon emoji
2098
+ * Access token for user verification
1974
2099
  */
1975
- icon?: string;
2100
+ accessToken: string;
1976
2101
  };
1977
- type RecurringRuleWithStatsResponseDto = {
2102
+ type UserSettingsResponseDto = {
1978
2103
  /**
1979
- * Rule ID
2104
+ * Stored base currency choice (ISO 4217) for net-worth/report aggregation. null = user never chose; aggregates fall back to the region default at display time (#713).
1980
2105
  */
1981
- id: string;
2106
+ baseCurrency: string | null;
2107
+ };
2108
+ type UserResponseDto = {
1982
2109
  /**
1983
2110
  * User ID
1984
2111
  */
1985
- userId: string;
1986
- /**
1987
- * Rule name
1988
- */
1989
- name: string;
2112
+ id: string;
1990
2113
  /**
1991
- * Icon emoji
2114
+ * Assigned user role
1992
2115
  */
1993
- icon?: {
1994
- [key: string]: unknown;
1995
- };
2116
+ role: string;
1996
2117
  /**
1997
- * Recurring frequency
2118
+ * Permission strings
1998
2119
  */
1999
- frequency: string;
2120
+ permissions: Array<string>;
2000
2121
  /**
2001
- * Expected amount
2122
+ * User settings
2002
2123
  */
2003
- expectedAmount: number;
2124
+ settings: UserSettingsResponseDto;
2125
+ };
2126
+ type SignupDto = {
2004
2127
  /**
2005
- * Expected day of month
2128
+ * Cloudflare Turnstile verification token (optional when Turnstile disabled)
2006
2129
  */
2007
- expectedDay?: {
2008
- [key: string]: unknown;
2009
- };
2130
+ turnstileToken?: string;
2131
+ };
2132
+ type SignupResponseDto = {
2010
2133
  /**
2011
- * Custom interval in days
2134
+ * JWT auth token
2012
2135
  */
2013
- customIntervalDays?: {
2014
- [key: string]: unknown;
2015
- };
2136
+ authToken: string;
2016
2137
  /**
2017
- * Currency code
2138
+ * Auto-generated access token
2018
2139
  */
2019
- currency: string;
2140
+ accessToken: string;
2020
2141
  /**
2021
- * Payee matching pattern
2142
+ * Assigned user role
2022
2143
  */
2023
- matchPayeePattern?: {
2024
- [key: string]: unknown;
2025
- };
2144
+ role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2145
+ };
2146
+ /**
2147
+ * Assigned user role
2148
+ */
2149
+ type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2150
+ type UpdateUserSettingDto = {
2026
2151
  /**
2027
- * Amount tolerance percentage
2152
+ * Security ID
2028
2153
  */
2029
- matchAmountTolerance: number;
2154
+ secId?: number;
2030
2155
  /**
2031
- * Default expense account
2156
+ * Annual interest rate
2032
2157
  */
2033
- defaultExpenseAccount?: {
2034
- [key: string]: unknown;
2035
- };
2158
+ annualInterestRate?: number;
2036
2159
  /**
2037
- * Default payment account
2160
+ * Currency code
2038
2161
  */
2039
- defaultPaymentAccount?: {
2040
- [key: string]: unknown;
2041
- };
2162
+ currency?: string;
2042
2163
  /**
2043
- * Default payee
2164
+ * Base currency code
2044
2165
  */
2045
- defaultPayee?: {
2046
- [key: string]: unknown;
2047
- };
2166
+ baseCurrency?: string;
2048
2167
  /**
2049
- * Whether rule is active
2168
+ * Benchmark symbol
2050
2169
  */
2051
- isActive: boolean;
2170
+ benchmark?: string;
2052
2171
  /**
2053
- * Rule start date (YYYY-MM-DD)
2172
+ * Color scheme
2054
2173
  */
2055
- startDate: string;
2174
+ colorScheme?: 'DARK' | 'LIGHT';
2056
2175
  /**
2057
- * Rule end date (YYYY-MM-DD)
2176
+ * Date range filter
2058
2177
  */
2059
- endDate?: {
2060
- [key: string]: unknown;
2061
- };
2178
+ dateRange?: string;
2062
2179
  /**
2063
- * Auto-create transaction on expected date
2180
+ * Emergency fund amount
2064
2181
  */
2065
- autoCreate: boolean;
2182
+ emergencyFund?: number;
2066
2183
  /**
2067
- * Last matched occurrence date (YYYY-MM-DD)
2184
+ * Account filter IDs
2068
2185
  */
2069
- lastOccurrence?: {
2070
- [key: string]: unknown;
2071
- };
2186
+ 'filters.accounts'?: Array<string>;
2072
2187
  /**
2073
- * Total matched transactions count
2188
+ * Asset class filters
2074
2189
  */
2075
- totalCount: number;
2190
+ 'filters.assetClasses'?: Array<string>;
2076
2191
  /**
2077
- * Created at timestamp
2192
+ * Data source filter
2078
2193
  */
2079
- createdAt: string;
2194
+ 'filters.dataSource'?: string;
2080
2195
  /**
2081
- * Updated at timestamp
2196
+ * Symbol filter
2082
2197
  */
2083
- updatedAt: string;
2198
+ 'filters.symbol'?: string;
2084
2199
  /**
2085
- * Number of pending expected transactions
2200
+ * Tag filters
2086
2201
  */
2087
- pendingCount: number;
2202
+ 'filters.tags'?: Array<string>;
2088
2203
  /**
2089
- * Number of overdue expected transactions
2204
+ * Enable experimental features
2090
2205
  */
2091
- overdueCount: number;
2206
+ isExperimentalFeatures?: boolean;
2092
2207
  /**
2093
- * Next expected date (YYYY-MM-DD)
2208
+ * Enable restricted view mode
2094
2209
  */
2095
- nextExpectedDate?: {
2096
- [key: string]: unknown;
2097
- };
2210
+ isRestrictedView?: boolean;
2098
2211
  /**
2099
- * Total amount of all matched transactions
2212
+ * Language code
2100
2213
  */
2101
- totalAmount: number;
2214
+ language?: string;
2102
2215
  /**
2103
- * Average amount per transaction
2216
+ * Locale code
2104
2217
  */
2105
- averageAmount: number;
2218
+ locale?: string;
2106
2219
  /**
2107
- * Number of matched transactions
2220
+ * Projected total amount
2108
2221
  */
2109
- transactionCount: number;
2222
+ projectedTotalAmount?: number;
2110
2223
  /**
2111
- * First matched transaction date (YYYY-MM-DD)
2224
+ * Retirement date in ISO 8601 format
2112
2225
  */
2113
- firstDate?: {
2114
- [key: string]: unknown;
2115
- };
2226
+ retirementDate?: string;
2116
2227
  /**
2117
- * Last matched transaction date (YYYY-MM-DD)
2228
+ * Savings rate percentage
2118
2229
  */
2119
- lastDate?: {
2120
- [key: string]: unknown;
2121
- };
2230
+ savingsRate?: number;
2122
2231
  /**
2123
- * Amount variance (standard deviation squared)
2232
+ * View mode
2124
2233
  */
2125
- variance: number;
2234
+ viewMode?: 'DEFAULT' | 'ZEN';
2235
+ };
2236
+ /**
2237
+ * Color scheme
2238
+ */
2239
+ type colorScheme = 'DARK' | 'LIGHT';
2240
+ /**
2241
+ * View mode
2242
+ */
2243
+ type viewMode = 'DEFAULT' | 'ZEN';
2244
+ type UpdatePropertyDto = {
2126
2245
  /**
2127
- * Number of upcoming expected transactions
2246
+ * Property value
2128
2247
  */
2129
- upcomingCount: number;
2248
+ value: string;
2130
2249
  };
2131
- type UpdateRecurringRuleDto = {
2250
+ type CreateRecurringRuleDto = {
2132
2251
  /**
2133
- * Rule name
2252
+ * Rule name (unique per user)
2134
2253
  */
2135
- name?: string;
2254
+ name: string;
2136
2255
  /**
2137
2256
  * Icon emoji
2138
2257
  */
@@ -2140,17 +2259,17 @@ type UpdateRecurringRuleDto = {
2140
2259
  /**
2141
2260
  * Recurring frequency
2142
2261
  */
2143
- frequency?: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2262
+ frequency: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2144
2263
  /**
2145
- * Expected amount
2264
+ * Expected amount (positive number)
2146
2265
  */
2147
- expectedAmount?: number;
2266
+ expectedAmount: number;
2148
2267
  /**
2149
2268
  * Expected day of month (1-31)
2150
2269
  */
2151
2270
  expectedDay?: number;
2152
2271
  /**
2153
- * Custom interval in days
2272
+ * Custom interval in days (required for CUSTOM frequency)
2154
2273
  */
2155
2274
  customIntervalDays?: number;
2156
2275
  /**
@@ -2158,522 +2277,522 @@ type UpdateRecurringRuleDto = {
2158
2277
  */
2159
2278
  currency?: string;
2160
2279
  /**
2161
- * Payee matching pattern
2280
+ * Payee matching pattern (supports wildcards)
2162
2281
  */
2163
2282
  matchPayeePattern?: string;
2164
2283
  /**
2165
2284
  * Amount tolerance percentage (0-1)
2166
2285
  */
2167
- matchAmountTolerance?: number;
2286
+ matchAmountTolerance: number;
2168
2287
  /**
2169
- * Default expense account
2288
+ * Default expense account for auto-create
2170
2289
  */
2171
2290
  defaultExpenseAccount?: string;
2172
2291
  /**
2173
- * Default payment account
2292
+ * Default payment account for auto-create
2174
2293
  */
2175
2294
  defaultPaymentAccount?: string;
2176
2295
  /**
2177
- * Default payee
2296
+ * Default payee for auto-create
2178
2297
  */
2179
2298
  defaultPayee?: string;
2180
2299
  /**
2181
- * Auto-create transaction
2300
+ * Auto-create transaction when expected date arrives
2182
2301
  */
2183
- autoCreate?: boolean;
2302
+ autoCreate: boolean;
2184
2303
  /**
2185
- * Rule active status
2304
+ * Rule start date (ISO format)
2186
2305
  */
2187
- isActive?: boolean;
2306
+ startDate?: string;
2188
2307
  /**
2189
2308
  * Rule end date (ISO format)
2190
2309
  */
2191
2310
  endDate?: string;
2192
2311
  };
2193
- type ExpectedTransactionRuleDto = {
2312
+ /**
2313
+ * Recurring frequency
2314
+ */
2315
+ type frequency = 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2316
+ type RecurringRuleResponseDto = {
2317
+ /**
2318
+ * Rule ID
2319
+ */
2320
+ id: string;
2321
+ /**
2322
+ * User ID
2323
+ */
2324
+ userId: string;
2194
2325
  /**
2195
2326
  * Rule name
2196
2327
  */
2197
2328
  name: string;
2198
2329
  /**
2199
- * Rule icon
2330
+ * Icon emoji
2200
2331
  */
2201
- icon?: {
2202
- [key: string]: unknown;
2203
- };
2332
+ icon?: string;
2204
2333
  /**
2205
- * Rule frequency
2334
+ * Recurring frequency
2206
2335
  */
2207
2336
  frequency: string;
2208
2337
  /**
2209
- * Currency code
2338
+ * Expected amount
2210
2339
  */
2211
- currency: string;
2212
- };
2213
- type ExpectedTransactionResponseDto = {
2340
+ expectedAmount: number;
2214
2341
  /**
2215
- * Expected transaction ID
2342
+ * Expected day of month
2216
2343
  */
2217
- id: string;
2344
+ expectedDay?: number;
2218
2345
  /**
2219
- * User ID
2346
+ * Custom interval in days
2220
2347
  */
2221
- userId: string;
2348
+ customIntervalDays?: number;
2222
2349
  /**
2223
- * Associated rule ID
2350
+ * Currency code
2224
2351
  */
2225
- ruleId: string;
2352
+ currency: string;
2226
2353
  /**
2227
- * Expected date (YYYY-MM-DD)
2354
+ * Payee matching pattern
2228
2355
  */
2229
- expectedDate: string;
2356
+ matchPayeePattern?: string;
2230
2357
  /**
2231
- * Expected amount
2358
+ * Amount tolerance percentage
2232
2359
  */
2233
- expectedAmount: number;
2360
+ matchAmountTolerance: number;
2234
2361
  /**
2235
- * Status (PENDING, COMPLETED, SKIPPED)
2362
+ * Default expense account
2236
2363
  */
2237
- status: string;
2364
+ defaultExpenseAccount?: string;
2238
2365
  /**
2239
- * Matched transaction ID
2366
+ * Default payment account
2240
2367
  */
2241
- matchedTransactionId?: {
2242
- [key: string]: unknown;
2243
- };
2368
+ defaultPaymentAccount?: string;
2244
2369
  /**
2245
- * Match timestamp (ISO 8601)
2370
+ * Default payee
2246
2371
  */
2247
- matchedAt?: {
2248
- [key: string]: unknown;
2249
- };
2372
+ defaultPayee?: string;
2250
2373
  /**
2251
- * Match confidence score (0-1)
2374
+ * Whether rule is active
2252
2375
  */
2253
- matchConfidence?: {
2254
- [key: string]: unknown;
2255
- };
2376
+ isActive: boolean;
2256
2377
  /**
2257
- * Whether this expected transaction is overdue
2378
+ * Rule start date (YYYY-MM-DD)
2258
2379
  */
2259
- isOverdue: boolean;
2380
+ startDate: string;
2260
2381
  /**
2261
- * Rule information
2382
+ * Rule end date (YYYY-MM-DD)
2262
2383
  */
2263
- rule: ExpectedTransactionRuleDto;
2384
+ endDate?: string;
2264
2385
  /**
2265
- * Created at timestamp
2386
+ * Auto-create transaction on expected date
2266
2387
  */
2267
- createdAt: string;
2388
+ autoCreate: boolean;
2268
2389
  /**
2269
- * Updated at timestamp
2390
+ * Last matched occurrence date (YYYY-MM-DD)
2270
2391
  */
2271
- updatedAt: string;
2272
- };
2273
- type ExpectedTransactionListResponseDto = {
2274
- items: Array<ExpectedTransactionResponseDto>;
2392
+ lastOccurrence?: string;
2275
2393
  /**
2276
- * Total count
2394
+ * Total matched transactions count
2277
2395
  */
2278
- total: number;
2279
- };
2280
- type ConfirmMatchDto = {
2396
+ totalCount: number;
2397
+ /**
2398
+ * Created at timestamp
2399
+ */
2400
+ createdAt: string;
2281
2401
  /**
2282
- * Transaction ID to match with
2402
+ * Updated at timestamp
2283
2403
  */
2284
- transactionId: string;
2404
+ updatedAt: string;
2285
2405
  };
2286
- type EnterNowDto = {
2406
+ type CreateRuleFromTransactionDto = {
2287
2407
  /**
2288
- * Override expense account (uses rule default if not provided)
2408
+ * Recurring frequency
2289
2409
  */
2290
- expenseAccount?: string;
2410
+ frequency: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2291
2411
  /**
2292
- * Override payment account (uses rule default if not provided)
2412
+ * Optional name override (default: transaction payee)
2293
2413
  */
2294
- paymentAccount?: string;
2414
+ name?: string;
2295
2415
  /**
2296
- * Override amount (uses expected amount if not provided)
2416
+ * Optional icon emoji
2297
2417
  */
2298
- amount?: number;
2418
+ icon?: string;
2419
+ };
2420
+ type RecurringRuleWithStatsResponseDto = {
2299
2421
  /**
2300
- * Override payee (uses rule default if not provided)
2422
+ * Rule ID
2301
2423
  */
2302
- payee?: string;
2424
+ id: string;
2303
2425
  /**
2304
- * Optional narration
2426
+ * User ID
2305
2427
  */
2306
- narration?: string;
2307
- };
2308
- type ForecastItemDto = {
2428
+ userId: string;
2309
2429
  /**
2310
2430
  * Rule name
2311
2431
  */
2312
- rule: string;
2432
+ name: string;
2313
2433
  /**
2314
- * Rule ID
2434
+ * Icon emoji
2315
2435
  */
2316
- ruleId: string;
2436
+ icon?: string;
2437
+ /**
2438
+ * Recurring frequency
2439
+ */
2440
+ frequency: string;
2317
2441
  /**
2318
2442
  * Expected amount
2319
2443
  */
2320
- amount: number;
2444
+ expectedAmount: number;
2321
2445
  /**
2322
- * Expected date (YYYY-MM-DD)
2446
+ * Expected day of month
2323
2447
  */
2324
- date: string;
2448
+ expectedDay?: number;
2325
2449
  /**
2326
- * Rule icon emoji
2450
+ * Custom interval in days
2327
2451
  */
2328
- icon: string | null;
2452
+ customIntervalDays?: number;
2329
2453
  /**
2330
2454
  * Currency code
2331
2455
  */
2332
2456
  currency: string;
2333
- };
2334
- type MonthlyForecastDto = {
2335
2457
  /**
2336
- * Month (YYYY-MM)
2458
+ * Payee matching pattern
2337
2459
  */
2338
- month: string;
2460
+ matchPayeePattern?: string;
2339
2461
  /**
2340
- * Total expected outflow for the month
2462
+ * Amount tolerance percentage
2341
2463
  */
2342
- expectedOutflow: number;
2464
+ matchAmountTolerance: number;
2343
2465
  /**
2344
- * Number of expected transactions
2466
+ * Default expense account
2345
2467
  */
2346
- itemCount: number;
2468
+ defaultExpenseAccount?: string;
2347
2469
  /**
2348
- * Breakdown by currency
2470
+ * Default payment account
2349
2471
  */
2350
- byCurrency: {
2351
- [key: string]: unknown;
2352
- };
2472
+ defaultPaymentAccount?: string;
2353
2473
  /**
2354
- * Individual forecast items
2474
+ * Default payee
2355
2475
  */
2356
- items: Array<ForecastItemDto>;
2357
- };
2358
- type ForecastResponseDto = {
2476
+ defaultPayee?: string;
2359
2477
  /**
2360
- * Monthly forecast data
2478
+ * Whether rule is active
2361
2479
  */
2362
- forecast: Array<MonthlyForecastDto>;
2480
+ isActive: boolean;
2363
2481
  /**
2364
- * Total expected outflow across all months
2482
+ * Rule start date (YYYY-MM-DD)
2365
2483
  */
2366
- totalOutflow: number;
2484
+ startDate: string;
2367
2485
  /**
2368
- * Total by currency across all months
2486
+ * Rule end date (YYYY-MM-DD)
2369
2487
  */
2370
- totalByCurrency: {
2371
- [key: string]: unknown;
2372
- };
2488
+ endDate?: string;
2373
2489
  /**
2374
- * Number of active recurring rules included
2490
+ * Auto-create transaction on expected date
2375
2491
  */
2376
- rulesCount: number;
2492
+ autoCreate: boolean;
2377
2493
  /**
2378
- * Forecast period start date
2494
+ * Last matched occurrence date (YYYY-MM-DD)
2379
2495
  */
2380
- periodStart: string;
2496
+ lastOccurrence?: string;
2381
2497
  /**
2382
- * Forecast period end date
2498
+ * Total matched transactions count
2383
2499
  */
2384
- periodEnd: string;
2385
- };
2386
- type CurrencyBalanceDto = {
2500
+ totalCount: number;
2387
2501
  /**
2388
- * ISO 4217 currency code
2502
+ * Created at timestamp
2389
2503
  */
2390
- currency: string;
2504
+ createdAt: string;
2391
2505
  /**
2392
- * Balance amount
2506
+ * Updated at timestamp
2393
2507
  */
2394
- balance: string;
2395
- };
2396
- type TimeSeriesPointDto = {
2508
+ updatedAt: string;
2397
2509
  /**
2398
- * Date in YYYY-MM-DD format
2510
+ * Number of pending expected transactions
2399
2511
  */
2400
- date: string;
2512
+ pendingCount: number;
2401
2513
  /**
2402
- * Value at this date (in base currency)
2514
+ * Number of overdue expected transactions
2403
2515
  */
2404
- value: string;
2516
+ overdueCount: number;
2405
2517
  /**
2406
- * Change from previous point
2518
+ * Next expected date (YYYY-MM-DD)
2407
2519
  */
2408
- change?: {
2409
- [key: string]: unknown;
2410
- };
2520
+ nextExpectedDate?: string;
2411
2521
  /**
2412
- * Total assets at this date (in base currency)
2522
+ * Total amount of all matched transactions
2413
2523
  */
2414
- assets?: string;
2524
+ totalAmount: number;
2415
2525
  /**
2416
- * Total liabilities at this date (in base currency)
2526
+ * Average amount per transaction
2417
2527
  */
2418
- liabilities?: string;
2528
+ averageAmount: number;
2419
2529
  /**
2420
- * Multi-currency breakdown for this point
2530
+ * Number of matched transactions
2421
2531
  */
2422
- byCurrency?: Array<CurrencyBalanceDto>;
2423
- };
2424
- type TrendSummaryDto = {
2532
+ transactionCount: number;
2425
2533
  /**
2426
- * Value at start of period
2534
+ * First matched transaction date (YYYY-MM-DD)
2427
2535
  */
2428
- startValue: string;
2536
+ firstDate?: string;
2429
2537
  /**
2430
- * Value at end of period
2538
+ * Last matched transaction date (YYYY-MM-DD)
2431
2539
  */
2432
- endValue: string;
2540
+ lastDate?: string;
2433
2541
  /**
2434
- * Total change over period
2542
+ * Amount variance (standard deviation squared)
2435
2543
  */
2436
- totalChange: string;
2544
+ variance: number;
2437
2545
  /**
2438
- * Total change percentage
2546
+ * Number of upcoming expected transactions
2439
2547
  */
2440
- totalChangePercentage: string;
2548
+ upcomingCount: number;
2441
2549
  };
2442
- type MultiCurrencyPointDto = {
2550
+ type UpdateRecurringRuleDto = {
2443
2551
  /**
2444
- * Date in YYYY-MM-DD format
2552
+ * Rule name (unique per user)
2445
2553
  */
2446
- date: string;
2554
+ name?: string;
2447
2555
  /**
2448
- * Balances by currency
2556
+ * Icon emoji
2449
2557
  */
2450
- byCurrency: Array<CurrencyBalanceDto>;
2451
- };
2452
- type PortfolioTrendsResponseDto = {
2558
+ icon?: string;
2453
2559
  /**
2454
- * Time series data points
2560
+ * Recurring frequency
2455
2561
  */
2456
- series: Array<TimeSeriesPointDto>;
2562
+ frequency?: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2457
2563
  /**
2458
- * Period summary
2564
+ * Expected amount (positive number)
2459
2565
  */
2460
- summary: TrendSummaryDto;
2566
+ expectedAmount?: number;
2461
2567
  /**
2462
- * Period requested
2568
+ * Expected day of month (1-31)
2463
2569
  */
2464
- period: string;
2570
+ expectedDay?: number;
2465
2571
  /**
2466
- * Data granularity
2572
+ * Currency code
2467
2573
  */
2468
- granularity: string;
2574
+ currency?: string;
2469
2575
  /**
2470
- * Base currency for converted values
2576
+ * Payee matching pattern (supports wildcards)
2471
2577
  */
2472
- currency: string;
2578
+ matchPayeePattern?: string;
2473
2579
  /**
2474
- * Multi-currency time series (each point has currency breakdown)
2580
+ * Amount tolerance percentage (0-1)
2475
2581
  */
2476
- byCurrency?: Array<MultiCurrencyPointDto>;
2582
+ matchAmountTolerance?: number;
2477
2583
  /**
2478
- * Exchange rate warnings
2584
+ * Default expense account for auto-create
2479
2585
  */
2480
- warnings?: Array<ExchangeRateWarningDto>;
2481
- };
2482
- type CashFlowPointDto = {
2586
+ defaultExpenseAccount?: string;
2483
2587
  /**
2484
- * Month key (YYYY-MM)
2588
+ * Default payment account for auto-create
2485
2589
  */
2486
- month: string;
2590
+ defaultPaymentAccount?: string;
2487
2591
  /**
2488
- * Income in base currency (absolute, converted)
2592
+ * Default payee for auto-create
2489
2593
  */
2490
- income: string;
2594
+ defaultPayee?: string;
2491
2595
  /**
2492
- * Expense in base currency (absolute, converted)
2596
+ * Auto-create transaction when expected date arrives
2493
2597
  */
2494
- expense: string;
2598
+ autoCreate?: boolean;
2495
2599
  /**
2496
- * netSavings = income − expense (savings positive)
2600
+ * Rule end date (ISO format)
2497
2601
  */
2498
- netSavings: string;
2602
+ endDate?: string;
2603
+ /**
2604
+ * Custom interval in days
2605
+ */
2606
+ customIntervalDays?: number;
2607
+ /**
2608
+ * Rule active status
2609
+ */
2610
+ isActive?: boolean;
2499
2611
  };
2500
- type CashFlowTrendSummaryDto = {
2612
+ type ExpectedTransactionRuleDto = {
2501
2613
  /**
2502
- * Total income across the period
2614
+ * Rule name
2503
2615
  */
2504
- totalIncome: string;
2616
+ name: string;
2505
2617
  /**
2506
- * Total expense across the period
2618
+ * Rule icon
2507
2619
  */
2508
- totalExpense: string;
2620
+ icon?: string;
2509
2621
  /**
2510
- * income − expense across the period
2622
+ * Rule frequency
2511
2623
  */
2512
- totalNetSavings: string;
2624
+ frequency: string;
2513
2625
  /**
2514
- * totalNetSavings divided by the window length (N months, incl. zero-filled)
2626
+ * Currency code
2515
2627
  */
2516
- averageMonthlyNetSavings: string;
2628
+ currency: string;
2517
2629
  };
2518
- type CashFlowTrendsResponseDto = {
2630
+ type ExpectedTransactionResponseDto = {
2519
2631
  /**
2520
- * Monthly cash-flow series (fixed N-month window, zero-filled)
2632
+ * Expected transaction ID
2633
+ */
2634
+ id: string;
2635
+ /**
2636
+ * User ID
2637
+ */
2638
+ userId: string;
2639
+ /**
2640
+ * Associated rule ID
2641
+ */
2642
+ ruleId: string;
2643
+ /**
2644
+ * Expected date (YYYY-MM-DD)
2645
+ */
2646
+ expectedDate: string;
2647
+ /**
2648
+ * Expected amount
2521
2649
  */
2522
- series: Array<CashFlowPointDto>;
2650
+ expectedAmount: number;
2523
2651
  /**
2524
- * Period totals
2652
+ * Status (PENDING, COMPLETED, SKIPPED)
2525
2653
  */
2526
- summary: CashFlowTrendSummaryDto;
2654
+ status: string;
2527
2655
  /**
2528
- * Period requested
2656
+ * Matched transaction ID
2529
2657
  */
2530
- period: string;
2658
+ matchedTransactionId?: string;
2531
2659
  /**
2532
- * Data granularity (v1 returns month buckets)
2660
+ * Match timestamp (ISO 8601)
2533
2661
  */
2534
- granularity: string;
2662
+ matchedAt?: string;
2535
2663
  /**
2536
- * Base currency for converted values
2664
+ * Match confidence score (0-1)
2537
2665
  */
2538
- currency: string;
2666
+ matchConfidence?: number;
2539
2667
  /**
2540
- * Exchange rate warnings (e.g. missing rate for a currency)
2668
+ * Whether this expected transaction is overdue
2541
2669
  */
2542
- warnings?: Array<ExchangeRateWarningDto>;
2543
- };
2544
- type GenerateSnapshotBody = unknown;
2545
- type GenerateSnapshotResponse = unknown;
2546
- type BackfillSnapshotsBody = unknown;
2547
- type BackfillSnapshotsResponse = unknown;
2548
- type DeleteOwnUserDto = {
2670
+ isOverdue: boolean;
2549
2671
  /**
2550
- * Access token for user verification
2672
+ * Rule information
2551
2673
  */
2552
- accessToken: string;
2553
- };
2554
- type SignupDto = {
2674
+ rule: ExpectedTransactionRuleDto;
2555
2675
  /**
2556
- * Cloudflare Turnstile verification token (optional when Turnstile disabled)
2676
+ * Created at timestamp
2557
2677
  */
2558
- turnstileToken?: string;
2559
- };
2560
- type SignupResponseDto = {
2678
+ createdAt: string;
2561
2679
  /**
2562
- * JWT auth token
2680
+ * Updated at timestamp
2563
2681
  */
2564
- authToken: string;
2682
+ updatedAt: string;
2683
+ };
2684
+ type ExpectedTransactionListResponseDto = {
2685
+ items: Array<ExpectedTransactionResponseDto>;
2565
2686
  /**
2566
- * Auto-generated access token
2687
+ * Total count
2567
2688
  */
2568
- accessToken: string;
2689
+ total: number;
2690
+ };
2691
+ type ConfirmMatchDto = {
2569
2692
  /**
2570
- * Assigned user role
2693
+ * Transaction ID to match with
2571
2694
  */
2572
- role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2695
+ transactionId: string;
2573
2696
  };
2574
- /**
2575
- * Assigned user role
2576
- */
2577
- type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2578
- type UpdateUserSettingDto = {
2697
+ type EnterNowDto = {
2579
2698
  /**
2580
- * Security ID
2699
+ * Override expense account (uses rule default if not provided)
2581
2700
  */
2582
- secId?: number;
2701
+ expenseAccount?: string;
2583
2702
  /**
2584
- * Annual interest rate
2703
+ * Override payment account (uses rule default if not provided)
2585
2704
  */
2586
- annualInterestRate?: number;
2705
+ paymentAccount?: string;
2587
2706
  /**
2588
- * Currency code
2707
+ * Override amount (uses expected amount if not provided)
2589
2708
  */
2590
- currency?: string;
2709
+ amount?: number;
2591
2710
  /**
2592
- * Base currency code
2711
+ * Override payee (uses rule default if not provided)
2593
2712
  */
2594
- baseCurrency?: string;
2713
+ payee?: string;
2595
2714
  /**
2596
- * Benchmark symbol
2715
+ * Optional narration
2597
2716
  */
2598
- benchmark?: string;
2717
+ narration?: string;
2718
+ };
2719
+ type ForecastItemDto = {
2599
2720
  /**
2600
- * Color scheme
2721
+ * Rule name
2601
2722
  */
2602
- colorScheme?: 'DARK' | 'LIGHT';
2723
+ rule: string;
2603
2724
  /**
2604
- * Date range filter
2725
+ * Rule ID
2605
2726
  */
2606
- dateRange?: string;
2727
+ ruleId: string;
2607
2728
  /**
2608
- * Emergency fund amount
2729
+ * Expected amount
2609
2730
  */
2610
- emergencyFund?: number;
2731
+ amount: number;
2611
2732
  /**
2612
- * Account filter IDs
2733
+ * Expected date (YYYY-MM-DD)
2613
2734
  */
2614
- 'filters.accounts'?: Array<string>;
2735
+ date: string;
2615
2736
  /**
2616
- * Asset class filters
2737
+ * Rule icon emoji
2617
2738
  */
2618
- 'filters.assetClasses'?: Array<string>;
2739
+ icon: string | null;
2619
2740
  /**
2620
- * Data source filter
2741
+ * Currency code
2621
2742
  */
2622
- 'filters.dataSource'?: string;
2743
+ currency: string;
2744
+ };
2745
+ type MonthlyForecastDto = {
2623
2746
  /**
2624
- * Symbol filter
2747
+ * Month (YYYY-MM)
2625
2748
  */
2626
- 'filters.symbol'?: string;
2749
+ month: string;
2627
2750
  /**
2628
- * Tag filters
2751
+ * Total expected outflow for the month
2629
2752
  */
2630
- 'filters.tags'?: Array<string>;
2753
+ expectedOutflow: number;
2631
2754
  /**
2632
- * Enable experimental features
2755
+ * Number of expected transactions
2633
2756
  */
2634
- isExperimentalFeatures?: boolean;
2757
+ itemCount: number;
2635
2758
  /**
2636
- * Enable restricted view mode
2759
+ * Breakdown by currency
2637
2760
  */
2638
- isRestrictedView?: boolean;
2761
+ byCurrency: {
2762
+ [key: string]: unknown;
2763
+ };
2639
2764
  /**
2640
- * Language code
2765
+ * Individual forecast items
2641
2766
  */
2642
- language?: string;
2767
+ items: Array<ForecastItemDto>;
2768
+ };
2769
+ type ForecastResponseDto = {
2643
2770
  /**
2644
- * Locale code
2771
+ * Monthly forecast data
2645
2772
  */
2646
- locale?: string;
2773
+ forecast: Array<MonthlyForecastDto>;
2647
2774
  /**
2648
- * Projected total amount
2775
+ * Total expected outflow across all months
2649
2776
  */
2650
- projectedTotalAmount?: number;
2777
+ totalOutflow: number;
2651
2778
  /**
2652
- * Retirement date in ISO 8601 format
2779
+ * Total by currency across all months
2653
2780
  */
2654
- retirementDate?: string;
2781
+ totalByCurrency: {
2782
+ [key: string]: unknown;
2783
+ };
2655
2784
  /**
2656
- * Savings rate percentage
2785
+ * Number of active recurring rules included
2657
2786
  */
2658
- savingsRate?: number;
2787
+ rulesCount: number;
2659
2788
  /**
2660
- * View mode
2789
+ * Forecast period start date
2661
2790
  */
2662
- viewMode?: 'DEFAULT' | 'ZEN';
2663
- };
2664
- /**
2665
- * Color scheme
2666
- */
2667
- type colorScheme = 'DARK' | 'LIGHT';
2668
- /**
2669
- * View mode
2670
- */
2671
- type viewMode = 'DEFAULT' | 'ZEN';
2672
- type UpdatePropertyDto = {
2791
+ periodStart: string;
2673
2792
  /**
2674
- * Property value
2793
+ * Forecast period end date
2675
2794
  */
2676
- value: string;
2795
+ periodEnd: string;
2677
2796
  };
2678
2797
  type CreateTransactionRuleDto = {
2679
2798
  name: string;
@@ -2977,14 +3096,14 @@ type UpdateTransactionRuleDto = {
2977
3096
  */
2978
3097
  amountMax?: number;
2979
3098
  priority?: number;
2980
- /**
2981
- * Enable or disable the rule
2982
- */
2983
- enabled?: boolean;
2984
3099
  additionalTags?: Array<unknown[]>;
2985
3100
  additionalMetadata?: {
2986
3101
  [key: string]: unknown;
2987
3102
  };
3103
+ /**
3104
+ * Enable or disable the rule
3105
+ */
3106
+ enabled?: boolean;
2988
3107
  };
2989
3108
  type TestRuleDto = {
2990
3109
  narration: string;
@@ -3013,6 +3132,42 @@ type TestRuleResponseDto = {
3013
3132
  [key: string]: unknown;
3014
3133
  };
3015
3134
  };
3135
+ type CategoryCatalogEntryDto = {
3136
+ /**
3137
+ * Category slug (single source-of-truth)
3138
+ */
3139
+ slug: string;
3140
+ /**
3141
+ * Display scenario group (maps to frontend picker _scenario)
3142
+ */
3143
+ scenario: 'expense' | 'income' | 'investment' | 'banking' | 'transfer' | 'payment';
3144
+ /**
3145
+ * Lucide icon name
3146
+ */
3147
+ icon: string;
3148
+ /**
3149
+ * Applicable regions ('*' = all, 'cn' = CN-only)
3150
+ */
3151
+ regions: Array<string>;
3152
+ };
3153
+ /**
3154
+ * Display scenario group (maps to frontend picker _scenario)
3155
+ */
3156
+ type scenario = 'expense' | 'income' | 'investment' | 'banking' | 'transfer' | 'payment';
3157
+ type CategoryCatalogListResponseDto = {
3158
+ /**
3159
+ * Category entries (region-scoped, query-filtered)
3160
+ */
3161
+ items: Array<CategoryCatalogEntryDto>;
3162
+ /**
3163
+ * Total category entries for the region (before query filtering)
3164
+ */
3165
+ total: number;
3166
+ /**
3167
+ * Region code
3168
+ */
3169
+ region: string;
3170
+ };
3016
3171
  type CreateBeanEventDto = {
3017
3172
  /**
3018
3173
  * Life event date (ISO 8601)
@@ -3497,13 +3652,13 @@ type ProviderSyncConfigDto = {
3497
3652
  */
3498
3653
  defaultCurrency: string;
3499
3654
  /**
3500
- * Default expense account for the second posting
3655
+ * Default expense account for the second posting. Omit when no real default exists; the pipeline routes to Review via the Uncategorized sentinel (#618).
3501
3656
  */
3502
- defaultExpenseAccount: string;
3657
+ defaultExpenseAccount?: string;
3503
3658
  /**
3504
- * Default income account for the second posting
3659
+ * Default income account for the second posting. Omit when no real default exists; the pipeline routes to Review via the Uncategorized sentinel (#618).
3505
3660
  */
3506
- defaultIncomeAccount: string;
3661
+ defaultIncomeAccount?: string;
3507
3662
  /**
3508
3663
  * Filter pending transactions
3509
3664
  */
@@ -3594,17 +3749,91 @@ type ExternalAccountLinkListResponseDto = {
3594
3749
  items: Array<ExternalAccountLinkResponseDto>;
3595
3750
  total: number;
3596
3751
  /**
3597
- * Filter by provider (query param)
3752
+ * Filter by provider (query param)
3753
+ */
3754
+ provider?: string;
3755
+ };
3756
+ type ParserTelemetryReportDto = unknown;
3757
+ type UncoveredFormatMissDto = unknown;
3758
+ type ClientParsedDataDto = {
3759
+ /**
3760
+ * Transaction amount
3761
+ */
3762
+ amount?: number;
3763
+ /**
3764
+ * Currency code
3765
+ */
3766
+ currency?: string;
3767
+ /**
3768
+ * Transaction date (ISO 8601)
3769
+ */
3770
+ date?: string;
3771
+ /**
3772
+ * Payee/merchant name
3773
+ */
3774
+ payee?: string;
3775
+ /**
3776
+ * Transaction narration
3777
+ */
3778
+ narration?: string;
3779
+ /**
3780
+ * Category slug
3781
+ */
3782
+ category?: string;
3783
+ /**
3784
+ * Income type
3785
+ */
3786
+ incomeType?: string;
3787
+ /**
3788
+ * Income source
3789
+ */
3790
+ incomeSource?: string;
3791
+ /**
3792
+ * Security symbol code (e.g., 600519, AAPL)
3793
+ */
3794
+ symbol?: string;
3795
+ /**
3796
+ * Quantity of shares/units
3797
+ */
3798
+ quantity?: number;
3799
+ /**
3800
+ * Unit price per share/unit
3801
+ */
3802
+ price?: number;
3803
+ /**
3804
+ * Investment action
3805
+ */
3806
+ investmentAction?: 'buy' | 'sell';
3807
+ /**
3808
+ * Payment source: asset (default) or liability (credit card)
3809
+ */
3810
+ paymentSource?: 'asset' | 'liability';
3811
+ /**
3812
+ * Liability account hint (CreditCard/Huabei/Baitiao)
3813
+ */
3814
+ liabilityHint?: string;
3815
+ /**
3816
+ * Display-only warning from the prior response; accepted but ignored.
3598
3817
  */
3599
- provider?: string;
3818
+ warning?: string;
3600
3819
  };
3601
- type ParserTelemetryReportDto = unknown;
3602
- type UncoveredFormatMissDto = unknown;
3820
+ /**
3821
+ * Investment action
3822
+ */
3823
+ type investmentAction = 'buy' | 'sell';
3824
+ /**
3825
+ * Payment source: asset (default) or liability (credit card)
3826
+ */
3827
+ type paymentSource = 'asset' | 'liability';
3603
3828
  type ProcessNlpDto = {
3604
3829
  /**
3605
- * Natural language text describing a transaction (Chinese)
3830
+ * Natural language text describing a transaction. Optional when `confirm` is true (structured confirm); otherwise required.
3831
+ */
3832
+ message?: string;
3833
+ /**
3834
+ * Structured confirm signal — bypasses NL confirm-word matching when true. Send parsedData field edits alongside. The NL word-list path is the fallback.
3606
3835
  */
3607
- message: string;
3836
+ confirm?: boolean;
3608
3837
  /**
3609
3838
  * Session ID for multi-turn conversation (auto-generated if not provided)
3610
3839
  */
@@ -3612,18 +3841,32 @@ type ProcessNlpDto = {
3612
3841
  /**
3613
3842
  * Parsed data from previous NLP response for session recovery. Send back the parsedData received in confirm_payee/confirm responses.
3614
3843
  */
3615
- parsedData?: {
3616
- [key: string]: unknown;
3617
- };
3844
+ parsedData?: ClientParsedDataDto;
3618
3845
  /**
3619
3846
  * confirm_rule echo-back: rule id selected from the prior confirm_rule response (matchedRule.id or alternatives[i].ruleId). Applied directly when the session is confirming_rule — no NL re-parse.
3620
3847
  */
3621
3848
  selectedRuleId?: string;
3622
3849
  /**
3623
- * confirm_account echo-back: account path selected from the prior confirm_account response (suggestedAccount, similarAccounts[i], or a typed path). Applied directly when the session is confirming_account — no NL re-parse.
3850
+ * confirm_account echo-back: account path selected from the prior confirm_account response (suggestedAccount, similarAccounts[i].path, or a typed path). Applied directly when the session is confirming_account — no NL re-parse.
3624
3851
  */
3625
3852
  selectedAccount?: string;
3853
+ /**
3854
+ * Viewpoint account hint: the beancount path the user drilled into (e.g. from an account drill-down). Tie-break only — never overrides accounts resolved from the text. Must be an owned, OPEN Assets:/Liabilities: account; unresolvable hints are silently ignored.
3855
+ */
3856
+ viewpointAccount?: string;
3857
+ /**
3858
+ * Viewpoint category hint: the ADR-0075 Group segment the user drilled into (e.g. 'Food'). Resolved to a concrete OPEN account in that group; tie-break only — never overrides a category resolved from the text.
3859
+ */
3860
+ viewpointCategory?: string;
3861
+ /**
3862
+ * Companion flow root for viewpointCategory ('income' | 'expense'), mirroring the ADR-0126 list-endpoint invariant. Derived from the session's routed intent (multi-turn) when absent; a first-turn flow-less category hint is dropped — send the flow explicitly.
3863
+ */
3864
+ viewpointFlow?: 'income' | 'expense';
3626
3865
  };
3866
+ /**
3867
+ * Companion flow root for viewpointCategory ('income' | 'expense'), mirroring the ADR-0126 list-endpoint invariant. Derived from the session's routed intent (multi-turn) when absent; a first-turn flow-less category hint is dropped — send the flow explicitly.
3868
+ */
3869
+ type viewpointFlow = 'income' | 'expense';
3627
3870
  type NlpTransactionInfoDto = {
3628
3871
  /**
3629
3872
  * Transaction ID
@@ -3716,14 +3959,6 @@ type NlpParsedDataDto = {
3716
3959
  */
3717
3960
  warning?: string;
3718
3961
  };
3719
- /**
3720
- * Investment action
3721
- */
3722
- type investmentAction = 'buy' | 'sell';
3723
- /**
3724
- * Payment source: asset (default) or liability (credit card)
3725
- */
3726
- type paymentSource = 'asset' | 'liability';
3727
3962
  type NlpSourceTransactionDto = {
3728
3963
  /**
3729
3964
  * Transaction date (ISO format)
@@ -3850,6 +4085,16 @@ type NlpRuleConfirmationDataDto = {
3850
4085
  */
3851
4086
  reasons: Array<string>;
3852
4087
  };
4088
+ type NlpAccountCandidateDto = {
4089
+ /**
4090
+ * Canonical beancount account path (echo back on selection)
4091
+ */
4092
+ path: string;
4093
+ /**
4094
+ * Localized display name (ADR-0114 read-time projection, user locale)
4095
+ */
4096
+ name: string;
4097
+ };
3853
4098
  type NlpAccountConfirmationDataDto = {
3854
4099
  /**
3855
4100
  * The invalid account name
@@ -3860,9 +4105,9 @@ type NlpAccountConfirmationDataDto = {
3860
4105
  */
3861
4106
  suggestedAccount?: string;
3862
4107
  /**
3863
- * Similar accounts for user selection
4108
+ * Similar accounts for user selection (path + localized name, #680)
3864
4109
  */
3865
- similarAccounts: Array<string>;
4110
+ similarAccounts: Array<NlpAccountCandidateDto>;
3866
4111
  /**
3867
4112
  * Error message explaining the issue
3868
4113
  */
@@ -4028,7 +4273,7 @@ type NlpResponseDto = {
4028
4273
  /**
4029
4274
  * Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
4030
4275
  */
4031
- assetSubType?: 'transfer' | 'banking' | 'investment';
4276
+ assetSubType?: 'transfer' | 'banking' | 'investment' | 'lend' | 'lend_collect';
4032
4277
  /**
4033
4278
  * Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
4034
4279
  */
@@ -4132,7 +4377,7 @@ type intent = 'expense' | 'asset' | 'income' | 'liability' | 'equity';
4132
4377
  /**
4133
4378
  * Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
4134
4379
  */
4135
- type assetSubType = 'transfer' | 'banking' | 'investment';
4380
+ type assetSubType = 'transfer' | 'banking' | 'investment' | 'lend' | 'lend_collect';
4136
4381
  /**
4137
4382
  * Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
4138
4383
  */
@@ -4163,13 +4408,21 @@ type PlatformListItemDto = {
4163
4408
  */
4164
4409
  canonical: string;
4165
4410
  /**
4166
- * Suggested path segment — canonical with first char uppercased (ACC_COMP_NAME_RE)
4411
+ * Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")
4167
4412
  */
4168
4413
  suggestedSegment: string;
4169
4414
  /**
4170
4415
  * Logo URL
4171
4416
  */
4172
4417
  logoUrl: string | null;
4418
+ /**
4419
+ * ISO 3166-1 alpha-2 (UPPERCASE); null = global platform
4420
+ */
4421
+ countryCode: string | null;
4422
+ /**
4423
+ * Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.
4424
+ */
4425
+ category: string | null;
4173
4426
  /**
4174
4427
  * Whether user has accounts using this platform
4175
4428
  */
@@ -4178,7 +4431,7 @@ type PlatformListItemDto = {
4178
4431
  /**
4179
4432
  * Platform type
4180
4433
  */
4181
- type type3 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4434
+ type type4 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4182
4435
  type PlatformMatchResultDto = {
4183
4436
  /**
4184
4437
  * Global platform ID
@@ -4197,13 +4450,21 @@ type PlatformMatchResultDto = {
4197
4450
  */
4198
4451
  type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4199
4452
  /**
4200
- * Suggested path segment — canonical, already in ACCOUNT_RE format
4453
+ * Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")
4201
4454
  */
4202
4455
  suggestedSegment: string;
4203
4456
  /**
4204
4457
  * Logo URL
4205
4458
  */
4206
4459
  logoUrl: string | null;
4460
+ /**
4461
+ * ISO 3166-1 alpha-2 (UPPERCASE); null = global platform
4462
+ */
4463
+ countryCode: string | null;
4464
+ /**
4465
+ * Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.
4466
+ */
4467
+ category: string | null;
4207
4468
  /**
4208
4469
  * How this row matched: 'exact' > 'prefix' > 'substring'
4209
4470
  */
@@ -4235,6 +4496,46 @@ type PlatformMatchResponseDto = {
4235
4496
  * Overall match quality — top row's tier, or 'none' when no hits
4236
4497
  */
4237
4498
  type matchType2 = 'none' | 'exact' | 'prefix' | 'substring';
4499
+ type PlatformStandardsPlatformDto = {
4500
+ /**
4501
+ * Global platform ID
4502
+ */
4503
+ id: string;
4504
+ /**
4505
+ * Platform name (e.g., "ICBC")
4506
+ */
4507
+ name: string;
4508
+ /**
4509
+ * Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
4510
+ */
4511
+ canonical: string;
4512
+ /**
4513
+ * Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")
4514
+ */
4515
+ suggestedSegment: string;
4516
+ /**
4517
+ * Platform type
4518
+ */
4519
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4520
+ /**
4521
+ * Region-aware category (institution vocab, e.g. DigitalWallet/Bank) resolved against the final region. null = no region-aware suggestion; fall back to type.
4522
+ */
4523
+ category: string | null;
4524
+ };
4525
+ type PlatformStandardsResponseDto = {
4526
+ /**
4527
+ * The selected platform (institution lock source)
4528
+ */
4529
+ platform: PlatformStandardsPlatformDto;
4530
+ /**
4531
+ * Resolved template region (ISO 3166-1 alpha-2, UPPERCASE): the platform's own countryCode when set, else the region query param. For regions without a regional template file the template list falls back to the universal-only catalog while region still echoes the code.
4532
+ */
4533
+ region: string;
4534
+ /**
4535
+ * Candidate account-standard templates of the resolved region (groupable by productCategory client-side)
4536
+ */
4537
+ templates: Array<AccountStandardResponseDto>;
4538
+ };
4238
4539
  type CreatePlatformDto = {
4239
4540
  /**
4240
4541
  * Platform name
@@ -4411,11 +4712,11 @@ type PlatformGroupDto = {
4411
4712
  */
4412
4713
  platformName: string;
4413
4714
  /**
4414
- * Accounts within this platform
4715
+ * Accounts within this platform (Assets and Liabilities rows, #696)
4415
4716
  */
4416
4717
  accounts: Array<AccountItemDto>;
4417
4718
  /**
4418
- * FX-converted total balance in base currency
4719
+ * FX-converted total balance in base currency (nets Assets + Liabilities rows; can be negative)
4419
4720
  */
4420
4721
  totalBalance: string;
4421
4722
  /**
@@ -4427,7 +4728,7 @@ type PlatformGroupDto = {
4427
4728
  */
4428
4729
  convertedBalance?: string;
4429
4730
  /**
4430
- * Share of the grand converted total (0-100); 0 when grand total is 0
4731
+ * Share of the converted asset-side grand total (0-100); liability balances are excluded from the basis; 0 when grand total is 0 (#696)
4431
4732
  */
4432
4733
  sharePct: number;
4433
4734
  };
@@ -4451,7 +4752,7 @@ type AccountExchangeRateWarningDto = {
4451
4752
  };
4452
4753
  type AccountsSummaryDto = {
4453
4754
  /**
4454
- * Total number of accounts
4755
+ * Total number of accounts (balance sheet: Assets + Liabilities, #696)
4455
4756
  */
4456
4757
  totalAccounts: number;
4457
4758
  /**
@@ -4549,10 +4850,6 @@ type AssetClassGroupDto = {
4549
4850
  */
4550
4851
  convertedBalance?: string;
4551
4852
  };
4552
- /**
4553
- * Asset class name
4554
- */
4555
- type assetClass = 'LIQUIDITY' | 'EQUITY' | 'FIXED_INCOME' | 'PRECIOUS_METALS' | 'COMMODITY' | 'INSURANCE' | 'ALTERNATIVE_INVESTMENT' | 'PERSONAL_ASSETS' | 'LIABILITY' | 'REAL_ESTATE' | 'INDEX';
4556
4853
  type AssetClassSummaryDto = {
4557
4854
  /**
4558
4855
  * Total number of accounts
@@ -4777,9 +5074,7 @@ type MonetaryDto = {
4777
5074
  /**
4778
5075
  * Converted to user base currency (Decimal string)
4779
5076
  */
4780
- baseCcyEquivalent?: {
4781
- [key: string]: unknown;
4782
- } | null;
5077
+ baseCcyEquivalent?: string | null;
4783
5078
  };
4784
5079
  type CurrentPriceDto = {
4785
5080
  /**
@@ -4827,15 +5122,11 @@ type HoldingPnlRowDto = {
4827
5122
  /**
4828
5123
  * Account settlement currency (ISO 4217), from cost currency
4829
5124
  */
4830
- accountCcy?: {
4831
- [key: string]: unknown;
4832
- } | null;
5125
+ accountCcy?: string | null;
4833
5126
  /**
4834
5127
  * Broker type derived from Platform.type
4835
5128
  */
4836
- brokerType?: {
4837
- [key: string]: unknown;
4838
- } | null;
5129
+ brokerType?: string | null;
4839
5130
  /**
4840
5131
  * Commodity symbol
4841
5132
  */
@@ -4845,9 +5136,7 @@ type HoldingPnlRowDto = {
4845
5136
  */
4846
5137
  chartToken: 'equity' | 'fund' | 'bond' | 'cash' | 'other';
4847
5138
  assetClass: string;
4848
- assetSubClass?: {
4849
- [key: string]: unknown;
4850
- } | null;
5139
+ assetSubClass?: string | null;
4851
5140
  /**
4852
5141
  * Net held units (Decimal string)
4853
5142
  */
@@ -4871,15 +5160,11 @@ type HoldingPnlRowDto = {
4871
5160
  /**
4872
5161
  * Unrealized P&L in base currency (Decimal string); null when any FX/price missing
4873
5162
  */
4874
- unrealizedPnlBase?: {
4875
- [key: string]: unknown;
4876
- } | null;
5163
+ unrealizedPnlBase?: string | null;
4877
5164
  /**
4878
5165
  * Unrealized P&L % (Decimal string)
4879
5166
  */
4880
- unrealizedPnlPct?: {
4881
- [key: string]: unknown;
4882
- } | null;
5167
+ unrealizedPnlPct?: string | null;
4883
5168
  /**
4884
5169
  * Historical FX rate applied to cost basis
4885
5170
  */
@@ -4891,9 +5176,7 @@ type HoldingPnlRowDto = {
4891
5176
  /**
4892
5177
  * Share of invested assets % (Decimal string); only for invested chartTokens
4893
5178
  */
4894
- pctOfInvestedAssets?: {
4895
- [key: string]: unknown;
4896
- } | null;
5179
+ pctOfInvestedAssets?: string | null;
4897
5180
  /**
4898
5181
  * Cumulative realized P&L on sold lots (asOf-date cutoff); null when the method has no applicable sells, a sell lacks a price, or any required FX rate is missing (never-mix). When a sell spans multiple currencies (cross-currency sale), amount and currency reflect the base currency; baseCcyEquivalent is always the authoritative dual-FX figure
4899
5182
  */
@@ -4908,20 +5191,14 @@ type HoldingPnlWarningDto = {
4908
5191
  * Warning type
4909
5192
  */
4910
5193
  type: 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
4911
- symbol?: {
4912
- [key: string]: unknown;
4913
- } | null;
4914
- accountId?: {
4915
- [key: string]: unknown;
4916
- } | null;
4917
- currency?: {
4918
- [key: string]: unknown;
4919
- } | null;
5194
+ symbol?: string | null;
5195
+ accountId?: string | null;
5196
+ currency?: string | null;
4920
5197
  };
4921
5198
  /**
4922
5199
  * Warning type
4923
5200
  */
4924
- type type4 = 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
5201
+ type type5 = 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
4925
5202
  type HoldingPnlResponseDto = {
4926
5203
  asOfDate: string;
4927
5204
  baseCurrency: string;
@@ -4948,137 +5225,168 @@ type AnonymousLoginResponseDto = {
4948
5225
  */
4949
5226
  authToken: string;
4950
5227
  };
5228
+ type ParserContributionMetaDto = {
5229
+ /**
5230
+ * Institution slug (lowercase kebab-case)
5231
+ */
5232
+ institution: string;
5233
+ region: 'cn' | 'us' | 'de' | 'fr' | 'gb' | 'hk' | 'jp' | 'sg' | 'au' | 'ca' | 'other';
5234
+ accountType: 'checking' | 'savings' | 'credit' | 'debit' | 'investment';
5235
+ format: 'csv' | 'xlsx' | 'pdf' | 'ofx' | 'qif';
5236
+ institutionDisplayName?: string;
5237
+ encoding?: string;
5238
+ /**
5239
+ * CSV delimiter character: ",", ";", "\t" or "|"
5240
+ */
5241
+ delimiter?: string;
5242
+ /**
5243
+ * Header row count; the client omits the field when it is 1
5244
+ */
5245
+ headerRows?: number;
5246
+ notes?: string;
5247
+ };
5248
+ type region = 'cn' | 'us' | 'de' | 'fr' | 'gb' | 'hk' | 'jp' | 'sg' | 'au' | 'ca' | 'other';
5249
+ type accountType = 'checking' | 'savings' | 'credit' | 'debit' | 'investment';
5250
+ type format = 'csv' | 'xlsx' | 'pdf' | 'ofx' | 'qif';
5251
+ type ParserContributionSamplesDto = {
5252
+ /**
5253
+ * Client-sanitized sample rows (key = column name, value = cell)
5254
+ */
5255
+ rows: Array<{
5256
+ [key: string]: unknown;
5257
+ }>;
5258
+ rawHeaders?: Array<string>;
5259
+ };
5260
+ type FieldHintDto = {
5261
+ columnName: string;
5262
+ /**
5263
+ * Date format, e.g. yyyy-MM-dd HH:mm
5264
+ */
5265
+ format?: string;
5266
+ signConvention?: 'negative-expense' | 'positive-expense' | 'separate-columns';
5267
+ creditColumn?: string;
5268
+ debitColumn?: string;
5269
+ };
5270
+ type signConvention = 'negative-expense' | 'positive-expense' | 'separate-columns';
5271
+ type ParserContributionFieldHintsDto = {
5272
+ date: FieldHintDto;
5273
+ amount: FieldHintDto;
5274
+ description?: FieldHintDto;
5275
+ balance?: FieldHintDto;
5276
+ payee?: FieldHintDto;
5277
+ reference?: FieldHintDto;
5278
+ category?: FieldHintDto;
5279
+ };
5280
+ type ExpectedTransactionDto = {
5281
+ date: string;
5282
+ amount: number;
5283
+ description: string;
5284
+ payee?: string;
5285
+ category?: string;
5286
+ };
5287
+ type ParserContributionExamplesDto = {
5288
+ expectedTransactions: Array<ExpectedTransactionDto>;
5289
+ };
5290
+ type ParserContributionRequestDto = {
5291
+ meta: ParserContributionMetaDto;
5292
+ samples: ParserContributionSamplesDto;
5293
+ fieldHints: ParserContributionFieldHintsDto;
5294
+ /**
5295
+ * Omitted entirely by the client when empty
5296
+ */
5297
+ examples?: ParserContributionExamplesDto;
5298
+ };
5299
+ type ParserContributionRelayResponseDto = {
5300
+ issueUrl: string;
5301
+ issueNumber: number;
5302
+ };
4951
5303
  type SymbolSearchResultDto = {
4952
5304
  symbol: string;
4953
- name?: {
4954
- [key: string]: unknown;
4955
- } | null;
4956
- exchange?: {
4957
- [key: string]: unknown;
4958
- } | null;
5305
+ name?: string | null;
5306
+ exchange?: string | null;
4959
5307
  /**
4960
5308
  * OpenBB asset_type (e.g. stock, etf)
4961
5309
  */
4962
- assetType?: {
4963
- [key: string]: unknown;
4964
- } | null;
5310
+ assetType?: string | null;
4965
5311
  /**
4966
5312
  * IGN asset class (region.types.ts ASSET_CLASSES)
4967
5313
  */
4968
- assetClass?: {
4969
- [key: string]: unknown;
4970
- } | null;
5314
+ assetClass?: string | null;
4971
5315
  /**
4972
5316
  * IGN asset sub-class (region.types.ts ASSET_SUB_CLASSES)
4973
5317
  */
4974
- assetSubClass?: {
4975
- [key: string]: unknown;
4976
- } | null;
5318
+ assetSubClass?: string | null;
4977
5319
  /**
4978
5320
  * Trading currency (extra_data or inferred from exchange)
4979
5321
  */
4980
- currency?: {
4981
- [key: string]: unknown;
4982
- } | null;
5322
+ currency?: string | null;
4983
5323
  };
4984
5324
  type SymbolQuoteDto = {
4985
5325
  symbol?: string;
4986
- name?: {
4987
- [key: string]: unknown;
4988
- } | null;
4989
- exchange?: {
4990
- [key: string]: unknown;
4991
- } | null;
5326
+ name?: string | null;
5327
+ exchange?: string | null;
4992
5328
  /**
4993
5329
  * OpenBB asset_type
4994
5330
  */
4995
- assetType?: {
4996
- [key: string]: unknown;
4997
- } | null;
5331
+ assetType?: string | null;
4998
5332
  /**
4999
5333
  * IGN asset class
5000
5334
  */
5001
- assetClass?: {
5002
- [key: string]: unknown;
5003
- } | null;
5335
+ assetClass?: string | null;
5004
5336
  /**
5005
5337
  * IGN asset sub-class
5006
5338
  */
5007
- assetSubClass?: {
5008
- [key: string]: unknown;
5009
- } | null;
5339
+ assetSubClass?: string | null;
5010
5340
  /**
5011
5341
  * Trading currency (extra_data or inferred from exchange)
5012
5342
  */
5013
- currency?: {
5014
- [key: string]: unknown;
5015
- } | null;
5343
+ currency?: string | null;
5016
5344
  /**
5017
5345
  * Latest price (Decimal string)
5018
5346
  */
5019
- price?: {
5020
- [key: string]: unknown;
5021
- } | null;
5347
+ price?: string | null;
5022
5348
  /**
5023
5349
  * Date the price was observed (ISO yyyy-MM-dd)
5024
5350
  */
5025
- priceDate?: {
5026
- [key: string]: unknown;
5027
- } | null;
5351
+ priceDate?: string | null;
5028
5352
  /**
5029
5353
  * Change vs previous close, in percentage points (1.7 == 1.7%). openbb stores change_percent as a normalized decimal; this exposes percentage points for frontend convenience.
5030
5354
  */
5031
- changePercent?: {
5032
- [key: string]: unknown;
5033
- } | null;
5355
+ changePercent?: number | null;
5034
5356
  /**
5035
5357
  * Previous close (Decimal string)
5036
5358
  */
5037
- prevClose?: {
5038
- [key: string]: unknown;
5039
- } | null;
5359
+ prevClose?: string | null;
5040
5360
  /**
5041
5361
  * Day open (Decimal string)
5042
5362
  */
5043
- open?: {
5044
- [key: string]: unknown;
5045
- } | null;
5363
+ open?: string | null;
5046
5364
  /**
5047
5365
  * Day high (Decimal string)
5048
5366
  */
5049
- high?: {
5050
- [key: string]: unknown;
5051
- } | null;
5367
+ high?: string | null;
5052
5368
  /**
5053
5369
  * Day low (Decimal string)
5054
5370
  */
5055
- low?: {
5056
- [key: string]: unknown;
5057
- } | null;
5371
+ low?: string | null;
5058
5372
  /**
5059
5373
  * Day volume (Decimal string)
5060
5374
  */
5061
- volume?: {
5062
- [key: string]: unknown;
5063
- } | null;
5375
+ volume?: string | null;
5064
5376
  /**
5065
5377
  * 52-week high (Decimal string)
5066
5378
  */
5067
- yearHigh?: {
5068
- [key: string]: unknown;
5069
- } | null;
5379
+ yearHigh?: string | null;
5070
5380
  /**
5071
5381
  * 52-week low (Decimal string)
5072
5382
  */
5073
- yearLow?: {
5074
- [key: string]: unknown;
5075
- } | null;
5383
+ yearLow?: string | null;
5076
5384
  };
5077
5385
  type AccountControllerCreateData = {
5078
5386
  /**
5079
5387
  * Region code for tenant context
5080
5388
  */
5081
- region: 'cn' | 'us' | 'de' | 'gb';
5389
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5082
5390
  requestBody: CreateAccountDto;
5083
5391
  };
5084
5392
  type AccountControllerCreateResponse = AccountResponseDto;
@@ -5098,7 +5406,7 @@ type AccountControllerFindAllData = {
5098
5406
  /**
5099
5407
  * Region code for tenant context
5100
5408
  */
5101
- region: 'cn' | 'us' | 'de' | 'gb';
5409
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5102
5410
  /**
5103
5411
  * Search term for account path
5104
5412
  */
@@ -5121,7 +5429,7 @@ type AccountControllerFindOneData = {
5121
5429
  /**
5122
5430
  * Region code for tenant context
5123
5431
  */
5124
- region: 'cn' | 'us' | 'de' | 'gb';
5432
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5125
5433
  };
5126
5434
  type AccountControllerFindOneResponse = AccountResponseDto;
5127
5435
  type AccountControllerUpdateData = {
@@ -5132,7 +5440,7 @@ type AccountControllerUpdateData = {
5132
5440
  /**
5133
5441
  * Region code for tenant context
5134
5442
  */
5135
- region: 'cn' | 'us' | 'de' | 'gb';
5443
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5136
5444
  requestBody: UpdateAccountDto;
5137
5445
  };
5138
5446
  type AccountControllerUpdateResponse = AccountResponseDto;
@@ -5144,7 +5452,7 @@ type AccountControllerDeleteData = {
5144
5452
  /**
5145
5453
  * Region code for tenant context
5146
5454
  */
5147
- region: 'cn' | 'us' | 'de' | 'gb';
5455
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5148
5456
  };
5149
5457
  type AccountControllerDeleteResponse = void;
5150
5458
  type AccountControllerCloseData = {
@@ -5155,7 +5463,7 @@ type AccountControllerCloseData = {
5155
5463
  /**
5156
5464
  * Region code for tenant context
5157
5465
  */
5158
- region: 'cn' | 'us' | 'de' | 'gb';
5466
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5159
5467
  requestBody: CloseAccountDto;
5160
5468
  };
5161
5469
  type AccountControllerCloseResponse = AccountResponseDto;
@@ -5167,7 +5475,7 @@ type AccountControllerReopenData = {
5167
5475
  /**
5168
5476
  * Region code for tenant context
5169
5477
  */
5170
- region: 'cn' | 'us' | 'de' | 'gb';
5478
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5171
5479
  requestBody: ReopenAccountDto;
5172
5480
  };
5173
5481
  type AccountControllerReopenResponse = AccountResponseDto;
@@ -5179,17 +5487,17 @@ type AccountControllerAddOpeningBalanceData = {
5179
5487
  /**
5180
5488
  * Region code for tenant context
5181
5489
  */
5182
- region: 'cn' | 'us' | 'de' | 'gb';
5490
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5183
5491
  requestBody: CreateOpeningBalanceDto;
5184
5492
  };
5185
5493
  type AccountControllerAddOpeningBalanceResponse = OpeningBalanceResultDto;
5186
5494
  type AccountStandardsControllerGetTemplatesData = {
5187
5495
  /**
5188
- * Region code (cn, us, de)
5496
+ * Region code (any ISO alpha-2; not-yet-open codes return the universal-only catalog)
5189
5497
  */
5190
- region: 'cn' | 'us' | 'de' | 'gb';
5498
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'ar' | 'at' | 'au' | 'az' | 'ba' | 'bb' | 'bd' | 'be' | 'bf' | 'bg' | 'bh' | 'bi' | 'bj' | 'bn' | 'bo' | 'br' | 'bs' | 'bt' | 'bw' | 'by' | 'bz' | 'ca' | 'cd' | 'cf' | 'cg' | 'ch' | 'ci' | 'cl' | 'cm' | 'cn' | 'co' | 'cr' | 'cu' | 'cv' | 'cy' | 'cz' | 'de' | 'dj' | 'dk' | 'dm' | 'do' | 'dz' | 'ec' | 'ee' | 'eg' | 'er' | 'es' | 'et' | 'fj' | 'fm' | 'fr' | 'ga' | 'gb' | 'gd' | 'ge' | 'gh' | 'gm' | 'gn' | 'gq' | 'gr' | 'gt' | 'gw' | 'gy' | 'hk' | 'hn' | 'hr' | 'ht' | 'hu' | 'id' | 'ie' | 'il' | 'in' | 'iq' | 'ir' | 'is' | 'it' | 'jm' | 'jo' | 'jp' | 'ke' | 'kg' | 'kh' | 'ki' | 'km' | 'kn' | 'kr' | 'kw' | 'kz' | 'la' | 'lb' | 'lc' | 'li' | 'lk' | 'lr' | 'ls' | 'lt' | 'lu' | 'lv' | 'ly' | 'ma' | 'mc' | 'md' | 'me' | 'mg' | 'mh' | 'mk' | 'ml' | 'mm' | 'mn' | 'mr' | 'mt' | 'mu' | 'mv' | 'mw' | 'mx' | 'mz' | 'na' | 'ne' | 'ng' | 'ni' | 'nl' | 'no' | 'np' | 'nr' | 'nz' | 'om' | 'pa' | 'pe' | 'pg' | 'ph' | 'pk' | 'pl' | 'ps' | 'pt' | 'pw' | 'py' | 'qa' | 'ro' | 'rs' | 'ru' | 'rw' | 'sa' | 'sb' | 'sc' | 'sd' | 'se' | 'sg' | 'sl' | 'sm' | 'sn' | 'so' | 'sr' | 'st' | 'sv' | 'sy' | 'sz' | 'td' | 'tg' | 'th' | 'tj' | 'tl' | 'tm' | 'tn' | 'to' | 'tr' | 'tt' | 'tv' | 'tw' | 'tz' | 'ua' | 'ug' | 'us' | 'uy' | 'uz' | 'va' | 'vc' | 've' | 'vn' | 'vu' | 'ws' | 'ye' | 'za' | 'zm' | 'zw';
5191
5499
  /**
5192
- * Search term for path or description
5500
+ * Search term for path, description, aliases, or localized display name
5193
5501
  */
5194
5502
  search?: string;
5195
5503
  /**
@@ -5204,23 +5512,23 @@ type AccountStandardsControllerGetTemplateMetadataData = {
5204
5512
  */
5205
5513
  path: string;
5206
5514
  /**
5207
- * Region code for tenant context
5515
+ * Region code for tenant context. Not-yet-open codes degrade to the universal-only catalog (#759)
5208
5516
  */
5209
- region: 'cn' | 'us' | 'de' | 'gb';
5517
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'ar' | 'at' | 'au' | 'az' | 'ba' | 'bb' | 'bd' | 'be' | 'bf' | 'bg' | 'bh' | 'bi' | 'bj' | 'bn' | 'bo' | 'br' | 'bs' | 'bt' | 'bw' | 'by' | 'bz' | 'ca' | 'cd' | 'cf' | 'cg' | 'ch' | 'ci' | 'cl' | 'cm' | 'cn' | 'co' | 'cr' | 'cu' | 'cv' | 'cy' | 'cz' | 'de' | 'dj' | 'dk' | 'dm' | 'do' | 'dz' | 'ec' | 'ee' | 'eg' | 'er' | 'es' | 'et' | 'fj' | 'fm' | 'fr' | 'ga' | 'gb' | 'gd' | 'ge' | 'gh' | 'gm' | 'gn' | 'gq' | 'gr' | 'gt' | 'gw' | 'gy' | 'hk' | 'hn' | 'hr' | 'ht' | 'hu' | 'id' | 'ie' | 'il' | 'in' | 'iq' | 'ir' | 'is' | 'it' | 'jm' | 'jo' | 'jp' | 'ke' | 'kg' | 'kh' | 'ki' | 'km' | 'kn' | 'kr' | 'kw' | 'kz' | 'la' | 'lb' | 'lc' | 'li' | 'lk' | 'lr' | 'ls' | 'lt' | 'lu' | 'lv' | 'ly' | 'ma' | 'mc' | 'md' | 'me' | 'mg' | 'mh' | 'mk' | 'ml' | 'mm' | 'mn' | 'mr' | 'mt' | 'mu' | 'mv' | 'mw' | 'mx' | 'mz' | 'na' | 'ne' | 'ng' | 'ni' | 'nl' | 'no' | 'np' | 'nr' | 'nz' | 'om' | 'pa' | 'pe' | 'pg' | 'ph' | 'pk' | 'pl' | 'ps' | 'pt' | 'pw' | 'py' | 'qa' | 'ro' | 'rs' | 'ru' | 'rw' | 'sa' | 'sb' | 'sc' | 'sd' | 'se' | 'sg' | 'sl' | 'sm' | 'sn' | 'so' | 'sr' | 'st' | 'sv' | 'sy' | 'sz' | 'td' | 'tg' | 'th' | 'tj' | 'tl' | 'tm' | 'tn' | 'to' | 'tr' | 'tt' | 'tv' | 'tw' | 'tz' | 'ua' | 'ug' | 'us' | 'uy' | 'uz' | 'va' | 'vc' | 've' | 'vn' | 'vu' | 'ws' | 'ye' | 'za' | 'zm' | 'zw';
5210
5518
  };
5211
5519
  type AccountStandardsControllerGetTemplateMetadataResponse = TemplateMetadataResponseDto;
5212
5520
  type AccountStandardsControllerGetRegionsData = {
5213
5521
  /**
5214
- * Region code for tenant context
5522
+ * Region code for tenant context. Not-yet-open codes degrade to the universal-only catalog (#759)
5215
5523
  */
5216
- region: 'cn' | 'us' | 'de' | 'gb';
5524
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'ar' | 'at' | 'au' | 'az' | 'ba' | 'bb' | 'bd' | 'be' | 'bf' | 'bg' | 'bh' | 'bi' | 'bj' | 'bn' | 'bo' | 'br' | 'bs' | 'bt' | 'bw' | 'by' | 'bz' | 'ca' | 'cd' | 'cf' | 'cg' | 'ch' | 'ci' | 'cl' | 'cm' | 'cn' | 'co' | 'cr' | 'cu' | 'cv' | 'cy' | 'cz' | 'de' | 'dj' | 'dk' | 'dm' | 'do' | 'dz' | 'ec' | 'ee' | 'eg' | 'er' | 'es' | 'et' | 'fj' | 'fm' | 'fr' | 'ga' | 'gb' | 'gd' | 'ge' | 'gh' | 'gm' | 'gn' | 'gq' | 'gr' | 'gt' | 'gw' | 'gy' | 'hk' | 'hn' | 'hr' | 'ht' | 'hu' | 'id' | 'ie' | 'il' | 'in' | 'iq' | 'ir' | 'is' | 'it' | 'jm' | 'jo' | 'jp' | 'ke' | 'kg' | 'kh' | 'ki' | 'km' | 'kn' | 'kr' | 'kw' | 'kz' | 'la' | 'lb' | 'lc' | 'li' | 'lk' | 'lr' | 'ls' | 'lt' | 'lu' | 'lv' | 'ly' | 'ma' | 'mc' | 'md' | 'me' | 'mg' | 'mh' | 'mk' | 'ml' | 'mm' | 'mn' | 'mr' | 'mt' | 'mu' | 'mv' | 'mw' | 'mx' | 'mz' | 'na' | 'ne' | 'ng' | 'ni' | 'nl' | 'no' | 'np' | 'nr' | 'nz' | 'om' | 'pa' | 'pe' | 'pg' | 'ph' | 'pk' | 'pl' | 'ps' | 'pt' | 'pw' | 'py' | 'qa' | 'ro' | 'rs' | 'ru' | 'rw' | 'sa' | 'sb' | 'sc' | 'sd' | 'se' | 'sg' | 'sl' | 'sm' | 'sn' | 'so' | 'sr' | 'st' | 'sv' | 'sy' | 'sz' | 'td' | 'tg' | 'th' | 'tj' | 'tl' | 'tm' | 'tn' | 'to' | 'tr' | 'tt' | 'tv' | 'tw' | 'tz' | 'ua' | 'ug' | 'us' | 'uy' | 'uz' | 'va' | 'vc' | 've' | 'vn' | 'vu' | 'ws' | 'ye' | 'za' | 'zm' | 'zw';
5217
5525
  };
5218
5526
  type AccountStandardsControllerGetRegionsResponse = RegionsMetadataResponseDto;
5219
5527
  type TransactionControllerCreateData = {
5220
5528
  /**
5221
5529
  * Region code for tenant context
5222
5530
  */
5223
- region: 'cn' | 'us' | 'de' | 'gb';
5531
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5224
5532
  /**
5225
5533
  * Transaction data with postings
5226
5534
  */
@@ -5233,7 +5541,7 @@ type TransactionControllerListData = {
5233
5541
  */
5234
5542
  accountId?: string;
5235
5543
  /**
5236
- * Filter by ADR-0075 functional category (Group segment); matches any posting to an Expenses/Income account whose derived Group segment equals this value
5544
+ * Filter by ADR-0075 functional category (Group segment); matches any posting to an account whose derived Group segment equals this value. Must be accompanied by flow (ADR-0126).
5237
5545
  */
5238
5546
  category?: string;
5239
5547
  /**
@@ -5244,6 +5552,10 @@ type TransactionControllerListData = {
5244
5552
  * Filter by end date (inclusive), format: YYYY-MM-DD
5245
5553
  */
5246
5554
  dateTo?: string;
5555
+ /**
5556
+ * Required when category is present (400 otherwise) and vice versa (ADR-0126). Restricts the category account set to the flow root (income → Income:, expense → Expenses:) and drives the per-leg sign normalization of row viewpointAmount and the summary. OpenAPI cannot express conditional requiredness — the pairing is enforced at runtime.
5557
+ */
5558
+ flow?: 'income' | 'expense';
5247
5559
  /**
5248
5560
  * Number of items per page (1-100, default: 20)
5249
5561
  */
@@ -5255,22 +5567,22 @@ type TransactionControllerListData = {
5255
5567
  /**
5256
5568
  * Region code for tenant context
5257
5569
  */
5258
- region: 'cn' | 'us' | 'de' | 'gb';
5570
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5259
5571
  /**
5260
5572
  * Search in narration and payee fields (max 200 chars)
5261
5573
  */
5262
5574
  search?: string;
5263
5575
  /**
5264
- * Filter by transaction status
5576
+ * Filter by transaction status: single value, comma-separated multi-value (e.g. VOIDED,SUPERSEDED), or ALL to include audit rows. Defaults to ACTIVE-only (ADR-0128; previously unfiltered — breaking change).
5265
5577
  */
5266
- status?: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
5578
+ status?: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED' | 'ALL';
5267
5579
  };
5268
5580
  type TransactionControllerListResponse = TransactionListResponseDto;
5269
5581
  type TransactionControllerCreateBatchData = {
5270
5582
  /**
5271
5583
  * Region code for tenant context
5272
5584
  */
5273
- region: 'cn' | 'us' | 'de' | 'gb';
5585
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5274
5586
  requestBody: BatchCreateTransactionDto;
5275
5587
  };
5276
5588
  type TransactionControllerCreateBatchResponse = BatchTransactionResponseDto;
@@ -5282,7 +5594,7 @@ type TransactionControllerCorrectData = {
5282
5594
  /**
5283
5595
  * Region code for tenant context
5284
5596
  */
5285
- region: 'cn' | 'us' | 'de' | 'gb';
5597
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5286
5598
  requestBody: CorrectTransactionDto;
5287
5599
  };
5288
5600
  type TransactionControllerCorrectResponse = TransactionDetailDto;
@@ -5298,7 +5610,7 @@ type TransactionControllerSuggestTagsData = {
5298
5610
  /**
5299
5611
  * Region code for tenant context
5300
5612
  */
5301
- region: 'cn' | 'us' | 'de' | 'gb';
5613
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5302
5614
  /**
5303
5615
  * usage (default) or name
5304
5616
  */
@@ -5313,7 +5625,7 @@ type TransactionControllerGetDetailData = {
5313
5625
  /**
5314
5626
  * Region code for tenant context
5315
5627
  */
5316
- region: 'cn' | 'us' | 'de' | 'gb';
5628
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5317
5629
  };
5318
5630
  type TransactionControllerGetDetailResponse = TransactionDetailDto;
5319
5631
  type TransactionControllerUpdateData = {
@@ -5324,7 +5636,7 @@ type TransactionControllerUpdateData = {
5324
5636
  /**
5325
5637
  * Region code for tenant context
5326
5638
  */
5327
- region: 'cn' | 'us' | 'de' | 'gb';
5639
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5328
5640
  /**
5329
5641
  * Fields to update (all optional)
5330
5642
  */
@@ -5339,7 +5651,7 @@ type TransactionControllerDeleteData = {
5339
5651
  /**
5340
5652
  * Region code for tenant context
5341
5653
  */
5342
- region: 'cn' | 'us' | 'de' | 'gb';
5654
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5343
5655
  };
5344
5656
  type TransactionControllerDeleteResponse = void;
5345
5657
  type BalanceControllerGetBalanceData = {
@@ -5358,14 +5670,14 @@ type BalanceControllerGetBalanceData = {
5358
5670
  /**
5359
5671
  * Region code for tenant context
5360
5672
  */
5361
- region: 'cn' | 'us' | 'de' | 'gb';
5673
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5362
5674
  };
5363
5675
  type BalanceControllerGetBalanceResponse = BalanceResponseDto;
5364
5676
  type BalanceControllerGetMultiCurrencyBalanceData = {
5365
5677
  /**
5366
5678
  * Region code for tenant context
5367
5679
  */
5368
- region: 'cn' | 'us' | 'de' | 'gb';
5680
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5369
5681
  };
5370
5682
  type BalanceControllerGetMultiCurrencyBalanceResponse = MultiCurrencyBalanceResponseDto;
5371
5683
  type ReviewControllerFindAllData = {
@@ -5384,7 +5696,7 @@ type ReviewControllerFindAllData = {
5384
5696
  /**
5385
5697
  * Region code for tenant context
5386
5698
  */
5387
- region: 'cn' | 'us' | 'de' | 'gb';
5699
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5388
5700
  /**
5389
5701
  * Sort order
5390
5702
  */
@@ -5399,7 +5711,7 @@ type ReviewControllerGetStatsData = {
5399
5711
  /**
5400
5712
  * Region code for tenant context
5401
5713
  */
5402
- region: 'cn' | 'us' | 'de' | 'gb';
5714
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5403
5715
  };
5404
5716
  type ReviewControllerGetStatsResponse = ReviewStatsDto;
5405
5717
  type ReviewControllerFindOneData = {
@@ -5410,7 +5722,7 @@ type ReviewControllerFindOneData = {
5410
5722
  /**
5411
5723
  * Region code for tenant context
5412
5724
  */
5413
- region: 'cn' | 'us' | 'de' | 'gb';
5725
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5414
5726
  };
5415
5727
  type ReviewControllerFindOneResponse = ReviewDetailDto;
5416
5728
  type ReviewControllerResolveData = {
@@ -5421,7 +5733,7 @@ type ReviewControllerResolveData = {
5421
5733
  /**
5422
5734
  * Region code for tenant context
5423
5735
  */
5424
- region: 'cn' | 'us' | 'de' | 'gb';
5736
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5425
5737
  requestBody: ResolveReviewDto;
5426
5738
  };
5427
5739
  type ReviewControllerResolveResponse = ResolveResultDto;
@@ -5433,14 +5745,14 @@ type ReviewControllerUndoData = {
5433
5745
  /**
5434
5746
  * Region code for tenant context
5435
5747
  */
5436
- region: 'cn' | 'us' | 'de' | 'gb';
5748
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5437
5749
  };
5438
5750
  type ReviewControllerUndoResponse = UndoResultDto;
5439
5751
  type ReviewControllerBatchResolveData = {
5440
5752
  /**
5441
5753
  * Region code for tenant context
5442
5754
  */
5443
- region: 'cn' | 'us' | 'de' | 'gb';
5755
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5444
5756
  /**
5445
5757
  * Batch resolution request containing review IDs and action
5446
5758
  */
@@ -5580,12 +5892,12 @@ type PayeeProfileAdminControllerUnverifyData = {
5580
5892
  */
5581
5893
  id: string;
5582
5894
  };
5583
- type PayeeProfileAdminControllerUnverifyResponse = PayeeProfileResponseDto;
5895
+ type PayeeProfileAdminControllerUnverifyResponse = void;
5584
5896
  type CommodityControllerCreateData = {
5585
5897
  /**
5586
5898
  * Region code for tenant context
5587
5899
  */
5588
- region: 'cn' | 'us' | 'de' | 'gb';
5900
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5589
5901
  requestBody: CreateCommodityDto;
5590
5902
  };
5591
5903
  type CommodityControllerCreateResponse = CommodityResponseDto;
@@ -5593,7 +5905,7 @@ type CommodityControllerFindAllData = {
5593
5905
  /**
5594
5906
  * Region code for tenant context
5595
5907
  */
5596
- region: 'cn' | 'us' | 'de' | 'gb';
5908
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5597
5909
  /**
5598
5910
  * Search term for symbol or metadata fields (partial match). Searches symbol and metadata.name.
5599
5911
  */
@@ -5608,7 +5920,7 @@ type CommodityControllerFindOneData = {
5608
5920
  /**
5609
5921
  * Region code for tenant context
5610
5922
  */
5611
- region: 'cn' | 'us' | 'de' | 'gb';
5923
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5612
5924
  /**
5613
5925
  * Commodity symbol
5614
5926
  */
@@ -5619,7 +5931,7 @@ type CommodityControllerUpdateData = {
5619
5931
  /**
5620
5932
  * Region code for tenant context
5621
5933
  */
5622
- region: 'cn' | 'us' | 'de' | 'gb';
5934
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5623
5935
  requestBody: UpdateCommodityDto;
5624
5936
  /**
5625
5937
  * Commodity symbol
@@ -5631,7 +5943,7 @@ type CommodityControllerDeleteData = {
5631
5943
  /**
5632
5944
  * Region code for tenant context
5633
5945
  */
5634
- region: 'cn' | 'us' | 'de' | 'gb';
5946
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5635
5947
  /**
5636
5948
  * Commodity symbol
5637
5949
  */
@@ -5642,7 +5954,7 @@ type CommodityControllerGetOrCreateData = {
5642
5954
  /**
5643
5955
  * Region code for tenant context
5644
5956
  */
5645
- region: 'cn' | 'us' | 'de' | 'gb';
5957
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5646
5958
  /**
5647
5959
  * Commodity symbol
5648
5960
  */
@@ -5653,14 +5965,63 @@ type CommodityControllerBulkCreateData = {
5653
5965
  /**
5654
5966
  * Region code for tenant context
5655
5967
  */
5656
- region: 'cn' | 'us' | 'de' | 'gb';
5968
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5657
5969
  };
5658
5970
  type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
5971
+ type ReportingControllerGetPortfolioTrendsData = {
5972
+ /**
5973
+ * Data granularity
5974
+ */
5975
+ granularity?: 'day' | 'week' | 'month';
5976
+ /**
5977
+ * Time period
5978
+ */
5979
+ period?: '1m' | '3m' | '6m' | '1y';
5980
+ /**
5981
+ * Region code for tenant context
5982
+ */
5983
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5984
+ };
5985
+ type ReportingControllerGetPortfolioTrendsResponse = PortfolioTrendsResponseDto;
5986
+ type ReportingControllerGetCashFlowTrendsData = {
5987
+ /**
5988
+ * Data granularity (accepted for API symmetry; v1 returns month buckets)
5989
+ */
5990
+ granularity?: 'day' | 'week' | 'month';
5991
+ /**
5992
+ * Time period
5993
+ */
5994
+ period?: '1m' | '3m' | '6m' | '1y';
5995
+ /**
5996
+ * Region code for tenant context
5997
+ */
5998
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5999
+ };
6000
+ type ReportingControllerGetCashFlowTrendsResponse = CashFlowTrendsResponseDto;
6001
+ type ReportingControllerGenerateSnapshotData = {
6002
+ /**
6003
+ * Region code for tenant context
6004
+ */
6005
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6006
+ /**
6007
+ * Optional date (defaults to today)
6008
+ */
6009
+ requestBody: GenerateSnapshotBody;
6010
+ };
6011
+ type ReportingControllerGenerateSnapshotResponse = GenerateSnapshotResponse;
6012
+ type ReportingControllerBackfillSnapshotsData = {
6013
+ /**
6014
+ * Region code for tenant context
6015
+ */
6016
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6017
+ requestBody: BackfillSnapshotsBody;
6018
+ };
6019
+ type ReportingControllerBackfillSnapshotsResponse = BackfillSnapshotsResponse;
5659
6020
  type PriceControllerCreateData = {
5660
6021
  /**
5661
6022
  * Region code for tenant context
5662
6023
  */
5663
- region: 'cn' | 'us' | 'de' | 'gb';
6024
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5664
6025
  requestBody: CreateBeanPriceDto;
5665
6026
  };
5666
6027
  type PriceControllerCreateResponse = PriceResponseDto;
@@ -5692,7 +6053,7 @@ type PriceControllerFindAllData = {
5692
6053
  /**
5693
6054
  * Region code for tenant context
5694
6055
  */
5695
- region: 'cn' | 'us' | 'de' | 'gb';
6056
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5696
6057
  /**
5697
6058
  * Search term for currency or quoteCurrency (case-insensitive partial match)
5698
6059
  */
@@ -5707,7 +6068,7 @@ type PriceControllerFindOneData = {
5707
6068
  /**
5708
6069
  * Region code for tenant context
5709
6070
  */
5710
- region: 'cn' | 'us' | 'de' | 'gb';
6071
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5711
6072
  };
5712
6073
  type PriceControllerFindOneResponse = PriceResponseDto;
5713
6074
  type PriceControllerUpdateData = {
@@ -5718,7 +6079,7 @@ type PriceControllerUpdateData = {
5718
6079
  /**
5719
6080
  * Region code for tenant context
5720
6081
  */
5721
- region: 'cn' | 'us' | 'de' | 'gb';
6082
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5722
6083
  requestBody: UpdateBeanPriceDto;
5723
6084
  };
5724
6085
  type PriceControllerUpdateResponse = PriceResponseDto;
@@ -5730,22 +6091,87 @@ type PriceControllerDeleteData = {
5730
6091
  /**
5731
6092
  * Region code for tenant context
5732
6093
  */
5733
- region: 'cn' | 'us' | 'de' | 'gb';
6094
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5734
6095
  };
5735
6096
  type PriceControllerDeleteResponse = void;
5736
6097
  type PriceControllerBulkCreateData = {
5737
6098
  /**
5738
6099
  * Region code for tenant context
5739
6100
  */
5740
- region: 'cn' | 'us' | 'de' | 'gb';
6101
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5741
6102
  requestBody: Array<string>;
5742
6103
  };
5743
6104
  type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
6105
+ type UserControllerDeleteOwnUserData = {
6106
+ requestBody: DeleteOwnUserDto;
6107
+ };
6108
+ type UserControllerDeleteOwnUserResponse = void;
6109
+ type UserControllerGetUserData = {
6110
+ acceptLanguage: string;
6111
+ };
6112
+ type UserControllerGetUserResponse = UserResponseDto;
6113
+ type UserControllerSignupUserData = {
6114
+ requestBody: SignupDto;
6115
+ };
6116
+ type UserControllerSignupUserResponse = SignupResponseDto;
6117
+ type UserControllerDeleteUserData = {
6118
+ /**
6119
+ * User ID to delete
6120
+ */
6121
+ id: string;
6122
+ };
6123
+ type UserControllerDeleteUserResponse = void;
6124
+ type UserControllerGetUserInfoData = {
6125
+ /**
6126
+ * User ID
6127
+ */
6128
+ id: string;
6129
+ };
6130
+ type UserControllerGetUserInfoResponse = unknown;
6131
+ type UserControllerUpdateUserSettingData = {
6132
+ requestBody: UpdateUserSettingDto;
6133
+ };
6134
+ type UserControllerUpdateUserSettingResponse = unknown;
6135
+ type UserControllerGetAllUserSettingsByPageData = {
6136
+ /**
6137
+ * Page number
6138
+ */
6139
+ pageNo: number;
6140
+ /**
6141
+ * Page size
6142
+ */
6143
+ pageSize: number;
6144
+ };
6145
+ type UserControllerGetAllUserSettingsByPageResponse = unknown;
6146
+ type UserControllerGetAssetLiabilitySummaryResponse = unknown;
6147
+ type PropertyControllerGetAllResponse = unknown;
6148
+ type PropertyControllerGetByKeyData = {
6149
+ /**
6150
+ * Property key
6151
+ */
6152
+ key: string;
6153
+ };
6154
+ type PropertyControllerGetByKeyResponse = unknown;
6155
+ type PropertyControllerUpdateData = {
6156
+ /**
6157
+ * Property key
6158
+ */
6159
+ key: string;
6160
+ requestBody: UpdatePropertyDto;
6161
+ };
6162
+ type PropertyControllerUpdateResponse = unknown;
6163
+ type PropertyControllerDeleteData = {
6164
+ /**
6165
+ * Property key
6166
+ */
6167
+ key: string;
6168
+ };
6169
+ type PropertyControllerDeleteResponse = void;
5744
6170
  type RecurringRuleControllerCreateData = {
5745
6171
  /**
5746
6172
  * Region code for tenant context
5747
6173
  */
5748
- region: 'cn' | 'us' | 'de' | 'gb';
6174
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5749
6175
  requestBody: CreateRecurringRuleDto;
5750
6176
  };
5751
6177
  type RecurringRuleControllerCreateResponse = RecurringRuleResponseDto;
@@ -5765,14 +6191,14 @@ type RecurringRuleControllerFindAllData = {
5765
6191
  /**
5766
6192
  * Region code for tenant context
5767
6193
  */
5768
- region: 'cn' | 'us' | 'de' | 'gb';
6194
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5769
6195
  };
5770
6196
  type RecurringRuleControllerFindAllResponse = Array<RecurringRuleResponseDto>;
5771
6197
  type RecurringRuleControllerCreateFromTransactionData = {
5772
6198
  /**
5773
6199
  * Region code for tenant context
5774
6200
  */
5775
- region: 'cn' | 'us' | 'de' | 'gb';
6201
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5776
6202
  requestBody: CreateRuleFromTransactionDto;
5777
6203
  /**
5778
6204
  * Source transaction ID
@@ -5788,7 +6214,7 @@ type RecurringRuleControllerFindOneData = {
5788
6214
  /**
5789
6215
  * Region code for tenant context
5790
6216
  */
5791
- region: 'cn' | 'us' | 'de' | 'gb';
6217
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5792
6218
  };
5793
6219
  type RecurringRuleControllerFindOneResponse = RecurringRuleResponseDto;
5794
6220
  type RecurringRuleControllerUpdateData = {
@@ -5799,7 +6225,7 @@ type RecurringRuleControllerUpdateData = {
5799
6225
  /**
5800
6226
  * Region code for tenant context
5801
6227
  */
5802
- region: 'cn' | 'us' | 'de' | 'gb';
6228
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5803
6229
  requestBody: UpdateRecurringRuleDto;
5804
6230
  };
5805
6231
  type RecurringRuleControllerUpdateResponse = RecurringRuleResponseDto;
@@ -5811,7 +6237,7 @@ type RecurringRuleControllerDeleteData = {
5811
6237
  /**
5812
6238
  * Region code for tenant context
5813
6239
  */
5814
- region: 'cn' | 'us' | 'de' | 'gb';
6240
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5815
6241
  };
5816
6242
  type RecurringRuleControllerDeleteResponse = void;
5817
6243
  type RecurringRuleControllerGetWithStatsData = {
@@ -5822,7 +6248,7 @@ type RecurringRuleControllerGetWithStatsData = {
5822
6248
  /**
5823
6249
  * Region code for tenant context
5824
6250
  */
5825
- region: 'cn' | 'us' | 'de' | 'gb';
6251
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5826
6252
  };
5827
6253
  type RecurringRuleControllerGetWithStatsResponse = RecurringRuleWithStatsResponseDto;
5828
6254
  type ExpectedTransactionControllerFindAllData = {
@@ -5833,7 +6259,7 @@ type ExpectedTransactionControllerFindAllData = {
5833
6259
  /**
5834
6260
  * Region code for tenant context
5835
6261
  */
5836
- region: 'cn' | 'us' | 'de' | 'gb';
6262
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5837
6263
  /**
5838
6264
  * Filter by recurring rule ID
5839
6265
  */
@@ -5852,7 +6278,7 @@ type ExpectedTransactionControllerFindOverdueData = {
5852
6278
  /**
5853
6279
  * Region code for tenant context
5854
6280
  */
5855
- region: 'cn' | 'us' | 'de' | 'gb';
6281
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5856
6282
  };
5857
6283
  type ExpectedTransactionControllerFindOverdueResponse = ExpectedTransactionListResponseDto;
5858
6284
  type ExpectedTransactionControllerFindOneData = {
@@ -5863,7 +6289,7 @@ type ExpectedTransactionControllerFindOneData = {
5863
6289
  /**
5864
6290
  * Region code for tenant context
5865
6291
  */
5866
- region: 'cn' | 'us' | 'de' | 'gb';
6292
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5867
6293
  };
5868
6294
  type ExpectedTransactionControllerFindOneResponse = ExpectedTransactionResponseDto;
5869
6295
  type ExpectedTransactionControllerSkipData = {
@@ -5874,7 +6300,7 @@ type ExpectedTransactionControllerSkipData = {
5874
6300
  /**
5875
6301
  * Region code for tenant context
5876
6302
  */
5877
- region: 'cn' | 'us' | 'de' | 'gb';
6303
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5878
6304
  };
5879
6305
  type ExpectedTransactionControllerSkipResponse = ExpectedTransactionResponseDto;
5880
6306
  type ExpectedTransactionControllerUndoSkipData = {
@@ -5885,9 +6311,9 @@ type ExpectedTransactionControllerUndoSkipData = {
5885
6311
  /**
5886
6312
  * Region code for tenant context
5887
6313
  */
5888
- region: 'cn' | 'us' | 'de' | 'gb';
6314
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5889
6315
  };
5890
- type ExpectedTransactionControllerUndoSkipResponse = ExpectedTransactionResponseDto;
6316
+ type ExpectedTransactionControllerUndoSkipResponse = void;
5891
6317
  type ExpectedTransactionControllerConfirmMatchData = {
5892
6318
  /**
5893
6319
  * Expected transaction ID
@@ -5896,7 +6322,7 @@ type ExpectedTransactionControllerConfirmMatchData = {
5896
6322
  /**
5897
6323
  * Region code for tenant context
5898
6324
  */
5899
- region: 'cn' | 'us' | 'de' | 'gb';
6325
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5900
6326
  requestBody: ConfirmMatchDto;
5901
6327
  };
5902
6328
  type ExpectedTransactionControllerConfirmMatchResponse = unknown;
@@ -5908,9 +6334,9 @@ type ExpectedTransactionControllerUnmatchData = {
5908
6334
  /**
5909
6335
  * Region code for tenant context
5910
6336
  */
5911
- region: 'cn' | 'us' | 'de' | 'gb';
6337
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5912
6338
  };
5913
- type ExpectedTransactionControllerUnmatchResponse = unknown;
6339
+ type ExpectedTransactionControllerUnmatchResponse = void;
5914
6340
  type ExpectedTransactionControllerEnterNowData = {
5915
6341
  /**
5916
6342
  * Expected transaction ID
@@ -5919,7 +6345,7 @@ type ExpectedTransactionControllerEnterNowData = {
5919
6345
  /**
5920
6346
  * Region code for tenant context
5921
6347
  */
5922
- region: 'cn' | 'us' | 'de' | 'gb';
6348
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5923
6349
  requestBody: EnterNowDto;
5924
6350
  };
5925
6351
  type ExpectedTransactionControllerEnterNowResponse = unknown;
@@ -5931,128 +6357,14 @@ type ForecastControllerGetForecastData = {
5931
6357
  /**
5932
6358
  * Region code for tenant context
5933
6359
  */
5934
- region: 'cn' | 'us' | 'de' | 'gb';
6360
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5935
6361
  };
5936
6362
  type ForecastControllerGetForecastResponse = ForecastResponseDto;
5937
- type ReportingControllerGetPortfolioTrendsData = {
5938
- /**
5939
- * Data granularity
5940
- */
5941
- granularity?: 'day' | 'week' | 'month';
5942
- /**
5943
- * Time period
5944
- */
5945
- period?: '1m' | '3m' | '6m' | '1y';
5946
- /**
5947
- * Region code for tenant context
5948
- */
5949
- region: 'cn' | 'us' | 'de' | 'gb';
5950
- };
5951
- type ReportingControllerGetPortfolioTrendsResponse = PortfolioTrendsResponseDto;
5952
- type ReportingControllerGetCashFlowTrendsData = {
5953
- /**
5954
- * Data granularity (accepted for API symmetry; v1 returns month buckets)
5955
- */
5956
- granularity?: 'day' | 'week' | 'month';
5957
- /**
5958
- * Time period
5959
- */
5960
- period?: '1m' | '3m' | '6m' | '1y';
5961
- /**
5962
- * Region code for tenant context
5963
- */
5964
- region: 'cn' | 'us' | 'de' | 'gb';
5965
- };
5966
- type ReportingControllerGetCashFlowTrendsResponse = CashFlowTrendsResponseDto;
5967
- type ReportingControllerGenerateSnapshotData = {
5968
- /**
5969
- * Region code for tenant context
5970
- */
5971
- region: 'cn' | 'us' | 'de' | 'gb';
5972
- /**
5973
- * Optional date (defaults to today)
5974
- */
5975
- requestBody: GenerateSnapshotBody;
5976
- };
5977
- type ReportingControllerGenerateSnapshotResponse = GenerateSnapshotResponse;
5978
- type ReportingControllerBackfillSnapshotsData = {
5979
- /**
5980
- * Region code for tenant context
5981
- */
5982
- region: 'cn' | 'us' | 'de' | 'gb';
5983
- requestBody: BackfillSnapshotsBody;
5984
- };
5985
- type ReportingControllerBackfillSnapshotsResponse = BackfillSnapshotsResponse;
5986
- type UserControllerDeleteOwnUserData = {
5987
- requestBody: DeleteOwnUserDto;
5988
- };
5989
- type UserControllerDeleteOwnUserResponse = void;
5990
- type UserControllerGetUserData = {
5991
- acceptLanguage: string;
5992
- };
5993
- type UserControllerGetUserResponse = unknown;
5994
- type UserControllerSignupUserData = {
5995
- requestBody: SignupDto;
5996
- };
5997
- type UserControllerSignupUserResponse = SignupResponseDto;
5998
- type UserControllerDeleteUserData = {
5999
- /**
6000
- * User ID to delete
6001
- */
6002
- id: string;
6003
- };
6004
- type UserControllerDeleteUserResponse = void;
6005
- type UserControllerGetUserInfoData = {
6006
- /**
6007
- * User ID
6008
- */
6009
- id: string;
6010
- };
6011
- type UserControllerGetUserInfoResponse = unknown;
6012
- type UserControllerUpdateUserSettingData = {
6013
- requestBody: UpdateUserSettingDto;
6014
- };
6015
- type UserControllerUpdateUserSettingResponse = unknown;
6016
- type UserControllerGetAllUserSettingsByPageData = {
6017
- /**
6018
- * Page number
6019
- */
6020
- pageNo: number;
6021
- /**
6022
- * Page size
6023
- */
6024
- pageSize: number;
6025
- };
6026
- type UserControllerGetAllUserSettingsByPageResponse = unknown;
6027
- type UserControllerGetAssetLiabilitySummaryResponse = unknown;
6028
- type PropertyControllerGetAllResponse = unknown;
6029
- type PropertyControllerGetByKeyData = {
6030
- /**
6031
- * Property key
6032
- */
6033
- key: string;
6034
- };
6035
- type PropertyControllerGetByKeyResponse = unknown;
6036
- type PropertyControllerUpdateData = {
6037
- /**
6038
- * Property key
6039
- */
6040
- key: string;
6041
- requestBody: UpdatePropertyDto;
6042
- };
6043
- type PropertyControllerUpdateResponse = unknown;
6044
- type PropertyControllerDeleteData = {
6045
- /**
6046
- * Property key
6047
- */
6048
- key: string;
6049
- };
6050
- type PropertyControllerDeleteResponse = void;
6051
6363
  type TransactionRuleControllerCreateData = {
6052
6364
  /**
6053
6365
  * Region code for tenant context
6054
6366
  */
6055
- region: 'cn' | 'us' | 'de' | 'gb';
6367
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6056
6368
  requestBody: CreateTransactionRuleDto;
6057
6369
  };
6058
6370
  type TransactionRuleControllerCreateResponse = TransactionRuleResponseDto;
@@ -6080,14 +6392,14 @@ type TransactionRuleControllerListData = {
6080
6392
  /**
6081
6393
  * Region code for tenant context
6082
6394
  */
6083
- region: 'cn' | 'us' | 'de' | 'gb';
6395
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6084
6396
  };
6085
6397
  type TransactionRuleControllerListResponse = TransactionRuleListResponseDto;
6086
6398
  type TransactionRuleControllerValidateData = {
6087
6399
  /**
6088
6400
  * Region code for tenant context
6089
6401
  */
6090
- region: 'cn' | 'us' | 'de' | 'gb';
6402
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6091
6403
  requestBody: ValidateRuleDto;
6092
6404
  };
6093
6405
  type TransactionRuleControllerValidateResponse = ValidateRuleResponseDto;
@@ -6095,7 +6407,7 @@ type TransactionRuleControllerBulkCreateData = {
6095
6407
  /**
6096
6408
  * Region code for tenant context
6097
6409
  */
6098
- region: 'cn' | 'us' | 'de' | 'gb';
6410
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6099
6411
  requestBody: BulkCreateRulesDto;
6100
6412
  };
6101
6413
  type TransactionRuleControllerBulkCreateResponse = BulkCreateRulesResponseDto;
@@ -6107,7 +6419,7 @@ type TransactionRuleControllerExportData = {
6107
6419
  /**
6108
6420
  * Region code for tenant context
6109
6421
  */
6110
- region: 'cn' | 'us' | 'de' | 'gb';
6422
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6111
6423
  };
6112
6424
  type TransactionRuleControllerExportResponse = ExportRulesResponseDto;
6113
6425
  type TransactionRuleControllerGetStatisticsData = {
@@ -6118,14 +6430,14 @@ type TransactionRuleControllerGetStatisticsData = {
6118
6430
  /**
6119
6431
  * Region code for tenant context
6120
6432
  */
6121
- region: 'cn' | 'us' | 'de' | 'gb';
6433
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6122
6434
  };
6123
6435
  type TransactionRuleControllerGetStatisticsResponse = RuleStatisticsResponseDto;
6124
6436
  type TransactionRuleControllerGetDetailData = {
6125
6437
  /**
6126
6438
  * Region code for tenant context
6127
6439
  */
6128
- region: 'cn' | 'us' | 'de' | 'gb';
6440
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6129
6441
  /**
6130
6442
  * Rule ID
6131
6443
  */
@@ -6136,7 +6448,7 @@ type TransactionRuleControllerUpdateData = {
6136
6448
  /**
6137
6449
  * Region code for tenant context
6138
6450
  */
6139
- region: 'cn' | 'us' | 'de' | 'gb';
6451
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6140
6452
  requestBody: UpdateTransactionRuleDto;
6141
6453
  /**
6142
6454
  * Rule ID to update
@@ -6148,7 +6460,7 @@ type TransactionRuleControllerDeleteData = {
6148
6460
  /**
6149
6461
  * Region code for tenant context
6150
6462
  */
6151
- region: 'cn' | 'us' | 'de' | 'gb';
6463
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6152
6464
  /**
6153
6465
  * Rule ID to delete
6154
6466
  */
@@ -6159,7 +6471,7 @@ type TransactionRuleControllerTestData = {
6159
6471
  /**
6160
6472
  * Region code for tenant context
6161
6473
  */
6162
- region: 'cn' | 'us' | 'de' | 'gb';
6474
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6163
6475
  requestBody: TestRuleDto;
6164
6476
  /**
6165
6477
  * Rule ID to test
@@ -6167,11 +6479,26 @@ type TransactionRuleControllerTestData = {
6167
6479
  ruleId: string;
6168
6480
  };
6169
6481
  type TransactionRuleControllerTestResponse = TestRuleResponseDto;
6482
+ type CategoryCatalogControllerListData = {
6483
+ /**
6484
+ * Region code for tenant context
6485
+ */
6486
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6487
+ /**
6488
+ * Filter by routeBearing (entity-router route() consumes it)
6489
+ */
6490
+ routeBearing?: boolean;
6491
+ /**
6492
+ * Filter by scenario
6493
+ */
6494
+ scenario?: 'expense' | 'income' | 'investment' | 'banking' | 'transfer' | 'payment';
6495
+ };
6496
+ type CategoryCatalogControllerListResponse = CategoryCatalogListResponseDto;
6170
6497
  type EventControllerCreateData = {
6171
6498
  /**
6172
6499
  * Region code for tenant context (decorative for life events)
6173
6500
  */
6174
- region: 'cn' | 'us' | 'de' | 'gb';
6501
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6175
6502
  requestBody: CreateBeanEventDto;
6176
6503
  };
6177
6504
  type EventControllerCreateResponse = EventResponseDto;
@@ -6195,7 +6522,7 @@ type EventControllerFindAllData = {
6195
6522
  /**
6196
6523
  * Region code for tenant context (decorative for life events)
6197
6524
  */
6198
- region: 'cn' | 'us' | 'de' | 'gb';
6525
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6199
6526
  /**
6200
6527
  * Filter life events to this date (ISO 8601 format)
6201
6528
  */
@@ -6214,7 +6541,7 @@ type EventControllerFindOneData = {
6214
6541
  /**
6215
6542
  * Region code for tenant context (decorative for life events)
6216
6543
  */
6217
- region: 'cn' | 'us' | 'de' | 'gb';
6544
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6218
6545
  };
6219
6546
  type EventControllerFindOneResponse = EventResponseDto;
6220
6547
  type EventControllerUpdateData = {
@@ -6225,7 +6552,7 @@ type EventControllerUpdateData = {
6225
6552
  /**
6226
6553
  * Region code for tenant context (decorative for life events)
6227
6554
  */
6228
- region: 'cn' | 'us' | 'de' | 'gb';
6555
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6229
6556
  requestBody: UpdateBeanEventDto;
6230
6557
  };
6231
6558
  type EventControllerUpdateResponse = EventResponseDto;
@@ -6237,7 +6564,7 @@ type EventControllerDeleteData = {
6237
6564
  /**
6238
6565
  * Region code for tenant context (decorative for life events)
6239
6566
  */
6240
- region: 'cn' | 'us' | 'de' | 'gb';
6567
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6241
6568
  };
6242
6569
  type EventControllerDeleteResponse = void;
6243
6570
  type EventControllerGetSliceData = {
@@ -6250,14 +6577,14 @@ type EventControllerGetSliceData = {
6250
6577
  /**
6251
6578
  * Region code for tenant context (decorative for life events)
6252
6579
  */
6253
- region: 'cn' | 'us' | 'de' | 'gb';
6580
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6254
6581
  };
6255
6582
  type EventControllerGetSliceResponse = unknown;
6256
6583
  type OnboardingControllerBootstrapData = {
6257
6584
  /**
6258
- * Region code for tenant context
6585
+ * Region code for tenant context. Not-yet-open codes are accepted: the universal catalog backs onboarding regardless of region (#759)
6259
6586
  */
6260
- region: 'cn' | 'us' | 'de' | 'gb';
6587
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'ar' | 'at' | 'au' | 'az' | 'ba' | 'bb' | 'bd' | 'be' | 'bf' | 'bg' | 'bh' | 'bi' | 'bj' | 'bn' | 'bo' | 'br' | 'bs' | 'bt' | 'bw' | 'by' | 'bz' | 'ca' | 'cd' | 'cf' | 'cg' | 'ch' | 'ci' | 'cl' | 'cm' | 'cn' | 'co' | 'cr' | 'cu' | 'cv' | 'cy' | 'cz' | 'de' | 'dj' | 'dk' | 'dm' | 'do' | 'dz' | 'ec' | 'ee' | 'eg' | 'er' | 'es' | 'et' | 'fj' | 'fm' | 'fr' | 'ga' | 'gb' | 'gd' | 'ge' | 'gh' | 'gm' | 'gn' | 'gq' | 'gr' | 'gt' | 'gw' | 'gy' | 'hk' | 'hn' | 'hr' | 'ht' | 'hu' | 'id' | 'ie' | 'il' | 'in' | 'iq' | 'ir' | 'is' | 'it' | 'jm' | 'jo' | 'jp' | 'ke' | 'kg' | 'kh' | 'ki' | 'km' | 'kn' | 'kr' | 'kw' | 'kz' | 'la' | 'lb' | 'lc' | 'li' | 'lk' | 'lr' | 'ls' | 'lt' | 'lu' | 'lv' | 'ly' | 'ma' | 'mc' | 'md' | 'me' | 'mg' | 'mh' | 'mk' | 'ml' | 'mm' | 'mn' | 'mr' | 'mt' | 'mu' | 'mv' | 'mw' | 'mx' | 'mz' | 'na' | 'ne' | 'ng' | 'ni' | 'nl' | 'no' | 'np' | 'nr' | 'nz' | 'om' | 'pa' | 'pe' | 'pg' | 'ph' | 'pk' | 'pl' | 'ps' | 'pt' | 'pw' | 'py' | 'qa' | 'ro' | 'rs' | 'ru' | 'rw' | 'sa' | 'sb' | 'sc' | 'sd' | 'se' | 'sg' | 'sl' | 'sm' | 'sn' | 'so' | 'sr' | 'st' | 'sv' | 'sy' | 'sz' | 'td' | 'tg' | 'th' | 'tj' | 'tl' | 'tm' | 'tn' | 'to' | 'tr' | 'tt' | 'tv' | 'tw' | 'tz' | 'ua' | 'ug' | 'us' | 'uy' | 'uz' | 'va' | 'vc' | 've' | 'vn' | 'vu' | 'ws' | 'ye' | 'za' | 'zm' | 'zw';
6261
6588
  requestBody: OnboardingDto;
6262
6589
  };
6263
6590
  type OnboardingControllerBootstrapResponse = unknown;
@@ -6265,7 +6592,7 @@ type ReconciliationControllerComputeData = {
6265
6592
  /**
6266
6593
  * Region code for tenant context (decorative for reconciliation)
6267
6594
  */
6268
- region: 'cn' | 'us' | 'de' | 'gb';
6595
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6269
6596
  requestBody: ComputeReconciliationDto;
6270
6597
  };
6271
6598
  type ReconciliationControllerComputeResponse = ReconciliationComputeResultDto;
@@ -6273,7 +6600,7 @@ type ReconciliationControllerAssertData = {
6273
6600
  /**
6274
6601
  * Region code for tenant context (decorative for reconciliation)
6275
6602
  */
6276
- region: 'cn' | 'us' | 'de' | 'gb';
6603
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6277
6604
  requestBody: AssertReconciliationDto;
6278
6605
  };
6279
6606
  type ReconciliationControllerAssertResponse = ReconciliationRecordDto;
@@ -6281,7 +6608,7 @@ type ReconciliationControllerPadData = {
6281
6608
  /**
6282
6609
  * Region code for tenant context (decorative for reconciliation)
6283
6610
  */
6284
- region: 'cn' | 'us' | 'de' | 'gb';
6611
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6285
6612
  requestBody: PadReconciliationDto;
6286
6613
  };
6287
6614
  type ReconciliationControllerPadResponse = PadResultDto;
@@ -6293,10 +6620,10 @@ type ReconciliationControllerHistoryData = {
6293
6620
  /**
6294
6621
  * Region code for tenant context (decorative for reconciliation)
6295
6622
  */
6296
- region: 'cn' | 'us' | 'de' | 'gb';
6623
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6297
6624
  };
6298
6625
  type ReconciliationControllerHistoryResponse = Array<ReconciliationRecordDto>;
6299
- type ExportControllerExportBeancountResponse = unknown;
6626
+ type ExportControllerExportBeancountResponse = Blob | File;
6300
6627
  type FileImportControllerImportFileData = {
6301
6628
  /**
6302
6629
  * Bill file to import
@@ -6305,7 +6632,7 @@ type FileImportControllerImportFileData = {
6305
6632
  /**
6306
6633
  * Region code for tenant context
6307
6634
  */
6308
- region: 'cn' | 'us' | 'de' | 'gb';
6635
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6309
6636
  };
6310
6637
  type FileImportControllerImportFileResponse = ImportResultDto;
6311
6638
  type FileImportControllerIdentifyFileData = {
@@ -6316,7 +6643,7 @@ type FileImportControllerIdentifyFileData = {
6316
6643
  /**
6317
6644
  * Region code for tenant context
6318
6645
  */
6319
- region: 'cn' | 'us' | 'de' | 'gb';
6646
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6320
6647
  };
6321
6648
  type FileImportControllerIdentifyFileResponse = IdentifyResultDto;
6322
6649
  type FileImportControllerImportBeancountData = {
@@ -6327,7 +6654,7 @@ type FileImportControllerImportBeancountData = {
6327
6654
  /**
6328
6655
  * Region code for tenant context
6329
6656
  */
6330
- region: 'cn' | 'us' | 'de' | 'gb';
6657
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6331
6658
  };
6332
6659
  type FileImportControllerImportBeancountResponse = {
6333
6660
  imported?: number;
@@ -6346,7 +6673,7 @@ type ImporterConfigControllerGetConfigData = {
6346
6673
  /**
6347
6674
  * Region code for tenant context
6348
6675
  */
6349
- region: 'cn' | 'us' | 'de' | 'gb';
6676
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6350
6677
  };
6351
6678
  type ImporterConfigControllerGetConfigResponse = ImporterConfigDto;
6352
6679
  type ImporterConfigControllerUpdateConfigData = {
@@ -6357,7 +6684,7 @@ type ImporterConfigControllerUpdateConfigData = {
6357
6684
  /**
6358
6685
  * Region code for tenant context
6359
6686
  */
6360
- region: 'cn' | 'us' | 'de' | 'gb';
6687
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6361
6688
  /**
6362
6689
  * Partial configuration update. Only provided fields will be updated.
6363
6690
  */
@@ -6372,7 +6699,7 @@ type ImporterConfigControllerResetConfigData = {
6372
6699
  /**
6373
6700
  * Region code for tenant context
6374
6701
  */
6375
- region: 'cn' | 'us' | 'de' | 'gb';
6702
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6376
6703
  };
6377
6704
  type ImporterConfigControllerResetConfigResponse = ImporterConfigDto;
6378
6705
  type ProviderSyncControllerSyncData = {
@@ -6383,7 +6710,7 @@ type ProviderSyncControllerSyncData = {
6383
6710
  /**
6384
6711
  * Region code for tenant context
6385
6712
  */
6386
- region: 'cn' | 'us' | 'de' | 'gb';
6713
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6387
6714
  requestBody: ProviderSyncDto;
6388
6715
  };
6389
6716
  type ProviderSyncControllerSyncResponse = ProviderSyncResponseDto;
@@ -6391,7 +6718,7 @@ type ProviderSyncControllerGetSupportedProvidersData = {
6391
6718
  /**
6392
6719
  * Region code for tenant context
6393
6720
  */
6394
- region: 'cn' | 'us' | 'de' | 'gb';
6721
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6395
6722
  };
6396
6723
  type ProviderSyncControllerGetSupportedProvidersResponse = SupportedProvidersResponseDto;
6397
6724
  type ProviderSyncControllerIsProviderSupportedData = {
@@ -6402,14 +6729,14 @@ type ProviderSyncControllerIsProviderSupportedData = {
6402
6729
  /**
6403
6730
  * Region code for tenant context
6404
6731
  */
6405
- region: 'cn' | 'us' | 'de' | 'gb';
6732
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6406
6733
  };
6407
6734
  type ProviderSyncControllerIsProviderSupportedResponse = unknown;
6408
6735
  type ExternalAccountLinkControllerCreateData = {
6409
6736
  /**
6410
6737
  * Region code for tenant context
6411
6738
  */
6412
- region: 'cn' | 'us' | 'de' | 'gb';
6739
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6413
6740
  requestBody: CreateExternalAccountLinkDto;
6414
6741
  };
6415
6742
  type ExternalAccountLinkControllerCreateResponse = ExternalAccountLinkResponseDto;
@@ -6418,7 +6745,7 @@ type ExternalAccountLinkControllerFindAllData = {
6418
6745
  /**
6419
6746
  * Region code for tenant context
6420
6747
  */
6421
- region: 'cn' | 'us' | 'de' | 'gb';
6748
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6422
6749
  };
6423
6750
  type ExternalAccountLinkControllerFindAllResponse = ExternalAccountLinkListResponseDto;
6424
6751
  type ExternalAccountLinkControllerFindOneData = {
@@ -6426,7 +6753,7 @@ type ExternalAccountLinkControllerFindOneData = {
6426
6753
  /**
6427
6754
  * Region code for tenant context
6428
6755
  */
6429
- region: 'cn' | 'us' | 'de' | 'gb';
6756
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6430
6757
  };
6431
6758
  type ExternalAccountLinkControllerFindOneResponse = ExternalAccountLinkResponseDto;
6432
6759
  type ExternalAccountLinkControllerRemoveData = {
@@ -6434,14 +6761,14 @@ type ExternalAccountLinkControllerRemoveData = {
6434
6761
  /**
6435
6762
  * Region code for tenant context
6436
6763
  */
6437
- region: 'cn' | 'us' | 'de' | 'gb';
6764
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6438
6765
  };
6439
6766
  type ExternalAccountLinkControllerRemoveResponse = void;
6440
6767
  type TelemetryControllerReportTelemetryData = {
6441
6768
  /**
6442
6769
  * Region code for tenant context
6443
6770
  */
6444
- region: 'cn' | 'us' | 'de' | 'gb';
6771
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6445
6772
  requestBody: ParserTelemetryReportDto;
6446
6773
  };
6447
6774
  type TelemetryControllerReportTelemetryResponse = unknown;
@@ -6449,7 +6776,7 @@ type TelemetryControllerReportCoverageMissData = {
6449
6776
  /**
6450
6777
  * Region code for tenant context
6451
6778
  */
6452
- region: 'cn' | 'us' | 'de' | 'gb';
6779
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6453
6780
  requestBody: UncoveredFormatMissDto;
6454
6781
  };
6455
6782
  type TelemetryControllerReportCoverageMissResponse = unknown;
@@ -6457,7 +6784,7 @@ type TelemetryControllerGetCoverageMetricsData = {
6457
6784
  /**
6458
6785
  * Region code for tenant context
6459
6786
  */
6460
- region: 'cn' | 'us' | 'de' | 'gb';
6787
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6461
6788
  /**
6462
6789
  * Top-N uncovered formats (default 10)
6463
6790
  */
@@ -6468,7 +6795,7 @@ type NlpControllerProcessNaturalLanguageData = {
6468
6795
  /**
6469
6796
  * Region code for tenant context
6470
6797
  */
6471
- region: 'cn' | 'us' | 'de' | 'gb';
6798
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6472
6799
  /**
6473
6800
  * Natural language transaction input with optional session ID
6474
6801
  */
@@ -6479,7 +6806,7 @@ type NlpControllerClearSessionData = {
6479
6806
  /**
6480
6807
  * Region code for tenant context
6481
6808
  */
6482
- region: 'cn' | 'us' | 'de' | 'gb';
6809
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6483
6810
  /**
6484
6811
  * Specific session ID to clear (defaults to user session)
6485
6812
  */
@@ -6490,7 +6817,7 @@ type NlpControllerGetSessionData = {
6490
6817
  /**
6491
6818
  * Region code for tenant context
6492
6819
  */
6493
- region: 'cn' | 'us' | 'de' | 'gb';
6820
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6494
6821
  /**
6495
6822
  * Specific session ID to get (defaults to user session)
6496
6823
  */
@@ -6502,6 +6829,12 @@ type PlatformControllerCreateData = {
6502
6829
  requestBody: CreatePlatformDto;
6503
6830
  };
6504
6831
  type PlatformControllerCreateResponse = unknown;
6832
+ type PlatformControllerGetPlatformListData = {
6833
+ /**
6834
+ * Region code (ISO 3166-1 alpha-2) that biases within-type-bucket ordering (local-region platforms first). Case-insensitive — stored/compared UPPERCASE ("cn" == "CN").
6835
+ */
6836
+ region?: string;
6837
+ };
6505
6838
  type PlatformControllerGetPlatformListResponse = Array<PlatformListItemDto>;
6506
6839
  type PlatformControllerMatchPlatformsData = {
6507
6840
  /**
@@ -6509,11 +6842,26 @@ type PlatformControllerMatchPlatformsData = {
6509
6842
  */
6510
6843
  q: string;
6511
6844
  /**
6512
- * Region code for category override lookup
6845
+ * Region code (ISO 3166-1 alpha-2) that biases within-tier ordering (local-region platforms first); also the intended categoryOverrides key. Case-insensitive — stored/compared UPPERCASE ("cn" == "CN").
6513
6846
  */
6514
6847
  region?: string;
6515
6848
  };
6516
6849
  type PlatformControllerMatchPlatformsResponse = PlatformMatchResponseDto;
6850
+ type PlatformControllerGetPlatformStandardsData = {
6851
+ /**
6852
+ * Platform ID (from a match result)
6853
+ */
6854
+ id: string;
6855
+ /**
6856
+ * Region code (ISO 3166-1 alpha-2, case-insensitive). Required for global platforms (countryCode null) — resolved as their template region; ignored when the platform has its own countryCode.
6857
+ */
6858
+ region?: string;
6859
+ /**
6860
+ * Filter templates by account type (path first segment)
6861
+ */
6862
+ type?: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
6863
+ };
6864
+ type PlatformControllerGetPlatformStandardsResponse = PlatformStandardsResponseDto;
6517
6865
  type PlatformControllerUpdateData = {
6518
6866
  /**
6519
6867
  * Platform ID
@@ -6537,7 +6885,7 @@ type DashboardControllerGetNetWorthData = {
6537
6885
  /**
6538
6886
  * Region code for tenant context
6539
6887
  */
6540
- region: 'cn' | 'us' | 'de' | 'gb';
6888
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6541
6889
  };
6542
6890
  type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
6543
6891
  type DashboardControllerGetAccountsData = {
@@ -6556,7 +6904,7 @@ type DashboardControllerGetAccountsData = {
6556
6904
  /**
6557
6905
  * Region code for tenant context
6558
6906
  */
6559
- region: 'cn' | 'us' | 'de' | 'gb';
6907
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6560
6908
  };
6561
6909
  type DashboardControllerGetAccountsResponse = AccountsResponseDto | AssetClassAccountsResponseDto | HoldingAssetClassCrossAccountResponseDto;
6562
6910
  type DashboardControllerGetCashFlowData = {
@@ -6567,7 +6915,7 @@ type DashboardControllerGetCashFlowData = {
6567
6915
  /**
6568
6916
  * Region code for tenant context
6569
6917
  */
6570
- region: 'cn' | 'us' | 'de' | 'gb';
6918
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6571
6919
  };
6572
6920
  type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
6573
6921
  type DashboardControllerGetExpensesData = {
@@ -6586,7 +6934,7 @@ type DashboardControllerGetExpensesData = {
6586
6934
  /**
6587
6935
  * Region code for tenant context
6588
6936
  */
6589
- region: 'cn' | 'us' | 'de' | 'gb';
6937
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6590
6938
  };
6591
6939
  type DashboardControllerGetExpensesResponse = ExpensesByCategoryResponseDto;
6592
6940
  type HoldingPnlControllerGetHoldingPnlData = {
@@ -6605,7 +6953,7 @@ type HoldingPnlControllerGetHoldingPnlData = {
6605
6953
  /**
6606
6954
  * Region code for tenant context
6607
6955
  */
6608
- region: 'cn' | 'us' | 'de' | 'gb';
6956
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6609
6957
  };
6610
6958
  type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
6611
6959
  type ApiKeysControllerCreateApiKeyResponse = unknown;
@@ -6613,6 +6961,14 @@ type AuthControllerAccessTokenLoginData = {
6613
6961
  requestBody: AnonymousLoginDto;
6614
6962
  };
6615
6963
  type AuthControllerAccessTokenLoginResponse = AnonymousLoginResponseDto;
6964
+ type ParserContributionControllerCreateData = {
6965
+ /**
6966
+ * Region code for tenant context (routing only; the institution region rides in the payload meta)
6967
+ */
6968
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6969
+ requestBody: ParserContributionRequestDto;
6970
+ };
6971
+ type ParserContributionControllerCreateResponse = ParserContributionRelayResponseDto;
6616
6972
  type CacheControllerFlushCacheResponse = unknown;
6617
6973
  type ExchangeRateControllerGetExchangeRateData = {
6618
6974
  /**
@@ -7290,7 +7646,7 @@ type $OpenApiTs = {
7290
7646
  /**
7291
7647
  * Payee profile unverified successfully
7292
7648
  */
7293
- 200: PayeeProfileResponseDto;
7649
+ 204: void;
7294
7650
  /**
7295
7651
  * Admin access required
7296
7652
  */
@@ -7397,598 +7753,598 @@ type $OpenApiTs = {
7397
7753
  };
7398
7754
  };
7399
7755
  };
7400
- '/api/v1/{region}/bean/prices': {
7401
- post: {
7402
- req: PriceControllerCreateData;
7756
+ '/api/v1/{region}/reporting/portfolio/trends': {
7757
+ get: {
7758
+ req: ReportingControllerGetPortfolioTrendsData;
7403
7759
  res: {
7404
7760
  /**
7405
- * Price created successfully
7406
- */
7407
- 201: PriceResponseDto;
7408
- /**
7409
- * Currency or quoteCurrency commodity not found
7410
- */
7411
- 404: unknown;
7412
- /**
7413
- * Price already exists for this currency pair and date
7761
+ * Trends retrieved successfully
7414
7762
  */
7415
- 409: unknown;
7416
- };
7417
- };
7418
- get: {
7419
- req: PriceControllerFindAllData;
7420
- res: {
7763
+ 200: PortfolioTrendsResponseDto;
7421
7764
  /**
7422
- * Prices retrieved successfully
7765
+ * User not authenticated
7423
7766
  */
7424
- 200: PriceListResponseDto;
7767
+ 401: unknown;
7425
7768
  };
7426
7769
  };
7427
7770
  };
7428
- '/api/v1/{region}/bean/prices/{id}': {
7771
+ '/api/v1/{region}/reporting/cash-flow/trends': {
7429
7772
  get: {
7430
- req: PriceControllerFindOneData;
7431
- res: {
7432
- /**
7433
- * Price retrieved successfully
7434
- */
7435
- 200: PriceResponseDto;
7436
- /**
7437
- * Price not found
7438
- */
7439
- 404: unknown;
7440
- };
7441
- };
7442
- put: {
7443
- req: PriceControllerUpdateData;
7773
+ req: ReportingControllerGetCashFlowTrendsData;
7444
7774
  res: {
7445
7775
  /**
7446
- * Price updated successfully
7447
- */
7448
- 200: PriceResponseDto;
7449
- /**
7450
- * Price not found
7776
+ * Cash-flow trends retrieved successfully
7451
7777
  */
7452
- 404: unknown;
7778
+ 200: CashFlowTrendsResponseDto;
7453
7779
  /**
7454
- * Updated price conflicts with existing price
7780
+ * User not authenticated
7455
7781
  */
7456
- 409: unknown;
7782
+ 401: unknown;
7457
7783
  };
7458
7784
  };
7459
- delete: {
7460
- req: PriceControllerDeleteData;
7785
+ };
7786
+ '/api/v1/{region}/reporting/snapshots/generate': {
7787
+ post: {
7788
+ req: ReportingControllerGenerateSnapshotData;
7461
7789
  res: {
7462
7790
  /**
7463
- * Price deleted successfully
7791
+ * Snapshot generated successfully
7464
7792
  */
7465
- 204: void;
7793
+ 200: GenerateSnapshotResponse;
7466
7794
  /**
7467
- * Price not found
7795
+ * Invalid date format
7468
7796
  */
7469
- 404: unknown;
7470
- };
7471
- };
7472
- };
7473
- '/api/v1/{region}/bean/prices/bulk': {
7474
- post: {
7475
- req: PriceControllerBulkCreateData;
7476
- res: {
7797
+ 400: unknown;
7477
7798
  /**
7478
- * Prices created successfully
7799
+ * User not authenticated
7479
7800
  */
7480
- 201: Array<PriceResponseDto>;
7801
+ 401: unknown;
7481
7802
  };
7482
7803
  };
7483
7804
  };
7484
- '/api/v1/{region}/bean/recurring-rules': {
7805
+ '/api/v1/{region}/reporting/snapshots/backfill': {
7485
7806
  post: {
7486
- req: RecurringRuleControllerCreateData;
7807
+ req: ReportingControllerBackfillSnapshotsData;
7487
7808
  res: {
7488
7809
  /**
7489
- * Rule created successfully
7810
+ * Backfill completed successfully
7490
7811
  */
7491
- 201: RecurringRuleResponseDto;
7812
+ 200: BackfillSnapshotsResponse;
7492
7813
  /**
7493
- * Invalid input data (e.g., autoCreate without accounts)
7814
+ * Invalid date format or range
7494
7815
  */
7495
7816
  400: unknown;
7496
7817
  /**
7497
- * Rule with same name already exists
7818
+ * User not authenticated
7498
7819
  */
7499
- 409: unknown;
7500
- };
7501
- };
7502
- get: {
7503
- req: RecurringRuleControllerFindAllData;
7504
- res: {
7820
+ 401: unknown;
7505
7821
  /**
7506
- * Rules retrieved successfully
7822
+ * Backfill already in progress for this user
7507
7823
  */
7508
- 200: Array<RecurringRuleResponseDto>;
7824
+ 409: unknown;
7509
7825
  };
7510
7826
  };
7511
7827
  };
7512
- '/api/v1/{region}/bean/recurring-rules/from-transaction/{transactionId}': {
7828
+ '/api/v1/{region}/bean/prices': {
7513
7829
  post: {
7514
- req: RecurringRuleControllerCreateFromTransactionData;
7830
+ req: PriceControllerCreateData;
7515
7831
  res: {
7516
7832
  /**
7517
- * Rule created successfully
7833
+ * Price created successfully
7518
7834
  */
7519
- 201: RecurringRuleResponseDto;
7835
+ 201: PriceResponseDto;
7520
7836
  /**
7521
- * Transaction not found
7837
+ * Currency or quoteCurrency commodity not found
7838
+ */
7839
+ 404: unknown;
7840
+ /**
7841
+ * Price already exists for this currency pair and date
7522
7842
  */
7523
- 404: ApiProblemResponseDto;
7843
+ 409: unknown;
7844
+ };
7845
+ };
7846
+ get: {
7847
+ req: PriceControllerFindAllData;
7848
+ res: {
7524
7849
  /**
7525
- * Rule with same name already exists or transaction already linked
7850
+ * Prices retrieved successfully
7526
7851
  */
7527
- 409: ApiProblemResponseDto;
7852
+ 200: PriceListResponseDto;
7528
7853
  };
7529
7854
  };
7530
7855
  };
7531
- '/api/v1/{region}/bean/recurring-rules/{id}': {
7856
+ '/api/v1/{region}/bean/prices/{id}': {
7532
7857
  get: {
7533
- req: RecurringRuleControllerFindOneData;
7858
+ req: PriceControllerFindOneData;
7534
7859
  res: {
7535
7860
  /**
7536
- * Rule retrieved successfully
7861
+ * Price retrieved successfully
7537
7862
  */
7538
- 200: RecurringRuleResponseDto;
7863
+ 200: PriceResponseDto;
7539
7864
  /**
7540
- * Rule not found
7865
+ * Price not found
7541
7866
  */
7542
7867
  404: unknown;
7543
7868
  };
7544
7869
  };
7545
- patch: {
7546
- req: RecurringRuleControllerUpdateData;
7870
+ put: {
7871
+ req: PriceControllerUpdateData;
7547
7872
  res: {
7548
7873
  /**
7549
- * Rule updated successfully
7874
+ * Price updated successfully
7550
7875
  */
7551
- 200: RecurringRuleResponseDto;
7876
+ 200: PriceResponseDto;
7552
7877
  /**
7553
- * Invalid input data
7878
+ * Price not found
7554
7879
  */
7555
- 400: unknown;
7880
+ 404: unknown;
7556
7881
  /**
7557
- * Rule not found
7882
+ * Updated price conflicts with existing price
7558
7883
  */
7559
- 404: unknown;
7884
+ 409: unknown;
7560
7885
  };
7561
7886
  };
7562
7887
  delete: {
7563
- req: RecurringRuleControllerDeleteData;
7888
+ req: PriceControllerDeleteData;
7564
7889
  res: {
7565
7890
  /**
7566
- * Rule deleted successfully
7891
+ * Price deleted successfully
7567
7892
  */
7568
7893
  204: void;
7569
7894
  /**
7570
- * Rule not found
7895
+ * Price not found
7571
7896
  */
7572
7897
  404: unknown;
7573
7898
  };
7574
7899
  };
7575
7900
  };
7576
- '/api/v1/{region}/bean/recurring-rules/{id}/stats': {
7577
- get: {
7578
- req: RecurringRuleControllerGetWithStatsData;
7901
+ '/api/v1/{region}/bean/prices/bulk': {
7902
+ post: {
7903
+ req: PriceControllerBulkCreateData;
7579
7904
  res: {
7580
7905
  /**
7581
- * Rule with stats retrieved successfully
7582
- */
7583
- 200: RecurringRuleWithStatsResponseDto;
7584
- /**
7585
- * Rule not found
7906
+ * Prices created successfully
7586
7907
  */
7587
- 404: unknown;
7908
+ 201: Array<PriceResponseDto>;
7588
7909
  };
7589
7910
  };
7590
7911
  };
7591
- '/api/v1/{region}/bean/expected-transactions': {
7592
- get: {
7593
- req: ExpectedTransactionControllerFindAllData;
7912
+ '/api/v1/users': {
7913
+ delete: {
7914
+ req: UserControllerDeleteOwnUserData;
7594
7915
  res: {
7595
7916
  /**
7596
- * Expected transactions retrieved successfully
7917
+ * User deleted successfully
7597
7918
  */
7598
- 200: ExpectedTransactionListResponseDto;
7599
- };
7600
- };
7601
- };
7602
- '/api/v1/{region}/bean/expected-transactions/overdue': {
7603
- get: {
7604
- req: ExpectedTransactionControllerFindOverdueData;
7605
- res: {
7919
+ 204: void;
7606
7920
  /**
7607
- * Overdue transactions retrieved successfully
7921
+ * Invalid access token
7608
7922
  */
7609
- 200: ExpectedTransactionListResponseDto;
7923
+ 403: unknown;
7610
7924
  };
7611
7925
  };
7612
- };
7613
- '/api/v1/{region}/bean/expected-transactions/{id}': {
7614
7926
  get: {
7615
- req: ExpectedTransactionControllerFindOneData;
7927
+ req: UserControllerGetUserData;
7616
7928
  res: {
7617
7929
  /**
7618
- * Expected transaction retrieved successfully
7619
- */
7620
- 200: ExpectedTransactionResponseDto;
7621
- /**
7622
- * Expected transaction not found
7930
+ * User retrieved successfully
7623
7931
  */
7624
- 404: unknown;
7932
+ 200: UserResponseDto;
7625
7933
  };
7626
7934
  };
7627
- };
7628
- '/api/v1/{region}/bean/expected-transactions/{id}/skip': {
7629
7935
  post: {
7630
- req: ExpectedTransactionControllerSkipData;
7936
+ req: UserControllerSignupUserData;
7631
7937
  res: {
7632
7938
  /**
7633
- * Expected transaction skipped successfully
7939
+ * User created successfully
7634
7940
  */
7635
- 200: ExpectedTransactionResponseDto;
7941
+ 201: SignupResponseDto;
7636
7942
  /**
7637
- * Cannot skip - not in PENDING status
7943
+ * Invalid Turnstile token (when Turnstile is enabled)
7638
7944
  */
7639
7945
  400: unknown;
7640
7946
  /**
7641
- * Expected transaction not found
7947
+ * User signup is disabled
7642
7948
  */
7643
- 404: unknown;
7949
+ 403: unknown;
7644
7950
  };
7645
7951
  };
7952
+ };
7953
+ '/api/v1/users/{id}': {
7646
7954
  delete: {
7647
- req: ExpectedTransactionControllerUndoSkipData;
7955
+ req: UserControllerDeleteUserData;
7648
7956
  res: {
7649
7957
  /**
7650
- * Skip undone successfully
7651
- */
7652
- 200: ExpectedTransactionResponseDto;
7653
- /**
7654
- * Cannot undo - not in SKIPPED status
7958
+ * User deleted successfully
7655
7959
  */
7656
- 400: unknown;
7960
+ 204: void;
7657
7961
  /**
7658
- * Expected transaction not found
7962
+ * Cannot delete own account or insufficient permissions
7659
7963
  */
7660
- 404: unknown;
7964
+ 403: unknown;
7661
7965
  };
7662
7966
  };
7663
7967
  };
7664
- '/api/v1/{region}/bean/expected-transactions/{id}/match': {
7665
- post: {
7666
- req: ExpectedTransactionControllerConfirmMatchData;
7968
+ '/api/v1/users/{id}/info': {
7969
+ get: {
7970
+ req: UserControllerGetUserInfoData;
7667
7971
  res: {
7668
7972
  /**
7669
- * Match confirmed successfully
7973
+ * User info retrieved successfully
7670
7974
  */
7671
7975
  200: unknown;
7672
7976
  /**
7673
- * Cannot match - not in PENDING status
7674
- */
7675
- 400: unknown;
7676
- /**
7677
- * Expected or actual transaction not found
7678
- */
7679
- 404: unknown;
7680
- /**
7681
- * Actual transaction already matched to another rule
7977
+ * Cannot access other user info without admin permission
7682
7978
  */
7683
- 409: unknown;
7979
+ 403: unknown;
7684
7980
  };
7685
7981
  };
7686
- delete: {
7687
- req: ExpectedTransactionControllerUnmatchData;
7982
+ };
7983
+ '/api/v1/users/setting': {
7984
+ put: {
7985
+ req: UserControllerUpdateUserSettingData;
7688
7986
  res: {
7689
7987
  /**
7690
- * Match removed successfully
7988
+ * Settings updated successfully
7691
7989
  */
7692
7990
  200: unknown;
7693
7991
  /**
7694
- * Cannot unmatch - not in COMPLETED status
7695
- */
7696
- 400: unknown;
7697
- /**
7698
- * Expected transaction not found
7992
+ * Insufficient permissions
7699
7993
  */
7700
- 404: unknown;
7994
+ 403: unknown;
7701
7995
  };
7702
7996
  };
7703
7997
  };
7704
- '/api/v1/{region}/bean/expected-transactions/{id}/enter': {
7705
- post: {
7706
- req: ExpectedTransactionControllerEnterNowData;
7998
+ '/api/v1/users/settings-by-page': {
7999
+ get: {
8000
+ req: UserControllerGetAllUserSettingsByPageData;
7707
8001
  res: {
7708
8002
  /**
7709
- * Transaction created successfully
7710
- */
7711
- 201: unknown;
7712
- /**
7713
- * Cannot enter - not in PENDING status or missing accounts
7714
- */
7715
- 400: unknown;
7716
- /**
7717
- * Expected transaction or accounts not found
8003
+ * Settings list retrieved successfully
7718
8004
  */
7719
- 404: unknown;
8005
+ 200: unknown;
7720
8006
  };
7721
8007
  };
7722
8008
  };
7723
- '/api/v1/{region}/bean/recurring/forecast': {
8009
+ '/api/v1/users/asset-liability-summary': {
7724
8010
  get: {
7725
- req: ForecastControllerGetForecastData;
7726
8011
  res: {
7727
8012
  /**
7728
- * Forecast retrieved successfully
8013
+ * Summary retrieved successfully
7729
8014
  */
7730
- 200: ForecastResponseDto;
8015
+ 200: unknown;
7731
8016
  };
7732
8017
  };
7733
8018
  };
7734
- '/api/v1/{region}/reporting/portfolio/trends': {
8019
+ '/api/v1/admin/properties': {
7735
8020
  get: {
7736
- req: ReportingControllerGetPortfolioTrendsData;
7737
8021
  res: {
7738
8022
  /**
7739
- * Trends retrieved successfully
8023
+ * Properties retrieved successfully
7740
8024
  */
7741
- 200: PortfolioTrendsResponseDto;
8025
+ 200: unknown;
7742
8026
  /**
7743
- * User not authenticated
8027
+ * Unauthorized
7744
8028
  */
7745
8029
  401: unknown;
8030
+ /**
8031
+ * Forbidden - insufficient permissions
8032
+ */
8033
+ 403: unknown;
7746
8034
  };
7747
8035
  };
7748
8036
  };
7749
- '/api/v1/{region}/reporting/cash-flow/trends': {
8037
+ '/api/v1/admin/properties/{key}': {
7750
8038
  get: {
7751
- req: ReportingControllerGetCashFlowTrendsData;
8039
+ req: PropertyControllerGetByKeyData;
7752
8040
  res: {
7753
8041
  /**
7754
- * Cash-flow trends retrieved successfully
8042
+ * Property retrieved successfully
7755
8043
  */
7756
- 200: CashFlowTrendsResponseDto;
8044
+ 200: unknown;
7757
8045
  /**
7758
- * User not authenticated
8046
+ * Unauthorized
7759
8047
  */
7760
8048
  401: unknown;
8049
+ /**
8050
+ * Forbidden - insufficient permissions
8051
+ */
8052
+ 403: unknown;
8053
+ /**
8054
+ * Property not found
8055
+ */
8056
+ 404: unknown;
7761
8057
  };
7762
8058
  };
7763
- };
7764
- '/api/v1/{region}/reporting/snapshots/generate': {
7765
- post: {
7766
- req: ReportingControllerGenerateSnapshotData;
8059
+ put: {
8060
+ req: PropertyControllerUpdateData;
7767
8061
  res: {
7768
8062
  /**
7769
- * Snapshot generated successfully
8063
+ * Property updated successfully
7770
8064
  */
7771
- 200: GenerateSnapshotResponse;
8065
+ 200: unknown;
7772
8066
  /**
7773
- * Invalid date format
8067
+ * Unauthorized
7774
8068
  */
7775
- 400: unknown;
8069
+ 401: unknown;
7776
8070
  /**
7777
- * User not authenticated
8071
+ * Forbidden - insufficient permissions
8072
+ */
8073
+ 403: unknown;
8074
+ };
8075
+ };
8076
+ delete: {
8077
+ req: PropertyControllerDeleteData;
8078
+ res: {
8079
+ /**
8080
+ * Property deleted successfully
8081
+ */
8082
+ 204: void;
8083
+ /**
8084
+ * Unauthorized
7778
8085
  */
7779
8086
  401: unknown;
8087
+ /**
8088
+ * Forbidden - insufficient permissions
8089
+ */
8090
+ 403: unknown;
8091
+ /**
8092
+ * Property not found
8093
+ */
8094
+ 404: unknown;
7780
8095
  };
7781
8096
  };
7782
8097
  };
7783
- '/api/v1/{region}/reporting/snapshots/backfill': {
8098
+ '/api/v1/{region}/bean/recurring-rules': {
7784
8099
  post: {
7785
- req: ReportingControllerBackfillSnapshotsData;
8100
+ req: RecurringRuleControllerCreateData;
7786
8101
  res: {
7787
8102
  /**
7788
- * Backfill completed successfully
8103
+ * Rule created successfully
7789
8104
  */
7790
- 200: BackfillSnapshotsResponse;
8105
+ 201: RecurringRuleResponseDto;
7791
8106
  /**
7792
- * Invalid date format or range
8107
+ * Invalid input data (e.g., autoCreate without accounts)
7793
8108
  */
7794
8109
  400: unknown;
7795
8110
  /**
7796
- * User not authenticated
8111
+ * Rule with same name already exists
7797
8112
  */
7798
- 401: unknown;
8113
+ 409: unknown;
8114
+ };
8115
+ };
8116
+ get: {
8117
+ req: RecurringRuleControllerFindAllData;
8118
+ res: {
7799
8119
  /**
7800
- * Backfill already in progress for this user
8120
+ * Rules retrieved successfully
7801
8121
  */
7802
- 409: unknown;
8122
+ 200: Array<RecurringRuleResponseDto>;
7803
8123
  };
7804
8124
  };
7805
8125
  };
7806
- '/api/v1/users': {
7807
- delete: {
7808
- req: UserControllerDeleteOwnUserData;
8126
+ '/api/v1/{region}/bean/recurring-rules/from-transaction/{transactionId}': {
8127
+ post: {
8128
+ req: RecurringRuleControllerCreateFromTransactionData;
7809
8129
  res: {
7810
8130
  /**
7811
- * User deleted successfully
8131
+ * Rule created successfully
7812
8132
  */
7813
- 204: void;
8133
+ 201: RecurringRuleResponseDto;
7814
8134
  /**
7815
- * Invalid access token
8135
+ * Transaction not found
7816
8136
  */
7817
- 403: unknown;
8137
+ 404: ApiProblemResponseDto;
8138
+ /**
8139
+ * Rule with same name already exists or transaction already linked
8140
+ */
8141
+ 409: ApiProblemResponseDto;
7818
8142
  };
7819
8143
  };
8144
+ };
8145
+ '/api/v1/{region}/bean/recurring-rules/{id}': {
7820
8146
  get: {
7821
- req: UserControllerGetUserData;
8147
+ req: RecurringRuleControllerFindOneData;
7822
8148
  res: {
7823
8149
  /**
7824
- * User retrieved successfully
8150
+ * Rule retrieved successfully
7825
8151
  */
7826
- 200: unknown;
8152
+ 200: RecurringRuleResponseDto;
8153
+ /**
8154
+ * Rule not found
8155
+ */
8156
+ 404: unknown;
7827
8157
  };
7828
8158
  };
7829
- post: {
7830
- req: UserControllerSignupUserData;
8159
+ patch: {
8160
+ req: RecurringRuleControllerUpdateData;
7831
8161
  res: {
7832
8162
  /**
7833
- * User created successfully
8163
+ * Rule updated successfully
7834
8164
  */
7835
- 201: SignupResponseDto;
8165
+ 200: RecurringRuleResponseDto;
7836
8166
  /**
7837
- * Invalid Turnstile token (when Turnstile is enabled)
8167
+ * Invalid input data
7838
8168
  */
7839
8169
  400: unknown;
7840
8170
  /**
7841
- * User signup is disabled
8171
+ * Rule not found
7842
8172
  */
7843
- 403: unknown;
8173
+ 404: unknown;
7844
8174
  };
7845
8175
  };
7846
- };
7847
- '/api/v1/users/{id}': {
7848
8176
  delete: {
7849
- req: UserControllerDeleteUserData;
8177
+ req: RecurringRuleControllerDeleteData;
7850
8178
  res: {
7851
8179
  /**
7852
- * User deleted successfully
8180
+ * Rule deleted successfully
7853
8181
  */
7854
8182
  204: void;
7855
8183
  /**
7856
- * Cannot delete own account or insufficient permissions
8184
+ * Rule not found
7857
8185
  */
7858
- 403: unknown;
8186
+ 404: unknown;
7859
8187
  };
7860
8188
  };
7861
8189
  };
7862
- '/api/v1/users/{id}/info': {
8190
+ '/api/v1/{region}/bean/recurring-rules/{id}/stats': {
7863
8191
  get: {
7864
- req: UserControllerGetUserInfoData;
8192
+ req: RecurringRuleControllerGetWithStatsData;
7865
8193
  res: {
7866
8194
  /**
7867
- * User info retrieved successfully
8195
+ * Rule with stats retrieved successfully
7868
8196
  */
7869
- 200: unknown;
8197
+ 200: RecurringRuleWithStatsResponseDto;
7870
8198
  /**
7871
- * Cannot access other user info without admin permission
8199
+ * Rule not found
7872
8200
  */
7873
- 403: unknown;
8201
+ 404: unknown;
7874
8202
  };
7875
8203
  };
7876
8204
  };
7877
- '/api/v1/users/setting': {
7878
- put: {
7879
- req: UserControllerUpdateUserSettingData;
8205
+ '/api/v1/{region}/bean/expected-transactions': {
8206
+ get: {
8207
+ req: ExpectedTransactionControllerFindAllData;
7880
8208
  res: {
7881
8209
  /**
7882
- * Settings updated successfully
7883
- */
7884
- 200: unknown;
7885
- /**
7886
- * Insufficient permissions
8210
+ * Expected transactions retrieved successfully
7887
8211
  */
7888
- 403: unknown;
8212
+ 200: ExpectedTransactionListResponseDto;
7889
8213
  };
7890
8214
  };
7891
8215
  };
7892
- '/api/v1/users/settings-by-page': {
8216
+ '/api/v1/{region}/bean/expected-transactions/overdue': {
7893
8217
  get: {
7894
- req: UserControllerGetAllUserSettingsByPageData;
8218
+ req: ExpectedTransactionControllerFindOverdueData;
7895
8219
  res: {
7896
8220
  /**
7897
- * Settings list retrieved successfully
8221
+ * Overdue transactions retrieved successfully
7898
8222
  */
7899
- 200: unknown;
8223
+ 200: ExpectedTransactionListResponseDto;
7900
8224
  };
7901
8225
  };
7902
8226
  };
7903
- '/api/v1/users/asset-liability-summary': {
8227
+ '/api/v1/{region}/bean/expected-transactions/{id}': {
7904
8228
  get: {
8229
+ req: ExpectedTransactionControllerFindOneData;
7905
8230
  res: {
7906
8231
  /**
7907
- * Summary retrieved successfully
8232
+ * Expected transaction retrieved successfully
7908
8233
  */
7909
- 200: unknown;
8234
+ 200: ExpectedTransactionResponseDto;
8235
+ /**
8236
+ * Expected transaction not found
8237
+ */
8238
+ 404: unknown;
7910
8239
  };
7911
8240
  };
7912
8241
  };
7913
- '/api/v1/admin/properties': {
7914
- get: {
8242
+ '/api/v1/{region}/bean/expected-transactions/{id}/skip': {
8243
+ post: {
8244
+ req: ExpectedTransactionControllerSkipData;
7915
8245
  res: {
7916
8246
  /**
7917
- * Properties retrieved successfully
8247
+ * Expected transaction skipped successfully
7918
8248
  */
7919
- 200: unknown;
8249
+ 200: ExpectedTransactionResponseDto;
7920
8250
  /**
7921
- * Unauthorized
8251
+ * Cannot skip - not in PENDING status
7922
8252
  */
7923
- 401: unknown;
8253
+ 400: unknown;
7924
8254
  /**
7925
- * Forbidden - insufficient permissions
8255
+ * Expected transaction not found
7926
8256
  */
7927
- 403: unknown;
8257
+ 404: unknown;
7928
8258
  };
7929
8259
  };
7930
- };
7931
- '/api/v1/admin/properties/{key}': {
7932
- get: {
7933
- req: PropertyControllerGetByKeyData;
8260
+ delete: {
8261
+ req: ExpectedTransactionControllerUndoSkipData;
7934
8262
  res: {
7935
8263
  /**
7936
- * Property retrieved successfully
7937
- */
7938
- 200: unknown;
7939
- /**
7940
- * Unauthorized
8264
+ * Skip undone successfully
7941
8265
  */
7942
- 401: unknown;
8266
+ 204: void;
7943
8267
  /**
7944
- * Forbidden - insufficient permissions
8268
+ * Cannot undo - not in SKIPPED status
7945
8269
  */
7946
- 403: unknown;
8270
+ 400: unknown;
7947
8271
  /**
7948
- * Property not found
8272
+ * Expected transaction not found
7949
8273
  */
7950
8274
  404: unknown;
7951
8275
  };
7952
8276
  };
7953
- put: {
7954
- req: PropertyControllerUpdateData;
8277
+ };
8278
+ '/api/v1/{region}/bean/expected-transactions/{id}/match': {
8279
+ post: {
8280
+ req: ExpectedTransactionControllerConfirmMatchData;
7955
8281
  res: {
7956
8282
  /**
7957
- * Property updated successfully
8283
+ * Match confirmed successfully
7958
8284
  */
7959
8285
  200: unknown;
7960
8286
  /**
7961
- * Unauthorized
8287
+ * Cannot match - not in PENDING status
7962
8288
  */
7963
- 401: unknown;
8289
+ 400: unknown;
7964
8290
  /**
7965
- * Forbidden - insufficient permissions
8291
+ * Expected or actual transaction not found
7966
8292
  */
7967
- 403: unknown;
8293
+ 404: unknown;
8294
+ /**
8295
+ * Actual transaction already matched to another rule
8296
+ */
8297
+ 409: unknown;
7968
8298
  };
7969
8299
  };
7970
8300
  delete: {
7971
- req: PropertyControllerDeleteData;
8301
+ req: ExpectedTransactionControllerUnmatchData;
7972
8302
  res: {
7973
8303
  /**
7974
- * Property deleted successfully
8304
+ * Match removed successfully
7975
8305
  */
7976
8306
  204: void;
7977
8307
  /**
7978
- * Unauthorized
8308
+ * Cannot unmatch - not in COMPLETED status
7979
8309
  */
7980
- 401: unknown;
8310
+ 400: unknown;
7981
8311
  /**
7982
- * Forbidden - insufficient permissions
8312
+ * Expected transaction not found
7983
8313
  */
7984
- 403: unknown;
8314
+ 404: unknown;
8315
+ };
8316
+ };
8317
+ };
8318
+ '/api/v1/{region}/bean/expected-transactions/{id}/enter': {
8319
+ post: {
8320
+ req: ExpectedTransactionControllerEnterNowData;
8321
+ res: {
7985
8322
  /**
7986
- * Property not found
8323
+ * Transaction created successfully
8324
+ */
8325
+ 201: unknown;
8326
+ /**
8327
+ * Cannot enter - not in PENDING status or missing accounts
8328
+ */
8329
+ 400: unknown;
8330
+ /**
8331
+ * Expected transaction or accounts not found
7987
8332
  */
7988
8333
  404: unknown;
7989
8334
  };
7990
8335
  };
7991
8336
  };
8337
+ '/api/v1/{region}/bean/recurring/forecast': {
8338
+ get: {
8339
+ req: ForecastControllerGetForecastData;
8340
+ res: {
8341
+ /**
8342
+ * Forecast retrieved successfully
8343
+ */
8344
+ 200: ForecastResponseDto;
8345
+ };
8346
+ };
8347
+ };
7992
8348
  '/api/v1/{region}/bean/transaction-rules': {
7993
8349
  post: {
7994
8350
  req: TransactionRuleControllerCreateData;
@@ -8197,6 +8553,17 @@ type $OpenApiTs = {
8197
8553
  };
8198
8554
  };
8199
8555
  };
8556
+ '/api/v1/{region}/bean/categories': {
8557
+ get: {
8558
+ req: CategoryCatalogControllerListData;
8559
+ res: {
8560
+ /**
8561
+ * Category catalog retrieved successfully
8562
+ */
8563
+ 200: CategoryCatalogListResponseDto;
8564
+ };
8565
+ };
8566
+ };
8200
8567
  '/api/v1/{region}/bean/events': {
8201
8568
  post: {
8202
8569
  req: EventControllerCreateData;
@@ -8375,7 +8742,10 @@ type $OpenApiTs = {
8375
8742
  '/api/v1/{region}/bean/export/beancount': {
8376
8743
  get: {
8377
8744
  res: {
8378
- 200: unknown;
8745
+ /**
8746
+ * ZIP archive (application/zip) streamed as an attachment
8747
+ */
8748
+ 200: Blob | File;
8379
8749
  };
8380
8750
  };
8381
8751
  };
@@ -8736,6 +9106,7 @@ type $OpenApiTs = {
8736
9106
  };
8737
9107
  '/api/v1/bean/platforms/list': {
8738
9108
  get: {
9109
+ req: PlatformControllerGetPlatformListData;
8739
9110
  res: {
8740
9111
  /**
8741
9112
  * List of platforms with user binding status
@@ -8755,6 +9126,17 @@ type $OpenApiTs = {
8755
9126
  };
8756
9127
  };
8757
9128
  };
9129
+ '/api/v1/bean/platforms/{id}/standards': {
9130
+ get: {
9131
+ req: PlatformControllerGetPlatformStandardsData;
9132
+ res: {
9133
+ /**
9134
+ * Resolved region plus the merged account-standard catalog of that region (groupable by productCategory client-side)
9135
+ */
9136
+ 200: PlatformStandardsResponseDto;
9137
+ };
9138
+ };
9139
+ };
8758
9140
  '/api/v1/bean/platforms/{id}': {
8759
9141
  put: {
8760
9142
  req: PlatformControllerUpdateData;
@@ -8899,10 +9281,48 @@ type $OpenApiTs = {
8899
9281
  };
8900
9282
  };
8901
9283
  };
9284
+ '/api/v1/{region}/community/parser-contributions': {
9285
+ post: {
9286
+ req: ParserContributionControllerCreateData;
9287
+ res: {
9288
+ /**
9289
+ * Issue created by the bot
9290
+ */
9291
+ 201: ParserContributionRelayResponseDto;
9292
+ /**
9293
+ * Unauthorized
9294
+ */
9295
+ 401: ApiProblemResponseDto;
9296
+ /**
9297
+ * Validation failed (institution slug, empty samples, row/cell size limits)
9298
+ */
9299
+ 422: ApiProblemResponseDto;
9300
+ /**
9301
+ * Rate limited (5 submissions per user per hour)
9302
+ */
9303
+ 429: ApiProblemResponseDto;
9304
+ /**
9305
+ * Relay not configured on this deployment — clients fall back to the clipboard flow
9306
+ */
9307
+ 501: ApiProblemResponseDto;
9308
+ /**
9309
+ * GitHub bot failure (upstream), safe to retry
9310
+ */
9311
+ 502: ApiProblemResponseDto;
9312
+ };
9313
+ };
9314
+ };
8902
9315
  '/api/v1/cache/flush': {
8903
9316
  post: {
8904
9317
  res: {
8905
- 201: unknown;
9318
+ /**
9319
+ * Cache flushed successfully
9320
+ */
9321
+ 200: unknown;
9322
+ /**
9323
+ * Admin access required
9324
+ */
9325
+ 403: ApiProblemResponseDto;
8906
9326
  };
8907
9327
  };
8908
9328
  };
@@ -9178,10 +9598,11 @@ declare class BeanTransactionsService {
9178
9598
  * @param data.offset Number of items to skip (default: 0)
9179
9599
  * @param data.dateFrom Filter by start date (inclusive), format: YYYY-MM-DD
9180
9600
  * @param data.dateTo Filter by end date (inclusive), format: YYYY-MM-DD
9181
- * @param data.status Filter by transaction status
9601
+ * @param data.status Filter by transaction status: single value, comma-separated multi-value (e.g. VOIDED,SUPERSEDED), or ALL to include audit rows. Defaults to ACTIVE-only (ADR-0128; previously unfiltered — breaking change).
9182
9602
  * @param data.search Search in narration and payee fields (max 200 chars)
9183
9603
  * @param data.accountId Filter by account ID (transactions with postings to this account)
9184
- * @param data.category Filter by ADR-0075 functional category (Group segment); matches any posting to an Expenses/Income account whose derived Group segment equals this value
9604
+ * @param data.category Filter by ADR-0075 functional category (Group segment); matches any posting to an account whose derived Group segment equals this value. Must be accompanied by flow (ADR-0126).
9605
+ * @param data.flow Required when category is present (400 otherwise) and vice versa (ADR-0126). Restricts the category account set to the flow root (income → Income:, expense → Expenses:) and drives the per-leg sign normalization of row viewpointAmount and the summary. OpenAPI cannot express conditional requiredness — the pairing is enforced at runtime.
9185
9606
  * @returns TransactionListResponseDto Transaction list
9186
9607
  * @throws ApiError
9187
9608
  */
@@ -9487,4 +9908,4 @@ type OpenAPIConfig = {
9487
9908
  };
9488
9909
  declare const OpenAPI: OpenAPIConfig;
9489
9910
 
9490
- export { type $OpenApiTs, type AccountControllerAddOpeningBalanceData, type AccountControllerAddOpeningBalanceResponse, type AccountControllerCloseData, type AccountControllerCloseResponse, type AccountControllerCreateData, type AccountControllerCreateResponse, type AccountControllerDeleteData, type AccountControllerDeleteResponse, type AccountControllerFindAllData, type AccountControllerFindAllResponse, type AccountControllerFindOneData, type AccountControllerFindOneResponse, type AccountControllerReopenData, type AccountControllerReopenResponse, type AccountControllerUpdateData, type AccountControllerUpdateResponse, type AccountExchangeRateWarningDto, type AccountItemDto, type AccountItemWithAssetClassDto, type AccountListResponseDto, type AccountResponseDto, type AccountStandardListResponseDto, type AccountStandardResponseDto, type AccountStandardsControllerGetRegionsData, type AccountStandardsControllerGetRegionsResponse, type AccountStandardsControllerGetTemplateMetadataData, type AccountStandardsControllerGetTemplateMetadataResponse, type AccountStandardsControllerGetTemplatesData, type AccountStandardsControllerGetTemplatesResponse, type AccountsResponseDto, type AccountsSummaryDto, type ActualBalanceDto, type AmountDto, type AmountRangeDto, type AnonymousLoginDto, type AnonymousLoginResponseDto, type ApiKeysControllerCreateApiKeyResponse, type ApiProblemResponseDto, type AssertReconciliationDto, type AssetClassAccountsResponseDto, type AssetClassGroupDto, type AssetClassSummaryDto, type AuthControllerAccessTokenLoginData, type AuthControllerAccessTokenLoginResponse, type BackfillSnapshotsBody, type BackfillSnapshotsResponse, type BalanceByCurrencyDto, type BalanceControllerGetBalanceData, type BalanceControllerGetBalanceResponse, type BalanceControllerGetMultiCurrencyBalanceData, type BalanceControllerGetMultiCurrencyBalanceResponse, type BalanceResponseDto, type BatchCreateTransactionDto, type BatchResolveDto, type BatchResolveResultDto, type BatchTransactionErrorDto, type BatchTransactionResponseDto, BeanAccountsService, BeanBalancesService, BeanCommoditiesService, BeanTransactionsService, type BulkCreateRulesDto, type BulkCreateRulesResponseDto, type CacheControllerFlushCacheResponse, type CashFlowByCurrencyDto, type CashFlowPointDto, type CashFlowResponseDto, type CashFlowTrendSummaryDto, type CashFlowTrendsResponseDto, type CategoryGroupDto, type CloseAccountDto, type CommodityControllerBulkCreateData, type CommodityControllerBulkCreateResponse, type CommodityControllerCreateData, type CommodityControllerCreateResponse, type CommodityControllerDeleteData, type CommodityControllerDeleteResponse, type CommodityControllerFindAllData, type CommodityControllerFindAllResponse, type CommodityControllerFindOneData, type CommodityControllerFindOneResponse, type CommodityControllerGetOrCreateData, type CommodityControllerGetOrCreateResponse, type CommodityControllerUpdateData, type CommodityControllerUpdateResponse, type CommodityListResponseDto, type CommodityResponseDto, type ComputeReconciliationDto, type ConfirmMatchDto, type ConvertedCashFlowDto, type ConvertedNetWorthDto, type CorrectTransactionDto, type CostDetailDto, type CostSpecDto, type CreateAccountDto, type CreateBeanEventDto, type CreateBeanPriceDto, type CreateCommodityDto, type CreateExternalAccountLinkDto, type CreateOpeningBalanceDto, type CreatePayeeDto, type CreatePayeeProfileDto, type CreatePlatformDto, type CreatePostingDto, type CreateRecurringRuleDto, type CreateRuleFromTransactionDto, type CreateTransactionDto, type CreateTransactionRuleDto, type CurrencyBalanceDto, type CurrentPriceDto, type DashboardControllerGetAccountsData, type DashboardControllerGetAccountsResponse, type DashboardControllerGetCashFlowData, type DashboardControllerGetCashFlowResponse, type DashboardControllerGetExpensesData, type DashboardControllerGetExpensesResponse, type DashboardControllerGetNetWorthData, type DashboardControllerGetNetWorthResponse, type DecisionOptionDto, type DeleteOwnUserDto, type EnterNowDto, type EventControllerCreateData, type EventControllerCreateResponse, type EventControllerDeleteData, type EventControllerDeleteResponse, type EventControllerFindAllData, type EventControllerFindAllResponse, type EventControllerFindOneData, type EventControllerFindOneResponse, type EventControllerGetSliceData, type EventControllerGetSliceResponse, type EventControllerUpdateData, type EventControllerUpdateResponse, type EventListResponseDto, type EventResponseDto, type ExchangeRateControllerGetExchangeRateData, type ExchangeRateControllerGetExchangeRateResponse, type ExchangeRateWarningDto, type ExpectedTransactionControllerConfirmMatchData, type ExpectedTransactionControllerConfirmMatchResponse, type ExpectedTransactionControllerEnterNowData, type ExpectedTransactionControllerEnterNowResponse, type ExpectedTransactionControllerFindAllData, type ExpectedTransactionControllerFindAllResponse, type ExpectedTransactionControllerFindOneData, type ExpectedTransactionControllerFindOneResponse, type ExpectedTransactionControllerFindOverdueData, type ExpectedTransactionControllerFindOverdueResponse, type ExpectedTransactionControllerSkipData, type ExpectedTransactionControllerSkipResponse, type ExpectedTransactionControllerUndoSkipData, type ExpectedTransactionControllerUndoSkipResponse, type ExpectedTransactionControllerUnmatchData, type ExpectedTransactionControllerUnmatchResponse, type ExpectedTransactionListResponseDto, type ExpectedTransactionResponseDto, type ExpectedTransactionRuleDto, type ExpensesByCategoryResponseDto, type ExpensesByCategorySummaryDto, type ExportControllerExportBeancountResponse, type ExportRulesResponseDto, type ExternalAccountLinkControllerCreateData, type ExternalAccountLinkControllerCreateResponse, type ExternalAccountLinkControllerFindAllData, type ExternalAccountLinkControllerFindAllResponse, type ExternalAccountLinkControllerFindOneData, type ExternalAccountLinkControllerFindOneResponse, type ExternalAccountLinkControllerRemoveData, type ExternalAccountLinkControllerRemoveResponse, type ExternalAccountLinkListResponseDto, type ExternalAccountLinkResponseDto, type FileImportControllerIdentifyFileData, type FileImportControllerIdentifyFileResponse, type FileImportControllerImportBeancountData, type FileImportControllerImportBeancountResponse, type FileImportControllerImportFileData, type FileImportControllerImportFileResponse, type FileImportDto, type ForecastControllerGetForecastData, type ForecastControllerGetForecastResponse, type ForecastItemDto, type ForecastResponseDto, type FxRateDto, type GenerateSnapshotBody, type GenerateSnapshotResponse, type HealthControllerCheckDatabaseResponse, type HealthControllerCheckOpenBbResponse, type HealthControllerCheckRedisResponse, type HealthControllerGetCircuitBreakersHealthResponse, type HealthControllerGetHealthResponse, type HealthControllerGetMetricsResponse, type HealthControllerResetCircuitBreakerData, type HealthControllerResetCircuitBreakerResponse, HealthService, type HoldingAssetClassAccountSliceDto, type HoldingAssetClassCrossAccountResponseDto, type HoldingPnlControllerGetHoldingPnlData, type HoldingPnlControllerGetHoldingPnlResponse, type HoldingPnlResponseDto, type HoldingPnlRowDto, type HoldingPnlWarningDto, type IdentifyResultDto, type ImportErrorDto, type ImportResultDto, type ImporterConfigControllerGetConfigData, type ImporterConfigControllerGetConfigResponse, type ImporterConfigControllerResetConfigData, type ImporterConfigControllerResetConfigResponse, type ImporterConfigControllerUpdateConfigData, type ImporterConfigControllerUpdateConfigResponse, type ImporterConfigDataDto, type ImporterConfigDto, type InfoControllerGetInfoResponse, type MapperDefaultsDto, type MonetaryDto, type MonthlyForecastDto, type MultiCurrencyBalanceResponseDto, type MultiCurrencyPointDto, type NetWorthByCurrencyDto, type NetWorthResponseDto, type NlpAccountConfirmationDataDto, type NlpAlternativePayeeDto, type NlpControllerClearSessionData, type NlpControllerClearSessionResponse, type NlpControllerGetSessionData, type NlpControllerGetSessionResponse, type NlpControllerProcessNaturalLanguageData, type NlpControllerProcessNaturalLanguageResponse, type NlpDefaultAccountsDto, type NlpDuplicateConfirmationDataDto, type NlpParsedDataDto, type NlpPayeeConfirmationDataDto, type NlpResponseDto, type NlpRuleConfirmationDataDto, type NlpSimilarityDto, type NlpSourceTransactionDto, type NlpSuggestedAccountDto, type NlpSuggestedAccountsDto, type NlpSuggestedPayeeDto, type NlpTargetTransactionDto, type NlpTransactionInfoDto, type OnboardingAccountDto, type OnboardingControllerBootstrapData, type OnboardingControllerBootstrapResponse, type OnboardingDto, OpenAPI, type OpenAPIConfig, type OpeningBalanceResultDto, type PadReconciliationDto, type PadResultDto, type ParserTelemetryReportDto, type PayeeAutocompleteResponseDto, type PayeeControllerAutocompleteData, type PayeeControllerAutocompleteResponse, type PayeeControllerCreateData, type PayeeControllerCreateResponse, type PayeeControllerDeleteData, type PayeeControllerDeleteResponse, type PayeeControllerFindAllData, type PayeeControllerFindAllResponse, type PayeeControllerFindOneData, type PayeeControllerFindOneResponse, type PayeeControllerGetTopPayeesData, type PayeeControllerGetTopPayeesResponse, type PayeeControllerUpdateData, type PayeeControllerUpdateResponse, type PayeeListResponseDto, type PayeeProfileAdminControllerCreateData, type PayeeProfileAdminControllerCreateResponse, type PayeeProfileAdminControllerDeleteData, type PayeeProfileAdminControllerDeleteResponse, type PayeeProfileAdminControllerFindAllData, type PayeeProfileAdminControllerFindAllResponse, type PayeeProfileAdminControllerFindOneData, type PayeeProfileAdminControllerFindOneResponse, type PayeeProfileAdminControllerUnverifyData, type PayeeProfileAdminControllerUnverifyResponse, type PayeeProfileAdminControllerUpdateData, type PayeeProfileAdminControllerUpdateResponse, type PayeeProfileAdminControllerVerifyData, type PayeeProfileAdminControllerVerifyResponse, type PayeeProfileListResponseDto, type PayeeProfileResponseDto, type PayeeResponseDto, type PayeeStatsResponseDto, type PlatformControllerCreateData, type PlatformControllerCreateResponse, type PlatformControllerDeleteData, type PlatformControllerDeleteResponse, type PlatformControllerFindAllResponse, type PlatformControllerGetPlatformListResponse, type PlatformControllerMatchPlatformsData, type PlatformControllerMatchPlatformsResponse, type PlatformControllerUpdateData, type PlatformControllerUpdateResponse, type PlatformGroupDto, type PlatformListItemDto, type PlatformMatchResponseDto, type PlatformMatchResultDto, type PortfolioTrendsResponseDto, type PostingDetailDto, type PostingResponseDto, type PriceControllerBulkCreateData, type PriceControllerBulkCreateResponse, type PriceControllerCreateData, type PriceControllerCreateResponse, type PriceControllerDeleteData, type PriceControllerDeleteResponse, type PriceControllerFindAllData, type PriceControllerFindAllResponse, type PriceControllerFindOneData, type PriceControllerFindOneResponse, type PriceControllerUpdateData, type PriceControllerUpdateResponse, type PriceListResponseDto, type PriceResponseDto, type ProcessNlpDto, type PropertyControllerDeleteData, type PropertyControllerDeleteResponse, type PropertyControllerGetAllResponse, type PropertyControllerGetByKeyData, type PropertyControllerGetByKeyResponse, type PropertyControllerUpdateData, type PropertyControllerUpdateResponse, type ProviderSyncConfigDto, type ProviderSyncControllerGetSupportedProvidersData, type ProviderSyncControllerGetSupportedProvidersResponse, type ProviderSyncControllerIsProviderSupportedData, type ProviderSyncControllerIsProviderSupportedResponse, type ProviderSyncControllerSyncData, type ProviderSyncControllerSyncResponse, type ProviderSyncDto, type ProviderSyncResponseDto, ProviderSyncService, type ReconciliationComputeResultDto, type ReconciliationControllerAssertData, type ReconciliationControllerAssertResponse, type ReconciliationControllerComputeData, type ReconciliationControllerComputeResponse, type ReconciliationControllerHistoryData, type ReconciliationControllerHistoryResponse, type ReconciliationControllerPadData, type ReconciliationControllerPadResponse, type ReconciliationRecordDto, type RecurringMatchInfoDto, type RecurringRuleControllerCreateData, type RecurringRuleControllerCreateFromTransactionData, type RecurringRuleControllerCreateFromTransactionResponse, type RecurringRuleControllerCreateResponse, type RecurringRuleControllerDeleteData, type RecurringRuleControllerDeleteResponse, type RecurringRuleControllerFindAllData, type RecurringRuleControllerFindAllResponse, type RecurringRuleControllerFindOneData, type RecurringRuleControllerFindOneResponse, type RecurringRuleControllerGetWithStatsData, type RecurringRuleControllerGetWithStatsResponse, type RecurringRuleControllerUpdateData, type RecurringRuleControllerUpdateResponse, type RecurringRuleResponseDto, type RecurringRuleWithStatsResponseDto, type RecurringSuggestionDto, type RegionConfigDto, type RegionInfoDto, type RegionsMetadataResponseDto, type ReopenAccountDto, type ReportingControllerBackfillSnapshotsData, type ReportingControllerBackfillSnapshotsResponse, type ReportingControllerGenerateSnapshotData, type ReportingControllerGenerateSnapshotResponse, type ReportingControllerGetCashFlowTrendsData, type ReportingControllerGetCashFlowTrendsResponse, type ReportingControllerGetPortfolioTrendsData, type ReportingControllerGetPortfolioTrendsResponse, type ResolveResultDto, type ResolveReviewDto, type ReviewControllerBatchResolveData, type ReviewControllerBatchResolveResponse, type ReviewControllerFindAllData, type ReviewControllerFindAllResponse, type ReviewControllerFindOneData, type ReviewControllerFindOneResponse, type ReviewControllerGetStatsData, type ReviewControllerGetStatsResponse, type ReviewControllerResolveData, type ReviewControllerResolveResponse, type ReviewControllerUndoData, type ReviewControllerUndoResponse, type ReviewDetailDto, type ReviewItemPreviewDto, type ReviewListResponseDto, type ReviewStatsDto, type ReviewSummaryDto, type RuleStatisticsResponseDto, type SignupDto, type SignupResponseDto, type SupportedProvidersResponseDto, type SymbolControllerGetQuoteData, type SymbolControllerGetQuoteResponse, type SymbolControllerSearchData, type SymbolControllerSearchResponse, type SymbolQuoteDto, type SymbolSearchResultDto, type TagSuggestionDto, type TagSuggestionsResponseDto, type TelemetryControllerGetCoverageMetricsData, type TelemetryControllerGetCoverageMetricsResponse, type TelemetryControllerReportCoverageMissData, type TelemetryControllerReportCoverageMissResponse, type TelemetryControllerReportTelemetryData, type TelemetryControllerReportTelemetryResponse, type TemplateMetadataDto, type TemplateMetadataResponseDto, type TestRuleDto, type TestRuleResponseDto, type TimeSeriesPointDto, type TransactionControllerCorrectData, type TransactionControllerCorrectResponse, type TransactionControllerCreateBatchData, type TransactionControllerCreateBatchResponse, type TransactionControllerCreateData, type TransactionControllerCreateResponse, type TransactionControllerDeleteData, type TransactionControllerDeleteResponse, type TransactionControllerGetDetailData, type TransactionControllerGetDetailResponse, type TransactionControllerListData, type TransactionControllerListResponse, type TransactionControllerSuggestTagsData, type TransactionControllerSuggestTagsResponse, type TransactionControllerUpdateData, type TransactionControllerUpdateResponse, type TransactionDetailDto, type TransactionListResponseDto, type TransactionListSummaryDto, type TransactionResponseDto, type TransactionRuleControllerBulkCreateData, type TransactionRuleControllerBulkCreateResponse, type TransactionRuleControllerCreateData, type TransactionRuleControllerCreateResponse, type TransactionRuleControllerDeleteData, type TransactionRuleControllerDeleteResponse, type TransactionRuleControllerExportData, type TransactionRuleControllerExportResponse, type TransactionRuleControllerGetDetailData, type TransactionRuleControllerGetDetailResponse, type TransactionRuleControllerGetStatisticsData, type TransactionRuleControllerGetStatisticsResponse, type TransactionRuleControllerListData, type TransactionRuleControllerListResponse, type TransactionRuleControllerTestData, type TransactionRuleControllerTestResponse, type TransactionRuleControllerUpdateData, type TransactionRuleControllerUpdateResponse, type TransactionRuleControllerValidateData, type TransactionRuleControllerValidateResponse, type TransactionRuleListResponseDto, type TransactionRuleResponseDto, type TransactionSummaryDto, type TrendSummaryDto, type UncoveredFormatMissDto, type UndoResultDto, type UpdateAccountDto, type UpdateBeanEventDto, type UpdateBeanPriceDto, type UpdateCommodityDto, type UpdateConfigDataDto, type UpdateImporterConfigDto, type UpdateMapperDefaultsDto, type UpdatePayeeDto, type UpdatePayeeProfileDto, type UpdatePlatformDto, type UpdatePropertyDto, type UpdateRecurringRuleDto, type UpdateTransactionDto, type UpdateTransactionRuleDto, type UpdateUserSettingDto, type UserControllerDeleteOwnUserData, type UserControllerDeleteOwnUserResponse, type UserControllerDeleteUserData, type UserControllerDeleteUserResponse, type UserControllerGetAllUserSettingsByPageData, type UserControllerGetAllUserSettingsByPageResponse, type UserControllerGetAssetLiabilitySummaryResponse, type UserControllerGetUserData, type UserControllerGetUserInfoData, type UserControllerGetUserInfoResponse, type UserControllerGetUserResponse, type UserControllerSignupUserData, type UserControllerSignupUserResponse, type UserControllerUpdateUserSettingData, type UserControllerUpdateUserSettingResponse, type ValidateRuleDto, type ValidateRuleResponseDto, type VersionedConfigDto, type action, type action2, type assetClass, type assetSubClass, type assetSubType, type bookingMethod, type branchType, type category, type chartToken, type colorScheme, type confidenceLevel, type conflictStrategy, type dataSource, type equitySubType, type flag, type flag2, type frequency, type importerId, type intent, type investmentAction, type learningSource, type liabilitySubType, type matchLogic, type matchType, type matchType2, type method, type mode, type paymentSource, type period, type provider, type role, type source, type source2, type source3, type status, type status2, type status3, type status4, type suggestedAction, type suggestedFrequency, type type, type type2, type type3, type type4, type value, type viewMode };
9911
+ export { type $OpenApiTs, type AccountControllerAddOpeningBalanceData, type AccountControllerAddOpeningBalanceResponse, type AccountControllerCloseData, type AccountControllerCloseResponse, type AccountControllerCreateData, type AccountControllerCreateResponse, type AccountControllerDeleteData, type AccountControllerDeleteResponse, type AccountControllerFindAllData, type AccountControllerFindAllResponse, type AccountControllerFindOneData, type AccountControllerFindOneResponse, type AccountControllerReopenData, type AccountControllerReopenResponse, type AccountControllerUpdateData, type AccountControllerUpdateResponse, type AccountExchangeRateWarningDto, type AccountItemDto, type AccountItemWithAssetClassDto, type AccountListResponseDto, type AccountResponseDto, type AccountStandardListResponseDto, type AccountStandardResponseDto, type AccountStandardsControllerGetRegionsData, type AccountStandardsControllerGetRegionsResponse, type AccountStandardsControllerGetTemplateMetadataData, type AccountStandardsControllerGetTemplateMetadataResponse, type AccountStandardsControllerGetTemplatesData, type AccountStandardsControllerGetTemplatesResponse, type AccountsResponseDto, type AccountsSummaryDto, type ActualBalanceDto, type AmountDto, type AmountRangeDto, type AnonymousLoginDto, type AnonymousLoginResponseDto, type ApiKeysControllerCreateApiKeyResponse, type ApiProblemResponseDto, type AssertReconciliationDto, type AssetClassAccountsResponseDto, type AssetClassGroupDto, type AssetClassSummaryDto, type AuthControllerAccessTokenLoginData, type AuthControllerAccessTokenLoginResponse, type BackfillSnapshotsBody, type BackfillSnapshotsResponse, type BalanceByCurrencyDto, type BalanceControllerGetBalanceData, type BalanceControllerGetBalanceResponse, type BalanceControllerGetMultiCurrencyBalanceData, type BalanceControllerGetMultiCurrencyBalanceResponse, type BalanceResponseDto, type BatchCreateTransactionDto, type BatchResolveDto, type BatchResolveResultDto, type BatchTransactionErrorDto, type BatchTransactionResponseDto, BeanAccountsService, BeanBalancesService, BeanCommoditiesService, BeanTransactionsService, type BulkCreateRulesDto, type BulkCreateRulesResponseDto, type CacheControllerFlushCacheResponse, type CashFlowByCurrencyDto, type CashFlowPointDto, type CashFlowResponseDto, type CashFlowTrendSummaryDto, type CashFlowTrendsResponseDto, type CategoryCatalogControllerListData, type CategoryCatalogControllerListResponse, type CategoryCatalogEntryDto, type CategoryCatalogListResponseDto, type CategoryGroupDto, type ClientParsedDataDto, type CloseAccountDto, type CommodityControllerBulkCreateData, type CommodityControllerBulkCreateResponse, type CommodityControllerCreateData, type CommodityControllerCreateResponse, type CommodityControllerDeleteData, type CommodityControllerDeleteResponse, type CommodityControllerFindAllData, type CommodityControllerFindAllResponse, type CommodityControllerFindOneData, type CommodityControllerFindOneResponse, type CommodityControllerGetOrCreateData, type CommodityControllerGetOrCreateResponse, type CommodityControllerUpdateData, type CommodityControllerUpdateResponse, type CommodityListResponseDto, type CommodityResponseDto, type ComputeReconciliationDto, type ConfirmMatchDto, type ConvertedCashFlowDto, type ConvertedNetWorthDto, type CorrectTransactionDto, type CostDetailDto, type CostSpecDto, type CreateAccountDto, type CreateBeanEventDto, type CreateBeanPriceDto, type CreateCommodityDto, type CreateExternalAccountLinkDto, type CreateOpeningBalanceDto, type CreatePayeeDto, type CreatePayeeProfileDto, type CreatePlatformDto, type CreatePostingDto, type CreateRecurringRuleDto, type CreateRuleFromTransactionDto, type CreateTransactionDto, type CreateTransactionRuleDto, type CurrencyBalanceDto, type CurrentPriceDto, type DashboardControllerGetAccountsData, type DashboardControllerGetAccountsResponse, type DashboardControllerGetCashFlowData, type DashboardControllerGetCashFlowResponse, type DashboardControllerGetExpensesData, type DashboardControllerGetExpensesResponse, type DashboardControllerGetNetWorthData, type DashboardControllerGetNetWorthResponse, type DecisionOptionDto, type DeleteOwnUserDto, type EnterNowDto, type EventControllerCreateData, type EventControllerCreateResponse, type EventControllerDeleteData, type EventControllerDeleteResponse, type EventControllerFindAllData, type EventControllerFindAllResponse, type EventControllerFindOneData, type EventControllerFindOneResponse, type EventControllerGetSliceData, type EventControllerGetSliceResponse, type EventControllerUpdateData, type EventControllerUpdateResponse, type EventListResponseDto, type EventResponseDto, type ExchangeRateControllerGetExchangeRateData, type ExchangeRateControllerGetExchangeRateResponse, type ExchangeRateWarningDto, type ExpectedTransactionControllerConfirmMatchData, type ExpectedTransactionControllerConfirmMatchResponse, type ExpectedTransactionControllerEnterNowData, type ExpectedTransactionControllerEnterNowResponse, type ExpectedTransactionControllerFindAllData, type ExpectedTransactionControllerFindAllResponse, type ExpectedTransactionControllerFindOneData, type ExpectedTransactionControllerFindOneResponse, type ExpectedTransactionControllerFindOverdueData, type ExpectedTransactionControllerFindOverdueResponse, type ExpectedTransactionControllerSkipData, type ExpectedTransactionControllerSkipResponse, type ExpectedTransactionControllerUndoSkipData, type ExpectedTransactionControllerUndoSkipResponse, type ExpectedTransactionControllerUnmatchData, type ExpectedTransactionControllerUnmatchResponse, type ExpectedTransactionDto, type ExpectedTransactionListResponseDto, type ExpectedTransactionResponseDto, type ExpectedTransactionRuleDto, type ExpensesByCategoryResponseDto, type ExpensesByCategorySummaryDto, type ExportControllerExportBeancountResponse, type ExportRulesResponseDto, type ExternalAccountLinkControllerCreateData, type ExternalAccountLinkControllerCreateResponse, type ExternalAccountLinkControllerFindAllData, type ExternalAccountLinkControllerFindAllResponse, type ExternalAccountLinkControllerFindOneData, type ExternalAccountLinkControllerFindOneResponse, type ExternalAccountLinkControllerRemoveData, type ExternalAccountLinkControllerRemoveResponse, type ExternalAccountLinkListResponseDto, type ExternalAccountLinkResponseDto, type FieldHintDto, type FileImportControllerIdentifyFileData, type FileImportControllerIdentifyFileResponse, type FileImportControllerImportBeancountData, type FileImportControllerImportBeancountResponse, type FileImportControllerImportFileData, type FileImportControllerImportFileResponse, type FileImportDto, type ForecastControllerGetForecastData, type ForecastControllerGetForecastResponse, type ForecastItemDto, type ForecastResponseDto, type FxRateDto, type GenerateSnapshotBody, type GenerateSnapshotResponse, type HealthControllerCheckDatabaseResponse, type HealthControllerCheckOpenBbResponse, type HealthControllerCheckRedisResponse, type HealthControllerGetCircuitBreakersHealthResponse, type HealthControllerGetHealthResponse, type HealthControllerGetMetricsResponse, type HealthControllerResetCircuitBreakerData, type HealthControllerResetCircuitBreakerResponse, HealthService, type HoldingAssetClassAccountSliceDto, type HoldingAssetClassCrossAccountResponseDto, type HoldingPnlControllerGetHoldingPnlData, type HoldingPnlControllerGetHoldingPnlResponse, type HoldingPnlResponseDto, type HoldingPnlRowDto, type HoldingPnlWarningDto, type IdentifyResultDto, type ImportErrorDto, type ImportResultDto, type ImporterConfigControllerGetConfigData, type ImporterConfigControllerGetConfigResponse, type ImporterConfigControllerResetConfigData, type ImporterConfigControllerResetConfigResponse, type ImporterConfigControllerUpdateConfigData, type ImporterConfigControllerUpdateConfigResponse, type ImporterConfigDataDto, type ImporterConfigDto, type InfoControllerGetInfoResponse, type MapperDefaultsDto, type MonetaryDto, type MonthlyForecastDto, type MultiCurrencyBalanceResponseDto, type MultiCurrencyPointDto, type NetWorthByCurrencyDto, type NetWorthResponseDto, type NlpAccountCandidateDto, type NlpAccountConfirmationDataDto, type NlpAlternativePayeeDto, type NlpControllerClearSessionData, type NlpControllerClearSessionResponse, type NlpControllerGetSessionData, type NlpControllerGetSessionResponse, type NlpControllerProcessNaturalLanguageData, type NlpControllerProcessNaturalLanguageResponse, type NlpDefaultAccountsDto, type NlpDuplicateConfirmationDataDto, type NlpParsedDataDto, type NlpPayeeConfirmationDataDto, type NlpResponseDto, type NlpRuleConfirmationDataDto, type NlpSimilarityDto, type NlpSourceTransactionDto, type NlpSuggestedAccountDto, type NlpSuggestedAccountsDto, type NlpSuggestedPayeeDto, type NlpTargetTransactionDto, type NlpTransactionInfoDto, type OnboardingAccountDto, type OnboardingControllerBootstrapData, type OnboardingControllerBootstrapResponse, type OnboardingDto, OpenAPI, type OpenAPIConfig, type OpeningBalanceResultDto, type PadReconciliationDto, type PadResultDto, type ParserContributionControllerCreateData, type ParserContributionControllerCreateResponse, type ParserContributionExamplesDto, type ParserContributionFieldHintsDto, type ParserContributionMetaDto, type ParserContributionRelayResponseDto, type ParserContributionRequestDto, type ParserContributionSamplesDto, type ParserTelemetryReportDto, type PayeeAutocompleteResponseDto, type PayeeControllerAutocompleteData, type PayeeControllerAutocompleteResponse, type PayeeControllerCreateData, type PayeeControllerCreateResponse, type PayeeControllerDeleteData, type PayeeControllerDeleteResponse, type PayeeControllerFindAllData, type PayeeControllerFindAllResponse, type PayeeControllerFindOneData, type PayeeControllerFindOneResponse, type PayeeControllerGetTopPayeesData, type PayeeControllerGetTopPayeesResponse, type PayeeControllerUpdateData, type PayeeControllerUpdateResponse, type PayeeListResponseDto, type PayeeProfileAdminControllerCreateData, type PayeeProfileAdminControllerCreateResponse, type PayeeProfileAdminControllerDeleteData, type PayeeProfileAdminControllerDeleteResponse, type PayeeProfileAdminControllerFindAllData, type PayeeProfileAdminControllerFindAllResponse, type PayeeProfileAdminControllerFindOneData, type PayeeProfileAdminControllerFindOneResponse, type PayeeProfileAdminControllerUnverifyData, type PayeeProfileAdminControllerUnverifyResponse, type PayeeProfileAdminControllerUpdateData, type PayeeProfileAdminControllerUpdateResponse, type PayeeProfileAdminControllerVerifyData, type PayeeProfileAdminControllerVerifyResponse, type PayeeProfileListResponseDto, type PayeeProfileResponseDto, type PayeeResponseDto, type PayeeStatsResponseDto, type PlatformControllerCreateData, type PlatformControllerCreateResponse, type PlatformControllerDeleteData, type PlatformControllerDeleteResponse, type PlatformControllerFindAllResponse, type PlatformControllerGetPlatformListData, type PlatformControllerGetPlatformListResponse, type PlatformControllerGetPlatformStandardsData, type PlatformControllerGetPlatformStandardsResponse, type PlatformControllerMatchPlatformsData, type PlatformControllerMatchPlatformsResponse, type PlatformControllerUpdateData, type PlatformControllerUpdateResponse, type PlatformGroupDto, type PlatformListItemDto, type PlatformMatchResponseDto, type PlatformMatchResultDto, type PlatformStandardsPlatformDto, type PlatformStandardsResponseDto, type PortfolioTrendsResponseDto, type PostingDetailDto, type PostingResponseDto, type PriceControllerBulkCreateData, type PriceControllerBulkCreateResponse, type PriceControllerCreateData, type PriceControllerCreateResponse, type PriceControllerDeleteData, type PriceControllerDeleteResponse, type PriceControllerFindAllData, type PriceControllerFindAllResponse, type PriceControllerFindOneData, type PriceControllerFindOneResponse, type PriceControllerUpdateData, type PriceControllerUpdateResponse, type PriceListResponseDto, type PriceResponseDto, type ProcessNlpDto, type PropertyControllerDeleteData, type PropertyControllerDeleteResponse, type PropertyControllerGetAllResponse, type PropertyControllerGetByKeyData, type PropertyControllerGetByKeyResponse, type PropertyControllerUpdateData, type PropertyControllerUpdateResponse, type ProviderSyncConfigDto, type ProviderSyncControllerGetSupportedProvidersData, type ProviderSyncControllerGetSupportedProvidersResponse, type ProviderSyncControllerIsProviderSupportedData, type ProviderSyncControllerIsProviderSupportedResponse, type ProviderSyncControllerSyncData, type ProviderSyncControllerSyncResponse, type ProviderSyncDto, type ProviderSyncResponseDto, ProviderSyncService, type ReconciliationComputeResultDto, type ReconciliationControllerAssertData, type ReconciliationControllerAssertResponse, type ReconciliationControllerComputeData, type ReconciliationControllerComputeResponse, type ReconciliationControllerHistoryData, type ReconciliationControllerHistoryResponse, type ReconciliationControllerPadData, type ReconciliationControllerPadResponse, type ReconciliationRecordDto, type RecurringMatchInfoDto, type RecurringRuleControllerCreateData, type RecurringRuleControllerCreateFromTransactionData, type RecurringRuleControllerCreateFromTransactionResponse, type RecurringRuleControllerCreateResponse, type RecurringRuleControllerDeleteData, type RecurringRuleControllerDeleteResponse, type RecurringRuleControllerFindAllData, type RecurringRuleControllerFindAllResponse, type RecurringRuleControllerFindOneData, type RecurringRuleControllerFindOneResponse, type RecurringRuleControllerGetWithStatsData, type RecurringRuleControllerGetWithStatsResponse, type RecurringRuleControllerUpdateData, type RecurringRuleControllerUpdateResponse, type RecurringRuleResponseDto, type RecurringRuleWithStatsResponseDto, type RecurringSuggestionDto, type RegionConfigDto, type RegionInfoDto, type RegionsMetadataResponseDto, type ReopenAccountDto, type ReportingControllerBackfillSnapshotsData, type ReportingControllerBackfillSnapshotsResponse, type ReportingControllerGenerateSnapshotData, type ReportingControllerGenerateSnapshotResponse, type ReportingControllerGetCashFlowTrendsData, type ReportingControllerGetCashFlowTrendsResponse, type ReportingControllerGetPortfolioTrendsData, type ReportingControllerGetPortfolioTrendsResponse, type ResolveResultDto, type ResolveReviewDto, type ReviewControllerBatchResolveData, type ReviewControllerBatchResolveResponse, type ReviewControllerFindAllData, type ReviewControllerFindAllResponse, type ReviewControllerFindOneData, type ReviewControllerFindOneResponse, type ReviewControllerGetStatsData, type ReviewControllerGetStatsResponse, type ReviewControllerResolveData, type ReviewControllerResolveResponse, type ReviewControllerUndoData, type ReviewControllerUndoResponse, type ReviewDetailDto, type ReviewItemPreviewDto, type ReviewListResponseDto, type ReviewStatsDto, type ReviewSummaryDto, type RuleStatisticsResponseDto, type SignupDto, type SignupResponseDto, type SupportedProvidersResponseDto, type SymbolControllerGetQuoteData, type SymbolControllerGetQuoteResponse, type SymbolControllerSearchData, type SymbolControllerSearchResponse, type SymbolQuoteDto, type SymbolSearchResultDto, type TagSuggestionDto, type TagSuggestionsResponseDto, type TelemetryControllerGetCoverageMetricsData, type TelemetryControllerGetCoverageMetricsResponse, type TelemetryControllerReportCoverageMissData, type TelemetryControllerReportCoverageMissResponse, type TelemetryControllerReportTelemetryData, type TelemetryControllerReportTelemetryResponse, type TemplateMetadataDto, type TemplateMetadataResponseDto, type TestRuleDto, type TestRuleResponseDto, type TimeSeriesPointDto, type TransactionControllerCorrectData, type TransactionControllerCorrectResponse, type TransactionControllerCreateBatchData, type TransactionControllerCreateBatchResponse, type TransactionControllerCreateData, type TransactionControllerCreateResponse, type TransactionControllerDeleteData, type TransactionControllerDeleteResponse, type TransactionControllerGetDetailData, type TransactionControllerGetDetailResponse, type TransactionControllerListData, type TransactionControllerListResponse, type TransactionControllerSuggestTagsData, type TransactionControllerSuggestTagsResponse, type TransactionControllerUpdateData, type TransactionControllerUpdateResponse, type TransactionDetailDto, type TransactionListItemDto, type TransactionListResponseDto, type TransactionListSummaryDto, type TransactionListViewpointDto, type TransactionResponseDto, type TransactionRuleControllerBulkCreateData, type TransactionRuleControllerBulkCreateResponse, type TransactionRuleControllerCreateData, type TransactionRuleControllerCreateResponse, type TransactionRuleControllerDeleteData, type TransactionRuleControllerDeleteResponse, type TransactionRuleControllerExportData, type TransactionRuleControllerExportResponse, type TransactionRuleControllerGetDetailData, type TransactionRuleControllerGetDetailResponse, type TransactionRuleControllerGetStatisticsData, type TransactionRuleControllerGetStatisticsResponse, type TransactionRuleControllerListData, type TransactionRuleControllerListResponse, type TransactionRuleControllerTestData, type TransactionRuleControllerTestResponse, type TransactionRuleControllerUpdateData, type TransactionRuleControllerUpdateResponse, type TransactionRuleControllerValidateData, type TransactionRuleControllerValidateResponse, type TransactionRuleListResponseDto, type TransactionRuleResponseDto, type TransactionSummaryDto, type TrendSummaryDto, type UncoveredFormatMissDto, type UndoResultDto, type UpdateAccountDto, type UpdateBeanEventDto, type UpdateBeanPriceDto, type UpdateCommodityDto, type UpdateConfigDataDto, type UpdateImporterConfigDto, type UpdateMapperDefaultsDto, type UpdatePayeeDto, type UpdatePayeeProfileDto, type UpdatePlatformDto, type UpdatePropertyDto, type UpdateRecurringRuleDto, type UpdateTransactionDto, type UpdateTransactionRuleDto, type UpdateUserSettingDto, type UserControllerDeleteOwnUserData, type UserControllerDeleteOwnUserResponse, type UserControllerDeleteUserData, type UserControllerDeleteUserResponse, type UserControllerGetAllUserSettingsByPageData, type UserControllerGetAllUserSettingsByPageResponse, type UserControllerGetAssetLiabilitySummaryResponse, type UserControllerGetUserData, type UserControllerGetUserInfoData, type UserControllerGetUserInfoResponse, type UserControllerGetUserResponse, type UserControllerSignupUserData, type UserControllerSignupUserResponse, type UserControllerUpdateUserSettingData, type UserControllerUpdateUserSettingResponse, type UserResponseDto, type UserSettingsResponseDto, type ValidateRuleDto, type ValidateRuleResponseDto, type VersionedConfigDto, type accountType, type action, type action2, type assetClass, type assetSubClass, type assetSubType, type bookingMethod, type branchType, type category, type chartToken, type colorScheme, type confidenceLevel, type conflictStrategy, type dataSource, type equitySubType, type flag, type flag2, type flow, type format, type frequency, type importerId, type intent, type investmentAction, type learningSource, type liabilitySubType, type matchLogic, type matchType, type matchType2, type method, type mode, type paymentSource, type period, type productCategory, type provider, type region, type role, type scenario, type signConvention, type source, type source2, type source3, type status, type status2, type status3, type status4, type suggestedAction, type suggestedFrequency, type type, type type2, type type3, type type4, type type5, type value, type viewMode, type viewpointFlow };