@lunch-money/v2-api-spec 2.11.1-preview.4 → 2.11.1-preview.8
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/lunch-money-api-v2.yaml +750 -391
- package/package.json +1 -1
- package/version-history.md +24 -19
package/lunch-money-api-v2.yaml
CHANGED
|
@@ -2,17 +2,25 @@ openapi: 3.0.2
|
|
|
2
2
|
info:
|
|
3
3
|
title: Lunch Money API - v2
|
|
4
4
|
description: |-
|
|
5
|
-
Welcome to the Lunch Money v2 API reference. This is the **v2.11.1** spec.
|
|
6
|
-
|
|
7
5
|
### Introduction
|
|
8
6
|
|
|
9
|
-
|
|
7
|
+
Welcome to the Lunch Money v2 API reference. This is the **v2.11.1** spec.
|
|
10
8
|
|
|
11
|
-
API
|
|
9
|
+
The API is available at `https://api.lunchmoney.dev/v2`. Get your access token from the [Lunch Money developers page](https://my.lunchmoney.app/developers).
|
|
12
10
|
|
|
13
|
-
|
|
11
|
+
|
|
12
|
+
**Try it from these docs**
|
|
14
13
|
|
|
15
|
-
|
|
14
|
+
These docs are interactive — use **Test request** on any endpoint to call the API from this page.
|
|
15
|
+
Choose a LIVE or MOCK service from the Server dropdown.
|
|
16
|
+
Requests sent to `https://api.lunchmoney.dev/v2` can <span class="red-text"><strong>change or delete</strong></span> your data and are <span class="red-text"><strong>permanent</strong></span>.
|
|
17
|
+
See the [Getting Started Guide](https://lunchmoney.dev/v2/getting-started) before using the live API.
|
|
18
|
+
|
|
19
|
+
**Static mock server**
|
|
20
|
+
|
|
21
|
+
Explore without risk to real data. Select `http://mock.lunchmoney.dev/v2` in the Server dropdown to work with static mock data.
|
|
22
|
+
POST, PUT, and DELETE requests will return realistic responses, but do not change the mock data.
|
|
23
|
+
|
|
16
24
|
|
|
17
25
|
**Client Libraries & SDKs**
|
|
18
26
|
|
|
@@ -23,7 +31,6 @@ info:
|
|
|
23
31
|
The v2 API is not backwards compatible with v1. See the [Migration Guide](https://lunchmoney.dev/v2/migration-guide) for details.
|
|
24
32
|
|
|
25
33
|
**Useful links**
|
|
26
|
-
- [Developer Portal](https://lunchmoney.dev/v2/introduction)
|
|
27
34
|
- [Getting Started Guide](https://lunchmoney.dev/v2/getting-started)
|
|
28
35
|
- [v2 API Overview](https://lunchmoney.dev/v2/overview)
|
|
29
36
|
- [Version History](https://lunchmoney.dev/v2/version-history)
|
|
@@ -39,17 +46,18 @@ info:
|
|
|
39
46
|
|
|
40
47
|
servers:
|
|
41
48
|
- url: https://api.lunchmoney.dev/v2
|
|
42
|
-
description:
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
description: Static mock version of the v2 Lunch Money API Server
|
|
49
|
+
description: ⚠ LIVE — changes real Lunch Money data
|
|
50
|
+
- url: http://mock.lunchmoney.dev/v2
|
|
51
|
+
description: MOCK — static demo data, no API key required
|
|
46
52
|
|
|
47
53
|
tags:
|
|
48
54
|
- name: me
|
|
49
55
|
description: View details and settings for the current user and account.<p>
|
|
50
|
-
Use [/me/
|
|
51
|
-
[/me/
|
|
52
|
-
|
|
56
|
+
Use [/me/user/settings](#tag/me/GET/me/user/settings) for user-wide
|
|
57
|
+
preferences, [/me/account/settings](#tag/me/GET/me/account/settings) for
|
|
58
|
+
account-wide preferences, and
|
|
59
|
+
[/me/user/account/settings](#tag/me/GET/me/user/account/settings) for
|
|
60
|
+
preferences specific to the current user and budgeting account.
|
|
53
61
|
- name: categories
|
|
54
62
|
description: Work with categories
|
|
55
63
|
externalDocs:
|
|
@@ -76,7 +84,11 @@ tags:
|
|
|
76
84
|
description: Learn more about crypto assets
|
|
77
85
|
url: https://support.lunchmoney.app/setup/crypto
|
|
78
86
|
- name: balance_history
|
|
79
|
-
description:
|
|
87
|
+
description: >-
|
|
88
|
+
View and update monthly account balances used by the
|
|
89
|
+
[Net Worth](https://my.lunchmoney.app/net-worth) views in the Lunch Money app.
|
|
90
|
+
History is monthly. The current month may be calculated on demand when
|
|
91
|
+
requested.
|
|
80
92
|
- name: recurring_items
|
|
81
93
|
description: Work with recurring items
|
|
82
94
|
externalDocs:
|
|
@@ -990,16 +1002,19 @@ components:
|
|
|
990
1002
|
example: Cold Wallet BTC
|
|
991
1003
|
display_name:
|
|
992
1004
|
type: string
|
|
1005
|
+
nullable: true
|
|
993
1006
|
minLength: 1
|
|
994
1007
|
maxLength: 45
|
|
995
|
-
description:
|
|
996
|
-
|
|
1008
|
+
description: Display name for the manual crypto asset. If omitted or
|
|
1009
|
+
`null`, clients may derive one from `institution_name` + `name`.
|
|
997
1010
|
example: Cold Storage
|
|
998
1011
|
institution_name:
|
|
999
1012
|
type: string
|
|
1013
|
+
nullable: true
|
|
1000
1014
|
minLength: 1
|
|
1001
1015
|
maxLength: 50
|
|
1002
|
-
description:
|
|
1016
|
+
description: Institution or wallet provider display name. If omitted
|
|
1017
|
+
or `null`, no institution name is set.
|
|
1003
1018
|
example: Ledger
|
|
1004
1019
|
balance:
|
|
1005
1020
|
oneOf:
|
|
@@ -1255,15 +1270,19 @@ components:
|
|
|
1255
1270
|
example: My Savings Account
|
|
1256
1271
|
institution_name:
|
|
1257
1272
|
type: string
|
|
1273
|
+
nullable: true
|
|
1258
1274
|
example: Bank of the West
|
|
1259
|
-
description: Name of institution holding the manual account
|
|
1275
|
+
description: Name of the institution holding the manual account. If
|
|
1276
|
+
omitted or `null`, no institution name is set.
|
|
1260
1277
|
minLength: 1
|
|
1261
1278
|
maxLength: 50
|
|
1262
1279
|
display_name:
|
|
1263
1280
|
type: string
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1281
|
+
nullable: true
|
|
1282
|
+
description: Display name of the manual account. If omitted or
|
|
1283
|
+
`null`, it is derived from `institution_name` and `name`. An
|
|
1284
|
+
explicitly set display name must be unique for the budgeting
|
|
1285
|
+
account.
|
|
1267
1286
|
example: Savings
|
|
1268
1287
|
type:
|
|
1269
1288
|
description: The type of manual account
|
|
@@ -1271,8 +1290,10 @@ components:
|
|
|
1271
1290
|
- $ref: "#/components/schemas/accountTypeEnum"
|
|
1272
1291
|
subtype:
|
|
1273
1292
|
type: string
|
|
1274
|
-
|
|
1275
|
-
|
|
1293
|
+
nullable: true
|
|
1294
|
+
description: Manual account subtype. If omitted or `null`, no subtype
|
|
1295
|
+
is set. Examples include retirement, checking, savings, and prepaid
|
|
1296
|
+
credit card.
|
|
1276
1297
|
minLength: 1
|
|
1277
1298
|
maxLength: 100
|
|
1278
1299
|
example: prepaid credit card
|
|
@@ -1646,7 +1667,7 @@ components:
|
|
|
1646
1667
|
type:
|
|
1647
1668
|
type: string
|
|
1648
1669
|
enum: [manual]
|
|
1649
|
-
description: Identifies this entry as belonging to a
|
|
1670
|
+
description: Identifies this entry as belonging to a manual account.
|
|
1650
1671
|
manual_account_id:
|
|
1651
1672
|
type: integer
|
|
1652
1673
|
format: int32
|
|
@@ -1675,14 +1696,14 @@ components:
|
|
|
1675
1696
|
|
|
1676
1697
|
balanceHistorySourceCryptoManual:
|
|
1677
1698
|
type: object
|
|
1678
|
-
description: Source information for a
|
|
1699
|
+
description: Source information for a manual cryptocurrency balance history entry.
|
|
1679
1700
|
additionalProperties: false
|
|
1680
1701
|
x-internal: true
|
|
1681
1702
|
properties:
|
|
1682
1703
|
type:
|
|
1683
1704
|
type: string
|
|
1684
1705
|
enum: [crypto_manual]
|
|
1685
|
-
description: Identifies this entry as belonging to a
|
|
1706
|
+
description: Identifies this entry as belonging to a manual crypto account.
|
|
1686
1707
|
crypto_manual_id:
|
|
1687
1708
|
type: integer
|
|
1688
1709
|
format: int32
|
|
@@ -1725,10 +1746,11 @@ components:
|
|
|
1725
1746
|
type: object
|
|
1726
1747
|
x-internal: true
|
|
1727
1748
|
description: >
|
|
1728
|
-
Source information for
|
|
1749
|
+
Source information for balance history whose account has since been deleted.
|
|
1729
1750
|
Historical balances are preserved when a user chooses to keep history on account deletion.
|
|
1730
1751
|
This object contains details that can be used to display the deleted account in the UI.
|
|
1731
|
-
The `deleted_account_id` can be passed to
|
|
1752
|
+
The `deleted_account_id` can be passed to
|
|
1753
|
+
[PUT /balance_history/deleted/{account_id}/details](#tag/balance-history/PUT/balance_history/deleted/{account_id}/details)
|
|
1732
1754
|
to update the archived source metadata.
|
|
1733
1755
|
additionalProperties: false
|
|
1734
1756
|
properties:
|
|
@@ -1759,11 +1781,11 @@ components:
|
|
|
1759
1781
|
subtype:
|
|
1760
1782
|
type: string
|
|
1761
1783
|
nullable: true
|
|
1762
|
-
description: Archived `subtype
|
|
1784
|
+
description: Archived `subtype` of the deleted account source
|
|
1763
1785
|
mask:
|
|
1764
1786
|
type: string
|
|
1765
1787
|
nullable: true
|
|
1766
|
-
description: Archived account `mask` for a deleted
|
|
1788
|
+
description: Archived account `mask` for a deleted Plaid account source
|
|
1767
1789
|
symbol:
|
|
1768
1790
|
type: string
|
|
1769
1791
|
nullable: true
|
|
@@ -1785,12 +1807,14 @@ components:
|
|
|
1785
1807
|
type: object
|
|
1786
1808
|
title: balance history for an account object
|
|
1787
1809
|
additionalProperties: false
|
|
1788
|
-
description:
|
|
1810
|
+
description: Monthly balance entries grouped under a single account source.
|
|
1789
1811
|
properties:
|
|
1790
1812
|
source:
|
|
1791
1813
|
description: >
|
|
1792
|
-
Identifies the account
|
|
1793
|
-
`source.type`.
|
|
1814
|
+
Identifies the account these balance entries belong to. The shape varies by
|
|
1815
|
+
`source.type`. Each source type exposes a type-specific account id field
|
|
1816
|
+
(`manual_account_id`, `plaid_account_id`, `crypto_manual_id`,
|
|
1817
|
+
`crypto_synced_id`, or `deleted_account_id`).
|
|
1794
1818
|
oneOf:
|
|
1795
1819
|
- $ref: "#/components/schemas/balanceHistorySourceManual"
|
|
1796
1820
|
- $ref: "#/components/schemas/balanceHistorySourcePlaid"
|
|
@@ -1808,38 +1832,48 @@ components:
|
|
|
1808
1832
|
balances:
|
|
1809
1833
|
type: array
|
|
1810
1834
|
description: >
|
|
1811
|
-
Monthly balance
|
|
1812
|
-
|
|
1813
|
-
|
|
1835
|
+
Monthly balance entries for this account source. A `historical` entry is
|
|
1836
|
+
a stored snapshot of a past month and includes an `id`. A `current` entry
|
|
1837
|
+
is an ephemeral snapshot based on the account's current balances and has
|
|
1838
|
+
no balance-entry `id`. On PUT upsert responses, this array includes only
|
|
1839
|
+
the `type: historical` entries modified by that request.
|
|
1814
1840
|
items:
|
|
1815
|
-
$ref: "#/components/schemas/
|
|
1841
|
+
$ref: "#/components/schemas/balanceHistoryEntry"
|
|
1816
1842
|
required:
|
|
1817
1843
|
- source
|
|
1818
1844
|
- balances
|
|
1819
1845
|
|
|
1820
|
-
|
|
1846
|
+
historicalBalanceHistoryEntry:
|
|
1821
1847
|
type: object
|
|
1822
|
-
title: balance history entry
|
|
1848
|
+
title: historical balance history entry
|
|
1823
1849
|
additionalProperties: false
|
|
1824
1850
|
x-internal: true
|
|
1825
|
-
description:
|
|
1851
|
+
description: >
|
|
1852
|
+
A stored monthly balance for a past month. The `id` may be used with
|
|
1853
|
+
balance history entry endpoints. The balance represents the account
|
|
1854
|
+
balance at or around the end of `month`.
|
|
1826
1855
|
properties:
|
|
1856
|
+
type:
|
|
1857
|
+
type: string
|
|
1858
|
+
enum: [historical]
|
|
1859
|
+
description: Identifies this entry as a stored snapshot of a past month.
|
|
1827
1860
|
id:
|
|
1828
1861
|
type: integer
|
|
1829
1862
|
format: int32
|
|
1830
|
-
description: Unique identifier
|
|
1831
|
-
|
|
1863
|
+
description: Unique identifier for this historical balance entry.
|
|
1864
|
+
month:
|
|
1832
1865
|
type: string
|
|
1833
|
-
|
|
1834
|
-
description:
|
|
1866
|
+
pattern: '^\d{4}-(0[1-9]|1[0-2])$'
|
|
1867
|
+
description: Calendar month for this entry in YYYY-MM format.
|
|
1868
|
+
example: "2026-06"
|
|
1835
1869
|
balance:
|
|
1836
1870
|
type: string
|
|
1837
1871
|
pattern: ^-?\d+(\.\d{1,4})?$
|
|
1838
|
-
description: Historical balance
|
|
1872
|
+
description: Historical balance for this entry, as a numeric string with up to four decimal places. Trailing zeros and decimal places are not guaranteed in responses. For manual and Plaid accounts this is in the account currency. For crypto accounts this is in the user's primary currency.
|
|
1839
1873
|
currency:
|
|
1840
1874
|
allOf:
|
|
1841
1875
|
- $ref: "#/components/schemas/currencyEnum"
|
|
1842
|
-
description: Currency of
|
|
1876
|
+
description: Currency of `balance`. For crypto entries this is the user's primary currency.
|
|
1843
1877
|
to_base:
|
|
1844
1878
|
type: number
|
|
1845
1879
|
format: double
|
|
@@ -1848,19 +1882,82 @@ components:
|
|
|
1848
1882
|
type: string
|
|
1849
1883
|
nullable: true
|
|
1850
1884
|
pattern: ^-?\d+(\.\d{1,18})?$
|
|
1851
|
-
description: Crypto quantity
|
|
1885
|
+
description: Crypto quantity for this balance entry, when available. This may be present for crypto or deleted-account entries and is `null` otherwise.
|
|
1852
1886
|
required:
|
|
1887
|
+
- type
|
|
1853
1888
|
- id
|
|
1854
|
-
-
|
|
1889
|
+
- month
|
|
1890
|
+
- balance
|
|
1891
|
+
- currency
|
|
1892
|
+
- to_base
|
|
1893
|
+
- crypto_balance
|
|
1894
|
+
|
|
1895
|
+
currentBalanceHistoryEntry:
|
|
1896
|
+
type: object
|
|
1897
|
+
title: current balance history entry
|
|
1898
|
+
additionalProperties: false
|
|
1899
|
+
x-internal: true
|
|
1900
|
+
description: >
|
|
1901
|
+
An ephemeral snapshot based on the account's current balances. It may
|
|
1902
|
+
change between requests.
|
|
1903
|
+
properties:
|
|
1904
|
+
type:
|
|
1905
|
+
type: string
|
|
1906
|
+
enum: [current]
|
|
1907
|
+
description: Identifies this entry as an ephemeral current-month snapshot.
|
|
1908
|
+
month:
|
|
1909
|
+
type: string
|
|
1910
|
+
pattern: '^\d{4}-(0[1-9]|1[0-2])$'
|
|
1911
|
+
description: Calendar month for this entry in YYYY-MM format. For current entries this is the current month.
|
|
1912
|
+
example: "2026-07"
|
|
1913
|
+
balance:
|
|
1914
|
+
type: string
|
|
1915
|
+
pattern: ^-?\d+(\.\d{1,4})?$
|
|
1916
|
+
description: Calculated balance for the current month, as a numeric string with up to four decimal places. Trailing zeros and decimal places are not guaranteed in responses. For manual and Plaid accounts this is in the account currency. For crypto accounts this is in the user's primary currency.
|
|
1917
|
+
currency:
|
|
1918
|
+
allOf:
|
|
1919
|
+
- $ref: "#/components/schemas/currencyEnum"
|
|
1920
|
+
description: Currency of the calculated `balance`. For crypto entries this is the user's primary currency.
|
|
1921
|
+
to_base:
|
|
1922
|
+
type: number
|
|
1923
|
+
format: double
|
|
1924
|
+
description: Calculated balance converted to the user's primary currency. When the entry currency is the user's primary currency, this is the numeric value of `balance`.
|
|
1925
|
+
crypto_balance:
|
|
1926
|
+
type: string
|
|
1927
|
+
nullable: true
|
|
1928
|
+
pattern: ^-?\d+(\.\d{1,18})?$
|
|
1929
|
+
description: Crypto quantity for this calculated entry, when available. This may be present for crypto entries and is `null` otherwise.
|
|
1930
|
+
required:
|
|
1931
|
+
- type
|
|
1932
|
+
- month
|
|
1855
1933
|
- balance
|
|
1856
1934
|
- currency
|
|
1857
1935
|
- to_base
|
|
1858
1936
|
- crypto_balance
|
|
1859
1937
|
|
|
1938
|
+
balanceHistoryEntry:
|
|
1939
|
+
title: balance history entry
|
|
1940
|
+
x-internal: true
|
|
1941
|
+
description: >
|
|
1942
|
+
A monthly balance history entry. Discriminated by `type`. `historical`
|
|
1943
|
+
entries are stored snapshots of past months with an `id`. `current`
|
|
1944
|
+
entries are ephemeral snapshots with no balance-entry `id`.
|
|
1945
|
+
oneOf:
|
|
1946
|
+
- $ref: "#/components/schemas/historicalBalanceHistoryEntry"
|
|
1947
|
+
- $ref: "#/components/schemas/currentBalanceHistoryEntry"
|
|
1948
|
+
discriminator:
|
|
1949
|
+
propertyName: type
|
|
1950
|
+
mapping:
|
|
1951
|
+
historical: "#/components/schemas/historicalBalanceHistoryEntry"
|
|
1952
|
+
current: "#/components/schemas/currentBalanceHistoryEntry"
|
|
1953
|
+
|
|
1860
1954
|
balanceHistoryListResponseObject:
|
|
1861
1955
|
type: object
|
|
1862
1956
|
additionalProperties: false
|
|
1863
1957
|
x-internal: true
|
|
1958
|
+
description: >
|
|
1959
|
+
List response for balance history GET endpoints. Entries are grouped by
|
|
1960
|
+
account source under `balance_history`.
|
|
1864
1961
|
properties:
|
|
1865
1962
|
balance_history:
|
|
1866
1963
|
type: array
|
|
@@ -1873,31 +1970,39 @@ components:
|
|
|
1873
1970
|
type: object
|
|
1874
1971
|
x-internal: true
|
|
1875
1972
|
additionalProperties: false
|
|
1973
|
+
description: >
|
|
1974
|
+
A single monthly balance entry to upsert. Request bodies use this shape.
|
|
1975
|
+
Responses return `type: historical` entries instead.
|
|
1876
1976
|
properties:
|
|
1877
1977
|
id:
|
|
1878
1978
|
type: integer
|
|
1879
1979
|
format: int32
|
|
1880
1980
|
description: System-defined balance history entry id. Ignored if set.
|
|
1881
1981
|
x-updatable: false
|
|
1882
|
-
|
|
1982
|
+
month:
|
|
1883
1983
|
type: string
|
|
1884
|
-
|
|
1885
|
-
description:
|
|
1984
|
+
pattern: '^\d{4}-(0[1-9]|1[0-2])$'
|
|
1985
|
+
description: >
|
|
1986
|
+
Calendar month to upsert, in YYYY-MM format. Must be a past month.
|
|
1987
|
+
The current month cannot be written through PUT endpoints.
|
|
1988
|
+
example: "2026-06"
|
|
1886
1989
|
balance:
|
|
1887
1990
|
oneOf:
|
|
1888
1991
|
- type: number
|
|
1889
1992
|
format: double
|
|
1890
1993
|
- type: string
|
|
1891
1994
|
pattern: ^-?\d+(\.\d{1,4})?$
|
|
1892
|
-
description: Numeric value of the historical balance, up to four decimal places, as a number or string. For manual and Plaid accounts this is
|
|
1995
|
+
description: Numeric value of the historical balance, up to four decimal places, as a number or string. For manual and Plaid accounts this is in the account currency. For crypto and deleted accounts this is in the user's primary currency. Do not include any special characters aside from a decimal point.
|
|
1893
1996
|
symbol:
|
|
1894
1997
|
type: string
|
|
1895
1998
|
nullable: true
|
|
1896
1999
|
minLength: 1
|
|
1897
2000
|
maxLength: 25
|
|
1898
|
-
description:
|
|
1899
|
-
|
|
1900
|
-
|
|
2001
|
+
description: >
|
|
2002
|
+
Optional for crypto balances. If set, it must match the account's
|
|
2003
|
+
symbol. Tolerated for deleted-account balances. Do not provide this
|
|
2004
|
+
for manual or Plaid balances. On the synced crypto path endpoint, if
|
|
2005
|
+
provided it must match the `symbol` path parameter.
|
|
1901
2006
|
x-updatable: true
|
|
1902
2007
|
crypto_balance:
|
|
1903
2008
|
type: string
|
|
@@ -1913,10 +2018,10 @@ components:
|
|
|
1913
2018
|
to_base:
|
|
1914
2019
|
type: number
|
|
1915
2020
|
format: double
|
|
1916
|
-
description: System-defined historical balance converted to the user's primary currency. Ignored if set. Use `balance` to update the
|
|
2021
|
+
description: System-defined historical balance converted to the user's primary currency. Ignored if set. Use `balance` to update the historical balance.
|
|
1917
2022
|
x-updatable: false
|
|
1918
2023
|
required:
|
|
1919
|
-
-
|
|
2024
|
+
- month
|
|
1920
2025
|
- balance
|
|
1921
2026
|
|
|
1922
2027
|
upsertBalanceHistoryRequestObject:
|
|
@@ -1927,7 +2032,11 @@ components:
|
|
|
1927
2032
|
balances:
|
|
1928
2033
|
type: array
|
|
1929
2034
|
minItems: 1
|
|
1930
|
-
description:
|
|
2035
|
+
description: >
|
|
2036
|
+
One or more monthly balance history entries to upsert. Each entry uses
|
|
2037
|
+
`month` (YYYY-MM) and `balance`. Do not include response-only fields such
|
|
2038
|
+
as `type`. PUT responses return only the `type: historical` entries
|
|
2039
|
+
modified by the request.
|
|
1931
2040
|
items:
|
|
1932
2041
|
$ref: "#/components/schemas/balanceHistoryUpdateItemObject"
|
|
1933
2042
|
required:
|
|
@@ -1942,51 +2051,58 @@ components:
|
|
|
1942
2051
|
name:
|
|
1943
2052
|
type: string
|
|
1944
2053
|
nullable: true
|
|
1945
|
-
description: New archived account name for the deleted account source
|
|
2054
|
+
description: New archived account name for the deleted account source
|
|
1946
2055
|
institution_name:
|
|
1947
2056
|
type: string
|
|
1948
2057
|
nullable: true
|
|
1949
|
-
description: New archived institution name for the deleted account source
|
|
2058
|
+
description: New archived institution name for the deleted account source
|
|
1950
2059
|
display_name:
|
|
1951
2060
|
type: string
|
|
1952
2061
|
nullable: true
|
|
1953
|
-
description: New display name for the deleted account source
|
|
2062
|
+
description: New display name for the deleted account source
|
|
1954
2063
|
account_type:
|
|
1955
2064
|
type: string
|
|
1956
2065
|
nullable: true
|
|
1957
|
-
description: New archived account type for the deleted account source
|
|
2066
|
+
description: New archived account type for the deleted account source
|
|
1958
2067
|
subtype:
|
|
1959
2068
|
type: string
|
|
1960
2069
|
nullable: true
|
|
1961
|
-
description: New archived subtype for the deleted account source
|
|
2070
|
+
description: New archived subtype for the deleted account source
|
|
1962
2071
|
mask:
|
|
1963
2072
|
type: string
|
|
1964
2073
|
nullable: true
|
|
1965
|
-
description: New archived account mask for the deleted account source
|
|
2074
|
+
description: New archived account mask for the deleted account source
|
|
1966
2075
|
|
|
1967
2076
|
updateBalanceHistoryDetailsResponseObject:
|
|
1968
2077
|
type: object
|
|
1969
2078
|
x-internal: true
|
|
1970
2079
|
additionalProperties: false
|
|
2080
|
+
description: Updated archived metadata for a deleted balance history source
|
|
1971
2081
|
properties:
|
|
1972
2082
|
name:
|
|
1973
2083
|
type: string
|
|
1974
2084
|
nullable: true
|
|
2085
|
+
description: Archived account name for the deleted account source
|
|
1975
2086
|
institution_name:
|
|
1976
2087
|
type: string
|
|
1977
2088
|
nullable: true
|
|
2089
|
+
description: Archived institution name for the deleted account source
|
|
1978
2090
|
display_name:
|
|
1979
2091
|
type: string
|
|
1980
2092
|
nullable: true
|
|
2093
|
+
description: Archived display name for the deleted account source
|
|
1981
2094
|
account_type:
|
|
1982
2095
|
type: string
|
|
1983
2096
|
nullable: true
|
|
2097
|
+
description: Archived account type for the deleted account source
|
|
1984
2098
|
subtype:
|
|
1985
2099
|
type: string
|
|
1986
2100
|
nullable: true
|
|
2101
|
+
description: Archived subtype for the deleted account source
|
|
1987
2102
|
mask:
|
|
1988
2103
|
type: string
|
|
1989
2104
|
nullable: true
|
|
2105
|
+
description: Archived account mask for the deleted account source
|
|
1990
2106
|
required:
|
|
1991
2107
|
- name
|
|
1992
2108
|
- institution_name
|
|
@@ -3087,6 +3203,7 @@ components:
|
|
|
3087
3203
|
description: |
|
|
3088
3204
|
The new payee for the transaction.
|
|
3089
3205
|
minLength: 0
|
|
3206
|
+
x-updatable: true
|
|
3090
3207
|
original_name:
|
|
3091
3208
|
type: string
|
|
3092
3209
|
nullable: true
|
|
@@ -3298,9 +3415,10 @@ components:
|
|
|
3298
3415
|
category_id:
|
|
3299
3416
|
type: integer
|
|
3300
3417
|
format: int32
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3418
|
+
nullable: true
|
|
3419
|
+
description: Category ID for the child transaction. The category must
|
|
3420
|
+
already exist for the account. If omitted, the child inherits the
|
|
3421
|
+
parent category. If `null`, the child has no category.
|
|
3304
3422
|
tag_ids:
|
|
3305
3423
|
type: array
|
|
3306
3424
|
description: The IDs of any tags to apply to this split child
|
|
@@ -3310,7 +3428,10 @@ components:
|
|
|
3310
3428
|
format: int32
|
|
3311
3429
|
notes:
|
|
3312
3430
|
type: string
|
|
3313
|
-
|
|
3431
|
+
nullable: true
|
|
3432
|
+
description: Notes for the child transaction. If omitted, the child
|
|
3433
|
+
inherits the parent notes. If `null` or an empty string, the child
|
|
3434
|
+
has no notes.
|
|
3314
3435
|
required:
|
|
3315
3436
|
- amount
|
|
3316
3437
|
|
|
@@ -3679,6 +3800,7 @@ components:
|
|
|
3679
3800
|
- budget_rollover_left_to_budget
|
|
3680
3801
|
|
|
3681
3802
|
weekStartsOnEnum:
|
|
3803
|
+
x-internal: true
|
|
3682
3804
|
type: string
|
|
3683
3805
|
title: week starts on enum
|
|
3684
3806
|
enum:
|
|
@@ -3687,6 +3809,7 @@ components:
|
|
|
3687
3809
|
description: The day on which a calendar week begins.
|
|
3688
3810
|
|
|
3689
3811
|
monthYearFormatEnum:
|
|
3812
|
+
x-internal: true
|
|
3690
3813
|
type: string
|
|
3691
3814
|
title: month and year format enum
|
|
3692
3815
|
description: Format string for displaying month and year values
|
|
@@ -3713,6 +3836,7 @@ components:
|
|
|
3713
3836
|
- "YYYY/MM"
|
|
3714
3837
|
|
|
3715
3838
|
monthDayYearFormatEnum:
|
|
3839
|
+
x-internal: true
|
|
3716
3840
|
type: string
|
|
3717
3841
|
title: month, day and year format enum
|
|
3718
3842
|
description: Format string for displaying full dates in the
|
|
@@ -3770,6 +3894,7 @@ components:
|
|
|
3770
3894
|
- "M/DD/YYYY"
|
|
3771
3895
|
|
|
3772
3896
|
monthDayFormatEnum:
|
|
3897
|
+
x-internal: true
|
|
3773
3898
|
type: string
|
|
3774
3899
|
title: month and day format enum
|
|
3775
3900
|
description: Format string for displaying month and day values
|
|
@@ -3812,6 +3937,98 @@ components:
|
|
|
3812
3937
|
- "DD.M"
|
|
3813
3938
|
- "DD/M"
|
|
3814
3939
|
|
|
3940
|
+
localeEnum:
|
|
3941
|
+
type: string
|
|
3942
|
+
title: locale enum
|
|
3943
|
+
description: Locale used for formatting numbers and currency amounts in
|
|
3944
|
+
the Lunch Money app.
|
|
3945
|
+
example: en-US
|
|
3946
|
+
enum:
|
|
3947
|
+
- sq-AL # Albanian (Albania)
|
|
3948
|
+
- be-BY # Belarusian (Belarus)
|
|
3949
|
+
- bg-BG # Bulgarian (Bulgaria)
|
|
3950
|
+
- ca-ES # Catalan (Spain)
|
|
3951
|
+
- zh-CN # Chinese (Simplified) (China)
|
|
3952
|
+
- zh-HK # Chinese (Traditional) (Hong Kong)
|
|
3953
|
+
- zh-TW # Chinese (Traditional) (Taiwan)
|
|
3954
|
+
- hr-HR # Croatian (Croatia)
|
|
3955
|
+
- cs-CZ # Czech (Czech Republic)
|
|
3956
|
+
- da-DK # Danish (Denmark)
|
|
3957
|
+
- nl-BE # Dutch (Belgium)
|
|
3958
|
+
- nl-NL # Dutch (Netherlands)
|
|
3959
|
+
- en-AU # English (Australia)
|
|
3960
|
+
- en-CA # English (Canada)
|
|
3961
|
+
- en-IN # English (India)
|
|
3962
|
+
- en-IE # English (Ireland)
|
|
3963
|
+
- en-MT # English (Malta)
|
|
3964
|
+
- en-NZ # English (New Zealand)
|
|
3965
|
+
- en-PH # English (Philippines)
|
|
3966
|
+
- en-SG # English (Singapore)
|
|
3967
|
+
- en-ZA # English (South Africa)
|
|
3968
|
+
- en-GB # English (United Kingdom)
|
|
3969
|
+
- en-US # English (United States)
|
|
3970
|
+
- et-EE # Estonian (Estonia)
|
|
3971
|
+
- fi-FI # Finnish (Finland)
|
|
3972
|
+
- fr-BE # French (Belgium)
|
|
3973
|
+
- fr-CA # French (Canada)
|
|
3974
|
+
- fr-FR # French (France)
|
|
3975
|
+
- fr-LU # French (Luxembourg)
|
|
3976
|
+
- fr-CH # French (Switzerland)
|
|
3977
|
+
- de-AT # German (Austria)
|
|
3978
|
+
- de-DE # German (Germany)
|
|
3979
|
+
- de-LU # German (Luxembourg)
|
|
3980
|
+
- de-CH # German (Switzerland)
|
|
3981
|
+
- el-CY # Greek (Cyprus)
|
|
3982
|
+
- el-GR # Greek (Greece)
|
|
3983
|
+
- iw-IL # Hebrew (Israel); modern replacement: he-IL
|
|
3984
|
+
- hi-IN # Hindi (India)
|
|
3985
|
+
- hu-HU # Hungarian (Hungary)
|
|
3986
|
+
- is-IS # Icelandic (Iceland)
|
|
3987
|
+
- in-ID # Indonesian (Indonesia); modern replacement: id-ID
|
|
3988
|
+
- ga-IE # Irish (Ireland)
|
|
3989
|
+
- it-IT # Italian (Italy)
|
|
3990
|
+
- it-CH # Italian (Switzerland)
|
|
3991
|
+
- ja-JP # Japanese (Japan)
|
|
3992
|
+
- ko-KR # Korean (South Korea)
|
|
3993
|
+
- lv-LV # Latvian (Latvia)
|
|
3994
|
+
- lt-LT # Lithuanian (Lithuania)
|
|
3995
|
+
- mk-MK # Macedonian (Macedonia)
|
|
3996
|
+
- ms-MY # Malay (Malaysia)
|
|
3997
|
+
- mt-MT # Maltese (Malta)
|
|
3998
|
+
- no-NO # Norwegian (Norway)
|
|
3999
|
+
- pl-PL # Polish (Poland)
|
|
4000
|
+
- pt-BR # Portuguese (Brazil)
|
|
4001
|
+
- pt-PT # Portuguese (Portugal)
|
|
4002
|
+
- ro-RO # Romanian (Romania)
|
|
4003
|
+
- ru-RU # Russian (Russia)
|
|
4004
|
+
- sk-SK # Slovak (Slovakia)
|
|
4005
|
+
- sl-SI # Slovenian (Slovenia)
|
|
4006
|
+
- es-AR # Spanish (Argentina)
|
|
4007
|
+
- es-BO # Spanish (Bolivia)
|
|
4008
|
+
- es-CL # Spanish (Chile)
|
|
4009
|
+
- es-CO # Spanish (Colombia)
|
|
4010
|
+
- es-CR # Spanish (Costa Rica)
|
|
4011
|
+
- es-DO # Spanish (Dominican Republic)
|
|
4012
|
+
- es-EC # Spanish (Ecuador)
|
|
4013
|
+
- es-SV # Spanish (El Salvador)
|
|
4014
|
+
- es-GT # Spanish (Guatemala)
|
|
4015
|
+
- es-HN # Spanish (Honduras)
|
|
4016
|
+
- es-MX # Spanish (Mexico)
|
|
4017
|
+
- es-NI # Spanish (Nicaragua)
|
|
4018
|
+
- es-PA # Spanish (Panama)
|
|
4019
|
+
- es-PY # Spanish (Paraguay)
|
|
4020
|
+
- es-PE # Spanish (Peru)
|
|
4021
|
+
- es-PR # Spanish (Puerto Rico)
|
|
4022
|
+
- es-ES # Spanish (Spain)
|
|
4023
|
+
- es-US # Spanish (United States)
|
|
4024
|
+
- es-UY # Spanish (Uruguay)
|
|
4025
|
+
- es-VE # Spanish (Venezuela)
|
|
4026
|
+
- sv-SE # Swedish (Sweden)
|
|
4027
|
+
- th-TH # Thai (Thailand)
|
|
4028
|
+
- tr-TR # Turkish (Turkey)
|
|
4029
|
+
- uk-UA # Ukrainian (Ukraine)
|
|
4030
|
+
- vi-VN # Vietnamese (Vietnam)
|
|
4031
|
+
|
|
3815
4032
|
accountSettingsObject:
|
|
3816
4033
|
type: object
|
|
3817
4034
|
title: account settings object
|
|
@@ -3835,13 +4052,19 @@ components:
|
|
|
3835
4052
|
description: Display name of the budgeting account in the Lunch Money
|
|
3836
4053
|
app.
|
|
3837
4054
|
locale:
|
|
3838
|
-
|
|
3839
|
-
|
|
3840
|
-
|
|
3841
|
-
|
|
3842
|
-
|
|
3843
|
-
|
|
3844
|
-
|
|
4055
|
+
allOf:
|
|
4056
|
+
- $ref: "#/components/schemas/localeEnum"
|
|
4057
|
+
example: en-US
|
|
4058
|
+
description: Locale used for formatting numbers and currency amounts
|
|
4059
|
+
in the Lunch Money app (for example, `en-US`). See
|
|
4060
|
+
[Supported Locales](https://lunchmoney.dev/v2/locales) for accepted
|
|
4061
|
+
values. Date presentation is configured separately through
|
|
4062
|
+
[GET /me/user/settings](#tag/me/GET/me/user/settings) and
|
|
4063
|
+
[PUT /me/user/settings](#tag/me/PUT/me/user/settings). When no
|
|
4064
|
+
locale is explicitly stored for the account, the effective locale
|
|
4065
|
+
is derived from the `default_locale` associated with
|
|
4066
|
+
`primary_currency` in the currencies table (for example, `usd` →
|
|
4067
|
+
`en-US`, `cad` → `en-CA`, `gbp` → `en-GB`).
|
|
3845
4068
|
auto_create_category_rules:
|
|
3846
4069
|
type: boolean
|
|
3847
4070
|
default: true
|
|
@@ -3852,16 +4075,11 @@ components:
|
|
|
3852
4075
|
default: true
|
|
3853
4076
|
description: If `true`, suggested transaction rules are created
|
|
3854
4077
|
automatically.
|
|
3855
|
-
|
|
4078
|
+
include_pending_in_totals:
|
|
3856
4079
|
type: boolean
|
|
3857
4080
|
default: true
|
|
3858
|
-
description: If `true`, transactions are
|
|
3859
|
-
|
|
3860
|
-
auto_review_transaction_on_creation:
|
|
3861
|
-
type: boolean
|
|
3862
|
-
default: true
|
|
3863
|
-
description: If `true`, transactions are marked as reviewed when
|
|
3864
|
-
created.
|
|
4081
|
+
description: If `true`, pending transactions are included in account
|
|
4082
|
+
totals.
|
|
3865
4083
|
required:
|
|
3866
4084
|
- primary_currency
|
|
3867
4085
|
- supported_currencies
|
|
@@ -3869,13 +4087,13 @@ components:
|
|
|
3869
4087
|
- locale
|
|
3870
4088
|
- auto_create_category_rules
|
|
3871
4089
|
- auto_create_suggested_transaction_rules
|
|
3872
|
-
-
|
|
3873
|
-
- auto_review_transaction_on_creation
|
|
4090
|
+
- include_pending_in_totals
|
|
3874
4091
|
|
|
3875
4092
|
updateAccountSettingsRequestObject:
|
|
3876
4093
|
x-internal: true
|
|
3877
4094
|
type: object
|
|
3878
4095
|
additionalProperties: false
|
|
4096
|
+
minProperties: 1
|
|
3879
4097
|
description: Request body for updating account settings. Include at least
|
|
3880
4098
|
one property to update.
|
|
3881
4099
|
properties:
|
|
@@ -3897,9 +4115,15 @@ components:
|
|
|
3897
4115
|
description: If set, updates the display name of the budgeting account.
|
|
3898
4116
|
x-updatable: true
|
|
3899
4117
|
locale:
|
|
3900
|
-
|
|
3901
|
-
|
|
3902
|
-
|
|
4118
|
+
allOf:
|
|
4119
|
+
- $ref: "#/components/schemas/localeEnum"
|
|
4120
|
+
example: en-US
|
|
4121
|
+
description: If set, updates the locale used for formatting numbers
|
|
4122
|
+
and currency amounts in the Lunch Money app. See
|
|
4123
|
+
[Supported Locales](https://lunchmoney.dev/v2/locales) for accepted
|
|
4124
|
+
values. Date presentation is configured separately through
|
|
4125
|
+
[GET /me/user/settings](#tag/me/GET/me/user/settings) and
|
|
4126
|
+
[PUT /me/user/settings](#tag/me/PUT/me/user/settings).
|
|
3903
4127
|
x-updatable: true
|
|
3904
4128
|
auto_create_category_rules:
|
|
3905
4129
|
type: boolean
|
|
@@ -3911,15 +4135,70 @@ components:
|
|
|
3911
4135
|
description: If set, updates whether suggested transaction rules are
|
|
3912
4136
|
created automatically.
|
|
3913
4137
|
x-updatable: true
|
|
4138
|
+
include_pending_in_totals:
|
|
4139
|
+
type: boolean
|
|
4140
|
+
description: If set, updates whether pending transactions are included
|
|
4141
|
+
in account totals.
|
|
4142
|
+
x-updatable: true
|
|
4143
|
+
|
|
4144
|
+
userAccountSettingsObject:
|
|
4145
|
+
type: object
|
|
4146
|
+
title: user account settings object
|
|
4147
|
+
additionalProperties: false
|
|
4148
|
+
description: Settings specific to the authorized user within the current
|
|
4149
|
+
budgeting account.
|
|
4150
|
+
properties:
|
|
4151
|
+
auto_review_transaction_on_update:
|
|
4152
|
+
type: boolean
|
|
4153
|
+
default: true
|
|
4154
|
+
description: If `true`, transactions are marked as reviewed when their
|
|
4155
|
+
date, category, payee, amount, account, or notes are changed.
|
|
4156
|
+
auto_review_transaction_on_creation:
|
|
4157
|
+
type: boolean
|
|
4158
|
+
default: true
|
|
4159
|
+
description: If `true`, new manual transactions start as reviewed. If
|
|
4160
|
+
`false`, they start as unreviewed.
|
|
4161
|
+
default_manual_account_id:
|
|
4162
|
+
type: integer
|
|
4163
|
+
nullable: true
|
|
4164
|
+
description: Manual account selected by default when the user creates a
|
|
4165
|
+
manual transaction in the current budgeting account. Must identify a
|
|
4166
|
+
manual account returned by
|
|
4167
|
+
[GET /manual_accounts](#tag/manual_accounts/GET/manual_accounts) for
|
|
4168
|
+
the current budgeting account. Set to `null` to clear the selection.
|
|
4169
|
+
required:
|
|
4170
|
+
- auto_review_transaction_on_update
|
|
4171
|
+
- auto_review_transaction_on_creation
|
|
4172
|
+
- default_manual_account_id
|
|
4173
|
+
|
|
4174
|
+
updateUserAccountSettingsRequestObject:
|
|
4175
|
+
x-internal: true
|
|
4176
|
+
type: object
|
|
4177
|
+
additionalProperties: false
|
|
4178
|
+
minProperties: 1
|
|
4179
|
+
description: Request body for updating settings specific to the authorized
|
|
4180
|
+
user within the current budgeting account. Include at least one property
|
|
4181
|
+
to update.
|
|
4182
|
+
properties:
|
|
3914
4183
|
auto_review_transaction_on_update:
|
|
3915
4184
|
type: boolean
|
|
3916
4185
|
description: If set, updates whether transactions are marked as reviewed
|
|
3917
|
-
when
|
|
4186
|
+
when their date, category, payee, amount, account, or notes are
|
|
4187
|
+
changed.
|
|
3918
4188
|
x-updatable: true
|
|
3919
4189
|
auto_review_transaction_on_creation:
|
|
3920
4190
|
type: boolean
|
|
3921
|
-
description: If set, updates whether transactions
|
|
3922
|
-
|
|
4191
|
+
description: If set, updates whether new manual transactions start as
|
|
4192
|
+
reviewed or unreviewed.
|
|
4193
|
+
x-updatable: true
|
|
4194
|
+
default_manual_account_id:
|
|
4195
|
+
type: integer
|
|
4196
|
+
nullable: true
|
|
4197
|
+
description: If set, updates the manual account selected by default when
|
|
4198
|
+
the user creates a manual transaction in the current budgeting
|
|
4199
|
+
account. Must identify a manual account returned by
|
|
4200
|
+
[GET /manual_accounts](#tag/manual_accounts/GET/manual_accounts) for
|
|
4201
|
+
the current budgeting account. Set to `null` to clear the selection.
|
|
3923
4202
|
x-updatable: true
|
|
3924
4203
|
|
|
3925
4204
|
userSettingsObject:
|
|
@@ -3995,6 +4274,7 @@ components:
|
|
|
3995
4274
|
x-internal: true
|
|
3996
4275
|
type: object
|
|
3997
4276
|
additionalProperties: false
|
|
4277
|
+
minProperties: 1
|
|
3998
4278
|
description: Request body for updating user settings. Include at least one
|
|
3999
4279
|
property to update.
|
|
4000
4280
|
properties:
|
|
@@ -4818,22 +5098,10 @@ components:
|
|
|
4818
5098
|
securitySchemes:
|
|
4819
5099
|
bearerSecurity:
|
|
4820
5100
|
type: http
|
|
4821
|
-
|
|
4822
|
-
|
|
4823
|
-
# the v1 API you can view and manage your API keys on the [developers page
|
|
4824
|
-
# in the Lunch Money app](https://my.lunchmoney.app/developers). <p> To
|
|
4825
|
-
# interact with the Static Mock Server simply enter an API key of 11
|
|
4826
|
-
# characters or more. <p> To interact with the v2 service implemented on
|
|
4827
|
-
# top of the v1 API paste in a real API token associated with a Lunch
|
|
4828
|
-
# Money Budget.
|
|
4829
|
-
description: To interact with the Static Mock Server simply enter an API
|
|
4830
|
-
key of 11 characters or more.
|
|
5101
|
+
description: >-
|
|
5102
|
+
Required for the LIVE server. Optional for MOCK.
|
|
4831
5103
|
scheme: bearer
|
|
4832
5104
|
bearerFormat: JWT
|
|
4833
|
-
cookieAuth:
|
|
4834
|
-
type: apiKey
|
|
4835
|
-
in: cookie
|
|
4836
|
-
name: _lm_access_token
|
|
4837
5105
|
|
|
4838
5106
|
paths:
|
|
4839
5107
|
/me:
|
|
@@ -4843,11 +5111,14 @@ paths:
|
|
|
4843
5111
|
summary: Get current user
|
|
4844
5112
|
description: |-
|
|
4845
5113
|
Get details about the user associated with the supplied authorization
|
|
4846
|
-
token.<p>
|
|
4847
|
-
|
|
4848
|
-
[/me/
|
|
4849
|
-
|
|
4850
|
-
|
|
5114
|
+
token.<p> Use [/me/user/settings](#tag/me/GET/me/user/settings) for
|
|
5115
|
+
user-wide preferences,
|
|
5116
|
+
[/me/account/settings](#tag/me/GET/me/account/settings) for account-wide
|
|
5117
|
+
preferences, and
|
|
5118
|
+
[/me/user/account/settings](#tag/me/GET/me/user/account/settings) for
|
|
5119
|
+
preferences specific to the current user and budgeting account.
|
|
5120
|
+
Properties such as `primary_currency` and `budget_name` remain on this
|
|
5121
|
+
response for backwards compatibility.
|
|
4851
5122
|
operationId: getMe
|
|
4852
5123
|
parameters: []
|
|
4853
5124
|
responses:
|
|
@@ -4876,8 +5147,9 @@ paths:
|
|
|
4876
5147
|
tags:
|
|
4877
5148
|
- me
|
|
4878
5149
|
summary: Get account settings
|
|
4879
|
-
description:
|
|
4880
|
-
|
|
5150
|
+
description: >-
|
|
5151
|
+
Returns settings for the current budgeting account. These settings apply
|
|
5152
|
+
regardless of which user is accessing the account.
|
|
4881
5153
|
operationId: getAccountSettings
|
|
4882
5154
|
responses:
|
|
4883
5155
|
"200":
|
|
@@ -4896,8 +5168,7 @@ paths:
|
|
|
4896
5168
|
locale: en-US
|
|
4897
5169
|
auto_create_category_rules: true
|
|
4898
5170
|
auto_create_suggested_transaction_rules: true
|
|
4899
|
-
|
|
4900
|
-
auto_review_transaction_on_creation: true
|
|
5171
|
+
include_pending_in_totals: true
|
|
4901
5172
|
"401":
|
|
4902
5173
|
$ref: "#/components/responses/unauthorizedToken"
|
|
4903
5174
|
"429":
|
|
@@ -4910,11 +5181,10 @@ paths:
|
|
|
4910
5181
|
summary: Update account settings
|
|
4911
5182
|
description: |-
|
|
4912
5183
|
Updates account-level settings for the budgeting account
|
|
4913
|
-
associated with the authorized API token
|
|
4914
|
-
`GET /me/account/settings`
|
|
4915
|
-
|
|
4916
|
-
|
|
4917
|
-
includes at least one updatable property.
|
|
5184
|
+
associated with the authorized API token. Submit the full response from
|
|
5185
|
+
`GET /me/account/settings` with one or more properties changed, or
|
|
5186
|
+
provide only the properties to update. The request body must include at
|
|
5187
|
+
least one property.
|
|
4918
5188
|
operationId: updateAccountSettings
|
|
4919
5189
|
requestBody:
|
|
4920
5190
|
required: true
|
|
@@ -4929,7 +5199,7 @@ paths:
|
|
|
4929
5199
|
Update automation preferences:
|
|
4930
5200
|
value:
|
|
4931
5201
|
auto_create_category_rules: false
|
|
4932
|
-
|
|
5202
|
+
include_pending_in_totals: false
|
|
4933
5203
|
responses:
|
|
4934
5204
|
"200":
|
|
4935
5205
|
description: Account settings updated successfully
|
|
@@ -4954,8 +5224,10 @@ paths:
|
|
|
4954
5224
|
tags:
|
|
4955
5225
|
- me
|
|
4956
5226
|
summary: Get user settings
|
|
4957
|
-
description:
|
|
4958
|
-
|
|
5227
|
+
description: >-
|
|
5228
|
+
Returns display and formatting preferences for the authorized user.
|
|
5229
|
+
These settings apply across every budgeting account the user owns or
|
|
5230
|
+
collaborates on.
|
|
4959
5231
|
operationId: getUserSettings
|
|
4960
5232
|
responses:
|
|
4961
5233
|
"200":
|
|
@@ -4986,11 +5258,10 @@ paths:
|
|
|
4986
5258
|
summary: Update user settings
|
|
4987
5259
|
description: |-
|
|
4988
5260
|
Updates user-level display and formatting preferences for the user
|
|
4989
|
-
associated with the authorized API token
|
|
4990
|
-
|
|
4991
|
-
|
|
4992
|
-
|
|
4993
|
-
request includes at least one updatable property.<p> Updating
|
|
5261
|
+
associated with the authorized API token. Submit the full response from
|
|
5262
|
+
`GET /me/user/settings` with one or more properties changed, or provide
|
|
5263
|
+
only the properties to update. The request body must include at least
|
|
5264
|
+
one property.<p> Updating
|
|
4994
5265
|
`show_debits_as_negative` affects display in the Lunch Money app only.
|
|
4995
5266
|
Amount fields in API responses always use positive values for debits and
|
|
4996
5267
|
negative values for credits.
|
|
@@ -5030,6 +5301,88 @@ paths:
|
|
|
5030
5301
|
$ref: "#/components/responses/rateLimited"
|
|
5031
5302
|
"500":
|
|
5032
5303
|
$ref: "#/components/responses/serverError"
|
|
5304
|
+
/me/user/account/settings:
|
|
5305
|
+
get:
|
|
5306
|
+
tags:
|
|
5307
|
+
- me
|
|
5308
|
+
summary: Get user account settings
|
|
5309
|
+
description: >-
|
|
5310
|
+
Returns settings specific to the authorized user within the current
|
|
5311
|
+
budgeting account. These settings do not affect other users or the
|
|
5312
|
+
authorized user's settings in other budgeting accounts.
|
|
5313
|
+
operationId: getUserAccountSettings
|
|
5314
|
+
responses:
|
|
5315
|
+
"200":
|
|
5316
|
+
description: Settings for the authorized user in the current budgeting
|
|
5317
|
+
account
|
|
5318
|
+
content:
|
|
5319
|
+
application/json:
|
|
5320
|
+
schema:
|
|
5321
|
+
$ref: "#/components/schemas/userAccountSettingsObject"
|
|
5322
|
+
example:
|
|
5323
|
+
auto_review_transaction_on_update: true
|
|
5324
|
+
auto_review_transaction_on_creation: true
|
|
5325
|
+
default_manual_account_id: null
|
|
5326
|
+
"401":
|
|
5327
|
+
$ref: "#/components/responses/unauthorizedToken"
|
|
5328
|
+
"429":
|
|
5329
|
+
$ref: "#/components/responses/rateLimited"
|
|
5330
|
+
"500":
|
|
5331
|
+
$ref: "#/components/responses/serverError"
|
|
5332
|
+
put:
|
|
5333
|
+
tags:
|
|
5334
|
+
- me
|
|
5335
|
+
summary: Update user account settings
|
|
5336
|
+
description: |-
|
|
5337
|
+
Updates settings specific to the authorized user within the current
|
|
5338
|
+
budgeting account. Submit the full response from
|
|
5339
|
+
`GET /me/user/account/settings` with one or more properties changed, or
|
|
5340
|
+
provide only the properties to update. The request body must include at
|
|
5341
|
+
least one property.
|
|
5342
|
+
operationId: updateUserAccountSettings
|
|
5343
|
+
requestBody:
|
|
5344
|
+
required: true
|
|
5345
|
+
content:
|
|
5346
|
+
application/json:
|
|
5347
|
+
schema:
|
|
5348
|
+
$ref: "#/components/schemas/updateUserAccountSettingsRequestObject"
|
|
5349
|
+
examples:
|
|
5350
|
+
Update review preference:
|
|
5351
|
+
value:
|
|
5352
|
+
auto_review_transaction_on_creation: false
|
|
5353
|
+
Clear default manual account:
|
|
5354
|
+
value:
|
|
5355
|
+
default_manual_account_id: null
|
|
5356
|
+
responses:
|
|
5357
|
+
"200":
|
|
5358
|
+
description: User account settings updated successfully
|
|
5359
|
+
content:
|
|
5360
|
+
application/json:
|
|
5361
|
+
schema:
|
|
5362
|
+
$ref: "#/components/schemas/userAccountSettingsObject"
|
|
5363
|
+
examples:
|
|
5364
|
+
Update review preference:
|
|
5365
|
+
value:
|
|
5366
|
+
auto_review_transaction_on_update: true
|
|
5367
|
+
auto_review_transaction_on_creation: false
|
|
5368
|
+
default_manual_account_id: null
|
|
5369
|
+
Clear default manual account:
|
|
5370
|
+
value:
|
|
5371
|
+
auto_review_transaction_on_update: true
|
|
5372
|
+
auto_review_transaction_on_creation: true
|
|
5373
|
+
default_manual_account_id: null
|
|
5374
|
+
"400":
|
|
5375
|
+
description: Invalid request body
|
|
5376
|
+
content:
|
|
5377
|
+
application/json:
|
|
5378
|
+
schema:
|
|
5379
|
+
$ref: "#/components/schemas/errorResponseObject"
|
|
5380
|
+
"401":
|
|
5381
|
+
$ref: "#/components/responses/unauthorizedToken"
|
|
5382
|
+
"429":
|
|
5383
|
+
$ref: "#/components/responses/rateLimited"
|
|
5384
|
+
"500":
|
|
5385
|
+
$ref: "#/components/responses/serverError"
|
|
5033
5386
|
/summary:
|
|
5034
5387
|
get:
|
|
5035
5388
|
tags:
|
|
@@ -6277,12 +6630,9 @@ paths:
|
|
|
6277
6630
|
tags:
|
|
6278
6631
|
- crypto-manual
|
|
6279
6632
|
summary: Get all supported cryptocurrencies
|
|
6280
|
-
description:
|
|
6633
|
+
description: |-
|
|
6281
6634
|
Retrieve the list of cryptocurrencies currently supported for manual tracking.<p>
|
|
6282
|
-
|
|
6283
|
-
When creating a new manual crypto balance via `POST /crypto/manual`, the
|
|
6284
|
-
`symbol` you specify must match the `symbol` of one of the entries
|
|
6285
|
-
returned by this endpoint.
|
|
6635
|
+
When creating a new manual crypto balance via `POST /crypto/manual`, the `symbol` you specify must match the `symbol` of one of the entries returned by this endpoint.
|
|
6286
6636
|
operationId: getAllCryptocurrencies
|
|
6287
6637
|
responses:
|
|
6288
6638
|
"200":
|
|
@@ -6320,16 +6670,9 @@ paths:
|
|
|
6320
6670
|
- crypto-manual
|
|
6321
6671
|
summary: Add a new supported cryptocurrency
|
|
6322
6672
|
operationId: createCryptocurrency
|
|
6323
|
-
description:
|
|
6673
|
+
description: |-
|
|
6324
6674
|
Adds a new cryptocurrency to the supported manual-crypto list.<br><br>
|
|
6325
|
-
|
|
6326
|
-
Lunch Money uses [CoinGecko](https://www.coingecko.com/us/coins/ethereum)
|
|
6327
|
-
to convert crypto balances to the user's primary currency. Users add a
|
|
6328
|
-
new supported cryptocurrency by submitting a CoinGecko coin-page URL.
|
|
6329
|
-
The server validates the URL, extracts the id from `/coins/{id}`,
|
|
6330
|
-
checks for an existing supported `coingecko_id`, validates the id
|
|
6331
|
-
against CoinGecko, then confirms the resolved symbol is not already
|
|
6332
|
-
supported before creating the new entry.
|
|
6675
|
+
Lunch Money uses [CoinGecko](https://www.coingecko.com/us/coins/ethereum) to convert crypto balances to the user's primary currency. Users add a new supported cryptocurrency by submitting a CoinGecko coin-page URL. The server validates the URL, extracts the id from `/coins/{id}`, checks for an existing supported `coingecko_id`, validates the id against CoinGecko, then confirms the resolved symbol is not already supported before creating the new entry.
|
|
6333
6676
|
requestBody:
|
|
6334
6677
|
required: true
|
|
6335
6678
|
content:
|
|
@@ -6408,8 +6751,8 @@ paths:
|
|
|
6408
6751
|
tags:
|
|
6409
6752
|
- crypto-manual
|
|
6410
6753
|
summary: Get all manual crypto balances
|
|
6411
|
-
description:
|
|
6412
|
-
the user's account.
|
|
6754
|
+
description: |-
|
|
6755
|
+
Retrieve all manually managed crypto balances associated with the user's account.
|
|
6413
6756
|
operationId: getAllCryptoManual
|
|
6414
6757
|
responses:
|
|
6415
6758
|
"200":
|
|
@@ -6443,11 +6786,9 @@ paths:
|
|
|
6443
6786
|
tags:
|
|
6444
6787
|
- crypto-manual
|
|
6445
6788
|
summary: Create a manual crypto balance
|
|
6446
|
-
description:
|
|
6789
|
+
description: |-
|
|
6447
6790
|
Create a manually managed crypto asset.<br><br>
|
|
6448
|
-
|
|
6449
|
-
If `display_name` is `null`, clients may derive one from
|
|
6450
|
-
`institution_name` + `name`.
|
|
6791
|
+
If `display_name` is `null`, clients may derive one from `institution_name` + `name`.
|
|
6451
6792
|
operationId: createCryptoManual
|
|
6452
6793
|
requestBody:
|
|
6453
6794
|
required: true
|
|
@@ -6532,7 +6873,8 @@ paths:
|
|
|
6532
6873
|
tags:
|
|
6533
6874
|
- crypto-manual
|
|
6534
6875
|
summary: Get a single manual crypto balance
|
|
6535
|
-
description:
|
|
6876
|
+
description: |-
|
|
6877
|
+
Retrieve a single manually managed crypto balance by ID.
|
|
6536
6878
|
operationId: getCryptoManualById
|
|
6537
6879
|
parameters:
|
|
6538
6880
|
- name: id
|
|
@@ -6600,11 +6942,9 @@ paths:
|
|
|
6600
6942
|
tags:
|
|
6601
6943
|
- crypto-manual
|
|
6602
6944
|
summary: Update a manual crypto balance
|
|
6603
|
-
description:
|
|
6945
|
+
description: |-
|
|
6604
6946
|
Modify a manually managed crypto balance.<br><br>
|
|
6605
|
-
|
|
6606
|
-
You may submit the response from `GET /crypto/manual/{id}` as the request body. System-defined properties
|
|
6607
|
-
are accepted according to the `x-updatable` metadata in the update schema.
|
|
6947
|
+
You may submit the response from `GET /crypto/manual/{id}` as the request body. System-defined properties are accepted according to the `x-updatable` metadata in the update schema.
|
|
6608
6948
|
operationId: updateCryptoManual
|
|
6609
6949
|
parameters:
|
|
6610
6950
|
- name: id
|
|
@@ -6701,10 +7041,8 @@ paths:
|
|
|
6701
7041
|
tags:
|
|
6702
7042
|
- crypto-manual
|
|
6703
7043
|
summary: Delete a manual crypto balance
|
|
6704
|
-
description:
|
|
6705
|
-
this crypto asset has a balance history, and you do not explicitly set
|
|
6706
|
-
the query parameter`keep_history`, a 422 response will be returned
|
|
6707
|
-
requesting you to explicitly set `keep_history` to `true` or `false`.
|
|
7044
|
+
description: |-
|
|
7045
|
+
Delete a single manually managed crypto asset by ID.<p> If this crypto asset has a balance history, and you do not explicitly set the query parameter`keep_history`, a 422 response will be returned requesting you to explicitly set `keep_history` to `true` or `false`.
|
|
6708
7046
|
operationId: deleteCryptoManual
|
|
6709
7047
|
parameters:
|
|
6710
7048
|
- name: id
|
|
@@ -6769,8 +7107,8 @@ paths:
|
|
|
6769
7107
|
tags:
|
|
6770
7108
|
- crypto-synced
|
|
6771
7109
|
summary: Get all synced crypto accounts
|
|
6772
|
-
description:
|
|
6773
|
-
associated with the user's account.
|
|
7110
|
+
description: |-
|
|
7111
|
+
Retrieves all synced crypto accounts associated with the user's account.
|
|
6774
7112
|
operationId: getAllCryptoSynced
|
|
6775
7113
|
responses:
|
|
6776
7114
|
"200":
|
|
@@ -6832,8 +7170,8 @@ paths:
|
|
|
6832
7170
|
tags:
|
|
6833
7171
|
- crypto-synced
|
|
6834
7172
|
summary: Get a single synced crypto account
|
|
6835
|
-
description:
|
|
6836
|
-
for the specified synced crypto account ID.
|
|
7173
|
+
description: |-
|
|
7174
|
+
Retrieves the synced crypto account and all nested balances for the specified synced crypto account ID.
|
|
6837
7175
|
operationId: getCryptoSyncedById
|
|
6838
7176
|
parameters:
|
|
6839
7177
|
- name: id
|
|
@@ -6913,8 +7251,8 @@ paths:
|
|
|
6913
7251
|
tags:
|
|
6914
7252
|
- crypto-synced
|
|
6915
7253
|
summary: Get a synced crypto balance by symbol
|
|
6916
|
-
description:
|
|
6917
|
-
account using the crypto symbol.
|
|
7254
|
+
description: |-
|
|
7255
|
+
Retrieves a single balance from the specified synced crypto account using the crypto symbol.
|
|
6918
7256
|
operationId: getCryptoSyncedBalanceBySymbol
|
|
6919
7257
|
parameters:
|
|
6920
7258
|
- name: id
|
|
@@ -6993,8 +7331,8 @@ paths:
|
|
|
6993
7331
|
tags:
|
|
6994
7332
|
- crypto-synced
|
|
6995
7333
|
summary: Refresh balances for a synced crypto account
|
|
6996
|
-
description:
|
|
6997
|
-
account. Returns the refreshed synced crypto account.
|
|
7334
|
+
description: |-
|
|
7335
|
+
Trigger a balance refresh for the specified synced crypto account. Returns the refreshed synced crypto account.
|
|
6998
7336
|
operationId: refreshCryptoSynced
|
|
6999
7337
|
parameters:
|
|
7000
7338
|
- name: id
|
|
@@ -7063,51 +7401,55 @@ paths:
|
|
|
7063
7401
|
tags:
|
|
7064
7402
|
- balance_history
|
|
7065
7403
|
summary: Get balance history
|
|
7066
|
-
description:
|
|
7067
|
-
Retrieve
|
|
7068
|
-
|
|
7069
|
-
|
|
7070
|
-
|
|
7071
|
-
|
|
7072
|
-
|
|
7073
|
-
|
|
7074
|
-
|
|
7075
|
-
|
|
7076
|
-
`
|
|
7077
|
-
|
|
7078
|
-
stored entries when no range is provided.<br><br>
|
|
7079
|
-
|
|
7080
|
-
Historical entries for accounts that have been deleted may still
|
|
7081
|
-
be returned. These entries use `source.type: deleted` and include
|
|
7082
|
-
`deleted_account_id`, archived display fields, and account metadata on the
|
|
7083
|
-
`source` object.
|
|
7404
|
+
description: |-
|
|
7405
|
+
Retrieve monthly balance history for all account sources.<br><br>
|
|
7406
|
+
Balance history is monthly. Each entry represents the account balance at or around the end of the specified month. System-generated entries are generally captured near the boundary between months.<br><br>
|
|
7407
|
+
Query with optional `start_month` and `end_month` in YYYY-MM format. The range is inclusive. If either parameter is provided, both are required. `start_month` must not be in the future. `end_month` may not be earlier than `start_month` and must not be in the future. Values must be valid calendar months in exact YYYY-MM format. A full date such as `2026-06-01` is invalid. If neither is provided, all available balance history is returned, including an ephemeral `current` entry for the current month when applicable.<br><br>
|
|
7408
|
+
The response groups entries by source account. Each item in `balance_history` contains a `source` object plus a `balances` array. Within a requested range (or across all history when no range is provided), the array includes only months that have data — months with no data are omitted. A `current` entry is also included when the requested range includes the current month.<br><br>
|
|
7409
|
+
Each balance entry has a `type`:<br>
|
|
7410
|
+
- `historical`: stored snapshot of a past month for an active or deleted account. Includes an `id` that can be used with balance history entry endpoints<br>
|
|
7411
|
+
- `current`: snapshot based on the account's current balances. It is ephemeral and may change between requests. To inspect the underlying account, use the type-specific source id for the `source.type` values:<br>
|
|
7412
|
+
- `manual`: `source.manual_account_id` with [GET /manual_accounts/{id}](#tag/manual-accounts/GET/manual_accounts/{id})<br>
|
|
7413
|
+
- `plaid`: `source.plaid_account_id` with [GET /plaid_accounts/{id}](#tag/plaid-accounts/GET/plaid_accounts/{id})<br>
|
|
7414
|
+
- `crypto_manual`: `source.crypto_manual_id` with [GET /crypto/manual/{id}](#tag/crypto-manual/GET/crypto/manual/{id})<br>
|
|
7415
|
+
- `crypto_synced`: `source.crypto_synced_id` and `source.symbol` with [GET /crypto/synced/{id}/{symbol}](#tag/crypto-synced/GET/crypto/synced/{id}/{symbol})
|
|
7084
7416
|
operationId: getBalanceHistory
|
|
7085
7417
|
parameters:
|
|
7086
|
-
- name:
|
|
7418
|
+
- name: start_month
|
|
7087
7419
|
in: query
|
|
7088
|
-
description:
|
|
7420
|
+
description: >-
|
|
7421
|
+
Optional start of the requested history range as a calendar month in
|
|
7422
|
+
YYYY-MM format (for example `2026-06`). If set, `end_month` is also
|
|
7423
|
+
required. The range is inclusive. `start_month` must not be in the
|
|
7424
|
+
future. A full date such as `2026-06-01` is invalid.
|
|
7089
7425
|
required: false
|
|
7090
7426
|
schema:
|
|
7091
7427
|
type: string
|
|
7092
|
-
|
|
7428
|
+
pattern: '^\d{4}-(0[1-9]|1[0-2])$'
|
|
7093
7429
|
examples:
|
|
7094
7430
|
range start:
|
|
7095
|
-
summary: Start
|
|
7096
|
-
value: "2026-01
|
|
7097
|
-
- name:
|
|
7431
|
+
summary: Start month
|
|
7432
|
+
value: "2026-01"
|
|
7433
|
+
- name: end_month
|
|
7098
7434
|
in: query
|
|
7099
|
-
description:
|
|
7435
|
+
description: >-
|
|
7436
|
+
Optional end of the requested history range as a calendar month in
|
|
7437
|
+
YYYY-MM format (for example `2026-06`). If set, `start_month` is also
|
|
7438
|
+
required. The range is inclusive. `end_month` may not be earlier than
|
|
7439
|
+
`start_month` and must not be in the future. A full date such as
|
|
7440
|
+
`2026-06-01` is invalid. For a single month, set this to the same
|
|
7441
|
+
value as `start_month`.
|
|
7100
7442
|
required: false
|
|
7101
7443
|
schema:
|
|
7102
7444
|
type: string
|
|
7103
|
-
|
|
7445
|
+
pattern: '^\d{4}-(0[1-9]|1[0-2])$'
|
|
7104
7446
|
examples:
|
|
7105
7447
|
range end:
|
|
7106
|
-
summary: End
|
|
7107
|
-
value: "2026-03
|
|
7448
|
+
summary: End month
|
|
7449
|
+
value: "2026-03"
|
|
7108
7450
|
responses:
|
|
7109
7451
|
"200":
|
|
7110
|
-
description:
|
|
7452
|
+
description: Monthly balance history for the requested month range
|
|
7111
7453
|
content:
|
|
7112
7454
|
application/json:
|
|
7113
7455
|
schema:
|
|
@@ -7120,14 +7462,16 @@ paths:
|
|
|
7120
7462
|
type: manual
|
|
7121
7463
|
manual_account_id: 119807
|
|
7122
7464
|
balances:
|
|
7123
|
-
-
|
|
7124
|
-
|
|
7465
|
+
- type: historical
|
|
7466
|
+
id: 101
|
|
7467
|
+
month: "2026-01"
|
|
7125
7468
|
balance: "41000.0000"
|
|
7126
7469
|
currency: usd
|
|
7127
7470
|
to_base: 41000
|
|
7128
7471
|
crypto_balance: null
|
|
7129
|
-
-
|
|
7130
|
-
|
|
7472
|
+
- type: historical
|
|
7473
|
+
id: 102
|
|
7474
|
+
month: "2026-02"
|
|
7131
7475
|
balance: "41211.8000"
|
|
7132
7476
|
currency: usd
|
|
7133
7477
|
to_base: 41211.8
|
|
@@ -7136,8 +7480,9 @@ paths:
|
|
|
7136
7480
|
type: plaid
|
|
7137
7481
|
plaid_account_id: 119808
|
|
7138
7482
|
balances:
|
|
7139
|
-
-
|
|
7140
|
-
|
|
7483
|
+
- type: historical
|
|
7484
|
+
id: 103
|
|
7485
|
+
month: "2026-01"
|
|
7141
7486
|
balance: "5498.2800"
|
|
7142
7487
|
currency: usd
|
|
7143
7488
|
to_base: 5498.28
|
|
@@ -7147,8 +7492,9 @@ paths:
|
|
|
7147
7492
|
crypto_manual_id: 22001
|
|
7148
7493
|
symbol: btc
|
|
7149
7494
|
balances:
|
|
7150
|
-
-
|
|
7151
|
-
|
|
7495
|
+
- type: historical
|
|
7496
|
+
id: 104
|
|
7497
|
+
month: "2026-01"
|
|
7152
7498
|
balance: "53124.7200"
|
|
7153
7499
|
currency: usd
|
|
7154
7500
|
to_base: 53124.72
|
|
@@ -7158,8 +7504,9 @@ paths:
|
|
|
7158
7504
|
crypto_synced_id: 33004
|
|
7159
7505
|
symbol: btc
|
|
7160
7506
|
balances:
|
|
7161
|
-
-
|
|
7162
|
-
|
|
7507
|
+
- type: historical
|
|
7508
|
+
id: 105
|
|
7509
|
+
month: "2026-01"
|
|
7163
7510
|
balance: "6231.2800"
|
|
7164
7511
|
currency: usd
|
|
7165
7512
|
to_base: 6231.28
|
|
@@ -7175,12 +7522,34 @@ paths:
|
|
|
7175
7522
|
mask: "1234"
|
|
7176
7523
|
symbol: null
|
|
7177
7524
|
balances:
|
|
7178
|
-
-
|
|
7179
|
-
|
|
7525
|
+
- type: historical
|
|
7526
|
+
id: 106
|
|
7527
|
+
month: "2026-01"
|
|
7180
7528
|
balance: "1250.0000"
|
|
7181
7529
|
currency: usd
|
|
7182
7530
|
to_base: 1250
|
|
7183
7531
|
crypto_balance: null
|
|
7532
|
+
historical and current:
|
|
7533
|
+
summary: Historical month plus ephemeral current month
|
|
7534
|
+
value:
|
|
7535
|
+
balance_history:
|
|
7536
|
+
- source:
|
|
7537
|
+
type: manual
|
|
7538
|
+
manual_account_id: 162003
|
|
7539
|
+
balances:
|
|
7540
|
+
- type: historical
|
|
7541
|
+
id: 7437356
|
|
7542
|
+
month: "2026-06"
|
|
7543
|
+
balance: "62.8"
|
|
7544
|
+
currency: usd
|
|
7545
|
+
to_base: 62.8
|
|
7546
|
+
crypto_balance: null
|
|
7547
|
+
- type: current
|
|
7548
|
+
month: "2026-07"
|
|
7549
|
+
balance: "71.2"
|
|
7550
|
+
currency: usd
|
|
7551
|
+
to_base: 71.2
|
|
7552
|
+
crypto_balance: null
|
|
7184
7553
|
manual account history:
|
|
7185
7554
|
value:
|
|
7186
7555
|
balance_history:
|
|
@@ -7188,14 +7557,16 @@ paths:
|
|
|
7188
7557
|
type: manual
|
|
7189
7558
|
manual_account_id: 119807
|
|
7190
7559
|
balances:
|
|
7191
|
-
-
|
|
7192
|
-
|
|
7560
|
+
- type: historical
|
|
7561
|
+
id: 201
|
|
7562
|
+
month: "2026-01"
|
|
7193
7563
|
balance: "41000.0000"
|
|
7194
7564
|
currency: usd
|
|
7195
7565
|
to_base: 41000
|
|
7196
7566
|
crypto_balance: null
|
|
7197
|
-
-
|
|
7198
|
-
|
|
7567
|
+
- type: historical
|
|
7568
|
+
id: 202
|
|
7569
|
+
month: "2026-02"
|
|
7199
7570
|
balance: "41211.8000"
|
|
7200
7571
|
currency: usd
|
|
7201
7572
|
to_base: 41211.8
|
|
@@ -7207,8 +7578,9 @@ paths:
|
|
|
7207
7578
|
type: plaid
|
|
7208
7579
|
plaid_account_id: 119808
|
|
7209
7580
|
balances:
|
|
7210
|
-
-
|
|
7211
|
-
|
|
7581
|
+
- type: historical
|
|
7582
|
+
id: 301
|
|
7583
|
+
month: "2026-02"
|
|
7212
7584
|
balance: "5498.2800"
|
|
7213
7585
|
currency: usd
|
|
7214
7586
|
to_base: 5498.28
|
|
@@ -7221,8 +7593,9 @@ paths:
|
|
|
7221
7593
|
crypto_synced_id: 33004
|
|
7222
7594
|
symbol: btc
|
|
7223
7595
|
balances:
|
|
7224
|
-
-
|
|
7225
|
-
|
|
7596
|
+
- type: historical
|
|
7597
|
+
id: 401
|
|
7598
|
+
month: "2026-02"
|
|
7226
7599
|
balance: "6231.2800"
|
|
7227
7600
|
currency: usd
|
|
7228
7601
|
to_base: 6231.28
|
|
@@ -7241,8 +7614,9 @@ paths:
|
|
|
7241
7614
|
mask: "1234"
|
|
7242
7615
|
symbol: null
|
|
7243
7616
|
balances:
|
|
7244
|
-
-
|
|
7245
|
-
|
|
7617
|
+
- type: historical
|
|
7618
|
+
id: 501
|
|
7619
|
+
month: "2026-01"
|
|
7246
7620
|
balance: "1250.0000"
|
|
7247
7621
|
currency: usd
|
|
7248
7622
|
to_base: 1250
|
|
@@ -7254,26 +7628,31 @@ paths:
|
|
|
7254
7628
|
schema:
|
|
7255
7629
|
$ref: "#/components/schemas/errorResponseObject"
|
|
7256
7630
|
examples:
|
|
7257
|
-
missing paired
|
|
7631
|
+
missing paired month:
|
|
7258
7632
|
value:
|
|
7259
7633
|
message: Request Validation Failure
|
|
7260
7634
|
errors:
|
|
7261
|
-
- errMsg: "`
|
|
7635
|
+
- errMsg: "`start_month` and `end_month` must either both be provided or both be omitted."
|
|
7262
7636
|
invalid range:
|
|
7263
7637
|
value:
|
|
7264
7638
|
message: Request Validation Failure
|
|
7265
7639
|
errors:
|
|
7266
|
-
- errMsg: "`
|
|
7267
|
-
|
|
7640
|
+
- errMsg: "`end_month` may not be earlier than `start_month`."
|
|
7641
|
+
invalid month format:
|
|
7642
|
+
value:
|
|
7643
|
+
message: Invalid Request Parameters
|
|
7644
|
+
errors:
|
|
7645
|
+
- errMsg: "Invalid value for parameter: 'start_month'. '2026-06-01' is not a valid month in YYYY-MM format."
|
|
7646
|
+
future start month:
|
|
7268
7647
|
value:
|
|
7269
7648
|
message: Request Validation Failure
|
|
7270
7649
|
errors:
|
|
7271
|
-
- errMsg: "`
|
|
7272
|
-
future
|
|
7650
|
+
- errMsg: "`start_month` must not be in the future."
|
|
7651
|
+
future end month:
|
|
7273
7652
|
value:
|
|
7274
7653
|
message: Request Validation Failure
|
|
7275
7654
|
errors:
|
|
7276
|
-
- errMsg: "`
|
|
7655
|
+
- errMsg: "`end_month` must not be in the future."
|
|
7277
7656
|
"401":
|
|
7278
7657
|
$ref: "#/components/responses/unauthorizedToken"
|
|
7279
7658
|
"429":
|
|
@@ -7285,23 +7664,16 @@ paths:
|
|
|
7285
7664
|
tags:
|
|
7286
7665
|
- balance_history
|
|
7287
7666
|
summary: Get balance history for an account
|
|
7288
|
-
description:
|
|
7289
|
-
Retrieve
|
|
7290
|
-
|
|
7291
|
-
|
|
7292
|
-
The `account_type` path parameter identifies the type of account and the
|
|
7293
|
-
`account_id` path parameter identifies the specific id for that account type.<br><br>
|
|
7294
|
-
|
|
7295
|
-
When `start_date` and `end_date` are both provided, they must be first-of-month
|
|
7296
|
-
dates. `start_date` must not be in the future, while `end_date` may be in the future.
|
|
7297
|
-
If one of `start_date` or `end_date` is provided, the other is required. If neither is
|
|
7298
|
-
provided, all available history for the source is returned.
|
|
7667
|
+
description: |-
|
|
7668
|
+
Retrieve monthly balance history for one manual, Plaid, manual crypto, or deleted account. For synced crypto symbol streams, use [GET /balance_history/crypto_synced/{account_id}/{symbol}](#tag/balance-history/GET/balance_history/crypto_synced/{account_id}/{symbol}).<br><br>
|
|
7669
|
+
The `account_type` path parameter identifies the account family (`manual`, `plaid`, `crypto_manual`, or `deleted`) and `account_id` identifies the account within that family.<br><br>
|
|
7670
|
+
`start_month`, `end_month`, and current-month entries behave as described in [GET /balance_history](#tag/balance-history/GET/balance_history).
|
|
7299
7671
|
operationId: getBalanceHistoryForAccount
|
|
7300
7672
|
parameters:
|
|
7301
7673
|
- name: account_type
|
|
7302
7674
|
in: path
|
|
7303
7675
|
required: true
|
|
7304
|
-
description:
|
|
7676
|
+
description: Account family to retrieve. Use `manual`, `plaid`, `crypto_manual`, or `deleted`.
|
|
7305
7677
|
schema:
|
|
7306
7678
|
type: string
|
|
7307
7679
|
enum: [manual, plaid, crypto_manual, deleted]
|
|
@@ -7312,23 +7684,27 @@ paths:
|
|
|
7312
7684
|
schema:
|
|
7313
7685
|
type: integer
|
|
7314
7686
|
format: int32
|
|
7315
|
-
- name:
|
|
7687
|
+
- name: start_month
|
|
7316
7688
|
in: query
|
|
7317
|
-
description:
|
|
7689
|
+
description: >-
|
|
7690
|
+
Optional. Same format and constraints as `start_month` on
|
|
7691
|
+
[GET /balance_history](#tag/balance-history/GET/balance_history).
|
|
7318
7692
|
required: false
|
|
7319
7693
|
schema:
|
|
7320
7694
|
type: string
|
|
7321
|
-
|
|
7322
|
-
- name:
|
|
7695
|
+
pattern: '^\d{4}-(0[1-9]|1[0-2])$'
|
|
7696
|
+
- name: end_month
|
|
7323
7697
|
in: query
|
|
7324
|
-
description:
|
|
7698
|
+
description: >-
|
|
7699
|
+
Optional. Same format and constraints as `end_month` on
|
|
7700
|
+
[GET /balance_history](#tag/balance-history/GET/balance_history).
|
|
7325
7701
|
required: false
|
|
7326
7702
|
schema:
|
|
7327
7703
|
type: string
|
|
7328
|
-
|
|
7704
|
+
pattern: '^\d{4}-(0[1-9]|1[0-2])$'
|
|
7329
7705
|
responses:
|
|
7330
7706
|
"200":
|
|
7331
|
-
description:
|
|
7707
|
+
description: Monthly balance history for the requested source
|
|
7332
7708
|
content:
|
|
7333
7709
|
application/json:
|
|
7334
7710
|
schema:
|
|
@@ -7341,14 +7717,16 @@ paths:
|
|
|
7341
7717
|
type: manual
|
|
7342
7718
|
manual_account_id: 119807
|
|
7343
7719
|
balances:
|
|
7344
|
-
-
|
|
7345
|
-
|
|
7720
|
+
- type: historical
|
|
7721
|
+
id: 201
|
|
7722
|
+
month: "2026-01"
|
|
7346
7723
|
balance: "41000.0000"
|
|
7347
7724
|
currency: usd
|
|
7348
7725
|
to_base: 41000
|
|
7349
7726
|
crypto_balance: null
|
|
7350
|
-
-
|
|
7351
|
-
|
|
7727
|
+
- type: historical
|
|
7728
|
+
id: 202
|
|
7729
|
+
month: "2026-02"
|
|
7352
7730
|
balance: "41211.8000"
|
|
7353
7731
|
currency: usd
|
|
7354
7732
|
to_base: 41211.8
|
|
@@ -7367,8 +7745,9 @@ paths:
|
|
|
7367
7745
|
mask: "1234"
|
|
7368
7746
|
symbol: null
|
|
7369
7747
|
balances:
|
|
7370
|
-
-
|
|
7371
|
-
|
|
7748
|
+
- type: historical
|
|
7749
|
+
id: 501
|
|
7750
|
+
month: "2026-01"
|
|
7372
7751
|
balance: "1250.0000"
|
|
7373
7752
|
currency: usd
|
|
7374
7753
|
to_base: 1250
|
|
@@ -7380,16 +7759,16 @@ paths:
|
|
|
7380
7759
|
schema:
|
|
7381
7760
|
$ref: "#/components/schemas/errorResponseObject"
|
|
7382
7761
|
examples:
|
|
7383
|
-
missing paired
|
|
7762
|
+
missing paired month:
|
|
7384
7763
|
value:
|
|
7385
7764
|
message: Request Validation Failure
|
|
7386
7765
|
errors:
|
|
7387
|
-
- errMsg: "`
|
|
7388
|
-
invalid
|
|
7766
|
+
- errMsg: "`start_month` and `end_month` must either both be provided or both be omitted."
|
|
7767
|
+
invalid month format:
|
|
7389
7768
|
value:
|
|
7390
|
-
message: Request
|
|
7769
|
+
message: Invalid Request Parameters
|
|
7391
7770
|
errors:
|
|
7392
|
-
- errMsg: "
|
|
7771
|
+
- errMsg: "Invalid value for parameter: 'start_month'. '2026-06-01' is not a valid month in YYYY-MM format."
|
|
7393
7772
|
"401":
|
|
7394
7773
|
$ref: "#/components/responses/unauthorizedToken"
|
|
7395
7774
|
"404":
|
|
@@ -7417,37 +7796,20 @@ paths:
|
|
|
7417
7796
|
tags:
|
|
7418
7797
|
- balance_history
|
|
7419
7798
|
summary: Upsert balance history for an account
|
|
7420
|
-
description:
|
|
7421
|
-
Upsert one or more historical balance entries for a single manual, Plaid,
|
|
7422
|
-
|
|
7423
|
-
|
|
7424
|
-
|
|
7425
|
-
`
|
|
7426
|
-
|
|
7427
|
-
|
|
7428
|
-
a `date` and `balance` value.<br><br>
|
|
7429
|
-
|
|
7430
|
-
Balance history is monthly. Each entry's `date` must be the first day of
|
|
7431
|
-
a month and must be in a past month.<br><br>
|
|
7432
|
-
|
|
7433
|
-
`currency` may be provided for any balance entry. If omitted, it defaults
|
|
7434
|
-
to the account currency for manual/Plaid accounts, or the user's primary
|
|
7435
|
-
currency for crypto/deleted accounts.<br><br>
|
|
7436
|
-
|
|
7437
|
-
`symbol` may only be set when `account_type` is `crypto_manual` or
|
|
7438
|
-
`crypto_synced`. It is optional for `crypto_manual` accounts and tolerated
|
|
7439
|
-
for `deleted` accounts.<br><br>
|
|
7440
|
-
|
|
7441
|
-
`crypto_balance` may be provided for `crypto_manual`, `crypto_synced`, and
|
|
7442
|
-
`deleted` accounts, and is invalid for `manual` or `plaid` accounts.<br><br>
|
|
7443
|
-
|
|
7444
|
-
The response contains only the balance entries that were submitted in this request.
|
|
7799
|
+
description: |-
|
|
7800
|
+
Upsert one or more historical balance entries for a single manual, Plaid, manual crypto, or deleted account. For synced crypto symbol streams, use [PUT /balance_history/crypto_synced/{account_id}/{symbol}](#tag/balance-history/PUT/balance_history/crypto_synced/{account_id}/{symbol}).<br><br>
|
|
7801
|
+
The `account_type` path parameter identifies the account family (`manual`, `plaid`, `crypto_manual`, or `deleted`) and `account_id` identifies the account within that family.<br><br>
|
|
7802
|
+
Submit one or more entries in the `balances` array. Each entry must specify a `month` (YYYY-MM) and `balance` value. `month` must be a past calendar month. The current month cannot be written through this endpoint.<br><br>
|
|
7803
|
+
`currency` may be provided for any balance entry. If omitted, it defaults to the account currency for manual/Plaid accounts, or the user's primary currency for crypto/deleted accounts.<br><br>
|
|
7804
|
+
`symbol` may be set for `crypto_manual` (optional) and `deleted` (tolerated) accounts. Do not provide it for `manual` or `plaid` accounts.<br><br>
|
|
7805
|
+
`crypto_balance` may be provided for `crypto_manual` and `deleted` accounts. It is invalid for `manual` or `plaid` accounts.<br><br>
|
|
7806
|
+
The response contains only the `type: historical` balance entries that were submitted in this request.
|
|
7445
7807
|
operationId: upsertBalanceHistoryForAccount
|
|
7446
7808
|
parameters:
|
|
7447
7809
|
- name: account_type
|
|
7448
7810
|
in: path
|
|
7449
7811
|
required: true
|
|
7450
|
-
description:
|
|
7812
|
+
description: Account family to update. Use `manual`, `plaid`, `crypto_manual`, or `deleted`.
|
|
7451
7813
|
schema:
|
|
7452
7814
|
type: string
|
|
7453
7815
|
enum: [manual, plaid, crypto_manual, deleted]
|
|
@@ -7468,21 +7830,21 @@ paths:
|
|
|
7468
7830
|
manual account bulk upsert:
|
|
7469
7831
|
value:
|
|
7470
7832
|
balances:
|
|
7471
|
-
-
|
|
7833
|
+
- month: "2026-03"
|
|
7472
7834
|
balance: "41500.0000"
|
|
7473
|
-
-
|
|
7835
|
+
- month: "2026-04"
|
|
7474
7836
|
balance: "41625.5000"
|
|
7475
7837
|
crypto manual balance with symbol:
|
|
7476
7838
|
value:
|
|
7477
7839
|
balances:
|
|
7478
|
-
-
|
|
7840
|
+
- month: "2026-03"
|
|
7479
7841
|
balance: "56011.1200"
|
|
7480
7842
|
symbol: btc
|
|
7481
7843
|
crypto_balance: "0.852341920145782301"
|
|
7482
7844
|
deleted account bulk upsert:
|
|
7483
7845
|
value:
|
|
7484
7846
|
balances:
|
|
7485
|
-
-
|
|
7847
|
+
- month: "2026-03"
|
|
7486
7848
|
symbol: btc
|
|
7487
7849
|
crypto_balance: "0.020000000000000000"
|
|
7488
7850
|
currency: usd
|
|
@@ -7491,55 +7853,59 @@ paths:
|
|
|
7491
7853
|
value:
|
|
7492
7854
|
balances:
|
|
7493
7855
|
- id: 601
|
|
7494
|
-
|
|
7856
|
+
month: "2026-03"
|
|
7495
7857
|
balance: "41500.0000"
|
|
7496
7858
|
currency: usd
|
|
7497
7859
|
to_base: 41500
|
|
7498
7860
|
crypto_balance: null
|
|
7499
7861
|
responses:
|
|
7500
7862
|
"200":
|
|
7501
|
-
description:
|
|
7502
|
-
|
|
7863
|
+
description: >-
|
|
7864
|
+
Returns only the `type: historical` entries modified by this request.
|
|
7865
|
+
Other historical entries for the account are omitted from `balances`.
|
|
7503
7866
|
content:
|
|
7504
7867
|
application/json:
|
|
7505
7868
|
schema:
|
|
7506
7869
|
$ref: "#/components/schemas/balanceHistoryAccountObject"
|
|
7507
7870
|
examples:
|
|
7508
7871
|
manual account bulk upsert:
|
|
7509
|
-
summary: Two upserted
|
|
7872
|
+
summary: Two upserted entries returned (not full account history)
|
|
7510
7873
|
value:
|
|
7511
7874
|
source:
|
|
7512
7875
|
type: manual
|
|
7513
7876
|
manual_account_id: 119807
|
|
7514
7877
|
balances:
|
|
7515
|
-
-
|
|
7516
|
-
|
|
7878
|
+
- type: historical
|
|
7879
|
+
id: 601
|
|
7880
|
+
month: "2026-03"
|
|
7517
7881
|
balance: "41500.0000"
|
|
7518
7882
|
currency: usd
|
|
7519
7883
|
to_base: 41500
|
|
7520
7884
|
crypto_balance: null
|
|
7521
|
-
-
|
|
7522
|
-
|
|
7885
|
+
- type: historical
|
|
7886
|
+
id: 602
|
|
7887
|
+
month: "2026-04"
|
|
7523
7888
|
balance: "41625.5000"
|
|
7524
7889
|
currency: usd
|
|
7525
7890
|
to_base: 41625.5
|
|
7526
7891
|
crypto_balance: null
|
|
7527
7892
|
crypto manual balance with symbol:
|
|
7528
|
-
summary: Single upserted
|
|
7893
|
+
summary: Single upserted entry returned
|
|
7529
7894
|
value:
|
|
7530
7895
|
source:
|
|
7531
7896
|
type: crypto_manual
|
|
7532
7897
|
crypto_manual_id: 22001
|
|
7533
7898
|
symbol: btc
|
|
7534
7899
|
balances:
|
|
7535
|
-
-
|
|
7536
|
-
|
|
7900
|
+
- type: historical
|
|
7901
|
+
id: 603
|
|
7902
|
+
month: "2026-03"
|
|
7537
7903
|
balance: "56011.1200"
|
|
7538
7904
|
currency: usd
|
|
7539
7905
|
to_base: 56011.12
|
|
7540
7906
|
crypto_balance: "0.852341920145782301"
|
|
7541
7907
|
deleted account bulk upsert:
|
|
7542
|
-
summary: Single upserted
|
|
7908
|
+
summary: Single upserted entry returned
|
|
7543
7909
|
value:
|
|
7544
7910
|
source:
|
|
7545
7911
|
type: deleted
|
|
@@ -7552,15 +7918,17 @@ paths:
|
|
|
7552
7918
|
mask: "1234"
|
|
7553
7919
|
symbol: btc
|
|
7554
7920
|
balances:
|
|
7555
|
-
-
|
|
7556
|
-
|
|
7921
|
+
- type: historical
|
|
7922
|
+
id: 504
|
|
7923
|
+
month: "2026-03"
|
|
7557
7924
|
balance: "1255"
|
|
7558
7925
|
currency: usd
|
|
7559
7926
|
to_base: 1255
|
|
7560
7927
|
crypto_balance: "0.020000000000000000"
|
|
7561
7928
|
"400":
|
|
7562
|
-
description:
|
|
7563
|
-
`balances` fails validation
|
|
7929
|
+
description: >-
|
|
7930
|
+
Bad Request. If any entry in `balances` fails validation, the entire
|
|
7931
|
+
request is rejected and no entries are updated.
|
|
7564
7932
|
content:
|
|
7565
7933
|
application/json:
|
|
7566
7934
|
schema:
|
|
@@ -7581,30 +7949,34 @@ paths:
|
|
|
7581
7949
|
message: Invalid Request Body
|
|
7582
7950
|
errors:
|
|
7583
7951
|
- errMsg: "Invalid property 'foo' in request body."
|
|
7584
|
-
invalid
|
|
7952
|
+
invalid month format:
|
|
7953
|
+
value:
|
|
7954
|
+
message: Invalid Request Body
|
|
7955
|
+
errors:
|
|
7956
|
+
- errMsg: "Invalid value for property 'balances.0.month'. '2026-06-01' is not a valid month in YYYY-MM format."
|
|
7957
|
+
current month:
|
|
7585
7958
|
value:
|
|
7586
7959
|
message: Request Validation Failure
|
|
7587
7960
|
errors:
|
|
7588
|
-
- errMsg: "`
|
|
7961
|
+
- errMsg: "`month` must not be the current month."
|
|
7589
7962
|
request_balances_index: 0
|
|
7590
|
-
|
|
7591
|
-
future date:
|
|
7963
|
+
future month:
|
|
7592
7964
|
value:
|
|
7593
7965
|
message: Request Validation Failure
|
|
7594
7966
|
errors:
|
|
7595
|
-
- errMsg: "`
|
|
7967
|
+
- errMsg: "`month` must not be in the future."
|
|
7596
7968
|
request_balances_index: 1
|
|
7597
7969
|
crypto balance not allowed:
|
|
7598
7970
|
value:
|
|
7599
7971
|
message: Request Validation Failure
|
|
7600
7972
|
errors:
|
|
7601
|
-
- errMsg: "`crypto_balance` may only be set when `account_type` is `crypto_manual
|
|
7973
|
+
- errMsg: "`crypto_balance` may only be set when `account_type` is `crypto_manual` or `deleted`."
|
|
7602
7974
|
request_balances_index: 0
|
|
7603
|
-
invalid
|
|
7975
|
+
invalid entry in bulk request:
|
|
7604
7976
|
value:
|
|
7605
7977
|
message: Request Validation Failure
|
|
7606
7978
|
errors:
|
|
7607
|
-
- errMsg: "`symbol` may only be set when `account_type` is `crypto_manual` or `
|
|
7979
|
+
- errMsg: "`symbol` may only be set when `account_type` is `crypto_manual` or `deleted`."
|
|
7608
7980
|
request_balances_index: 1
|
|
7609
7981
|
"401":
|
|
7610
7982
|
$ref: "#/components/responses/unauthorizedToken"
|
|
@@ -7626,15 +7998,14 @@ paths:
|
|
|
7626
7998
|
tags:
|
|
7627
7999
|
- balance_history
|
|
7628
8000
|
summary: Delete all balance history for an account
|
|
7629
|
-
description:
|
|
7630
|
-
Delete all historical balance entries for a single manual, Plaid,
|
|
7631
|
-
manual crypto, or deleted account. Crypto synced accounts require an additional `symbol` path parameter.
|
|
8001
|
+
description: |-
|
|
8002
|
+
Delete all historical balance entries for a single manual, Plaid, manual crypto, or deleted account. For synced crypto symbol streams, use [DELETE /balance_history/crypto_synced/{account_id}/{symbol}](#tag/balance-history/DELETE/balance_history/crypto_synced/{account_id}/{symbol}).
|
|
7632
8003
|
operationId: deleteBalanceHistoryForAccount
|
|
7633
8004
|
parameters:
|
|
7634
8005
|
- name: account_type
|
|
7635
8006
|
in: path
|
|
7636
8007
|
required: true
|
|
7637
|
-
description:
|
|
8008
|
+
description: Account family to delete. Use `manual`, `plaid`, `crypto_manual`, or `deleted`.
|
|
7638
8009
|
schema:
|
|
7639
8010
|
type: string
|
|
7640
8011
|
enum: [manual, plaid, crypto_manual, deleted]
|
|
@@ -7671,16 +8042,10 @@ paths:
|
|
|
7671
8042
|
tags:
|
|
7672
8043
|
- balance_history
|
|
7673
8044
|
summary: Get balance history for a synced crypto symbol
|
|
7674
|
-
description:
|
|
7675
|
-
Retrieve
|
|
7676
|
-
|
|
7677
|
-
|
|
7678
|
-
to select one balance stream within that synced crypto account.<br><br>
|
|
7679
|
-
|
|
7680
|
-
When `start_date` and `end_date` are both provided, they must be first-of-month
|
|
7681
|
-
dates. `start_date` must not be in the future, while `end_date` may be in the future.
|
|
7682
|
-
If one of `start_date` or `end_date` is provided, the other is required. If neither is
|
|
7683
|
-
provided, all available history for the symbol stream is returned.
|
|
8045
|
+
description: |-
|
|
8046
|
+
Retrieve monthly balance history for a single synced crypto symbol stream.<br><br>
|
|
8047
|
+
The path selects one balance stream with a synced crypto account id and `symbol`.<br><br>
|
|
8048
|
+
`start_month`, `end_month`, and current-month entries behave as described in [GET /balance_history](#tag/balance-history/GET/balance_history).
|
|
7684
8049
|
operationId: getBalanceHistoryForCryptoSynced
|
|
7685
8050
|
parameters:
|
|
7686
8051
|
- name: account_id
|
|
@@ -7698,23 +8063,27 @@ paths:
|
|
|
7698
8063
|
type: string
|
|
7699
8064
|
minLength: 1
|
|
7700
8065
|
maxLength: 25
|
|
7701
|
-
- name:
|
|
8066
|
+
- name: start_month
|
|
7702
8067
|
in: query
|
|
7703
|
-
description:
|
|
8068
|
+
description: >-
|
|
8069
|
+
Optional. Same format and constraints as `start_month` on
|
|
8070
|
+
[GET /balance_history](#tag/balance-history/GET/balance_history).
|
|
7704
8071
|
required: false
|
|
7705
8072
|
schema:
|
|
7706
8073
|
type: string
|
|
7707
|
-
|
|
7708
|
-
- name:
|
|
8074
|
+
pattern: '^\d{4}-(0[1-9]|1[0-2])$'
|
|
8075
|
+
- name: end_month
|
|
7709
8076
|
in: query
|
|
7710
|
-
description:
|
|
8077
|
+
description: >-
|
|
8078
|
+
Optional. Same format and constraints as `end_month` on
|
|
8079
|
+
[GET /balance_history](#tag/balance-history/GET/balance_history).
|
|
7711
8080
|
required: false
|
|
7712
8081
|
schema:
|
|
7713
8082
|
type: string
|
|
7714
|
-
|
|
8083
|
+
pattern: '^\d{4}-(0[1-9]|1[0-2])$'
|
|
7715
8084
|
responses:
|
|
7716
8085
|
"200":
|
|
7717
|
-
description:
|
|
8086
|
+
description: Monthly balance history for the synced crypto symbol stream
|
|
7718
8087
|
content:
|
|
7719
8088
|
application/json:
|
|
7720
8089
|
schema:
|
|
@@ -7726,8 +8095,9 @@ paths:
|
|
|
7726
8095
|
crypto_synced_id: 33004
|
|
7727
8096
|
symbol: btc
|
|
7728
8097
|
balances:
|
|
7729
|
-
-
|
|
7730
|
-
|
|
8098
|
+
- type: historical
|
|
8099
|
+
id: 401
|
|
8100
|
+
month: "2026-02"
|
|
7731
8101
|
balance: "6231.2800"
|
|
7732
8102
|
currency: usd
|
|
7733
8103
|
to_base: 6231.28
|
|
@@ -7739,16 +8109,16 @@ paths:
|
|
|
7739
8109
|
schema:
|
|
7740
8110
|
$ref: "#/components/schemas/errorResponseObject"
|
|
7741
8111
|
examples:
|
|
7742
|
-
missing paired
|
|
8112
|
+
missing paired month:
|
|
7743
8113
|
value:
|
|
7744
8114
|
message: Request Validation Failure
|
|
7745
8115
|
errors:
|
|
7746
|
-
- errMsg: "`
|
|
7747
|
-
invalid
|
|
8116
|
+
- errMsg: "`start_month` and `end_month` must either both be provided or both be omitted."
|
|
8117
|
+
invalid month format:
|
|
7748
8118
|
value:
|
|
7749
|
-
message: Request
|
|
8119
|
+
message: Invalid Request Parameters
|
|
7750
8120
|
errors:
|
|
7751
|
-
- errMsg: "
|
|
8121
|
+
- errMsg: "Invalid value for parameter: 'start_month'. '2026-06-01' is not a valid month in YYYY-MM format."
|
|
7752
8122
|
"401":
|
|
7753
8123
|
$ref: "#/components/responses/unauthorizedToken"
|
|
7754
8124
|
"404":
|
|
@@ -7776,28 +8146,14 @@ paths:
|
|
|
7776
8146
|
tags:
|
|
7777
8147
|
- balance_history
|
|
7778
8148
|
summary: Upsert balance history for a synced crypto symbol
|
|
7779
|
-
description:
|
|
7780
|
-
Upsert one or more historical balance entries for a single synced crypto
|
|
7781
|
-
symbol stream.<br><br>
|
|
7782
|
-
|
|
8149
|
+
description: |-
|
|
8150
|
+
Upsert one or more historical balance entries for a single synced crypto symbol stream.<br><br>
|
|
7783
8151
|
The path identifies both the synced crypto account and the symbol being updated.<br><br>
|
|
7784
|
-
|
|
7785
|
-
|
|
7786
|
-
|
|
7787
|
-
|
|
7788
|
-
Balance history is monthly. Each entry's `date` must be the first day of
|
|
7789
|
-
a month and must be in a past month.<br><br>
|
|
7790
|
-
|
|
7791
|
-
The request body may include an optional `symbol` on each balance entry. If
|
|
7792
|
-
provided, it must match the `symbol` path parameter. Omit `symbol` to use
|
|
7793
|
-
the path value.<br><br>
|
|
7794
|
-
|
|
7795
|
-
`currency` may be provided for any balance entry. If omitted, it defaults
|
|
7796
|
-
to the user's primary currency for synced crypto balances.<br><br>
|
|
7797
|
-
|
|
8152
|
+
Submit one or more entries in the `balances` array. Each entry must specify a `month` (YYYY-MM) and `balance` value. `month` must be a past calendar month. The current month cannot be written through this endpoint.<br><br>
|
|
8153
|
+
The request body may include an optional `symbol` on each balance entry. If provided, it must match the `symbol` path parameter. Omit `symbol` to use the path value.<br><br>
|
|
8154
|
+
`currency` may be provided for any balance entry. If omitted, it defaults to the user's primary currency for synced crypto balances.<br><br>
|
|
7798
8155
|
`crypto_balance` may be provided for synced crypto balances.<br><br>
|
|
7799
|
-
|
|
7800
|
-
The response contains only the balance entries that were submitted in this request.
|
|
8156
|
+
The response contains only the `type: historical` balance entries that were submitted in this request.
|
|
7801
8157
|
operationId: upsertBalanceHistoryForCryptoSynced
|
|
7802
8158
|
parameters:
|
|
7803
8159
|
- name: account_id
|
|
@@ -7825,44 +8181,49 @@ paths:
|
|
|
7825
8181
|
synced crypto bulk upsert:
|
|
7826
8182
|
value:
|
|
7827
8183
|
balances:
|
|
7828
|
-
-
|
|
8184
|
+
- month: "2026-03"
|
|
7829
8185
|
balance: "6400.0000"
|
|
7830
8186
|
crypto_balance: "0.100020003000400050"
|
|
7831
|
-
-
|
|
8187
|
+
- month: "2026-04"
|
|
7832
8188
|
balance: "6500.0000"
|
|
7833
8189
|
crypto_balance: "0.100020003000400050"
|
|
7834
8190
|
responses:
|
|
7835
8191
|
"200":
|
|
7836
|
-
description:
|
|
7837
|
-
|
|
8192
|
+
description: >-
|
|
8193
|
+
Returns only the `type: historical` entries modified by this request.
|
|
8194
|
+
Other historical entries for the symbol stream are omitted from
|
|
8195
|
+
`balances`.
|
|
7838
8196
|
content:
|
|
7839
8197
|
application/json:
|
|
7840
8198
|
schema:
|
|
7841
8199
|
$ref: "#/components/schemas/balanceHistoryAccountObject"
|
|
7842
8200
|
examples:
|
|
7843
8201
|
synced crypto bulk upsert:
|
|
7844
|
-
summary: Two upserted
|
|
8202
|
+
summary: Two upserted entries returned (not full symbol history)
|
|
7845
8203
|
value:
|
|
7846
8204
|
source:
|
|
7847
8205
|
type: crypto_synced
|
|
7848
8206
|
crypto_synced_id: 33004
|
|
7849
8207
|
symbol: btc
|
|
7850
8208
|
balances:
|
|
7851
|
-
-
|
|
7852
|
-
|
|
8209
|
+
- type: historical
|
|
8210
|
+
id: 604
|
|
8211
|
+
month: "2026-03"
|
|
7853
8212
|
balance: "6400.0000"
|
|
7854
8213
|
currency: usd
|
|
7855
8214
|
to_base: 6400
|
|
7856
8215
|
crypto_balance: "0.100020003000400050"
|
|
7857
|
-
-
|
|
7858
|
-
|
|
8216
|
+
- type: historical
|
|
8217
|
+
id: 605
|
|
8218
|
+
month: "2026-04"
|
|
7859
8219
|
balance: "6500.0000"
|
|
7860
8220
|
currency: usd
|
|
7861
8221
|
to_base: 6500
|
|
7862
8222
|
crypto_balance: "0.100020003000400050"
|
|
7863
8223
|
"400":
|
|
7864
|
-
description:
|
|
7865
|
-
`balances` fails validation
|
|
8224
|
+
description: >-
|
|
8225
|
+
Bad Request. If any entry in `balances` fails validation, the entire
|
|
8226
|
+
request is rejected and no entries are updated.
|
|
7866
8227
|
content:
|
|
7867
8228
|
application/json:
|
|
7868
8229
|
schema:
|
|
@@ -7878,17 +8239,22 @@ paths:
|
|
|
7878
8239
|
message: Invalid Request Body
|
|
7879
8240
|
errors:
|
|
7880
8241
|
- errMsg: "Invalid value for property 'balances'. Array must contain at least 1 element(s)"
|
|
7881
|
-
invalid
|
|
8242
|
+
invalid month format:
|
|
8243
|
+
value:
|
|
8244
|
+
message: Invalid Request Body
|
|
8245
|
+
errors:
|
|
8246
|
+
- errMsg: "Invalid value for property 'balances.0.month'. '2026-06-01' is not a valid month in YYYY-MM format."
|
|
8247
|
+
current month:
|
|
7882
8248
|
value:
|
|
7883
8249
|
message: Request Validation Failure
|
|
7884
8250
|
errors:
|
|
7885
|
-
- errMsg: "`
|
|
8251
|
+
- errMsg: "`month` must not be the current month."
|
|
7886
8252
|
request_balances_index: 0
|
|
7887
|
-
future
|
|
8253
|
+
future month:
|
|
7888
8254
|
value:
|
|
7889
8255
|
message: Request Validation Failure
|
|
7890
8256
|
errors:
|
|
7891
|
-
- errMsg: "`
|
|
8257
|
+
- errMsg: "`month` must not be in the future."
|
|
7892
8258
|
request_balances_index: 1
|
|
7893
8259
|
symbol mismatch:
|
|
7894
8260
|
value:
|
|
@@ -7896,9 +8262,9 @@ paths:
|
|
|
7896
8262
|
errors:
|
|
7897
8263
|
- errMsg: "`symbol` in request body (doge) does not match the path symbol (eth)."
|
|
7898
8264
|
request_balances_index: 0
|
|
7899
|
-
invalid
|
|
8265
|
+
invalid entry in bulk request:
|
|
7900
8266
|
value:
|
|
7901
|
-
message: Request
|
|
8267
|
+
message: Invalid Request Body
|
|
7902
8268
|
errors:
|
|
7903
8269
|
- errMsg: "`balance` must be a valid numeric string or number."
|
|
7904
8270
|
request_balances_index: 1
|
|
@@ -7929,11 +8295,9 @@ paths:
|
|
|
7929
8295
|
tags:
|
|
7930
8296
|
- balance_history
|
|
7931
8297
|
summary: Delete all balance history for a synced crypto symbol
|
|
7932
|
-
description:
|
|
8298
|
+
description: |-
|
|
7933
8299
|
Delete all historical balance entries for a single synced crypto symbol stream.<br><br>
|
|
7934
|
-
|
|
7935
|
-
The path identifies both the synced crypto account and the symbol whose
|
|
7936
|
-
history should be deleted.
|
|
8300
|
+
The path identifies both the synced crypto account and the symbol whose history should be deleted.
|
|
7937
8301
|
operationId: deleteBalanceHistoryForCryptoSynced
|
|
7938
8302
|
parameters:
|
|
7939
8303
|
- name: account_id
|
|
@@ -7975,14 +8339,14 @@ paths:
|
|
|
7975
8339
|
tags:
|
|
7976
8340
|
- balance_history
|
|
7977
8341
|
summary: Delete a balance history entry
|
|
7978
|
-
description:
|
|
7979
|
-
Delete a single monthly balance history entry by its id.
|
|
8342
|
+
description: |-
|
|
8343
|
+
Delete a single stored (`type: historical`) monthly balance history entry by its id. Ephemeral `current` entries cannot be deleted this way.
|
|
7980
8344
|
operationId: deleteBalanceHistoryEntry
|
|
7981
8345
|
parameters:
|
|
7982
8346
|
- name: id
|
|
7983
8347
|
in: path
|
|
7984
8348
|
required: true
|
|
7985
|
-
description:
|
|
8349
|
+
description: Historical balance entry identifier to delete.
|
|
7986
8350
|
schema:
|
|
7987
8351
|
type: integer
|
|
7988
8352
|
format: int32
|
|
@@ -7996,7 +8360,7 @@ paths:
|
|
|
7996
8360
|
schema:
|
|
7997
8361
|
$ref: "#/components/schemas/errorResponseObject"
|
|
7998
8362
|
example:
|
|
7999
|
-
message:
|
|
8363
|
+
message: Invalid Path Parameters
|
|
8000
8364
|
errors:
|
|
8001
8365
|
- errMsg: "Invalid value type for path parameter: 'id'. Expected 'number', received 'string'."
|
|
8002
8366
|
"401":
|
|
@@ -8020,12 +8384,9 @@ paths:
|
|
|
8020
8384
|
tags:
|
|
8021
8385
|
- balance_history
|
|
8022
8386
|
summary: Update details for a deleted account
|
|
8023
|
-
description:
|
|
8387
|
+
description: |-
|
|
8024
8388
|
Update archived metadata for a deleted balance history source.<br><br>
|
|
8025
|
-
|
|
8026
|
-
Pass the `deleted` source id returned on `source.deleted_account_id`.
|
|
8027
|
-
This endpoint updates the stored deleted-source metadata used for all
|
|
8028
|
-
historical entries associated with that deleted source.
|
|
8389
|
+
Pass the `deleted_account_id` from a `source.type: deleted` entry. The update applies to all historical entries associated with that deleted source.
|
|
8029
8390
|
operationId: updateBalanceHistoryDetails
|
|
8030
8391
|
parameters:
|
|
8031
8392
|
- name: account_id
|
|
@@ -11335,9 +11696,8 @@ paths:
|
|
|
11335
11696
|
- transactions (files)
|
|
11336
11697
|
summary: Attach a file to a transaction
|
|
11337
11698
|
operationId: attachFileToTransaction
|
|
11338
|
-
description:
|
|
11339
|
-
Attaches a file to a transaction. The file must be less than 10MB in size.<br><br>
|
|
11340
|
-
The file will be attached to the transaction and can be downloaded from the link returned by a `GET /transactions/attachments/{file_id}` request.
|
|
11699
|
+
description: |-
|
|
11700
|
+
Attaches a file to a transaction. The file must be less than 10MB in size.<br><br> The file will be attached to the transaction and can be downloaded from the link returned by a `GET /transactions/attachments/{file_id}` request.
|
|
11341
11701
|
parameters:
|
|
11342
11702
|
- name: transaction_id
|
|
11343
11703
|
in: path
|
|
@@ -11420,8 +11780,8 @@ paths:
|
|
|
11420
11780
|
/transactions/attachments/{file_id}:
|
|
11421
11781
|
get:
|
|
11422
11782
|
summary: Get a url to download a file attachment
|
|
11423
|
-
description:
|
|
11424
|
-
attachment.
|
|
11783
|
+
description: |-
|
|
11784
|
+
Returns a signed url that can be used to download the file attachment.
|
|
11425
11785
|
operationId: getTransactionAttachmentUrl
|
|
11426
11786
|
tags:
|
|
11427
11787
|
- transactions (files)
|
|
@@ -12316,4 +12676,3 @@ paths:
|
|
|
12316
12676
|
|
|
12317
12677
|
security:
|
|
12318
12678
|
- bearerSecurity: []
|
|
12319
|
-
- cookieAuth: []
|