@lunch-money/v2-api-spec 2.11.0 → 2.11.1-docs.1
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 +797 -11
- package/package.json +1 -1
- package/version-history.md +8 -0
package/lunch-money-api-v2.yaml
CHANGED
|
@@ -4,7 +4,7 @@ info:
|
|
|
4
4
|
description: |-
|
|
5
5
|
### Introduction
|
|
6
6
|
|
|
7
|
-
Welcome to the Lunch Money v2 API reference. This is the **v2.11.
|
|
7
|
+
Welcome to the Lunch Money v2 API reference. This is the **v2.11.1** spec.
|
|
8
8
|
|
|
9
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).
|
|
10
10
|
|
|
@@ -42,7 +42,7 @@ info:
|
|
|
42
42
|
license:
|
|
43
43
|
name: Apache 2.0
|
|
44
44
|
url: http://www.apache.org/licenses/LICENSE-2.0.html
|
|
45
|
-
version: 2.11.
|
|
45
|
+
version: 2.11.1
|
|
46
46
|
|
|
47
47
|
servers:
|
|
48
48
|
- url: https://api.lunchmoney.dev/v2
|
|
@@ -52,7 +52,12 @@ servers:
|
|
|
52
52
|
|
|
53
53
|
tags:
|
|
54
54
|
- name: me
|
|
55
|
-
description: View details and settings for the current user and account
|
|
55
|
+
description: View details and settings for the current user and account.<p>
|
|
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 budget account.
|
|
56
61
|
- name: categories
|
|
57
62
|
description: Work with categories
|
|
58
63
|
externalDocs:
|
|
@@ -150,12 +155,18 @@ components:
|
|
|
150
155
|
account_id:
|
|
151
156
|
type: integer
|
|
152
157
|
format: int64
|
|
153
|
-
description: Unique ID for the current
|
|
158
|
+
description: Unique ID for the current budget account
|
|
154
159
|
budget_name:
|
|
155
160
|
type: string
|
|
156
|
-
description: Name of the current
|
|
161
|
+
description: Name of the current budget account.<p> Also available
|
|
162
|
+
as `display_name` on
|
|
163
|
+
[/me/account/settings](#tag/me/GET/me/account/settings), which is
|
|
164
|
+
the preferred endpoint for reading and updating account settings.
|
|
157
165
|
primary_currency:
|
|
158
|
-
description: Primary currency for the current
|
|
166
|
+
description: Primary currency for the current budget account.<p>
|
|
167
|
+
Also available on [/me/account/settings](#tag/me/GET/me/account/settings),
|
|
168
|
+
which is the preferred endpoint for reading and updating account
|
|
169
|
+
settings.
|
|
159
170
|
allOf:
|
|
160
171
|
- $ref: "#/components/schemas/currencyEnum"
|
|
161
172
|
api_key_label:
|
|
@@ -1270,7 +1281,7 @@ components:
|
|
|
1270
1281
|
nullable: true
|
|
1271
1282
|
description: Display name of the manual account. If omitted or
|
|
1272
1283
|
`null`, it is derived from `institution_name` and `name`. An
|
|
1273
|
-
explicitly set display name must be unique for the
|
|
1284
|
+
explicitly set display name must be unique for the budget
|
|
1274
1285
|
account.
|
|
1275
1286
|
example: Savings
|
|
1276
1287
|
type:
|
|
@@ -3732,7 +3743,7 @@ components:
|
|
|
3732
3743
|
type: object
|
|
3733
3744
|
title: budget settings object
|
|
3734
3745
|
additionalProperties: false
|
|
3735
|
-
description: Budget period and display settings for the current
|
|
3746
|
+
description: Budget period and display settings for the current budget
|
|
3736
3747
|
account.
|
|
3737
3748
|
properties:
|
|
3738
3749
|
budget_period_granularity:
|
|
@@ -3788,6 +3799,530 @@ components:
|
|
|
3788
3799
|
- budget_income_option
|
|
3789
3800
|
- budget_rollover_left_to_budget
|
|
3790
3801
|
|
|
3802
|
+
weekStartsOnEnum:
|
|
3803
|
+
x-internal: true
|
|
3804
|
+
type: string
|
|
3805
|
+
title: week starts on enum
|
|
3806
|
+
enum:
|
|
3807
|
+
- sunday
|
|
3808
|
+
- monday
|
|
3809
|
+
description: The day on which a calendar week begins.
|
|
3810
|
+
|
|
3811
|
+
monthYearFormatEnum:
|
|
3812
|
+
x-internal: true
|
|
3813
|
+
type: string
|
|
3814
|
+
title: month and year format enum
|
|
3815
|
+
description: Format string for displaying month and year values
|
|
3816
|
+
in the Lunch Money app.
|
|
3817
|
+
enum:
|
|
3818
|
+
- "MMMM YYYY"
|
|
3819
|
+
- "MMM YYYY"
|
|
3820
|
+
- "YYYY MMM"
|
|
3821
|
+
- "MM YYYY"
|
|
3822
|
+
- "MM-YYYY"
|
|
3823
|
+
- "MM.YYYY"
|
|
3824
|
+
- "MM/YYYY"
|
|
3825
|
+
- "M YYYY"
|
|
3826
|
+
- "M-YYYY"
|
|
3827
|
+
- "M.YYYY"
|
|
3828
|
+
- "M/YYYY"
|
|
3829
|
+
- "YYYY M"
|
|
3830
|
+
- "YYYY-M"
|
|
3831
|
+
- "YYYY.M"
|
|
3832
|
+
- "YYYY/M"
|
|
3833
|
+
- "YYYY MM"
|
|
3834
|
+
- "YYYY-MM"
|
|
3835
|
+
- "YYYY.MM"
|
|
3836
|
+
- "YYYY/MM"
|
|
3837
|
+
|
|
3838
|
+
monthDayYearFormatEnum:
|
|
3839
|
+
x-internal: true
|
|
3840
|
+
type: string
|
|
3841
|
+
title: month, day and year format enum
|
|
3842
|
+
description: Format string for displaying full dates in the
|
|
3843
|
+
Lunch Money app.
|
|
3844
|
+
enum:
|
|
3845
|
+
- "MMM D, YYYY"
|
|
3846
|
+
- "D MMM YYYY"
|
|
3847
|
+
- "YYYY MM DD"
|
|
3848
|
+
- "YYYY-MM-DD"
|
|
3849
|
+
- "YYYY.MM.DD"
|
|
3850
|
+
- "YYYY/MM/DD"
|
|
3851
|
+
- "YYYY M DD"
|
|
3852
|
+
- "YYYY-M-DD"
|
|
3853
|
+
- "YYYY.M.DD"
|
|
3854
|
+
- "YYYY/M/DD"
|
|
3855
|
+
- "YYYY MM D"
|
|
3856
|
+
- "YYYY-MM-D"
|
|
3857
|
+
- "YYYY.MM.D"
|
|
3858
|
+
- "YYYY/MM/D"
|
|
3859
|
+
- "YYYY M D"
|
|
3860
|
+
- "YYYY-M-D"
|
|
3861
|
+
- "YYYY.M.D"
|
|
3862
|
+
- "YYYY/M/D"
|
|
3863
|
+
- "DD MM YYYY"
|
|
3864
|
+
- "DD-MM-YYYY"
|
|
3865
|
+
- "DD.MM.YYYY"
|
|
3866
|
+
- "DD/MM/YYYY"
|
|
3867
|
+
- "DD M YYYY"
|
|
3868
|
+
- "DD-M-YYYY"
|
|
3869
|
+
- "DD.M.YYYY"
|
|
3870
|
+
- "DD/M/YYYY"
|
|
3871
|
+
- "D MM YYYY"
|
|
3872
|
+
- "D-MM-YYYY"
|
|
3873
|
+
- "D.MM.YYYY"
|
|
3874
|
+
- "D/MM/YYYY"
|
|
3875
|
+
- "D M YYYY"
|
|
3876
|
+
- "D-M-YYYY"
|
|
3877
|
+
- "D.M.YYYY"
|
|
3878
|
+
- "D/M/YYYY"
|
|
3879
|
+
- "M D YYYY"
|
|
3880
|
+
- "M-D-YYYY"
|
|
3881
|
+
- "M.D.YYYY"
|
|
3882
|
+
- "M/D/YYYY"
|
|
3883
|
+
- "MM D YYYY"
|
|
3884
|
+
- "MM-D-YYYY"
|
|
3885
|
+
- "MM.D.YYYY"
|
|
3886
|
+
- "MM/D/YYYY"
|
|
3887
|
+
- "MM DD YYYY"
|
|
3888
|
+
- "MM-DD-YYYY"
|
|
3889
|
+
- "MM.DD.YYYY"
|
|
3890
|
+
- "MM/DD/YYYY"
|
|
3891
|
+
- "M DD YYYY"
|
|
3892
|
+
- "M-DD-YYYY"
|
|
3893
|
+
- "M.DD.YYYY"
|
|
3894
|
+
- "M/DD/YYYY"
|
|
3895
|
+
|
|
3896
|
+
monthDayFormatEnum:
|
|
3897
|
+
x-internal: true
|
|
3898
|
+
type: string
|
|
3899
|
+
title: month and day format enum
|
|
3900
|
+
description: Format string for displaying month and day values
|
|
3901
|
+
without a year.
|
|
3902
|
+
enum:
|
|
3903
|
+
- "MMM D"
|
|
3904
|
+
- "MMM DD"
|
|
3905
|
+
- "D MMM"
|
|
3906
|
+
- "DD MMM"
|
|
3907
|
+
- "MM D"
|
|
3908
|
+
- "MM-D"
|
|
3909
|
+
- "MM.D"
|
|
3910
|
+
- "MM/D"
|
|
3911
|
+
- "MM DD"
|
|
3912
|
+
- "MM-DD"
|
|
3913
|
+
- "MM.DD"
|
|
3914
|
+
- "MM/DD"
|
|
3915
|
+
- "M D"
|
|
3916
|
+
- "M-D"
|
|
3917
|
+
- "M.D"
|
|
3918
|
+
- "M/D"
|
|
3919
|
+
- "M DD"
|
|
3920
|
+
- "M-DD"
|
|
3921
|
+
- "M.DD"
|
|
3922
|
+
- "M/DD"
|
|
3923
|
+
- "D MM"
|
|
3924
|
+
- "D-MM"
|
|
3925
|
+
- "D.MM"
|
|
3926
|
+
- "D/MM"
|
|
3927
|
+
- "DD MM"
|
|
3928
|
+
- "DD-MM"
|
|
3929
|
+
- "DD.MM"
|
|
3930
|
+
- "DD/MM"
|
|
3931
|
+
- "D M"
|
|
3932
|
+
- "D-M"
|
|
3933
|
+
- "D.M"
|
|
3934
|
+
- "D/M"
|
|
3935
|
+
- "DD M"
|
|
3936
|
+
- "DD-M"
|
|
3937
|
+
- "DD.M"
|
|
3938
|
+
- "DD/M"
|
|
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
|
+
|
|
4032
|
+
accountSettingsObject:
|
|
4033
|
+
type: object
|
|
4034
|
+
title: account settings object
|
|
4035
|
+
additionalProperties: false
|
|
4036
|
+
description: Account-level settings for the budget account
|
|
4037
|
+
associated with the authorized API token.
|
|
4038
|
+
properties:
|
|
4039
|
+
primary_currency:
|
|
4040
|
+
description: Primary currency for the account.
|
|
4041
|
+
allOf:
|
|
4042
|
+
- $ref: "#/components/schemas/currencyEnum"
|
|
4043
|
+
supported_currencies:
|
|
4044
|
+
type: array
|
|
4045
|
+
items:
|
|
4046
|
+
$ref: "#/components/schemas/currencyEnum"
|
|
4047
|
+
description: Currencies available when creating or editing transactions,
|
|
4048
|
+
balances, and other amounts in the Lunch Money app.
|
|
4049
|
+
display_name:
|
|
4050
|
+
type: string
|
|
4051
|
+
nullable: true
|
|
4052
|
+
description: Display name of the budget account in the Lunch Money
|
|
4053
|
+
app.
|
|
4054
|
+
locale:
|
|
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`).
|
|
4068
|
+
auto_create_category_rules:
|
|
4069
|
+
type: boolean
|
|
4070
|
+
default: true
|
|
4071
|
+
description: If `true`, category rules are created automatically when
|
|
4072
|
+
categorizing transactions.
|
|
4073
|
+
auto_create_suggested_transaction_rules:
|
|
4074
|
+
type: boolean
|
|
4075
|
+
default: true
|
|
4076
|
+
description: If `true`, suggested transaction rules are created
|
|
4077
|
+
automatically.
|
|
4078
|
+
include_pending_in_totals:
|
|
4079
|
+
type: boolean
|
|
4080
|
+
default: true
|
|
4081
|
+
description: If `true`, pending transactions are included in account
|
|
4082
|
+
totals.
|
|
4083
|
+
required:
|
|
4084
|
+
- primary_currency
|
|
4085
|
+
- supported_currencies
|
|
4086
|
+
- display_name
|
|
4087
|
+
- locale
|
|
4088
|
+
- auto_create_category_rules
|
|
4089
|
+
- auto_create_suggested_transaction_rules
|
|
4090
|
+
- include_pending_in_totals
|
|
4091
|
+
|
|
4092
|
+
updateAccountSettingsRequestObject:
|
|
4093
|
+
x-internal: true
|
|
4094
|
+
type: object
|
|
4095
|
+
additionalProperties: false
|
|
4096
|
+
minProperties: 1
|
|
4097
|
+
description: Request body for updating account settings. Include at least
|
|
4098
|
+
one property to update.
|
|
4099
|
+
properties:
|
|
4100
|
+
primary_currency:
|
|
4101
|
+
allOf:
|
|
4102
|
+
- $ref: "#/components/schemas/currencyEnum"
|
|
4103
|
+
description: If set, updates the account's primary currency.
|
|
4104
|
+
x-updatable: true
|
|
4105
|
+
supported_currencies:
|
|
4106
|
+
type: array
|
|
4107
|
+
items:
|
|
4108
|
+
$ref: "#/components/schemas/currencyEnum"
|
|
4109
|
+
description: If set, replaces the list of supported currencies for the
|
|
4110
|
+
account.
|
|
4111
|
+
x-updatable: true
|
|
4112
|
+
display_name:
|
|
4113
|
+
type: string
|
|
4114
|
+
nullable: true
|
|
4115
|
+
description: If set, updates the display name of the budget account.
|
|
4116
|
+
x-updatable: true
|
|
4117
|
+
locale:
|
|
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).
|
|
4127
|
+
x-updatable: true
|
|
4128
|
+
auto_create_category_rules:
|
|
4129
|
+
type: boolean
|
|
4130
|
+
description: If set, updates whether category rules are created
|
|
4131
|
+
automatically.
|
|
4132
|
+
x-updatable: true
|
|
4133
|
+
auto_create_suggested_transaction_rules:
|
|
4134
|
+
type: boolean
|
|
4135
|
+
description: If set, updates whether suggested transaction rules are
|
|
4136
|
+
created automatically.
|
|
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
|
+
budget 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 budget account. Must identify a
|
|
4166
|
+
manual account returned by
|
|
4167
|
+
[GET /manual_accounts](#tag/manual_accounts/GET/manual_accounts) for
|
|
4168
|
+
the current budget 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 budget account. Include at least one property
|
|
4181
|
+
to update.
|
|
4182
|
+
properties:
|
|
4183
|
+
auto_review_transaction_on_update:
|
|
4184
|
+
type: boolean
|
|
4185
|
+
description: If set, updates whether transactions are marked as reviewed
|
|
4186
|
+
when their date, category, payee, amount, account, or notes are
|
|
4187
|
+
changed.
|
|
4188
|
+
x-updatable: true
|
|
4189
|
+
auto_review_transaction_on_creation:
|
|
4190
|
+
type: boolean
|
|
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 budget
|
|
4199
|
+
account. Must identify a manual account returned by
|
|
4200
|
+
[GET /manual_accounts](#tag/manual_accounts/GET/manual_accounts) for
|
|
4201
|
+
the current budget account. Set to `null` to clear the selection.
|
|
4202
|
+
x-updatable: true
|
|
4203
|
+
|
|
4204
|
+
userSettingsObject:
|
|
4205
|
+
type: object
|
|
4206
|
+
title: user settings object
|
|
4207
|
+
additionalProperties: false
|
|
4208
|
+
description: User-level display and formatting preferences for the user
|
|
4209
|
+
associated with the authorized API token.
|
|
4210
|
+
properties:
|
|
4211
|
+
show_debits_as_negative:
|
|
4212
|
+
type: boolean
|
|
4213
|
+
default: true
|
|
4214
|
+
description: Display preference for how amounts are shown in the Lunch
|
|
4215
|
+
Money app. When `true`, debits are shown as negative values and
|
|
4216
|
+
credits as positive values.<p> This setting does **not** change
|
|
4217
|
+
amount sign conventions in API responses. Amount fields such as
|
|
4218
|
+
`amount` and `to_base` on transaction objects always use positive
|
|
4219
|
+
values for debits and negative values for credits.
|
|
4220
|
+
auto_suggest_payee:
|
|
4221
|
+
type: boolean
|
|
4222
|
+
default: true
|
|
4223
|
+
description: If `true`, payee suggestions are shown when entering
|
|
4224
|
+
transactions in the Lunch Money app.
|
|
4225
|
+
month_year_format:
|
|
4226
|
+
allOf:
|
|
4227
|
+
- $ref: "#/components/schemas/monthYearFormatEnum"
|
|
4228
|
+
default: "MMM YYYY"
|
|
4229
|
+
description: Format string used when displaying month and year values.
|
|
4230
|
+
month_day_year_format:
|
|
4231
|
+
allOf:
|
|
4232
|
+
- $ref: "#/components/schemas/monthDayYearFormatEnum"
|
|
4233
|
+
default: "MMM D, YYYY"
|
|
4234
|
+
description: Format string used when displaying full dates (month, day,
|
|
4235
|
+
and year).
|
|
4236
|
+
month_day_format:
|
|
4237
|
+
allOf:
|
|
4238
|
+
- $ref: "#/components/schemas/monthDayFormatEnum"
|
|
4239
|
+
default: "MMM D"
|
|
4240
|
+
description: Format string used when displaying month and day values
|
|
4241
|
+
without a year.
|
|
4242
|
+
show_am_pm:
|
|
4243
|
+
type: boolean
|
|
4244
|
+
default: true
|
|
4245
|
+
description: If `true`, times are displayed using a 12-hour clock with
|
|
4246
|
+
AM/PM. If `false`, times are displayed using a 24-hour clock.
|
|
4247
|
+
week_starts_on:
|
|
4248
|
+
allOf:
|
|
4249
|
+
- $ref: "#/components/schemas/weekStartsOnEnum"
|
|
4250
|
+
default: sunday
|
|
4251
|
+
description: The day on which a calendar week begins.
|
|
4252
|
+
always_display_year:
|
|
4253
|
+
type: boolean
|
|
4254
|
+
default: false
|
|
4255
|
+
description: If `true`, dates always include the year and
|
|
4256
|
+
`month_day_format` is not used.
|
|
4257
|
+
always_display_weekday:
|
|
4258
|
+
type: boolean
|
|
4259
|
+
default: true
|
|
4260
|
+
description: If `true`, weekday names are included when displaying
|
|
4261
|
+
dates.
|
|
4262
|
+
required:
|
|
4263
|
+
- show_debits_as_negative
|
|
4264
|
+
- auto_suggest_payee
|
|
4265
|
+
- month_year_format
|
|
4266
|
+
- month_day_year_format
|
|
4267
|
+
- month_day_format
|
|
4268
|
+
- show_am_pm
|
|
4269
|
+
- week_starts_on
|
|
4270
|
+
- always_display_year
|
|
4271
|
+
- always_display_weekday
|
|
4272
|
+
|
|
4273
|
+
updateUserSettingsRequestObject:
|
|
4274
|
+
x-internal: true
|
|
4275
|
+
type: object
|
|
4276
|
+
additionalProperties: false
|
|
4277
|
+
minProperties: 1
|
|
4278
|
+
description: Request body for updating user settings. Include at least one
|
|
4279
|
+
property to update.
|
|
4280
|
+
properties:
|
|
4281
|
+
show_debits_as_negative:
|
|
4282
|
+
type: boolean
|
|
4283
|
+
description: If set, updates the display preference for amount signs in
|
|
4284
|
+
the Lunch Money app. Does not affect amount sign conventions in API
|
|
4285
|
+
responses.
|
|
4286
|
+
x-updatable: true
|
|
4287
|
+
auto_suggest_payee:
|
|
4288
|
+
type: boolean
|
|
4289
|
+
description: If set, updates whether payee suggestions are shown.
|
|
4290
|
+
x-updatable: true
|
|
4291
|
+
month_year_format:
|
|
4292
|
+
allOf:
|
|
4293
|
+
- $ref: "#/components/schemas/monthYearFormatEnum"
|
|
4294
|
+
description: If set, updates the month and year display format.
|
|
4295
|
+
x-updatable: true
|
|
4296
|
+
month_day_year_format:
|
|
4297
|
+
allOf:
|
|
4298
|
+
- $ref: "#/components/schemas/monthDayYearFormatEnum"
|
|
4299
|
+
description: If set, updates the full date display format.
|
|
4300
|
+
x-updatable: true
|
|
4301
|
+
month_day_format:
|
|
4302
|
+
allOf:
|
|
4303
|
+
- $ref: "#/components/schemas/monthDayFormatEnum"
|
|
4304
|
+
description: If set, updates the month and day display format.
|
|
4305
|
+
x-updatable: true
|
|
4306
|
+
show_am_pm:
|
|
4307
|
+
type: boolean
|
|
4308
|
+
description: If set, updates whether times use a 12-hour (AM/PM) or
|
|
4309
|
+
24-hour clock.
|
|
4310
|
+
x-updatable: true
|
|
4311
|
+
week_starts_on:
|
|
4312
|
+
allOf:
|
|
4313
|
+
- $ref: "#/components/schemas/weekStartsOnEnum"
|
|
4314
|
+
description: If set, updates the day on which a calendar week begins.
|
|
4315
|
+
x-updatable: true
|
|
4316
|
+
always_display_year:
|
|
4317
|
+
type: boolean
|
|
4318
|
+
description: If set, updates whether dates always include the year.
|
|
4319
|
+
x-updatable: true
|
|
4320
|
+
always_display_weekday:
|
|
4321
|
+
type: boolean
|
|
4322
|
+
description: If set, updates whether weekday names are shown when
|
|
4323
|
+
displaying dates.
|
|
4324
|
+
x-updatable: true
|
|
4325
|
+
|
|
3791
4326
|
# Summary endpoint response schemas
|
|
3792
4327
|
summaryResponseObject:
|
|
3793
4328
|
type: object
|
|
@@ -4574,8 +5109,16 @@ paths:
|
|
|
4574
5109
|
tags:
|
|
4575
5110
|
- me
|
|
4576
5111
|
summary: Get current user
|
|
4577
|
-
description:
|
|
4578
|
-
authorization
|
|
5112
|
+
description: |-
|
|
5113
|
+
Get details about the user associated with the supplied authorization
|
|
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 budget account.
|
|
5120
|
+
Properties such as `primary_currency` and `budget_name` remain on this
|
|
5121
|
+
response for backwards compatibility.
|
|
4579
5122
|
operationId: getMe
|
|
4580
5123
|
parameters: []
|
|
4581
5124
|
responses:
|
|
@@ -4599,6 +5142,247 @@ paths:
|
|
|
4599
5142
|
$ref: "#/components/responses/rateLimited"
|
|
4600
5143
|
"500":
|
|
4601
5144
|
$ref: "#/components/responses/serverError"
|
|
5145
|
+
/me/account/settings:
|
|
5146
|
+
get:
|
|
5147
|
+
tags:
|
|
5148
|
+
- me
|
|
5149
|
+
summary: Get account settings
|
|
5150
|
+
description: >-
|
|
5151
|
+
Returns settings for the current budget account. These settings apply
|
|
5152
|
+
regardless of which user is accessing the account.
|
|
5153
|
+
operationId: getAccountSettings
|
|
5154
|
+
responses:
|
|
5155
|
+
"200":
|
|
5156
|
+
description: Account settings for the current budget account
|
|
5157
|
+
content:
|
|
5158
|
+
application/json:
|
|
5159
|
+
schema:
|
|
5160
|
+
$ref: "#/components/schemas/accountSettingsObject"
|
|
5161
|
+
example:
|
|
5162
|
+
primary_currency: usd
|
|
5163
|
+
supported_currencies:
|
|
5164
|
+
- usd
|
|
5165
|
+
- cad
|
|
5166
|
+
- jpy
|
|
5167
|
+
display_name: "\U0001F3E0 Family budget"
|
|
5168
|
+
locale: en-US
|
|
5169
|
+
auto_create_category_rules: true
|
|
5170
|
+
auto_create_suggested_transaction_rules: true
|
|
5171
|
+
include_pending_in_totals: true
|
|
5172
|
+
"401":
|
|
5173
|
+
$ref: "#/components/responses/unauthorizedToken"
|
|
5174
|
+
"429":
|
|
5175
|
+
$ref: "#/components/responses/rateLimited"
|
|
5176
|
+
"500":
|
|
5177
|
+
$ref: "#/components/responses/serverError"
|
|
5178
|
+
put:
|
|
5179
|
+
tags:
|
|
5180
|
+
- me
|
|
5181
|
+
summary: Update account settings
|
|
5182
|
+
description: |-
|
|
5183
|
+
Updates account-level settings for the budget account
|
|
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.
|
|
5188
|
+
operationId: updateAccountSettings
|
|
5189
|
+
requestBody:
|
|
5190
|
+
required: true
|
|
5191
|
+
content:
|
|
5192
|
+
application/json:
|
|
5193
|
+
schema:
|
|
5194
|
+
$ref: "#/components/schemas/updateAccountSettingsRequestObject"
|
|
5195
|
+
examples:
|
|
5196
|
+
Update display name:
|
|
5197
|
+
value:
|
|
5198
|
+
display_name: "Travel budget"
|
|
5199
|
+
Update automation preferences:
|
|
5200
|
+
value:
|
|
5201
|
+
auto_create_category_rules: false
|
|
5202
|
+
include_pending_in_totals: false
|
|
5203
|
+
responses:
|
|
5204
|
+
"200":
|
|
5205
|
+
description: Account settings updated successfully
|
|
5206
|
+
content:
|
|
5207
|
+
application/json:
|
|
5208
|
+
schema:
|
|
5209
|
+
$ref: "#/components/schemas/accountSettingsObject"
|
|
5210
|
+
"400":
|
|
5211
|
+
description: Invalid request body
|
|
5212
|
+
content:
|
|
5213
|
+
application/json:
|
|
5214
|
+
schema:
|
|
5215
|
+
$ref: "#/components/schemas/errorResponseObject"
|
|
5216
|
+
"401":
|
|
5217
|
+
$ref: "#/components/responses/unauthorizedToken"
|
|
5218
|
+
"429":
|
|
5219
|
+
$ref: "#/components/responses/rateLimited"
|
|
5220
|
+
"500":
|
|
5221
|
+
$ref: "#/components/responses/serverError"
|
|
5222
|
+
/me/user/settings:
|
|
5223
|
+
get:
|
|
5224
|
+
tags:
|
|
5225
|
+
- me
|
|
5226
|
+
summary: Get user settings
|
|
5227
|
+
description: >-
|
|
5228
|
+
Returns display and formatting preferences for the authorized user.
|
|
5229
|
+
These settings apply across every budget account the user owns or
|
|
5230
|
+
collaborates on.
|
|
5231
|
+
operationId: getUserSettings
|
|
5232
|
+
responses:
|
|
5233
|
+
"200":
|
|
5234
|
+
description: User settings for the authorized user
|
|
5235
|
+
content:
|
|
5236
|
+
application/json:
|
|
5237
|
+
schema:
|
|
5238
|
+
$ref: "#/components/schemas/userSettingsObject"
|
|
5239
|
+
example:
|
|
5240
|
+
show_debits_as_negative: true
|
|
5241
|
+
auto_suggest_payee: true
|
|
5242
|
+
month_year_format: "MMM YYYY"
|
|
5243
|
+
month_day_year_format: "MMM D, YYYY"
|
|
5244
|
+
month_day_format: "MMM D"
|
|
5245
|
+
show_am_pm: true
|
|
5246
|
+
week_starts_on: sunday
|
|
5247
|
+
always_display_year: false
|
|
5248
|
+
always_display_weekday: true
|
|
5249
|
+
"401":
|
|
5250
|
+
$ref: "#/components/responses/unauthorizedToken"
|
|
5251
|
+
"429":
|
|
5252
|
+
$ref: "#/components/responses/rateLimited"
|
|
5253
|
+
"500":
|
|
5254
|
+
$ref: "#/components/responses/serverError"
|
|
5255
|
+
put:
|
|
5256
|
+
tags:
|
|
5257
|
+
- me
|
|
5258
|
+
summary: Update user settings
|
|
5259
|
+
description: |-
|
|
5260
|
+
Updates user-level display and formatting preferences for the user
|
|
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
|
|
5265
|
+
`show_debits_as_negative` affects display in the Lunch Money app only.
|
|
5266
|
+
Amount fields in API responses always use positive values for debits and
|
|
5267
|
+
negative values for credits.
|
|
5268
|
+
operationId: updateUserSettings
|
|
5269
|
+
requestBody:
|
|
5270
|
+
required: true
|
|
5271
|
+
content:
|
|
5272
|
+
application/json:
|
|
5273
|
+
schema:
|
|
5274
|
+
$ref: "#/components/schemas/updateUserSettingsRequestObject"
|
|
5275
|
+
examples:
|
|
5276
|
+
Update date formats:
|
|
5277
|
+
value:
|
|
5278
|
+
month_year_format: "YYYY-MM"
|
|
5279
|
+
month_day_year_format: "YYYY-MM-DD"
|
|
5280
|
+
month_day_format: "MM-DD"
|
|
5281
|
+
Use 24-hour time and Monday week start:
|
|
5282
|
+
value:
|
|
5283
|
+
show_am_pm: false
|
|
5284
|
+
week_starts_on: monday
|
|
5285
|
+
responses:
|
|
5286
|
+
"200":
|
|
5287
|
+
description: User settings updated successfully
|
|
5288
|
+
content:
|
|
5289
|
+
application/json:
|
|
5290
|
+
schema:
|
|
5291
|
+
$ref: "#/components/schemas/userSettingsObject"
|
|
5292
|
+
"400":
|
|
5293
|
+
description: Invalid request body
|
|
5294
|
+
content:
|
|
5295
|
+
application/json:
|
|
5296
|
+
schema:
|
|
5297
|
+
$ref: "#/components/schemas/errorResponseObject"
|
|
5298
|
+
"401":
|
|
5299
|
+
$ref: "#/components/responses/unauthorizedToken"
|
|
5300
|
+
"429":
|
|
5301
|
+
$ref: "#/components/responses/rateLimited"
|
|
5302
|
+
"500":
|
|
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
|
+
budget account. These settings do not affect other users or the
|
|
5312
|
+
authorized user's settings in other budget accounts.
|
|
5313
|
+
operationId: getUserAccountSettings
|
|
5314
|
+
responses:
|
|
5315
|
+
"200":
|
|
5316
|
+
description: Settings for the authorized user in the current budget
|
|
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
|
+
budget 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"
|
|
4602
5386
|
/summary:
|
|
4603
5387
|
get:
|
|
4604
5388
|
tags:
|
|
@@ -11734,7 +12518,9 @@ paths:
|
|
|
11734
12518
|
description: |-
|
|
11735
12519
|
Returns budget period and display settings for the budget
|
|
11736
12520
|
associated with this API token.<p> These control how budget **periods** are calculated
|
|
11737
|
-
(granularity, anchor date, rollover, and related options).
|
|
12521
|
+
(granularity, anchor date, rollover, and related options). For general
|
|
12522
|
+
budget preferences such as currency and locale, see
|
|
12523
|
+
[/me/account/settings](#tag/me/GET/me/account/settings).
|
|
11738
12524
|
operationId: getBudgetSettings
|
|
11739
12525
|
responses:
|
|
11740
12526
|
"200":
|
package/package.json
CHANGED
package/version-history.md
CHANGED
|
@@ -5,6 +5,14 @@ The Lunch Money API spec uses a modified version of SEMVER for its versioning me
|
|
|
5
5
|
- The minor version represents the number of main endpoints the current version of the spec supports. For example, a version of the API that supports the /me, /categories, and /transactions endpoints would have a minor version of 3.
|
|
6
6
|
- The revision number represents the number of updates since the last endpoint was added. For example, each time changes are made to one of the existing three APIs as described above, the revision number will be bumped.
|
|
7
7
|
|
|
8
|
+
## v2.11.1 - Sep 28, 2026
|
|
9
|
+
- Add `GET /me/account/settings` and `PUT /me/account/settings` for account-level settings
|
|
10
|
+
- Add `GET /me/user/settings` and `PUT /me/user/settings` for user-level display and formatting preferences
|
|
11
|
+
- Add `GET /me/user/account/settings` and `PUT /me/user/account/settings` for settings specific to a user and budget account
|
|
12
|
+
- Add `include_pending_in_totals` to `GET /me/account/settings` and `PUT /me/account/settings`
|
|
13
|
+
- Add `default_manual_account_id` to `GET /me/user/account/settings` and `PUT /me/user/account/settings`
|
|
14
|
+
- Document `GET /budgets/settings` response schema publicly; change `budget_period_quantity` to integer
|
|
15
|
+
|
|
8
16
|
## v2.11.0 - Jul 31, 2026
|
|
9
17
|
- Add `/balance_history` endpoints:
|
|
10
18
|
- `GET /balance_history`
|