@firela/api-types 0.0.0-canary.486851ea → 0.0.0-canary.4b5096a2

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
@@ -50,6 +50,10 @@ type CreateAccountDto = {
50
50
  * Icon identifier (overrides template)
51
51
  */
52
52
  icon?: string;
53
+ /**
54
+ * User-set display name override (omit/null = keep the derived name)
55
+ */
56
+ displayName?: string | null;
53
57
  /**
54
58
  * Open directive metadata (NOT an opening-balance amount — use the opening-balance endpoint)
55
59
  */
@@ -111,7 +115,7 @@ type AccountResponseDto = {
111
115
  */
112
116
  isCustom: boolean;
113
117
  /**
114
- * Localized display name (ADR-0114, read-time projection)
118
+ * Display name with precedence: user-set name (#762) > ADR-0114 localized name > path leaf (read-time projection)
115
119
  */
116
120
  displayName?: string;
117
121
  /**
@@ -127,9 +131,7 @@ type AccountResponseDto = {
127
131
  /**
128
132
  * Platform ID (null if unbound)
129
133
  */
130
- platformId?: {
131
- [key: string]: unknown;
132
- };
134
+ platformId?: string;
133
135
  /**
134
136
  * Platform details (populated if platformId is set)
135
137
  */
@@ -239,15 +241,27 @@ type AccountStandardResponseDto = {
239
241
  */
240
242
  type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
241
243
  /**
242
- * Short localized display name
244
+ * 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
245
  */
244
246
  name?: string;
245
247
  /**
246
- * Account description (stable semantics only)
248
+ * 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.
249
+ */
250
+ aliases?: Array<string>;
251
+ /**
252
+ * 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).
253
+ */
254
+ searchTerms?: Array<string>;
255
+ /**
256
+ * 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).
257
+ */
258
+ currency?: string;
259
+ /**
260
+ * 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
261
  */
248
262
  description: string;
249
263
  /**
250
- * Account tags for categorization
264
+ * Account tags for categorization — structured metadata delivered verbatim (not localized, not xlf-managed). ADR-0131 class A.
251
265
  */
252
266
  tags: Array<string>;
253
267
  /**
@@ -301,10 +315,17 @@ type TemplateMetadataResponseDto = {
301
315
  type RegionConfigDto = {
302
316
  currency: string;
303
317
  dateFormat: string;
318
+ /**
319
+ * 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)
320
+ */
304
321
  locale: string;
305
322
  };
306
323
  type RegionInfoDto = {
307
324
  code: string;
325
+ /**
326
+ * 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.
327
+ */
328
+ open: boolean;
308
329
  displayName: string;
309
330
  parent?: string;
310
331
  chain: Array<string>;
@@ -457,7 +478,7 @@ type PostingResponseDto = {
457
478
  */
458
479
  account: string;
459
480
  /**
460
- * Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
481
+ * 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.
461
482
  */
462
483
  units?: string;
463
484
  /**
@@ -669,7 +690,7 @@ type PostingDetailDto = {
669
690
  */
670
691
  account: string;
671
692
  /**
672
- * Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
693
+ * 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.
673
694
  */
674
695
  units?: string;
675
696
  /**
@@ -799,6 +820,94 @@ type flag2 = 'CLEARED' | 'PENDING' | 'PADDING' | 'SUMMARIZE' | 'TRANSFER' | 'CON
799
820
  * Transaction status
800
821
  */
801
822
  type status2 = 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
823
+ type TransactionListItemDto = {
824
+ /**
825
+ * Transaction ID
826
+ */
827
+ id: string;
828
+ /**
829
+ * Transaction date
830
+ */
831
+ date: string;
832
+ /**
833
+ * Transaction flag
834
+ */
835
+ flag?: 'CLEARED' | 'PENDING' | 'PADDING' | 'SUMMARIZE' | 'TRANSFER' | 'CONVERSIONS';
836
+ /**
837
+ * Custom flag (if not using standard flags)
838
+ */
839
+ customFlag?: string;
840
+ /**
841
+ * Payee name
842
+ */
843
+ payee?: string;
844
+ /**
845
+ * Transaction narration
846
+ */
847
+ narration: string;
848
+ /**
849
+ * Transaction tags
850
+ */
851
+ tags: Array<string>;
852
+ /**
853
+ * Transaction links
854
+ */
855
+ links: Array<string>;
856
+ /**
857
+ * Transaction metadata
858
+ */
859
+ meta?: {
860
+ [key: string]: unknown;
861
+ };
862
+ /**
863
+ * Transaction status
864
+ */
865
+ status: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
866
+ /**
867
+ * Source type (free-form string from transaction metadata, e.g. import, api)
868
+ */
869
+ sourceType?: string;
870
+ /**
871
+ * Source platform (e.g., alipay, wechat)
872
+ */
873
+ sourcePlatform?: string;
874
+ /**
875
+ * Transaction postings
876
+ */
877
+ postings: Array<PostingDetailDto>;
878
+ /**
879
+ * Created at timestamp
880
+ */
881
+ createdAt: string;
882
+ /**
883
+ * Voided at timestamp (if voided)
884
+ */
885
+ voidedAt?: string;
886
+ /**
887
+ * User ID who voided this transaction
888
+ */
889
+ voidedBy?: string;
890
+ /**
891
+ * Correction reason (if voided or superseded)
892
+ */
893
+ correctionReason?: string;
894
+ /**
895
+ * ID of the transaction that supersedes this one (set when status=SUPERSEDED)
896
+ */
897
+ supersededBy?: string;
898
+ /**
899
+ * ID of the transaction this one corrected/replaced (back-link on the replacement)
900
+ */
901
+ originalTxn?: string;
902
+ /**
903
+ * 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.
904
+ */
905
+ viewpointAmount?: string;
906
+ /**
907
+ * Currency of viewpointAmount. A row spanning multiple currencies takes the largest-magnitude currency group (known simplification, ADR-0126).
908
+ */
909
+ viewpointCurrency?: string;
910
+ };
802
911
  type BalanceByCurrencyDto = {
803
912
  /**
804
913
  * ISO 4217 currency code
@@ -825,7 +934,7 @@ type ExchangeRateWarningDto = {
825
934
  };
826
935
  type TransactionListSummaryDto = {
827
936
  /**
828
- * 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.
937
+ * 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.
829
938
  */
830
939
  totalAmount: string;
831
940
  /**
@@ -841,11 +950,29 @@ type TransactionListSummaryDto = {
841
950
  */
842
951
  warnings?: Array<ExchangeRateWarningDto>;
843
952
  };
953
+ type TransactionListViewpointDto = {
954
+ /**
955
+ * Viewpoint type (only category drill-down carries a viewpoint today)
956
+ */
957
+ type: 'category';
958
+ /**
959
+ * Flow root the category account set is restricted to
960
+ */
961
+ flow: 'income' | 'expense';
962
+ };
963
+ /**
964
+ * Viewpoint type (only category drill-down carries a viewpoint today)
965
+ */
966
+ type type2 = 'category';
967
+ /**
968
+ * Flow root the category account set is restricted to
969
+ */
970
+ type flow = 'income' | 'expense';
844
971
  type TransactionListResponseDto = {
845
972
  /**
846
973
  * List of transactions
847
974
  */
848
- data: Array<TransactionDetailDto>;
975
+ data: Array<TransactionListItemDto>;
849
976
  /**
850
977
  * Total count of matching transactions
851
978
  */
@@ -862,6 +989,10 @@ type TransactionListResponseDto = {
862
989
  * 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.
863
990
  */
864
991
  summary?: TransactionListSummaryDto;
992
+ /**
993
+ * 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).
994
+ */
995
+ viewpoint?: TransactionListViewpointDto;
865
996
  };
866
997
  type TagSuggestionDto = {
867
998
  /**
@@ -1054,7 +1185,7 @@ type ReviewSummaryDto = {
1054
1185
  /**
1055
1186
  * Review type
1056
1187
  */
1057
- type type2 = 'DUPLICATE' | 'RULE_MATCH' | 'PAYEE_MATCH' | 'ACCOUNT_VALIDATION' | 'PIPELINE_ERROR';
1188
+ type type3 = 'DUPLICATE' | 'RULE_MATCH' | 'PAYEE_MATCH' | 'ACCOUNT_VALIDATION' | 'PIPELINE_ERROR';
1058
1189
  /**
1059
1190
  * Review status
1060
1191
  */
@@ -1418,7 +1549,7 @@ type UpdatePayeeDto = {
1418
1549
  */
1419
1550
  customTags?: Array<string>;
1420
1551
  /**
1421
- * Metadata for extended information (location, notes, contact info, etc.). Will merge with existing metadata.
1552
+ * Metadata for extended information (location, notes, contact info, etc.)
1422
1553
  */
1423
1554
  meta?: {
1424
1555
  [key: string]: unknown;
@@ -1708,451 +1839,423 @@ type UpdateCommodityDto = {
1708
1839
  [key: string]: unknown;
1709
1840
  };
1710
1841
  };
1711
- type CreateBeanPriceDto = {
1842
+ type CurrencyBalanceDto = {
1712
1843
  /**
1713
- * Currency being priced (e.g., USD, AAPL, BTC)
1844
+ * ISO 4217 currency code
1714
1845
  */
1715
1846
  currency: string;
1716
1847
  /**
1717
- * Quote currency (pricing currency, e.g., CNY, EUR)
1848
+ * Balance amount
1718
1849
  */
1719
- quoteCurrency: string;
1850
+ balance: string;
1851
+ };
1852
+ type TimeSeriesPointDto = {
1720
1853
  /**
1721
- * Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
1854
+ * Date in YYYY-MM-DD format
1722
1855
  */
1723
- amount: number;
1856
+ date: string;
1724
1857
  /**
1725
- * Price date (ISO 8601 format)
1858
+ * Value at this date (in base currency)
1726
1859
  */
1727
- date: string;
1860
+ value: string;
1728
1861
  /**
1729
- * Metadata (validated by Zod schema, max field lengths enforced)
1862
+ * Change from previous point
1730
1863
  */
1731
- metadata?: {
1732
- [key: string]: unknown;
1733
- };
1734
- };
1735
- type PriceResponseDto = {
1864
+ change?: string;
1736
1865
  /**
1737
- * Unique identifier
1866
+ * Total assets at this date (in base currency)
1738
1867
  */
1739
- id: string;
1868
+ assets?: string;
1740
1869
  /**
1741
- * User ID (owner of the price)
1870
+ * Total liabilities at this date (in base currency)
1742
1871
  */
1743
- userId: string;
1872
+ liabilities?: string;
1744
1873
  /**
1745
- * Currency being priced (e.g., USD, AAPL, BTC)
1874
+ * Multi-currency breakdown for this point
1746
1875
  */
1747
- currency: string;
1876
+ byCurrency?: Array<CurrencyBalanceDto>;
1877
+ };
1878
+ type TrendSummaryDto = {
1748
1879
  /**
1749
- * Quote currency (pricing currency, e.g., USD, CNY)
1880
+ * Value at start of period
1750
1881
  */
1751
- quoteCurrency: string;
1882
+ startValue: string;
1752
1883
  /**
1753
- * Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
1884
+ * Value at end of period
1754
1885
  */
1755
- amount: number;
1886
+ endValue: string;
1756
1887
  /**
1757
- * Price date (ISO 8601 format). Represents the date this price was valid.
1888
+ * Total change over period
1758
1889
  */
1759
- date: string;
1890
+ totalChange: string;
1760
1891
  /**
1761
- * Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
1892
+ * Total change percentage
1762
1893
  */
1763
- meta: {
1764
- [key: string]: unknown;
1765
- };
1894
+ totalChangePercentage: string;
1895
+ };
1896
+ type MultiCurrencyPointDto = {
1766
1897
  /**
1767
- * Creation timestamp
1898
+ * Date in YYYY-MM-DD format
1768
1899
  */
1769
- createdAt: string;
1900
+ date: string;
1770
1901
  /**
1771
- * Last update timestamp
1902
+ * Balances by currency
1772
1903
  */
1773
- updatedAt: string;
1904
+ byCurrency: Array<CurrencyBalanceDto>;
1774
1905
  };
1775
- type PriceListResponseDto = {
1906
+ type PortfolioTrendsResponseDto = {
1776
1907
  /**
1777
- * List of prices
1908
+ * Time series data points
1778
1909
  */
1779
- items: Array<PriceResponseDto>;
1910
+ series: Array<TimeSeriesPointDto>;
1780
1911
  /**
1781
- * Total number of prices
1912
+ * Period summary
1782
1913
  */
1783
- total: number;
1784
- };
1785
- type UpdateBeanPriceDto = {
1914
+ summary: TrendSummaryDto;
1786
1915
  /**
1787
- * Currency being priced
1916
+ * Period requested
1788
1917
  */
1789
- currency?: string;
1918
+ period: string;
1790
1919
  /**
1791
- * Quote currency (pricing currency)
1920
+ * Data granularity
1792
1921
  */
1793
- quoteCurrency?: string;
1922
+ granularity: string;
1794
1923
  /**
1795
- * Price amount (MUST be >= 0 per Beancount spec)
1924
+ * Base currency for converted values
1796
1925
  */
1797
- amount?: number;
1926
+ currency: string;
1798
1927
  /**
1799
- * Price date (ISO 8601 format)
1928
+ * Multi-currency time series (each point has currency breakdown)
1800
1929
  */
1801
- date?: string;
1930
+ byCurrency?: Array<MultiCurrencyPointDto>;
1802
1931
  /**
1803
- * Metadata
1932
+ * Exchange rate warnings
1804
1933
  */
1805
- metadata?: {
1806
- [key: string]: unknown;
1807
- };
1934
+ warnings?: Array<ExchangeRateWarningDto>;
1808
1935
  };
1809
- type CreateRecurringRuleDto = {
1936
+ type CashFlowPointDto = {
1810
1937
  /**
1811
- * Rule name (unique per user)
1938
+ * Month key (YYYY-MM)
1812
1939
  */
1813
- name: string;
1940
+ month: string;
1814
1941
  /**
1815
- * Icon emoji
1942
+ * Income in base currency (absolute, converted)
1816
1943
  */
1817
- icon?: string;
1944
+ income: string;
1818
1945
  /**
1819
- * Recurring frequency
1946
+ * Expense in base currency (absolute, converted)
1820
1947
  */
1821
- frequency: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
1948
+ expense: string;
1822
1949
  /**
1823
- * Expected amount (positive number)
1950
+ * netSavings = income − expense (savings positive)
1824
1951
  */
1825
- expectedAmount: number;
1952
+ netSavings: string;
1953
+ };
1954
+ type CashFlowTrendSummaryDto = {
1826
1955
  /**
1827
- * Expected day of month (1-31)
1956
+ * Total income across the period
1828
1957
  */
1829
- expectedDay?: number;
1958
+ totalIncome: string;
1830
1959
  /**
1831
- * Custom interval in days (required for CUSTOM frequency)
1960
+ * Total expense across the period
1832
1961
  */
1833
- customIntervalDays?: number;
1962
+ totalExpense: string;
1834
1963
  /**
1835
- * Currency code
1964
+ * income − expense across the period
1836
1965
  */
1837
- currency: string;
1966
+ totalNetSavings: string;
1838
1967
  /**
1839
- * Payee matching pattern (supports wildcards)
1968
+ * totalNetSavings divided by the window length (N months, incl. zero-filled)
1840
1969
  */
1841
- matchPayeePattern?: string;
1970
+ averageMonthlyNetSavings: string;
1971
+ };
1972
+ type CashFlowTrendsResponseDto = {
1842
1973
  /**
1843
- * Amount tolerance percentage (0-1)
1974
+ * Monthly cash-flow series (fixed N-month window, zero-filled)
1844
1975
  */
1845
- matchAmountTolerance: number;
1976
+ series: Array<CashFlowPointDto>;
1846
1977
  /**
1847
- * Default expense account for auto-create
1978
+ * Period totals
1848
1979
  */
1849
- defaultExpenseAccount?: string;
1980
+ summary: CashFlowTrendSummaryDto;
1850
1981
  /**
1851
- * Default payment account for auto-create
1982
+ * Period requested
1852
1983
  */
1853
- defaultPaymentAccount?: string;
1984
+ period: string;
1854
1985
  /**
1855
- * Default payee for auto-create
1986
+ * Data granularity (v1 returns month buckets)
1856
1987
  */
1857
- defaultPayee?: string;
1988
+ granularity: string;
1858
1989
  /**
1859
- * Auto-create transaction when expected date arrives
1990
+ * Base currency for converted values
1860
1991
  */
1861
- autoCreate: boolean;
1992
+ currency: string;
1862
1993
  /**
1863
- * Rule start date (ISO format)
1994
+ * Exchange rate warnings (e.g. missing rate for a currency)
1864
1995
  */
1865
- startDate?: string;
1996
+ warnings?: Array<ExchangeRateWarningDto>;
1997
+ };
1998
+ type GenerateSnapshotBody = unknown;
1999
+ type GenerateSnapshotResponse = unknown;
2000
+ type BackfillSnapshotsBody = unknown;
2001
+ type BackfillSnapshotsResponse = unknown;
2002
+ type CreateBeanPriceDto = {
1866
2003
  /**
1867
- * Rule end date (ISO format)
2004
+ * Currency being priced (e.g., USD, AAPL, BTC)
1868
2005
  */
1869
- endDate?: string;
1870
- };
1871
- /**
1872
- * Recurring frequency
1873
- */
1874
- type frequency = 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
1875
- type RecurringRuleResponseDto = {
2006
+ currency: string;
1876
2007
  /**
1877
- * Rule ID
2008
+ * Quote currency (pricing currency, e.g., CNY, EUR)
1878
2009
  */
1879
- id: string;
2010
+ quoteCurrency: string;
1880
2011
  /**
1881
- * User ID
2012
+ * Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
1882
2013
  */
1883
- userId: string;
2014
+ amount: number;
1884
2015
  /**
1885
- * Rule name
2016
+ * Price date (ISO 8601 format)
1886
2017
  */
1887
- name: string;
2018
+ date: string;
1888
2019
  /**
1889
- * Icon emoji
2020
+ * Metadata (validated by Zod schema, max field lengths enforced)
1890
2021
  */
1891
- icon?: {
2022
+ metadata?: {
1892
2023
  [key: string]: unknown;
1893
2024
  };
2025
+ };
2026
+ type PriceResponseDto = {
1894
2027
  /**
1895
- * Recurring frequency
1896
- */
1897
- frequency: string;
1898
- /**
1899
- * Expected amount
1900
- */
1901
- expectedAmount: number;
1902
- /**
1903
- * Expected day of month
2028
+ * Unique identifier
1904
2029
  */
1905
- expectedDay?: {
1906
- [key: string]: unknown;
1907
- };
2030
+ id: string;
1908
2031
  /**
1909
- * Custom interval in days
2032
+ * User ID (owner of the price)
1910
2033
  */
1911
- customIntervalDays?: {
1912
- [key: string]: unknown;
1913
- };
2034
+ userId: string;
1914
2035
  /**
1915
- * Currency code
2036
+ * Currency being priced (e.g., USD, AAPL, BTC)
1916
2037
  */
1917
2038
  currency: string;
1918
2039
  /**
1919
- * Payee matching pattern
2040
+ * Quote currency (pricing currency, e.g., USD, CNY)
1920
2041
  */
1921
- matchPayeePattern?: {
1922
- [key: string]: unknown;
1923
- };
2042
+ quoteCurrency: string;
1924
2043
  /**
1925
- * Amount tolerance percentage
2044
+ * Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
1926
2045
  */
1927
- matchAmountTolerance: number;
2046
+ amount: number;
1928
2047
  /**
1929
- * Default expense account
2048
+ * Price date (ISO 8601 format). Represents the date this price was valid.
1930
2049
  */
1931
- defaultExpenseAccount?: {
1932
- [key: string]: unknown;
1933
- };
2050
+ date: string;
1934
2051
  /**
1935
- * Default payment account
2052
+ * Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
1936
2053
  */
1937
- defaultPaymentAccount?: {
2054
+ meta: {
1938
2055
  [key: string]: unknown;
1939
2056
  };
1940
2057
  /**
1941
- * Default payee
2058
+ * Creation timestamp
1942
2059
  */
1943
- defaultPayee?: {
1944
- [key: string]: unknown;
1945
- };
2060
+ createdAt: string;
1946
2061
  /**
1947
- * Whether rule is active
2062
+ * Last update timestamp
1948
2063
  */
1949
- isActive: boolean;
2064
+ updatedAt: string;
2065
+ };
2066
+ type PriceListResponseDto = {
1950
2067
  /**
1951
- * Rule start date (YYYY-MM-DD)
2068
+ * List of prices
1952
2069
  */
1953
- startDate: string;
2070
+ items: Array<PriceResponseDto>;
1954
2071
  /**
1955
- * Rule end date (YYYY-MM-DD)
2072
+ * Total number of prices
1956
2073
  */
1957
- endDate?: {
1958
- [key: string]: unknown;
1959
- };
2074
+ total: number;
2075
+ };
2076
+ type UpdateBeanPriceDto = {
1960
2077
  /**
1961
- * Auto-create transaction on expected date
2078
+ * Currency being priced
1962
2079
  */
1963
- autoCreate: boolean;
2080
+ currency?: string;
1964
2081
  /**
1965
- * Last matched occurrence date (YYYY-MM-DD)
2082
+ * Quote currency (pricing currency)
1966
2083
  */
1967
- lastOccurrence?: {
1968
- [key: string]: unknown;
1969
- };
2084
+ quoteCurrency?: string;
1970
2085
  /**
1971
- * Total matched transactions count
2086
+ * Price amount (MUST be >= 0 per Beancount spec)
1972
2087
  */
1973
- totalCount: number;
2088
+ amount?: number;
1974
2089
  /**
1975
- * Created at timestamp
2090
+ * Price date (ISO 8601 format)
1976
2091
  */
1977
- createdAt: string;
2092
+ date?: string;
1978
2093
  /**
1979
- * Updated at timestamp
2094
+ * Metadata
1980
2095
  */
1981
- updatedAt: string;
2096
+ metadata?: {
2097
+ [key: string]: unknown;
2098
+ };
1982
2099
  };
1983
- type CreateRuleFromTransactionDto = {
1984
- /**
1985
- * Recurring frequency
1986
- */
1987
- frequency: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
1988
- /**
1989
- * Optional name override (default: transaction payee)
1990
- */
1991
- name?: string;
2100
+ type DeleteOwnUserDto = {
1992
2101
  /**
1993
- * Optional icon emoji
2102
+ * Access token for user verification
1994
2103
  */
1995
- icon?: string;
2104
+ accessToken: string;
1996
2105
  };
1997
- type RecurringRuleWithStatsResponseDto = {
2106
+ type UserSettingsResponseDto = {
1998
2107
  /**
1999
- * Rule ID
2108
+ * 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).
2000
2109
  */
2001
- id: string;
2110
+ baseCurrency: string | null;
2111
+ };
2112
+ type UserResponseDto = {
2002
2113
  /**
2003
2114
  * User ID
2004
2115
  */
2005
- userId: string;
2006
- /**
2007
- * Rule name
2008
- */
2009
- name: string;
2116
+ id: string;
2010
2117
  /**
2011
- * Icon emoji
2118
+ * Assigned user role
2012
2119
  */
2013
- icon?: {
2014
- [key: string]: unknown;
2015
- };
2120
+ role: string;
2016
2121
  /**
2017
- * Recurring frequency
2122
+ * Permission strings
2018
2123
  */
2019
- frequency: string;
2124
+ permissions: Array<string>;
2020
2125
  /**
2021
- * Expected amount
2126
+ * User settings
2022
2127
  */
2023
- expectedAmount: number;
2128
+ settings: UserSettingsResponseDto;
2129
+ };
2130
+ type SignupDto = {
2024
2131
  /**
2025
- * Expected day of month
2132
+ * Cloudflare Turnstile verification token (optional when Turnstile disabled)
2026
2133
  */
2027
- expectedDay?: {
2028
- [key: string]: unknown;
2029
- };
2134
+ turnstileToken?: string;
2135
+ };
2136
+ type SignupResponseDto = {
2030
2137
  /**
2031
- * Custom interval in days
2138
+ * JWT auth token
2032
2139
  */
2033
- customIntervalDays?: {
2034
- [key: string]: unknown;
2035
- };
2140
+ authToken: string;
2036
2141
  /**
2037
- * Currency code
2142
+ * Auto-generated access token
2038
2143
  */
2039
- currency: string;
2144
+ accessToken: string;
2040
2145
  /**
2041
- * Payee matching pattern
2146
+ * Assigned user role
2042
2147
  */
2043
- matchPayeePattern?: {
2044
- [key: string]: unknown;
2045
- };
2148
+ role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2149
+ };
2150
+ /**
2151
+ * Assigned user role
2152
+ */
2153
+ type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2154
+ type UpdateUserSettingDto = {
2046
2155
  /**
2047
- * Amount tolerance percentage
2156
+ * Security ID
2048
2157
  */
2049
- matchAmountTolerance: number;
2158
+ secId?: number;
2050
2159
  /**
2051
- * Default expense account
2160
+ * Annual interest rate
2052
2161
  */
2053
- defaultExpenseAccount?: {
2054
- [key: string]: unknown;
2055
- };
2162
+ annualInterestRate?: number;
2056
2163
  /**
2057
- * Default payment account
2164
+ * Currency code
2058
2165
  */
2059
- defaultPaymentAccount?: {
2060
- [key: string]: unknown;
2061
- };
2166
+ currency?: string;
2062
2167
  /**
2063
- * Default payee
2168
+ * Base currency code
2064
2169
  */
2065
- defaultPayee?: {
2066
- [key: string]: unknown;
2067
- };
2170
+ baseCurrency?: string;
2068
2171
  /**
2069
- * Whether rule is active
2172
+ * Benchmark symbol
2070
2173
  */
2071
- isActive: boolean;
2174
+ benchmark?: string;
2072
2175
  /**
2073
- * Rule start date (YYYY-MM-DD)
2176
+ * Color scheme
2074
2177
  */
2075
- startDate: string;
2178
+ colorScheme?: 'DARK' | 'LIGHT';
2076
2179
  /**
2077
- * Rule end date (YYYY-MM-DD)
2180
+ * Date range filter
2078
2181
  */
2079
- endDate?: {
2080
- [key: string]: unknown;
2081
- };
2182
+ dateRange?: string;
2082
2183
  /**
2083
- * Auto-create transaction on expected date
2184
+ * Emergency fund amount
2084
2185
  */
2085
- autoCreate: boolean;
2186
+ emergencyFund?: number;
2086
2187
  /**
2087
- * Last matched occurrence date (YYYY-MM-DD)
2188
+ * Account filter IDs
2088
2189
  */
2089
- lastOccurrence?: {
2090
- [key: string]: unknown;
2091
- };
2190
+ 'filters.accounts'?: Array<string>;
2092
2191
  /**
2093
- * Total matched transactions count
2192
+ * Asset class filters
2094
2193
  */
2095
- totalCount: number;
2194
+ 'filters.assetClasses'?: Array<string>;
2096
2195
  /**
2097
- * Created at timestamp
2196
+ * Data source filter
2098
2197
  */
2099
- createdAt: string;
2198
+ 'filters.dataSource'?: string;
2100
2199
  /**
2101
- * Updated at timestamp
2200
+ * Symbol filter
2102
2201
  */
2103
- updatedAt: string;
2202
+ 'filters.symbol'?: string;
2104
2203
  /**
2105
- * Number of pending expected transactions
2204
+ * Tag filters
2106
2205
  */
2107
- pendingCount: number;
2206
+ 'filters.tags'?: Array<string>;
2108
2207
  /**
2109
- * Number of overdue expected transactions
2208
+ * Enable experimental features
2110
2209
  */
2111
- overdueCount: number;
2210
+ isExperimentalFeatures?: boolean;
2112
2211
  /**
2113
- * Next expected date (YYYY-MM-DD)
2212
+ * Enable restricted view mode
2114
2213
  */
2115
- nextExpectedDate?: {
2116
- [key: string]: unknown;
2117
- };
2214
+ isRestrictedView?: boolean;
2118
2215
  /**
2119
- * Total amount of all matched transactions
2216
+ * Language code
2120
2217
  */
2121
- totalAmount: number;
2218
+ language?: string;
2122
2219
  /**
2123
- * Average amount per transaction
2220
+ * Locale code
2124
2221
  */
2125
- averageAmount: number;
2222
+ locale?: string;
2126
2223
  /**
2127
- * Number of matched transactions
2224
+ * Projected total amount
2128
2225
  */
2129
- transactionCount: number;
2226
+ projectedTotalAmount?: number;
2130
2227
  /**
2131
- * First matched transaction date (YYYY-MM-DD)
2228
+ * Retirement date in ISO 8601 format
2132
2229
  */
2133
- firstDate?: {
2134
- [key: string]: unknown;
2135
- };
2230
+ retirementDate?: string;
2136
2231
  /**
2137
- * Last matched transaction date (YYYY-MM-DD)
2232
+ * Savings rate percentage
2138
2233
  */
2139
- lastDate?: {
2140
- [key: string]: unknown;
2141
- };
2234
+ savingsRate?: number;
2142
2235
  /**
2143
- * Amount variance (standard deviation squared)
2236
+ * View mode
2144
2237
  */
2145
- variance: number;
2238
+ viewMode?: 'DEFAULT' | 'ZEN';
2239
+ };
2240
+ /**
2241
+ * Color scheme
2242
+ */
2243
+ type colorScheme = 'DARK' | 'LIGHT';
2244
+ /**
2245
+ * View mode
2246
+ */
2247
+ type viewMode = 'DEFAULT' | 'ZEN';
2248
+ type UpdatePropertyDto = {
2146
2249
  /**
2147
- * Number of upcoming expected transactions
2250
+ * Property value
2148
2251
  */
2149
- upcomingCount: number;
2252
+ value: string;
2150
2253
  };
2151
- type UpdateRecurringRuleDto = {
2254
+ type CreateRecurringRuleDto = {
2152
2255
  /**
2153
- * Rule name
2256
+ * Rule name (unique per user)
2154
2257
  */
2155
- name?: string;
2258
+ name: string;
2156
2259
  /**
2157
2260
  * Icon emoji
2158
2261
  */
@@ -2160,17 +2263,17 @@ type UpdateRecurringRuleDto = {
2160
2263
  /**
2161
2264
  * Recurring frequency
2162
2265
  */
2163
- frequency?: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2266
+ frequency: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2164
2267
  /**
2165
- * Expected amount
2268
+ * Expected amount (positive number)
2166
2269
  */
2167
- expectedAmount?: number;
2270
+ expectedAmount: number;
2168
2271
  /**
2169
2272
  * Expected day of month (1-31)
2170
2273
  */
2171
2274
  expectedDay?: number;
2172
2275
  /**
2173
- * Custom interval in days
2276
+ * Custom interval in days (required for CUSTOM frequency)
2174
2277
  */
2175
2278
  customIntervalDays?: number;
2176
2279
  /**
@@ -2178,109 +2281,123 @@ type UpdateRecurringRuleDto = {
2178
2281
  */
2179
2282
  currency?: string;
2180
2283
  /**
2181
- * Payee matching pattern
2284
+ * Payee matching pattern (supports wildcards)
2182
2285
  */
2183
2286
  matchPayeePattern?: string;
2184
2287
  /**
2185
2288
  * Amount tolerance percentage (0-1)
2186
2289
  */
2187
- matchAmountTolerance?: number;
2290
+ matchAmountTolerance: number;
2188
2291
  /**
2189
- * Default expense account
2292
+ * Default expense account for auto-create
2190
2293
  */
2191
2294
  defaultExpenseAccount?: string;
2192
2295
  /**
2193
- * Default payment account
2296
+ * Default payment account for auto-create
2194
2297
  */
2195
2298
  defaultPaymentAccount?: string;
2196
2299
  /**
2197
- * Default payee
2300
+ * Default payee for auto-create
2198
2301
  */
2199
2302
  defaultPayee?: string;
2200
2303
  /**
2201
- * Auto-create transaction
2304
+ * Auto-create transaction when expected date arrives
2202
2305
  */
2203
- autoCreate?: boolean;
2306
+ autoCreate: boolean;
2204
2307
  /**
2205
- * Rule active status
2308
+ * Rule start date (ISO format)
2206
2309
  */
2207
- isActive?: boolean;
2310
+ startDate?: string;
2208
2311
  /**
2209
2312
  * Rule end date (ISO format)
2210
2313
  */
2211
2314
  endDate?: string;
2212
2315
  };
2213
- type ExpectedTransactionRuleDto = {
2316
+ /**
2317
+ * Recurring frequency
2318
+ */
2319
+ type frequency = 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2320
+ type RecurringRuleResponseDto = {
2321
+ /**
2322
+ * Rule ID
2323
+ */
2324
+ id: string;
2325
+ /**
2326
+ * User ID
2327
+ */
2328
+ userId: string;
2214
2329
  /**
2215
2330
  * Rule name
2216
2331
  */
2217
2332
  name: string;
2218
2333
  /**
2219
- * Rule icon
2334
+ * Icon emoji
2220
2335
  */
2221
- icon?: {
2222
- [key: string]: unknown;
2223
- };
2336
+ icon?: string;
2224
2337
  /**
2225
- * Rule frequency
2338
+ * Recurring frequency
2226
2339
  */
2227
2340
  frequency: string;
2341
+ /**
2342
+ * Expected amount
2343
+ */
2344
+ expectedAmount: number;
2345
+ /**
2346
+ * Expected day of month
2347
+ */
2348
+ expectedDay?: number;
2349
+ /**
2350
+ * Custom interval in days
2351
+ */
2352
+ customIntervalDays?: number;
2228
2353
  /**
2229
2354
  * Currency code
2230
2355
  */
2231
2356
  currency: string;
2232
- };
2233
- type ExpectedTransactionResponseDto = {
2234
2357
  /**
2235
- * Expected transaction ID
2358
+ * Payee matching pattern
2236
2359
  */
2237
- id: string;
2360
+ matchPayeePattern?: string;
2238
2361
  /**
2239
- * User ID
2362
+ * Amount tolerance percentage
2240
2363
  */
2241
- userId: string;
2364
+ matchAmountTolerance: number;
2242
2365
  /**
2243
- * Associated rule ID
2366
+ * Default expense account
2244
2367
  */
2245
- ruleId: string;
2368
+ defaultExpenseAccount?: string;
2246
2369
  /**
2247
- * Expected date (YYYY-MM-DD)
2370
+ * Default payment account
2248
2371
  */
2249
- expectedDate: string;
2372
+ defaultPaymentAccount?: string;
2250
2373
  /**
2251
- * Expected amount
2374
+ * Default payee
2252
2375
  */
2253
- expectedAmount: number;
2376
+ defaultPayee?: string;
2254
2377
  /**
2255
- * Status (PENDING, COMPLETED, SKIPPED)
2378
+ * Whether rule is active
2256
2379
  */
2257
- status: string;
2380
+ isActive: boolean;
2258
2381
  /**
2259
- * Matched transaction ID
2382
+ * Rule start date (YYYY-MM-DD)
2260
2383
  */
2261
- matchedTransactionId?: {
2262
- [key: string]: unknown;
2263
- };
2384
+ startDate: string;
2264
2385
  /**
2265
- * Match timestamp (ISO 8601)
2386
+ * Rule end date (YYYY-MM-DD)
2266
2387
  */
2267
- matchedAt?: {
2268
- [key: string]: unknown;
2269
- };
2388
+ endDate?: string;
2270
2389
  /**
2271
- * Match confidence score (0-1)
2390
+ * Auto-create transaction on expected date
2272
2391
  */
2273
- matchConfidence?: {
2274
- [key: string]: unknown;
2275
- };
2392
+ autoCreate: boolean;
2276
2393
  /**
2277
- * Whether this expected transaction is overdue
2394
+ * Last matched occurrence date (YYYY-MM-DD)
2278
2395
  */
2279
- isOverdue: boolean;
2396
+ lastOccurrence?: string;
2280
2397
  /**
2281
- * Rule information
2398
+ * Total matched transactions count
2282
2399
  */
2283
- rule: ExpectedTransactionRuleDto;
2400
+ totalCount: number;
2284
2401
  /**
2285
2402
  * Created at timestamp
2286
2403
  */
@@ -2290,434 +2407,396 @@ type ExpectedTransactionResponseDto = {
2290
2407
  */
2291
2408
  updatedAt: string;
2292
2409
  };
2293
- type ExpectedTransactionListResponseDto = {
2294
- items: Array<ExpectedTransactionResponseDto>;
2295
- /**
2296
- * Total count
2297
- */
2298
- total: number;
2299
- };
2300
- type ConfirmMatchDto = {
2410
+ type CreateRuleFromTransactionDto = {
2301
2411
  /**
2302
- * Transaction ID to match with
2412
+ * Recurring frequency
2303
2413
  */
2304
- transactionId: string;
2305
- };
2306
- type EnterNowDto = {
2414
+ frequency: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2307
2415
  /**
2308
- * Override expense account (uses rule default if not provided)
2416
+ * Optional name override (default: transaction payee)
2309
2417
  */
2310
- expenseAccount?: string;
2418
+ name?: string;
2311
2419
  /**
2312
- * Override payment account (uses rule default if not provided)
2420
+ * Optional icon emoji
2313
2421
  */
2314
- paymentAccount?: string;
2422
+ icon?: string;
2423
+ };
2424
+ type RecurringRuleWithStatsResponseDto = {
2315
2425
  /**
2316
- * Override amount (uses expected amount if not provided)
2426
+ * Rule ID
2317
2427
  */
2318
- amount?: number;
2428
+ id: string;
2319
2429
  /**
2320
- * Override payee (uses rule default if not provided)
2430
+ * User ID
2321
2431
  */
2322
- payee?: string;
2432
+ userId: string;
2323
2433
  /**
2324
- * Optional narration
2434
+ * Rule name
2325
2435
  */
2326
- narration?: string;
2327
- };
2328
- type ForecastItemDto = {
2436
+ name: string;
2329
2437
  /**
2330
- * Rule name
2438
+ * Icon emoji
2331
2439
  */
2332
- rule: string;
2440
+ icon?: string;
2333
2441
  /**
2334
- * Rule ID
2442
+ * Recurring frequency
2335
2443
  */
2336
- ruleId: string;
2444
+ frequency: string;
2337
2445
  /**
2338
2446
  * Expected amount
2339
2447
  */
2340
- amount: number;
2448
+ expectedAmount: number;
2341
2449
  /**
2342
- * Expected date (YYYY-MM-DD)
2450
+ * Expected day of month
2343
2451
  */
2344
- date: string;
2452
+ expectedDay?: number;
2345
2453
  /**
2346
- * Rule icon emoji
2454
+ * Custom interval in days
2347
2455
  */
2348
- icon: string | null;
2456
+ customIntervalDays?: number;
2349
2457
  /**
2350
2458
  * Currency code
2351
2459
  */
2352
2460
  currency: string;
2353
- };
2354
- type MonthlyForecastDto = {
2355
2461
  /**
2356
- * Month (YYYY-MM)
2462
+ * Payee matching pattern
2357
2463
  */
2358
- month: string;
2464
+ matchPayeePattern?: string;
2359
2465
  /**
2360
- * Total expected outflow for the month
2466
+ * Amount tolerance percentage
2361
2467
  */
2362
- expectedOutflow: number;
2468
+ matchAmountTolerance: number;
2363
2469
  /**
2364
- * Number of expected transactions
2470
+ * Default expense account
2365
2471
  */
2366
- itemCount: number;
2472
+ defaultExpenseAccount?: string;
2367
2473
  /**
2368
- * Breakdown by currency
2474
+ * Default payment account
2369
2475
  */
2370
- byCurrency: {
2371
- [key: string]: unknown;
2372
- };
2476
+ defaultPaymentAccount?: string;
2373
2477
  /**
2374
- * Individual forecast items
2478
+ * Default payee
2375
2479
  */
2376
- items: Array<ForecastItemDto>;
2377
- };
2378
- type ForecastResponseDto = {
2480
+ defaultPayee?: string;
2379
2481
  /**
2380
- * Monthly forecast data
2482
+ * Whether rule is active
2381
2483
  */
2382
- forecast: Array<MonthlyForecastDto>;
2484
+ isActive: boolean;
2383
2485
  /**
2384
- * Total expected outflow across all months
2486
+ * Rule start date (YYYY-MM-DD)
2385
2487
  */
2386
- totalOutflow: number;
2488
+ startDate: string;
2387
2489
  /**
2388
- * Total by currency across all months
2490
+ * Rule end date (YYYY-MM-DD)
2389
2491
  */
2390
- totalByCurrency: {
2391
- [key: string]: unknown;
2392
- };
2492
+ endDate?: string;
2393
2493
  /**
2394
- * Number of active recurring rules included
2494
+ * Auto-create transaction on expected date
2395
2495
  */
2396
- rulesCount: number;
2496
+ autoCreate: boolean;
2397
2497
  /**
2398
- * Forecast period start date
2498
+ * Last matched occurrence date (YYYY-MM-DD)
2399
2499
  */
2400
- periodStart: string;
2500
+ lastOccurrence?: string;
2401
2501
  /**
2402
- * Forecast period end date
2502
+ * Total matched transactions count
2403
2503
  */
2404
- periodEnd: string;
2405
- };
2406
- type CurrencyBalanceDto = {
2504
+ totalCount: number;
2407
2505
  /**
2408
- * ISO 4217 currency code
2506
+ * Created at timestamp
2409
2507
  */
2410
- currency: string;
2508
+ createdAt: string;
2411
2509
  /**
2412
- * Balance amount
2510
+ * Updated at timestamp
2413
2511
  */
2414
- balance: string;
2415
- };
2416
- type TimeSeriesPointDto = {
2512
+ updatedAt: string;
2417
2513
  /**
2418
- * Date in YYYY-MM-DD format
2514
+ * Number of pending expected transactions
2419
2515
  */
2420
- date: string;
2516
+ pendingCount: number;
2421
2517
  /**
2422
- * Value at this date (in base currency)
2518
+ * Number of overdue expected transactions
2423
2519
  */
2424
- value: string;
2520
+ overdueCount: number;
2425
2521
  /**
2426
- * Change from previous point
2522
+ * Next expected date (YYYY-MM-DD)
2427
2523
  */
2428
- change?: {
2429
- [key: string]: unknown;
2430
- };
2524
+ nextExpectedDate?: string;
2431
2525
  /**
2432
- * Total assets at this date (in base currency)
2526
+ * Total amount of all matched transactions
2433
2527
  */
2434
- assets?: string;
2528
+ totalAmount: number;
2435
2529
  /**
2436
- * Total liabilities at this date (in base currency)
2530
+ * Average amount per transaction
2437
2531
  */
2438
- liabilities?: string;
2532
+ averageAmount: number;
2439
2533
  /**
2440
- * Multi-currency breakdown for this point
2534
+ * Number of matched transactions
2441
2535
  */
2442
- byCurrency?: Array<CurrencyBalanceDto>;
2443
- };
2444
- type TrendSummaryDto = {
2536
+ transactionCount: number;
2445
2537
  /**
2446
- * Value at start of period
2538
+ * First matched transaction date (YYYY-MM-DD)
2447
2539
  */
2448
- startValue: string;
2540
+ firstDate?: string;
2449
2541
  /**
2450
- * Value at end of period
2542
+ * Last matched transaction date (YYYY-MM-DD)
2451
2543
  */
2452
- endValue: string;
2544
+ lastDate?: string;
2453
2545
  /**
2454
- * Total change over period
2546
+ * Amount variance (standard deviation squared)
2455
2547
  */
2456
- totalChange: string;
2548
+ variance: number;
2457
2549
  /**
2458
- * Total change percentage
2550
+ * Number of upcoming expected transactions
2459
2551
  */
2460
- totalChangePercentage: string;
2552
+ upcomingCount: number;
2461
2553
  };
2462
- type MultiCurrencyPointDto = {
2554
+ type UpdateRecurringRuleDto = {
2463
2555
  /**
2464
- * Date in YYYY-MM-DD format
2556
+ * Rule name (unique per user)
2465
2557
  */
2466
- date: string;
2558
+ name?: string;
2467
2559
  /**
2468
- * Balances by currency
2560
+ * Icon emoji
2469
2561
  */
2470
- byCurrency: Array<CurrencyBalanceDto>;
2471
- };
2472
- type PortfolioTrendsResponseDto = {
2562
+ icon?: string;
2473
2563
  /**
2474
- * Time series data points
2564
+ * Recurring frequency
2475
2565
  */
2476
- series: Array<TimeSeriesPointDto>;
2566
+ frequency?: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2477
2567
  /**
2478
- * Period summary
2568
+ * Expected amount (positive number)
2479
2569
  */
2480
- summary: TrendSummaryDto;
2570
+ expectedAmount?: number;
2481
2571
  /**
2482
- * Period requested
2572
+ * Expected day of month (1-31)
2483
2573
  */
2484
- period: string;
2574
+ expectedDay?: number;
2485
2575
  /**
2486
- * Data granularity
2576
+ * Currency code
2487
2577
  */
2488
- granularity: string;
2578
+ currency?: string;
2489
2579
  /**
2490
- * Base currency for converted values
2580
+ * Payee matching pattern (supports wildcards)
2491
2581
  */
2492
- currency: string;
2582
+ matchPayeePattern?: string;
2493
2583
  /**
2494
- * Multi-currency time series (each point has currency breakdown)
2584
+ * Amount tolerance percentage (0-1)
2495
2585
  */
2496
- byCurrency?: Array<MultiCurrencyPointDto>;
2586
+ matchAmountTolerance?: number;
2497
2587
  /**
2498
- * Exchange rate warnings
2588
+ * Default expense account for auto-create
2499
2589
  */
2500
- warnings?: Array<ExchangeRateWarningDto>;
2501
- };
2502
- type CashFlowPointDto = {
2590
+ defaultExpenseAccount?: string;
2503
2591
  /**
2504
- * Month key (YYYY-MM)
2592
+ * Default payment account for auto-create
2505
2593
  */
2506
- month: string;
2594
+ defaultPaymentAccount?: string;
2507
2595
  /**
2508
- * Income in base currency (absolute, converted)
2596
+ * Default payee for auto-create
2509
2597
  */
2510
- income: string;
2598
+ defaultPayee?: string;
2511
2599
  /**
2512
- * Expense in base currency (absolute, converted)
2600
+ * Auto-create transaction when expected date arrives
2513
2601
  */
2514
- expense: string;
2602
+ autoCreate?: boolean;
2515
2603
  /**
2516
- * netSavings = income − expense (savings positive)
2604
+ * Rule end date (ISO format)
2517
2605
  */
2518
- netSavings: string;
2606
+ endDate?: string;
2607
+ /**
2608
+ * Custom interval in days
2609
+ */
2610
+ customIntervalDays?: number;
2611
+ /**
2612
+ * Rule active status
2613
+ */
2614
+ isActive?: boolean;
2519
2615
  };
2520
- type CashFlowTrendSummaryDto = {
2616
+ type ExpectedTransactionRuleDto = {
2521
2617
  /**
2522
- * Total income across the period
2618
+ * Rule name
2523
2619
  */
2524
- totalIncome: string;
2620
+ name: string;
2525
2621
  /**
2526
- * Total expense across the period
2622
+ * Rule icon
2527
2623
  */
2528
- totalExpense: string;
2624
+ icon?: string;
2529
2625
  /**
2530
- * income − expense across the period
2626
+ * Rule frequency
2531
2627
  */
2532
- totalNetSavings: string;
2628
+ frequency: string;
2533
2629
  /**
2534
- * totalNetSavings divided by the window length (N months, incl. zero-filled)
2630
+ * Currency code
2535
2631
  */
2536
- averageMonthlyNetSavings: string;
2632
+ currency: string;
2537
2633
  };
2538
- type CashFlowTrendsResponseDto = {
2634
+ type ExpectedTransactionResponseDto = {
2539
2635
  /**
2540
- * Monthly cash-flow series (fixed N-month window, zero-filled)
2636
+ * Expected transaction ID
2541
2637
  */
2542
- series: Array<CashFlowPointDto>;
2638
+ id: string;
2543
2639
  /**
2544
- * Period totals
2640
+ * User ID
2545
2641
  */
2546
- summary: CashFlowTrendSummaryDto;
2642
+ userId: string;
2547
2643
  /**
2548
- * Period requested
2644
+ * Associated rule ID
2549
2645
  */
2550
- period: string;
2646
+ ruleId: string;
2551
2647
  /**
2552
- * Data granularity (v1 returns month buckets)
2648
+ * Expected date (YYYY-MM-DD)
2553
2649
  */
2554
- granularity: string;
2650
+ expectedDate: string;
2555
2651
  /**
2556
- * Base currency for converted values
2652
+ * Expected amount
2557
2653
  */
2558
- currency: string;
2654
+ expectedAmount: number;
2559
2655
  /**
2560
- * Exchange rate warnings (e.g. missing rate for a currency)
2656
+ * Status (PENDING, COMPLETED, SKIPPED)
2561
2657
  */
2562
- warnings?: Array<ExchangeRateWarningDto>;
2563
- };
2564
- type GenerateSnapshotBody = unknown;
2565
- type GenerateSnapshotResponse = unknown;
2566
- type BackfillSnapshotsBody = unknown;
2567
- type BackfillSnapshotsResponse = unknown;
2568
- type DeleteOwnUserDto = {
2658
+ status: string;
2569
2659
  /**
2570
- * Access token for user verification
2660
+ * Matched transaction ID
2571
2661
  */
2572
- accessToken: string;
2573
- };
2574
- type UserSettingsResponseDto = {
2662
+ matchedTransactionId?: string;
2575
2663
  /**
2576
- * Base currency (ISO 4217) for net-worth/report aggregation. Independent of region (ADR-0006).
2664
+ * Match timestamp (ISO 8601)
2577
2665
  */
2578
- baseCurrency: string | null;
2579
- };
2580
- type UserResponseDto = {
2666
+ matchedAt?: string;
2581
2667
  /**
2582
- * User ID
2668
+ * Match confidence score (0-1)
2583
2669
  */
2584
- id: string;
2670
+ matchConfidence?: number;
2585
2671
  /**
2586
- * Assigned user role
2672
+ * Whether this expected transaction is overdue
2587
2673
  */
2588
- role: string;
2674
+ isOverdue: boolean;
2589
2675
  /**
2590
- * Permission strings
2676
+ * Rule information
2591
2677
  */
2592
- permissions: Array<string>;
2678
+ rule: ExpectedTransactionRuleDto;
2593
2679
  /**
2594
- * User settings
2680
+ * Created at timestamp
2595
2681
  */
2596
- settings: UserSettingsResponseDto;
2597
- };
2598
- type SignupDto = {
2682
+ createdAt: string;
2599
2683
  /**
2600
- * Cloudflare Turnstile verification token (optional when Turnstile disabled)
2684
+ * Updated at timestamp
2601
2685
  */
2602
- turnstileToken?: string;
2686
+ updatedAt: string;
2603
2687
  };
2604
- type SignupResponseDto = {
2605
- /**
2606
- * JWT auth token
2607
- */
2608
- authToken: string;
2688
+ type ExpectedTransactionListResponseDto = {
2689
+ items: Array<ExpectedTransactionResponseDto>;
2609
2690
  /**
2610
- * Auto-generated access token
2691
+ * Total count
2611
2692
  */
2612
- accessToken: string;
2693
+ total: number;
2694
+ };
2695
+ type ConfirmMatchDto = {
2613
2696
  /**
2614
- * Assigned user role
2697
+ * Transaction ID to match with
2615
2698
  */
2616
- role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2699
+ transactionId: string;
2617
2700
  };
2618
- /**
2619
- * Assigned user role
2620
- */
2621
- type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2622
- type UpdateUserSettingDto = {
2701
+ type EnterNowDto = {
2623
2702
  /**
2624
- * Security ID
2703
+ * Override expense account (uses rule default if not provided)
2625
2704
  */
2626
- secId?: number;
2705
+ expenseAccount?: string;
2627
2706
  /**
2628
- * Annual interest rate
2707
+ * Override payment account (uses rule default if not provided)
2629
2708
  */
2630
- annualInterestRate?: number;
2709
+ paymentAccount?: string;
2631
2710
  /**
2632
- * Currency code
2711
+ * Override amount (uses expected amount if not provided)
2633
2712
  */
2634
- currency?: string;
2713
+ amount?: number;
2635
2714
  /**
2636
- * Base currency code
2715
+ * Override payee (uses rule default if not provided)
2637
2716
  */
2638
- baseCurrency?: string;
2717
+ payee?: string;
2639
2718
  /**
2640
- * Benchmark symbol
2719
+ * Optional narration
2641
2720
  */
2642
- benchmark?: string;
2721
+ narration?: string;
2722
+ };
2723
+ type ForecastItemDto = {
2643
2724
  /**
2644
- * Color scheme
2725
+ * Rule name
2645
2726
  */
2646
- colorScheme?: 'DARK' | 'LIGHT';
2727
+ rule: string;
2647
2728
  /**
2648
- * Date range filter
2729
+ * Rule ID
2649
2730
  */
2650
- dateRange?: string;
2731
+ ruleId: string;
2651
2732
  /**
2652
- * Emergency fund amount
2733
+ * Expected amount
2653
2734
  */
2654
- emergencyFund?: number;
2735
+ amount: number;
2655
2736
  /**
2656
- * Account filter IDs
2737
+ * Expected date (YYYY-MM-DD)
2657
2738
  */
2658
- 'filters.accounts'?: Array<string>;
2739
+ date: string;
2659
2740
  /**
2660
- * Asset class filters
2741
+ * Rule icon emoji
2661
2742
  */
2662
- 'filters.assetClasses'?: Array<string>;
2743
+ icon: string | null;
2663
2744
  /**
2664
- * Data source filter
2745
+ * Currency code
2665
2746
  */
2666
- 'filters.dataSource'?: string;
2747
+ currency: string;
2748
+ };
2749
+ type MonthlyForecastDto = {
2667
2750
  /**
2668
- * Symbol filter
2751
+ * Month (YYYY-MM)
2669
2752
  */
2670
- 'filters.symbol'?: string;
2753
+ month: string;
2671
2754
  /**
2672
- * Tag filters
2755
+ * Total expected outflow for the month
2673
2756
  */
2674
- 'filters.tags'?: Array<string>;
2757
+ expectedOutflow: number;
2675
2758
  /**
2676
- * Enable experimental features
2759
+ * Number of expected transactions
2677
2760
  */
2678
- isExperimentalFeatures?: boolean;
2761
+ itemCount: number;
2679
2762
  /**
2680
- * Enable restricted view mode
2763
+ * Breakdown by currency
2681
2764
  */
2682
- isRestrictedView?: boolean;
2765
+ byCurrency: {
2766
+ [key: string]: unknown;
2767
+ };
2683
2768
  /**
2684
- * Language code
2769
+ * Individual forecast items
2685
2770
  */
2686
- language?: string;
2771
+ items: Array<ForecastItemDto>;
2772
+ };
2773
+ type ForecastResponseDto = {
2687
2774
  /**
2688
- * Locale code
2775
+ * Monthly forecast data
2689
2776
  */
2690
- locale?: string;
2777
+ forecast: Array<MonthlyForecastDto>;
2691
2778
  /**
2692
- * Projected total amount
2779
+ * Total expected outflow across all months
2693
2780
  */
2694
- projectedTotalAmount?: number;
2781
+ totalOutflow: number;
2695
2782
  /**
2696
- * Retirement date in ISO 8601 format
2783
+ * Total by currency across all months
2697
2784
  */
2698
- retirementDate?: string;
2785
+ totalByCurrency: {
2786
+ [key: string]: unknown;
2787
+ };
2699
2788
  /**
2700
- * Savings rate percentage
2789
+ * Number of active recurring rules included
2701
2790
  */
2702
- savingsRate?: number;
2791
+ rulesCount: number;
2703
2792
  /**
2704
- * View mode
2793
+ * Forecast period start date
2705
2794
  */
2706
- viewMode?: 'DEFAULT' | 'ZEN';
2707
- };
2708
- /**
2709
- * Color scheme
2710
- */
2711
- type colorScheme = 'DARK' | 'LIGHT';
2712
- /**
2713
- * View mode
2714
- */
2715
- type viewMode = 'DEFAULT' | 'ZEN';
2716
- type UpdatePropertyDto = {
2795
+ periodStart: string;
2717
2796
  /**
2718
- * Property value
2797
+ * Forecast period end date
2719
2798
  */
2720
- value: string;
2799
+ periodEnd: string;
2721
2800
  };
2722
2801
  type CreateTransactionRuleDto = {
2723
2802
  name: string;
@@ -3021,14 +3100,14 @@ type UpdateTransactionRuleDto = {
3021
3100
  */
3022
3101
  amountMax?: number;
3023
3102
  priority?: number;
3024
- /**
3025
- * Enable or disable the rule
3026
- */
3027
- enabled?: boolean;
3028
3103
  additionalTags?: Array<unknown[]>;
3029
3104
  additionalMetadata?: {
3030
3105
  [key: string]: unknown;
3031
3106
  };
3107
+ /**
3108
+ * Enable or disable the rule
3109
+ */
3110
+ enabled?: boolean;
3032
3111
  };
3033
3112
  type TestRuleDto = {
3034
3113
  narration: string;
@@ -3196,6 +3275,10 @@ type OnboardingAccountDto = {
3196
3275
  * Platform ID to bind the account to (references Platform.id); omit for unbound
3197
3276
  */
3198
3277
  platformId?: string;
3278
+ /**
3279
+ * User-set display name override (omit/null = keep the derived name)
3280
+ */
3281
+ displayName?: string | null;
3199
3282
  };
3200
3283
  type OnboardingDto = {
3201
3284
  /**
@@ -3674,12 +3757,82 @@ type ExternalAccountLinkListResponseDto = {
3674
3757
  items: Array<ExternalAccountLinkResponseDto>;
3675
3758
  total: number;
3676
3759
  /**
3677
- * Filter by provider (query param)
3760
+ * Filter by provider (query param)
3761
+ */
3762
+ provider?: string;
3763
+ };
3764
+ type ParserTelemetryReportDto = unknown;
3765
+ type UncoveredFormatMissDto = unknown;
3766
+ type ClientParsedDataDto = {
3767
+ /**
3768
+ * Transaction amount
3769
+ */
3770
+ amount?: number;
3771
+ /**
3772
+ * Currency code
3773
+ */
3774
+ currency?: string;
3775
+ /**
3776
+ * Transaction date (ISO 8601)
3777
+ */
3778
+ date?: string;
3779
+ /**
3780
+ * Payee/merchant name
3781
+ */
3782
+ payee?: string;
3783
+ /**
3784
+ * Transaction narration
3785
+ */
3786
+ narration?: string;
3787
+ /**
3788
+ * Category slug
3789
+ */
3790
+ category?: string;
3791
+ /**
3792
+ * Income type
3793
+ */
3794
+ incomeType?: string;
3795
+ /**
3796
+ * Income source
3797
+ */
3798
+ incomeSource?: string;
3799
+ /**
3800
+ * Security symbol code (e.g., 600519, AAPL)
3801
+ */
3802
+ symbol?: string;
3803
+ /**
3804
+ * Quantity of shares/units
3805
+ */
3806
+ quantity?: number;
3807
+ /**
3808
+ * Unit price per share/unit
3809
+ */
3810
+ price?: number;
3811
+ /**
3812
+ * Investment action
3813
+ */
3814
+ investmentAction?: 'buy' | 'sell';
3815
+ /**
3816
+ * Payment source: asset (default) or liability (credit card)
3817
+ */
3818
+ paymentSource?: 'asset' | 'liability';
3819
+ /**
3820
+ * Liability account hint (CreditCard/Huabei/Baitiao)
3678
3821
  */
3679
- provider?: string;
3822
+ liabilityHint?: string;
3823
+ /**
3824
+ * Display-only warning from the prior response; accepted but ignored.
3825
+ */
3826
+ warning?: string;
3680
3827
  };
3681
- type ParserTelemetryReportDto = unknown;
3682
- type UncoveredFormatMissDto = unknown;
3828
+ /**
3829
+ * Investment action
3830
+ */
3831
+ type investmentAction = 'buy' | 'sell';
3832
+ /**
3833
+ * Payment source: asset (default) or liability (credit card)
3834
+ */
3835
+ type paymentSource = 'asset' | 'liability';
3683
3836
  type ProcessNlpDto = {
3684
3837
  /**
3685
3838
  * Natural language text describing a transaction. Optional when `confirm` is true (structured confirm); otherwise required.
@@ -3696,18 +3849,32 @@ type ProcessNlpDto = {
3696
3849
  /**
3697
3850
  * Parsed data from previous NLP response for session recovery. Send back the parsedData received in confirm_payee/confirm responses.
3698
3851
  */
3699
- parsedData?: {
3700
- [key: string]: unknown;
3701
- };
3852
+ parsedData?: ClientParsedDataDto;
3702
3853
  /**
3703
3854
  * 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.
3704
3855
  */
3705
3856
  selectedRuleId?: string;
3706
3857
  /**
3707
- * 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.
3858
+ * 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.
3708
3859
  */
3709
3860
  selectedAccount?: string;
3861
+ /**
3862
+ * 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.
3863
+ */
3864
+ viewpointAccount?: string;
3865
+ /**
3866
+ * 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.
3867
+ */
3868
+ viewpointCategory?: string;
3869
+ /**
3870
+ * 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.
3871
+ */
3872
+ viewpointFlow?: 'income' | 'expense';
3710
3873
  };
3874
+ /**
3875
+ * 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.
3876
+ */
3877
+ type viewpointFlow = 'income' | 'expense';
3711
3878
  type NlpTransactionInfoDto = {
3712
3879
  /**
3713
3880
  * Transaction ID
@@ -3800,14 +3967,6 @@ type NlpParsedDataDto = {
3800
3967
  */
3801
3968
  warning?: string;
3802
3969
  };
3803
- /**
3804
- * Investment action
3805
- */
3806
- type investmentAction = 'buy' | 'sell';
3807
- /**
3808
- * Payment source: asset (default) or liability (credit card)
3809
- */
3810
- type paymentSource = 'asset' | 'liability';
3811
3970
  type NlpSourceTransactionDto = {
3812
3971
  /**
3813
3972
  * Transaction date (ISO format)
@@ -3934,6 +4093,16 @@ type NlpRuleConfirmationDataDto = {
3934
4093
  */
3935
4094
  reasons: Array<string>;
3936
4095
  };
4096
+ type NlpAccountCandidateDto = {
4097
+ /**
4098
+ * Canonical beancount account path (echo back on selection)
4099
+ */
4100
+ path: string;
4101
+ /**
4102
+ * Localized display name (ADR-0114 read-time projection, user locale)
4103
+ */
4104
+ name: string;
4105
+ };
3937
4106
  type NlpAccountConfirmationDataDto = {
3938
4107
  /**
3939
4108
  * The invalid account name
@@ -3944,9 +4113,9 @@ type NlpAccountConfirmationDataDto = {
3944
4113
  */
3945
4114
  suggestedAccount?: string;
3946
4115
  /**
3947
- * Similar accounts for user selection
4116
+ * Similar accounts for user selection (path + localized name, #680)
3948
4117
  */
3949
- similarAccounts: Array<string>;
4118
+ similarAccounts: Array<NlpAccountCandidateDto>;
3950
4119
  /**
3951
4120
  * Error message explaining the issue
3952
4121
  */
@@ -4112,7 +4281,7 @@ type NlpResponseDto = {
4112
4281
  /**
4113
4282
  * Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
4114
4283
  */
4115
- assetSubType?: 'transfer' | 'banking' | 'investment';
4284
+ assetSubType?: 'transfer' | 'banking' | 'investment' | 'lend' | 'lend_collect';
4116
4285
  /**
4117
4286
  * Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
4118
4287
  */
@@ -4216,7 +4385,7 @@ type intent = 'expense' | 'asset' | 'income' | 'liability' | 'equity';
4216
4385
  /**
4217
4386
  * Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
4218
4387
  */
4219
- type assetSubType = 'transfer' | 'banking' | 'investment';
4388
+ type assetSubType = 'transfer' | 'banking' | 'investment' | 'lend' | 'lend_collect';
4220
4389
  /**
4221
4390
  * Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
4222
4391
  */
@@ -4270,7 +4439,7 @@ type PlatformListItemDto = {
4270
4439
  /**
4271
4440
  * Platform type
4272
4441
  */
4273
- type type3 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4442
+ type type4 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4274
4443
  type PlatformMatchResultDto = {
4275
4444
  /**
4276
4445
  * Global platform ID
@@ -4335,6 +4504,46 @@ type PlatformMatchResponseDto = {
4335
4504
  * Overall match quality — top row's tier, or 'none' when no hits
4336
4505
  */
4337
4506
  type matchType2 = 'none' | 'exact' | 'prefix' | 'substring';
4507
+ type PlatformStandardsPlatformDto = {
4508
+ /**
4509
+ * Global platform ID
4510
+ */
4511
+ id: string;
4512
+ /**
4513
+ * Platform name (e.g., "ICBC")
4514
+ */
4515
+ name: string;
4516
+ /**
4517
+ * Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
4518
+ */
4519
+ canonical: string;
4520
+ /**
4521
+ * Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")
4522
+ */
4523
+ suggestedSegment: string;
4524
+ /**
4525
+ * Platform type
4526
+ */
4527
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4528
+ /**
4529
+ * Region-aware category (institution vocab, e.g. DigitalWallet/Bank) resolved against the final region. null = no region-aware suggestion; fall back to type.
4530
+ */
4531
+ category: string | null;
4532
+ };
4533
+ type PlatformStandardsResponseDto = {
4534
+ /**
4535
+ * The selected platform (institution lock source)
4536
+ */
4537
+ platform: PlatformStandardsPlatformDto;
4538
+ /**
4539
+ * 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.
4540
+ */
4541
+ region: string;
4542
+ /**
4543
+ * Candidate account-standard templates of the resolved region (groupable by productCategory client-side)
4544
+ */
4545
+ templates: Array<AccountStandardResponseDto>;
4546
+ };
4338
4547
  type CreatePlatformDto = {
4339
4548
  /**
4340
4549
  * Platform name
@@ -4485,7 +4694,7 @@ type AccountItemDto = {
4485
4694
  */
4486
4695
  name: string;
4487
4696
  /**
4488
- * Display name (last part of account path)
4697
+ * Display name: user-set name if provided (#762), else last part of account path
4489
4698
  */
4490
4699
  displayName: string;
4491
4700
  /**
@@ -4511,11 +4720,11 @@ type PlatformGroupDto = {
4511
4720
  */
4512
4721
  platformName: string;
4513
4722
  /**
4514
- * Accounts within this platform
4723
+ * Accounts within this platform (Assets and Liabilities rows, #696)
4515
4724
  */
4516
4725
  accounts: Array<AccountItemDto>;
4517
4726
  /**
4518
- * FX-converted total balance in base currency
4727
+ * FX-converted total balance in base currency (nets Assets + Liabilities rows; can be negative)
4519
4728
  */
4520
4729
  totalBalance: string;
4521
4730
  /**
@@ -4527,7 +4736,7 @@ type PlatformGroupDto = {
4527
4736
  */
4528
4737
  convertedBalance?: string;
4529
4738
  /**
4530
- * Share of the grand converted total (0-100); 0 when grand total is 0
4739
+ * Share of the converted asset-side grand total (0-100); liability balances are excluded from the basis; 0 when grand total is 0 (#696)
4531
4740
  */
4532
4741
  sharePct: number;
4533
4742
  };
@@ -4551,7 +4760,7 @@ type AccountExchangeRateWarningDto = {
4551
4760
  };
4552
4761
  type AccountsSummaryDto = {
4553
4762
  /**
4554
- * Total number of accounts
4763
+ * Total number of accounts (balance sheet: Assets + Liabilities, #696)
4555
4764
  */
4556
4765
  totalAccounts: number;
4557
4766
  /**
@@ -4587,7 +4796,7 @@ type AccountItemWithAssetClassDto = {
4587
4796
  */
4588
4797
  name: string;
4589
4798
  /**
4590
- * Display name (last part of account path)
4799
+ * Display name: user-set name if provided (#762), else last part of account path
4591
4800
  */
4592
4801
  displayName: string;
4593
4802
  /**
@@ -4873,9 +5082,7 @@ type MonetaryDto = {
4873
5082
  /**
4874
5083
  * Converted to user base currency (Decimal string)
4875
5084
  */
4876
- baseCcyEquivalent?: {
4877
- [key: string]: unknown;
4878
- } | null;
5085
+ baseCcyEquivalent?: string | null;
4879
5086
  };
4880
5087
  type CurrentPriceDto = {
4881
5088
  /**
@@ -4923,15 +5130,11 @@ type HoldingPnlRowDto = {
4923
5130
  /**
4924
5131
  * Account settlement currency (ISO 4217), from cost currency
4925
5132
  */
4926
- accountCcy?: {
4927
- [key: string]: unknown;
4928
- } | null;
5133
+ accountCcy?: string | null;
4929
5134
  /**
4930
5135
  * Broker type derived from Platform.type
4931
5136
  */
4932
- brokerType?: {
4933
- [key: string]: unknown;
4934
- } | null;
5137
+ brokerType?: string | null;
4935
5138
  /**
4936
5139
  * Commodity symbol
4937
5140
  */
@@ -4941,9 +5144,7 @@ type HoldingPnlRowDto = {
4941
5144
  */
4942
5145
  chartToken: 'equity' | 'fund' | 'bond' | 'cash' | 'other';
4943
5146
  assetClass: string;
4944
- assetSubClass?: {
4945
- [key: string]: unknown;
4946
- } | null;
5147
+ assetSubClass?: string | null;
4947
5148
  /**
4948
5149
  * Net held units (Decimal string)
4949
5150
  */
@@ -4967,15 +5168,11 @@ type HoldingPnlRowDto = {
4967
5168
  /**
4968
5169
  * Unrealized P&L in base currency (Decimal string); null when any FX/price missing
4969
5170
  */
4970
- unrealizedPnlBase?: {
4971
- [key: string]: unknown;
4972
- } | null;
5171
+ unrealizedPnlBase?: string | null;
4973
5172
  /**
4974
5173
  * Unrealized P&L % (Decimal string)
4975
5174
  */
4976
- unrealizedPnlPct?: {
4977
- [key: string]: unknown;
4978
- } | null;
5175
+ unrealizedPnlPct?: string | null;
4979
5176
  /**
4980
5177
  * Historical FX rate applied to cost basis
4981
5178
  */
@@ -4987,9 +5184,7 @@ type HoldingPnlRowDto = {
4987
5184
  /**
4988
5185
  * Share of invested assets % (Decimal string); only for invested chartTokens
4989
5186
  */
4990
- pctOfInvestedAssets?: {
4991
- [key: string]: unknown;
4992
- } | null;
5187
+ pctOfInvestedAssets?: string | null;
4993
5188
  /**
4994
5189
  * 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
4995
5190
  */
@@ -5004,20 +5199,14 @@ type HoldingPnlWarningDto = {
5004
5199
  * Warning type
5005
5200
  */
5006
5201
  type: 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
5007
- symbol?: {
5008
- [key: string]: unknown;
5009
- } | null;
5010
- accountId?: {
5011
- [key: string]: unknown;
5012
- } | null;
5013
- currency?: {
5014
- [key: string]: unknown;
5015
- } | null;
5202
+ symbol?: string | null;
5203
+ accountId?: string | null;
5204
+ currency?: string | null;
5016
5205
  };
5017
5206
  /**
5018
5207
  * Warning type
5019
5208
  */
5020
- type type4 = 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
5209
+ type type5 = 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
5021
5210
  type HoldingPnlResponseDto = {
5022
5211
  asOfDate: string;
5023
5212
  baseCurrency: string;
@@ -5044,131 +5233,162 @@ type AnonymousLoginResponseDto = {
5044
5233
  */
5045
5234
  authToken: string;
5046
5235
  };
5236
+ type ParserContributionMetaDto = {
5237
+ /**
5238
+ * Institution slug (lowercase kebab-case)
5239
+ */
5240
+ institution: string;
5241
+ region: 'cn' | 'us' | 'de' | 'fr' | 'gb' | 'hk' | 'jp' | 'sg' | 'au' | 'ca' | 'other';
5242
+ accountType: 'checking' | 'savings' | 'credit' | 'debit' | 'investment';
5243
+ format: 'csv' | 'xlsx' | 'pdf' | 'ofx' | 'qif';
5244
+ institutionDisplayName?: string;
5245
+ encoding?: string;
5246
+ /**
5247
+ * CSV delimiter character: ",", ";", "\t" or "|"
5248
+ */
5249
+ delimiter?: string;
5250
+ /**
5251
+ * Header row count; the client omits the field when it is 1
5252
+ */
5253
+ headerRows?: number;
5254
+ notes?: string;
5255
+ };
5256
+ type region = 'cn' | 'us' | 'de' | 'fr' | 'gb' | 'hk' | 'jp' | 'sg' | 'au' | 'ca' | 'other';
5257
+ type accountType = 'checking' | 'savings' | 'credit' | 'debit' | 'investment';
5258
+ type format = 'csv' | 'xlsx' | 'pdf' | 'ofx' | 'qif';
5259
+ type ParserContributionSamplesDto = {
5260
+ /**
5261
+ * Client-sanitized sample rows (key = column name, value = cell)
5262
+ */
5263
+ rows: Array<{
5264
+ [key: string]: unknown;
5265
+ }>;
5266
+ rawHeaders?: Array<string>;
5267
+ };
5268
+ type FieldHintDto = {
5269
+ columnName: string;
5270
+ /**
5271
+ * Date format, e.g. yyyy-MM-dd HH:mm
5272
+ */
5273
+ format?: string;
5274
+ signConvention?: 'negative-expense' | 'positive-expense' | 'separate-columns';
5275
+ creditColumn?: string;
5276
+ debitColumn?: string;
5277
+ };
5278
+ type signConvention = 'negative-expense' | 'positive-expense' | 'separate-columns';
5279
+ type ParserContributionFieldHintsDto = {
5280
+ date: FieldHintDto;
5281
+ amount: FieldHintDto;
5282
+ description?: FieldHintDto;
5283
+ balance?: FieldHintDto;
5284
+ payee?: FieldHintDto;
5285
+ reference?: FieldHintDto;
5286
+ category?: FieldHintDto;
5287
+ };
5288
+ type ExpectedTransactionDto = {
5289
+ date: string;
5290
+ amount: number;
5291
+ description: string;
5292
+ payee?: string;
5293
+ category?: string;
5294
+ };
5295
+ type ParserContributionExamplesDto = {
5296
+ expectedTransactions: Array<ExpectedTransactionDto>;
5297
+ };
5298
+ type ParserContributionRequestDto = {
5299
+ meta: ParserContributionMetaDto;
5300
+ samples: ParserContributionSamplesDto;
5301
+ fieldHints: ParserContributionFieldHintsDto;
5302
+ /**
5303
+ * Omitted entirely by the client when empty
5304
+ */
5305
+ examples?: ParserContributionExamplesDto;
5306
+ };
5307
+ type ParserContributionRelayResponseDto = {
5308
+ issueUrl: string;
5309
+ issueNumber: number;
5310
+ };
5047
5311
  type SymbolSearchResultDto = {
5048
5312
  symbol: string;
5049
- name?: {
5050
- [key: string]: unknown;
5051
- } | null;
5052
- exchange?: {
5053
- [key: string]: unknown;
5054
- } | null;
5313
+ name?: string | null;
5314
+ exchange?: string | null;
5055
5315
  /**
5056
5316
  * OpenBB asset_type (e.g. stock, etf)
5057
5317
  */
5058
- assetType?: {
5059
- [key: string]: unknown;
5060
- } | null;
5318
+ assetType?: string | null;
5061
5319
  /**
5062
5320
  * IGN asset class (region.types.ts ASSET_CLASSES)
5063
5321
  */
5064
- assetClass?: {
5065
- [key: string]: unknown;
5066
- } | null;
5322
+ assetClass?: string | null;
5067
5323
  /**
5068
5324
  * IGN asset sub-class (region.types.ts ASSET_SUB_CLASSES)
5069
5325
  */
5070
- assetSubClass?: {
5071
- [key: string]: unknown;
5072
- } | null;
5326
+ assetSubClass?: string | null;
5073
5327
  /**
5074
5328
  * Trading currency (extra_data or inferred from exchange)
5075
5329
  */
5076
- currency?: {
5077
- [key: string]: unknown;
5078
- } | null;
5330
+ currency?: string | null;
5079
5331
  };
5080
5332
  type SymbolQuoteDto = {
5081
5333
  symbol?: string;
5082
- name?: {
5083
- [key: string]: unknown;
5084
- } | null;
5085
- exchange?: {
5086
- [key: string]: unknown;
5087
- } | null;
5334
+ name?: string | null;
5335
+ exchange?: string | null;
5088
5336
  /**
5089
5337
  * OpenBB asset_type
5090
5338
  */
5091
- assetType?: {
5092
- [key: string]: unknown;
5093
- } | null;
5339
+ assetType?: string | null;
5094
5340
  /**
5095
5341
  * IGN asset class
5096
5342
  */
5097
- assetClass?: {
5098
- [key: string]: unknown;
5099
- } | null;
5343
+ assetClass?: string | null;
5100
5344
  /**
5101
5345
  * IGN asset sub-class
5102
5346
  */
5103
- assetSubClass?: {
5104
- [key: string]: unknown;
5105
- } | null;
5347
+ assetSubClass?: string | null;
5106
5348
  /**
5107
5349
  * Trading currency (extra_data or inferred from exchange)
5108
5350
  */
5109
- currency?: {
5110
- [key: string]: unknown;
5111
- } | null;
5351
+ currency?: string | null;
5112
5352
  /**
5113
5353
  * Latest price (Decimal string)
5114
5354
  */
5115
- price?: {
5116
- [key: string]: unknown;
5117
- } | null;
5355
+ price?: string | null;
5118
5356
  /**
5119
5357
  * Date the price was observed (ISO yyyy-MM-dd)
5120
5358
  */
5121
- priceDate?: {
5122
- [key: string]: unknown;
5123
- } | null;
5359
+ priceDate?: string | null;
5124
5360
  /**
5125
5361
  * 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.
5126
5362
  */
5127
- changePercent?: {
5128
- [key: string]: unknown;
5129
- } | null;
5363
+ changePercent?: number | null;
5130
5364
  /**
5131
5365
  * Previous close (Decimal string)
5132
5366
  */
5133
- prevClose?: {
5134
- [key: string]: unknown;
5135
- } | null;
5367
+ prevClose?: string | null;
5136
5368
  /**
5137
5369
  * Day open (Decimal string)
5138
5370
  */
5139
- open?: {
5140
- [key: string]: unknown;
5141
- } | null;
5371
+ open?: string | null;
5142
5372
  /**
5143
5373
  * Day high (Decimal string)
5144
5374
  */
5145
- high?: {
5146
- [key: string]: unknown;
5147
- } | null;
5375
+ high?: string | null;
5148
5376
  /**
5149
5377
  * Day low (Decimal string)
5150
5378
  */
5151
- low?: {
5152
- [key: string]: unknown;
5153
- } | null;
5379
+ low?: string | null;
5154
5380
  /**
5155
5381
  * Day volume (Decimal string)
5156
5382
  */
5157
- volume?: {
5158
- [key: string]: unknown;
5159
- } | null;
5383
+ volume?: string | null;
5160
5384
  /**
5161
5385
  * 52-week high (Decimal string)
5162
5386
  */
5163
- yearHigh?: {
5164
- [key: string]: unknown;
5165
- } | null;
5387
+ yearHigh?: string | null;
5166
5388
  /**
5167
5389
  * 52-week low (Decimal string)
5168
5390
  */
5169
- yearLow?: {
5170
- [key: string]: unknown;
5171
- } | null;
5391
+ yearLow?: string | null;
5172
5392
  };
5173
5393
  type AccountControllerCreateData = {
5174
5394
  /**
@@ -5281,11 +5501,11 @@ type AccountControllerAddOpeningBalanceData = {
5281
5501
  type AccountControllerAddOpeningBalanceResponse = OpeningBalanceResultDto;
5282
5502
  type AccountStandardsControllerGetTemplatesData = {
5283
5503
  /**
5284
- * Region code (cn, us, de)
5504
+ * Region code (any ISO alpha-2; not-yet-open codes return the universal-only catalog)
5285
5505
  */
5286
- 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';
5506
+ 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';
5287
5507
  /**
5288
- * Search term for path or description
5508
+ * Search term for path, description, aliases, or localized display name
5289
5509
  */
5290
5510
  search?: string;
5291
5511
  /**
@@ -5300,16 +5520,16 @@ type AccountStandardsControllerGetTemplateMetadataData = {
5300
5520
  */
5301
5521
  path: string;
5302
5522
  /**
5303
- * Region code for tenant context
5523
+ * Region code for tenant context. Not-yet-open codes degrade to the universal-only catalog (#759)
5304
5524
  */
5305
- 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';
5525
+ 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';
5306
5526
  };
5307
5527
  type AccountStandardsControllerGetTemplateMetadataResponse = TemplateMetadataResponseDto;
5308
5528
  type AccountStandardsControllerGetRegionsData = {
5309
5529
  /**
5310
- * Region code for tenant context
5530
+ * Region code for tenant context. Not-yet-open codes degrade to the universal-only catalog (#759)
5311
5531
  */
5312
- 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';
5532
+ 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';
5313
5533
  };
5314
5534
  type AccountStandardsControllerGetRegionsResponse = RegionsMetadataResponseDto;
5315
5535
  type TransactionControllerCreateData = {
@@ -5329,7 +5549,7 @@ type TransactionControllerListData = {
5329
5549
  */
5330
5550
  accountId?: string;
5331
5551
  /**
5332
- * Filter by ADR-0075 functional category (Group segment); matches any posting to an Expenses/Income account whose derived Group segment equals this value
5552
+ * 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).
5333
5553
  */
5334
5554
  category?: string;
5335
5555
  /**
@@ -5340,6 +5560,10 @@ type TransactionControllerListData = {
5340
5560
  * Filter by end date (inclusive), format: YYYY-MM-DD
5341
5561
  */
5342
5562
  dateTo?: string;
5563
+ /**
5564
+ * 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.
5565
+ */
5566
+ flow?: 'income' | 'expense';
5343
5567
  /**
5344
5568
  * Number of items per page (1-100, default: 20)
5345
5569
  */
@@ -5357,9 +5581,9 @@ type TransactionControllerListData = {
5357
5581
  */
5358
5582
  search?: string;
5359
5583
  /**
5360
- * Filter by transaction status
5584
+ * 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).
5361
5585
  */
5362
- status?: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
5586
+ status?: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED' | 'ALL';
5363
5587
  };
5364
5588
  type TransactionControllerListResponse = TransactionListResponseDto;
5365
5589
  type TransactionControllerCreateBatchData = {
@@ -5676,7 +5900,7 @@ type PayeeProfileAdminControllerUnverifyData = {
5676
5900
  */
5677
5901
  id: string;
5678
5902
  };
5679
- type PayeeProfileAdminControllerUnverifyResponse = PayeeProfileResponseDto;
5903
+ type PayeeProfileAdminControllerUnverifyResponse = void;
5680
5904
  type CommodityControllerCreateData = {
5681
5905
  /**
5682
5906
  * Region code for tenant context
@@ -5752,6 +5976,55 @@ type CommodityControllerBulkCreateData = {
5752
5976
  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';
5753
5977
  };
5754
5978
  type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
5979
+ type ReportingControllerGetPortfolioTrendsData = {
5980
+ /**
5981
+ * Data granularity
5982
+ */
5983
+ granularity?: 'day' | 'week' | 'month';
5984
+ /**
5985
+ * Time period
5986
+ */
5987
+ period?: '1m' | '3m' | '6m' | '1y';
5988
+ /**
5989
+ * Region code for tenant context
5990
+ */
5991
+ 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';
5992
+ };
5993
+ type ReportingControllerGetPortfolioTrendsResponse = PortfolioTrendsResponseDto;
5994
+ type ReportingControllerGetCashFlowTrendsData = {
5995
+ /**
5996
+ * Data granularity (accepted for API symmetry; v1 returns month buckets)
5997
+ */
5998
+ granularity?: 'day' | 'week' | 'month';
5999
+ /**
6000
+ * Time period
6001
+ */
6002
+ period?: '1m' | '3m' | '6m' | '1y';
6003
+ /**
6004
+ * Region code for tenant context
6005
+ */
6006
+ 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';
6007
+ };
6008
+ type ReportingControllerGetCashFlowTrendsResponse = CashFlowTrendsResponseDto;
6009
+ type ReportingControllerGenerateSnapshotData = {
6010
+ /**
6011
+ * Region code for tenant context
6012
+ */
6013
+ 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';
6014
+ /**
6015
+ * Optional date (defaults to today)
6016
+ */
6017
+ requestBody: GenerateSnapshotBody;
6018
+ };
6019
+ type ReportingControllerGenerateSnapshotResponse = GenerateSnapshotResponse;
6020
+ type ReportingControllerBackfillSnapshotsData = {
6021
+ /**
6022
+ * Region code for tenant context
6023
+ */
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';
6025
+ requestBody: BackfillSnapshotsBody;
6026
+ };
6027
+ type ReportingControllerBackfillSnapshotsResponse = BackfillSnapshotsResponse;
5755
6028
  type PriceControllerCreateData = {
5756
6029
  /**
5757
6030
  * Region code for tenant context
@@ -5828,15 +6101,80 @@ type PriceControllerDeleteData = {
5828
6101
  */
5829
6102
  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';
5830
6103
  };
5831
- type PriceControllerDeleteResponse = void;
5832
- type PriceControllerBulkCreateData = {
6104
+ type PriceControllerDeleteResponse = void;
6105
+ type PriceControllerBulkCreateData = {
6106
+ /**
6107
+ * Region code for tenant context
6108
+ */
6109
+ 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';
6110
+ requestBody: Array<string>;
6111
+ };
6112
+ type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
6113
+ type UserControllerDeleteOwnUserData = {
6114
+ requestBody: DeleteOwnUserDto;
6115
+ };
6116
+ type UserControllerDeleteOwnUserResponse = void;
6117
+ type UserControllerGetUserData = {
6118
+ acceptLanguage: string;
6119
+ };
6120
+ type UserControllerGetUserResponse = UserResponseDto;
6121
+ type UserControllerSignupUserData = {
6122
+ requestBody: SignupDto;
6123
+ };
6124
+ type UserControllerSignupUserResponse = SignupResponseDto;
6125
+ type UserControllerDeleteUserData = {
6126
+ /**
6127
+ * User ID to delete
6128
+ */
6129
+ id: string;
6130
+ };
6131
+ type UserControllerDeleteUserResponse = void;
6132
+ type UserControllerGetUserInfoData = {
6133
+ /**
6134
+ * User ID
6135
+ */
6136
+ id: string;
6137
+ };
6138
+ type UserControllerGetUserInfoResponse = unknown;
6139
+ type UserControllerUpdateUserSettingData = {
6140
+ requestBody: UpdateUserSettingDto;
6141
+ };
6142
+ type UserControllerUpdateUserSettingResponse = unknown;
6143
+ type UserControllerGetAllUserSettingsByPageData = {
6144
+ /**
6145
+ * Page number
6146
+ */
6147
+ pageNo: number;
6148
+ /**
6149
+ * Page size
6150
+ */
6151
+ pageSize: number;
6152
+ };
6153
+ type UserControllerGetAllUserSettingsByPageResponse = unknown;
6154
+ type UserControllerGetAssetLiabilitySummaryResponse = unknown;
6155
+ type PropertyControllerGetAllResponse = unknown;
6156
+ type PropertyControllerGetByKeyData = {
6157
+ /**
6158
+ * Property key
6159
+ */
6160
+ key: string;
6161
+ };
6162
+ type PropertyControllerGetByKeyResponse = unknown;
6163
+ type PropertyControllerUpdateData = {
6164
+ /**
6165
+ * Property key
6166
+ */
6167
+ key: string;
6168
+ requestBody: UpdatePropertyDto;
6169
+ };
6170
+ type PropertyControllerUpdateResponse = unknown;
6171
+ type PropertyControllerDeleteData = {
5833
6172
  /**
5834
- * Region code for tenant context
6173
+ * Property key
5835
6174
  */
5836
- 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
- requestBody: Array<string>;
6175
+ key: string;
5838
6176
  };
5839
- type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
6177
+ type PropertyControllerDeleteResponse = void;
5840
6178
  type RecurringRuleControllerCreateData = {
5841
6179
  /**
5842
6180
  * Region code for tenant context
@@ -5983,7 +6321,7 @@ type ExpectedTransactionControllerUndoSkipData = {
5983
6321
  */
5984
6322
  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';
5985
6323
  };
5986
- type ExpectedTransactionControllerUndoSkipResponse = ExpectedTransactionResponseDto;
6324
+ type ExpectedTransactionControllerUndoSkipResponse = void;
5987
6325
  type ExpectedTransactionControllerConfirmMatchData = {
5988
6326
  /**
5989
6327
  * Expected transaction ID
@@ -6006,7 +6344,7 @@ type ExpectedTransactionControllerUnmatchData = {
6006
6344
  */
6007
6345
  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';
6008
6346
  };
6009
- type ExpectedTransactionControllerUnmatchResponse = unknown;
6347
+ type ExpectedTransactionControllerUnmatchResponse = void;
6010
6348
  type ExpectedTransactionControllerEnterNowData = {
6011
6349
  /**
6012
6350
  * Expected transaction ID
@@ -6030,120 +6368,6 @@ type ForecastControllerGetForecastData = {
6030
6368
  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';
6031
6369
  };
6032
6370
  type ForecastControllerGetForecastResponse = ForecastResponseDto;
6033
- type ReportingControllerGetPortfolioTrendsData = {
6034
- /**
6035
- * Data granularity
6036
- */
6037
- granularity?: 'day' | 'week' | 'month';
6038
- /**
6039
- * Time period
6040
- */
6041
- period?: '1m' | '3m' | '6m' | '1y';
6042
- /**
6043
- * Region code for tenant context
6044
- */
6045
- 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';
6046
- };
6047
- type ReportingControllerGetPortfolioTrendsResponse = PortfolioTrendsResponseDto;
6048
- type ReportingControllerGetCashFlowTrendsData = {
6049
- /**
6050
- * Data granularity (accepted for API symmetry; v1 returns month buckets)
6051
- */
6052
- granularity?: 'day' | 'week' | 'month';
6053
- /**
6054
- * Time period
6055
- */
6056
- period?: '1m' | '3m' | '6m' | '1y';
6057
- /**
6058
- * Region code for tenant context
6059
- */
6060
- 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';
6061
- };
6062
- type ReportingControllerGetCashFlowTrendsResponse = CashFlowTrendsResponseDto;
6063
- type ReportingControllerGenerateSnapshotData = {
6064
- /**
6065
- * Region code for tenant context
6066
- */
6067
- 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';
6068
- /**
6069
- * Optional date (defaults to today)
6070
- */
6071
- requestBody: GenerateSnapshotBody;
6072
- };
6073
- type ReportingControllerGenerateSnapshotResponse = GenerateSnapshotResponse;
6074
- type ReportingControllerBackfillSnapshotsData = {
6075
- /**
6076
- * Region code for tenant context
6077
- */
6078
- 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';
6079
- requestBody: BackfillSnapshotsBody;
6080
- };
6081
- type ReportingControllerBackfillSnapshotsResponse = BackfillSnapshotsResponse;
6082
- type UserControllerDeleteOwnUserData = {
6083
- requestBody: DeleteOwnUserDto;
6084
- };
6085
- type UserControllerDeleteOwnUserResponse = void;
6086
- type UserControllerGetUserData = {
6087
- acceptLanguage: string;
6088
- };
6089
- type UserControllerGetUserResponse = UserResponseDto;
6090
- type UserControllerSignupUserData = {
6091
- requestBody: SignupDto;
6092
- };
6093
- type UserControllerSignupUserResponse = SignupResponseDto;
6094
- type UserControllerDeleteUserData = {
6095
- /**
6096
- * User ID to delete
6097
- */
6098
- id: string;
6099
- };
6100
- type UserControllerDeleteUserResponse = void;
6101
- type UserControllerGetUserInfoData = {
6102
- /**
6103
- * User ID
6104
- */
6105
- id: string;
6106
- };
6107
- type UserControllerGetUserInfoResponse = unknown;
6108
- type UserControllerUpdateUserSettingData = {
6109
- requestBody: UpdateUserSettingDto;
6110
- };
6111
- type UserControllerUpdateUserSettingResponse = unknown;
6112
- type UserControllerGetAllUserSettingsByPageData = {
6113
- /**
6114
- * Page number
6115
- */
6116
- pageNo: number;
6117
- /**
6118
- * Page size
6119
- */
6120
- pageSize: number;
6121
- };
6122
- type UserControllerGetAllUserSettingsByPageResponse = unknown;
6123
- type UserControllerGetAssetLiabilitySummaryResponse = unknown;
6124
- type PropertyControllerGetAllResponse = unknown;
6125
- type PropertyControllerGetByKeyData = {
6126
- /**
6127
- * Property key
6128
- */
6129
- key: string;
6130
- };
6131
- type PropertyControllerGetByKeyResponse = unknown;
6132
- type PropertyControllerUpdateData = {
6133
- /**
6134
- * Property key
6135
- */
6136
- key: string;
6137
- requestBody: UpdatePropertyDto;
6138
- };
6139
- type PropertyControllerUpdateResponse = unknown;
6140
- type PropertyControllerDeleteData = {
6141
- /**
6142
- * Property key
6143
- */
6144
- key: string;
6145
- };
6146
- type PropertyControllerDeleteResponse = void;
6147
6371
  type TransactionRuleControllerCreateData = {
6148
6372
  /**
6149
6373
  * Region code for tenant context
@@ -6366,9 +6590,9 @@ type EventControllerGetSliceData = {
6366
6590
  type EventControllerGetSliceResponse = unknown;
6367
6591
  type OnboardingControllerBootstrapData = {
6368
6592
  /**
6369
- * Region code for tenant context
6593
+ * Region code for tenant context. Not-yet-open codes are accepted: the universal catalog backs onboarding regardless of region (#759)
6370
6594
  */
6371
- 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';
6595
+ 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';
6372
6596
  requestBody: OnboardingDto;
6373
6597
  };
6374
6598
  type OnboardingControllerBootstrapResponse = unknown;
@@ -6407,7 +6631,7 @@ type ReconciliationControllerHistoryData = {
6407
6631
  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';
6408
6632
  };
6409
6633
  type ReconciliationControllerHistoryResponse = Array<ReconciliationRecordDto>;
6410
- type ExportControllerExportBeancountResponse = unknown;
6634
+ type ExportControllerExportBeancountResponse = Blob | File;
6411
6635
  type FileImportControllerImportFileData = {
6412
6636
  /**
6413
6637
  * Bill file to import
@@ -6631,6 +6855,21 @@ type PlatformControllerMatchPlatformsData = {
6631
6855
  region?: string;
6632
6856
  };
6633
6857
  type PlatformControllerMatchPlatformsResponse = PlatformMatchResponseDto;
6858
+ type PlatformControllerGetPlatformStandardsData = {
6859
+ /**
6860
+ * Platform ID (from a match result)
6861
+ */
6862
+ id: string;
6863
+ /**
6864
+ * 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.
6865
+ */
6866
+ region?: string;
6867
+ /**
6868
+ * Filter templates by account type (path first segment)
6869
+ */
6870
+ type?: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
6871
+ };
6872
+ type PlatformControllerGetPlatformStandardsResponse = PlatformStandardsResponseDto;
6634
6873
  type PlatformControllerUpdateData = {
6635
6874
  /**
6636
6875
  * Platform ID
@@ -6730,6 +6969,14 @@ type AuthControllerAccessTokenLoginData = {
6730
6969
  requestBody: AnonymousLoginDto;
6731
6970
  };
6732
6971
  type AuthControllerAccessTokenLoginResponse = AnonymousLoginResponseDto;
6972
+ type ParserContributionControllerCreateData = {
6973
+ /**
6974
+ * Region code for tenant context (routing only; the institution region rides in the payload meta)
6975
+ */
6976
+ 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';
6977
+ requestBody: ParserContributionRequestDto;
6978
+ };
6979
+ type ParserContributionControllerCreateResponse = ParserContributionRelayResponseDto;
6733
6980
  type CacheControllerFlushCacheResponse = unknown;
6734
6981
  type ExchangeRateControllerGetExchangeRateData = {
6735
6982
  /**
@@ -7407,7 +7654,7 @@ type $OpenApiTs = {
7407
7654
  /**
7408
7655
  * Payee profile unverified successfully
7409
7656
  */
7410
- 200: PayeeProfileResponseDto;
7657
+ 204: void;
7411
7658
  /**
7412
7659
  * Admin access required
7413
7660
  */
@@ -7514,598 +7761,598 @@ type $OpenApiTs = {
7514
7761
  };
7515
7762
  };
7516
7763
  };
7517
- '/api/v1/{region}/bean/prices': {
7518
- post: {
7519
- req: PriceControllerCreateData;
7764
+ '/api/v1/{region}/reporting/portfolio/trends': {
7765
+ get: {
7766
+ req: ReportingControllerGetPortfolioTrendsData;
7520
7767
  res: {
7521
7768
  /**
7522
- * Price created successfully
7523
- */
7524
- 201: PriceResponseDto;
7525
- /**
7526
- * Currency or quoteCurrency commodity not found
7527
- */
7528
- 404: unknown;
7529
- /**
7530
- * Price already exists for this currency pair and date
7769
+ * Trends retrieved successfully
7531
7770
  */
7532
- 409: unknown;
7533
- };
7534
- };
7535
- get: {
7536
- req: PriceControllerFindAllData;
7537
- res: {
7771
+ 200: PortfolioTrendsResponseDto;
7538
7772
  /**
7539
- * Prices retrieved successfully
7773
+ * User not authenticated
7540
7774
  */
7541
- 200: PriceListResponseDto;
7775
+ 401: unknown;
7542
7776
  };
7543
7777
  };
7544
7778
  };
7545
- '/api/v1/{region}/bean/prices/{id}': {
7779
+ '/api/v1/{region}/reporting/cash-flow/trends': {
7546
7780
  get: {
7547
- req: PriceControllerFindOneData;
7548
- res: {
7549
- /**
7550
- * Price retrieved successfully
7551
- */
7552
- 200: PriceResponseDto;
7553
- /**
7554
- * Price not found
7555
- */
7556
- 404: unknown;
7557
- };
7558
- };
7559
- put: {
7560
- req: PriceControllerUpdateData;
7781
+ req: ReportingControllerGetCashFlowTrendsData;
7561
7782
  res: {
7562
7783
  /**
7563
- * Price updated successfully
7564
- */
7565
- 200: PriceResponseDto;
7566
- /**
7567
- * Price not found
7784
+ * Cash-flow trends retrieved successfully
7568
7785
  */
7569
- 404: unknown;
7786
+ 200: CashFlowTrendsResponseDto;
7570
7787
  /**
7571
- * Updated price conflicts with existing price
7788
+ * User not authenticated
7572
7789
  */
7573
- 409: unknown;
7790
+ 401: unknown;
7574
7791
  };
7575
7792
  };
7576
- delete: {
7577
- req: PriceControllerDeleteData;
7793
+ };
7794
+ '/api/v1/{region}/reporting/snapshots/generate': {
7795
+ post: {
7796
+ req: ReportingControllerGenerateSnapshotData;
7578
7797
  res: {
7579
7798
  /**
7580
- * Price deleted successfully
7799
+ * Snapshot generated successfully
7581
7800
  */
7582
- 204: void;
7801
+ 200: GenerateSnapshotResponse;
7583
7802
  /**
7584
- * Price not found
7803
+ * Invalid date format
7585
7804
  */
7586
- 404: unknown;
7587
- };
7588
- };
7589
- };
7590
- '/api/v1/{region}/bean/prices/bulk': {
7591
- post: {
7592
- req: PriceControllerBulkCreateData;
7593
- res: {
7805
+ 400: unknown;
7594
7806
  /**
7595
- * Prices created successfully
7807
+ * User not authenticated
7596
7808
  */
7597
- 201: Array<PriceResponseDto>;
7809
+ 401: unknown;
7598
7810
  };
7599
7811
  };
7600
7812
  };
7601
- '/api/v1/{region}/bean/recurring-rules': {
7813
+ '/api/v1/{region}/reporting/snapshots/backfill': {
7602
7814
  post: {
7603
- req: RecurringRuleControllerCreateData;
7815
+ req: ReportingControllerBackfillSnapshotsData;
7604
7816
  res: {
7605
7817
  /**
7606
- * Rule created successfully
7818
+ * Backfill completed successfully
7607
7819
  */
7608
- 201: RecurringRuleResponseDto;
7820
+ 200: BackfillSnapshotsResponse;
7609
7821
  /**
7610
- * Invalid input data (e.g., autoCreate without accounts)
7822
+ * Invalid date format or range
7611
7823
  */
7612
7824
  400: unknown;
7613
7825
  /**
7614
- * Rule with same name already exists
7826
+ * User not authenticated
7615
7827
  */
7616
- 409: unknown;
7617
- };
7618
- };
7619
- get: {
7620
- req: RecurringRuleControllerFindAllData;
7621
- res: {
7828
+ 401: unknown;
7622
7829
  /**
7623
- * Rules retrieved successfully
7830
+ * Backfill already in progress for this user
7624
7831
  */
7625
- 200: Array<RecurringRuleResponseDto>;
7832
+ 409: unknown;
7626
7833
  };
7627
7834
  };
7628
7835
  };
7629
- '/api/v1/{region}/bean/recurring-rules/from-transaction/{transactionId}': {
7836
+ '/api/v1/{region}/bean/prices': {
7630
7837
  post: {
7631
- req: RecurringRuleControllerCreateFromTransactionData;
7838
+ req: PriceControllerCreateData;
7632
7839
  res: {
7633
7840
  /**
7634
- * Rule created successfully
7841
+ * Price created successfully
7842
+ */
7843
+ 201: PriceResponseDto;
7844
+ /**
7845
+ * Currency or quoteCurrency commodity not found
7635
7846
  */
7636
- 201: RecurringRuleResponseDto;
7847
+ 404: unknown;
7637
7848
  /**
7638
- * Transaction not found
7849
+ * Price already exists for this currency pair and date
7639
7850
  */
7640
- 404: ApiProblemResponseDto;
7851
+ 409: unknown;
7852
+ };
7853
+ };
7854
+ get: {
7855
+ req: PriceControllerFindAllData;
7856
+ res: {
7641
7857
  /**
7642
- * Rule with same name already exists or transaction already linked
7858
+ * Prices retrieved successfully
7643
7859
  */
7644
- 409: ApiProblemResponseDto;
7860
+ 200: PriceListResponseDto;
7645
7861
  };
7646
7862
  };
7647
7863
  };
7648
- '/api/v1/{region}/bean/recurring-rules/{id}': {
7864
+ '/api/v1/{region}/bean/prices/{id}': {
7649
7865
  get: {
7650
- req: RecurringRuleControllerFindOneData;
7866
+ req: PriceControllerFindOneData;
7651
7867
  res: {
7652
7868
  /**
7653
- * Rule retrieved successfully
7869
+ * Price retrieved successfully
7654
7870
  */
7655
- 200: RecurringRuleResponseDto;
7871
+ 200: PriceResponseDto;
7656
7872
  /**
7657
- * Rule not found
7873
+ * Price not found
7658
7874
  */
7659
7875
  404: unknown;
7660
7876
  };
7661
7877
  };
7662
- patch: {
7663
- req: RecurringRuleControllerUpdateData;
7878
+ put: {
7879
+ req: PriceControllerUpdateData;
7664
7880
  res: {
7665
7881
  /**
7666
- * Rule updated successfully
7882
+ * Price updated successfully
7667
7883
  */
7668
- 200: RecurringRuleResponseDto;
7884
+ 200: PriceResponseDto;
7669
7885
  /**
7670
- * Invalid input data
7886
+ * Price not found
7671
7887
  */
7672
- 400: unknown;
7888
+ 404: unknown;
7673
7889
  /**
7674
- * Rule not found
7890
+ * Updated price conflicts with existing price
7675
7891
  */
7676
- 404: unknown;
7892
+ 409: unknown;
7677
7893
  };
7678
7894
  };
7679
7895
  delete: {
7680
- req: RecurringRuleControllerDeleteData;
7896
+ req: PriceControllerDeleteData;
7681
7897
  res: {
7682
7898
  /**
7683
- * Rule deleted successfully
7899
+ * Price deleted successfully
7684
7900
  */
7685
7901
  204: void;
7686
7902
  /**
7687
- * Rule not found
7903
+ * Price not found
7688
7904
  */
7689
7905
  404: unknown;
7690
7906
  };
7691
7907
  };
7692
7908
  };
7693
- '/api/v1/{region}/bean/recurring-rules/{id}/stats': {
7694
- get: {
7695
- req: RecurringRuleControllerGetWithStatsData;
7909
+ '/api/v1/{region}/bean/prices/bulk': {
7910
+ post: {
7911
+ req: PriceControllerBulkCreateData;
7696
7912
  res: {
7697
7913
  /**
7698
- * Rule with stats retrieved successfully
7699
- */
7700
- 200: RecurringRuleWithStatsResponseDto;
7701
- /**
7702
- * Rule not found
7914
+ * Prices created successfully
7703
7915
  */
7704
- 404: unknown;
7916
+ 201: Array<PriceResponseDto>;
7705
7917
  };
7706
7918
  };
7707
7919
  };
7708
- '/api/v1/{region}/bean/expected-transactions': {
7709
- get: {
7710
- req: ExpectedTransactionControllerFindAllData;
7920
+ '/api/v1/users': {
7921
+ delete: {
7922
+ req: UserControllerDeleteOwnUserData;
7711
7923
  res: {
7712
7924
  /**
7713
- * Expected transactions retrieved successfully
7925
+ * User deleted successfully
7714
7926
  */
7715
- 200: ExpectedTransactionListResponseDto;
7716
- };
7717
- };
7718
- };
7719
- '/api/v1/{region}/bean/expected-transactions/overdue': {
7720
- get: {
7721
- req: ExpectedTransactionControllerFindOverdueData;
7722
- res: {
7927
+ 204: void;
7723
7928
  /**
7724
- * Overdue transactions retrieved successfully
7929
+ * Invalid access token
7725
7930
  */
7726
- 200: ExpectedTransactionListResponseDto;
7931
+ 403: unknown;
7727
7932
  };
7728
7933
  };
7729
- };
7730
- '/api/v1/{region}/bean/expected-transactions/{id}': {
7731
7934
  get: {
7732
- req: ExpectedTransactionControllerFindOneData;
7935
+ req: UserControllerGetUserData;
7733
7936
  res: {
7734
7937
  /**
7735
- * Expected transaction retrieved successfully
7736
- */
7737
- 200: ExpectedTransactionResponseDto;
7738
- /**
7739
- * Expected transaction not found
7938
+ * User retrieved successfully
7740
7939
  */
7741
- 404: unknown;
7940
+ 200: UserResponseDto;
7742
7941
  };
7743
7942
  };
7744
- };
7745
- '/api/v1/{region}/bean/expected-transactions/{id}/skip': {
7746
7943
  post: {
7747
- req: ExpectedTransactionControllerSkipData;
7944
+ req: UserControllerSignupUserData;
7748
7945
  res: {
7749
7946
  /**
7750
- * Expected transaction skipped successfully
7947
+ * User created successfully
7751
7948
  */
7752
- 200: ExpectedTransactionResponseDto;
7949
+ 201: SignupResponseDto;
7753
7950
  /**
7754
- * Cannot skip - not in PENDING status
7951
+ * Invalid Turnstile token (when Turnstile is enabled)
7755
7952
  */
7756
7953
  400: unknown;
7757
7954
  /**
7758
- * Expected transaction not found
7955
+ * User signup is disabled
7759
7956
  */
7760
- 404: unknown;
7957
+ 403: unknown;
7761
7958
  };
7762
7959
  };
7960
+ };
7961
+ '/api/v1/users/{id}': {
7763
7962
  delete: {
7764
- req: ExpectedTransactionControllerUndoSkipData;
7963
+ req: UserControllerDeleteUserData;
7765
7964
  res: {
7766
7965
  /**
7767
- * Skip undone successfully
7768
- */
7769
- 200: ExpectedTransactionResponseDto;
7770
- /**
7771
- * Cannot undo - not in SKIPPED status
7966
+ * User deleted successfully
7772
7967
  */
7773
- 400: unknown;
7968
+ 204: void;
7774
7969
  /**
7775
- * Expected transaction not found
7970
+ * Cannot delete own account or insufficient permissions
7776
7971
  */
7777
- 404: unknown;
7972
+ 403: unknown;
7778
7973
  };
7779
7974
  };
7780
7975
  };
7781
- '/api/v1/{region}/bean/expected-transactions/{id}/match': {
7782
- post: {
7783
- req: ExpectedTransactionControllerConfirmMatchData;
7976
+ '/api/v1/users/{id}/info': {
7977
+ get: {
7978
+ req: UserControllerGetUserInfoData;
7784
7979
  res: {
7785
7980
  /**
7786
- * Match confirmed successfully
7981
+ * User info retrieved successfully
7787
7982
  */
7788
7983
  200: unknown;
7789
7984
  /**
7790
- * Cannot match - not in PENDING status
7791
- */
7792
- 400: unknown;
7793
- /**
7794
- * Expected or actual transaction not found
7795
- */
7796
- 404: unknown;
7797
- /**
7798
- * Actual transaction already matched to another rule
7985
+ * Cannot access other user info without admin permission
7799
7986
  */
7800
- 409: unknown;
7987
+ 403: unknown;
7801
7988
  };
7802
7989
  };
7803
- delete: {
7804
- req: ExpectedTransactionControllerUnmatchData;
7990
+ };
7991
+ '/api/v1/users/setting': {
7992
+ put: {
7993
+ req: UserControllerUpdateUserSettingData;
7805
7994
  res: {
7806
7995
  /**
7807
- * Match removed successfully
7996
+ * Settings updated successfully
7808
7997
  */
7809
7998
  200: unknown;
7810
7999
  /**
7811
- * Cannot unmatch - not in COMPLETED status
7812
- */
7813
- 400: unknown;
7814
- /**
7815
- * Expected transaction not found
8000
+ * Insufficient permissions
7816
8001
  */
7817
- 404: unknown;
8002
+ 403: unknown;
7818
8003
  };
7819
8004
  };
7820
8005
  };
7821
- '/api/v1/{region}/bean/expected-transactions/{id}/enter': {
7822
- post: {
7823
- req: ExpectedTransactionControllerEnterNowData;
8006
+ '/api/v1/users/settings-by-page': {
8007
+ get: {
8008
+ req: UserControllerGetAllUserSettingsByPageData;
7824
8009
  res: {
7825
8010
  /**
7826
- * Transaction created successfully
7827
- */
7828
- 201: unknown;
7829
- /**
7830
- * Cannot enter - not in PENDING status or missing accounts
7831
- */
7832
- 400: unknown;
7833
- /**
7834
- * Expected transaction or accounts not found
8011
+ * Settings list retrieved successfully
7835
8012
  */
7836
- 404: unknown;
8013
+ 200: unknown;
7837
8014
  };
7838
8015
  };
7839
8016
  };
7840
- '/api/v1/{region}/bean/recurring/forecast': {
8017
+ '/api/v1/users/asset-liability-summary': {
7841
8018
  get: {
7842
- req: ForecastControllerGetForecastData;
7843
8019
  res: {
7844
8020
  /**
7845
- * Forecast retrieved successfully
8021
+ * Summary retrieved successfully
7846
8022
  */
7847
- 200: ForecastResponseDto;
8023
+ 200: unknown;
7848
8024
  };
7849
8025
  };
7850
8026
  };
7851
- '/api/v1/{region}/reporting/portfolio/trends': {
8027
+ '/api/v1/admin/properties': {
7852
8028
  get: {
7853
- req: ReportingControllerGetPortfolioTrendsData;
7854
8029
  res: {
7855
8030
  /**
7856
- * Trends retrieved successfully
8031
+ * Properties retrieved successfully
7857
8032
  */
7858
- 200: PortfolioTrendsResponseDto;
8033
+ 200: unknown;
7859
8034
  /**
7860
- * User not authenticated
8035
+ * Unauthorized
7861
8036
  */
7862
8037
  401: unknown;
8038
+ /**
8039
+ * Forbidden - insufficient permissions
8040
+ */
8041
+ 403: unknown;
7863
8042
  };
7864
8043
  };
7865
8044
  };
7866
- '/api/v1/{region}/reporting/cash-flow/trends': {
8045
+ '/api/v1/admin/properties/{key}': {
7867
8046
  get: {
7868
- req: ReportingControllerGetCashFlowTrendsData;
8047
+ req: PropertyControllerGetByKeyData;
7869
8048
  res: {
7870
8049
  /**
7871
- * Cash-flow trends retrieved successfully
8050
+ * Property retrieved successfully
7872
8051
  */
7873
- 200: CashFlowTrendsResponseDto;
8052
+ 200: unknown;
7874
8053
  /**
7875
- * User not authenticated
8054
+ * Unauthorized
7876
8055
  */
7877
8056
  401: unknown;
8057
+ /**
8058
+ * Forbidden - insufficient permissions
8059
+ */
8060
+ 403: unknown;
8061
+ /**
8062
+ * Property not found
8063
+ */
8064
+ 404: unknown;
7878
8065
  };
7879
8066
  };
7880
- };
7881
- '/api/v1/{region}/reporting/snapshots/generate': {
7882
- post: {
7883
- req: ReportingControllerGenerateSnapshotData;
8067
+ put: {
8068
+ req: PropertyControllerUpdateData;
7884
8069
  res: {
7885
8070
  /**
7886
- * Snapshot generated successfully
8071
+ * Property updated successfully
7887
8072
  */
7888
- 200: GenerateSnapshotResponse;
8073
+ 200: unknown;
7889
8074
  /**
7890
- * Invalid date format
8075
+ * Unauthorized
7891
8076
  */
7892
- 400: unknown;
8077
+ 401: unknown;
7893
8078
  /**
7894
- * User not authenticated
8079
+ * Forbidden - insufficient permissions
8080
+ */
8081
+ 403: unknown;
8082
+ };
8083
+ };
8084
+ delete: {
8085
+ req: PropertyControllerDeleteData;
8086
+ res: {
8087
+ /**
8088
+ * Property deleted successfully
8089
+ */
8090
+ 204: void;
8091
+ /**
8092
+ * Unauthorized
7895
8093
  */
7896
8094
  401: unknown;
8095
+ /**
8096
+ * Forbidden - insufficient permissions
8097
+ */
8098
+ 403: unknown;
8099
+ /**
8100
+ * Property not found
8101
+ */
8102
+ 404: unknown;
7897
8103
  };
7898
8104
  };
7899
8105
  };
7900
- '/api/v1/{region}/reporting/snapshots/backfill': {
8106
+ '/api/v1/{region}/bean/recurring-rules': {
7901
8107
  post: {
7902
- req: ReportingControllerBackfillSnapshotsData;
8108
+ req: RecurringRuleControllerCreateData;
7903
8109
  res: {
7904
8110
  /**
7905
- * Backfill completed successfully
8111
+ * Rule created successfully
7906
8112
  */
7907
- 200: BackfillSnapshotsResponse;
8113
+ 201: RecurringRuleResponseDto;
7908
8114
  /**
7909
- * Invalid date format or range
8115
+ * Invalid input data (e.g., autoCreate without accounts)
7910
8116
  */
7911
8117
  400: unknown;
7912
8118
  /**
7913
- * User not authenticated
8119
+ * Rule with same name already exists
7914
8120
  */
7915
- 401: unknown;
8121
+ 409: unknown;
8122
+ };
8123
+ };
8124
+ get: {
8125
+ req: RecurringRuleControllerFindAllData;
8126
+ res: {
7916
8127
  /**
7917
- * Backfill already in progress for this user
8128
+ * Rules retrieved successfully
7918
8129
  */
7919
- 409: unknown;
8130
+ 200: Array<RecurringRuleResponseDto>;
7920
8131
  };
7921
8132
  };
7922
8133
  };
7923
- '/api/v1/users': {
7924
- delete: {
7925
- req: UserControllerDeleteOwnUserData;
8134
+ '/api/v1/{region}/bean/recurring-rules/from-transaction/{transactionId}': {
8135
+ post: {
8136
+ req: RecurringRuleControllerCreateFromTransactionData;
7926
8137
  res: {
7927
8138
  /**
7928
- * User deleted successfully
8139
+ * Rule created successfully
7929
8140
  */
7930
- 204: void;
8141
+ 201: RecurringRuleResponseDto;
7931
8142
  /**
7932
- * Invalid access token
8143
+ * Transaction not found
7933
8144
  */
7934
- 403: unknown;
8145
+ 404: ApiProblemResponseDto;
8146
+ /**
8147
+ * Rule with same name already exists or transaction already linked
8148
+ */
8149
+ 409: ApiProblemResponseDto;
7935
8150
  };
7936
8151
  };
8152
+ };
8153
+ '/api/v1/{region}/bean/recurring-rules/{id}': {
7937
8154
  get: {
7938
- req: UserControllerGetUserData;
8155
+ req: RecurringRuleControllerFindOneData;
7939
8156
  res: {
7940
8157
  /**
7941
- * User retrieved successfully
8158
+ * Rule retrieved successfully
7942
8159
  */
7943
- 200: UserResponseDto;
8160
+ 200: RecurringRuleResponseDto;
8161
+ /**
8162
+ * Rule not found
8163
+ */
8164
+ 404: unknown;
7944
8165
  };
7945
8166
  };
7946
- post: {
7947
- req: UserControllerSignupUserData;
8167
+ patch: {
8168
+ req: RecurringRuleControllerUpdateData;
7948
8169
  res: {
7949
8170
  /**
7950
- * User created successfully
8171
+ * Rule updated successfully
7951
8172
  */
7952
- 201: SignupResponseDto;
8173
+ 200: RecurringRuleResponseDto;
7953
8174
  /**
7954
- * Invalid Turnstile token (when Turnstile is enabled)
8175
+ * Invalid input data
7955
8176
  */
7956
8177
  400: unknown;
7957
8178
  /**
7958
- * User signup is disabled
8179
+ * Rule not found
7959
8180
  */
7960
- 403: unknown;
8181
+ 404: unknown;
7961
8182
  };
7962
8183
  };
7963
- };
7964
- '/api/v1/users/{id}': {
7965
8184
  delete: {
7966
- req: UserControllerDeleteUserData;
8185
+ req: RecurringRuleControllerDeleteData;
7967
8186
  res: {
7968
8187
  /**
7969
- * User deleted successfully
8188
+ * Rule deleted successfully
7970
8189
  */
7971
8190
  204: void;
7972
8191
  /**
7973
- * Cannot delete own account or insufficient permissions
8192
+ * Rule not found
7974
8193
  */
7975
- 403: unknown;
8194
+ 404: unknown;
7976
8195
  };
7977
8196
  };
7978
8197
  };
7979
- '/api/v1/users/{id}/info': {
8198
+ '/api/v1/{region}/bean/recurring-rules/{id}/stats': {
7980
8199
  get: {
7981
- req: UserControllerGetUserInfoData;
8200
+ req: RecurringRuleControllerGetWithStatsData;
7982
8201
  res: {
7983
8202
  /**
7984
- * User info retrieved successfully
8203
+ * Rule with stats retrieved successfully
7985
8204
  */
7986
- 200: unknown;
8205
+ 200: RecurringRuleWithStatsResponseDto;
7987
8206
  /**
7988
- * Cannot access other user info without admin permission
8207
+ * Rule not found
7989
8208
  */
7990
- 403: unknown;
8209
+ 404: unknown;
7991
8210
  };
7992
8211
  };
7993
8212
  };
7994
- '/api/v1/users/setting': {
7995
- put: {
7996
- req: UserControllerUpdateUserSettingData;
8213
+ '/api/v1/{region}/bean/expected-transactions': {
8214
+ get: {
8215
+ req: ExpectedTransactionControllerFindAllData;
7997
8216
  res: {
7998
8217
  /**
7999
- * Settings updated successfully
8000
- */
8001
- 200: unknown;
8002
- /**
8003
- * Insufficient permissions
8218
+ * Expected transactions retrieved successfully
8004
8219
  */
8005
- 403: unknown;
8220
+ 200: ExpectedTransactionListResponseDto;
8006
8221
  };
8007
8222
  };
8008
8223
  };
8009
- '/api/v1/users/settings-by-page': {
8224
+ '/api/v1/{region}/bean/expected-transactions/overdue': {
8010
8225
  get: {
8011
- req: UserControllerGetAllUserSettingsByPageData;
8226
+ req: ExpectedTransactionControllerFindOverdueData;
8012
8227
  res: {
8013
8228
  /**
8014
- * Settings list retrieved successfully
8229
+ * Overdue transactions retrieved successfully
8015
8230
  */
8016
- 200: unknown;
8231
+ 200: ExpectedTransactionListResponseDto;
8017
8232
  };
8018
8233
  };
8019
8234
  };
8020
- '/api/v1/users/asset-liability-summary': {
8235
+ '/api/v1/{region}/bean/expected-transactions/{id}': {
8021
8236
  get: {
8237
+ req: ExpectedTransactionControllerFindOneData;
8022
8238
  res: {
8023
8239
  /**
8024
- * Summary retrieved successfully
8240
+ * Expected transaction retrieved successfully
8025
8241
  */
8026
- 200: unknown;
8242
+ 200: ExpectedTransactionResponseDto;
8243
+ /**
8244
+ * Expected transaction not found
8245
+ */
8246
+ 404: unknown;
8027
8247
  };
8028
8248
  };
8029
8249
  };
8030
- '/api/v1/admin/properties': {
8031
- get: {
8250
+ '/api/v1/{region}/bean/expected-transactions/{id}/skip': {
8251
+ post: {
8252
+ req: ExpectedTransactionControllerSkipData;
8032
8253
  res: {
8033
8254
  /**
8034
- * Properties retrieved successfully
8255
+ * Expected transaction skipped successfully
8035
8256
  */
8036
- 200: unknown;
8257
+ 200: ExpectedTransactionResponseDto;
8037
8258
  /**
8038
- * Unauthorized
8259
+ * Cannot skip - not in PENDING status
8039
8260
  */
8040
- 401: unknown;
8261
+ 400: unknown;
8041
8262
  /**
8042
- * Forbidden - insufficient permissions
8263
+ * Expected transaction not found
8043
8264
  */
8044
- 403: unknown;
8265
+ 404: unknown;
8045
8266
  };
8046
8267
  };
8047
- };
8048
- '/api/v1/admin/properties/{key}': {
8049
- get: {
8050
- req: PropertyControllerGetByKeyData;
8268
+ delete: {
8269
+ req: ExpectedTransactionControllerUndoSkipData;
8051
8270
  res: {
8052
8271
  /**
8053
- * Property retrieved successfully
8054
- */
8055
- 200: unknown;
8056
- /**
8057
- * Unauthorized
8272
+ * Skip undone successfully
8058
8273
  */
8059
- 401: unknown;
8274
+ 204: void;
8060
8275
  /**
8061
- * Forbidden - insufficient permissions
8276
+ * Cannot undo - not in SKIPPED status
8062
8277
  */
8063
- 403: unknown;
8278
+ 400: unknown;
8064
8279
  /**
8065
- * Property not found
8280
+ * Expected transaction not found
8066
8281
  */
8067
8282
  404: unknown;
8068
8283
  };
8069
8284
  };
8070
- put: {
8071
- req: PropertyControllerUpdateData;
8285
+ };
8286
+ '/api/v1/{region}/bean/expected-transactions/{id}/match': {
8287
+ post: {
8288
+ req: ExpectedTransactionControllerConfirmMatchData;
8072
8289
  res: {
8073
8290
  /**
8074
- * Property updated successfully
8291
+ * Match confirmed successfully
8075
8292
  */
8076
8293
  200: unknown;
8077
8294
  /**
8078
- * Unauthorized
8295
+ * Cannot match - not in PENDING status
8079
8296
  */
8080
- 401: unknown;
8297
+ 400: unknown;
8081
8298
  /**
8082
- * Forbidden - insufficient permissions
8299
+ * Expected or actual transaction not found
8083
8300
  */
8084
- 403: unknown;
8301
+ 404: unknown;
8302
+ /**
8303
+ * Actual transaction already matched to another rule
8304
+ */
8305
+ 409: unknown;
8085
8306
  };
8086
8307
  };
8087
8308
  delete: {
8088
- req: PropertyControllerDeleteData;
8309
+ req: ExpectedTransactionControllerUnmatchData;
8089
8310
  res: {
8090
8311
  /**
8091
- * Property deleted successfully
8312
+ * Match removed successfully
8092
8313
  */
8093
8314
  204: void;
8094
8315
  /**
8095
- * Unauthorized
8316
+ * Cannot unmatch - not in COMPLETED status
8096
8317
  */
8097
- 401: unknown;
8318
+ 400: unknown;
8098
8319
  /**
8099
- * Forbidden - insufficient permissions
8320
+ * Expected transaction not found
8100
8321
  */
8101
- 403: unknown;
8322
+ 404: unknown;
8323
+ };
8324
+ };
8325
+ };
8326
+ '/api/v1/{region}/bean/expected-transactions/{id}/enter': {
8327
+ post: {
8328
+ req: ExpectedTransactionControllerEnterNowData;
8329
+ res: {
8102
8330
  /**
8103
- * Property not found
8331
+ * Transaction created successfully
8332
+ */
8333
+ 201: unknown;
8334
+ /**
8335
+ * Cannot enter - not in PENDING status or missing accounts
8336
+ */
8337
+ 400: unknown;
8338
+ /**
8339
+ * Expected transaction or accounts not found
8104
8340
  */
8105
8341
  404: unknown;
8106
8342
  };
8107
8343
  };
8108
8344
  };
8345
+ '/api/v1/{region}/bean/recurring/forecast': {
8346
+ get: {
8347
+ req: ForecastControllerGetForecastData;
8348
+ res: {
8349
+ /**
8350
+ * Forecast retrieved successfully
8351
+ */
8352
+ 200: ForecastResponseDto;
8353
+ };
8354
+ };
8355
+ };
8109
8356
  '/api/v1/{region}/bean/transaction-rules': {
8110
8357
  post: {
8111
8358
  req: TransactionRuleControllerCreateData;
@@ -8503,7 +8750,10 @@ type $OpenApiTs = {
8503
8750
  '/api/v1/{region}/bean/export/beancount': {
8504
8751
  get: {
8505
8752
  res: {
8506
- 200: unknown;
8753
+ /**
8754
+ * ZIP archive (application/zip) streamed as an attachment
8755
+ */
8756
+ 200: Blob | File;
8507
8757
  };
8508
8758
  };
8509
8759
  };
@@ -8884,6 +9134,17 @@ type $OpenApiTs = {
8884
9134
  };
8885
9135
  };
8886
9136
  };
9137
+ '/api/v1/bean/platforms/{id}/standards': {
9138
+ get: {
9139
+ req: PlatformControllerGetPlatformStandardsData;
9140
+ res: {
9141
+ /**
9142
+ * Resolved region plus the merged account-standard catalog of that region (groupable by productCategory client-side)
9143
+ */
9144
+ 200: PlatformStandardsResponseDto;
9145
+ };
9146
+ };
9147
+ };
8887
9148
  '/api/v1/bean/platforms/{id}': {
8888
9149
  put: {
8889
9150
  req: PlatformControllerUpdateData;
@@ -9028,10 +9289,48 @@ type $OpenApiTs = {
9028
9289
  };
9029
9290
  };
9030
9291
  };
9292
+ '/api/v1/{region}/community/parser-contributions': {
9293
+ post: {
9294
+ req: ParserContributionControllerCreateData;
9295
+ res: {
9296
+ /**
9297
+ * Issue created by the bot
9298
+ */
9299
+ 201: ParserContributionRelayResponseDto;
9300
+ /**
9301
+ * Unauthorized
9302
+ */
9303
+ 401: ApiProblemResponseDto;
9304
+ /**
9305
+ * Validation failed (institution slug, empty samples, row/cell size limits)
9306
+ */
9307
+ 422: ApiProblemResponseDto;
9308
+ /**
9309
+ * Rate limited (5 submissions per user per hour)
9310
+ */
9311
+ 429: ApiProblemResponseDto;
9312
+ /**
9313
+ * Relay not configured on this deployment — clients fall back to the clipboard flow
9314
+ */
9315
+ 501: ApiProblemResponseDto;
9316
+ /**
9317
+ * GitHub bot failure (upstream), safe to retry
9318
+ */
9319
+ 502: ApiProblemResponseDto;
9320
+ };
9321
+ };
9322
+ };
9031
9323
  '/api/v1/cache/flush': {
9032
9324
  post: {
9033
9325
  res: {
9034
- 201: unknown;
9326
+ /**
9327
+ * Cache flushed successfully
9328
+ */
9329
+ 200: unknown;
9330
+ /**
9331
+ * Admin access required
9332
+ */
9333
+ 403: ApiProblemResponseDto;
9035
9334
  };
9036
9335
  };
9037
9336
  };
@@ -9307,10 +9606,11 @@ declare class BeanTransactionsService {
9307
9606
  * @param data.offset Number of items to skip (default: 0)
9308
9607
  * @param data.dateFrom Filter by start date (inclusive), format: YYYY-MM-DD
9309
9608
  * @param data.dateTo Filter by end date (inclusive), format: YYYY-MM-DD
9310
- * @param data.status Filter by transaction status
9609
+ * @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).
9311
9610
  * @param data.search Search in narration and payee fields (max 200 chars)
9312
9611
  * @param data.accountId Filter by account ID (transactions with postings to this account)
9313
- * @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
9612
+ * @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).
9613
+ * @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.
9314
9614
  * @returns TransactionListResponseDto Transaction list
9315
9615
  * @throws ApiError
9316
9616
  */
@@ -9616,4 +9916,4 @@ type OpenAPIConfig = {
9616
9916
  };
9617
9917
  declare const OpenAPI: OpenAPIConfig;
9618
9918
 
9619
- 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 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 PlatformControllerGetPlatformListData, 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 UserResponseDto, type UserSettingsResponseDto, 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 productCategory, type provider, type role, type scenario, 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 };
9919
+ 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 };