@lunch-money/v2-api-spec 2.11.0 → 2.11.1-preview.10

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.
@@ -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.0** spec.
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.0
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 budgeting account.
56
61
  - name: categories
57
62
  description: Work with categories
58
63
  externalDocs:
@@ -153,9 +158,15 @@ components:
153
158
  description: Unique ID for the current budgeting account
154
159
  budget_name:
155
160
  type: string
156
- description: Name of the current budgeting account
161
+ description: Name of the current budgeting 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 budgeting account
166
+ description: Primary currency for the current budgeting 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:
@@ -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 budgeting 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 budgeting 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 budgeting 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
+ 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:
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 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.
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: Get details about the user associated with the supplied
4578
- authorization token.
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 budgeting 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 budgeting 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 budgeting 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 budgeting 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 budgeting 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
+ 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"
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":