@lunch-money/v2-api-spec 2.11.0-preview.1 → 2.11.0-preview.3
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 +84 -55
- package/package.json +1 -1
- package/version-history.md +8 -1
package/lunch-money-api-v2.yaml
CHANGED
|
@@ -2,50 +2,37 @@ openapi: 3.0.2
|
|
|
2
2
|
info:
|
|
3
3
|
title: Lunch Money API - v2
|
|
4
4
|
description: |-
|
|
5
|
-
Welcome to the
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
See the [version history](https://lm-v2-api-next-a7fabcab8e9a.herokuapp.com/v2/version-history) for what is new in this release.
|
|
9
|
-
New functionality may only be available in the Mock Service until the release is finalized. <br><br>
|
|
10
|
-
|
|
11
|
-
The latest complete implementation of the spec is for the **v2.8.5** release and can be found [here](https://lm-v2-api-next-a7fabcab8e9a.herokuapp.com/v2/). <br><br>
|
|
12
|
-
Feedback on any of the API design is welcome, but we are particularly interested in getting feedback on most recent changes in the [version history](https://lm-v2-api-next-a7fabcab8e9a.herokuapp.com/v2/version-history).
|
|
5
|
+
Welcome to the Lunch Money v2 API reference. This is the **v2.11.0** spec. It includes previews of the proposed `/crypto` and `/balance_history` endpoints. Only the mock service works with these endpoints.<br><br>
|
|
6
|
+
The most recent stable version of the API is v2.9.4 and is available at:
|
|
7
|
+
`https://api.lunchmoney.dev/v2`
|
|
13
8
|
|
|
14
9
|
------------------------------------------------------------------------------------------------
|
|
15
|
-
Welcome to the Lunch Money v2 API.
|
|
16
10
|
|
|
17
|
-
|
|
11
|
+
### Introduction
|
|
18
12
|
|
|
19
|
-
`https://api.lunchmoney.dev/v2
|
|
13
|
+
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).
|
|
20
14
|
|
|
21
|
-
<span class="red-text"><strong>
|
|
22
|
-
period and bugs may still exist. We strongly encourage users to use the mock service or create a test budget with sample data as the first step to interacting with the v2 API.</strong></span>
|
|
23
|
-
See the [Getting Started Guide](https://lm-v2-api-next-a7fabcab8e9a.herokuapp.com/v2/getting-started) for more information on using a test budget.<p>
|
|
15
|
+
<span class="red-text"><strong>The v2 API is in open alpha and is still subject to change. Use the mock server or a test budget when getting started.</strong></span>
|
|
24
16
|
|
|
25
|
-
|
|
17
|
+
**Static Mock Server**
|
|
26
18
|
|
|
27
|
-
|
|
19
|
+
Explore the API without an access token or risk to real data. Select **"Static Mock v2 Lunch Money API Server"** from the Server dropdown, then set your Bearer token to any string with 11 or more characters.
|
|
28
20
|
|
|
29
|
-
|
|
30
|
-
This will allow you to become familiar with the API without having to create an access token, and eliminates the possibility of changing real data. <p>
|
|
31
|
-
To access this endpoint, select the second endpoint in the "Server" dropdown to the right. When selected, you should see "Static Mock v2 Lunch Money API Server".<br>
|
|
32
|
-
When using this server, set your Bearer token to any string with 11 or more characters.
|
|
21
|
+
**Client Libraries & SDKs**
|
|
33
22
|
|
|
34
|
-
|
|
23
|
+
An official TypeScript SDK is available on [NPM](https://www.npmjs.com/package/@lunch-money/v2-api-spec) and [GitHub](https://github.com/lunch-money/lunch-money-js-v2). For Python or other languages, see [lunchmoney-clients](https://github.com/juftin/lunchmoney-clients) or generate a client from this OpenAPI spec.
|
|
35
24
|
|
|
36
|
-
|
|
25
|
+
**Migrating from v1**
|
|
37
26
|
|
|
38
|
-
|
|
27
|
+
The v2 API is not backwards compatible with v1. See the [Migration Guide](https://alpha.lunchmoney.dev/v2/migration-guide) for details.
|
|
39
28
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
- [
|
|
44
|
-
- [
|
|
45
|
-
- [Migration Guide](https://
|
|
46
|
-
- [Rate Limits](https://
|
|
47
|
-
- [Current v1 Lunch Money API Documentation](https://lunchmoney.dev)
|
|
48
|
-
- [Awesome Lunch Money Projects](https://github.com/lunch-money/awesome-lunchmoney?tab=readme-ov-file)
|
|
29
|
+
**Useful links**
|
|
30
|
+
- [Developer Portal](https://alpha.lunchmoney.dev/v2/introduction)
|
|
31
|
+
- [Getting Started Guide](https://alpha.lunchmoney.dev/v2/getting-started)
|
|
32
|
+
- [v2 API Overview](https://alpha.lunchmoney.dev/v2/overview)
|
|
33
|
+
- [Version History](https://alpha.lunchmoney.dev/v2/version-history)
|
|
34
|
+
- [Migration Guide](https://alpha.lunchmoney.dev/v2/migration-guide)
|
|
35
|
+
- [Rate Limits](https://alpha.lunchmoney.dev/v2/rate-limits)
|
|
49
36
|
termsOfService: https://lunchmoney.dev/#current-status
|
|
50
37
|
contact:
|
|
51
38
|
email: devsupport@lunchmoney.app
|
|
@@ -679,7 +666,6 @@ components:
|
|
|
679
666
|
cryptoManualObject:
|
|
680
667
|
type: object
|
|
681
668
|
title: manual crypto object
|
|
682
|
-
x-internal: true
|
|
683
669
|
additionalProperties: false
|
|
684
670
|
properties:
|
|
685
671
|
id:
|
|
@@ -719,13 +705,22 @@ components:
|
|
|
719
705
|
description: CoinGecko identifier associated with this balance
|
|
720
706
|
to_base:
|
|
721
707
|
type: number
|
|
722
|
-
|
|
708
|
+
nullable: true
|
|
709
|
+
description: Balance converted to the user's primary currency. May be null if no conversion was available.
|
|
723
710
|
balance_as_of:
|
|
724
711
|
type: string
|
|
725
712
|
format: date-time
|
|
726
713
|
nullable: true
|
|
727
|
-
description: Date/time the balance was last updated in
|
|
728
|
-
extended format
|
|
714
|
+
description: Date/time the manual balance record was last updated in
|
|
715
|
+
ISO 8601 extended format. This is currently based on the manual
|
|
716
|
+
crypto record's updated_at timestamp.
|
|
717
|
+
exchange_rate_as_of:
|
|
718
|
+
type: string
|
|
719
|
+
format: date-time
|
|
720
|
+
nullable: true
|
|
721
|
+
description: Date/time the exchange rate used to calculate to_base was
|
|
722
|
+
last updated in ISO 8601 extended format. Null when no exchange rate was
|
|
723
|
+
used or no conversion was available.
|
|
729
724
|
created_by_name:
|
|
730
725
|
type: string
|
|
731
726
|
nullable: true
|
|
@@ -750,6 +745,7 @@ components:
|
|
|
750
745
|
- coingecko_id
|
|
751
746
|
- to_base
|
|
752
747
|
- balance_as_of
|
|
748
|
+
- exchange_rate_as_of
|
|
753
749
|
- created_by_name
|
|
754
750
|
- created_at
|
|
755
751
|
- updated_at
|
|
@@ -758,7 +754,6 @@ components:
|
|
|
758
754
|
cryptoSyncedBalance:
|
|
759
755
|
type: object
|
|
760
756
|
title: synced crypto balance object
|
|
761
|
-
x-internal: true
|
|
762
757
|
additionalProperties: false
|
|
763
758
|
properties:
|
|
764
759
|
name:
|
|
@@ -783,13 +778,21 @@ components:
|
|
|
783
778
|
description: CoinGecko identifier associated with this balance
|
|
784
779
|
to_base:
|
|
785
780
|
type: number
|
|
786
|
-
|
|
781
|
+
nullable: true
|
|
782
|
+
description: Balance converted to the user's primary currency. May be null if no conversion was available.
|
|
787
783
|
balance_as_of:
|
|
788
784
|
type: string
|
|
789
785
|
format: date-time
|
|
790
786
|
nullable: true
|
|
791
787
|
description: Date/time the balance was last updated in ISO 8601
|
|
792
|
-
extended format
|
|
788
|
+
extended format.
|
|
789
|
+
exchange_rate_as_of:
|
|
790
|
+
type: string
|
|
791
|
+
format: date-time
|
|
792
|
+
nullable: true
|
|
793
|
+
description: Date/time the exchange rate used to calculate to_base was
|
|
794
|
+
last updated in ISO 8601 extended format. Null when no exchange rate was
|
|
795
|
+
used or no conversion was available.
|
|
793
796
|
updated_at:
|
|
794
797
|
type: string
|
|
795
798
|
format: date-time
|
|
@@ -802,12 +805,12 @@ components:
|
|
|
802
805
|
- coingecko_id
|
|
803
806
|
- to_base
|
|
804
807
|
- balance_as_of
|
|
808
|
+
- exchange_rate_as_of
|
|
805
809
|
- updated_at
|
|
806
810
|
|
|
807
811
|
syncedCryptoAccount:
|
|
808
812
|
type: object
|
|
809
813
|
title: synced crypto account
|
|
810
|
-
x-internal: true
|
|
811
814
|
additionalProperties: false
|
|
812
815
|
properties:
|
|
813
816
|
id:
|
|
@@ -1072,8 +1075,16 @@ components:
|
|
|
1072
1075
|
type: string
|
|
1073
1076
|
format: date-time
|
|
1074
1077
|
nullable: true
|
|
1075
|
-
description: System defined date/time the balance was
|
|
1076
|
-
ISO 8601 extended format. Ignored if set
|
|
1078
|
+
description: System defined date/time the manual balance record was
|
|
1079
|
+
last updated in ISO 8601 extended format. Ignored if set
|
|
1080
|
+
x-updatable: false
|
|
1081
|
+
exchange_rate_as_of:
|
|
1082
|
+
type: string
|
|
1083
|
+
format: date-time
|
|
1084
|
+
nullable: true
|
|
1085
|
+
description: System defined date/time the exchange rate used to
|
|
1086
|
+
calculate to_base was observed in ISO 8601 extended format. Ignored
|
|
1087
|
+
if set
|
|
1077
1088
|
x-updatable: false
|
|
1078
1089
|
created_by_name:
|
|
1079
1090
|
type: string
|
|
@@ -1614,6 +1625,7 @@ components:
|
|
|
1614
1625
|
type: object
|
|
1615
1626
|
description: Source information for a manual account balance history entry.
|
|
1616
1627
|
additionalProperties: false
|
|
1628
|
+
x-internal: true
|
|
1617
1629
|
properties:
|
|
1618
1630
|
type:
|
|
1619
1631
|
type: string
|
|
@@ -1631,6 +1643,7 @@ components:
|
|
|
1631
1643
|
type: object
|
|
1632
1644
|
description: Source information for a Plaid-synced account balance history entry.
|
|
1633
1645
|
additionalProperties: false
|
|
1646
|
+
x-internal: true
|
|
1634
1647
|
properties:
|
|
1635
1648
|
type:
|
|
1636
1649
|
type: string
|
|
@@ -1648,6 +1661,7 @@ components:
|
|
|
1648
1661
|
type: object
|
|
1649
1662
|
description: Source information for a manually-tracked cryptocurrency balance history entry.
|
|
1650
1663
|
additionalProperties: false
|
|
1664
|
+
x-internal: true
|
|
1651
1665
|
properties:
|
|
1652
1666
|
type:
|
|
1653
1667
|
type: string
|
|
@@ -1750,9 +1764,10 @@ components:
|
|
|
1750
1764
|
- subtype
|
|
1751
1765
|
- mask
|
|
1752
1766
|
- symbol
|
|
1767
|
+
|
|
1753
1768
|
balanceHistoryAccountObject:
|
|
1754
1769
|
type: object
|
|
1755
|
-
title: balance history account object
|
|
1770
|
+
title: balance history for an account object
|
|
1756
1771
|
additionalProperties: false
|
|
1757
1772
|
description: Historical balance entries grouped under a single account source.
|
|
1758
1773
|
properties:
|
|
@@ -1787,6 +1802,7 @@ components:
|
|
|
1787
1802
|
type: object
|
|
1788
1803
|
title: balance history entry object
|
|
1789
1804
|
additionalProperties: false
|
|
1805
|
+
x-internal: true
|
|
1790
1806
|
description: A historical balance entry for a single account on a single date.
|
|
1791
1807
|
properties:
|
|
1792
1808
|
id:
|
|
@@ -2495,8 +2511,6 @@ components:
|
|
|
2495
2511
|
Any transaction notes set by the user or by
|
|
2496
2512
|
a matched recurring item. This will match the value
|
|
2497
2513
|
displayed in notes field on the transactions page in the Lunch Money app.
|
|
2498
|
-
minLength: 0
|
|
2499
|
-
maxLength: 350
|
|
2500
2514
|
status:
|
|
2501
2515
|
type: string
|
|
2502
2516
|
# description: >
|
|
@@ -2732,8 +2746,6 @@ components:
|
|
|
2732
2746
|
Any transaction notes set by the user or by
|
|
2733
2747
|
a matched recurring item. This will match the value
|
|
2734
2748
|
displayed in notes field on the transactions page in the Lunch Money app.
|
|
2735
|
-
minLength: 0
|
|
2736
|
-
maxLength: 350
|
|
2737
2749
|
status:
|
|
2738
2750
|
type: string
|
|
2739
2751
|
description: >
|
|
@@ -2978,8 +2990,6 @@ components:
|
|
|
2978
2990
|
Any transaction notes set by the user or by
|
|
2979
2991
|
a matched recurring item. This will match the value
|
|
2980
2992
|
displayed in notes field on the transactions page in the Lunch Money app.
|
|
2981
|
-
minLength: 0
|
|
2982
|
-
maxLength: 350
|
|
2983
2993
|
manual_account_id:
|
|
2984
2994
|
type: integer
|
|
2985
2995
|
format: int32
|
|
@@ -3117,8 +3127,6 @@ components:
|
|
|
3117
3127
|
description: >
|
|
3118
3128
|
New notes for the transaction. Set this to an empty string to clear
|
|
3119
3129
|
the existing notes.
|
|
3120
|
-
minLength: 0
|
|
3121
|
-
maxLength: 350
|
|
3122
3130
|
x-updatable: true
|
|
3123
3131
|
manual_account_id:
|
|
3124
3132
|
type: integer
|
|
@@ -3301,6 +3309,7 @@ components:
|
|
|
3301
3309
|
amount.
|
|
3302
3310
|
payee:
|
|
3303
3311
|
type: string
|
|
3312
|
+
minLength: 0
|
|
3304
3313
|
description: The payee for the child transaction. Will inherit the
|
|
3305
3314
|
original payee from the parent if not defined.
|
|
3306
3315
|
date:
|
|
@@ -3323,7 +3332,6 @@ components:
|
|
|
3323
3332
|
format: int32
|
|
3324
3333
|
notes:
|
|
3325
3334
|
type: string
|
|
3326
|
-
maxLength: 350
|
|
3327
3335
|
description: Will inherit notes from parent if not defined.
|
|
3328
3336
|
required:
|
|
3329
3337
|
- amount
|
|
@@ -4114,6 +4122,7 @@ components:
|
|
|
4114
4122
|
# - `cad`: Canadian Dollar
|
|
4115
4123
|
# - `cdf`: Congolese Franc
|
|
4116
4124
|
# - `chf`: Swiss Franc
|
|
4125
|
+
# - `clf`: Chilean Unit of Account (UF)
|
|
4117
4126
|
# - `clp`: Chilean Peso
|
|
4118
4127
|
# - `cny`: Chinese Yuan
|
|
4119
4128
|
# - `cop`: Colombian Peso
|
|
@@ -4129,6 +4138,7 @@ components:
|
|
|
4129
4138
|
# - `egp`: Egyptian Pound
|
|
4130
4139
|
# - `ern`: Eritrean Nakfa
|
|
4131
4140
|
# - `etb`: Ethiopian Birr
|
|
4141
|
+
# - `eth`: Ethereum
|
|
4132
4142
|
# - `eur`: Euro
|
|
4133
4143
|
# - `fjd`: Fijian Dollar
|
|
4134
4144
|
# - `fkp`: Falkland Islands Pound
|
|
@@ -4236,10 +4246,13 @@ components:
|
|
|
4236
4246
|
# - `uyu`: Uruguayan Peso
|
|
4237
4247
|
# - `uzs`: Uzbekistan Som
|
|
4238
4248
|
# - `vef`: Venezuelan Bolívar
|
|
4249
|
+
# - `ves`: Venezuelan Bolívar Sotiemas
|
|
4239
4250
|
# - `vnd`: Vietnamese Dong
|
|
4240
4251
|
# - `vuv`: Vanuatu Vatu
|
|
4241
4252
|
# - `wst`: Samoan Tala
|
|
4242
4253
|
# - `xaf`: CFA Franc BEAC
|
|
4254
|
+
# - `xag`: Silver (troy ounce)
|
|
4255
|
+
# - `xau`: Gold (troy ounce)
|
|
4243
4256
|
# - `xcd`: East Caribbean Dollar
|
|
4244
4257
|
# - `xof`: CFA Franc BCEAO
|
|
4245
4258
|
# - `xpf`: CFP Franc
|
|
@@ -4277,6 +4290,7 @@ components:
|
|
|
4277
4290
|
- cad
|
|
4278
4291
|
- cdf
|
|
4279
4292
|
- chf
|
|
4293
|
+
- clf
|
|
4280
4294
|
- clp
|
|
4281
4295
|
- cny
|
|
4282
4296
|
- cop
|
|
@@ -4292,6 +4306,7 @@ components:
|
|
|
4292
4306
|
- egp
|
|
4293
4307
|
- ern
|
|
4294
4308
|
- etb
|
|
4309
|
+
- eth
|
|
4295
4310
|
- eur
|
|
4296
4311
|
- fjd
|
|
4297
4312
|
- fkp
|
|
@@ -4399,10 +4414,13 @@ components:
|
|
|
4399
4414
|
- uyu
|
|
4400
4415
|
- uzs
|
|
4401
4416
|
- vef
|
|
4417
|
+
- ves
|
|
4402
4418
|
- vnd
|
|
4403
4419
|
- vuv
|
|
4404
4420
|
- wst
|
|
4405
4421
|
- xaf
|
|
4422
|
+
- xag
|
|
4423
|
+
- xau
|
|
4406
4424
|
- xcd
|
|
4407
4425
|
- xof
|
|
4408
4426
|
- xpf
|
|
@@ -5901,6 +5919,7 @@ paths:
|
|
|
5901
5919
|
coingecko_id: bitcoin
|
|
5902
5920
|
to_base: 53124.72
|
|
5903
5921
|
balance_as_of: "2026-02-25T14:22:10.000Z"
|
|
5922
|
+
exchange_rate_as_of: "2026-02-25T14:10:00.000Z"
|
|
5904
5923
|
created_by_name: User 1
|
|
5905
5924
|
created_at: "2025-11-12T20:14:32.000Z"
|
|
5906
5925
|
updated_at: "2026-02-25T14:22:10.000Z"
|
|
@@ -5958,6 +5977,7 @@ paths:
|
|
|
5958
5977
|
coingecko_id: ethereum
|
|
5959
5978
|
to_base: 28998.44
|
|
5960
5979
|
balance_as_of: "2026-03-01T09:20:41.000Z"
|
|
5980
|
+
exchange_rate_as_of: "2026-03-01T09:15:00.000Z"
|
|
5961
5981
|
created_by_name: User 1
|
|
5962
5982
|
created_at: "2026-03-01T09:20:41.000Z"
|
|
5963
5983
|
updated_at: "2026-03-01T09:20:41.000Z"
|
|
@@ -6025,6 +6045,7 @@ paths:
|
|
|
6025
6045
|
coingecko_id: bitcoin
|
|
6026
6046
|
to_base: 53124.72
|
|
6027
6047
|
balance_as_of: "2026-02-25T14:22:10.000Z"
|
|
6048
|
+
exchange_rate_as_of: "2026-02-25T14:10:00.000Z"
|
|
6028
6049
|
created_by_name: User 1
|
|
6029
6050
|
created_at: "2025-11-12T20:14:32.000Z"
|
|
6030
6051
|
updated_at: "2026-02-25T14:22:10.000Z"
|
|
@@ -6102,6 +6123,7 @@ paths:
|
|
|
6102
6123
|
coingecko_id: bitcoin
|
|
6103
6124
|
to_base: 56011.12
|
|
6104
6125
|
balance_as_of: "2026-03-01T09:41:18.000Z"
|
|
6126
|
+
exchange_rate_as_of: "2026-03-01T09:35:00.000Z"
|
|
6105
6127
|
created_by_name: User 1
|
|
6106
6128
|
created_at: "2025-11-12T20:14:32.000Z"
|
|
6107
6129
|
updated_at: "2026-02-25T14:22:10.000Z"
|
|
@@ -6122,6 +6144,7 @@ paths:
|
|
|
6122
6144
|
coingecko_id: bitcoin
|
|
6123
6145
|
to_base: 56011.12
|
|
6124
6146
|
balance_as_of: "2026-03-01T09:41:18.000Z"
|
|
6147
|
+
exchange_rate_as_of: "2026-03-01T09:35:00.000Z"
|
|
6125
6148
|
created_by_name: User 1
|
|
6126
6149
|
created_at: "2025-11-12T20:14:32.000Z"
|
|
6127
6150
|
updated_at: "2026-03-01T09:41:18.000Z"
|
|
@@ -6251,6 +6274,7 @@ paths:
|
|
|
6251
6274
|
coingecko_id: ethereum
|
|
6252
6275
|
to_base: 28998.44
|
|
6253
6276
|
balance_as_of: "2026-02-25T14:25:00.000Z"
|
|
6277
|
+
exchange_rate_as_of: "2026-02-25T14:20:00.000Z"
|
|
6254
6278
|
updated_at: "2026-02-25T14:25:01.000Z"
|
|
6255
6279
|
- name: BTC
|
|
6256
6280
|
balance: "0.100020003000400050"
|
|
@@ -6258,6 +6282,7 @@ paths:
|
|
|
6258
6282
|
coingecko_id: bitcoin
|
|
6259
6283
|
to_base: 6231.28
|
|
6260
6284
|
balance_as_of: "2026-02-25T14:25:00.000Z"
|
|
6285
|
+
exchange_rate_as_of: "2026-02-25T14:20:00.000Z"
|
|
6261
6286
|
updated_at: "2026-02-25T14:25:01.000Z"
|
|
6262
6287
|
- id: 33005
|
|
6263
6288
|
provider: kraken
|
|
@@ -6273,6 +6298,7 @@ paths:
|
|
|
6273
6298
|
coingecko_id: ripple
|
|
6274
6299
|
to_base: 1287.50
|
|
6275
6300
|
balance_as_of: "2026-02-26T07:22:30.000Z"
|
|
6301
|
+
exchange_rate_as_of: "2026-02-26T07:10:00.000Z"
|
|
6276
6302
|
updated_at: "2026-02-26T07:22:30.000Z"
|
|
6277
6303
|
"401":
|
|
6278
6304
|
$ref: "#/components/responses/unauthorizedToken"
|
|
@@ -6325,6 +6351,7 @@ paths:
|
|
|
6325
6351
|
coingecko_id: ethereum
|
|
6326
6352
|
to_base: 28998.44
|
|
6327
6353
|
balance_as_of: "2026-02-25T14:25:00.000Z"
|
|
6354
|
+
exchange_rate_as_of: "2026-02-25T14:20:00.000Z"
|
|
6328
6355
|
updated_at: "2026-02-25T14:25:01.000Z"
|
|
6329
6356
|
- name: BTC
|
|
6330
6357
|
balance: "0.100020003000400050"
|
|
@@ -6332,6 +6359,7 @@ paths:
|
|
|
6332
6359
|
coingecko_id: bitcoin
|
|
6333
6360
|
to_base: 6231.28
|
|
6334
6361
|
balance_as_of: "2026-02-25T14:25:00.000Z"
|
|
6362
|
+
exchange_rate_as_of: "2026-02-25T14:20:00.000Z"
|
|
6335
6363
|
updated_at: "2026-02-25T14:25:01.000Z"
|
|
6336
6364
|
"400":
|
|
6337
6365
|
description: Bad Request
|
|
@@ -6397,6 +6425,7 @@ paths:
|
|
|
6397
6425
|
coingecko_id: ethereum
|
|
6398
6426
|
to_base: 28998.44
|
|
6399
6427
|
balance_as_of: "2026-02-25T14:25:00.000Z"
|
|
6428
|
+
exchange_rate_as_of: "2026-02-25T14:20:00.000Z"
|
|
6400
6429
|
updated_at: "2026-02-25T14:25:01.000Z"
|
|
6401
6430
|
"400":
|
|
6402
6431
|
description: Bad Request
|
|
@@ -6482,6 +6511,7 @@ paths:
|
|
|
6482
6511
|
coingecko_id: ethereum
|
|
6483
6512
|
to_base: 28998.44
|
|
6484
6513
|
balance_as_of: "2026-02-25T14:25:00.000Z"
|
|
6514
|
+
exchange_rate_as_of: "2026-02-25T14:20:00.000Z"
|
|
6485
6515
|
updated_at: "2026-02-25T14:25:01.000Z"
|
|
6486
6516
|
- name: BTC
|
|
6487
6517
|
balance: "0.100020003000400050"
|
|
@@ -6489,6 +6519,7 @@ paths:
|
|
|
6489
6519
|
coingecko_id: bitcoin
|
|
6490
6520
|
to_base: 6231.28
|
|
6491
6521
|
balance_as_of: "2026-02-25T14:25:00.000Z"
|
|
6522
|
+
exchange_rate_as_of: "2026-02-25T14:20:00.000Z"
|
|
6492
6523
|
updated_at: "2026-02-25T14:25:01.000Z"
|
|
6493
6524
|
"401":
|
|
6494
6525
|
$ref: "#/components/responses/unauthorizedToken"
|
|
@@ -10190,7 +10221,7 @@ paths:
|
|
|
10190
10221
|
description: |
|
|
10191
10222
|
The payee for the new grouped transaction.
|
|
10192
10223
|
minLength: 0
|
|
10193
|
-
|
|
10224
|
+
|
|
10194
10225
|
category_id:
|
|
10195
10226
|
type: integer
|
|
10196
10227
|
format: int64
|
|
@@ -10205,8 +10236,6 @@ paths:
|
|
|
10205
10236
|
nullable: true
|
|
10206
10237
|
description: |
|
|
10207
10238
|
Notes for the grouped transaction.
|
|
10208
|
-
minLength: 0
|
|
10209
|
-
maxLength: 350
|
|
10210
10239
|
status:
|
|
10211
10240
|
type: string
|
|
10212
10241
|
description: If set, must be either `reviewed` or
|
package/package.json
CHANGED
package/version-history.md
CHANGED
|
@@ -24,8 +24,15 @@ The Lunch Money API spec uses a modified version of SEMVER for its versioning me
|
|
|
24
24
|
- Viewing the balances for currencies associated with both manually managed crypto assets and those that are synced via a synced crypto account (ie: coinbase, kraken, ethereum wallet)
|
|
25
25
|
- Refreshing synced crypto account balances
|
|
26
26
|
|
|
27
|
+
## v2.9.4 - May 23, 2026
|
|
28
|
+
- Increase allowable length for transaction `notes`.
|
|
29
|
+
- Add `clf`, `eth`, and `ves` to the supported currency codes.
|
|
30
|
+
|
|
31
|
+
## v2.9.3 - Apr 27, 2026
|
|
32
|
+
- Add `xag` and `xau` to the supported currency codes.
|
|
33
|
+
|
|
27
34
|
## v2.9.2 - Apr 22, 2026
|
|
28
|
-
- Increase allowable length for a transaction `payee
|
|
35
|
+
- Increase allowable length for a transaction `payee`.
|
|
29
36
|
|
|
30
37
|
## v2.9.1 - Apr 22, 2026
|
|
31
38
|
- You may now set `archived_at` when modifying a category or tag via the `PUT /categories` or `PUT /tags` endpoints.
|