@firela/api-types 0.0.0-canary.da8dfd93 → 0.0.0-canary.e6edf4ac

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
@@ -127,9 +127,7 @@ type AccountResponseDto = {
127
127
  /**
128
128
  * Platform ID (null if unbound)
129
129
  */
130
- platformId?: {
131
- [key: string]: unknown;
132
- };
130
+ platformId?: string;
133
131
  /**
134
132
  * Platform details (populated if platformId is set)
135
133
  */
@@ -239,15 +237,27 @@ type AccountStandardResponseDto = {
239
237
  */
240
238
  type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
241
239
  /**
242
- * Short localized display name
240
+ * Short display name. Universal rows project to the request locale (Accept-Language); regional rows keep the authored native name — mixed-language by design (ADR-0131 class P vs class A).
243
241
  */
244
242
  name?: string;
245
243
  /**
246
- * Account description (stable semantics only)
244
+ * Authored market-language alternative names delivered verbatim (not localized copy, not xlf-managed, not locale-projected). Flat string[] per ADR-0129 D1; ADR-0131 class A.
245
+ */
246
+ aliases?: Array<string>;
247
+ /**
248
+ * Locale-projected search synonyms (e.g. the zh bank-card / debit-card everyday terms for the checking account). Pure-locale projection — absent when the locale has no seeded synonyms; English fallback rides the authored aliases field. Search-only vocabulary, not the NLP routing corpus (#698, ADR-0131 fourth-class adjudication).
249
+ */
250
+ searchTerms?: Array<string>;
251
+ /**
252
+ * Product denomination as a 3-letter ISO 4217 code, authored market data delivered verbatim (not localized, not xlf-managed). ADR-0131 class A. Absent = single-currency not asserted — consumers fall back to their own region currency (#714).
253
+ */
254
+ currency?: string;
255
+ /**
256
+ * Account description (stable semantics only). Mixed-language contract: universal rows project to the request locale via the accountDesc xlf axis with an en fallback (ADR-0131 class P, ADR-0132; unseeded locales falling back to English are expected); regional rows deliver the authored market language (ADR-0131 class A, verbatim, never xlf-managed).
247
257
  */
248
258
  description: string;
249
259
  /**
250
- * Account tags for categorization
260
+ * Account tags for categorization — structured metadata delivered verbatim (not localized, not xlf-managed). ADR-0131 class A.
251
261
  */
252
262
  tags: Array<string>;
253
263
  /**
@@ -457,7 +467,7 @@ type PostingResponseDto = {
457
467
  */
458
468
  account: string;
459
469
  /**
460
- * Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
470
+ * 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
471
  */
462
472
  units?: string;
463
473
  /**
@@ -669,7 +679,7 @@ type PostingDetailDto = {
669
679
  */
670
680
  account: string;
671
681
  /**
672
- * Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
682
+ * 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
683
  */
674
684
  units?: string;
675
685
  /**
@@ -799,6 +809,94 @@ type flag2 = 'CLEARED' | 'PENDING' | 'PADDING' | 'SUMMARIZE' | 'TRANSFER' | 'CON
799
809
  * Transaction status
800
810
  */
801
811
  type status2 = 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
812
+ type TransactionListItemDto = {
813
+ /**
814
+ * Transaction ID
815
+ */
816
+ id: string;
817
+ /**
818
+ * Transaction date
819
+ */
820
+ date: string;
821
+ /**
822
+ * Transaction flag
823
+ */
824
+ flag?: 'CLEARED' | 'PENDING' | 'PADDING' | 'SUMMARIZE' | 'TRANSFER' | 'CONVERSIONS';
825
+ /**
826
+ * Custom flag (if not using standard flags)
827
+ */
828
+ customFlag?: string;
829
+ /**
830
+ * Payee name
831
+ */
832
+ payee?: string;
833
+ /**
834
+ * Transaction narration
835
+ */
836
+ narration: string;
837
+ /**
838
+ * Transaction tags
839
+ */
840
+ tags: Array<string>;
841
+ /**
842
+ * Transaction links
843
+ */
844
+ links: Array<string>;
845
+ /**
846
+ * Transaction metadata
847
+ */
848
+ meta?: {
849
+ [key: string]: unknown;
850
+ };
851
+ /**
852
+ * Transaction status
853
+ */
854
+ status: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
855
+ /**
856
+ * Source type (free-form string from transaction metadata, e.g. import, api)
857
+ */
858
+ sourceType?: string;
859
+ /**
860
+ * Source platform (e.g., alipay, wechat)
861
+ */
862
+ sourcePlatform?: string;
863
+ /**
864
+ * Transaction postings
865
+ */
866
+ postings: Array<PostingDetailDto>;
867
+ /**
868
+ * Created at timestamp
869
+ */
870
+ createdAt: string;
871
+ /**
872
+ * Voided at timestamp (if voided)
873
+ */
874
+ voidedAt?: string;
875
+ /**
876
+ * User ID who voided this transaction
877
+ */
878
+ voidedBy?: string;
879
+ /**
880
+ * Correction reason (if voided or superseded)
881
+ */
882
+ correctionReason?: string;
883
+ /**
884
+ * ID of the transaction that supersedes this one (set when status=SUPERSEDED)
885
+ */
886
+ supersededBy?: string;
887
+ /**
888
+ * ID of the transaction this one corrected/replaced (back-link on the replacement)
889
+ */
890
+ originalTxn?: string;
891
+ /**
892
+ * 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.
893
+ */
894
+ viewpointAmount?: string;
895
+ /**
896
+ * Currency of viewpointAmount. A row spanning multiple currencies takes the largest-magnitude currency group (known simplification, ADR-0126).
897
+ */
898
+ viewpointCurrency?: string;
899
+ };
802
900
  type BalanceByCurrencyDto = {
803
901
  /**
804
902
  * ISO 4217 currency code
@@ -825,7 +923,7 @@ type ExchangeRateWarningDto = {
825
923
  };
826
924
  type TransactionListSummaryDto = {
827
925
  /**
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.
926
+ * 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
927
  */
830
928
  totalAmount: string;
831
929
  /**
@@ -841,11 +939,29 @@ type TransactionListSummaryDto = {
841
939
  */
842
940
  warnings?: Array<ExchangeRateWarningDto>;
843
941
  };
942
+ type TransactionListViewpointDto = {
943
+ /**
944
+ * Viewpoint type (only category drill-down carries a viewpoint today)
945
+ */
946
+ type: 'category';
947
+ /**
948
+ * Flow root the category account set is restricted to
949
+ */
950
+ flow: 'income' | 'expense';
951
+ };
952
+ /**
953
+ * Viewpoint type (only category drill-down carries a viewpoint today)
954
+ */
955
+ type type2 = 'category';
956
+ /**
957
+ * Flow root the category account set is restricted to
958
+ */
959
+ type flow = 'income' | 'expense';
844
960
  type TransactionListResponseDto = {
845
961
  /**
846
962
  * List of transactions
847
963
  */
848
- data: Array<TransactionDetailDto>;
964
+ data: Array<TransactionListItemDto>;
849
965
  /**
850
966
  * Total count of matching transactions
851
967
  */
@@ -862,6 +978,10 @@ type TransactionListResponseDto = {
862
978
  * 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
979
  */
864
980
  summary?: TransactionListSummaryDto;
981
+ /**
982
+ * 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).
983
+ */
984
+ viewpoint?: TransactionListViewpointDto;
865
985
  };
866
986
  type TagSuggestionDto = {
867
987
  /**
@@ -1054,7 +1174,7 @@ type ReviewSummaryDto = {
1054
1174
  /**
1055
1175
  * Review type
1056
1176
  */
1057
- type type2 = 'DUPLICATE' | 'RULE_MATCH' | 'PAYEE_MATCH' | 'ACCOUNT_VALIDATION' | 'PIPELINE_ERROR';
1177
+ type type3 = 'DUPLICATE' | 'RULE_MATCH' | 'PAYEE_MATCH' | 'ACCOUNT_VALIDATION' | 'PIPELINE_ERROR';
1058
1178
  /**
1059
1179
  * Review status
1060
1180
  */
@@ -1418,7 +1538,7 @@ type UpdatePayeeDto = {
1418
1538
  */
1419
1539
  customTags?: Array<string>;
1420
1540
  /**
1421
- * Metadata for extended information (location, notes, contact info, etc.). Will merge with existing metadata.
1541
+ * Metadata for extended information (location, notes, contact info, etc.)
1422
1542
  */
1423
1543
  meta?: {
1424
1544
  [key: string]: unknown;
@@ -1708,451 +1828,423 @@ type UpdateCommodityDto = {
1708
1828
  [key: string]: unknown;
1709
1829
  };
1710
1830
  };
1711
- type CreateBeanPriceDto = {
1831
+ type CurrencyBalanceDto = {
1712
1832
  /**
1713
- * Currency being priced (e.g., USD, AAPL, BTC)
1833
+ * ISO 4217 currency code
1714
1834
  */
1715
1835
  currency: string;
1716
1836
  /**
1717
- * Quote currency (pricing currency, e.g., CNY, EUR)
1837
+ * Balance amount
1718
1838
  */
1719
- quoteCurrency: string;
1839
+ balance: string;
1840
+ };
1841
+ type TimeSeriesPointDto = {
1720
1842
  /**
1721
- * Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
1843
+ * Date in YYYY-MM-DD format
1722
1844
  */
1723
- amount: number;
1845
+ date: string;
1724
1846
  /**
1725
- * Price date (ISO 8601 format)
1847
+ * Value at this date (in base currency)
1726
1848
  */
1727
- date: string;
1849
+ value: string;
1728
1850
  /**
1729
- * Metadata (validated by Zod schema, max field lengths enforced)
1851
+ * Change from previous point
1730
1852
  */
1731
- metadata?: {
1732
- [key: string]: unknown;
1733
- };
1734
- };
1735
- type PriceResponseDto = {
1853
+ change?: string;
1736
1854
  /**
1737
- * Unique identifier
1855
+ * Total assets at this date (in base currency)
1738
1856
  */
1739
- id: string;
1857
+ assets?: string;
1740
1858
  /**
1741
- * User ID (owner of the price)
1859
+ * Total liabilities at this date (in base currency)
1742
1860
  */
1743
- userId: string;
1861
+ liabilities?: string;
1744
1862
  /**
1745
- * Currency being priced (e.g., USD, AAPL, BTC)
1863
+ * Multi-currency breakdown for this point
1746
1864
  */
1747
- currency: string;
1865
+ byCurrency?: Array<CurrencyBalanceDto>;
1866
+ };
1867
+ type TrendSummaryDto = {
1748
1868
  /**
1749
- * Quote currency (pricing currency, e.g., USD, CNY)
1869
+ * Value at start of period
1750
1870
  */
1751
- quoteCurrency: string;
1871
+ startValue: string;
1752
1872
  /**
1753
- * Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
1873
+ * Value at end of period
1754
1874
  */
1755
- amount: number;
1875
+ endValue: string;
1756
1876
  /**
1757
- * Price date (ISO 8601 format). Represents the date this price was valid.
1877
+ * Total change over period
1758
1878
  */
1759
- date: string;
1879
+ totalChange: string;
1760
1880
  /**
1761
- * Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
1881
+ * Total change percentage
1762
1882
  */
1763
- meta: {
1764
- [key: string]: unknown;
1765
- };
1883
+ totalChangePercentage: string;
1884
+ };
1885
+ type MultiCurrencyPointDto = {
1766
1886
  /**
1767
- * Creation timestamp
1887
+ * Date in YYYY-MM-DD format
1768
1888
  */
1769
- createdAt: string;
1889
+ date: string;
1770
1890
  /**
1771
- * Last update timestamp
1891
+ * Balances by currency
1772
1892
  */
1773
- updatedAt: string;
1893
+ byCurrency: Array<CurrencyBalanceDto>;
1774
1894
  };
1775
- type PriceListResponseDto = {
1895
+ type PortfolioTrendsResponseDto = {
1776
1896
  /**
1777
- * List of prices
1897
+ * Time series data points
1778
1898
  */
1779
- items: Array<PriceResponseDto>;
1899
+ series: Array<TimeSeriesPointDto>;
1780
1900
  /**
1781
- * Total number of prices
1901
+ * Period summary
1782
1902
  */
1783
- total: number;
1784
- };
1785
- type UpdateBeanPriceDto = {
1903
+ summary: TrendSummaryDto;
1786
1904
  /**
1787
- * Currency being priced
1905
+ * Period requested
1788
1906
  */
1789
- currency?: string;
1907
+ period: string;
1790
1908
  /**
1791
- * Quote currency (pricing currency)
1909
+ * Data granularity
1792
1910
  */
1793
- quoteCurrency?: string;
1911
+ granularity: string;
1794
1912
  /**
1795
- * Price amount (MUST be >= 0 per Beancount spec)
1913
+ * Base currency for converted values
1796
1914
  */
1797
- amount?: number;
1915
+ currency: string;
1798
1916
  /**
1799
- * Price date (ISO 8601 format)
1917
+ * Multi-currency time series (each point has currency breakdown)
1800
1918
  */
1801
- date?: string;
1919
+ byCurrency?: Array<MultiCurrencyPointDto>;
1802
1920
  /**
1803
- * Metadata
1921
+ * Exchange rate warnings
1804
1922
  */
1805
- metadata?: {
1806
- [key: string]: unknown;
1807
- };
1923
+ warnings?: Array<ExchangeRateWarningDto>;
1808
1924
  };
1809
- type CreateRecurringRuleDto = {
1925
+ type CashFlowPointDto = {
1810
1926
  /**
1811
- * Rule name (unique per user)
1927
+ * Month key (YYYY-MM)
1812
1928
  */
1813
- name: string;
1929
+ month: string;
1814
1930
  /**
1815
- * Icon emoji
1931
+ * Income in base currency (absolute, converted)
1816
1932
  */
1817
- icon?: string;
1933
+ income: string;
1818
1934
  /**
1819
- * Recurring frequency
1935
+ * Expense in base currency (absolute, converted)
1820
1936
  */
1821
- frequency: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
1937
+ expense: string;
1822
1938
  /**
1823
- * Expected amount (positive number)
1939
+ * netSavings = income − expense (savings positive)
1824
1940
  */
1825
- expectedAmount: number;
1941
+ netSavings: string;
1942
+ };
1943
+ type CashFlowTrendSummaryDto = {
1826
1944
  /**
1827
- * Expected day of month (1-31)
1945
+ * Total income across the period
1828
1946
  */
1829
- expectedDay?: number;
1947
+ totalIncome: string;
1830
1948
  /**
1831
- * Custom interval in days (required for CUSTOM frequency)
1949
+ * Total expense across the period
1832
1950
  */
1833
- customIntervalDays?: number;
1951
+ totalExpense: string;
1834
1952
  /**
1835
- * Currency code
1953
+ * income − expense across the period
1836
1954
  */
1837
- currency: string;
1955
+ totalNetSavings: string;
1838
1956
  /**
1839
- * Payee matching pattern (supports wildcards)
1957
+ * totalNetSavings divided by the window length (N months, incl. zero-filled)
1840
1958
  */
1841
- matchPayeePattern?: string;
1959
+ averageMonthlyNetSavings: string;
1960
+ };
1961
+ type CashFlowTrendsResponseDto = {
1842
1962
  /**
1843
- * Amount tolerance percentage (0-1)
1963
+ * Monthly cash-flow series (fixed N-month window, zero-filled)
1844
1964
  */
1845
- matchAmountTolerance: number;
1965
+ series: Array<CashFlowPointDto>;
1846
1966
  /**
1847
- * Default expense account for auto-create
1967
+ * Period totals
1848
1968
  */
1849
- defaultExpenseAccount?: string;
1969
+ summary: CashFlowTrendSummaryDto;
1850
1970
  /**
1851
- * Default payment account for auto-create
1971
+ * Period requested
1852
1972
  */
1853
- defaultPaymentAccount?: string;
1973
+ period: string;
1854
1974
  /**
1855
- * Default payee for auto-create
1975
+ * Data granularity (v1 returns month buckets)
1856
1976
  */
1857
- defaultPayee?: string;
1977
+ granularity: string;
1858
1978
  /**
1859
- * Auto-create transaction when expected date arrives
1979
+ * Base currency for converted values
1860
1980
  */
1861
- autoCreate: boolean;
1981
+ currency: string;
1862
1982
  /**
1863
- * Rule start date (ISO format)
1983
+ * Exchange rate warnings (e.g. missing rate for a currency)
1864
1984
  */
1865
- startDate?: string;
1985
+ warnings?: Array<ExchangeRateWarningDto>;
1986
+ };
1987
+ type GenerateSnapshotBody = unknown;
1988
+ type GenerateSnapshotResponse = unknown;
1989
+ type BackfillSnapshotsBody = unknown;
1990
+ type BackfillSnapshotsResponse = unknown;
1991
+ type CreateBeanPriceDto = {
1866
1992
  /**
1867
- * Rule end date (ISO format)
1993
+ * Currency being priced (e.g., USD, AAPL, BTC)
1868
1994
  */
1869
- endDate?: string;
1870
- };
1871
- /**
1872
- * Recurring frequency
1873
- */
1874
- type frequency = 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
1875
- type RecurringRuleResponseDto = {
1995
+ currency: string;
1876
1996
  /**
1877
- * Rule ID
1997
+ * Quote currency (pricing currency, e.g., CNY, EUR)
1878
1998
  */
1879
- id: string;
1999
+ quoteCurrency: string;
1880
2000
  /**
1881
- * User ID
2001
+ * Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
1882
2002
  */
1883
- userId: string;
2003
+ amount: number;
1884
2004
  /**
1885
- * Rule name
2005
+ * Price date (ISO 8601 format)
1886
2006
  */
1887
- name: string;
2007
+ date: string;
1888
2008
  /**
1889
- * Icon emoji
2009
+ * Metadata (validated by Zod schema, max field lengths enforced)
1890
2010
  */
1891
- icon?: {
2011
+ metadata?: {
1892
2012
  [key: string]: unknown;
1893
2013
  };
2014
+ };
2015
+ type PriceResponseDto = {
1894
2016
  /**
1895
- * Recurring frequency
1896
- */
1897
- frequency: string;
1898
- /**
1899
- * Expected amount
1900
- */
1901
- expectedAmount: number;
1902
- /**
1903
- * Expected day of month
2017
+ * Unique identifier
1904
2018
  */
1905
- expectedDay?: {
1906
- [key: string]: unknown;
1907
- };
2019
+ id: string;
1908
2020
  /**
1909
- * Custom interval in days
2021
+ * User ID (owner of the price)
1910
2022
  */
1911
- customIntervalDays?: {
1912
- [key: string]: unknown;
1913
- };
2023
+ userId: string;
1914
2024
  /**
1915
- * Currency code
2025
+ * Currency being priced (e.g., USD, AAPL, BTC)
1916
2026
  */
1917
2027
  currency: string;
1918
2028
  /**
1919
- * Payee matching pattern
2029
+ * Quote currency (pricing currency, e.g., USD, CNY)
1920
2030
  */
1921
- matchPayeePattern?: {
1922
- [key: string]: unknown;
1923
- };
2031
+ quoteCurrency: string;
1924
2032
  /**
1925
- * Amount tolerance percentage
2033
+ * Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
1926
2034
  */
1927
- matchAmountTolerance: number;
2035
+ amount: number;
1928
2036
  /**
1929
- * Default expense account
2037
+ * Price date (ISO 8601 format). Represents the date this price was valid.
1930
2038
  */
1931
- defaultExpenseAccount?: {
1932
- [key: string]: unknown;
1933
- };
2039
+ date: string;
1934
2040
  /**
1935
- * Default payment account
2041
+ * Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
1936
2042
  */
1937
- defaultPaymentAccount?: {
2043
+ meta: {
1938
2044
  [key: string]: unknown;
1939
2045
  };
1940
2046
  /**
1941
- * Default payee
2047
+ * Creation timestamp
1942
2048
  */
1943
- defaultPayee?: {
1944
- [key: string]: unknown;
1945
- };
2049
+ createdAt: string;
1946
2050
  /**
1947
- * Whether rule is active
2051
+ * Last update timestamp
1948
2052
  */
1949
- isActive: boolean;
2053
+ updatedAt: string;
2054
+ };
2055
+ type PriceListResponseDto = {
1950
2056
  /**
1951
- * Rule start date (YYYY-MM-DD)
2057
+ * List of prices
1952
2058
  */
1953
- startDate: string;
2059
+ items: Array<PriceResponseDto>;
1954
2060
  /**
1955
- * Rule end date (YYYY-MM-DD)
2061
+ * Total number of prices
1956
2062
  */
1957
- endDate?: {
1958
- [key: string]: unknown;
1959
- };
2063
+ total: number;
2064
+ };
2065
+ type UpdateBeanPriceDto = {
1960
2066
  /**
1961
- * Auto-create transaction on expected date
2067
+ * Currency being priced
1962
2068
  */
1963
- autoCreate: boolean;
2069
+ currency?: string;
1964
2070
  /**
1965
- * Last matched occurrence date (YYYY-MM-DD)
2071
+ * Quote currency (pricing currency)
1966
2072
  */
1967
- lastOccurrence?: {
1968
- [key: string]: unknown;
1969
- };
2073
+ quoteCurrency?: string;
1970
2074
  /**
1971
- * Total matched transactions count
2075
+ * Price amount (MUST be >= 0 per Beancount spec)
1972
2076
  */
1973
- totalCount: number;
2077
+ amount?: number;
1974
2078
  /**
1975
- * Created at timestamp
2079
+ * Price date (ISO 8601 format)
1976
2080
  */
1977
- createdAt: string;
2081
+ date?: string;
1978
2082
  /**
1979
- * Updated at timestamp
2083
+ * Metadata
1980
2084
  */
1981
- updatedAt: string;
2085
+ metadata?: {
2086
+ [key: string]: unknown;
2087
+ };
1982
2088
  };
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;
2089
+ type DeleteOwnUserDto = {
1992
2090
  /**
1993
- * Optional icon emoji
2091
+ * Access token for user verification
1994
2092
  */
1995
- icon?: string;
2093
+ accessToken: string;
1996
2094
  };
1997
- type RecurringRuleWithStatsResponseDto = {
2095
+ type UserSettingsResponseDto = {
1998
2096
  /**
1999
- * Rule ID
2097
+ * 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
2098
  */
2001
- id: string;
2099
+ baseCurrency: string | null;
2100
+ };
2101
+ type UserResponseDto = {
2002
2102
  /**
2003
2103
  * User ID
2004
2104
  */
2005
- userId: string;
2006
- /**
2007
- * Rule name
2008
- */
2009
- name: string;
2105
+ id: string;
2010
2106
  /**
2011
- * Icon emoji
2107
+ * Assigned user role
2012
2108
  */
2013
- icon?: {
2014
- [key: string]: unknown;
2015
- };
2109
+ role: string;
2016
2110
  /**
2017
- * Recurring frequency
2111
+ * Permission strings
2018
2112
  */
2019
- frequency: string;
2113
+ permissions: Array<string>;
2020
2114
  /**
2021
- * Expected amount
2115
+ * User settings
2022
2116
  */
2023
- expectedAmount: number;
2117
+ settings: UserSettingsResponseDto;
2118
+ };
2119
+ type SignupDto = {
2024
2120
  /**
2025
- * Expected day of month
2121
+ * Cloudflare Turnstile verification token (optional when Turnstile disabled)
2026
2122
  */
2027
- expectedDay?: {
2028
- [key: string]: unknown;
2029
- };
2123
+ turnstileToken?: string;
2124
+ };
2125
+ type SignupResponseDto = {
2030
2126
  /**
2031
- * Custom interval in days
2127
+ * JWT auth token
2032
2128
  */
2033
- customIntervalDays?: {
2034
- [key: string]: unknown;
2035
- };
2129
+ authToken: string;
2036
2130
  /**
2037
- * Currency code
2131
+ * Auto-generated access token
2038
2132
  */
2039
- currency: string;
2133
+ accessToken: string;
2040
2134
  /**
2041
- * Payee matching pattern
2135
+ * Assigned user role
2042
2136
  */
2043
- matchPayeePattern?: {
2044
- [key: string]: unknown;
2045
- };
2137
+ role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2138
+ };
2139
+ /**
2140
+ * Assigned user role
2141
+ */
2142
+ type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2143
+ type UpdateUserSettingDto = {
2046
2144
  /**
2047
- * Amount tolerance percentage
2145
+ * Security ID
2048
2146
  */
2049
- matchAmountTolerance: number;
2147
+ secId?: number;
2050
2148
  /**
2051
- * Default expense account
2149
+ * Annual interest rate
2052
2150
  */
2053
- defaultExpenseAccount?: {
2054
- [key: string]: unknown;
2055
- };
2151
+ annualInterestRate?: number;
2056
2152
  /**
2057
- * Default payment account
2153
+ * Currency code
2058
2154
  */
2059
- defaultPaymentAccount?: {
2060
- [key: string]: unknown;
2061
- };
2155
+ currency?: string;
2062
2156
  /**
2063
- * Default payee
2157
+ * Base currency code
2064
2158
  */
2065
- defaultPayee?: {
2066
- [key: string]: unknown;
2067
- };
2159
+ baseCurrency?: string;
2068
2160
  /**
2069
- * Whether rule is active
2161
+ * Benchmark symbol
2070
2162
  */
2071
- isActive: boolean;
2163
+ benchmark?: string;
2072
2164
  /**
2073
- * Rule start date (YYYY-MM-DD)
2165
+ * Color scheme
2074
2166
  */
2075
- startDate: string;
2167
+ colorScheme?: 'DARK' | 'LIGHT';
2076
2168
  /**
2077
- * Rule end date (YYYY-MM-DD)
2169
+ * Date range filter
2078
2170
  */
2079
- endDate?: {
2080
- [key: string]: unknown;
2081
- };
2171
+ dateRange?: string;
2082
2172
  /**
2083
- * Auto-create transaction on expected date
2173
+ * Emergency fund amount
2084
2174
  */
2085
- autoCreate: boolean;
2175
+ emergencyFund?: number;
2086
2176
  /**
2087
- * Last matched occurrence date (YYYY-MM-DD)
2177
+ * Account filter IDs
2088
2178
  */
2089
- lastOccurrence?: {
2090
- [key: string]: unknown;
2091
- };
2179
+ 'filters.accounts'?: Array<string>;
2092
2180
  /**
2093
- * Total matched transactions count
2181
+ * Asset class filters
2094
2182
  */
2095
- totalCount: number;
2183
+ 'filters.assetClasses'?: Array<string>;
2096
2184
  /**
2097
- * Created at timestamp
2185
+ * Data source filter
2098
2186
  */
2099
- createdAt: string;
2187
+ 'filters.dataSource'?: string;
2100
2188
  /**
2101
- * Updated at timestamp
2189
+ * Symbol filter
2102
2190
  */
2103
- updatedAt: string;
2191
+ 'filters.symbol'?: string;
2104
2192
  /**
2105
- * Number of pending expected transactions
2193
+ * Tag filters
2106
2194
  */
2107
- pendingCount: number;
2195
+ 'filters.tags'?: Array<string>;
2108
2196
  /**
2109
- * Number of overdue expected transactions
2197
+ * Enable experimental features
2110
2198
  */
2111
- overdueCount: number;
2199
+ isExperimentalFeatures?: boolean;
2112
2200
  /**
2113
- * Next expected date (YYYY-MM-DD)
2201
+ * Enable restricted view mode
2114
2202
  */
2115
- nextExpectedDate?: {
2116
- [key: string]: unknown;
2117
- };
2203
+ isRestrictedView?: boolean;
2118
2204
  /**
2119
- * Total amount of all matched transactions
2205
+ * Language code
2120
2206
  */
2121
- totalAmount: number;
2207
+ language?: string;
2122
2208
  /**
2123
- * Average amount per transaction
2209
+ * Locale code
2124
2210
  */
2125
- averageAmount: number;
2211
+ locale?: string;
2126
2212
  /**
2127
- * Number of matched transactions
2213
+ * Projected total amount
2128
2214
  */
2129
- transactionCount: number;
2215
+ projectedTotalAmount?: number;
2130
2216
  /**
2131
- * First matched transaction date (YYYY-MM-DD)
2217
+ * Retirement date in ISO 8601 format
2132
2218
  */
2133
- firstDate?: {
2134
- [key: string]: unknown;
2135
- };
2219
+ retirementDate?: string;
2136
2220
  /**
2137
- * Last matched transaction date (YYYY-MM-DD)
2221
+ * Savings rate percentage
2138
2222
  */
2139
- lastDate?: {
2140
- [key: string]: unknown;
2141
- };
2223
+ savingsRate?: number;
2142
2224
  /**
2143
- * Amount variance (standard deviation squared)
2225
+ * View mode
2144
2226
  */
2145
- variance: number;
2227
+ viewMode?: 'DEFAULT' | 'ZEN';
2228
+ };
2229
+ /**
2230
+ * Color scheme
2231
+ */
2232
+ type colorScheme = 'DARK' | 'LIGHT';
2233
+ /**
2234
+ * View mode
2235
+ */
2236
+ type viewMode = 'DEFAULT' | 'ZEN';
2237
+ type UpdatePropertyDto = {
2146
2238
  /**
2147
- * Number of upcoming expected transactions
2239
+ * Property value
2148
2240
  */
2149
- upcomingCount: number;
2241
+ value: string;
2150
2242
  };
2151
- type UpdateRecurringRuleDto = {
2243
+ type CreateRecurringRuleDto = {
2152
2244
  /**
2153
- * Rule name
2245
+ * Rule name (unique per user)
2154
2246
  */
2155
- name?: string;
2247
+ name: string;
2156
2248
  /**
2157
2249
  * Icon emoji
2158
2250
  */
@@ -2160,17 +2252,17 @@ type UpdateRecurringRuleDto = {
2160
2252
  /**
2161
2253
  * Recurring frequency
2162
2254
  */
2163
- frequency?: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2255
+ frequency: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2164
2256
  /**
2165
- * Expected amount
2257
+ * Expected amount (positive number)
2166
2258
  */
2167
- expectedAmount?: number;
2259
+ expectedAmount: number;
2168
2260
  /**
2169
2261
  * Expected day of month (1-31)
2170
2262
  */
2171
2263
  expectedDay?: number;
2172
2264
  /**
2173
- * Custom interval in days
2265
+ * Custom interval in days (required for CUSTOM frequency)
2174
2266
  */
2175
2267
  customIntervalDays?: number;
2176
2268
  /**
@@ -2178,109 +2270,123 @@ type UpdateRecurringRuleDto = {
2178
2270
  */
2179
2271
  currency?: string;
2180
2272
  /**
2181
- * Payee matching pattern
2273
+ * Payee matching pattern (supports wildcards)
2182
2274
  */
2183
2275
  matchPayeePattern?: string;
2184
2276
  /**
2185
2277
  * Amount tolerance percentage (0-1)
2186
2278
  */
2187
- matchAmountTolerance?: number;
2279
+ matchAmountTolerance: number;
2188
2280
  /**
2189
- * Default expense account
2281
+ * Default expense account for auto-create
2190
2282
  */
2191
2283
  defaultExpenseAccount?: string;
2192
2284
  /**
2193
- * Default payment account
2285
+ * Default payment account for auto-create
2194
2286
  */
2195
2287
  defaultPaymentAccount?: string;
2196
2288
  /**
2197
- * Default payee
2289
+ * Default payee for auto-create
2198
2290
  */
2199
2291
  defaultPayee?: string;
2200
2292
  /**
2201
- * Auto-create transaction
2293
+ * Auto-create transaction when expected date arrives
2202
2294
  */
2203
- autoCreate?: boolean;
2295
+ autoCreate: boolean;
2204
2296
  /**
2205
- * Rule active status
2297
+ * Rule start date (ISO format)
2206
2298
  */
2207
- isActive?: boolean;
2299
+ startDate?: string;
2208
2300
  /**
2209
2301
  * Rule end date (ISO format)
2210
2302
  */
2211
2303
  endDate?: string;
2212
2304
  };
2213
- type ExpectedTransactionRuleDto = {
2305
+ /**
2306
+ * Recurring frequency
2307
+ */
2308
+ type frequency = 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2309
+ type RecurringRuleResponseDto = {
2310
+ /**
2311
+ * Rule ID
2312
+ */
2313
+ id: string;
2314
+ /**
2315
+ * User ID
2316
+ */
2317
+ userId: string;
2214
2318
  /**
2215
2319
  * Rule name
2216
2320
  */
2217
2321
  name: string;
2218
2322
  /**
2219
- * Rule icon
2323
+ * Icon emoji
2220
2324
  */
2221
- icon?: {
2222
- [key: string]: unknown;
2223
- };
2325
+ icon?: string;
2224
2326
  /**
2225
- * Rule frequency
2327
+ * Recurring frequency
2226
2328
  */
2227
2329
  frequency: string;
2330
+ /**
2331
+ * Expected amount
2332
+ */
2333
+ expectedAmount: number;
2334
+ /**
2335
+ * Expected day of month
2336
+ */
2337
+ expectedDay?: number;
2338
+ /**
2339
+ * Custom interval in days
2340
+ */
2341
+ customIntervalDays?: number;
2228
2342
  /**
2229
2343
  * Currency code
2230
2344
  */
2231
2345
  currency: string;
2232
- };
2233
- type ExpectedTransactionResponseDto = {
2234
2346
  /**
2235
- * Expected transaction ID
2347
+ * Payee matching pattern
2236
2348
  */
2237
- id: string;
2349
+ matchPayeePattern?: string;
2238
2350
  /**
2239
- * User ID
2351
+ * Amount tolerance percentage
2240
2352
  */
2241
- userId: string;
2353
+ matchAmountTolerance: number;
2242
2354
  /**
2243
- * Associated rule ID
2355
+ * Default expense account
2244
2356
  */
2245
- ruleId: string;
2357
+ defaultExpenseAccount?: string;
2246
2358
  /**
2247
- * Expected date (YYYY-MM-DD)
2359
+ * Default payment account
2248
2360
  */
2249
- expectedDate: string;
2361
+ defaultPaymentAccount?: string;
2250
2362
  /**
2251
- * Expected amount
2363
+ * Default payee
2252
2364
  */
2253
- expectedAmount: number;
2365
+ defaultPayee?: string;
2254
2366
  /**
2255
- * Status (PENDING, COMPLETED, SKIPPED)
2367
+ * Whether rule is active
2256
2368
  */
2257
- status: string;
2369
+ isActive: boolean;
2258
2370
  /**
2259
- * Matched transaction ID
2371
+ * Rule start date (YYYY-MM-DD)
2260
2372
  */
2261
- matchedTransactionId?: {
2262
- [key: string]: unknown;
2263
- };
2373
+ startDate: string;
2264
2374
  /**
2265
- * Match timestamp (ISO 8601)
2375
+ * Rule end date (YYYY-MM-DD)
2266
2376
  */
2267
- matchedAt?: {
2268
- [key: string]: unknown;
2269
- };
2377
+ endDate?: string;
2270
2378
  /**
2271
- * Match confidence score (0-1)
2379
+ * Auto-create transaction on expected date
2272
2380
  */
2273
- matchConfidence?: {
2274
- [key: string]: unknown;
2275
- };
2381
+ autoCreate: boolean;
2276
2382
  /**
2277
- * Whether this expected transaction is overdue
2383
+ * Last matched occurrence date (YYYY-MM-DD)
2278
2384
  */
2279
- isOverdue: boolean;
2385
+ lastOccurrence?: string;
2280
2386
  /**
2281
- * Rule information
2387
+ * Total matched transactions count
2282
2388
  */
2283
- rule: ExpectedTransactionRuleDto;
2389
+ totalCount: number;
2284
2390
  /**
2285
2391
  * Created at timestamp
2286
2392
  */
@@ -2290,434 +2396,396 @@ type ExpectedTransactionResponseDto = {
2290
2396
  */
2291
2397
  updatedAt: string;
2292
2398
  };
2293
- type ExpectedTransactionListResponseDto = {
2294
- items: Array<ExpectedTransactionResponseDto>;
2295
- /**
2296
- * Total count
2297
- */
2298
- total: number;
2299
- };
2300
- type ConfirmMatchDto = {
2399
+ type CreateRuleFromTransactionDto = {
2301
2400
  /**
2302
- * Transaction ID to match with
2401
+ * Recurring frequency
2303
2402
  */
2304
- transactionId: string;
2305
- };
2306
- type EnterNowDto = {
2403
+ frequency: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2307
2404
  /**
2308
- * Override expense account (uses rule default if not provided)
2405
+ * Optional name override (default: transaction payee)
2309
2406
  */
2310
- expenseAccount?: string;
2407
+ name?: string;
2311
2408
  /**
2312
- * Override payment account (uses rule default if not provided)
2409
+ * Optional icon emoji
2313
2410
  */
2314
- paymentAccount?: string;
2411
+ icon?: string;
2412
+ };
2413
+ type RecurringRuleWithStatsResponseDto = {
2315
2414
  /**
2316
- * Override amount (uses expected amount if not provided)
2415
+ * Rule ID
2317
2416
  */
2318
- amount?: number;
2417
+ id: string;
2319
2418
  /**
2320
- * Override payee (uses rule default if not provided)
2419
+ * User ID
2321
2420
  */
2322
- payee?: string;
2421
+ userId: string;
2323
2422
  /**
2324
- * Optional narration
2423
+ * Rule name
2325
2424
  */
2326
- narration?: string;
2327
- };
2328
- type ForecastItemDto = {
2425
+ name: string;
2329
2426
  /**
2330
- * Rule name
2427
+ * Icon emoji
2331
2428
  */
2332
- rule: string;
2429
+ icon?: string;
2333
2430
  /**
2334
- * Rule ID
2431
+ * Recurring frequency
2335
2432
  */
2336
- ruleId: string;
2433
+ frequency: string;
2337
2434
  /**
2338
2435
  * Expected amount
2339
2436
  */
2340
- amount: number;
2437
+ expectedAmount: number;
2341
2438
  /**
2342
- * Expected date (YYYY-MM-DD)
2439
+ * Expected day of month
2343
2440
  */
2344
- date: string;
2441
+ expectedDay?: number;
2345
2442
  /**
2346
- * Rule icon emoji
2443
+ * Custom interval in days
2347
2444
  */
2348
- icon: string | null;
2445
+ customIntervalDays?: number;
2349
2446
  /**
2350
2447
  * Currency code
2351
2448
  */
2352
2449
  currency: string;
2353
- };
2354
- type MonthlyForecastDto = {
2355
2450
  /**
2356
- * Month (YYYY-MM)
2451
+ * Payee matching pattern
2357
2452
  */
2358
- month: string;
2453
+ matchPayeePattern?: string;
2359
2454
  /**
2360
- * Total expected outflow for the month
2455
+ * Amount tolerance percentage
2361
2456
  */
2362
- expectedOutflow: number;
2457
+ matchAmountTolerance: number;
2363
2458
  /**
2364
- * Number of expected transactions
2459
+ * Default expense account
2365
2460
  */
2366
- itemCount: number;
2461
+ defaultExpenseAccount?: string;
2367
2462
  /**
2368
- * Breakdown by currency
2463
+ * Default payment account
2369
2464
  */
2370
- byCurrency: {
2371
- [key: string]: unknown;
2372
- };
2465
+ defaultPaymentAccount?: string;
2373
2466
  /**
2374
- * Individual forecast items
2467
+ * Default payee
2375
2468
  */
2376
- items: Array<ForecastItemDto>;
2377
- };
2378
- type ForecastResponseDto = {
2469
+ defaultPayee?: string;
2379
2470
  /**
2380
- * Monthly forecast data
2471
+ * Whether rule is active
2381
2472
  */
2382
- forecast: Array<MonthlyForecastDto>;
2473
+ isActive: boolean;
2383
2474
  /**
2384
- * Total expected outflow across all months
2475
+ * Rule start date (YYYY-MM-DD)
2385
2476
  */
2386
- totalOutflow: number;
2477
+ startDate: string;
2387
2478
  /**
2388
- * Total by currency across all months
2479
+ * Rule end date (YYYY-MM-DD)
2389
2480
  */
2390
- totalByCurrency: {
2391
- [key: string]: unknown;
2392
- };
2481
+ endDate?: string;
2393
2482
  /**
2394
- * Number of active recurring rules included
2483
+ * Auto-create transaction on expected date
2395
2484
  */
2396
- rulesCount: number;
2485
+ autoCreate: boolean;
2397
2486
  /**
2398
- * Forecast period start date
2487
+ * Last matched occurrence date (YYYY-MM-DD)
2399
2488
  */
2400
- periodStart: string;
2489
+ lastOccurrence?: string;
2401
2490
  /**
2402
- * Forecast period end date
2491
+ * Total matched transactions count
2403
2492
  */
2404
- periodEnd: string;
2405
- };
2406
- type CurrencyBalanceDto = {
2493
+ totalCount: number;
2407
2494
  /**
2408
- * ISO 4217 currency code
2495
+ * Created at timestamp
2409
2496
  */
2410
- currency: string;
2497
+ createdAt: string;
2411
2498
  /**
2412
- * Balance amount
2499
+ * Updated at timestamp
2413
2500
  */
2414
- balance: string;
2415
- };
2416
- type TimeSeriesPointDto = {
2501
+ updatedAt: string;
2417
2502
  /**
2418
- * Date in YYYY-MM-DD format
2503
+ * Number of pending expected transactions
2419
2504
  */
2420
- date: string;
2505
+ pendingCount: number;
2421
2506
  /**
2422
- * Value at this date (in base currency)
2507
+ * Number of overdue expected transactions
2423
2508
  */
2424
- value: string;
2509
+ overdueCount: number;
2425
2510
  /**
2426
- * Change from previous point
2511
+ * Next expected date (YYYY-MM-DD)
2427
2512
  */
2428
- change?: {
2429
- [key: string]: unknown;
2430
- };
2513
+ nextExpectedDate?: string;
2431
2514
  /**
2432
- * Total assets at this date (in base currency)
2515
+ * Total amount of all matched transactions
2433
2516
  */
2434
- assets?: string;
2517
+ totalAmount: number;
2435
2518
  /**
2436
- * Total liabilities at this date (in base currency)
2519
+ * Average amount per transaction
2437
2520
  */
2438
- liabilities?: string;
2521
+ averageAmount: number;
2439
2522
  /**
2440
- * Multi-currency breakdown for this point
2523
+ * Number of matched transactions
2441
2524
  */
2442
- byCurrency?: Array<CurrencyBalanceDto>;
2443
- };
2444
- type TrendSummaryDto = {
2525
+ transactionCount: number;
2445
2526
  /**
2446
- * Value at start of period
2527
+ * First matched transaction date (YYYY-MM-DD)
2447
2528
  */
2448
- startValue: string;
2529
+ firstDate?: string;
2449
2530
  /**
2450
- * Value at end of period
2531
+ * Last matched transaction date (YYYY-MM-DD)
2532
+ */
2533
+ lastDate?: string;
2534
+ /**
2535
+ * Amount variance (standard deviation squared)
2536
+ */
2537
+ variance: number;
2538
+ /**
2539
+ * Number of upcoming expected transactions
2451
2540
  */
2452
- endValue: string;
2541
+ upcomingCount: number;
2542
+ };
2543
+ type UpdateRecurringRuleDto = {
2453
2544
  /**
2454
- * Total change over period
2545
+ * Rule name (unique per user)
2455
2546
  */
2456
- totalChange: string;
2547
+ name?: string;
2457
2548
  /**
2458
- * Total change percentage
2549
+ * Icon emoji
2459
2550
  */
2460
- totalChangePercentage: string;
2461
- };
2462
- type MultiCurrencyPointDto = {
2551
+ icon?: string;
2463
2552
  /**
2464
- * Date in YYYY-MM-DD format
2553
+ * Recurring frequency
2465
2554
  */
2466
- date: string;
2555
+ frequency?: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
2467
2556
  /**
2468
- * Balances by currency
2557
+ * Expected amount (positive number)
2469
2558
  */
2470
- byCurrency: Array<CurrencyBalanceDto>;
2471
- };
2472
- type PortfolioTrendsResponseDto = {
2559
+ expectedAmount?: number;
2473
2560
  /**
2474
- * Time series data points
2561
+ * Expected day of month (1-31)
2475
2562
  */
2476
- series: Array<TimeSeriesPointDto>;
2563
+ expectedDay?: number;
2477
2564
  /**
2478
- * Period summary
2565
+ * Currency code
2479
2566
  */
2480
- summary: TrendSummaryDto;
2567
+ currency?: string;
2481
2568
  /**
2482
- * Period requested
2569
+ * Payee matching pattern (supports wildcards)
2483
2570
  */
2484
- period: string;
2571
+ matchPayeePattern?: string;
2485
2572
  /**
2486
- * Data granularity
2573
+ * Amount tolerance percentage (0-1)
2487
2574
  */
2488
- granularity: string;
2575
+ matchAmountTolerance?: number;
2489
2576
  /**
2490
- * Base currency for converted values
2577
+ * Default expense account for auto-create
2491
2578
  */
2492
- currency: string;
2579
+ defaultExpenseAccount?: string;
2493
2580
  /**
2494
- * Multi-currency time series (each point has currency breakdown)
2581
+ * Default payment account for auto-create
2495
2582
  */
2496
- byCurrency?: Array<MultiCurrencyPointDto>;
2583
+ defaultPaymentAccount?: string;
2497
2584
  /**
2498
- * Exchange rate warnings
2585
+ * Default payee for auto-create
2499
2586
  */
2500
- warnings?: Array<ExchangeRateWarningDto>;
2501
- };
2502
- type CashFlowPointDto = {
2587
+ defaultPayee?: string;
2503
2588
  /**
2504
- * Month key (YYYY-MM)
2589
+ * Auto-create transaction when expected date arrives
2505
2590
  */
2506
- month: string;
2591
+ autoCreate?: boolean;
2507
2592
  /**
2508
- * Income in base currency (absolute, converted)
2593
+ * Rule end date (ISO format)
2509
2594
  */
2510
- income: string;
2595
+ endDate?: string;
2511
2596
  /**
2512
- * Expense in base currency (absolute, converted)
2597
+ * Custom interval in days
2513
2598
  */
2514
- expense: string;
2599
+ customIntervalDays?: number;
2515
2600
  /**
2516
- * netSavings = income − expense (savings positive)
2601
+ * Rule active status
2517
2602
  */
2518
- netSavings: string;
2603
+ isActive?: boolean;
2519
2604
  };
2520
- type CashFlowTrendSummaryDto = {
2605
+ type ExpectedTransactionRuleDto = {
2521
2606
  /**
2522
- * Total income across the period
2607
+ * Rule name
2523
2608
  */
2524
- totalIncome: string;
2609
+ name: string;
2525
2610
  /**
2526
- * Total expense across the period
2611
+ * Rule icon
2527
2612
  */
2528
- totalExpense: string;
2613
+ icon?: string;
2529
2614
  /**
2530
- * income − expense across the period
2615
+ * Rule frequency
2531
2616
  */
2532
- totalNetSavings: string;
2617
+ frequency: string;
2533
2618
  /**
2534
- * totalNetSavings divided by the window length (N months, incl. zero-filled)
2619
+ * Currency code
2535
2620
  */
2536
- averageMonthlyNetSavings: string;
2621
+ currency: string;
2537
2622
  };
2538
- type CashFlowTrendsResponseDto = {
2623
+ type ExpectedTransactionResponseDto = {
2539
2624
  /**
2540
- * Monthly cash-flow series (fixed N-month window, zero-filled)
2625
+ * Expected transaction ID
2541
2626
  */
2542
- series: Array<CashFlowPointDto>;
2627
+ id: string;
2543
2628
  /**
2544
- * Period totals
2629
+ * User ID
2545
2630
  */
2546
- summary: CashFlowTrendSummaryDto;
2631
+ userId: string;
2547
2632
  /**
2548
- * Period requested
2633
+ * Associated rule ID
2549
2634
  */
2550
- period: string;
2635
+ ruleId: string;
2551
2636
  /**
2552
- * Data granularity (v1 returns month buckets)
2637
+ * Expected date (YYYY-MM-DD)
2553
2638
  */
2554
- granularity: string;
2639
+ expectedDate: string;
2555
2640
  /**
2556
- * Base currency for converted values
2641
+ * Expected amount
2557
2642
  */
2558
- currency: string;
2643
+ expectedAmount: number;
2559
2644
  /**
2560
- * Exchange rate warnings (e.g. missing rate for a currency)
2645
+ * Status (PENDING, COMPLETED, SKIPPED)
2561
2646
  */
2562
- warnings?: Array<ExchangeRateWarningDto>;
2563
- };
2564
- type GenerateSnapshotBody = unknown;
2565
- type GenerateSnapshotResponse = unknown;
2566
- type BackfillSnapshotsBody = unknown;
2567
- type BackfillSnapshotsResponse = unknown;
2568
- type DeleteOwnUserDto = {
2647
+ status: string;
2569
2648
  /**
2570
- * Access token for user verification
2649
+ * Matched transaction ID
2571
2650
  */
2572
- accessToken: string;
2573
- };
2574
- type UserSettingsResponseDto = {
2651
+ matchedTransactionId?: string;
2575
2652
  /**
2576
- * Base currency (ISO 4217) for net-worth/report aggregation. Independent of region (ADR-0006).
2653
+ * Match timestamp (ISO 8601)
2577
2654
  */
2578
- baseCurrency: string | null;
2579
- };
2580
- type UserResponseDto = {
2655
+ matchedAt?: string;
2581
2656
  /**
2582
- * User ID
2657
+ * Match confidence score (0-1)
2583
2658
  */
2584
- id: string;
2659
+ matchConfidence?: number;
2585
2660
  /**
2586
- * Assigned user role
2661
+ * Whether this expected transaction is overdue
2587
2662
  */
2588
- role: string;
2663
+ isOverdue: boolean;
2589
2664
  /**
2590
- * Permission strings
2665
+ * Rule information
2591
2666
  */
2592
- permissions: Array<string>;
2667
+ rule: ExpectedTransactionRuleDto;
2593
2668
  /**
2594
- * User settings
2669
+ * Created at timestamp
2595
2670
  */
2596
- settings: UserSettingsResponseDto;
2597
- };
2598
- type SignupDto = {
2671
+ createdAt: string;
2599
2672
  /**
2600
- * Cloudflare Turnstile verification token (optional when Turnstile disabled)
2673
+ * Updated at timestamp
2601
2674
  */
2602
- turnstileToken?: string;
2675
+ updatedAt: string;
2603
2676
  };
2604
- type SignupResponseDto = {
2605
- /**
2606
- * JWT auth token
2607
- */
2608
- authToken: string;
2677
+ type ExpectedTransactionListResponseDto = {
2678
+ items: Array<ExpectedTransactionResponseDto>;
2609
2679
  /**
2610
- * Auto-generated access token
2680
+ * Total count
2611
2681
  */
2612
- accessToken: string;
2682
+ total: number;
2683
+ };
2684
+ type ConfirmMatchDto = {
2613
2685
  /**
2614
- * Assigned user role
2686
+ * Transaction ID to match with
2615
2687
  */
2616
- role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2688
+ transactionId: string;
2617
2689
  };
2618
- /**
2619
- * Assigned user role
2620
- */
2621
- type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2622
- type UpdateUserSettingDto = {
2690
+ type EnterNowDto = {
2623
2691
  /**
2624
- * Security ID
2692
+ * Override expense account (uses rule default if not provided)
2625
2693
  */
2626
- secId?: number;
2694
+ expenseAccount?: string;
2627
2695
  /**
2628
- * Annual interest rate
2696
+ * Override payment account (uses rule default if not provided)
2629
2697
  */
2630
- annualInterestRate?: number;
2698
+ paymentAccount?: string;
2631
2699
  /**
2632
- * Currency code
2700
+ * Override amount (uses expected amount if not provided)
2633
2701
  */
2634
- currency?: string;
2702
+ amount?: number;
2635
2703
  /**
2636
- * Base currency code
2704
+ * Override payee (uses rule default if not provided)
2637
2705
  */
2638
- baseCurrency?: string;
2706
+ payee?: string;
2639
2707
  /**
2640
- * Benchmark symbol
2708
+ * Optional narration
2641
2709
  */
2642
- benchmark?: string;
2710
+ narration?: string;
2711
+ };
2712
+ type ForecastItemDto = {
2643
2713
  /**
2644
- * Color scheme
2714
+ * Rule name
2645
2715
  */
2646
- colorScheme?: 'DARK' | 'LIGHT';
2716
+ rule: string;
2647
2717
  /**
2648
- * Date range filter
2718
+ * Rule ID
2649
2719
  */
2650
- dateRange?: string;
2720
+ ruleId: string;
2651
2721
  /**
2652
- * Emergency fund amount
2722
+ * Expected amount
2653
2723
  */
2654
- emergencyFund?: number;
2724
+ amount: number;
2655
2725
  /**
2656
- * Account filter IDs
2726
+ * Expected date (YYYY-MM-DD)
2657
2727
  */
2658
- 'filters.accounts'?: Array<string>;
2728
+ date: string;
2659
2729
  /**
2660
- * Asset class filters
2730
+ * Rule icon emoji
2661
2731
  */
2662
- 'filters.assetClasses'?: Array<string>;
2732
+ icon: string | null;
2663
2733
  /**
2664
- * Data source filter
2734
+ * Currency code
2665
2735
  */
2666
- 'filters.dataSource'?: string;
2736
+ currency: string;
2737
+ };
2738
+ type MonthlyForecastDto = {
2667
2739
  /**
2668
- * Symbol filter
2740
+ * Month (YYYY-MM)
2669
2741
  */
2670
- 'filters.symbol'?: string;
2742
+ month: string;
2671
2743
  /**
2672
- * Tag filters
2744
+ * Total expected outflow for the month
2673
2745
  */
2674
- 'filters.tags'?: Array<string>;
2746
+ expectedOutflow: number;
2675
2747
  /**
2676
- * Enable experimental features
2748
+ * Number of expected transactions
2677
2749
  */
2678
- isExperimentalFeatures?: boolean;
2750
+ itemCount: number;
2679
2751
  /**
2680
- * Enable restricted view mode
2752
+ * Breakdown by currency
2681
2753
  */
2682
- isRestrictedView?: boolean;
2754
+ byCurrency: {
2755
+ [key: string]: unknown;
2756
+ };
2683
2757
  /**
2684
- * Language code
2758
+ * Individual forecast items
2685
2759
  */
2686
- language?: string;
2760
+ items: Array<ForecastItemDto>;
2761
+ };
2762
+ type ForecastResponseDto = {
2687
2763
  /**
2688
- * Locale code
2764
+ * Monthly forecast data
2689
2765
  */
2690
- locale?: string;
2766
+ forecast: Array<MonthlyForecastDto>;
2691
2767
  /**
2692
- * Projected total amount
2768
+ * Total expected outflow across all months
2693
2769
  */
2694
- projectedTotalAmount?: number;
2770
+ totalOutflow: number;
2695
2771
  /**
2696
- * Retirement date in ISO 8601 format
2772
+ * Total by currency across all months
2697
2773
  */
2698
- retirementDate?: string;
2774
+ totalByCurrency: {
2775
+ [key: string]: unknown;
2776
+ };
2699
2777
  /**
2700
- * Savings rate percentage
2778
+ * Number of active recurring rules included
2701
2779
  */
2702
- savingsRate?: number;
2780
+ rulesCount: number;
2703
2781
  /**
2704
- * View mode
2782
+ * Forecast period start date
2705
2783
  */
2706
- viewMode?: 'DEFAULT' | 'ZEN';
2707
- };
2708
- /**
2709
- * Color scheme
2710
- */
2711
- type colorScheme = 'DARK' | 'LIGHT';
2712
- /**
2713
- * View mode
2714
- */
2715
- type viewMode = 'DEFAULT' | 'ZEN';
2716
- type UpdatePropertyDto = {
2784
+ periodStart: string;
2717
2785
  /**
2718
- * Property value
2786
+ * Forecast period end date
2719
2787
  */
2720
- value: string;
2788
+ periodEnd: string;
2721
2789
  };
2722
2790
  type CreateTransactionRuleDto = {
2723
2791
  name: string;
@@ -3021,14 +3089,14 @@ type UpdateTransactionRuleDto = {
3021
3089
  */
3022
3090
  amountMax?: number;
3023
3091
  priority?: number;
3024
- /**
3025
- * Enable or disable the rule
3026
- */
3027
- enabled?: boolean;
3028
3092
  additionalTags?: Array<unknown[]>;
3029
3093
  additionalMetadata?: {
3030
3094
  [key: string]: unknown;
3031
3095
  };
3096
+ /**
3097
+ * Enable or disable the rule
3098
+ */
3099
+ enabled?: boolean;
3032
3100
  };
3033
3101
  type TestRuleDto = {
3034
3102
  narration: string;
@@ -3772,10 +3840,26 @@ type ProcessNlpDto = {
3772
3840
  */
3773
3841
  selectedRuleId?: string;
3774
3842
  /**
3775
- * 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.
3843
+ * 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.
3776
3844
  */
3777
3845
  selectedAccount?: string;
3846
+ /**
3847
+ * 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.
3848
+ */
3849
+ viewpointAccount?: string;
3850
+ /**
3851
+ * 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.
3852
+ */
3853
+ viewpointCategory?: string;
3854
+ /**
3855
+ * 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.
3856
+ */
3857
+ viewpointFlow?: 'income' | 'expense';
3778
3858
  };
3859
+ /**
3860
+ * 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.
3861
+ */
3862
+ type viewpointFlow = 'income' | 'expense';
3779
3863
  type NlpTransactionInfoDto = {
3780
3864
  /**
3781
3865
  * Transaction ID
@@ -3994,6 +4078,16 @@ type NlpRuleConfirmationDataDto = {
3994
4078
  */
3995
4079
  reasons: Array<string>;
3996
4080
  };
4081
+ type NlpAccountCandidateDto = {
4082
+ /**
4083
+ * Canonical beancount account path (echo back on selection)
4084
+ */
4085
+ path: string;
4086
+ /**
4087
+ * Localized display name (ADR-0114 read-time projection, user locale)
4088
+ */
4089
+ name: string;
4090
+ };
3997
4091
  type NlpAccountConfirmationDataDto = {
3998
4092
  /**
3999
4093
  * The invalid account name
@@ -4004,9 +4098,9 @@ type NlpAccountConfirmationDataDto = {
4004
4098
  */
4005
4099
  suggestedAccount?: string;
4006
4100
  /**
4007
- * Similar accounts for user selection
4101
+ * Similar accounts for user selection (path + localized name, #680)
4008
4102
  */
4009
- similarAccounts: Array<string>;
4103
+ similarAccounts: Array<NlpAccountCandidateDto>;
4010
4104
  /**
4011
4105
  * Error message explaining the issue
4012
4106
  */
@@ -4172,7 +4266,7 @@ type NlpResponseDto = {
4172
4266
  /**
4173
4267
  * Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
4174
4268
  */
4175
- assetSubType?: 'transfer' | 'banking' | 'investment';
4269
+ assetSubType?: 'transfer' | 'banking' | 'investment' | 'lend' | 'lend_collect';
4176
4270
  /**
4177
4271
  * Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
4178
4272
  */
@@ -4276,7 +4370,7 @@ type intent = 'expense' | 'asset' | 'income' | 'liability' | 'equity';
4276
4370
  /**
4277
4371
  * Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
4278
4372
  */
4279
- type assetSubType = 'transfer' | 'banking' | 'investment';
4373
+ type assetSubType = 'transfer' | 'banking' | 'investment' | 'lend' | 'lend_collect';
4280
4374
  /**
4281
4375
  * Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
4282
4376
  */
@@ -4330,7 +4424,7 @@ type PlatformListItemDto = {
4330
4424
  /**
4331
4425
  * Platform type
4332
4426
  */
4333
- type type3 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4427
+ type type4 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4334
4428
  type PlatformMatchResultDto = {
4335
4429
  /**
4336
4430
  * Global platform ID
@@ -4395,6 +4489,46 @@ type PlatformMatchResponseDto = {
4395
4489
  * Overall match quality — top row's tier, or 'none' when no hits
4396
4490
  */
4397
4491
  type matchType2 = 'none' | 'exact' | 'prefix' | 'substring';
4492
+ type PlatformStandardsPlatformDto = {
4493
+ /**
4494
+ * Global platform ID
4495
+ */
4496
+ id: string;
4497
+ /**
4498
+ * Platform name (e.g., "ICBC")
4499
+ */
4500
+ name: string;
4501
+ /**
4502
+ * Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
4503
+ */
4504
+ canonical: string;
4505
+ /**
4506
+ * Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")
4507
+ */
4508
+ suggestedSegment: string;
4509
+ /**
4510
+ * Platform type
4511
+ */
4512
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4513
+ /**
4514
+ * Region-aware category (institution vocab, e.g. DigitalWallet/Bank) resolved against the final region. null = no region-aware suggestion; fall back to type.
4515
+ */
4516
+ category: string | null;
4517
+ };
4518
+ type PlatformStandardsResponseDto = {
4519
+ /**
4520
+ * The selected platform (institution lock source)
4521
+ */
4522
+ platform: PlatformStandardsPlatformDto;
4523
+ /**
4524
+ * 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.
4525
+ */
4526
+ region: string;
4527
+ /**
4528
+ * Candidate account-standard templates of the resolved region (groupable by productCategory client-side)
4529
+ */
4530
+ templates: Array<AccountStandardResponseDto>;
4531
+ };
4398
4532
  type CreatePlatformDto = {
4399
4533
  /**
4400
4534
  * Platform name
@@ -4571,11 +4705,11 @@ type PlatformGroupDto = {
4571
4705
  */
4572
4706
  platformName: string;
4573
4707
  /**
4574
- * Accounts within this platform
4708
+ * Accounts within this platform (Assets and Liabilities rows, #696)
4575
4709
  */
4576
4710
  accounts: Array<AccountItemDto>;
4577
4711
  /**
4578
- * FX-converted total balance in base currency
4712
+ * FX-converted total balance in base currency (nets Assets + Liabilities rows; can be negative)
4579
4713
  */
4580
4714
  totalBalance: string;
4581
4715
  /**
@@ -4587,7 +4721,7 @@ type PlatformGroupDto = {
4587
4721
  */
4588
4722
  convertedBalance?: string;
4589
4723
  /**
4590
- * Share of the grand converted total (0-100); 0 when grand total is 0
4724
+ * Share of the converted asset-side grand total (0-100); liability balances are excluded from the basis; 0 when grand total is 0 (#696)
4591
4725
  */
4592
4726
  sharePct: number;
4593
4727
  };
@@ -4611,7 +4745,7 @@ type AccountExchangeRateWarningDto = {
4611
4745
  };
4612
4746
  type AccountsSummaryDto = {
4613
4747
  /**
4614
- * Total number of accounts
4748
+ * Total number of accounts (balance sheet: Assets + Liabilities, #696)
4615
4749
  */
4616
4750
  totalAccounts: number;
4617
4751
  /**
@@ -4933,9 +5067,7 @@ type MonetaryDto = {
4933
5067
  /**
4934
5068
  * Converted to user base currency (Decimal string)
4935
5069
  */
4936
- baseCcyEquivalent?: {
4937
- [key: string]: unknown;
4938
- } | null;
5070
+ baseCcyEquivalent?: string | null;
4939
5071
  };
4940
5072
  type CurrentPriceDto = {
4941
5073
  /**
@@ -4983,15 +5115,11 @@ type HoldingPnlRowDto = {
4983
5115
  /**
4984
5116
  * Account settlement currency (ISO 4217), from cost currency
4985
5117
  */
4986
- accountCcy?: {
4987
- [key: string]: unknown;
4988
- } | null;
5118
+ accountCcy?: string | null;
4989
5119
  /**
4990
5120
  * Broker type derived from Platform.type
4991
5121
  */
4992
- brokerType?: {
4993
- [key: string]: unknown;
4994
- } | null;
5122
+ brokerType?: string | null;
4995
5123
  /**
4996
5124
  * Commodity symbol
4997
5125
  */
@@ -5001,9 +5129,7 @@ type HoldingPnlRowDto = {
5001
5129
  */
5002
5130
  chartToken: 'equity' | 'fund' | 'bond' | 'cash' | 'other';
5003
5131
  assetClass: string;
5004
- assetSubClass?: {
5005
- [key: string]: unknown;
5006
- } | null;
5132
+ assetSubClass?: string | null;
5007
5133
  /**
5008
5134
  * Net held units (Decimal string)
5009
5135
  */
@@ -5027,15 +5153,11 @@ type HoldingPnlRowDto = {
5027
5153
  /**
5028
5154
  * Unrealized P&L in base currency (Decimal string); null when any FX/price missing
5029
5155
  */
5030
- unrealizedPnlBase?: {
5031
- [key: string]: unknown;
5032
- } | null;
5156
+ unrealizedPnlBase?: string | null;
5033
5157
  /**
5034
5158
  * Unrealized P&L % (Decimal string)
5035
5159
  */
5036
- unrealizedPnlPct?: {
5037
- [key: string]: unknown;
5038
- } | null;
5160
+ unrealizedPnlPct?: string | null;
5039
5161
  /**
5040
5162
  * Historical FX rate applied to cost basis
5041
5163
  */
@@ -5047,9 +5169,7 @@ type HoldingPnlRowDto = {
5047
5169
  /**
5048
5170
  * Share of invested assets % (Decimal string); only for invested chartTokens
5049
5171
  */
5050
- pctOfInvestedAssets?: {
5051
- [key: string]: unknown;
5052
- } | null;
5172
+ pctOfInvestedAssets?: string | null;
5053
5173
  /**
5054
5174
  * Cumulative realized P&L on sold lots (asOf-date cutoff); null when the method has no applicable sells, a sell lacks a price, or any required FX rate is missing (never-mix). When a sell spans multiple currencies (cross-currency sale), amount and currency reflect the base currency; baseCcyEquivalent is always the authoritative dual-FX figure
5055
5175
  */
@@ -5064,20 +5184,14 @@ type HoldingPnlWarningDto = {
5064
5184
  * Warning type
5065
5185
  */
5066
5186
  type: 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
5067
- symbol?: {
5068
- [key: string]: unknown;
5069
- } | null;
5070
- accountId?: {
5071
- [key: string]: unknown;
5072
- } | null;
5073
- currency?: {
5074
- [key: string]: unknown;
5075
- } | null;
5187
+ symbol?: string | null;
5188
+ accountId?: string | null;
5189
+ currency?: string | null;
5076
5190
  };
5077
5191
  /**
5078
5192
  * Warning type
5079
5193
  */
5080
- type type4 = 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
5194
+ type type5 = 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
5081
5195
  type HoldingPnlResponseDto = {
5082
5196
  asOfDate: string;
5083
5197
  baseCurrency: string;
@@ -5104,131 +5218,162 @@ type AnonymousLoginResponseDto = {
5104
5218
  */
5105
5219
  authToken: string;
5106
5220
  };
5221
+ type ParserContributionMetaDto = {
5222
+ /**
5223
+ * Institution slug (lowercase kebab-case)
5224
+ */
5225
+ institution: string;
5226
+ region: 'cn' | 'us' | 'de' | 'fr' | 'gb' | 'hk' | 'jp' | 'sg' | 'au' | 'ca' | 'other';
5227
+ accountType: 'checking' | 'savings' | 'credit' | 'debit' | 'investment';
5228
+ format: 'csv' | 'xlsx' | 'pdf' | 'ofx' | 'qif';
5229
+ institutionDisplayName?: string;
5230
+ encoding?: string;
5231
+ /**
5232
+ * CSV delimiter character: ",", ";", "\t" or "|"
5233
+ */
5234
+ delimiter?: string;
5235
+ /**
5236
+ * Header row count; the client omits the field when it is 1
5237
+ */
5238
+ headerRows?: number;
5239
+ notes?: string;
5240
+ };
5241
+ type region = 'cn' | 'us' | 'de' | 'fr' | 'gb' | 'hk' | 'jp' | 'sg' | 'au' | 'ca' | 'other';
5242
+ type accountType = 'checking' | 'savings' | 'credit' | 'debit' | 'investment';
5243
+ type format = 'csv' | 'xlsx' | 'pdf' | 'ofx' | 'qif';
5244
+ type ParserContributionSamplesDto = {
5245
+ /**
5246
+ * Client-sanitized sample rows (key = column name, value = cell)
5247
+ */
5248
+ rows: Array<{
5249
+ [key: string]: unknown;
5250
+ }>;
5251
+ rawHeaders?: Array<string>;
5252
+ };
5253
+ type FieldHintDto = {
5254
+ columnName: string;
5255
+ /**
5256
+ * Date format, e.g. yyyy-MM-dd HH:mm
5257
+ */
5258
+ format?: string;
5259
+ signConvention?: 'negative-expense' | 'positive-expense' | 'separate-columns';
5260
+ creditColumn?: string;
5261
+ debitColumn?: string;
5262
+ };
5263
+ type signConvention = 'negative-expense' | 'positive-expense' | 'separate-columns';
5264
+ type ParserContributionFieldHintsDto = {
5265
+ date: FieldHintDto;
5266
+ amount: FieldHintDto;
5267
+ description?: FieldHintDto;
5268
+ balance?: FieldHintDto;
5269
+ payee?: FieldHintDto;
5270
+ reference?: FieldHintDto;
5271
+ category?: FieldHintDto;
5272
+ };
5273
+ type ExpectedTransactionDto = {
5274
+ date: string;
5275
+ amount: number;
5276
+ description: string;
5277
+ payee?: string;
5278
+ category?: string;
5279
+ };
5280
+ type ParserContributionExamplesDto = {
5281
+ expectedTransactions: Array<ExpectedTransactionDto>;
5282
+ };
5283
+ type ParserContributionRequestDto = {
5284
+ meta: ParserContributionMetaDto;
5285
+ samples: ParserContributionSamplesDto;
5286
+ fieldHints: ParserContributionFieldHintsDto;
5287
+ /**
5288
+ * Omitted entirely by the client when empty
5289
+ */
5290
+ examples?: ParserContributionExamplesDto;
5291
+ };
5292
+ type ParserContributionRelayResponseDto = {
5293
+ issueUrl: string;
5294
+ issueNumber: number;
5295
+ };
5107
5296
  type SymbolSearchResultDto = {
5108
5297
  symbol: string;
5109
- name?: {
5110
- [key: string]: unknown;
5111
- } | null;
5112
- exchange?: {
5113
- [key: string]: unknown;
5114
- } | null;
5298
+ name?: string | null;
5299
+ exchange?: string | null;
5115
5300
  /**
5116
5301
  * OpenBB asset_type (e.g. stock, etf)
5117
5302
  */
5118
- assetType?: {
5119
- [key: string]: unknown;
5120
- } | null;
5303
+ assetType?: string | null;
5121
5304
  /**
5122
5305
  * IGN asset class (region.types.ts ASSET_CLASSES)
5123
5306
  */
5124
- assetClass?: {
5125
- [key: string]: unknown;
5126
- } | null;
5307
+ assetClass?: string | null;
5127
5308
  /**
5128
5309
  * IGN asset sub-class (region.types.ts ASSET_SUB_CLASSES)
5129
5310
  */
5130
- assetSubClass?: {
5131
- [key: string]: unknown;
5132
- } | null;
5311
+ assetSubClass?: string | null;
5133
5312
  /**
5134
5313
  * Trading currency (extra_data or inferred from exchange)
5135
5314
  */
5136
- currency?: {
5137
- [key: string]: unknown;
5138
- } | null;
5315
+ currency?: string | null;
5139
5316
  };
5140
5317
  type SymbolQuoteDto = {
5141
5318
  symbol?: string;
5142
- name?: {
5143
- [key: string]: unknown;
5144
- } | null;
5145
- exchange?: {
5146
- [key: string]: unknown;
5147
- } | null;
5319
+ name?: string | null;
5320
+ exchange?: string | null;
5148
5321
  /**
5149
5322
  * OpenBB asset_type
5150
5323
  */
5151
- assetType?: {
5152
- [key: string]: unknown;
5153
- } | null;
5324
+ assetType?: string | null;
5154
5325
  /**
5155
5326
  * IGN asset class
5156
5327
  */
5157
- assetClass?: {
5158
- [key: string]: unknown;
5159
- } | null;
5328
+ assetClass?: string | null;
5160
5329
  /**
5161
5330
  * IGN asset sub-class
5162
5331
  */
5163
- assetSubClass?: {
5164
- [key: string]: unknown;
5165
- } | null;
5332
+ assetSubClass?: string | null;
5166
5333
  /**
5167
5334
  * Trading currency (extra_data or inferred from exchange)
5168
5335
  */
5169
- currency?: {
5170
- [key: string]: unknown;
5171
- } | null;
5336
+ currency?: string | null;
5172
5337
  /**
5173
5338
  * Latest price (Decimal string)
5174
5339
  */
5175
- price?: {
5176
- [key: string]: unknown;
5177
- } | null;
5340
+ price?: string | null;
5178
5341
  /**
5179
5342
  * Date the price was observed (ISO yyyy-MM-dd)
5180
5343
  */
5181
- priceDate?: {
5182
- [key: string]: unknown;
5183
- } | null;
5344
+ priceDate?: string | null;
5184
5345
  /**
5185
5346
  * Change vs previous close, in percentage points (1.7 == 1.7%). openbb stores change_percent as a normalized decimal; this exposes percentage points for frontend convenience.
5186
5347
  */
5187
- changePercent?: {
5188
- [key: string]: unknown;
5189
- } | null;
5348
+ changePercent?: number | null;
5190
5349
  /**
5191
5350
  * Previous close (Decimal string)
5192
5351
  */
5193
- prevClose?: {
5194
- [key: string]: unknown;
5195
- } | null;
5352
+ prevClose?: string | null;
5196
5353
  /**
5197
5354
  * Day open (Decimal string)
5198
5355
  */
5199
- open?: {
5200
- [key: string]: unknown;
5201
- } | null;
5356
+ open?: string | null;
5202
5357
  /**
5203
5358
  * Day high (Decimal string)
5204
5359
  */
5205
- high?: {
5206
- [key: string]: unknown;
5207
- } | null;
5360
+ high?: string | null;
5208
5361
  /**
5209
5362
  * Day low (Decimal string)
5210
5363
  */
5211
- low?: {
5212
- [key: string]: unknown;
5213
- } | null;
5364
+ low?: string | null;
5214
5365
  /**
5215
5366
  * Day volume (Decimal string)
5216
5367
  */
5217
- volume?: {
5218
- [key: string]: unknown;
5219
- } | null;
5368
+ volume?: string | null;
5220
5369
  /**
5221
5370
  * 52-week high (Decimal string)
5222
5371
  */
5223
- yearHigh?: {
5224
- [key: string]: unknown;
5225
- } | null;
5372
+ yearHigh?: string | null;
5226
5373
  /**
5227
5374
  * 52-week low (Decimal string)
5228
5375
  */
5229
- yearLow?: {
5230
- [key: string]: unknown;
5231
- } | null;
5376
+ yearLow?: string | null;
5232
5377
  };
5233
5378
  type AccountControllerCreateData = {
5234
5379
  /**
@@ -5345,7 +5490,7 @@ type AccountStandardsControllerGetTemplatesData = {
5345
5490
  */
5346
5491
  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';
5347
5492
  /**
5348
- * Search term for path or description
5493
+ * Search term for path, description, aliases, or localized display name
5349
5494
  */
5350
5495
  search?: string;
5351
5496
  /**
@@ -5389,7 +5534,7 @@ type TransactionControllerListData = {
5389
5534
  */
5390
5535
  accountId?: string;
5391
5536
  /**
5392
- * Filter by ADR-0075 functional category (Group segment); matches any posting to an Expenses/Income account whose derived Group segment equals this value
5537
+ * 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).
5393
5538
  */
5394
5539
  category?: string;
5395
5540
  /**
@@ -5400,6 +5545,10 @@ type TransactionControllerListData = {
5400
5545
  * Filter by end date (inclusive), format: YYYY-MM-DD
5401
5546
  */
5402
5547
  dateTo?: string;
5548
+ /**
5549
+ * 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.
5550
+ */
5551
+ flow?: 'income' | 'expense';
5403
5552
  /**
5404
5553
  * Number of items per page (1-100, default: 20)
5405
5554
  */
@@ -5417,9 +5566,9 @@ type TransactionControllerListData = {
5417
5566
  */
5418
5567
  search?: string;
5419
5568
  /**
5420
- * Filter by transaction status
5569
+ * 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).
5421
5570
  */
5422
- status?: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
5571
+ status?: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED' | 'ALL';
5423
5572
  };
5424
5573
  type TransactionControllerListResponse = TransactionListResponseDto;
5425
5574
  type TransactionControllerCreateBatchData = {
@@ -5736,7 +5885,7 @@ type PayeeProfileAdminControllerUnverifyData = {
5736
5885
  */
5737
5886
  id: string;
5738
5887
  };
5739
- type PayeeProfileAdminControllerUnverifyResponse = PayeeProfileResponseDto;
5888
+ type PayeeProfileAdminControllerUnverifyResponse = void;
5740
5889
  type CommodityControllerCreateData = {
5741
5890
  /**
5742
5891
  * Region code for tenant context
@@ -5812,6 +5961,55 @@ type CommodityControllerBulkCreateData = {
5812
5961
  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';
5813
5962
  };
5814
5963
  type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
5964
+ type ReportingControllerGetPortfolioTrendsData = {
5965
+ /**
5966
+ * Data granularity
5967
+ */
5968
+ granularity?: 'day' | 'week' | 'month';
5969
+ /**
5970
+ * Time period
5971
+ */
5972
+ period?: '1m' | '3m' | '6m' | '1y';
5973
+ /**
5974
+ * Region code for tenant context
5975
+ */
5976
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5977
+ };
5978
+ type ReportingControllerGetPortfolioTrendsResponse = PortfolioTrendsResponseDto;
5979
+ type ReportingControllerGetCashFlowTrendsData = {
5980
+ /**
5981
+ * Data granularity (accepted for API symmetry; v1 returns month buckets)
5982
+ */
5983
+ granularity?: 'day' | 'week' | 'month';
5984
+ /**
5985
+ * Time period
5986
+ */
5987
+ period?: '1m' | '3m' | '6m' | '1y';
5988
+ /**
5989
+ * Region code for tenant context
5990
+ */
5991
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5992
+ };
5993
+ type ReportingControllerGetCashFlowTrendsResponse = CashFlowTrendsResponseDto;
5994
+ type ReportingControllerGenerateSnapshotData = {
5995
+ /**
5996
+ * Region code for tenant context
5997
+ */
5998
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5999
+ /**
6000
+ * Optional date (defaults to today)
6001
+ */
6002
+ requestBody: GenerateSnapshotBody;
6003
+ };
6004
+ type ReportingControllerGenerateSnapshotResponse = GenerateSnapshotResponse;
6005
+ type ReportingControllerBackfillSnapshotsData = {
6006
+ /**
6007
+ * Region code for tenant context
6008
+ */
6009
+ 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';
6010
+ requestBody: BackfillSnapshotsBody;
6011
+ };
6012
+ type ReportingControllerBackfillSnapshotsResponse = BackfillSnapshotsResponse;
5815
6013
  type PriceControllerCreateData = {
5816
6014
  /**
5817
6015
  * Region code for tenant context
@@ -5886,17 +6084,82 @@ type PriceControllerDeleteData = {
5886
6084
  /**
5887
6085
  * Region code for tenant context
5888
6086
  */
5889
- 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';
6087
+ 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';
6088
+ };
6089
+ type PriceControllerDeleteResponse = void;
6090
+ type PriceControllerBulkCreateData = {
6091
+ /**
6092
+ * Region code for tenant context
6093
+ */
6094
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6095
+ requestBody: Array<string>;
6096
+ };
6097
+ type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
6098
+ type UserControllerDeleteOwnUserData = {
6099
+ requestBody: DeleteOwnUserDto;
6100
+ };
6101
+ type UserControllerDeleteOwnUserResponse = void;
6102
+ type UserControllerGetUserData = {
6103
+ acceptLanguage: string;
6104
+ };
6105
+ type UserControllerGetUserResponse = UserResponseDto;
6106
+ type UserControllerSignupUserData = {
6107
+ requestBody: SignupDto;
6108
+ };
6109
+ type UserControllerSignupUserResponse = SignupResponseDto;
6110
+ type UserControllerDeleteUserData = {
6111
+ /**
6112
+ * User ID to delete
6113
+ */
6114
+ id: string;
6115
+ };
6116
+ type UserControllerDeleteUserResponse = void;
6117
+ type UserControllerGetUserInfoData = {
6118
+ /**
6119
+ * User ID
6120
+ */
6121
+ id: string;
6122
+ };
6123
+ type UserControllerGetUserInfoResponse = unknown;
6124
+ type UserControllerUpdateUserSettingData = {
6125
+ requestBody: UpdateUserSettingDto;
6126
+ };
6127
+ type UserControllerUpdateUserSettingResponse = unknown;
6128
+ type UserControllerGetAllUserSettingsByPageData = {
6129
+ /**
6130
+ * Page number
6131
+ */
6132
+ pageNo: number;
6133
+ /**
6134
+ * Page size
6135
+ */
6136
+ pageSize: number;
6137
+ };
6138
+ type UserControllerGetAllUserSettingsByPageResponse = unknown;
6139
+ type UserControllerGetAssetLiabilitySummaryResponse = unknown;
6140
+ type PropertyControllerGetAllResponse = unknown;
6141
+ type PropertyControllerGetByKeyData = {
6142
+ /**
6143
+ * Property key
6144
+ */
6145
+ key: string;
6146
+ };
6147
+ type PropertyControllerGetByKeyResponse = unknown;
6148
+ type PropertyControllerUpdateData = {
6149
+ /**
6150
+ * Property key
6151
+ */
6152
+ key: string;
6153
+ requestBody: UpdatePropertyDto;
5890
6154
  };
5891
- type PriceControllerDeleteResponse = void;
5892
- type PriceControllerBulkCreateData = {
6155
+ type PropertyControllerUpdateResponse = unknown;
6156
+ type PropertyControllerDeleteData = {
5893
6157
  /**
5894
- * Region code for tenant context
6158
+ * Property key
5895
6159
  */
5896
- 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';
5897
- requestBody: Array<string>;
6160
+ key: string;
5898
6161
  };
5899
- type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
6162
+ type PropertyControllerDeleteResponse = void;
5900
6163
  type RecurringRuleControllerCreateData = {
5901
6164
  /**
5902
6165
  * Region code for tenant context
@@ -6043,7 +6306,7 @@ type ExpectedTransactionControllerUndoSkipData = {
6043
6306
  */
6044
6307
  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';
6045
6308
  };
6046
- type ExpectedTransactionControllerUndoSkipResponse = ExpectedTransactionResponseDto;
6309
+ type ExpectedTransactionControllerUndoSkipResponse = void;
6047
6310
  type ExpectedTransactionControllerConfirmMatchData = {
6048
6311
  /**
6049
6312
  * Expected transaction ID
@@ -6066,7 +6329,7 @@ type ExpectedTransactionControllerUnmatchData = {
6066
6329
  */
6067
6330
  region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6068
6331
  };
6069
- type ExpectedTransactionControllerUnmatchResponse = unknown;
6332
+ type ExpectedTransactionControllerUnmatchResponse = void;
6070
6333
  type ExpectedTransactionControllerEnterNowData = {
6071
6334
  /**
6072
6335
  * Expected transaction ID
@@ -6090,120 +6353,6 @@ type ForecastControllerGetForecastData = {
6090
6353
  region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6091
6354
  };
6092
6355
  type ForecastControllerGetForecastResponse = ForecastResponseDto;
6093
- type ReportingControllerGetPortfolioTrendsData = {
6094
- /**
6095
- * Data granularity
6096
- */
6097
- granularity?: 'day' | 'week' | 'month';
6098
- /**
6099
- * Time period
6100
- */
6101
- period?: '1m' | '3m' | '6m' | '1y';
6102
- /**
6103
- * Region code for tenant context
6104
- */
6105
- 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';
6106
- };
6107
- type ReportingControllerGetPortfolioTrendsResponse = PortfolioTrendsResponseDto;
6108
- type ReportingControllerGetCashFlowTrendsData = {
6109
- /**
6110
- * Data granularity (accepted for API symmetry; v1 returns month buckets)
6111
- */
6112
- granularity?: 'day' | 'week' | 'month';
6113
- /**
6114
- * Time period
6115
- */
6116
- period?: '1m' | '3m' | '6m' | '1y';
6117
- /**
6118
- * Region code for tenant context
6119
- */
6120
- 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';
6121
- };
6122
- type ReportingControllerGetCashFlowTrendsResponse = CashFlowTrendsResponseDto;
6123
- type ReportingControllerGenerateSnapshotData = {
6124
- /**
6125
- * Region code for tenant context
6126
- */
6127
- 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';
6128
- /**
6129
- * Optional date (defaults to today)
6130
- */
6131
- requestBody: GenerateSnapshotBody;
6132
- };
6133
- type ReportingControllerGenerateSnapshotResponse = GenerateSnapshotResponse;
6134
- type ReportingControllerBackfillSnapshotsData = {
6135
- /**
6136
- * Region code for tenant context
6137
- */
6138
- 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';
6139
- requestBody: BackfillSnapshotsBody;
6140
- };
6141
- type ReportingControllerBackfillSnapshotsResponse = BackfillSnapshotsResponse;
6142
- type UserControllerDeleteOwnUserData = {
6143
- requestBody: DeleteOwnUserDto;
6144
- };
6145
- type UserControllerDeleteOwnUserResponse = void;
6146
- type UserControllerGetUserData = {
6147
- acceptLanguage: string;
6148
- };
6149
- type UserControllerGetUserResponse = UserResponseDto;
6150
- type UserControllerSignupUserData = {
6151
- requestBody: SignupDto;
6152
- };
6153
- type UserControllerSignupUserResponse = SignupResponseDto;
6154
- type UserControllerDeleteUserData = {
6155
- /**
6156
- * User ID to delete
6157
- */
6158
- id: string;
6159
- };
6160
- type UserControllerDeleteUserResponse = void;
6161
- type UserControllerGetUserInfoData = {
6162
- /**
6163
- * User ID
6164
- */
6165
- id: string;
6166
- };
6167
- type UserControllerGetUserInfoResponse = unknown;
6168
- type UserControllerUpdateUserSettingData = {
6169
- requestBody: UpdateUserSettingDto;
6170
- };
6171
- type UserControllerUpdateUserSettingResponse = unknown;
6172
- type UserControllerGetAllUserSettingsByPageData = {
6173
- /**
6174
- * Page number
6175
- */
6176
- pageNo: number;
6177
- /**
6178
- * Page size
6179
- */
6180
- pageSize: number;
6181
- };
6182
- type UserControllerGetAllUserSettingsByPageResponse = unknown;
6183
- type UserControllerGetAssetLiabilitySummaryResponse = unknown;
6184
- type PropertyControllerGetAllResponse = unknown;
6185
- type PropertyControllerGetByKeyData = {
6186
- /**
6187
- * Property key
6188
- */
6189
- key: string;
6190
- };
6191
- type PropertyControllerGetByKeyResponse = unknown;
6192
- type PropertyControllerUpdateData = {
6193
- /**
6194
- * Property key
6195
- */
6196
- key: string;
6197
- requestBody: UpdatePropertyDto;
6198
- };
6199
- type PropertyControllerUpdateResponse = unknown;
6200
- type PropertyControllerDeleteData = {
6201
- /**
6202
- * Property key
6203
- */
6204
- key: string;
6205
- };
6206
- type PropertyControllerDeleteResponse = void;
6207
6356
  type TransactionRuleControllerCreateData = {
6208
6357
  /**
6209
6358
  * Region code for tenant context
@@ -6467,7 +6616,7 @@ type ReconciliationControllerHistoryData = {
6467
6616
  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';
6468
6617
  };
6469
6618
  type ReconciliationControllerHistoryResponse = Array<ReconciliationRecordDto>;
6470
- type ExportControllerExportBeancountResponse = unknown;
6619
+ type ExportControllerExportBeancountResponse = Blob | File;
6471
6620
  type FileImportControllerImportFileData = {
6472
6621
  /**
6473
6622
  * Bill file to import
@@ -6691,6 +6840,21 @@ type PlatformControllerMatchPlatformsData = {
6691
6840
  region?: string;
6692
6841
  };
6693
6842
  type PlatformControllerMatchPlatformsResponse = PlatformMatchResponseDto;
6843
+ type PlatformControllerGetPlatformStandardsData = {
6844
+ /**
6845
+ * Platform ID (from a match result)
6846
+ */
6847
+ id: string;
6848
+ /**
6849
+ * 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.
6850
+ */
6851
+ region?: string;
6852
+ /**
6853
+ * Filter templates by account type (path first segment)
6854
+ */
6855
+ type?: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
6856
+ };
6857
+ type PlatformControllerGetPlatformStandardsResponse = PlatformStandardsResponseDto;
6694
6858
  type PlatformControllerUpdateData = {
6695
6859
  /**
6696
6860
  * Platform ID
@@ -6790,6 +6954,14 @@ type AuthControllerAccessTokenLoginData = {
6790
6954
  requestBody: AnonymousLoginDto;
6791
6955
  };
6792
6956
  type AuthControllerAccessTokenLoginResponse = AnonymousLoginResponseDto;
6957
+ type ParserContributionControllerCreateData = {
6958
+ /**
6959
+ * Region code for tenant context (routing only; the institution region rides in the payload meta)
6960
+ */
6961
+ 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';
6962
+ requestBody: ParserContributionRequestDto;
6963
+ };
6964
+ type ParserContributionControllerCreateResponse = ParserContributionRelayResponseDto;
6793
6965
  type CacheControllerFlushCacheResponse = unknown;
6794
6966
  type ExchangeRateControllerGetExchangeRateData = {
6795
6967
  /**
@@ -7467,7 +7639,7 @@ type $OpenApiTs = {
7467
7639
  /**
7468
7640
  * Payee profile unverified successfully
7469
7641
  */
7470
- 200: PayeeProfileResponseDto;
7642
+ 204: void;
7471
7643
  /**
7472
7644
  * Admin access required
7473
7645
  */
@@ -7574,598 +7746,598 @@ type $OpenApiTs = {
7574
7746
  };
7575
7747
  };
7576
7748
  };
7577
- '/api/v1/{region}/bean/prices': {
7578
- post: {
7579
- req: PriceControllerCreateData;
7749
+ '/api/v1/{region}/reporting/portfolio/trends': {
7750
+ get: {
7751
+ req: ReportingControllerGetPortfolioTrendsData;
7580
7752
  res: {
7581
7753
  /**
7582
- * Price created successfully
7583
- */
7584
- 201: PriceResponseDto;
7585
- /**
7586
- * Currency or quoteCurrency commodity not found
7587
- */
7588
- 404: unknown;
7589
- /**
7590
- * Price already exists for this currency pair and date
7754
+ * Trends retrieved successfully
7591
7755
  */
7592
- 409: unknown;
7593
- };
7594
- };
7595
- get: {
7596
- req: PriceControllerFindAllData;
7597
- res: {
7756
+ 200: PortfolioTrendsResponseDto;
7598
7757
  /**
7599
- * Prices retrieved successfully
7758
+ * User not authenticated
7600
7759
  */
7601
- 200: PriceListResponseDto;
7760
+ 401: unknown;
7602
7761
  };
7603
7762
  };
7604
7763
  };
7605
- '/api/v1/{region}/bean/prices/{id}': {
7764
+ '/api/v1/{region}/reporting/cash-flow/trends': {
7606
7765
  get: {
7607
- req: PriceControllerFindOneData;
7608
- res: {
7609
- /**
7610
- * Price retrieved successfully
7611
- */
7612
- 200: PriceResponseDto;
7613
- /**
7614
- * Price not found
7615
- */
7616
- 404: unknown;
7617
- };
7618
- };
7619
- put: {
7620
- req: PriceControllerUpdateData;
7766
+ req: ReportingControllerGetCashFlowTrendsData;
7621
7767
  res: {
7622
7768
  /**
7623
- * Price updated successfully
7624
- */
7625
- 200: PriceResponseDto;
7626
- /**
7627
- * Price not found
7769
+ * Cash-flow trends retrieved successfully
7628
7770
  */
7629
- 404: unknown;
7771
+ 200: CashFlowTrendsResponseDto;
7630
7772
  /**
7631
- * Updated price conflicts with existing price
7773
+ * User not authenticated
7632
7774
  */
7633
- 409: unknown;
7775
+ 401: unknown;
7634
7776
  };
7635
7777
  };
7636
- delete: {
7637
- req: PriceControllerDeleteData;
7778
+ };
7779
+ '/api/v1/{region}/reporting/snapshots/generate': {
7780
+ post: {
7781
+ req: ReportingControllerGenerateSnapshotData;
7638
7782
  res: {
7639
7783
  /**
7640
- * Price deleted successfully
7784
+ * Snapshot generated successfully
7641
7785
  */
7642
- 204: void;
7786
+ 200: GenerateSnapshotResponse;
7643
7787
  /**
7644
- * Price not found
7788
+ * Invalid date format
7645
7789
  */
7646
- 404: unknown;
7647
- };
7648
- };
7649
- };
7650
- '/api/v1/{region}/bean/prices/bulk': {
7651
- post: {
7652
- req: PriceControllerBulkCreateData;
7653
- res: {
7790
+ 400: unknown;
7654
7791
  /**
7655
- * Prices created successfully
7792
+ * User not authenticated
7656
7793
  */
7657
- 201: Array<PriceResponseDto>;
7794
+ 401: unknown;
7658
7795
  };
7659
7796
  };
7660
7797
  };
7661
- '/api/v1/{region}/bean/recurring-rules': {
7798
+ '/api/v1/{region}/reporting/snapshots/backfill': {
7662
7799
  post: {
7663
- req: RecurringRuleControllerCreateData;
7800
+ req: ReportingControllerBackfillSnapshotsData;
7664
7801
  res: {
7665
7802
  /**
7666
- * Rule created successfully
7803
+ * Backfill completed successfully
7667
7804
  */
7668
- 201: RecurringRuleResponseDto;
7805
+ 200: BackfillSnapshotsResponse;
7669
7806
  /**
7670
- * Invalid input data (e.g., autoCreate without accounts)
7807
+ * Invalid date format or range
7671
7808
  */
7672
7809
  400: unknown;
7673
7810
  /**
7674
- * Rule with same name already exists
7811
+ * User not authenticated
7675
7812
  */
7676
- 409: unknown;
7677
- };
7678
- };
7679
- get: {
7680
- req: RecurringRuleControllerFindAllData;
7681
- res: {
7813
+ 401: unknown;
7682
7814
  /**
7683
- * Rules retrieved successfully
7815
+ * Backfill already in progress for this user
7684
7816
  */
7685
- 200: Array<RecurringRuleResponseDto>;
7817
+ 409: unknown;
7686
7818
  };
7687
7819
  };
7688
7820
  };
7689
- '/api/v1/{region}/bean/recurring-rules/from-transaction/{transactionId}': {
7821
+ '/api/v1/{region}/bean/prices': {
7690
7822
  post: {
7691
- req: RecurringRuleControllerCreateFromTransactionData;
7823
+ req: PriceControllerCreateData;
7692
7824
  res: {
7693
7825
  /**
7694
- * Rule created successfully
7826
+ * Price created successfully
7827
+ */
7828
+ 201: PriceResponseDto;
7829
+ /**
7830
+ * Currency or quoteCurrency commodity not found
7695
7831
  */
7696
- 201: RecurringRuleResponseDto;
7832
+ 404: unknown;
7697
7833
  /**
7698
- * Transaction not found
7834
+ * Price already exists for this currency pair and date
7699
7835
  */
7700
- 404: ApiProblemResponseDto;
7836
+ 409: unknown;
7837
+ };
7838
+ };
7839
+ get: {
7840
+ req: PriceControllerFindAllData;
7841
+ res: {
7701
7842
  /**
7702
- * Rule with same name already exists or transaction already linked
7843
+ * Prices retrieved successfully
7703
7844
  */
7704
- 409: ApiProblemResponseDto;
7845
+ 200: PriceListResponseDto;
7705
7846
  };
7706
7847
  };
7707
7848
  };
7708
- '/api/v1/{region}/bean/recurring-rules/{id}': {
7849
+ '/api/v1/{region}/bean/prices/{id}': {
7709
7850
  get: {
7710
- req: RecurringRuleControllerFindOneData;
7851
+ req: PriceControllerFindOneData;
7711
7852
  res: {
7712
7853
  /**
7713
- * Rule retrieved successfully
7854
+ * Price retrieved successfully
7714
7855
  */
7715
- 200: RecurringRuleResponseDto;
7856
+ 200: PriceResponseDto;
7716
7857
  /**
7717
- * Rule not found
7858
+ * Price not found
7718
7859
  */
7719
7860
  404: unknown;
7720
7861
  };
7721
7862
  };
7722
- patch: {
7723
- req: RecurringRuleControllerUpdateData;
7863
+ put: {
7864
+ req: PriceControllerUpdateData;
7724
7865
  res: {
7725
7866
  /**
7726
- * Rule updated successfully
7867
+ * Price updated successfully
7727
7868
  */
7728
- 200: RecurringRuleResponseDto;
7869
+ 200: PriceResponseDto;
7729
7870
  /**
7730
- * Invalid input data
7871
+ * Price not found
7731
7872
  */
7732
- 400: unknown;
7873
+ 404: unknown;
7733
7874
  /**
7734
- * Rule not found
7875
+ * Updated price conflicts with existing price
7735
7876
  */
7736
- 404: unknown;
7877
+ 409: unknown;
7737
7878
  };
7738
7879
  };
7739
7880
  delete: {
7740
- req: RecurringRuleControllerDeleteData;
7881
+ req: PriceControllerDeleteData;
7741
7882
  res: {
7742
7883
  /**
7743
- * Rule deleted successfully
7884
+ * Price deleted successfully
7744
7885
  */
7745
7886
  204: void;
7746
7887
  /**
7747
- * Rule not found
7888
+ * Price not found
7748
7889
  */
7749
7890
  404: unknown;
7750
7891
  };
7751
7892
  };
7752
7893
  };
7753
- '/api/v1/{region}/bean/recurring-rules/{id}/stats': {
7754
- get: {
7755
- req: RecurringRuleControllerGetWithStatsData;
7894
+ '/api/v1/{region}/bean/prices/bulk': {
7895
+ post: {
7896
+ req: PriceControllerBulkCreateData;
7756
7897
  res: {
7757
7898
  /**
7758
- * Rule with stats retrieved successfully
7759
- */
7760
- 200: RecurringRuleWithStatsResponseDto;
7761
- /**
7762
- * Rule not found
7899
+ * Prices created successfully
7763
7900
  */
7764
- 404: unknown;
7901
+ 201: Array<PriceResponseDto>;
7765
7902
  };
7766
7903
  };
7767
7904
  };
7768
- '/api/v1/{region}/bean/expected-transactions': {
7769
- get: {
7770
- req: ExpectedTransactionControllerFindAllData;
7905
+ '/api/v1/users': {
7906
+ delete: {
7907
+ req: UserControllerDeleteOwnUserData;
7771
7908
  res: {
7772
7909
  /**
7773
- * Expected transactions retrieved successfully
7910
+ * User deleted successfully
7774
7911
  */
7775
- 200: ExpectedTransactionListResponseDto;
7776
- };
7777
- };
7778
- };
7779
- '/api/v1/{region}/bean/expected-transactions/overdue': {
7780
- get: {
7781
- req: ExpectedTransactionControllerFindOverdueData;
7782
- res: {
7912
+ 204: void;
7783
7913
  /**
7784
- * Overdue transactions retrieved successfully
7914
+ * Invalid access token
7785
7915
  */
7786
- 200: ExpectedTransactionListResponseDto;
7916
+ 403: unknown;
7787
7917
  };
7788
7918
  };
7789
- };
7790
- '/api/v1/{region}/bean/expected-transactions/{id}': {
7791
7919
  get: {
7792
- req: ExpectedTransactionControllerFindOneData;
7920
+ req: UserControllerGetUserData;
7793
7921
  res: {
7794
7922
  /**
7795
- * Expected transaction retrieved successfully
7796
- */
7797
- 200: ExpectedTransactionResponseDto;
7798
- /**
7799
- * Expected transaction not found
7923
+ * User retrieved successfully
7800
7924
  */
7801
- 404: unknown;
7925
+ 200: UserResponseDto;
7802
7926
  };
7803
7927
  };
7804
- };
7805
- '/api/v1/{region}/bean/expected-transactions/{id}/skip': {
7806
7928
  post: {
7807
- req: ExpectedTransactionControllerSkipData;
7929
+ req: UserControllerSignupUserData;
7808
7930
  res: {
7809
7931
  /**
7810
- * Expected transaction skipped successfully
7932
+ * User created successfully
7811
7933
  */
7812
- 200: ExpectedTransactionResponseDto;
7934
+ 201: SignupResponseDto;
7813
7935
  /**
7814
- * Cannot skip - not in PENDING status
7936
+ * Invalid Turnstile token (when Turnstile is enabled)
7815
7937
  */
7816
7938
  400: unknown;
7817
7939
  /**
7818
- * Expected transaction not found
7940
+ * User signup is disabled
7819
7941
  */
7820
- 404: unknown;
7942
+ 403: unknown;
7821
7943
  };
7822
7944
  };
7945
+ };
7946
+ '/api/v1/users/{id}': {
7823
7947
  delete: {
7824
- req: ExpectedTransactionControllerUndoSkipData;
7948
+ req: UserControllerDeleteUserData;
7825
7949
  res: {
7826
7950
  /**
7827
- * Skip undone successfully
7828
- */
7829
- 200: ExpectedTransactionResponseDto;
7830
- /**
7831
- * Cannot undo - not in SKIPPED status
7951
+ * User deleted successfully
7832
7952
  */
7833
- 400: unknown;
7953
+ 204: void;
7834
7954
  /**
7835
- * Expected transaction not found
7955
+ * Cannot delete own account or insufficient permissions
7836
7956
  */
7837
- 404: unknown;
7957
+ 403: unknown;
7838
7958
  };
7839
7959
  };
7840
7960
  };
7841
- '/api/v1/{region}/bean/expected-transactions/{id}/match': {
7842
- post: {
7843
- req: ExpectedTransactionControllerConfirmMatchData;
7961
+ '/api/v1/users/{id}/info': {
7962
+ get: {
7963
+ req: UserControllerGetUserInfoData;
7844
7964
  res: {
7845
7965
  /**
7846
- * Match confirmed successfully
7966
+ * User info retrieved successfully
7847
7967
  */
7848
7968
  200: unknown;
7849
7969
  /**
7850
- * Cannot match - not in PENDING status
7851
- */
7852
- 400: unknown;
7853
- /**
7854
- * Expected or actual transaction not found
7855
- */
7856
- 404: unknown;
7857
- /**
7858
- * Actual transaction already matched to another rule
7970
+ * Cannot access other user info without admin permission
7859
7971
  */
7860
- 409: unknown;
7972
+ 403: unknown;
7861
7973
  };
7862
7974
  };
7863
- delete: {
7864
- req: ExpectedTransactionControllerUnmatchData;
7975
+ };
7976
+ '/api/v1/users/setting': {
7977
+ put: {
7978
+ req: UserControllerUpdateUserSettingData;
7865
7979
  res: {
7866
7980
  /**
7867
- * Match removed successfully
7981
+ * Settings updated successfully
7868
7982
  */
7869
7983
  200: unknown;
7870
7984
  /**
7871
- * Cannot unmatch - not in COMPLETED status
7872
- */
7873
- 400: unknown;
7874
- /**
7875
- * Expected transaction not found
7985
+ * Insufficient permissions
7876
7986
  */
7877
- 404: unknown;
7987
+ 403: unknown;
7878
7988
  };
7879
7989
  };
7880
7990
  };
7881
- '/api/v1/{region}/bean/expected-transactions/{id}/enter': {
7882
- post: {
7883
- req: ExpectedTransactionControllerEnterNowData;
7991
+ '/api/v1/users/settings-by-page': {
7992
+ get: {
7993
+ req: UserControllerGetAllUserSettingsByPageData;
7884
7994
  res: {
7885
7995
  /**
7886
- * Transaction created successfully
7887
- */
7888
- 201: unknown;
7889
- /**
7890
- * Cannot enter - not in PENDING status or missing accounts
7891
- */
7892
- 400: unknown;
7893
- /**
7894
- * Expected transaction or accounts not found
7996
+ * Settings list retrieved successfully
7895
7997
  */
7896
- 404: unknown;
7998
+ 200: unknown;
7897
7999
  };
7898
8000
  };
7899
8001
  };
7900
- '/api/v1/{region}/bean/recurring/forecast': {
8002
+ '/api/v1/users/asset-liability-summary': {
7901
8003
  get: {
7902
- req: ForecastControllerGetForecastData;
7903
8004
  res: {
7904
8005
  /**
7905
- * Forecast retrieved successfully
8006
+ * Summary retrieved successfully
7906
8007
  */
7907
- 200: ForecastResponseDto;
8008
+ 200: unknown;
7908
8009
  };
7909
8010
  };
7910
8011
  };
7911
- '/api/v1/{region}/reporting/portfolio/trends': {
8012
+ '/api/v1/admin/properties': {
7912
8013
  get: {
7913
- req: ReportingControllerGetPortfolioTrendsData;
7914
8014
  res: {
7915
8015
  /**
7916
- * Trends retrieved successfully
8016
+ * Properties retrieved successfully
7917
8017
  */
7918
- 200: PortfolioTrendsResponseDto;
8018
+ 200: unknown;
7919
8019
  /**
7920
- * User not authenticated
8020
+ * Unauthorized
7921
8021
  */
7922
8022
  401: unknown;
8023
+ /**
8024
+ * Forbidden - insufficient permissions
8025
+ */
8026
+ 403: unknown;
7923
8027
  };
7924
8028
  };
7925
8029
  };
7926
- '/api/v1/{region}/reporting/cash-flow/trends': {
8030
+ '/api/v1/admin/properties/{key}': {
7927
8031
  get: {
7928
- req: ReportingControllerGetCashFlowTrendsData;
8032
+ req: PropertyControllerGetByKeyData;
7929
8033
  res: {
7930
8034
  /**
7931
- * Cash-flow trends retrieved successfully
8035
+ * Property retrieved successfully
7932
8036
  */
7933
- 200: CashFlowTrendsResponseDto;
8037
+ 200: unknown;
7934
8038
  /**
7935
- * User not authenticated
8039
+ * Unauthorized
7936
8040
  */
7937
8041
  401: unknown;
8042
+ /**
8043
+ * Forbidden - insufficient permissions
8044
+ */
8045
+ 403: unknown;
8046
+ /**
8047
+ * Property not found
8048
+ */
8049
+ 404: unknown;
7938
8050
  };
7939
8051
  };
7940
- };
7941
- '/api/v1/{region}/reporting/snapshots/generate': {
7942
- post: {
7943
- req: ReportingControllerGenerateSnapshotData;
8052
+ put: {
8053
+ req: PropertyControllerUpdateData;
7944
8054
  res: {
7945
8055
  /**
7946
- * Snapshot generated successfully
8056
+ * Property updated successfully
7947
8057
  */
7948
- 200: GenerateSnapshotResponse;
8058
+ 200: unknown;
7949
8059
  /**
7950
- * Invalid date format
8060
+ * Unauthorized
7951
8061
  */
7952
- 400: unknown;
8062
+ 401: unknown;
7953
8063
  /**
7954
- * User not authenticated
8064
+ * Forbidden - insufficient permissions
8065
+ */
8066
+ 403: unknown;
8067
+ };
8068
+ };
8069
+ delete: {
8070
+ req: PropertyControllerDeleteData;
8071
+ res: {
8072
+ /**
8073
+ * Property deleted successfully
8074
+ */
8075
+ 204: void;
8076
+ /**
8077
+ * Unauthorized
7955
8078
  */
7956
8079
  401: unknown;
8080
+ /**
8081
+ * Forbidden - insufficient permissions
8082
+ */
8083
+ 403: unknown;
8084
+ /**
8085
+ * Property not found
8086
+ */
8087
+ 404: unknown;
7957
8088
  };
7958
8089
  };
7959
8090
  };
7960
- '/api/v1/{region}/reporting/snapshots/backfill': {
8091
+ '/api/v1/{region}/bean/recurring-rules': {
7961
8092
  post: {
7962
- req: ReportingControllerBackfillSnapshotsData;
8093
+ req: RecurringRuleControllerCreateData;
7963
8094
  res: {
7964
8095
  /**
7965
- * Backfill completed successfully
8096
+ * Rule created successfully
7966
8097
  */
7967
- 200: BackfillSnapshotsResponse;
8098
+ 201: RecurringRuleResponseDto;
7968
8099
  /**
7969
- * Invalid date format or range
8100
+ * Invalid input data (e.g., autoCreate without accounts)
7970
8101
  */
7971
8102
  400: unknown;
7972
8103
  /**
7973
- * User not authenticated
8104
+ * Rule with same name already exists
7974
8105
  */
7975
- 401: unknown;
8106
+ 409: unknown;
8107
+ };
8108
+ };
8109
+ get: {
8110
+ req: RecurringRuleControllerFindAllData;
8111
+ res: {
7976
8112
  /**
7977
- * Backfill already in progress for this user
8113
+ * Rules retrieved successfully
7978
8114
  */
7979
- 409: unknown;
8115
+ 200: Array<RecurringRuleResponseDto>;
7980
8116
  };
7981
8117
  };
7982
8118
  };
7983
- '/api/v1/users': {
7984
- delete: {
7985
- req: UserControllerDeleteOwnUserData;
8119
+ '/api/v1/{region}/bean/recurring-rules/from-transaction/{transactionId}': {
8120
+ post: {
8121
+ req: RecurringRuleControllerCreateFromTransactionData;
7986
8122
  res: {
7987
8123
  /**
7988
- * User deleted successfully
8124
+ * Rule created successfully
7989
8125
  */
7990
- 204: void;
8126
+ 201: RecurringRuleResponseDto;
7991
8127
  /**
7992
- * Invalid access token
8128
+ * Transaction not found
7993
8129
  */
7994
- 403: unknown;
8130
+ 404: ApiProblemResponseDto;
8131
+ /**
8132
+ * Rule with same name already exists or transaction already linked
8133
+ */
8134
+ 409: ApiProblemResponseDto;
7995
8135
  };
7996
8136
  };
8137
+ };
8138
+ '/api/v1/{region}/bean/recurring-rules/{id}': {
7997
8139
  get: {
7998
- req: UserControllerGetUserData;
8140
+ req: RecurringRuleControllerFindOneData;
7999
8141
  res: {
8000
8142
  /**
8001
- * User retrieved successfully
8143
+ * Rule retrieved successfully
8002
8144
  */
8003
- 200: UserResponseDto;
8145
+ 200: RecurringRuleResponseDto;
8146
+ /**
8147
+ * Rule not found
8148
+ */
8149
+ 404: unknown;
8004
8150
  };
8005
8151
  };
8006
- post: {
8007
- req: UserControllerSignupUserData;
8152
+ patch: {
8153
+ req: RecurringRuleControllerUpdateData;
8008
8154
  res: {
8009
8155
  /**
8010
- * User created successfully
8156
+ * Rule updated successfully
8011
8157
  */
8012
- 201: SignupResponseDto;
8158
+ 200: RecurringRuleResponseDto;
8013
8159
  /**
8014
- * Invalid Turnstile token (when Turnstile is enabled)
8160
+ * Invalid input data
8015
8161
  */
8016
8162
  400: unknown;
8017
8163
  /**
8018
- * User signup is disabled
8164
+ * Rule not found
8019
8165
  */
8020
- 403: unknown;
8166
+ 404: unknown;
8021
8167
  };
8022
8168
  };
8023
- };
8024
- '/api/v1/users/{id}': {
8025
8169
  delete: {
8026
- req: UserControllerDeleteUserData;
8170
+ req: RecurringRuleControllerDeleteData;
8027
8171
  res: {
8028
8172
  /**
8029
- * User deleted successfully
8173
+ * Rule deleted successfully
8030
8174
  */
8031
8175
  204: void;
8032
8176
  /**
8033
- * Cannot delete own account or insufficient permissions
8177
+ * Rule not found
8034
8178
  */
8035
- 403: unknown;
8179
+ 404: unknown;
8036
8180
  };
8037
8181
  };
8038
8182
  };
8039
- '/api/v1/users/{id}/info': {
8183
+ '/api/v1/{region}/bean/recurring-rules/{id}/stats': {
8040
8184
  get: {
8041
- req: UserControllerGetUserInfoData;
8185
+ req: RecurringRuleControllerGetWithStatsData;
8042
8186
  res: {
8043
8187
  /**
8044
- * User info retrieved successfully
8188
+ * Rule with stats retrieved successfully
8045
8189
  */
8046
- 200: unknown;
8190
+ 200: RecurringRuleWithStatsResponseDto;
8047
8191
  /**
8048
- * Cannot access other user info without admin permission
8192
+ * Rule not found
8049
8193
  */
8050
- 403: unknown;
8194
+ 404: unknown;
8051
8195
  };
8052
8196
  };
8053
8197
  };
8054
- '/api/v1/users/setting': {
8055
- put: {
8056
- req: UserControllerUpdateUserSettingData;
8198
+ '/api/v1/{region}/bean/expected-transactions': {
8199
+ get: {
8200
+ req: ExpectedTransactionControllerFindAllData;
8057
8201
  res: {
8058
8202
  /**
8059
- * Settings updated successfully
8060
- */
8061
- 200: unknown;
8062
- /**
8063
- * Insufficient permissions
8203
+ * Expected transactions retrieved successfully
8064
8204
  */
8065
- 403: unknown;
8205
+ 200: ExpectedTransactionListResponseDto;
8066
8206
  };
8067
8207
  };
8068
8208
  };
8069
- '/api/v1/users/settings-by-page': {
8209
+ '/api/v1/{region}/bean/expected-transactions/overdue': {
8070
8210
  get: {
8071
- req: UserControllerGetAllUserSettingsByPageData;
8211
+ req: ExpectedTransactionControllerFindOverdueData;
8072
8212
  res: {
8073
8213
  /**
8074
- * Settings list retrieved successfully
8214
+ * Overdue transactions retrieved successfully
8075
8215
  */
8076
- 200: unknown;
8216
+ 200: ExpectedTransactionListResponseDto;
8077
8217
  };
8078
8218
  };
8079
8219
  };
8080
- '/api/v1/users/asset-liability-summary': {
8220
+ '/api/v1/{region}/bean/expected-transactions/{id}': {
8081
8221
  get: {
8222
+ req: ExpectedTransactionControllerFindOneData;
8082
8223
  res: {
8083
8224
  /**
8084
- * Summary retrieved successfully
8225
+ * Expected transaction retrieved successfully
8085
8226
  */
8086
- 200: unknown;
8227
+ 200: ExpectedTransactionResponseDto;
8228
+ /**
8229
+ * Expected transaction not found
8230
+ */
8231
+ 404: unknown;
8087
8232
  };
8088
8233
  };
8089
8234
  };
8090
- '/api/v1/admin/properties': {
8091
- get: {
8235
+ '/api/v1/{region}/bean/expected-transactions/{id}/skip': {
8236
+ post: {
8237
+ req: ExpectedTransactionControllerSkipData;
8092
8238
  res: {
8093
8239
  /**
8094
- * Properties retrieved successfully
8240
+ * Expected transaction skipped successfully
8095
8241
  */
8096
- 200: unknown;
8242
+ 200: ExpectedTransactionResponseDto;
8097
8243
  /**
8098
- * Unauthorized
8244
+ * Cannot skip - not in PENDING status
8099
8245
  */
8100
- 401: unknown;
8246
+ 400: unknown;
8101
8247
  /**
8102
- * Forbidden - insufficient permissions
8248
+ * Expected transaction not found
8103
8249
  */
8104
- 403: unknown;
8250
+ 404: unknown;
8105
8251
  };
8106
8252
  };
8107
- };
8108
- '/api/v1/admin/properties/{key}': {
8109
- get: {
8110
- req: PropertyControllerGetByKeyData;
8253
+ delete: {
8254
+ req: ExpectedTransactionControllerUndoSkipData;
8111
8255
  res: {
8112
8256
  /**
8113
- * Property retrieved successfully
8114
- */
8115
- 200: unknown;
8116
- /**
8117
- * Unauthorized
8257
+ * Skip undone successfully
8118
8258
  */
8119
- 401: unknown;
8259
+ 204: void;
8120
8260
  /**
8121
- * Forbidden - insufficient permissions
8261
+ * Cannot undo - not in SKIPPED status
8122
8262
  */
8123
- 403: unknown;
8263
+ 400: unknown;
8124
8264
  /**
8125
- * Property not found
8265
+ * Expected transaction not found
8126
8266
  */
8127
8267
  404: unknown;
8128
8268
  };
8129
8269
  };
8130
- put: {
8131
- req: PropertyControllerUpdateData;
8270
+ };
8271
+ '/api/v1/{region}/bean/expected-transactions/{id}/match': {
8272
+ post: {
8273
+ req: ExpectedTransactionControllerConfirmMatchData;
8132
8274
  res: {
8133
8275
  /**
8134
- * Property updated successfully
8276
+ * Match confirmed successfully
8135
8277
  */
8136
8278
  200: unknown;
8137
8279
  /**
8138
- * Unauthorized
8280
+ * Cannot match - not in PENDING status
8139
8281
  */
8140
- 401: unknown;
8282
+ 400: unknown;
8141
8283
  /**
8142
- * Forbidden - insufficient permissions
8284
+ * Expected or actual transaction not found
8143
8285
  */
8144
- 403: unknown;
8286
+ 404: unknown;
8287
+ /**
8288
+ * Actual transaction already matched to another rule
8289
+ */
8290
+ 409: unknown;
8145
8291
  };
8146
8292
  };
8147
8293
  delete: {
8148
- req: PropertyControllerDeleteData;
8294
+ req: ExpectedTransactionControllerUnmatchData;
8149
8295
  res: {
8150
8296
  /**
8151
- * Property deleted successfully
8297
+ * Match removed successfully
8152
8298
  */
8153
8299
  204: void;
8154
8300
  /**
8155
- * Unauthorized
8301
+ * Cannot unmatch - not in COMPLETED status
8156
8302
  */
8157
- 401: unknown;
8303
+ 400: unknown;
8158
8304
  /**
8159
- * Forbidden - insufficient permissions
8305
+ * Expected transaction not found
8160
8306
  */
8161
- 403: unknown;
8307
+ 404: unknown;
8308
+ };
8309
+ };
8310
+ };
8311
+ '/api/v1/{region}/bean/expected-transactions/{id}/enter': {
8312
+ post: {
8313
+ req: ExpectedTransactionControllerEnterNowData;
8314
+ res: {
8162
8315
  /**
8163
- * Property not found
8316
+ * Transaction created successfully
8317
+ */
8318
+ 201: unknown;
8319
+ /**
8320
+ * Cannot enter - not in PENDING status or missing accounts
8321
+ */
8322
+ 400: unknown;
8323
+ /**
8324
+ * Expected transaction or accounts not found
8164
8325
  */
8165
8326
  404: unknown;
8166
8327
  };
8167
8328
  };
8168
8329
  };
8330
+ '/api/v1/{region}/bean/recurring/forecast': {
8331
+ get: {
8332
+ req: ForecastControllerGetForecastData;
8333
+ res: {
8334
+ /**
8335
+ * Forecast retrieved successfully
8336
+ */
8337
+ 200: ForecastResponseDto;
8338
+ };
8339
+ };
8340
+ };
8169
8341
  '/api/v1/{region}/bean/transaction-rules': {
8170
8342
  post: {
8171
8343
  req: TransactionRuleControllerCreateData;
@@ -8563,7 +8735,10 @@ type $OpenApiTs = {
8563
8735
  '/api/v1/{region}/bean/export/beancount': {
8564
8736
  get: {
8565
8737
  res: {
8566
- 200: unknown;
8738
+ /**
8739
+ * ZIP archive (application/zip) streamed as an attachment
8740
+ */
8741
+ 200: Blob | File;
8567
8742
  };
8568
8743
  };
8569
8744
  };
@@ -8944,6 +9119,17 @@ type $OpenApiTs = {
8944
9119
  };
8945
9120
  };
8946
9121
  };
9122
+ '/api/v1/bean/platforms/{id}/standards': {
9123
+ get: {
9124
+ req: PlatformControllerGetPlatformStandardsData;
9125
+ res: {
9126
+ /**
9127
+ * Resolved region plus the merged account-standard catalog of that region (groupable by productCategory client-side)
9128
+ */
9129
+ 200: PlatformStandardsResponseDto;
9130
+ };
9131
+ };
9132
+ };
8947
9133
  '/api/v1/bean/platforms/{id}': {
8948
9134
  put: {
8949
9135
  req: PlatformControllerUpdateData;
@@ -9088,10 +9274,48 @@ type $OpenApiTs = {
9088
9274
  };
9089
9275
  };
9090
9276
  };
9277
+ '/api/v1/{region}/community/parser-contributions': {
9278
+ post: {
9279
+ req: ParserContributionControllerCreateData;
9280
+ res: {
9281
+ /**
9282
+ * Issue created by the bot
9283
+ */
9284
+ 201: ParserContributionRelayResponseDto;
9285
+ /**
9286
+ * Unauthorized
9287
+ */
9288
+ 401: ApiProblemResponseDto;
9289
+ /**
9290
+ * Validation failed (institution slug, empty samples, row/cell size limits)
9291
+ */
9292
+ 422: ApiProblemResponseDto;
9293
+ /**
9294
+ * Rate limited (5 submissions per user per hour)
9295
+ */
9296
+ 429: ApiProblemResponseDto;
9297
+ /**
9298
+ * Relay not configured on this deployment — clients fall back to the clipboard flow
9299
+ */
9300
+ 501: ApiProblemResponseDto;
9301
+ /**
9302
+ * GitHub bot failure (upstream), safe to retry
9303
+ */
9304
+ 502: ApiProblemResponseDto;
9305
+ };
9306
+ };
9307
+ };
9091
9308
  '/api/v1/cache/flush': {
9092
9309
  post: {
9093
9310
  res: {
9094
- 201: unknown;
9311
+ /**
9312
+ * Cache flushed successfully
9313
+ */
9314
+ 200: unknown;
9315
+ /**
9316
+ * Admin access required
9317
+ */
9318
+ 403: ApiProblemResponseDto;
9095
9319
  };
9096
9320
  };
9097
9321
  };
@@ -9367,10 +9591,11 @@ declare class BeanTransactionsService {
9367
9591
  * @param data.offset Number of items to skip (default: 0)
9368
9592
  * @param data.dateFrom Filter by start date (inclusive), format: YYYY-MM-DD
9369
9593
  * @param data.dateTo Filter by end date (inclusive), format: YYYY-MM-DD
9370
- * @param data.status Filter by transaction status
9594
+ * @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).
9371
9595
  * @param data.search Search in narration and payee fields (max 200 chars)
9372
9596
  * @param data.accountId Filter by account ID (transactions with postings to this account)
9373
- * @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
9597
+ * @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).
9598
+ * @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.
9374
9599
  * @returns TransactionListResponseDto Transaction list
9375
9600
  * @throws ApiError
9376
9601
  */
@@ -9676,4 +9901,4 @@ type OpenAPIConfig = {
9676
9901
  };
9677
9902
  declare const OpenAPI: OpenAPIConfig;
9678
9903
 
9679
- 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 ExpectedTransactionListResponseDto, type ExpectedTransactionResponseDto, type ExpectedTransactionRuleDto, type ExpensesByCategoryResponseDto, type ExpensesByCategorySummaryDto, type ExportControllerExportBeancountResponse, type ExportRulesResponseDto, type ExternalAccountLinkControllerCreateData, type ExternalAccountLinkControllerCreateResponse, type ExternalAccountLinkControllerFindAllData, type ExternalAccountLinkControllerFindAllResponse, type ExternalAccountLinkControllerFindOneData, type ExternalAccountLinkControllerFindOneResponse, type ExternalAccountLinkControllerRemoveData, type ExternalAccountLinkControllerRemoveResponse, type ExternalAccountLinkListResponseDto, type ExternalAccountLinkResponseDto, type FileImportControllerIdentifyFileData, type FileImportControllerIdentifyFileResponse, type FileImportControllerImportBeancountData, type FileImportControllerImportBeancountResponse, type FileImportControllerImportFileData, type FileImportControllerImportFileResponse, type FileImportDto, type ForecastControllerGetForecastData, type ForecastControllerGetForecastResponse, type ForecastItemDto, type ForecastResponseDto, type FxRateDto, type GenerateSnapshotBody, type GenerateSnapshotResponse, type HealthControllerCheckDatabaseResponse, type HealthControllerCheckOpenBbResponse, type HealthControllerCheckRedisResponse, type HealthControllerGetCircuitBreakersHealthResponse, type HealthControllerGetHealthResponse, type HealthControllerGetMetricsResponse, type HealthControllerResetCircuitBreakerData, type HealthControllerResetCircuitBreakerResponse, HealthService, type HoldingAssetClassAccountSliceDto, type HoldingAssetClassCrossAccountResponseDto, type HoldingPnlControllerGetHoldingPnlData, type HoldingPnlControllerGetHoldingPnlResponse, type HoldingPnlResponseDto, type HoldingPnlRowDto, type HoldingPnlWarningDto, type IdentifyResultDto, type ImportErrorDto, type ImportResultDto, type ImporterConfigControllerGetConfigData, type ImporterConfigControllerGetConfigResponse, type ImporterConfigControllerResetConfigData, type ImporterConfigControllerResetConfigResponse, type ImporterConfigControllerUpdateConfigData, type ImporterConfigControllerUpdateConfigResponse, type ImporterConfigDataDto, type ImporterConfigDto, type InfoControllerGetInfoResponse, type MapperDefaultsDto, type MonetaryDto, type MonthlyForecastDto, type MultiCurrencyBalanceResponseDto, type MultiCurrencyPointDto, type NetWorthByCurrencyDto, type NetWorthResponseDto, type NlpAccountConfirmationDataDto, type NlpAlternativePayeeDto, type NlpControllerClearSessionData, type NlpControllerClearSessionResponse, type NlpControllerGetSessionData, type NlpControllerGetSessionResponse, type NlpControllerProcessNaturalLanguageData, type NlpControllerProcessNaturalLanguageResponse, type NlpDefaultAccountsDto, type NlpDuplicateConfirmationDataDto, type NlpParsedDataDto, type NlpPayeeConfirmationDataDto, type NlpResponseDto, type NlpRuleConfirmationDataDto, type NlpSimilarityDto, type NlpSourceTransactionDto, type NlpSuggestedAccountDto, type NlpSuggestedAccountsDto, type NlpSuggestedPayeeDto, type NlpTargetTransactionDto, type NlpTransactionInfoDto, type OnboardingAccountDto, type OnboardingControllerBootstrapData, type OnboardingControllerBootstrapResponse, type OnboardingDto, OpenAPI, type OpenAPIConfig, type OpeningBalanceResultDto, type PadReconciliationDto, type PadResultDto, type ParserTelemetryReportDto, type PayeeAutocompleteResponseDto, type PayeeControllerAutocompleteData, type PayeeControllerAutocompleteResponse, type PayeeControllerCreateData, type PayeeControllerCreateResponse, type PayeeControllerDeleteData, type PayeeControllerDeleteResponse, type PayeeControllerFindAllData, type PayeeControllerFindAllResponse, type PayeeControllerFindOneData, type PayeeControllerFindOneResponse, type PayeeControllerGetTopPayeesData, type PayeeControllerGetTopPayeesResponse, type PayeeControllerUpdateData, type PayeeControllerUpdateResponse, type PayeeListResponseDto, type PayeeProfileAdminControllerCreateData, type PayeeProfileAdminControllerCreateResponse, type PayeeProfileAdminControllerDeleteData, type PayeeProfileAdminControllerDeleteResponse, type PayeeProfileAdminControllerFindAllData, type PayeeProfileAdminControllerFindAllResponse, type PayeeProfileAdminControllerFindOneData, type PayeeProfileAdminControllerFindOneResponse, type PayeeProfileAdminControllerUnverifyData, type PayeeProfileAdminControllerUnverifyResponse, type PayeeProfileAdminControllerUpdateData, type PayeeProfileAdminControllerUpdateResponse, type PayeeProfileAdminControllerVerifyData, type PayeeProfileAdminControllerVerifyResponse, type PayeeProfileListResponseDto, type PayeeProfileResponseDto, type PayeeResponseDto, type PayeeStatsResponseDto, type PlatformControllerCreateData, type PlatformControllerCreateResponse, type PlatformControllerDeleteData, type PlatformControllerDeleteResponse, type PlatformControllerFindAllResponse, type PlatformControllerGetPlatformListData, type PlatformControllerGetPlatformListResponse, type PlatformControllerMatchPlatformsData, type PlatformControllerMatchPlatformsResponse, type PlatformControllerUpdateData, type PlatformControllerUpdateResponse, type PlatformGroupDto, type PlatformListItemDto, type PlatformMatchResponseDto, type PlatformMatchResultDto, type PortfolioTrendsResponseDto, type PostingDetailDto, type PostingResponseDto, type PriceControllerBulkCreateData, type PriceControllerBulkCreateResponse, type PriceControllerCreateData, type PriceControllerCreateResponse, type PriceControllerDeleteData, type PriceControllerDeleteResponse, type PriceControllerFindAllData, type PriceControllerFindAllResponse, type PriceControllerFindOneData, type PriceControllerFindOneResponse, type PriceControllerUpdateData, type PriceControllerUpdateResponse, type PriceListResponseDto, type PriceResponseDto, type ProcessNlpDto, type PropertyControllerDeleteData, type PropertyControllerDeleteResponse, type PropertyControllerGetAllResponse, type PropertyControllerGetByKeyData, type PropertyControllerGetByKeyResponse, type PropertyControllerUpdateData, type PropertyControllerUpdateResponse, type ProviderSyncConfigDto, type ProviderSyncControllerGetSupportedProvidersData, type ProviderSyncControllerGetSupportedProvidersResponse, type ProviderSyncControllerIsProviderSupportedData, type ProviderSyncControllerIsProviderSupportedResponse, type ProviderSyncControllerSyncData, type ProviderSyncControllerSyncResponse, type ProviderSyncDto, type ProviderSyncResponseDto, ProviderSyncService, type ReconciliationComputeResultDto, type ReconciliationControllerAssertData, type ReconciliationControllerAssertResponse, type ReconciliationControllerComputeData, type ReconciliationControllerComputeResponse, type ReconciliationControllerHistoryData, type ReconciliationControllerHistoryResponse, type ReconciliationControllerPadData, type ReconciliationControllerPadResponse, type ReconciliationRecordDto, type RecurringMatchInfoDto, type RecurringRuleControllerCreateData, type RecurringRuleControllerCreateFromTransactionData, type RecurringRuleControllerCreateFromTransactionResponse, type RecurringRuleControllerCreateResponse, type RecurringRuleControllerDeleteData, type RecurringRuleControllerDeleteResponse, type RecurringRuleControllerFindAllData, type RecurringRuleControllerFindAllResponse, type RecurringRuleControllerFindOneData, type RecurringRuleControllerFindOneResponse, type RecurringRuleControllerGetWithStatsData, type RecurringRuleControllerGetWithStatsResponse, type RecurringRuleControllerUpdateData, type RecurringRuleControllerUpdateResponse, type RecurringRuleResponseDto, type RecurringRuleWithStatsResponseDto, type RecurringSuggestionDto, type RegionConfigDto, type RegionInfoDto, type RegionsMetadataResponseDto, type ReopenAccountDto, type ReportingControllerBackfillSnapshotsData, type ReportingControllerBackfillSnapshotsResponse, type ReportingControllerGenerateSnapshotData, type ReportingControllerGenerateSnapshotResponse, type ReportingControllerGetCashFlowTrendsData, type ReportingControllerGetCashFlowTrendsResponse, type ReportingControllerGetPortfolioTrendsData, type ReportingControllerGetPortfolioTrendsResponse, type ResolveResultDto, type ResolveReviewDto, type ReviewControllerBatchResolveData, type ReviewControllerBatchResolveResponse, type ReviewControllerFindAllData, type ReviewControllerFindAllResponse, type ReviewControllerFindOneData, type ReviewControllerFindOneResponse, type ReviewControllerGetStatsData, type ReviewControllerGetStatsResponse, type ReviewControllerResolveData, type ReviewControllerResolveResponse, type ReviewControllerUndoData, type ReviewControllerUndoResponse, type ReviewDetailDto, type ReviewItemPreviewDto, type ReviewListResponseDto, type ReviewStatsDto, type ReviewSummaryDto, type RuleStatisticsResponseDto, type SignupDto, type SignupResponseDto, type SupportedProvidersResponseDto, type SymbolControllerGetQuoteData, type SymbolControllerGetQuoteResponse, type SymbolControllerSearchData, type SymbolControllerSearchResponse, type SymbolQuoteDto, type SymbolSearchResultDto, type TagSuggestionDto, type TagSuggestionsResponseDto, type TelemetryControllerGetCoverageMetricsData, type TelemetryControllerGetCoverageMetricsResponse, type TelemetryControllerReportCoverageMissData, type TelemetryControllerReportCoverageMissResponse, type TelemetryControllerReportTelemetryData, type TelemetryControllerReportTelemetryResponse, type TemplateMetadataDto, type TemplateMetadataResponseDto, type TestRuleDto, type TestRuleResponseDto, type TimeSeriesPointDto, type TransactionControllerCorrectData, type TransactionControllerCorrectResponse, type TransactionControllerCreateBatchData, type TransactionControllerCreateBatchResponse, type TransactionControllerCreateData, type TransactionControllerCreateResponse, type TransactionControllerDeleteData, type TransactionControllerDeleteResponse, type TransactionControllerGetDetailData, type TransactionControllerGetDetailResponse, type TransactionControllerListData, type TransactionControllerListResponse, type TransactionControllerSuggestTagsData, type TransactionControllerSuggestTagsResponse, type TransactionControllerUpdateData, type TransactionControllerUpdateResponse, type TransactionDetailDto, type TransactionListResponseDto, type TransactionListSummaryDto, type TransactionResponseDto, type TransactionRuleControllerBulkCreateData, type TransactionRuleControllerBulkCreateResponse, type TransactionRuleControllerCreateData, type TransactionRuleControllerCreateResponse, type TransactionRuleControllerDeleteData, type TransactionRuleControllerDeleteResponse, type TransactionRuleControllerExportData, type TransactionRuleControllerExportResponse, type TransactionRuleControllerGetDetailData, type TransactionRuleControllerGetDetailResponse, type TransactionRuleControllerGetStatisticsData, type TransactionRuleControllerGetStatisticsResponse, type TransactionRuleControllerListData, type TransactionRuleControllerListResponse, type TransactionRuleControllerTestData, type TransactionRuleControllerTestResponse, type TransactionRuleControllerUpdateData, type TransactionRuleControllerUpdateResponse, type TransactionRuleControllerValidateData, type TransactionRuleControllerValidateResponse, type TransactionRuleListResponseDto, type TransactionRuleResponseDto, type TransactionSummaryDto, type TrendSummaryDto, type UncoveredFormatMissDto, type UndoResultDto, type UpdateAccountDto, type UpdateBeanEventDto, type UpdateBeanPriceDto, type UpdateCommodityDto, type UpdateConfigDataDto, type UpdateImporterConfigDto, type UpdateMapperDefaultsDto, type UpdatePayeeDto, type UpdatePayeeProfileDto, type UpdatePlatformDto, type UpdatePropertyDto, type UpdateRecurringRuleDto, type UpdateTransactionDto, type UpdateTransactionRuleDto, type UpdateUserSettingDto, type UserControllerDeleteOwnUserData, type UserControllerDeleteOwnUserResponse, type UserControllerDeleteUserData, type UserControllerDeleteUserResponse, type UserControllerGetAllUserSettingsByPageData, type UserControllerGetAllUserSettingsByPageResponse, type UserControllerGetAssetLiabilitySummaryResponse, type UserControllerGetUserData, type UserControllerGetUserInfoData, type UserControllerGetUserInfoResponse, type UserControllerGetUserResponse, type UserControllerSignupUserData, type UserControllerSignupUserResponse, type UserControllerUpdateUserSettingData, type UserControllerUpdateUserSettingResponse, type UserResponseDto, type UserSettingsResponseDto, type ValidateRuleDto, type ValidateRuleResponseDto, type VersionedConfigDto, type action, type action2, type assetClass, type assetSubClass, type assetSubType, type bookingMethod, type branchType, type category, type chartToken, type colorScheme, type confidenceLevel, type conflictStrategy, type dataSource, type equitySubType, type flag, type flag2, type frequency, type importerId, type intent, type investmentAction, type learningSource, type liabilitySubType, type matchLogic, type matchType, type matchType2, type method, type mode, type paymentSource, type period, type productCategory, type provider, type role, type scenario, type source, type source2, type source3, type status, type status2, type status3, type status4, type suggestedAction, type suggestedFrequency, type type, type type2, type type3, type type4, type value, type viewMode };
9904
+ 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 };