@firela/api-types 0.0.0-canary.512e6382 → 0.0.0-canary.51e965dc

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
@@ -239,15 +239,27 @@ type AccountStandardResponseDto = {
239
239
  */
240
240
  type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
241
241
  /**
242
- * Short localized display name
242
+ * 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
243
  */
244
244
  name?: string;
245
245
  /**
246
- * Account description (stable semantics only)
246
+ * 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.
247
+ */
248
+ aliases?: Array<string>;
249
+ /**
250
+ * 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).
251
+ */
252
+ searchTerms?: Array<string>;
253
+ /**
254
+ * 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).
255
+ */
256
+ currency?: string;
257
+ /**
258
+ * 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
259
  */
248
260
  description: string;
249
261
  /**
250
- * Account tags for categorization
262
+ * Account tags for categorization — structured metadata delivered verbatim (not localized, not xlf-managed). ADR-0131 class A.
251
263
  */
252
264
  tags: Array<string>;
253
265
  /**
@@ -457,7 +469,7 @@ type PostingResponseDto = {
457
469
  */
458
470
  account: string;
459
471
  /**
460
- * Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
472
+ * 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
473
  */
462
474
  units?: string;
463
475
  /**
@@ -669,7 +681,7 @@ type PostingDetailDto = {
669
681
  */
670
682
  account: string;
671
683
  /**
672
- * Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
684
+ * 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
685
  */
674
686
  units?: string;
675
687
  /**
@@ -799,6 +811,94 @@ type flag2 = 'CLEARED' | 'PENDING' | 'PADDING' | 'SUMMARIZE' | 'TRANSFER' | 'CON
799
811
  * Transaction status
800
812
  */
801
813
  type status2 = 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
814
+ type TransactionListItemDto = {
815
+ /**
816
+ * Transaction ID
817
+ */
818
+ id: string;
819
+ /**
820
+ * Transaction date
821
+ */
822
+ date: string;
823
+ /**
824
+ * Transaction flag
825
+ */
826
+ flag?: 'CLEARED' | 'PENDING' | 'PADDING' | 'SUMMARIZE' | 'TRANSFER' | 'CONVERSIONS';
827
+ /**
828
+ * Custom flag (if not using standard flags)
829
+ */
830
+ customFlag?: string;
831
+ /**
832
+ * Payee name
833
+ */
834
+ payee?: string;
835
+ /**
836
+ * Transaction narration
837
+ */
838
+ narration: string;
839
+ /**
840
+ * Transaction tags
841
+ */
842
+ tags: Array<string>;
843
+ /**
844
+ * Transaction links
845
+ */
846
+ links: Array<string>;
847
+ /**
848
+ * Transaction metadata
849
+ */
850
+ meta?: {
851
+ [key: string]: unknown;
852
+ };
853
+ /**
854
+ * Transaction status
855
+ */
856
+ status: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
857
+ /**
858
+ * Source type (free-form string from transaction metadata, e.g. import, api)
859
+ */
860
+ sourceType?: string;
861
+ /**
862
+ * Source platform (e.g., alipay, wechat)
863
+ */
864
+ sourcePlatform?: string;
865
+ /**
866
+ * Transaction postings
867
+ */
868
+ postings: Array<PostingDetailDto>;
869
+ /**
870
+ * Created at timestamp
871
+ */
872
+ createdAt: string;
873
+ /**
874
+ * Voided at timestamp (if voided)
875
+ */
876
+ voidedAt?: string;
877
+ /**
878
+ * User ID who voided this transaction
879
+ */
880
+ voidedBy?: string;
881
+ /**
882
+ * Correction reason (if voided or superseded)
883
+ */
884
+ correctionReason?: string;
885
+ /**
886
+ * ID of the transaction that supersedes this one (set when status=SUPERSEDED)
887
+ */
888
+ supersededBy?: string;
889
+ /**
890
+ * ID of the transaction this one corrected/replaced (back-link on the replacement)
891
+ */
892
+ originalTxn?: string;
893
+ /**
894
+ * 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.
895
+ */
896
+ viewpointAmount?: string;
897
+ /**
898
+ * Currency of viewpointAmount. A row spanning multiple currencies takes the largest-magnitude currency group (known simplification, ADR-0126).
899
+ */
900
+ viewpointCurrency?: string;
901
+ };
802
902
  type BalanceByCurrencyDto = {
803
903
  /**
804
904
  * ISO 4217 currency code
@@ -825,7 +925,7 @@ type ExchangeRateWarningDto = {
825
925
  };
826
926
  type TransactionListSummaryDto = {
827
927
  /**
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.
928
+ * 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
929
  */
830
930
  totalAmount: string;
831
931
  /**
@@ -841,11 +941,29 @@ type TransactionListSummaryDto = {
841
941
  */
842
942
  warnings?: Array<ExchangeRateWarningDto>;
843
943
  };
944
+ type TransactionListViewpointDto = {
945
+ /**
946
+ * Viewpoint type (only category drill-down carries a viewpoint today)
947
+ */
948
+ type: 'category';
949
+ /**
950
+ * Flow root the category account set is restricted to
951
+ */
952
+ flow: 'income' | 'expense';
953
+ };
954
+ /**
955
+ * Viewpoint type (only category drill-down carries a viewpoint today)
956
+ */
957
+ type type2 = 'category';
958
+ /**
959
+ * Flow root the category account set is restricted to
960
+ */
961
+ type flow = 'income' | 'expense';
844
962
  type TransactionListResponseDto = {
845
963
  /**
846
964
  * List of transactions
847
965
  */
848
- data: Array<TransactionDetailDto>;
966
+ data: Array<TransactionListItemDto>;
849
967
  /**
850
968
  * Total count of matching transactions
851
969
  */
@@ -862,6 +980,10 @@ type TransactionListResponseDto = {
862
980
  * 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
981
  */
864
982
  summary?: TransactionListSummaryDto;
983
+ /**
984
+ * 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).
985
+ */
986
+ viewpoint?: TransactionListViewpointDto;
865
987
  };
866
988
  type TagSuggestionDto = {
867
989
  /**
@@ -1054,7 +1176,7 @@ type ReviewSummaryDto = {
1054
1176
  /**
1055
1177
  * Review type
1056
1178
  */
1057
- type type2 = 'DUPLICATE' | 'RULE_MATCH' | 'PAYEE_MATCH' | 'ACCOUNT_VALIDATION' | 'PIPELINE_ERROR';
1179
+ type type3 = 'DUPLICATE' | 'RULE_MATCH' | 'PAYEE_MATCH' | 'ACCOUNT_VALIDATION' | 'PIPELINE_ERROR';
1058
1180
  /**
1059
1181
  * Review status
1060
1182
  */
@@ -1708,451 +1830,427 @@ type UpdateCommodityDto = {
1708
1830
  [key: string]: unknown;
1709
1831
  };
1710
1832
  };
1711
- type CreateBeanPriceDto = {
1833
+ type CurrencyBalanceDto = {
1712
1834
  /**
1713
- * Currency being priced (e.g., USD, AAPL, BTC)
1835
+ * ISO 4217 currency code
1714
1836
  */
1715
1837
  currency: string;
1716
1838
  /**
1717
- * Quote currency (pricing currency, e.g., CNY, EUR)
1839
+ * Balance amount
1718
1840
  */
1719
- quoteCurrency: string;
1841
+ balance: string;
1842
+ };
1843
+ type TimeSeriesPointDto = {
1720
1844
  /**
1721
- * Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
1845
+ * Date in YYYY-MM-DD format
1722
1846
  */
1723
- amount: number;
1847
+ date: string;
1724
1848
  /**
1725
- * Price date (ISO 8601 format)
1849
+ * Value at this date (in base currency)
1726
1850
  */
1727
- date: string;
1851
+ value: string;
1728
1852
  /**
1729
- * Metadata (validated by Zod schema, max field lengths enforced)
1853
+ * Change from previous point
1730
1854
  */
1731
- metadata?: {
1855
+ change?: {
1732
1856
  [key: string]: unknown;
1733
1857
  };
1734
- };
1735
- type PriceResponseDto = {
1736
1858
  /**
1737
- * Unique identifier
1859
+ * Total assets at this date (in base currency)
1738
1860
  */
1739
- id: string;
1861
+ assets?: string;
1740
1862
  /**
1741
- * User ID (owner of the price)
1863
+ * Total liabilities at this date (in base currency)
1742
1864
  */
1743
- userId: string;
1865
+ liabilities?: string;
1744
1866
  /**
1745
- * Currency being priced (e.g., USD, AAPL, BTC)
1867
+ * Multi-currency breakdown for this point
1746
1868
  */
1747
- currency: string;
1869
+ byCurrency?: Array<CurrencyBalanceDto>;
1870
+ };
1871
+ type TrendSummaryDto = {
1748
1872
  /**
1749
- * Quote currency (pricing currency, e.g., USD, CNY)
1873
+ * Value at start of period
1750
1874
  */
1751
- quoteCurrency: string;
1875
+ startValue: string;
1752
1876
  /**
1753
- * Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
1877
+ * Value at end of period
1754
1878
  */
1755
- amount: number;
1879
+ endValue: string;
1756
1880
  /**
1757
- * Price date (ISO 8601 format). Represents the date this price was valid.
1881
+ * Total change over period
1758
1882
  */
1759
- date: string;
1883
+ totalChange: string;
1760
1884
  /**
1761
- * Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
1885
+ * Total change percentage
1762
1886
  */
1763
- meta: {
1764
- [key: string]: unknown;
1765
- };
1887
+ totalChangePercentage: string;
1888
+ };
1889
+ type MultiCurrencyPointDto = {
1766
1890
  /**
1767
- * Creation timestamp
1891
+ * Date in YYYY-MM-DD format
1768
1892
  */
1769
- createdAt: string;
1893
+ date: string;
1770
1894
  /**
1771
- * Last update timestamp
1895
+ * Balances by currency
1772
1896
  */
1773
- updatedAt: string;
1897
+ byCurrency: Array<CurrencyBalanceDto>;
1774
1898
  };
1775
- type PriceListResponseDto = {
1899
+ type PortfolioTrendsResponseDto = {
1776
1900
  /**
1777
- * List of prices
1901
+ * Time series data points
1778
1902
  */
1779
- items: Array<PriceResponseDto>;
1903
+ series: Array<TimeSeriesPointDto>;
1780
1904
  /**
1781
- * Total number of prices
1905
+ * Period summary
1782
1906
  */
1783
- total: number;
1784
- };
1785
- type UpdateBeanPriceDto = {
1907
+ summary: TrendSummaryDto;
1786
1908
  /**
1787
- * Currency being priced
1909
+ * Period requested
1788
1910
  */
1789
- currency?: string;
1911
+ period: string;
1790
1912
  /**
1791
- * Quote currency (pricing currency)
1913
+ * Data granularity
1792
1914
  */
1793
- quoteCurrency?: string;
1915
+ granularity: string;
1794
1916
  /**
1795
- * Price amount (MUST be >= 0 per Beancount spec)
1917
+ * Base currency for converted values
1796
1918
  */
1797
- amount?: number;
1919
+ currency: string;
1798
1920
  /**
1799
- * Price date (ISO 8601 format)
1921
+ * Multi-currency time series (each point has currency breakdown)
1800
1922
  */
1801
- date?: string;
1923
+ byCurrency?: Array<MultiCurrencyPointDto>;
1802
1924
  /**
1803
- * Metadata
1925
+ * Exchange rate warnings
1804
1926
  */
1805
- metadata?: {
1806
- [key: string]: unknown;
1807
- };
1927
+ warnings?: Array<ExchangeRateWarningDto>;
1808
1928
  };
1809
- type CreateRecurringRuleDto = {
1929
+ type CashFlowPointDto = {
1810
1930
  /**
1811
- * Rule name (unique per user)
1931
+ * Month key (YYYY-MM)
1812
1932
  */
1813
- name: string;
1933
+ month: string;
1814
1934
  /**
1815
- * Icon emoji
1935
+ * Income in base currency (absolute, converted)
1816
1936
  */
1817
- icon?: string;
1937
+ income: string;
1818
1938
  /**
1819
- * Recurring frequency
1939
+ * Expense in base currency (absolute, converted)
1820
1940
  */
1821
- frequency: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
1941
+ expense: string;
1822
1942
  /**
1823
- * Expected amount (positive number)
1943
+ * netSavings = income − expense (savings positive)
1824
1944
  */
1825
- expectedAmount: number;
1945
+ netSavings: string;
1946
+ };
1947
+ type CashFlowTrendSummaryDto = {
1826
1948
  /**
1827
- * Expected day of month (1-31)
1949
+ * Total income across the period
1828
1950
  */
1829
- expectedDay?: number;
1951
+ totalIncome: string;
1830
1952
  /**
1831
- * Custom interval in days (required for CUSTOM frequency)
1953
+ * Total expense across the period
1832
1954
  */
1833
- customIntervalDays?: number;
1955
+ totalExpense: string;
1834
1956
  /**
1835
- * Currency code
1957
+ * income − expense across the period
1836
1958
  */
1837
- currency: string;
1959
+ totalNetSavings: string;
1838
1960
  /**
1839
- * Payee matching pattern (supports wildcards)
1961
+ * totalNetSavings divided by the window length (N months, incl. zero-filled)
1840
1962
  */
1841
- matchPayeePattern?: string;
1963
+ averageMonthlyNetSavings: string;
1964
+ };
1965
+ type CashFlowTrendsResponseDto = {
1842
1966
  /**
1843
- * Amount tolerance percentage (0-1)
1967
+ * Monthly cash-flow series (fixed N-month window, zero-filled)
1844
1968
  */
1845
- matchAmountTolerance: number;
1969
+ series: Array<CashFlowPointDto>;
1846
1970
  /**
1847
- * Default expense account for auto-create
1971
+ * Period totals
1848
1972
  */
1849
- defaultExpenseAccount?: string;
1973
+ summary: CashFlowTrendSummaryDto;
1850
1974
  /**
1851
- * Default payment account for auto-create
1975
+ * Period requested
1852
1976
  */
1853
- defaultPaymentAccount?: string;
1977
+ period: string;
1854
1978
  /**
1855
- * Default payee for auto-create
1979
+ * Data granularity (v1 returns month buckets)
1856
1980
  */
1857
- defaultPayee?: string;
1981
+ granularity: string;
1858
1982
  /**
1859
- * Auto-create transaction when expected date arrives
1983
+ * Base currency for converted values
1860
1984
  */
1861
- autoCreate: boolean;
1985
+ currency: string;
1862
1986
  /**
1863
- * Rule start date (ISO format)
1987
+ * Exchange rate warnings (e.g. missing rate for a currency)
1864
1988
  */
1865
- startDate?: string;
1989
+ warnings?: Array<ExchangeRateWarningDto>;
1990
+ };
1991
+ type GenerateSnapshotBody = unknown;
1992
+ type GenerateSnapshotResponse = unknown;
1993
+ type BackfillSnapshotsBody = unknown;
1994
+ type BackfillSnapshotsResponse = unknown;
1995
+ type CreateBeanPriceDto = {
1866
1996
  /**
1867
- * Rule end date (ISO format)
1997
+ * Currency being priced (e.g., USD, AAPL, BTC)
1868
1998
  */
1869
- endDate?: string;
1870
- };
1871
- /**
1872
- * Recurring frequency
1873
- */
1874
- type frequency = 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
1875
- type RecurringRuleResponseDto = {
1999
+ currency: string;
1876
2000
  /**
1877
- * Rule ID
2001
+ * Quote currency (pricing currency, e.g., CNY, EUR)
1878
2002
  */
1879
- id: string;
2003
+ quoteCurrency: string;
1880
2004
  /**
1881
- * User ID
2005
+ * Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
1882
2006
  */
1883
- userId: string;
2007
+ amount: number;
1884
2008
  /**
1885
- * Rule name
2009
+ * Price date (ISO 8601 format)
1886
2010
  */
1887
- name: string;
2011
+ date: string;
1888
2012
  /**
1889
- * Icon emoji
2013
+ * Metadata (validated by Zod schema, max field lengths enforced)
1890
2014
  */
1891
- icon?: {
2015
+ metadata?: {
1892
2016
  [key: string]: unknown;
1893
2017
  };
2018
+ };
2019
+ type PriceResponseDto = {
1894
2020
  /**
1895
- * Recurring frequency
1896
- */
1897
- frequency: string;
1898
- /**
1899
- * Expected amount
1900
- */
1901
- expectedAmount: number;
1902
- /**
1903
- * Expected day of month
2021
+ * Unique identifier
1904
2022
  */
1905
- expectedDay?: {
1906
- [key: string]: unknown;
1907
- };
2023
+ id: string;
1908
2024
  /**
1909
- * Custom interval in days
2025
+ * User ID (owner of the price)
1910
2026
  */
1911
- customIntervalDays?: {
1912
- [key: string]: unknown;
1913
- };
2027
+ userId: string;
1914
2028
  /**
1915
- * Currency code
2029
+ * Currency being priced (e.g., USD, AAPL, BTC)
1916
2030
  */
1917
2031
  currency: string;
1918
2032
  /**
1919
- * Payee matching pattern
2033
+ * Quote currency (pricing currency, e.g., USD, CNY)
1920
2034
  */
1921
- matchPayeePattern?: {
1922
- [key: string]: unknown;
1923
- };
2035
+ quoteCurrency: string;
1924
2036
  /**
1925
- * Amount tolerance percentage
2037
+ * Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
1926
2038
  */
1927
- matchAmountTolerance: number;
2039
+ amount: number;
1928
2040
  /**
1929
- * Default expense account
2041
+ * Price date (ISO 8601 format). Represents the date this price was valid.
1930
2042
  */
1931
- defaultExpenseAccount?: {
1932
- [key: string]: unknown;
1933
- };
2043
+ date: string;
1934
2044
  /**
1935
- * Default payment account
2045
+ * Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
1936
2046
  */
1937
- defaultPaymentAccount?: {
2047
+ meta: {
1938
2048
  [key: string]: unknown;
1939
2049
  };
1940
2050
  /**
1941
- * Default payee
2051
+ * Creation timestamp
1942
2052
  */
1943
- defaultPayee?: {
1944
- [key: string]: unknown;
1945
- };
2053
+ createdAt: string;
1946
2054
  /**
1947
- * Whether rule is active
2055
+ * Last update timestamp
1948
2056
  */
1949
- isActive: boolean;
2057
+ updatedAt: string;
2058
+ };
2059
+ type PriceListResponseDto = {
1950
2060
  /**
1951
- * Rule start date (YYYY-MM-DD)
2061
+ * List of prices
1952
2062
  */
1953
- startDate: string;
2063
+ items: Array<PriceResponseDto>;
1954
2064
  /**
1955
- * Rule end date (YYYY-MM-DD)
2065
+ * Total number of prices
1956
2066
  */
1957
- endDate?: {
1958
- [key: string]: unknown;
1959
- };
2067
+ total: number;
2068
+ };
2069
+ type UpdateBeanPriceDto = {
1960
2070
  /**
1961
- * Auto-create transaction on expected date
2071
+ * Currency being priced
1962
2072
  */
1963
- autoCreate: boolean;
2073
+ currency?: string;
1964
2074
  /**
1965
- * Last matched occurrence date (YYYY-MM-DD)
2075
+ * Quote currency (pricing currency)
1966
2076
  */
1967
- lastOccurrence?: {
1968
- [key: string]: unknown;
1969
- };
2077
+ quoteCurrency?: string;
1970
2078
  /**
1971
- * Total matched transactions count
2079
+ * Price amount (MUST be >= 0 per Beancount spec)
1972
2080
  */
1973
- totalCount: number;
2081
+ amount?: number;
1974
2082
  /**
1975
- * Created at timestamp
2083
+ * Price date (ISO 8601 format)
1976
2084
  */
1977
- createdAt: string;
2085
+ date?: string;
1978
2086
  /**
1979
- * Updated at timestamp
2087
+ * Metadata
1980
2088
  */
1981
- updatedAt: string;
2089
+ metadata?: {
2090
+ [key: string]: unknown;
2091
+ };
1982
2092
  };
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;
2093
+ type DeleteOwnUserDto = {
1992
2094
  /**
1993
- * Optional icon emoji
2095
+ * Access token for user verification
1994
2096
  */
1995
- icon?: string;
2097
+ accessToken: string;
1996
2098
  };
1997
- type RecurringRuleWithStatsResponseDto = {
2099
+ type UserSettingsResponseDto = {
1998
2100
  /**
1999
- * Rule ID
2101
+ * 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
2102
  */
2001
- id: string;
2103
+ baseCurrency: {
2104
+ [key: string]: unknown;
2105
+ } | null;
2106
+ };
2107
+ type UserResponseDto = {
2002
2108
  /**
2003
2109
  * User ID
2004
2110
  */
2005
- userId: string;
2006
- /**
2007
- * Rule name
2008
- */
2009
- name: string;
2111
+ id: string;
2010
2112
  /**
2011
- * Icon emoji
2113
+ * Assigned user role
2012
2114
  */
2013
- icon?: {
2014
- [key: string]: unknown;
2015
- };
2115
+ role: string;
2016
2116
  /**
2017
- * Recurring frequency
2117
+ * Permission strings
2018
2118
  */
2019
- frequency: string;
2119
+ permissions: Array<string>;
2020
2120
  /**
2021
- * Expected amount
2121
+ * User settings
2022
2122
  */
2023
- expectedAmount: number;
2123
+ settings: UserSettingsResponseDto;
2124
+ };
2125
+ type SignupDto = {
2024
2126
  /**
2025
- * Expected day of month
2127
+ * Cloudflare Turnstile verification token (optional when Turnstile disabled)
2026
2128
  */
2027
- expectedDay?: {
2028
- [key: string]: unknown;
2029
- };
2129
+ turnstileToken?: string;
2130
+ };
2131
+ type SignupResponseDto = {
2030
2132
  /**
2031
- * Custom interval in days
2133
+ * JWT auth token
2032
2134
  */
2033
- customIntervalDays?: {
2034
- [key: string]: unknown;
2035
- };
2135
+ authToken: string;
2036
2136
  /**
2037
- * Currency code
2137
+ * Auto-generated access token
2038
2138
  */
2039
- currency: string;
2139
+ accessToken: string;
2040
2140
  /**
2041
- * Payee matching pattern
2141
+ * Assigned user role
2042
2142
  */
2043
- matchPayeePattern?: {
2044
- [key: string]: unknown;
2045
- };
2143
+ role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2144
+ };
2145
+ /**
2146
+ * Assigned user role
2147
+ */
2148
+ type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2149
+ type UpdateUserSettingDto = {
2046
2150
  /**
2047
- * Amount tolerance percentage
2151
+ * Security ID
2048
2152
  */
2049
- matchAmountTolerance: number;
2153
+ secId?: number;
2050
2154
  /**
2051
- * Default expense account
2155
+ * Annual interest rate
2052
2156
  */
2053
- defaultExpenseAccount?: {
2054
- [key: string]: unknown;
2055
- };
2157
+ annualInterestRate?: number;
2056
2158
  /**
2057
- * Default payment account
2159
+ * Currency code
2058
2160
  */
2059
- defaultPaymentAccount?: {
2060
- [key: string]: unknown;
2061
- };
2161
+ currency?: string;
2062
2162
  /**
2063
- * Default payee
2163
+ * Base currency code
2064
2164
  */
2065
- defaultPayee?: {
2066
- [key: string]: unknown;
2067
- };
2165
+ baseCurrency?: string;
2068
2166
  /**
2069
- * Whether rule is active
2167
+ * Benchmark symbol
2070
2168
  */
2071
- isActive: boolean;
2169
+ benchmark?: string;
2072
2170
  /**
2073
- * Rule start date (YYYY-MM-DD)
2171
+ * Color scheme
2074
2172
  */
2075
- startDate: string;
2173
+ colorScheme?: 'DARK' | 'LIGHT';
2076
2174
  /**
2077
- * Rule end date (YYYY-MM-DD)
2175
+ * Date range filter
2078
2176
  */
2079
- endDate?: {
2080
- [key: string]: unknown;
2081
- };
2177
+ dateRange?: string;
2082
2178
  /**
2083
- * Auto-create transaction on expected date
2179
+ * Emergency fund amount
2084
2180
  */
2085
- autoCreate: boolean;
2181
+ emergencyFund?: number;
2086
2182
  /**
2087
- * Last matched occurrence date (YYYY-MM-DD)
2183
+ * Account filter IDs
2088
2184
  */
2089
- lastOccurrence?: {
2090
- [key: string]: unknown;
2091
- };
2185
+ 'filters.accounts'?: Array<string>;
2092
2186
  /**
2093
- * Total matched transactions count
2187
+ * Asset class filters
2094
2188
  */
2095
- totalCount: number;
2189
+ 'filters.assetClasses'?: Array<string>;
2096
2190
  /**
2097
- * Created at timestamp
2191
+ * Data source filter
2098
2192
  */
2099
- createdAt: string;
2193
+ 'filters.dataSource'?: string;
2100
2194
  /**
2101
- * Updated at timestamp
2195
+ * Symbol filter
2102
2196
  */
2103
- updatedAt: string;
2197
+ 'filters.symbol'?: string;
2104
2198
  /**
2105
- * Number of pending expected transactions
2199
+ * Tag filters
2106
2200
  */
2107
- pendingCount: number;
2201
+ 'filters.tags'?: Array<string>;
2108
2202
  /**
2109
- * Number of overdue expected transactions
2203
+ * Enable experimental features
2110
2204
  */
2111
- overdueCount: number;
2205
+ isExperimentalFeatures?: boolean;
2112
2206
  /**
2113
- * Next expected date (YYYY-MM-DD)
2207
+ * Enable restricted view mode
2114
2208
  */
2115
- nextExpectedDate?: {
2116
- [key: string]: unknown;
2117
- };
2209
+ isRestrictedView?: boolean;
2118
2210
  /**
2119
- * Total amount of all matched transactions
2211
+ * Language code
2120
2212
  */
2121
- totalAmount: number;
2213
+ language?: string;
2122
2214
  /**
2123
- * Average amount per transaction
2215
+ * Locale code
2124
2216
  */
2125
- averageAmount: number;
2217
+ locale?: string;
2126
2218
  /**
2127
- * Number of matched transactions
2219
+ * Projected total amount
2128
2220
  */
2129
- transactionCount: number;
2221
+ projectedTotalAmount?: number;
2130
2222
  /**
2131
- * First matched transaction date (YYYY-MM-DD)
2223
+ * Retirement date in ISO 8601 format
2132
2224
  */
2133
- firstDate?: {
2134
- [key: string]: unknown;
2135
- };
2225
+ retirementDate?: string;
2136
2226
  /**
2137
- * Last matched transaction date (YYYY-MM-DD)
2227
+ * Savings rate percentage
2138
2228
  */
2139
- lastDate?: {
2140
- [key: string]: unknown;
2141
- };
2229
+ savingsRate?: number;
2142
2230
  /**
2143
- * Amount variance (standard deviation squared)
2231
+ * View mode
2144
2232
  */
2145
- variance: number;
2233
+ viewMode?: 'DEFAULT' | 'ZEN';
2234
+ };
2235
+ /**
2236
+ * Color scheme
2237
+ */
2238
+ type colorScheme = 'DARK' | 'LIGHT';
2239
+ /**
2240
+ * View mode
2241
+ */
2242
+ type viewMode = 'DEFAULT' | 'ZEN';
2243
+ type UpdatePropertyDto = {
2146
2244
  /**
2147
- * Number of upcoming expected transactions
2245
+ * Property value
2148
2246
  */
2149
- upcomingCount: number;
2247
+ value: string;
2150
2248
  };
2151
- type UpdateRecurringRuleDto = {
2249
+ type CreateRecurringRuleDto = {
2152
2250
  /**
2153
- * Rule name
2251
+ * Rule name (unique per user)
2154
2252
  */
2155
- name?: string;
2253
+ name: string;
2156
2254
  /**
2157
2255
  * Icon emoji
2158
2256
  */
@@ -2160,17 +2258,17 @@ type UpdateRecurringRuleDto = {
2160
2258
  /**
2161
2259
  * Recurring frequency
2162
2260
  */
2163
- frequency?: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2261
+ frequency: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2164
2262
  /**
2165
- * Expected amount
2263
+ * Expected amount (positive number)
2166
2264
  */
2167
- expectedAmount?: number;
2265
+ expectedAmount: number;
2168
2266
  /**
2169
2267
  * Expected day of month (1-31)
2170
2268
  */
2171
2269
  expectedDay?: number;
2172
2270
  /**
2173
- * Custom interval in days
2271
+ * Custom interval in days (required for CUSTOM frequency)
2174
2272
  */
2175
2273
  customIntervalDays?: number;
2176
2274
  /**
@@ -2178,109 +2276,141 @@ type UpdateRecurringRuleDto = {
2178
2276
  */
2179
2277
  currency?: string;
2180
2278
  /**
2181
- * Payee matching pattern
2279
+ * Payee matching pattern (supports wildcards)
2182
2280
  */
2183
2281
  matchPayeePattern?: string;
2184
2282
  /**
2185
2283
  * Amount tolerance percentage (0-1)
2186
2284
  */
2187
- matchAmountTolerance?: number;
2285
+ matchAmountTolerance: number;
2188
2286
  /**
2189
- * Default expense account
2287
+ * Default expense account for auto-create
2190
2288
  */
2191
2289
  defaultExpenseAccount?: string;
2192
2290
  /**
2193
- * Default payment account
2291
+ * Default payment account for auto-create
2194
2292
  */
2195
2293
  defaultPaymentAccount?: string;
2196
2294
  /**
2197
- * Default payee
2295
+ * Default payee for auto-create
2198
2296
  */
2199
2297
  defaultPayee?: string;
2200
2298
  /**
2201
- * Auto-create transaction
2299
+ * Auto-create transaction when expected date arrives
2202
2300
  */
2203
- autoCreate?: boolean;
2301
+ autoCreate: boolean;
2204
2302
  /**
2205
- * Rule active status
2303
+ * Rule start date (ISO format)
2206
2304
  */
2207
- isActive?: boolean;
2305
+ startDate?: string;
2208
2306
  /**
2209
2307
  * Rule end date (ISO format)
2210
2308
  */
2211
2309
  endDate?: string;
2212
2310
  };
2213
- type ExpectedTransactionRuleDto = {
2311
+ /**
2312
+ * Recurring frequency
2313
+ */
2314
+ type frequency = 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2315
+ type RecurringRuleResponseDto = {
2316
+ /**
2317
+ * Rule ID
2318
+ */
2319
+ id: string;
2320
+ /**
2321
+ * User ID
2322
+ */
2323
+ userId: string;
2214
2324
  /**
2215
2325
  * Rule name
2216
2326
  */
2217
2327
  name: string;
2218
2328
  /**
2219
- * Rule icon
2329
+ * Icon emoji
2220
2330
  */
2221
2331
  icon?: {
2222
2332
  [key: string]: unknown;
2223
2333
  };
2224
2334
  /**
2225
- * Rule frequency
2335
+ * Recurring frequency
2226
2336
  */
2227
2337
  frequency: string;
2228
2338
  /**
2229
- * Currency code
2339
+ * Expected amount
2230
2340
  */
2231
- currency: string;
2232
- };
2233
- type ExpectedTransactionResponseDto = {
2341
+ expectedAmount: number;
2234
2342
  /**
2235
- * Expected transaction ID
2343
+ * Expected day of month
2236
2344
  */
2237
- id: string;
2345
+ expectedDay?: {
2346
+ [key: string]: unknown;
2347
+ };
2238
2348
  /**
2239
- * User ID
2349
+ * Custom interval in days
2240
2350
  */
2241
- userId: string;
2351
+ customIntervalDays?: {
2352
+ [key: string]: unknown;
2353
+ };
2242
2354
  /**
2243
- * Associated rule ID
2355
+ * Currency code
2244
2356
  */
2245
- ruleId: string;
2357
+ currency: string;
2246
2358
  /**
2247
- * Expected date (YYYY-MM-DD)
2359
+ * Payee matching pattern
2248
2360
  */
2249
- expectedDate: string;
2361
+ matchPayeePattern?: {
2362
+ [key: string]: unknown;
2363
+ };
2250
2364
  /**
2251
- * Expected amount
2365
+ * Amount tolerance percentage
2252
2366
  */
2253
- expectedAmount: number;
2367
+ matchAmountTolerance: number;
2254
2368
  /**
2255
- * Status (PENDING, COMPLETED, SKIPPED)
2369
+ * Default expense account
2256
2370
  */
2257
- status: string;
2371
+ defaultExpenseAccount?: {
2372
+ [key: string]: unknown;
2373
+ };
2258
2374
  /**
2259
- * Matched transaction ID
2375
+ * Default payment account
2260
2376
  */
2261
- matchedTransactionId?: {
2377
+ defaultPaymentAccount?: {
2262
2378
  [key: string]: unknown;
2263
2379
  };
2264
2380
  /**
2265
- * Match timestamp (ISO 8601)
2381
+ * Default payee
2266
2382
  */
2267
- matchedAt?: {
2383
+ defaultPayee?: {
2268
2384
  [key: string]: unknown;
2269
2385
  };
2270
2386
  /**
2271
- * Match confidence score (0-1)
2387
+ * Whether rule is active
2272
2388
  */
2273
- matchConfidence?: {
2389
+ isActive: boolean;
2390
+ /**
2391
+ * Rule start date (YYYY-MM-DD)
2392
+ */
2393
+ startDate: string;
2394
+ /**
2395
+ * Rule end date (YYYY-MM-DD)
2396
+ */
2397
+ endDate?: {
2274
2398
  [key: string]: unknown;
2275
2399
  };
2276
2400
  /**
2277
- * Whether this expected transaction is overdue
2401
+ * Auto-create transaction on expected date
2278
2402
  */
2279
- isOverdue: boolean;
2403
+ autoCreate: boolean;
2280
2404
  /**
2281
- * Rule information
2405
+ * Last matched occurrence date (YYYY-MM-DD)
2282
2406
  */
2283
- rule: ExpectedTransactionRuleDto;
2407
+ lastOccurrence?: {
2408
+ [key: string]: unknown;
2409
+ };
2410
+ /**
2411
+ * Total matched transactions count
2412
+ */
2413
+ totalCount: number;
2284
2414
  /**
2285
2415
  * Created at timestamp
2286
2416
  */
@@ -2290,410 +2420,428 @@ type ExpectedTransactionResponseDto = {
2290
2420
  */
2291
2421
  updatedAt: string;
2292
2422
  };
2293
- type ExpectedTransactionListResponseDto = {
2294
- items: Array<ExpectedTransactionResponseDto>;
2423
+ type CreateRuleFromTransactionDto = {
2295
2424
  /**
2296
- * Total count
2425
+ * Recurring frequency
2297
2426
  */
2298
- total: number;
2299
- };
2300
- type ConfirmMatchDto = {
2427
+ frequency: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2301
2428
  /**
2302
- * Transaction ID to match with
2429
+ * Optional name override (default: transaction payee)
2303
2430
  */
2304
- transactionId: string;
2431
+ name?: string;
2432
+ /**
2433
+ * Optional icon emoji
2434
+ */
2435
+ icon?: string;
2305
2436
  };
2306
- type EnterNowDto = {
2437
+ type RecurringRuleWithStatsResponseDto = {
2307
2438
  /**
2308
- * Override expense account (uses rule default if not provided)
2439
+ * Rule ID
2309
2440
  */
2310
- expenseAccount?: string;
2441
+ id: string;
2311
2442
  /**
2312
- * Override payment account (uses rule default if not provided)
2443
+ * User ID
2313
2444
  */
2314
- paymentAccount?: string;
2445
+ userId: string;
2315
2446
  /**
2316
- * Override amount (uses expected amount if not provided)
2447
+ * Rule name
2317
2448
  */
2318
- amount?: number;
2449
+ name: string;
2319
2450
  /**
2320
- * Override payee (uses rule default if not provided)
2451
+ * Icon emoji
2321
2452
  */
2322
- payee?: string;
2453
+ icon?: {
2454
+ [key: string]: unknown;
2455
+ };
2323
2456
  /**
2324
- * Optional narration
2457
+ * Recurring frequency
2325
2458
  */
2326
- narration?: string;
2327
- };
2328
- type ForecastItemDto = {
2459
+ frequency: string;
2329
2460
  /**
2330
- * Rule name
2461
+ * Expected amount
2331
2462
  */
2332
- rule: string;
2463
+ expectedAmount: number;
2464
+ /**
2465
+ * Expected day of month
2466
+ */
2467
+ expectedDay?: {
2468
+ [key: string]: unknown;
2469
+ };
2470
+ /**
2471
+ * Custom interval in days
2472
+ */
2473
+ customIntervalDays?: {
2474
+ [key: string]: unknown;
2475
+ };
2333
2476
  /**
2334
- * Rule ID
2477
+ * Currency code
2335
2478
  */
2336
- ruleId: string;
2479
+ currency: string;
2337
2480
  /**
2338
- * Expected amount
2481
+ * Payee matching pattern
2339
2482
  */
2340
- amount: number;
2483
+ matchPayeePattern?: {
2484
+ [key: string]: unknown;
2485
+ };
2341
2486
  /**
2342
- * Expected date (YYYY-MM-DD)
2487
+ * Amount tolerance percentage
2343
2488
  */
2344
- date: string;
2489
+ matchAmountTolerance: number;
2345
2490
  /**
2346
- * Rule icon emoji
2491
+ * Default expense account
2347
2492
  */
2348
- icon: string | null;
2493
+ defaultExpenseAccount?: {
2494
+ [key: string]: unknown;
2495
+ };
2349
2496
  /**
2350
- * Currency code
2497
+ * Default payment account
2351
2498
  */
2352
- currency: string;
2353
- };
2354
- type MonthlyForecastDto = {
2499
+ defaultPaymentAccount?: {
2500
+ [key: string]: unknown;
2501
+ };
2355
2502
  /**
2356
- * Month (YYYY-MM)
2503
+ * Default payee
2357
2504
  */
2358
- month: string;
2505
+ defaultPayee?: {
2506
+ [key: string]: unknown;
2507
+ };
2359
2508
  /**
2360
- * Total expected outflow for the month
2509
+ * Whether rule is active
2361
2510
  */
2362
- expectedOutflow: number;
2511
+ isActive: boolean;
2363
2512
  /**
2364
- * Number of expected transactions
2513
+ * Rule start date (YYYY-MM-DD)
2365
2514
  */
2366
- itemCount: number;
2515
+ startDate: string;
2367
2516
  /**
2368
- * Breakdown by currency
2517
+ * Rule end date (YYYY-MM-DD)
2369
2518
  */
2370
- byCurrency: {
2519
+ endDate?: {
2371
2520
  [key: string]: unknown;
2372
2521
  };
2373
2522
  /**
2374
- * Individual forecast items
2523
+ * Auto-create transaction on expected date
2375
2524
  */
2376
- items: Array<ForecastItemDto>;
2377
- };
2378
- type ForecastResponseDto = {
2525
+ autoCreate: boolean;
2379
2526
  /**
2380
- * Monthly forecast data
2527
+ * Last matched occurrence date (YYYY-MM-DD)
2381
2528
  */
2382
- forecast: Array<MonthlyForecastDto>;
2529
+ lastOccurrence?: {
2530
+ [key: string]: unknown;
2531
+ };
2383
2532
  /**
2384
- * Total expected outflow across all months
2533
+ * Total matched transactions count
2385
2534
  */
2386
- totalOutflow: number;
2535
+ totalCount: number;
2387
2536
  /**
2388
- * Total by currency across all months
2537
+ * Created at timestamp
2389
2538
  */
2390
- totalByCurrency: {
2391
- [key: string]: unknown;
2392
- };
2539
+ createdAt: string;
2393
2540
  /**
2394
- * Number of active recurring rules included
2541
+ * Updated at timestamp
2395
2542
  */
2396
- rulesCount: number;
2543
+ updatedAt: string;
2397
2544
  /**
2398
- * Forecast period start date
2545
+ * Number of pending expected transactions
2399
2546
  */
2400
- periodStart: string;
2547
+ pendingCount: number;
2401
2548
  /**
2402
- * Forecast period end date
2549
+ * Number of overdue expected transactions
2403
2550
  */
2404
- periodEnd: string;
2405
- };
2406
- type CurrencyBalanceDto = {
2551
+ overdueCount: number;
2407
2552
  /**
2408
- * ISO 4217 currency code
2553
+ * Next expected date (YYYY-MM-DD)
2409
2554
  */
2410
- currency: string;
2555
+ nextExpectedDate?: {
2556
+ [key: string]: unknown;
2557
+ };
2411
2558
  /**
2412
- * Balance amount
2559
+ * Total amount of all matched transactions
2413
2560
  */
2414
- balance: string;
2415
- };
2416
- type TimeSeriesPointDto = {
2561
+ totalAmount: number;
2417
2562
  /**
2418
- * Date in YYYY-MM-DD format
2563
+ * Average amount per transaction
2419
2564
  */
2420
- date: string;
2565
+ averageAmount: number;
2421
2566
  /**
2422
- * Value at this date (in base currency)
2567
+ * Number of matched transactions
2423
2568
  */
2424
- value: string;
2569
+ transactionCount: number;
2425
2570
  /**
2426
- * Change from previous point
2571
+ * First matched transaction date (YYYY-MM-DD)
2427
2572
  */
2428
- change?: {
2573
+ firstDate?: {
2429
2574
  [key: string]: unknown;
2430
2575
  };
2431
2576
  /**
2432
- * Total assets at this date (in base currency)
2577
+ * Last matched transaction date (YYYY-MM-DD)
2433
2578
  */
2434
- assets?: string;
2579
+ lastDate?: {
2580
+ [key: string]: unknown;
2581
+ };
2435
2582
  /**
2436
- * Total liabilities at this date (in base currency)
2583
+ * Amount variance (standard deviation squared)
2437
2584
  */
2438
- liabilities?: string;
2585
+ variance: number;
2439
2586
  /**
2440
- * Multi-currency breakdown for this point
2587
+ * Number of upcoming expected transactions
2441
2588
  */
2442
- byCurrency?: Array<CurrencyBalanceDto>;
2589
+ upcomingCount: number;
2443
2590
  };
2444
- type TrendSummaryDto = {
2591
+ type UpdateRecurringRuleDto = {
2445
2592
  /**
2446
- * Value at start of period
2593
+ * Rule name
2447
2594
  */
2448
- startValue: string;
2595
+ name?: string;
2449
2596
  /**
2450
- * Value at end of period
2597
+ * Icon emoji
2451
2598
  */
2452
- endValue: string;
2599
+ icon?: string;
2453
2600
  /**
2454
- * Total change over period
2601
+ * Recurring frequency
2455
2602
  */
2456
- totalChange: string;
2603
+ frequency?: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2457
2604
  /**
2458
- * Total change percentage
2605
+ * Expected amount
2459
2606
  */
2460
- totalChangePercentage: string;
2461
- };
2462
- type MultiCurrencyPointDto = {
2607
+ expectedAmount?: number;
2463
2608
  /**
2464
- * Date in YYYY-MM-DD format
2609
+ * Expected day of month (1-31)
2465
2610
  */
2466
- date: string;
2611
+ expectedDay?: number;
2467
2612
  /**
2468
- * Balances by currency
2613
+ * Custom interval in days
2469
2614
  */
2470
- byCurrency: Array<CurrencyBalanceDto>;
2471
- };
2472
- type PortfolioTrendsResponseDto = {
2615
+ customIntervalDays?: number;
2473
2616
  /**
2474
- * Time series data points
2617
+ * Currency code
2475
2618
  */
2476
- series: Array<TimeSeriesPointDto>;
2619
+ currency?: string;
2477
2620
  /**
2478
- * Period summary
2621
+ * Payee matching pattern
2479
2622
  */
2480
- summary: TrendSummaryDto;
2623
+ matchPayeePattern?: string;
2481
2624
  /**
2482
- * Period requested
2625
+ * Amount tolerance percentage (0-1)
2483
2626
  */
2484
- period: string;
2627
+ matchAmountTolerance?: number;
2485
2628
  /**
2486
- * Data granularity
2629
+ * Default expense account
2487
2630
  */
2488
- granularity: string;
2631
+ defaultExpenseAccount?: string;
2489
2632
  /**
2490
- * Base currency for converted values
2633
+ * Default payment account
2491
2634
  */
2492
- currency: string;
2635
+ defaultPaymentAccount?: string;
2493
2636
  /**
2494
- * Multi-currency time series (each point has currency breakdown)
2637
+ * Default payee
2495
2638
  */
2496
- byCurrency?: Array<MultiCurrencyPointDto>;
2639
+ defaultPayee?: string;
2497
2640
  /**
2498
- * Exchange rate warnings
2641
+ * Auto-create transaction
2499
2642
  */
2500
- warnings?: Array<ExchangeRateWarningDto>;
2643
+ autoCreate?: boolean;
2644
+ /**
2645
+ * Rule active status
2646
+ */
2647
+ isActive?: boolean;
2648
+ /**
2649
+ * Rule end date (ISO format)
2650
+ */
2651
+ endDate?: string;
2501
2652
  };
2502
- type CashFlowPointDto = {
2653
+ type ExpectedTransactionRuleDto = {
2503
2654
  /**
2504
- * Month key (YYYY-MM)
2655
+ * Rule name
2505
2656
  */
2506
- month: string;
2657
+ name: string;
2507
2658
  /**
2508
- * Income in base currency (absolute, converted)
2659
+ * Rule icon
2509
2660
  */
2510
- income: string;
2661
+ icon?: {
2662
+ [key: string]: unknown;
2663
+ };
2511
2664
  /**
2512
- * Expense in base currency (absolute, converted)
2665
+ * Rule frequency
2513
2666
  */
2514
- expense: string;
2667
+ frequency: string;
2515
2668
  /**
2516
- * netSavings = income − expense (savings positive)
2669
+ * Currency code
2517
2670
  */
2518
- netSavings: string;
2671
+ currency: string;
2519
2672
  };
2520
- type CashFlowTrendSummaryDto = {
2673
+ type ExpectedTransactionResponseDto = {
2521
2674
  /**
2522
- * Total income across the period
2675
+ * Expected transaction ID
2523
2676
  */
2524
- totalIncome: string;
2677
+ id: string;
2525
2678
  /**
2526
- * Total expense across the period
2679
+ * User ID
2527
2680
  */
2528
- totalExpense: string;
2681
+ userId: string;
2529
2682
  /**
2530
- * income − expense across the period
2683
+ * Associated rule ID
2531
2684
  */
2532
- totalNetSavings: string;
2685
+ ruleId: string;
2533
2686
  /**
2534
- * totalNetSavings divided by the window length (N months, incl. zero-filled)
2687
+ * Expected date (YYYY-MM-DD)
2535
2688
  */
2536
- averageMonthlyNetSavings: string;
2537
- };
2538
- type CashFlowTrendsResponseDto = {
2689
+ expectedDate: string;
2539
2690
  /**
2540
- * Monthly cash-flow series (fixed N-month window, zero-filled)
2691
+ * Expected amount
2541
2692
  */
2542
- series: Array<CashFlowPointDto>;
2693
+ expectedAmount: number;
2543
2694
  /**
2544
- * Period totals
2695
+ * Status (PENDING, COMPLETED, SKIPPED)
2545
2696
  */
2546
- summary: CashFlowTrendSummaryDto;
2697
+ status: string;
2547
2698
  /**
2548
- * Period requested
2699
+ * Matched transaction ID
2549
2700
  */
2550
- period: string;
2701
+ matchedTransactionId?: {
2702
+ [key: string]: unknown;
2703
+ };
2551
2704
  /**
2552
- * Data granularity (v1 returns month buckets)
2705
+ * Match timestamp (ISO 8601)
2553
2706
  */
2554
- granularity: string;
2707
+ matchedAt?: {
2708
+ [key: string]: unknown;
2709
+ };
2555
2710
  /**
2556
- * Base currency for converted values
2711
+ * Match confidence score (0-1)
2557
2712
  */
2558
- currency: string;
2713
+ matchConfidence?: {
2714
+ [key: string]: unknown;
2715
+ };
2559
2716
  /**
2560
- * Exchange rate warnings (e.g. missing rate for a currency)
2717
+ * Whether this expected transaction is overdue
2561
2718
  */
2562
- warnings?: Array<ExchangeRateWarningDto>;
2563
- };
2564
- type GenerateSnapshotBody = unknown;
2565
- type GenerateSnapshotResponse = unknown;
2566
- type BackfillSnapshotsBody = unknown;
2567
- type BackfillSnapshotsResponse = unknown;
2568
- type DeleteOwnUserDto = {
2719
+ isOverdue: boolean;
2569
2720
  /**
2570
- * Access token for user verification
2721
+ * Rule information
2571
2722
  */
2572
- accessToken: string;
2573
- };
2574
- type SignupDto = {
2723
+ rule: ExpectedTransactionRuleDto;
2575
2724
  /**
2576
- * Cloudflare Turnstile verification token (optional when Turnstile disabled)
2725
+ * Created at timestamp
2577
2726
  */
2578
- turnstileToken?: string;
2579
- };
2580
- type SignupResponseDto = {
2727
+ createdAt: string;
2581
2728
  /**
2582
- * JWT auth token
2729
+ * Updated at timestamp
2583
2730
  */
2584
- authToken: string;
2731
+ updatedAt: string;
2732
+ };
2733
+ type ExpectedTransactionListResponseDto = {
2734
+ items: Array<ExpectedTransactionResponseDto>;
2585
2735
  /**
2586
- * Auto-generated access token
2736
+ * Total count
2587
2737
  */
2588
- accessToken: string;
2738
+ total: number;
2739
+ };
2740
+ type ConfirmMatchDto = {
2589
2741
  /**
2590
- * Assigned user role
2742
+ * Transaction ID to match with
2591
2743
  */
2592
- role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2744
+ transactionId: string;
2593
2745
  };
2594
- /**
2595
- * Assigned user role
2596
- */
2597
- type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2598
- type UpdateUserSettingDto = {
2746
+ type EnterNowDto = {
2599
2747
  /**
2600
- * Security ID
2748
+ * Override expense account (uses rule default if not provided)
2601
2749
  */
2602
- secId?: number;
2750
+ expenseAccount?: string;
2603
2751
  /**
2604
- * Annual interest rate
2752
+ * Override payment account (uses rule default if not provided)
2605
2753
  */
2606
- annualInterestRate?: number;
2754
+ paymentAccount?: string;
2607
2755
  /**
2608
- * Currency code
2756
+ * Override amount (uses expected amount if not provided)
2609
2757
  */
2610
- currency?: string;
2758
+ amount?: number;
2611
2759
  /**
2612
- * Base currency code
2760
+ * Override payee (uses rule default if not provided)
2613
2761
  */
2614
- baseCurrency?: string;
2762
+ payee?: string;
2615
2763
  /**
2616
- * Benchmark symbol
2764
+ * Optional narration
2617
2765
  */
2618
- benchmark?: string;
2766
+ narration?: string;
2767
+ };
2768
+ type ForecastItemDto = {
2619
2769
  /**
2620
- * Color scheme
2770
+ * Rule name
2621
2771
  */
2622
- colorScheme?: 'DARK' | 'LIGHT';
2772
+ rule: string;
2623
2773
  /**
2624
- * Date range filter
2774
+ * Rule ID
2625
2775
  */
2626
- dateRange?: string;
2776
+ ruleId: string;
2627
2777
  /**
2628
- * Emergency fund amount
2778
+ * Expected amount
2629
2779
  */
2630
- emergencyFund?: number;
2780
+ amount: number;
2631
2781
  /**
2632
- * Account filter IDs
2782
+ * Expected date (YYYY-MM-DD)
2633
2783
  */
2634
- 'filters.accounts'?: Array<string>;
2784
+ date: string;
2635
2785
  /**
2636
- * Asset class filters
2786
+ * Rule icon emoji
2637
2787
  */
2638
- 'filters.assetClasses'?: Array<string>;
2788
+ icon: string | null;
2639
2789
  /**
2640
- * Data source filter
2790
+ * Currency code
2641
2791
  */
2642
- 'filters.dataSource'?: string;
2792
+ currency: string;
2793
+ };
2794
+ type MonthlyForecastDto = {
2643
2795
  /**
2644
- * Symbol filter
2796
+ * Month (YYYY-MM)
2645
2797
  */
2646
- 'filters.symbol'?: string;
2798
+ month: string;
2647
2799
  /**
2648
- * Tag filters
2800
+ * Total expected outflow for the month
2649
2801
  */
2650
- 'filters.tags'?: Array<string>;
2802
+ expectedOutflow: number;
2651
2803
  /**
2652
- * Enable experimental features
2804
+ * Number of expected transactions
2653
2805
  */
2654
- isExperimentalFeatures?: boolean;
2806
+ itemCount: number;
2655
2807
  /**
2656
- * Enable restricted view mode
2808
+ * Breakdown by currency
2657
2809
  */
2658
- isRestrictedView?: boolean;
2810
+ byCurrency: {
2811
+ [key: string]: unknown;
2812
+ };
2659
2813
  /**
2660
- * Language code
2814
+ * Individual forecast items
2661
2815
  */
2662
- language?: string;
2816
+ items: Array<ForecastItemDto>;
2817
+ };
2818
+ type ForecastResponseDto = {
2663
2819
  /**
2664
- * Locale code
2820
+ * Monthly forecast data
2665
2821
  */
2666
- locale?: string;
2822
+ forecast: Array<MonthlyForecastDto>;
2667
2823
  /**
2668
- * Projected total amount
2824
+ * Total expected outflow across all months
2669
2825
  */
2670
- projectedTotalAmount?: number;
2826
+ totalOutflow: number;
2671
2827
  /**
2672
- * Retirement date in ISO 8601 format
2828
+ * Total by currency across all months
2673
2829
  */
2674
- retirementDate?: string;
2830
+ totalByCurrency: {
2831
+ [key: string]: unknown;
2832
+ };
2675
2833
  /**
2676
- * Savings rate percentage
2834
+ * Number of active recurring rules included
2677
2835
  */
2678
- savingsRate?: number;
2836
+ rulesCount: number;
2679
2837
  /**
2680
- * View mode
2838
+ * Forecast period start date
2681
2839
  */
2682
- viewMode?: 'DEFAULT' | 'ZEN';
2683
- };
2684
- /**
2685
- * Color scheme
2686
- */
2687
- type colorScheme = 'DARK' | 'LIGHT';
2688
- /**
2689
- * View mode
2690
- */
2691
- type viewMode = 'DEFAULT' | 'ZEN';
2692
- type UpdatePropertyDto = {
2840
+ periodStart: string;
2693
2841
  /**
2694
- * Property value
2842
+ * Forecast period end date
2695
2843
  */
2696
- value: string;
2844
+ periodEnd: string;
2697
2845
  };
2698
2846
  type CreateTransactionRuleDto = {
2699
2847
  name: string;
@@ -3033,6 +3181,42 @@ type TestRuleResponseDto = {
3033
3181
  [key: string]: unknown;
3034
3182
  };
3035
3183
  };
3184
+ type CategoryCatalogEntryDto = {
3185
+ /**
3186
+ * Category slug (single source-of-truth)
3187
+ */
3188
+ slug: string;
3189
+ /**
3190
+ * Display scenario group (maps to frontend picker _scenario)
3191
+ */
3192
+ scenario: 'expense' | 'income' | 'investment' | 'banking' | 'transfer' | 'payment';
3193
+ /**
3194
+ * Lucide icon name
3195
+ */
3196
+ icon: string;
3197
+ /**
3198
+ * Applicable regions ('*' = all, 'cn' = CN-only)
3199
+ */
3200
+ regions: Array<string>;
3201
+ };
3202
+ /**
3203
+ * Display scenario group (maps to frontend picker _scenario)
3204
+ */
3205
+ type scenario = 'expense' | 'income' | 'investment' | 'banking' | 'transfer' | 'payment';
3206
+ type CategoryCatalogListResponseDto = {
3207
+ /**
3208
+ * Category entries (region-scoped, query-filtered)
3209
+ */
3210
+ items: Array<CategoryCatalogEntryDto>;
3211
+ /**
3212
+ * Total category entries for the region (before query filtering)
3213
+ */
3214
+ total: number;
3215
+ /**
3216
+ * Region code
3217
+ */
3218
+ region: string;
3219
+ };
3036
3220
  type CreateBeanEventDto = {
3037
3221
  /**
3038
3222
  * Life event date (ISO 8601)
@@ -3569,57 +3753,127 @@ type ProviderSyncResponseDto = {
3569
3753
  */
3570
3754
  failed: number;
3571
3755
  /**
3572
- * IDs of successfully imported transactions
3756
+ * IDs of successfully imported transactions
3757
+ */
3758
+ importedTransactionIds?: Array<string>;
3759
+ /**
3760
+ * IDs of review items created for branched transactions
3761
+ */
3762
+ reviewItemIds?: Array<string>;
3763
+ };
3764
+ type SupportedProvidersResponseDto = {
3765
+ /**
3766
+ * List of supported provider names
3767
+ */
3768
+ providers: Array<string>;
3769
+ };
3770
+ type CreateExternalAccountLinkDto = {
3771
+ /**
3772
+ * Open Banking provider (whitelist)
3773
+ */
3774
+ provider: 'plaid' | 'teller' | 'truelayer' | 'gocardless' | 'simplefin' | 'yodlee' | 'beancount-direct' | 'parsed-bill';
3775
+ /**
3776
+ * External account ID from the provider
3777
+ */
3778
+ externalAccountId: string;
3779
+ /**
3780
+ * Target BeanAccount ID (must belong to the JWT user)
3781
+ */
3782
+ beanAccountId: string;
3783
+ };
3784
+ /**
3785
+ * Open Banking provider (whitelist)
3786
+ */
3787
+ type provider = 'plaid' | 'teller' | 'truelayer' | 'gocardless' | 'simplefin' | 'yodlee' | 'beancount-direct' | 'parsed-bill';
3788
+ type ExternalAccountLinkResponseDto = {
3789
+ id: string;
3790
+ provider: string;
3791
+ externalAccountId: string;
3792
+ beanAccountId: string;
3793
+ isActive: boolean;
3794
+ createdAt: string;
3795
+ updatedAt: string;
3796
+ };
3797
+ type ExternalAccountLinkListResponseDto = {
3798
+ items: Array<ExternalAccountLinkResponseDto>;
3799
+ total: number;
3800
+ /**
3801
+ * Filter by provider (query param)
3802
+ */
3803
+ provider?: string;
3804
+ };
3805
+ type ParserTelemetryReportDto = unknown;
3806
+ type UncoveredFormatMissDto = unknown;
3807
+ type ClientParsedDataDto = {
3808
+ /**
3809
+ * Transaction amount
3810
+ */
3811
+ amount?: number;
3812
+ /**
3813
+ * Currency code
3814
+ */
3815
+ currency?: string;
3816
+ /**
3817
+ * Transaction date (ISO 8601)
3818
+ */
3819
+ date?: string;
3820
+ /**
3821
+ * Payee/merchant name
3822
+ */
3823
+ payee?: string;
3824
+ /**
3825
+ * Transaction narration
3826
+ */
3827
+ narration?: string;
3828
+ /**
3829
+ * Category slug
3830
+ */
3831
+ category?: string;
3832
+ /**
3833
+ * Income type
3834
+ */
3835
+ incomeType?: string;
3836
+ /**
3837
+ * Income source
3838
+ */
3839
+ incomeSource?: string;
3840
+ /**
3841
+ * Security symbol code (e.g., 600519, AAPL)
3842
+ */
3843
+ symbol?: string;
3844
+ /**
3845
+ * Quantity of shares/units
3573
3846
  */
3574
- importedTransactionIds?: Array<string>;
3847
+ quantity?: number;
3575
3848
  /**
3576
- * IDs of review items created for branched transactions
3849
+ * Unit price per share/unit
3577
3850
  */
3578
- reviewItemIds?: Array<string>;
3579
- };
3580
- type SupportedProvidersResponseDto = {
3851
+ price?: number;
3581
3852
  /**
3582
- * List of supported provider names
3853
+ * Investment action
3583
3854
  */
3584
- providers: Array<string>;
3585
- };
3586
- type CreateExternalAccountLinkDto = {
3855
+ investmentAction?: 'buy' | 'sell';
3587
3856
  /**
3588
- * Open Banking provider (whitelist)
3857
+ * Payment source: asset (default) or liability (credit card)
3589
3858
  */
3590
- provider: 'plaid' | 'teller' | 'truelayer' | 'gocardless' | 'simplefin' | 'yodlee' | 'beancount-direct' | 'parsed-bill';
3859
+ paymentSource?: 'asset' | 'liability';
3591
3860
  /**
3592
- * External account ID from the provider
3861
+ * Liability account hint (CreditCard/Huabei/Baitiao)
3593
3862
  */
3594
- externalAccountId: string;
3863
+ liabilityHint?: string;
3595
3864
  /**
3596
- * Target BeanAccount ID (must belong to the JWT user)
3865
+ * Display-only warning from the prior response; accepted but ignored.
3597
3866
  */
3598
- beanAccountId: string;
3867
+ warning?: string;
3599
3868
  };
3600
3869
  /**
3601
- * Open Banking provider (whitelist)
3870
+ * Investment action
3602
3871
  */
3603
- type provider = 'plaid' | 'teller' | 'truelayer' | 'gocardless' | 'simplefin' | 'yodlee' | 'beancount-direct' | 'parsed-bill';
3604
- type ExternalAccountLinkResponseDto = {
3605
- id: string;
3606
- provider: string;
3607
- externalAccountId: string;
3608
- beanAccountId: string;
3609
- isActive: boolean;
3610
- createdAt: string;
3611
- updatedAt: string;
3612
- };
3613
- type ExternalAccountLinkListResponseDto = {
3614
- items: Array<ExternalAccountLinkResponseDto>;
3615
- total: number;
3616
- /**
3617
- * Filter by provider (query param)
3618
- */
3619
- provider?: string;
3620
- };
3621
- type ParserTelemetryReportDto = unknown;
3622
- type UncoveredFormatMissDto = unknown;
3872
+ type investmentAction = 'buy' | 'sell';
3873
+ /**
3874
+ * Payment source: asset (default) or liability (credit card)
3875
+ */
3876
+ type paymentSource = 'asset' | 'liability';
3623
3877
  type ProcessNlpDto = {
3624
3878
  /**
3625
3879
  * Natural language text describing a transaction. Optional when `confirm` is true (structured confirm); otherwise required.
@@ -3636,18 +3890,32 @@ type ProcessNlpDto = {
3636
3890
  /**
3637
3891
  * Parsed data from previous NLP response for session recovery. Send back the parsedData received in confirm_payee/confirm responses.
3638
3892
  */
3639
- parsedData?: {
3640
- [key: string]: unknown;
3641
- };
3893
+ parsedData?: ClientParsedDataDto;
3642
3894
  /**
3643
3895
  * 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.
3644
3896
  */
3645
3897
  selectedRuleId?: string;
3646
3898
  /**
3647
- * 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.
3899
+ * 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.
3648
3900
  */
3649
3901
  selectedAccount?: string;
3902
+ /**
3903
+ * 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.
3904
+ */
3905
+ viewpointAccount?: string;
3906
+ /**
3907
+ * 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.
3908
+ */
3909
+ viewpointCategory?: string;
3910
+ /**
3911
+ * 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.
3912
+ */
3913
+ viewpointFlow?: 'income' | 'expense';
3650
3914
  };
3915
+ /**
3916
+ * 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.
3917
+ */
3918
+ type viewpointFlow = 'income' | 'expense';
3651
3919
  type NlpTransactionInfoDto = {
3652
3920
  /**
3653
3921
  * Transaction ID
@@ -3740,14 +4008,6 @@ type NlpParsedDataDto = {
3740
4008
  */
3741
4009
  warning?: string;
3742
4010
  };
3743
- /**
3744
- * Investment action
3745
- */
3746
- type investmentAction = 'buy' | 'sell';
3747
- /**
3748
- * Payment source: asset (default) or liability (credit card)
3749
- */
3750
- type paymentSource = 'asset' | 'liability';
3751
4011
  type NlpSourceTransactionDto = {
3752
4012
  /**
3753
4013
  * Transaction date (ISO format)
@@ -3874,6 +4134,16 @@ type NlpRuleConfirmationDataDto = {
3874
4134
  */
3875
4135
  reasons: Array<string>;
3876
4136
  };
4137
+ type NlpAccountCandidateDto = {
4138
+ /**
4139
+ * Canonical beancount account path (echo back on selection)
4140
+ */
4141
+ path: string;
4142
+ /**
4143
+ * Localized display name (ADR-0114 read-time projection, user locale)
4144
+ */
4145
+ name: string;
4146
+ };
3877
4147
  type NlpAccountConfirmationDataDto = {
3878
4148
  /**
3879
4149
  * The invalid account name
@@ -3884,9 +4154,9 @@ type NlpAccountConfirmationDataDto = {
3884
4154
  */
3885
4155
  suggestedAccount?: string;
3886
4156
  /**
3887
- * Similar accounts for user selection
4157
+ * Similar accounts for user selection (path + localized name, #680)
3888
4158
  */
3889
- similarAccounts: Array<string>;
4159
+ similarAccounts: Array<NlpAccountCandidateDto>;
3890
4160
  /**
3891
4161
  * Error message explaining the issue
3892
4162
  */
@@ -4052,7 +4322,7 @@ type NlpResponseDto = {
4052
4322
  /**
4053
4323
  * Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
4054
4324
  */
4055
- assetSubType?: 'transfer' | 'banking' | 'investment';
4325
+ assetSubType?: 'transfer' | 'banking' | 'investment' | 'lend' | 'lend_collect';
4056
4326
  /**
4057
4327
  * Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
4058
4328
  */
@@ -4156,7 +4426,7 @@ type intent = 'expense' | 'asset' | 'income' | 'liability' | 'equity';
4156
4426
  /**
4157
4427
  * Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
4158
4428
  */
4159
- type assetSubType = 'transfer' | 'banking' | 'investment';
4429
+ type assetSubType = 'transfer' | 'banking' | 'investment' | 'lend' | 'lend_collect';
4160
4430
  /**
4161
4431
  * Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
4162
4432
  */
@@ -4210,7 +4480,7 @@ type PlatformListItemDto = {
4210
4480
  /**
4211
4481
  * Platform type
4212
4482
  */
4213
- type type3 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4483
+ type type4 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4214
4484
  type PlatformMatchResultDto = {
4215
4485
  /**
4216
4486
  * Global platform ID
@@ -4275,6 +4545,46 @@ type PlatformMatchResponseDto = {
4275
4545
  * Overall match quality — top row's tier, or 'none' when no hits
4276
4546
  */
4277
4547
  type matchType2 = 'none' | 'exact' | 'prefix' | 'substring';
4548
+ type PlatformStandardsPlatformDto = {
4549
+ /**
4550
+ * Global platform ID
4551
+ */
4552
+ id: string;
4553
+ /**
4554
+ * Platform name (e.g., "ICBC")
4555
+ */
4556
+ name: string;
4557
+ /**
4558
+ * Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
4559
+ */
4560
+ canonical: string;
4561
+ /**
4562
+ * Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")
4563
+ */
4564
+ suggestedSegment: string;
4565
+ /**
4566
+ * Platform type
4567
+ */
4568
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4569
+ /**
4570
+ * Region-aware category (institution vocab, e.g. DigitalWallet/Bank) resolved against the final region. null = no region-aware suggestion; fall back to type.
4571
+ */
4572
+ category: string | null;
4573
+ };
4574
+ type PlatformStandardsResponseDto = {
4575
+ /**
4576
+ * The selected platform (institution lock source)
4577
+ */
4578
+ platform: PlatformStandardsPlatformDto;
4579
+ /**
4580
+ * 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.
4581
+ */
4582
+ region: string;
4583
+ /**
4584
+ * Candidate account-standard templates of the resolved region (groupable by productCategory client-side)
4585
+ */
4586
+ templates: Array<AccountStandardResponseDto>;
4587
+ };
4278
4588
  type CreatePlatformDto = {
4279
4589
  /**
4280
4590
  * Platform name
@@ -4451,11 +4761,11 @@ type PlatformGroupDto = {
4451
4761
  */
4452
4762
  platformName: string;
4453
4763
  /**
4454
- * Accounts within this platform
4764
+ * Accounts within this platform (Assets and Liabilities rows, #696)
4455
4765
  */
4456
4766
  accounts: Array<AccountItemDto>;
4457
4767
  /**
4458
- * FX-converted total balance in base currency
4768
+ * FX-converted total balance in base currency (nets Assets + Liabilities rows; can be negative)
4459
4769
  */
4460
4770
  totalBalance: string;
4461
4771
  /**
@@ -4467,7 +4777,7 @@ type PlatformGroupDto = {
4467
4777
  */
4468
4778
  convertedBalance?: string;
4469
4779
  /**
4470
- * Share of the grand converted total (0-100); 0 when grand total is 0
4780
+ * Share of the converted asset-side grand total (0-100); liability balances are excluded from the basis; 0 when grand total is 0 (#696)
4471
4781
  */
4472
4782
  sharePct: number;
4473
4783
  };
@@ -4491,7 +4801,7 @@ type AccountExchangeRateWarningDto = {
4491
4801
  };
4492
4802
  type AccountsSummaryDto = {
4493
4803
  /**
4494
- * Total number of accounts
4804
+ * Total number of accounts (balance sheet: Assets + Liabilities, #696)
4495
4805
  */
4496
4806
  totalAccounts: number;
4497
4807
  /**
@@ -4957,7 +5267,7 @@ type HoldingPnlWarningDto = {
4957
5267
  /**
4958
5268
  * Warning type
4959
5269
  */
4960
- type type4 = 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
5270
+ type type5 = 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
4961
5271
  type HoldingPnlResponseDto = {
4962
5272
  asOfDate: string;
4963
5273
  baseCurrency: string;
@@ -4984,6 +5294,81 @@ type AnonymousLoginResponseDto = {
4984
5294
  */
4985
5295
  authToken: string;
4986
5296
  };
5297
+ type ParserContributionMetaDto = {
5298
+ /**
5299
+ * Institution slug (lowercase kebab-case)
5300
+ */
5301
+ institution: string;
5302
+ region: 'cn' | 'us' | 'de' | 'fr' | 'gb' | 'hk' | 'jp' | 'sg' | 'au' | 'ca' | 'other';
5303
+ accountType: 'checking' | 'savings' | 'credit' | 'debit' | 'investment';
5304
+ format: 'csv' | 'xlsx' | 'pdf' | 'ofx' | 'qif';
5305
+ institutionDisplayName?: string;
5306
+ encoding?: string;
5307
+ /**
5308
+ * CSV delimiter character: ",", ";", "\t" or "|"
5309
+ */
5310
+ delimiter?: string;
5311
+ /**
5312
+ * Header row count; the client omits the field when it is 1
5313
+ */
5314
+ headerRows?: number;
5315
+ notes?: string;
5316
+ };
5317
+ type region = 'cn' | 'us' | 'de' | 'fr' | 'gb' | 'hk' | 'jp' | 'sg' | 'au' | 'ca' | 'other';
5318
+ type accountType = 'checking' | 'savings' | 'credit' | 'debit' | 'investment';
5319
+ type format = 'csv' | 'xlsx' | 'pdf' | 'ofx' | 'qif';
5320
+ type ParserContributionSamplesDto = {
5321
+ /**
5322
+ * Client-sanitized sample rows (key = column name, value = cell)
5323
+ */
5324
+ rows: Array<{
5325
+ [key: string]: unknown;
5326
+ }>;
5327
+ rawHeaders?: Array<string>;
5328
+ };
5329
+ type FieldHintDto = {
5330
+ columnName: string;
5331
+ /**
5332
+ * Date format, e.g. yyyy-MM-dd HH:mm
5333
+ */
5334
+ format?: string;
5335
+ signConvention?: 'negative-expense' | 'positive-expense' | 'separate-columns';
5336
+ creditColumn?: string;
5337
+ debitColumn?: string;
5338
+ };
5339
+ type signConvention = 'negative-expense' | 'positive-expense' | 'separate-columns';
5340
+ type ParserContributionFieldHintsDto = {
5341
+ date: FieldHintDto;
5342
+ amount: FieldHintDto;
5343
+ description?: FieldHintDto;
5344
+ balance?: FieldHintDto;
5345
+ payee?: FieldHintDto;
5346
+ reference?: FieldHintDto;
5347
+ category?: FieldHintDto;
5348
+ };
5349
+ type ExpectedTransactionDto = {
5350
+ date: string;
5351
+ amount: number;
5352
+ description: string;
5353
+ payee?: string;
5354
+ category?: string;
5355
+ };
5356
+ type ParserContributionExamplesDto = {
5357
+ expectedTransactions: Array<ExpectedTransactionDto>;
5358
+ };
5359
+ type ParserContributionRequestDto = {
5360
+ meta: ParserContributionMetaDto;
5361
+ samples: ParserContributionSamplesDto;
5362
+ fieldHints: ParserContributionFieldHintsDto;
5363
+ /**
5364
+ * Omitted entirely by the client when empty
5365
+ */
5366
+ examples?: ParserContributionExamplesDto;
5367
+ };
5368
+ type ParserContributionRelayResponseDto = {
5369
+ issueUrl: string;
5370
+ issueNumber: number;
5371
+ };
4987
5372
  type SymbolSearchResultDto = {
4988
5373
  symbol: string;
4989
5374
  name?: {
@@ -5225,7 +5610,7 @@ type AccountStandardsControllerGetTemplatesData = {
5225
5610
  */
5226
5611
  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';
5227
5612
  /**
5228
- * Search term for path or description
5613
+ * Search term for path, description, aliases, or localized display name
5229
5614
  */
5230
5615
  search?: string;
5231
5616
  /**
@@ -5269,7 +5654,7 @@ type TransactionControllerListData = {
5269
5654
  */
5270
5655
  accountId?: string;
5271
5656
  /**
5272
- * Filter by ADR-0075 functional category (Group segment); matches any posting to an Expenses/Income account whose derived Group segment equals this value
5657
+ * 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).
5273
5658
  */
5274
5659
  category?: string;
5275
5660
  /**
@@ -5280,6 +5665,10 @@ type TransactionControllerListData = {
5280
5665
  * Filter by end date (inclusive), format: YYYY-MM-DD
5281
5666
  */
5282
5667
  dateTo?: string;
5668
+ /**
5669
+ * 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.
5670
+ */
5671
+ flow?: 'income' | 'expense';
5283
5672
  /**
5284
5673
  * Number of items per page (1-100, default: 20)
5285
5674
  */
@@ -5297,9 +5686,9 @@ type TransactionControllerListData = {
5297
5686
  */
5298
5687
  search?: string;
5299
5688
  /**
5300
- * Filter by transaction status
5689
+ * 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).
5301
5690
  */
5302
- status?: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
5691
+ status?: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED' | 'ALL';
5303
5692
  };
5304
5693
  type TransactionControllerListResponse = TransactionListResponseDto;
5305
5694
  type TransactionControllerCreateBatchData = {
@@ -5692,6 +6081,55 @@ type CommodityControllerBulkCreateData = {
5692
6081
  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';
5693
6082
  };
5694
6083
  type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
6084
+ type ReportingControllerGetPortfolioTrendsData = {
6085
+ /**
6086
+ * Data granularity
6087
+ */
6088
+ granularity?: 'day' | 'week' | 'month';
6089
+ /**
6090
+ * Time period
6091
+ */
6092
+ period?: '1m' | '3m' | '6m' | '1y';
6093
+ /**
6094
+ * Region code for tenant context
6095
+ */
6096
+ 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';
6097
+ };
6098
+ type ReportingControllerGetPortfolioTrendsResponse = PortfolioTrendsResponseDto;
6099
+ type ReportingControllerGetCashFlowTrendsData = {
6100
+ /**
6101
+ * Data granularity (accepted for API symmetry; v1 returns month buckets)
6102
+ */
6103
+ granularity?: 'day' | 'week' | 'month';
6104
+ /**
6105
+ * Time period
6106
+ */
6107
+ period?: '1m' | '3m' | '6m' | '1y';
6108
+ /**
6109
+ * Region code for tenant context
6110
+ */
6111
+ 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';
6112
+ };
6113
+ type ReportingControllerGetCashFlowTrendsResponse = CashFlowTrendsResponseDto;
6114
+ type ReportingControllerGenerateSnapshotData = {
6115
+ /**
6116
+ * Region code for tenant context
6117
+ */
6118
+ 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';
6119
+ /**
6120
+ * Optional date (defaults to today)
6121
+ */
6122
+ requestBody: GenerateSnapshotBody;
6123
+ };
6124
+ type ReportingControllerGenerateSnapshotResponse = GenerateSnapshotResponse;
6125
+ type ReportingControllerBackfillSnapshotsData = {
6126
+ /**
6127
+ * Region code for tenant context
6128
+ */
6129
+ 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';
6130
+ requestBody: BackfillSnapshotsBody;
6131
+ };
6132
+ type ReportingControllerBackfillSnapshotsResponse = BackfillSnapshotsResponse;
5695
6133
  type PriceControllerCreateData = {
5696
6134
  /**
5697
6135
  * Region code for tenant context
@@ -5768,15 +6206,80 @@ type PriceControllerDeleteData = {
5768
6206
  */
5769
6207
  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';
5770
6208
  };
5771
- type PriceControllerDeleteResponse = void;
5772
- type PriceControllerBulkCreateData = {
6209
+ type PriceControllerDeleteResponse = void;
6210
+ type PriceControllerBulkCreateData = {
6211
+ /**
6212
+ * Region code for tenant context
6213
+ */
6214
+ 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';
6215
+ requestBody: Array<string>;
6216
+ };
6217
+ type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
6218
+ type UserControllerDeleteOwnUserData = {
6219
+ requestBody: DeleteOwnUserDto;
6220
+ };
6221
+ type UserControllerDeleteOwnUserResponse = void;
6222
+ type UserControllerGetUserData = {
6223
+ acceptLanguage: string;
6224
+ };
6225
+ type UserControllerGetUserResponse = UserResponseDto;
6226
+ type UserControllerSignupUserData = {
6227
+ requestBody: SignupDto;
6228
+ };
6229
+ type UserControllerSignupUserResponse = SignupResponseDto;
6230
+ type UserControllerDeleteUserData = {
6231
+ /**
6232
+ * User ID to delete
6233
+ */
6234
+ id: string;
6235
+ };
6236
+ type UserControllerDeleteUserResponse = void;
6237
+ type UserControllerGetUserInfoData = {
6238
+ /**
6239
+ * User ID
6240
+ */
6241
+ id: string;
6242
+ };
6243
+ type UserControllerGetUserInfoResponse = unknown;
6244
+ type UserControllerUpdateUserSettingData = {
6245
+ requestBody: UpdateUserSettingDto;
6246
+ };
6247
+ type UserControllerUpdateUserSettingResponse = unknown;
6248
+ type UserControllerGetAllUserSettingsByPageData = {
6249
+ /**
6250
+ * Page number
6251
+ */
6252
+ pageNo: number;
6253
+ /**
6254
+ * Page size
6255
+ */
6256
+ pageSize: number;
6257
+ };
6258
+ type UserControllerGetAllUserSettingsByPageResponse = unknown;
6259
+ type UserControllerGetAssetLiabilitySummaryResponse = unknown;
6260
+ type PropertyControllerGetAllResponse = unknown;
6261
+ type PropertyControllerGetByKeyData = {
6262
+ /**
6263
+ * Property key
6264
+ */
6265
+ key: string;
6266
+ };
6267
+ type PropertyControllerGetByKeyResponse = unknown;
6268
+ type PropertyControllerUpdateData = {
6269
+ /**
6270
+ * Property key
6271
+ */
6272
+ key: string;
6273
+ requestBody: UpdatePropertyDto;
6274
+ };
6275
+ type PropertyControllerUpdateResponse = unknown;
6276
+ type PropertyControllerDeleteData = {
5773
6277
  /**
5774
- * Region code for tenant context
6278
+ * Property key
5775
6279
  */
5776
- 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';
5777
- requestBody: Array<string>;
6280
+ key: string;
5778
6281
  };
5779
- type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
6282
+ type PropertyControllerDeleteResponse = void;
5780
6283
  type RecurringRuleControllerCreateData = {
5781
6284
  /**
5782
6285
  * Region code for tenant context
@@ -5970,120 +6473,6 @@ type ForecastControllerGetForecastData = {
5970
6473
  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';
5971
6474
  };
5972
6475
  type ForecastControllerGetForecastResponse = ForecastResponseDto;
5973
- type ReportingControllerGetPortfolioTrendsData = {
5974
- /**
5975
- * Data granularity
5976
- */
5977
- granularity?: 'day' | 'week' | 'month';
5978
- /**
5979
- * Time period
5980
- */
5981
- period?: '1m' | '3m' | '6m' | '1y';
5982
- /**
5983
- * Region code for tenant context
5984
- */
5985
- 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';
5986
- };
5987
- type ReportingControllerGetPortfolioTrendsResponse = PortfolioTrendsResponseDto;
5988
- type ReportingControllerGetCashFlowTrendsData = {
5989
- /**
5990
- * Data granularity (accepted for API symmetry; v1 returns month buckets)
5991
- */
5992
- granularity?: 'day' | 'week' | 'month';
5993
- /**
5994
- * Time period
5995
- */
5996
- period?: '1m' | '3m' | '6m' | '1y';
5997
- /**
5998
- * Region code for tenant context
5999
- */
6000
- 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';
6001
- };
6002
- type ReportingControllerGetCashFlowTrendsResponse = CashFlowTrendsResponseDto;
6003
- type ReportingControllerGenerateSnapshotData = {
6004
- /**
6005
- * Region code for tenant context
6006
- */
6007
- 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
- /**
6009
- * Optional date (defaults to today)
6010
- */
6011
- requestBody: GenerateSnapshotBody;
6012
- };
6013
- type ReportingControllerGenerateSnapshotResponse = GenerateSnapshotResponse;
6014
- type ReportingControllerBackfillSnapshotsData = {
6015
- /**
6016
- * Region code for tenant context
6017
- */
6018
- 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';
6019
- requestBody: BackfillSnapshotsBody;
6020
- };
6021
- type ReportingControllerBackfillSnapshotsResponse = BackfillSnapshotsResponse;
6022
- type UserControllerDeleteOwnUserData = {
6023
- requestBody: DeleteOwnUserDto;
6024
- };
6025
- type UserControllerDeleteOwnUserResponse = void;
6026
- type UserControllerGetUserData = {
6027
- acceptLanguage: string;
6028
- };
6029
- type UserControllerGetUserResponse = unknown;
6030
- type UserControllerSignupUserData = {
6031
- requestBody: SignupDto;
6032
- };
6033
- type UserControllerSignupUserResponse = SignupResponseDto;
6034
- type UserControllerDeleteUserData = {
6035
- /**
6036
- * User ID to delete
6037
- */
6038
- id: string;
6039
- };
6040
- type UserControllerDeleteUserResponse = void;
6041
- type UserControllerGetUserInfoData = {
6042
- /**
6043
- * User ID
6044
- */
6045
- id: string;
6046
- };
6047
- type UserControllerGetUserInfoResponse = unknown;
6048
- type UserControllerUpdateUserSettingData = {
6049
- requestBody: UpdateUserSettingDto;
6050
- };
6051
- type UserControllerUpdateUserSettingResponse = unknown;
6052
- type UserControllerGetAllUserSettingsByPageData = {
6053
- /**
6054
- * Page number
6055
- */
6056
- pageNo: number;
6057
- /**
6058
- * Page size
6059
- */
6060
- pageSize: number;
6061
- };
6062
- type UserControllerGetAllUserSettingsByPageResponse = unknown;
6063
- type UserControllerGetAssetLiabilitySummaryResponse = unknown;
6064
- type PropertyControllerGetAllResponse = unknown;
6065
- type PropertyControllerGetByKeyData = {
6066
- /**
6067
- * Property key
6068
- */
6069
- key: string;
6070
- };
6071
- type PropertyControllerGetByKeyResponse = unknown;
6072
- type PropertyControllerUpdateData = {
6073
- /**
6074
- * Property key
6075
- */
6076
- key: string;
6077
- requestBody: UpdatePropertyDto;
6078
- };
6079
- type PropertyControllerUpdateResponse = unknown;
6080
- type PropertyControllerDeleteData = {
6081
- /**
6082
- * Property key
6083
- */
6084
- key: string;
6085
- };
6086
- type PropertyControllerDeleteResponse = void;
6087
6476
  type TransactionRuleControllerCreateData = {
6088
6477
  /**
6089
6478
  * Region code for tenant context
@@ -6203,6 +6592,21 @@ type TransactionRuleControllerTestData = {
6203
6592
  ruleId: string;
6204
6593
  };
6205
6594
  type TransactionRuleControllerTestResponse = TestRuleResponseDto;
6595
+ type CategoryCatalogControllerListData = {
6596
+ /**
6597
+ * Region code for tenant context
6598
+ */
6599
+ 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';
6600
+ /**
6601
+ * Filter by routeBearing (entity-router route() consumes it)
6602
+ */
6603
+ routeBearing?: boolean;
6604
+ /**
6605
+ * Filter by scenario
6606
+ */
6607
+ scenario?: 'expense' | 'income' | 'investment' | 'banking' | 'transfer' | 'payment';
6608
+ };
6609
+ type CategoryCatalogControllerListResponse = CategoryCatalogListResponseDto;
6206
6610
  type EventControllerCreateData = {
6207
6611
  /**
6208
6612
  * Region code for tenant context (decorative for life events)
@@ -6556,6 +6960,21 @@ type PlatformControllerMatchPlatformsData = {
6556
6960
  region?: string;
6557
6961
  };
6558
6962
  type PlatformControllerMatchPlatformsResponse = PlatformMatchResponseDto;
6963
+ type PlatformControllerGetPlatformStandardsData = {
6964
+ /**
6965
+ * Platform ID (from a match result)
6966
+ */
6967
+ id: string;
6968
+ /**
6969
+ * 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.
6970
+ */
6971
+ region?: string;
6972
+ /**
6973
+ * Filter templates by account type (path first segment)
6974
+ */
6975
+ type?: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
6976
+ };
6977
+ type PlatformControllerGetPlatformStandardsResponse = PlatformStandardsResponseDto;
6559
6978
  type PlatformControllerUpdateData = {
6560
6979
  /**
6561
6980
  * Platform ID
@@ -6655,6 +7074,14 @@ type AuthControllerAccessTokenLoginData = {
6655
7074
  requestBody: AnonymousLoginDto;
6656
7075
  };
6657
7076
  type AuthControllerAccessTokenLoginResponse = AnonymousLoginResponseDto;
7077
+ type ParserContributionControllerCreateData = {
7078
+ /**
7079
+ * Region code for tenant context (routing only; the institution region rides in the payload meta)
7080
+ */
7081
+ 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';
7082
+ requestBody: ParserContributionRequestDto;
7083
+ };
7084
+ type ParserContributionControllerCreateResponse = ParserContributionRelayResponseDto;
6658
7085
  type CacheControllerFlushCacheResponse = unknown;
6659
7086
  type ExchangeRateControllerGetExchangeRateData = {
6660
7087
  /**
@@ -7439,595 +7866,595 @@ type $OpenApiTs = {
7439
7866
  };
7440
7867
  };
7441
7868
  };
7442
- '/api/v1/{region}/bean/prices': {
7443
- post: {
7444
- req: PriceControllerCreateData;
7869
+ '/api/v1/{region}/reporting/portfolio/trends': {
7870
+ get: {
7871
+ req: ReportingControllerGetPortfolioTrendsData;
7445
7872
  res: {
7446
7873
  /**
7447
- * Price created successfully
7448
- */
7449
- 201: PriceResponseDto;
7450
- /**
7451
- * Currency or quoteCurrency commodity not found
7452
- */
7453
- 404: unknown;
7454
- /**
7455
- * Price already exists for this currency pair and date
7874
+ * Trends retrieved successfully
7456
7875
  */
7457
- 409: unknown;
7458
- };
7459
- };
7460
- get: {
7461
- req: PriceControllerFindAllData;
7462
- res: {
7876
+ 200: PortfolioTrendsResponseDto;
7463
7877
  /**
7464
- * Prices retrieved successfully
7878
+ * User not authenticated
7465
7879
  */
7466
- 200: PriceListResponseDto;
7880
+ 401: unknown;
7467
7881
  };
7468
7882
  };
7469
7883
  };
7470
- '/api/v1/{region}/bean/prices/{id}': {
7884
+ '/api/v1/{region}/reporting/cash-flow/trends': {
7471
7885
  get: {
7472
- req: PriceControllerFindOneData;
7473
- res: {
7474
- /**
7475
- * Price retrieved successfully
7476
- */
7477
- 200: PriceResponseDto;
7478
- /**
7479
- * Price not found
7480
- */
7481
- 404: unknown;
7482
- };
7483
- };
7484
- put: {
7485
- req: PriceControllerUpdateData;
7886
+ req: ReportingControllerGetCashFlowTrendsData;
7486
7887
  res: {
7487
7888
  /**
7488
- * Price updated successfully
7489
- */
7490
- 200: PriceResponseDto;
7491
- /**
7492
- * Price not found
7889
+ * Cash-flow trends retrieved successfully
7493
7890
  */
7494
- 404: unknown;
7891
+ 200: CashFlowTrendsResponseDto;
7495
7892
  /**
7496
- * Updated price conflicts with existing price
7893
+ * User not authenticated
7497
7894
  */
7498
- 409: unknown;
7895
+ 401: unknown;
7499
7896
  };
7500
7897
  };
7501
- delete: {
7502
- req: PriceControllerDeleteData;
7898
+ };
7899
+ '/api/v1/{region}/reporting/snapshots/generate': {
7900
+ post: {
7901
+ req: ReportingControllerGenerateSnapshotData;
7503
7902
  res: {
7504
7903
  /**
7505
- * Price deleted successfully
7904
+ * Snapshot generated successfully
7506
7905
  */
7507
- 204: void;
7906
+ 200: GenerateSnapshotResponse;
7508
7907
  /**
7509
- * Price not found
7908
+ * Invalid date format
7510
7909
  */
7511
- 404: unknown;
7512
- };
7513
- };
7514
- };
7515
- '/api/v1/{region}/bean/prices/bulk': {
7516
- post: {
7517
- req: PriceControllerBulkCreateData;
7518
- res: {
7910
+ 400: unknown;
7519
7911
  /**
7520
- * Prices created successfully
7912
+ * User not authenticated
7521
7913
  */
7522
- 201: Array<PriceResponseDto>;
7914
+ 401: unknown;
7523
7915
  };
7524
7916
  };
7525
7917
  };
7526
- '/api/v1/{region}/bean/recurring-rules': {
7918
+ '/api/v1/{region}/reporting/snapshots/backfill': {
7527
7919
  post: {
7528
- req: RecurringRuleControllerCreateData;
7920
+ req: ReportingControllerBackfillSnapshotsData;
7529
7921
  res: {
7530
7922
  /**
7531
- * Rule created successfully
7923
+ * Backfill completed successfully
7532
7924
  */
7533
- 201: RecurringRuleResponseDto;
7925
+ 200: BackfillSnapshotsResponse;
7534
7926
  /**
7535
- * Invalid input data (e.g., autoCreate without accounts)
7927
+ * Invalid date format or range
7536
7928
  */
7537
7929
  400: unknown;
7538
7930
  /**
7539
- * Rule with same name already exists
7931
+ * User not authenticated
7540
7932
  */
7541
- 409: unknown;
7542
- };
7543
- };
7544
- get: {
7545
- req: RecurringRuleControllerFindAllData;
7546
- res: {
7933
+ 401: unknown;
7547
7934
  /**
7548
- * Rules retrieved successfully
7935
+ * Backfill already in progress for this user
7549
7936
  */
7550
- 200: Array<RecurringRuleResponseDto>;
7937
+ 409: unknown;
7551
7938
  };
7552
7939
  };
7553
7940
  };
7554
- '/api/v1/{region}/bean/recurring-rules/from-transaction/{transactionId}': {
7941
+ '/api/v1/{region}/bean/prices': {
7555
7942
  post: {
7556
- req: RecurringRuleControllerCreateFromTransactionData;
7943
+ req: PriceControllerCreateData;
7557
7944
  res: {
7558
7945
  /**
7559
- * Rule created successfully
7946
+ * Price created successfully
7947
+ */
7948
+ 201: PriceResponseDto;
7949
+ /**
7950
+ * Currency or quoteCurrency commodity not found
7560
7951
  */
7561
- 201: RecurringRuleResponseDto;
7952
+ 404: unknown;
7562
7953
  /**
7563
- * Transaction not found
7954
+ * Price already exists for this currency pair and date
7564
7955
  */
7565
- 404: ApiProblemResponseDto;
7956
+ 409: unknown;
7957
+ };
7958
+ };
7959
+ get: {
7960
+ req: PriceControllerFindAllData;
7961
+ res: {
7566
7962
  /**
7567
- * Rule with same name already exists or transaction already linked
7963
+ * Prices retrieved successfully
7568
7964
  */
7569
- 409: ApiProblemResponseDto;
7965
+ 200: PriceListResponseDto;
7570
7966
  };
7571
7967
  };
7572
7968
  };
7573
- '/api/v1/{region}/bean/recurring-rules/{id}': {
7969
+ '/api/v1/{region}/bean/prices/{id}': {
7574
7970
  get: {
7575
- req: RecurringRuleControllerFindOneData;
7971
+ req: PriceControllerFindOneData;
7576
7972
  res: {
7577
7973
  /**
7578
- * Rule retrieved successfully
7974
+ * Price retrieved successfully
7579
7975
  */
7580
- 200: RecurringRuleResponseDto;
7976
+ 200: PriceResponseDto;
7581
7977
  /**
7582
- * Rule not found
7978
+ * Price not found
7583
7979
  */
7584
7980
  404: unknown;
7585
7981
  };
7586
7982
  };
7587
- patch: {
7588
- req: RecurringRuleControllerUpdateData;
7983
+ put: {
7984
+ req: PriceControllerUpdateData;
7589
7985
  res: {
7590
7986
  /**
7591
- * Rule updated successfully
7987
+ * Price updated successfully
7592
7988
  */
7593
- 200: RecurringRuleResponseDto;
7989
+ 200: PriceResponseDto;
7594
7990
  /**
7595
- * Invalid input data
7991
+ * Price not found
7596
7992
  */
7597
- 400: unknown;
7993
+ 404: unknown;
7598
7994
  /**
7599
- * Rule not found
7995
+ * Updated price conflicts with existing price
7600
7996
  */
7601
- 404: unknown;
7997
+ 409: unknown;
7602
7998
  };
7603
7999
  };
7604
8000
  delete: {
7605
- req: RecurringRuleControllerDeleteData;
8001
+ req: PriceControllerDeleteData;
7606
8002
  res: {
7607
8003
  /**
7608
- * Rule deleted successfully
8004
+ * Price deleted successfully
7609
8005
  */
7610
8006
  204: void;
7611
8007
  /**
7612
- * Rule not found
8008
+ * Price not found
7613
8009
  */
7614
8010
  404: unknown;
7615
8011
  };
7616
8012
  };
7617
8013
  };
7618
- '/api/v1/{region}/bean/recurring-rules/{id}/stats': {
7619
- get: {
7620
- req: RecurringRuleControllerGetWithStatsData;
8014
+ '/api/v1/{region}/bean/prices/bulk': {
8015
+ post: {
8016
+ req: PriceControllerBulkCreateData;
7621
8017
  res: {
7622
8018
  /**
7623
- * Rule with stats retrieved successfully
7624
- */
7625
- 200: RecurringRuleWithStatsResponseDto;
7626
- /**
7627
- * Rule not found
8019
+ * Prices created successfully
7628
8020
  */
7629
- 404: unknown;
8021
+ 201: Array<PriceResponseDto>;
7630
8022
  };
7631
8023
  };
7632
8024
  };
7633
- '/api/v1/{region}/bean/expected-transactions': {
7634
- get: {
7635
- req: ExpectedTransactionControllerFindAllData;
8025
+ '/api/v1/users': {
8026
+ delete: {
8027
+ req: UserControllerDeleteOwnUserData;
7636
8028
  res: {
7637
8029
  /**
7638
- * Expected transactions retrieved successfully
8030
+ * User deleted successfully
7639
8031
  */
7640
- 200: ExpectedTransactionListResponseDto;
7641
- };
7642
- };
7643
- };
7644
- '/api/v1/{region}/bean/expected-transactions/overdue': {
7645
- get: {
7646
- req: ExpectedTransactionControllerFindOverdueData;
7647
- res: {
8032
+ 204: void;
7648
8033
  /**
7649
- * Overdue transactions retrieved successfully
8034
+ * Invalid access token
7650
8035
  */
7651
- 200: ExpectedTransactionListResponseDto;
8036
+ 403: unknown;
7652
8037
  };
7653
8038
  };
7654
- };
7655
- '/api/v1/{region}/bean/expected-transactions/{id}': {
7656
8039
  get: {
7657
- req: ExpectedTransactionControllerFindOneData;
8040
+ req: UserControllerGetUserData;
7658
8041
  res: {
7659
8042
  /**
7660
- * Expected transaction retrieved successfully
7661
- */
7662
- 200: ExpectedTransactionResponseDto;
7663
- /**
7664
- * Expected transaction not found
8043
+ * User retrieved successfully
7665
8044
  */
7666
- 404: unknown;
8045
+ 200: UserResponseDto;
7667
8046
  };
7668
8047
  };
7669
- };
7670
- '/api/v1/{region}/bean/expected-transactions/{id}/skip': {
7671
8048
  post: {
7672
- req: ExpectedTransactionControllerSkipData;
8049
+ req: UserControllerSignupUserData;
7673
8050
  res: {
7674
8051
  /**
7675
- * Expected transaction skipped successfully
8052
+ * User created successfully
7676
8053
  */
7677
- 200: ExpectedTransactionResponseDto;
8054
+ 201: SignupResponseDto;
7678
8055
  /**
7679
- * Cannot skip - not in PENDING status
8056
+ * Invalid Turnstile token (when Turnstile is enabled)
7680
8057
  */
7681
8058
  400: unknown;
7682
8059
  /**
7683
- * Expected transaction not found
8060
+ * User signup is disabled
7684
8061
  */
7685
- 404: unknown;
8062
+ 403: unknown;
7686
8063
  };
7687
8064
  };
8065
+ };
8066
+ '/api/v1/users/{id}': {
7688
8067
  delete: {
7689
- req: ExpectedTransactionControllerUndoSkipData;
8068
+ req: UserControllerDeleteUserData;
7690
8069
  res: {
7691
8070
  /**
7692
- * Skip undone successfully
7693
- */
7694
- 200: ExpectedTransactionResponseDto;
7695
- /**
7696
- * Cannot undo - not in SKIPPED status
8071
+ * User deleted successfully
7697
8072
  */
7698
- 400: unknown;
8073
+ 204: void;
7699
8074
  /**
7700
- * Expected transaction not found
8075
+ * Cannot delete own account or insufficient permissions
7701
8076
  */
7702
- 404: unknown;
8077
+ 403: unknown;
7703
8078
  };
7704
8079
  };
7705
8080
  };
7706
- '/api/v1/{region}/bean/expected-transactions/{id}/match': {
7707
- post: {
7708
- req: ExpectedTransactionControllerConfirmMatchData;
8081
+ '/api/v1/users/{id}/info': {
8082
+ get: {
8083
+ req: UserControllerGetUserInfoData;
7709
8084
  res: {
7710
8085
  /**
7711
- * Match confirmed successfully
8086
+ * User info retrieved successfully
7712
8087
  */
7713
8088
  200: unknown;
7714
8089
  /**
7715
- * Cannot match - not in PENDING status
7716
- */
7717
- 400: unknown;
7718
- /**
7719
- * Expected or actual transaction not found
7720
- */
7721
- 404: unknown;
7722
- /**
7723
- * Actual transaction already matched to another rule
8090
+ * Cannot access other user info without admin permission
7724
8091
  */
7725
- 409: unknown;
8092
+ 403: unknown;
7726
8093
  };
7727
8094
  };
7728
- delete: {
7729
- req: ExpectedTransactionControllerUnmatchData;
8095
+ };
8096
+ '/api/v1/users/setting': {
8097
+ put: {
8098
+ req: UserControllerUpdateUserSettingData;
7730
8099
  res: {
7731
8100
  /**
7732
- * Match removed successfully
8101
+ * Settings updated successfully
7733
8102
  */
7734
8103
  200: unknown;
7735
8104
  /**
7736
- * Cannot unmatch - not in COMPLETED status
7737
- */
7738
- 400: unknown;
7739
- /**
7740
- * Expected transaction not found
8105
+ * Insufficient permissions
7741
8106
  */
7742
- 404: unknown;
8107
+ 403: unknown;
7743
8108
  };
7744
8109
  };
7745
8110
  };
7746
- '/api/v1/{region}/bean/expected-transactions/{id}/enter': {
7747
- post: {
7748
- req: ExpectedTransactionControllerEnterNowData;
8111
+ '/api/v1/users/settings-by-page': {
8112
+ get: {
8113
+ req: UserControllerGetAllUserSettingsByPageData;
7749
8114
  res: {
7750
8115
  /**
7751
- * Transaction created successfully
7752
- */
7753
- 201: unknown;
7754
- /**
7755
- * Cannot enter - not in PENDING status or missing accounts
7756
- */
7757
- 400: unknown;
7758
- /**
7759
- * Expected transaction or accounts not found
8116
+ * Settings list retrieved successfully
7760
8117
  */
7761
- 404: unknown;
8118
+ 200: unknown;
7762
8119
  };
7763
8120
  };
7764
8121
  };
7765
- '/api/v1/{region}/bean/recurring/forecast': {
8122
+ '/api/v1/users/asset-liability-summary': {
7766
8123
  get: {
7767
- req: ForecastControllerGetForecastData;
7768
8124
  res: {
7769
8125
  /**
7770
- * Forecast retrieved successfully
8126
+ * Summary retrieved successfully
7771
8127
  */
7772
- 200: ForecastResponseDto;
8128
+ 200: unknown;
7773
8129
  };
7774
8130
  };
7775
8131
  };
7776
- '/api/v1/{region}/reporting/portfolio/trends': {
8132
+ '/api/v1/admin/properties': {
7777
8133
  get: {
7778
- req: ReportingControllerGetPortfolioTrendsData;
7779
8134
  res: {
7780
8135
  /**
7781
- * Trends retrieved successfully
8136
+ * Properties retrieved successfully
7782
8137
  */
7783
- 200: PortfolioTrendsResponseDto;
8138
+ 200: unknown;
7784
8139
  /**
7785
- * User not authenticated
8140
+ * Unauthorized
7786
8141
  */
7787
8142
  401: unknown;
8143
+ /**
8144
+ * Forbidden - insufficient permissions
8145
+ */
8146
+ 403: unknown;
7788
8147
  };
7789
8148
  };
7790
8149
  };
7791
- '/api/v1/{region}/reporting/cash-flow/trends': {
8150
+ '/api/v1/admin/properties/{key}': {
7792
8151
  get: {
7793
- req: ReportingControllerGetCashFlowTrendsData;
8152
+ req: PropertyControllerGetByKeyData;
7794
8153
  res: {
7795
8154
  /**
7796
- * Cash-flow trends retrieved successfully
8155
+ * Property retrieved successfully
7797
8156
  */
7798
- 200: CashFlowTrendsResponseDto;
8157
+ 200: unknown;
7799
8158
  /**
7800
- * User not authenticated
8159
+ * Unauthorized
7801
8160
  */
7802
8161
  401: unknown;
8162
+ /**
8163
+ * Forbidden - insufficient permissions
8164
+ */
8165
+ 403: unknown;
8166
+ /**
8167
+ * Property not found
8168
+ */
8169
+ 404: unknown;
7803
8170
  };
7804
8171
  };
7805
- };
7806
- '/api/v1/{region}/reporting/snapshots/generate': {
7807
- post: {
7808
- req: ReportingControllerGenerateSnapshotData;
8172
+ put: {
8173
+ req: PropertyControllerUpdateData;
7809
8174
  res: {
7810
8175
  /**
7811
- * Snapshot generated successfully
8176
+ * Property updated successfully
7812
8177
  */
7813
- 200: GenerateSnapshotResponse;
8178
+ 200: unknown;
7814
8179
  /**
7815
- * Invalid date format
8180
+ * Unauthorized
7816
8181
  */
7817
- 400: unknown;
8182
+ 401: unknown;
7818
8183
  /**
7819
- * User not authenticated
8184
+ * Forbidden - insufficient permissions
8185
+ */
8186
+ 403: unknown;
8187
+ };
8188
+ };
8189
+ delete: {
8190
+ req: PropertyControllerDeleteData;
8191
+ res: {
8192
+ /**
8193
+ * Property deleted successfully
8194
+ */
8195
+ 204: void;
8196
+ /**
8197
+ * Unauthorized
8198
+ */
8199
+ 401: unknown;
8200
+ /**
8201
+ * Forbidden - insufficient permissions
8202
+ */
8203
+ 403: unknown;
8204
+ /**
8205
+ * Property not found
7820
8206
  */
7821
- 401: unknown;
8207
+ 404: unknown;
7822
8208
  };
7823
8209
  };
7824
8210
  };
7825
- '/api/v1/{region}/reporting/snapshots/backfill': {
8211
+ '/api/v1/{region}/bean/recurring-rules': {
7826
8212
  post: {
7827
- req: ReportingControllerBackfillSnapshotsData;
8213
+ req: RecurringRuleControllerCreateData;
7828
8214
  res: {
7829
8215
  /**
7830
- * Backfill completed successfully
8216
+ * Rule created successfully
7831
8217
  */
7832
- 200: BackfillSnapshotsResponse;
8218
+ 201: RecurringRuleResponseDto;
7833
8219
  /**
7834
- * Invalid date format or range
8220
+ * Invalid input data (e.g., autoCreate without accounts)
7835
8221
  */
7836
8222
  400: unknown;
7837
8223
  /**
7838
- * User not authenticated
8224
+ * Rule with same name already exists
7839
8225
  */
7840
- 401: unknown;
8226
+ 409: unknown;
8227
+ };
8228
+ };
8229
+ get: {
8230
+ req: RecurringRuleControllerFindAllData;
8231
+ res: {
7841
8232
  /**
7842
- * Backfill already in progress for this user
8233
+ * Rules retrieved successfully
7843
8234
  */
7844
- 409: unknown;
8235
+ 200: Array<RecurringRuleResponseDto>;
7845
8236
  };
7846
8237
  };
7847
8238
  };
7848
- '/api/v1/users': {
7849
- delete: {
7850
- req: UserControllerDeleteOwnUserData;
8239
+ '/api/v1/{region}/bean/recurring-rules/from-transaction/{transactionId}': {
8240
+ post: {
8241
+ req: RecurringRuleControllerCreateFromTransactionData;
7851
8242
  res: {
7852
8243
  /**
7853
- * User deleted successfully
8244
+ * Rule created successfully
7854
8245
  */
7855
- 204: void;
8246
+ 201: RecurringRuleResponseDto;
7856
8247
  /**
7857
- * Invalid access token
8248
+ * Transaction not found
7858
8249
  */
7859
- 403: unknown;
8250
+ 404: ApiProblemResponseDto;
8251
+ /**
8252
+ * Rule with same name already exists or transaction already linked
8253
+ */
8254
+ 409: ApiProblemResponseDto;
7860
8255
  };
7861
8256
  };
8257
+ };
8258
+ '/api/v1/{region}/bean/recurring-rules/{id}': {
7862
8259
  get: {
7863
- req: UserControllerGetUserData;
8260
+ req: RecurringRuleControllerFindOneData;
7864
8261
  res: {
7865
8262
  /**
7866
- * User retrieved successfully
8263
+ * Rule retrieved successfully
7867
8264
  */
7868
- 200: unknown;
8265
+ 200: RecurringRuleResponseDto;
8266
+ /**
8267
+ * Rule not found
8268
+ */
8269
+ 404: unknown;
7869
8270
  };
7870
8271
  };
7871
- post: {
7872
- req: UserControllerSignupUserData;
8272
+ patch: {
8273
+ req: RecurringRuleControllerUpdateData;
7873
8274
  res: {
7874
8275
  /**
7875
- * User created successfully
8276
+ * Rule updated successfully
7876
8277
  */
7877
- 201: SignupResponseDto;
8278
+ 200: RecurringRuleResponseDto;
7878
8279
  /**
7879
- * Invalid Turnstile token (when Turnstile is enabled)
8280
+ * Invalid input data
7880
8281
  */
7881
8282
  400: unknown;
7882
8283
  /**
7883
- * User signup is disabled
8284
+ * Rule not found
7884
8285
  */
7885
- 403: unknown;
8286
+ 404: unknown;
7886
8287
  };
7887
8288
  };
7888
- };
7889
- '/api/v1/users/{id}': {
7890
8289
  delete: {
7891
- req: UserControllerDeleteUserData;
8290
+ req: RecurringRuleControllerDeleteData;
7892
8291
  res: {
7893
8292
  /**
7894
- * User deleted successfully
8293
+ * Rule deleted successfully
7895
8294
  */
7896
8295
  204: void;
7897
8296
  /**
7898
- * Cannot delete own account or insufficient permissions
8297
+ * Rule not found
7899
8298
  */
7900
- 403: unknown;
8299
+ 404: unknown;
7901
8300
  };
7902
8301
  };
7903
8302
  };
7904
- '/api/v1/users/{id}/info': {
8303
+ '/api/v1/{region}/bean/recurring-rules/{id}/stats': {
7905
8304
  get: {
7906
- req: UserControllerGetUserInfoData;
8305
+ req: RecurringRuleControllerGetWithStatsData;
7907
8306
  res: {
7908
8307
  /**
7909
- * User info retrieved successfully
8308
+ * Rule with stats retrieved successfully
7910
8309
  */
7911
- 200: unknown;
8310
+ 200: RecurringRuleWithStatsResponseDto;
7912
8311
  /**
7913
- * Cannot access other user info without admin permission
8312
+ * Rule not found
7914
8313
  */
7915
- 403: unknown;
8314
+ 404: unknown;
7916
8315
  };
7917
8316
  };
7918
8317
  };
7919
- '/api/v1/users/setting': {
7920
- put: {
7921
- req: UserControllerUpdateUserSettingData;
8318
+ '/api/v1/{region}/bean/expected-transactions': {
8319
+ get: {
8320
+ req: ExpectedTransactionControllerFindAllData;
7922
8321
  res: {
7923
8322
  /**
7924
- * Settings updated successfully
7925
- */
7926
- 200: unknown;
7927
- /**
7928
- * Insufficient permissions
8323
+ * Expected transactions retrieved successfully
7929
8324
  */
7930
- 403: unknown;
8325
+ 200: ExpectedTransactionListResponseDto;
7931
8326
  };
7932
8327
  };
7933
8328
  };
7934
- '/api/v1/users/settings-by-page': {
8329
+ '/api/v1/{region}/bean/expected-transactions/overdue': {
7935
8330
  get: {
7936
- req: UserControllerGetAllUserSettingsByPageData;
8331
+ req: ExpectedTransactionControllerFindOverdueData;
7937
8332
  res: {
7938
8333
  /**
7939
- * Settings list retrieved successfully
8334
+ * Overdue transactions retrieved successfully
7940
8335
  */
7941
- 200: unknown;
8336
+ 200: ExpectedTransactionListResponseDto;
7942
8337
  };
7943
8338
  };
7944
8339
  };
7945
- '/api/v1/users/asset-liability-summary': {
8340
+ '/api/v1/{region}/bean/expected-transactions/{id}': {
7946
8341
  get: {
8342
+ req: ExpectedTransactionControllerFindOneData;
7947
8343
  res: {
7948
8344
  /**
7949
- * Summary retrieved successfully
8345
+ * Expected transaction retrieved successfully
7950
8346
  */
7951
- 200: unknown;
8347
+ 200: ExpectedTransactionResponseDto;
8348
+ /**
8349
+ * Expected transaction not found
8350
+ */
8351
+ 404: unknown;
7952
8352
  };
7953
8353
  };
7954
8354
  };
7955
- '/api/v1/admin/properties': {
7956
- get: {
8355
+ '/api/v1/{region}/bean/expected-transactions/{id}/skip': {
8356
+ post: {
8357
+ req: ExpectedTransactionControllerSkipData;
7957
8358
  res: {
7958
8359
  /**
7959
- * Properties retrieved successfully
8360
+ * Expected transaction skipped successfully
7960
8361
  */
7961
- 200: unknown;
8362
+ 200: ExpectedTransactionResponseDto;
7962
8363
  /**
7963
- * Unauthorized
8364
+ * Cannot skip - not in PENDING status
7964
8365
  */
7965
- 401: unknown;
8366
+ 400: unknown;
7966
8367
  /**
7967
- * Forbidden - insufficient permissions
8368
+ * Expected transaction not found
7968
8369
  */
7969
- 403: unknown;
8370
+ 404: unknown;
8371
+ };
8372
+ };
8373
+ delete: {
8374
+ req: ExpectedTransactionControllerUndoSkipData;
8375
+ res: {
8376
+ /**
8377
+ * Skip undone successfully
8378
+ */
8379
+ 200: ExpectedTransactionResponseDto;
8380
+ /**
8381
+ * Cannot undo - not in SKIPPED status
8382
+ */
8383
+ 400: unknown;
8384
+ /**
8385
+ * Expected transaction not found
8386
+ */
8387
+ 404: unknown;
7970
8388
  };
7971
8389
  };
7972
8390
  };
7973
- '/api/v1/admin/properties/{key}': {
7974
- get: {
7975
- req: PropertyControllerGetByKeyData;
8391
+ '/api/v1/{region}/bean/expected-transactions/{id}/match': {
8392
+ post: {
8393
+ req: ExpectedTransactionControllerConfirmMatchData;
7976
8394
  res: {
7977
8395
  /**
7978
- * Property retrieved successfully
8396
+ * Match confirmed successfully
7979
8397
  */
7980
8398
  200: unknown;
7981
8399
  /**
7982
- * Unauthorized
8400
+ * Cannot match - not in PENDING status
7983
8401
  */
7984
- 401: unknown;
8402
+ 400: unknown;
7985
8403
  /**
7986
- * Forbidden - insufficient permissions
8404
+ * Expected or actual transaction not found
7987
8405
  */
7988
- 403: unknown;
8406
+ 404: unknown;
7989
8407
  /**
7990
- * Property not found
8408
+ * Actual transaction already matched to another rule
7991
8409
  */
7992
- 404: unknown;
8410
+ 409: unknown;
7993
8411
  };
7994
8412
  };
7995
- put: {
7996
- req: PropertyControllerUpdateData;
8413
+ delete: {
8414
+ req: ExpectedTransactionControllerUnmatchData;
7997
8415
  res: {
7998
8416
  /**
7999
- * Property updated successfully
8417
+ * Match removed successfully
8000
8418
  */
8001
8419
  200: unknown;
8002
8420
  /**
8003
- * Unauthorized
8421
+ * Cannot unmatch - not in COMPLETED status
8004
8422
  */
8005
- 401: unknown;
8423
+ 400: unknown;
8006
8424
  /**
8007
- * Forbidden - insufficient permissions
8425
+ * Expected transaction not found
8008
8426
  */
8009
- 403: unknown;
8427
+ 404: unknown;
8010
8428
  };
8011
8429
  };
8012
- delete: {
8013
- req: PropertyControllerDeleteData;
8430
+ };
8431
+ '/api/v1/{region}/bean/expected-transactions/{id}/enter': {
8432
+ post: {
8433
+ req: ExpectedTransactionControllerEnterNowData;
8014
8434
  res: {
8015
8435
  /**
8016
- * Property deleted successfully
8436
+ * Transaction created successfully
8017
8437
  */
8018
- 204: void;
8438
+ 201: unknown;
8019
8439
  /**
8020
- * Unauthorized
8440
+ * Cannot enter - not in PENDING status or missing accounts
8021
8441
  */
8022
- 401: unknown;
8442
+ 400: unknown;
8023
8443
  /**
8024
- * Forbidden - insufficient permissions
8444
+ * Expected transaction or accounts not found
8025
8445
  */
8026
- 403: unknown;
8446
+ 404: unknown;
8447
+ };
8448
+ };
8449
+ };
8450
+ '/api/v1/{region}/bean/recurring/forecast': {
8451
+ get: {
8452
+ req: ForecastControllerGetForecastData;
8453
+ res: {
8027
8454
  /**
8028
- * Property not found
8455
+ * Forecast retrieved successfully
8029
8456
  */
8030
- 404: unknown;
8457
+ 200: ForecastResponseDto;
8031
8458
  };
8032
8459
  };
8033
8460
  };
@@ -8239,6 +8666,17 @@ type $OpenApiTs = {
8239
8666
  };
8240
8667
  };
8241
8668
  };
8669
+ '/api/v1/{region}/bean/categories': {
8670
+ get: {
8671
+ req: CategoryCatalogControllerListData;
8672
+ res: {
8673
+ /**
8674
+ * Category catalog retrieved successfully
8675
+ */
8676
+ 200: CategoryCatalogListResponseDto;
8677
+ };
8678
+ };
8679
+ };
8242
8680
  '/api/v1/{region}/bean/events': {
8243
8681
  post: {
8244
8682
  req: EventControllerCreateData;
@@ -8798,6 +9236,17 @@ type $OpenApiTs = {
8798
9236
  };
8799
9237
  };
8800
9238
  };
9239
+ '/api/v1/bean/platforms/{id}/standards': {
9240
+ get: {
9241
+ req: PlatformControllerGetPlatformStandardsData;
9242
+ res: {
9243
+ /**
9244
+ * Resolved region plus the merged account-standard catalog of that region (groupable by productCategory client-side)
9245
+ */
9246
+ 200: PlatformStandardsResponseDto;
9247
+ };
9248
+ };
9249
+ };
8801
9250
  '/api/v1/bean/platforms/{id}': {
8802
9251
  put: {
8803
9252
  req: PlatformControllerUpdateData;
@@ -8942,6 +9391,37 @@ type $OpenApiTs = {
8942
9391
  };
8943
9392
  };
8944
9393
  };
9394
+ '/api/v1/{region}/community/parser-contributions': {
9395
+ post: {
9396
+ req: ParserContributionControllerCreateData;
9397
+ res: {
9398
+ /**
9399
+ * Issue created by the bot
9400
+ */
9401
+ 201: ParserContributionRelayResponseDto;
9402
+ /**
9403
+ * Unauthorized
9404
+ */
9405
+ 401: ApiProblemResponseDto;
9406
+ /**
9407
+ * Validation failed (institution slug, empty samples, row/cell size limits)
9408
+ */
9409
+ 422: ApiProblemResponseDto;
9410
+ /**
9411
+ * Rate limited (5 submissions per user per hour)
9412
+ */
9413
+ 429: ApiProblemResponseDto;
9414
+ /**
9415
+ * Relay not configured on this deployment — clients fall back to the clipboard flow
9416
+ */
9417
+ 501: ApiProblemResponseDto;
9418
+ /**
9419
+ * GitHub bot failure (upstream), safe to retry
9420
+ */
9421
+ 502: ApiProblemResponseDto;
9422
+ };
9423
+ };
9424
+ };
8945
9425
  '/api/v1/cache/flush': {
8946
9426
  post: {
8947
9427
  res: {
@@ -9221,10 +9701,11 @@ declare class BeanTransactionsService {
9221
9701
  * @param data.offset Number of items to skip (default: 0)
9222
9702
  * @param data.dateFrom Filter by start date (inclusive), format: YYYY-MM-DD
9223
9703
  * @param data.dateTo Filter by end date (inclusive), format: YYYY-MM-DD
9224
- * @param data.status Filter by transaction status
9704
+ * @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).
9225
9705
  * @param data.search Search in narration and payee fields (max 200 chars)
9226
9706
  * @param data.accountId Filter by account ID (transactions with postings to this account)
9227
- * @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
9707
+ * @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).
9708
+ * @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.
9228
9709
  * @returns TransactionListResponseDto Transaction list
9229
9710
  * @throws ApiError
9230
9711
  */
@@ -9530,4 +10011,4 @@ type OpenAPIConfig = {
9530
10011
  };
9531
10012
  declare const OpenAPI: OpenAPIConfig;
9532
10013
 
9533
- export { type $OpenApiTs, type AccountControllerAddOpeningBalanceData, type AccountControllerAddOpeningBalanceResponse, type AccountControllerCloseData, type AccountControllerCloseResponse, type AccountControllerCreateData, type AccountControllerCreateResponse, type AccountControllerDeleteData, type AccountControllerDeleteResponse, type AccountControllerFindAllData, type AccountControllerFindAllResponse, type AccountControllerFindOneData, type AccountControllerFindOneResponse, type AccountControllerReopenData, type AccountControllerReopenResponse, type AccountControllerUpdateData, type AccountControllerUpdateResponse, type AccountExchangeRateWarningDto, type AccountItemDto, type AccountItemWithAssetClassDto, type AccountListResponseDto, type AccountResponseDto, type AccountStandardListResponseDto, type AccountStandardResponseDto, type AccountStandardsControllerGetRegionsData, type AccountStandardsControllerGetRegionsResponse, type AccountStandardsControllerGetTemplateMetadataData, type AccountStandardsControllerGetTemplateMetadataResponse, type AccountStandardsControllerGetTemplatesData, type AccountStandardsControllerGetTemplatesResponse, type AccountsResponseDto, type AccountsSummaryDto, type ActualBalanceDto, type AmountDto, type AmountRangeDto, type AnonymousLoginDto, type AnonymousLoginResponseDto, type ApiKeysControllerCreateApiKeyResponse, type ApiProblemResponseDto, type AssertReconciliationDto, type AssetClassAccountsResponseDto, type AssetClassGroupDto, type AssetClassSummaryDto, type AuthControllerAccessTokenLoginData, type AuthControllerAccessTokenLoginResponse, type BackfillSnapshotsBody, type BackfillSnapshotsResponse, type BalanceByCurrencyDto, type BalanceControllerGetBalanceData, type BalanceControllerGetBalanceResponse, type BalanceControllerGetMultiCurrencyBalanceData, type BalanceControllerGetMultiCurrencyBalanceResponse, type BalanceResponseDto, type BatchCreateTransactionDto, type BatchResolveDto, type BatchResolveResultDto, type BatchTransactionErrorDto, type BatchTransactionResponseDto, BeanAccountsService, BeanBalancesService, BeanCommoditiesService, BeanTransactionsService, type BulkCreateRulesDto, type BulkCreateRulesResponseDto, type CacheControllerFlushCacheResponse, type CashFlowByCurrencyDto, type CashFlowPointDto, type CashFlowResponseDto, type CashFlowTrendSummaryDto, type CashFlowTrendsResponseDto, type CategoryGroupDto, type CloseAccountDto, type CommodityControllerBulkCreateData, type CommodityControllerBulkCreateResponse, type CommodityControllerCreateData, type CommodityControllerCreateResponse, type CommodityControllerDeleteData, type CommodityControllerDeleteResponse, type CommodityControllerFindAllData, type CommodityControllerFindAllResponse, type CommodityControllerFindOneData, type CommodityControllerFindOneResponse, type CommodityControllerGetOrCreateData, type CommodityControllerGetOrCreateResponse, type CommodityControllerUpdateData, type CommodityControllerUpdateResponse, type CommodityListResponseDto, type CommodityResponseDto, type ComputeReconciliationDto, type ConfirmMatchDto, type ConvertedCashFlowDto, type ConvertedNetWorthDto, type CorrectTransactionDto, type CostDetailDto, type CostSpecDto, type CreateAccountDto, type CreateBeanEventDto, type CreateBeanPriceDto, type CreateCommodityDto, type CreateExternalAccountLinkDto, type CreateOpeningBalanceDto, type CreatePayeeDto, type CreatePayeeProfileDto, type CreatePlatformDto, type CreatePostingDto, type CreateRecurringRuleDto, type CreateRuleFromTransactionDto, type CreateTransactionDto, type CreateTransactionRuleDto, type CurrencyBalanceDto, type CurrentPriceDto, type DashboardControllerGetAccountsData, type DashboardControllerGetAccountsResponse, type DashboardControllerGetCashFlowData, type DashboardControllerGetCashFlowResponse, type DashboardControllerGetExpensesData, type DashboardControllerGetExpensesResponse, type DashboardControllerGetNetWorthData, type DashboardControllerGetNetWorthResponse, type DecisionOptionDto, type DeleteOwnUserDto, type EnterNowDto, type EventControllerCreateData, type EventControllerCreateResponse, type EventControllerDeleteData, type EventControllerDeleteResponse, type EventControllerFindAllData, type EventControllerFindAllResponse, type EventControllerFindOneData, type EventControllerFindOneResponse, type EventControllerGetSliceData, type EventControllerGetSliceResponse, type EventControllerUpdateData, type EventControllerUpdateResponse, type EventListResponseDto, type EventResponseDto, type ExchangeRateControllerGetExchangeRateData, type ExchangeRateControllerGetExchangeRateResponse, type ExchangeRateWarningDto, type ExpectedTransactionControllerConfirmMatchData, type ExpectedTransactionControllerConfirmMatchResponse, type ExpectedTransactionControllerEnterNowData, type ExpectedTransactionControllerEnterNowResponse, type ExpectedTransactionControllerFindAllData, type ExpectedTransactionControllerFindAllResponse, type ExpectedTransactionControllerFindOneData, type ExpectedTransactionControllerFindOneResponse, type ExpectedTransactionControllerFindOverdueData, type ExpectedTransactionControllerFindOverdueResponse, type ExpectedTransactionControllerSkipData, type ExpectedTransactionControllerSkipResponse, type ExpectedTransactionControllerUndoSkipData, type ExpectedTransactionControllerUndoSkipResponse, type ExpectedTransactionControllerUnmatchData, type ExpectedTransactionControllerUnmatchResponse, type ExpectedTransactionListResponseDto, type ExpectedTransactionResponseDto, type ExpectedTransactionRuleDto, type ExpensesByCategoryResponseDto, type ExpensesByCategorySummaryDto, type ExportControllerExportBeancountResponse, type ExportRulesResponseDto, type ExternalAccountLinkControllerCreateData, type ExternalAccountLinkControllerCreateResponse, type ExternalAccountLinkControllerFindAllData, type ExternalAccountLinkControllerFindAllResponse, type ExternalAccountLinkControllerFindOneData, type ExternalAccountLinkControllerFindOneResponse, type ExternalAccountLinkControllerRemoveData, type ExternalAccountLinkControllerRemoveResponse, type ExternalAccountLinkListResponseDto, type ExternalAccountLinkResponseDto, type FileImportControllerIdentifyFileData, type FileImportControllerIdentifyFileResponse, type FileImportControllerImportBeancountData, type FileImportControllerImportBeancountResponse, type FileImportControllerImportFileData, type FileImportControllerImportFileResponse, type FileImportDto, type ForecastControllerGetForecastData, type ForecastControllerGetForecastResponse, type ForecastItemDto, type ForecastResponseDto, type FxRateDto, type GenerateSnapshotBody, type GenerateSnapshotResponse, type HealthControllerCheckDatabaseResponse, type HealthControllerCheckOpenBbResponse, type HealthControllerCheckRedisResponse, type HealthControllerGetCircuitBreakersHealthResponse, type HealthControllerGetHealthResponse, type HealthControllerGetMetricsResponse, type HealthControllerResetCircuitBreakerData, type HealthControllerResetCircuitBreakerResponse, HealthService, type HoldingAssetClassAccountSliceDto, type HoldingAssetClassCrossAccountResponseDto, type HoldingPnlControllerGetHoldingPnlData, type HoldingPnlControllerGetHoldingPnlResponse, type HoldingPnlResponseDto, type HoldingPnlRowDto, type HoldingPnlWarningDto, type IdentifyResultDto, type ImportErrorDto, type ImportResultDto, type ImporterConfigControllerGetConfigData, type ImporterConfigControllerGetConfigResponse, type ImporterConfigControllerResetConfigData, type ImporterConfigControllerResetConfigResponse, type ImporterConfigControllerUpdateConfigData, type ImporterConfigControllerUpdateConfigResponse, type ImporterConfigDataDto, type ImporterConfigDto, type InfoControllerGetInfoResponse, type MapperDefaultsDto, type MonetaryDto, type MonthlyForecastDto, type MultiCurrencyBalanceResponseDto, type MultiCurrencyPointDto, type NetWorthByCurrencyDto, type NetWorthResponseDto, type NlpAccountConfirmationDataDto, type NlpAlternativePayeeDto, type NlpControllerClearSessionData, type NlpControllerClearSessionResponse, type NlpControllerGetSessionData, type NlpControllerGetSessionResponse, type NlpControllerProcessNaturalLanguageData, type NlpControllerProcessNaturalLanguageResponse, type NlpDefaultAccountsDto, type NlpDuplicateConfirmationDataDto, type NlpParsedDataDto, type NlpPayeeConfirmationDataDto, type NlpResponseDto, type NlpRuleConfirmationDataDto, type NlpSimilarityDto, type NlpSourceTransactionDto, type NlpSuggestedAccountDto, type NlpSuggestedAccountsDto, type NlpSuggestedPayeeDto, type NlpTargetTransactionDto, type NlpTransactionInfoDto, type OnboardingAccountDto, type OnboardingControllerBootstrapData, type OnboardingControllerBootstrapResponse, type OnboardingDto, OpenAPI, type OpenAPIConfig, type OpeningBalanceResultDto, type PadReconciliationDto, type PadResultDto, type ParserTelemetryReportDto, type PayeeAutocompleteResponseDto, type PayeeControllerAutocompleteData, type PayeeControllerAutocompleteResponse, type PayeeControllerCreateData, type PayeeControllerCreateResponse, type PayeeControllerDeleteData, type PayeeControllerDeleteResponse, type PayeeControllerFindAllData, type PayeeControllerFindAllResponse, type PayeeControllerFindOneData, type PayeeControllerFindOneResponse, type PayeeControllerGetTopPayeesData, type PayeeControllerGetTopPayeesResponse, type PayeeControllerUpdateData, type PayeeControllerUpdateResponse, type PayeeListResponseDto, type PayeeProfileAdminControllerCreateData, type PayeeProfileAdminControllerCreateResponse, type PayeeProfileAdminControllerDeleteData, type PayeeProfileAdminControllerDeleteResponse, type PayeeProfileAdminControllerFindAllData, type PayeeProfileAdminControllerFindAllResponse, type PayeeProfileAdminControllerFindOneData, type PayeeProfileAdminControllerFindOneResponse, type PayeeProfileAdminControllerUnverifyData, type PayeeProfileAdminControllerUnverifyResponse, type PayeeProfileAdminControllerUpdateData, type PayeeProfileAdminControllerUpdateResponse, type PayeeProfileAdminControllerVerifyData, type PayeeProfileAdminControllerVerifyResponse, type PayeeProfileListResponseDto, type PayeeProfileResponseDto, type PayeeResponseDto, type PayeeStatsResponseDto, type PlatformControllerCreateData, type PlatformControllerCreateResponse, type PlatformControllerDeleteData, type PlatformControllerDeleteResponse, type PlatformControllerFindAllResponse, type 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 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 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 };
10014
+ 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 };