ynab 2.1.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. checksums.yaml +4 -4
  2. data/DEVELOPMENT.md +6 -2
  3. data/Gemfile.lock +1 -1
  4. data/README.md +3 -1
  5. data/docs/BulkTransactions.md +1 -1
  6. data/docs/CategoriesApi.md +22 -0
  7. data/docs/ExistingTransaction.md +18 -0
  8. data/docs/HybridTransaction.md +3 -2
  9. data/docs/NewTransaction.md +19 -0
  10. data/docs/PatchCategoryWrapper.md +8 -0
  11. data/docs/PatchPayeeWrapper.md +8 -0
  12. data/docs/PatchTransactionsWrapper.md +1 -1
  13. data/docs/PayeesApi.md +22 -0
  14. data/docs/PostTransactionsWrapper.md +2 -2
  15. data/docs/PutTransactionWrapper.md +1 -1
  16. data/docs/SaveCategory.md +10 -0
  17. data/docs/SavePayee.md +8 -0
  18. data/docs/SavePayeeResponse.md +8 -0
  19. data/docs/SavePayeeResponseData.md +9 -0
  20. data/docs/SaveTransactionWithIdOrImportId.md +20 -0
  21. data/docs/SaveTransactionWithOptionalFields.md +2 -3
  22. data/docs/ScheduledTransactionDetail.md +2 -1
  23. data/docs/ScheduledTransactionSummary.md +2 -1
  24. data/docs/TransactionClearedStatus.md +7 -0
  25. data/docs/TransactionDetail.md +3 -2
  26. data/docs/TransactionFlagColor.md +7 -0
  27. data/docs/TransactionSummary.md +3 -2
  28. data/docs/TransactionsApi.md +7 -7
  29. data/lib/ynab/api/accounts_api.rb +2 -2
  30. data/lib/ynab/api/budgets_api.rb +2 -2
  31. data/lib/ynab/api/categories_api.rb +82 -2
  32. data/lib/ynab/api/months_api.rb +2 -2
  33. data/lib/ynab/api/payee_locations_api.rb +2 -2
  34. data/lib/ynab/api/payees_api.rb +82 -2
  35. data/lib/ynab/api/scheduled_transactions_api.rb +2 -2
  36. data/lib/ynab/api/transactions_api.rb +12 -12
  37. data/lib/ynab/api/user_api.rb +2 -2
  38. data/lib/ynab/api_client.rb +2 -2
  39. data/lib/ynab/configuration.rb +14 -11
  40. data/lib/ynab/models/account.rb +13 -20
  41. data/lib/ynab/models/account_response.rb +13 -20
  42. data/lib/ynab/models/account_response_data.rb +13 -20
  43. data/lib/ynab/models/account_type.rb +2 -2
  44. data/lib/ynab/models/accounts_response.rb +13 -20
  45. data/lib/ynab/models/accounts_response_data.rb +13 -20
  46. data/lib/ynab/models/budget_detail.rb +13 -21
  47. data/lib/ynab/models/budget_detail_response.rb +13 -20
  48. data/lib/ynab/models/budget_detail_response_data.rb +13 -20
  49. data/lib/ynab/models/budget_settings.rb +13 -20
  50. data/lib/ynab/models/budget_settings_response.rb +13 -20
  51. data/lib/ynab/models/budget_settings_response_data.rb +13 -20
  52. data/lib/ynab/models/budget_summary.rb +13 -20
  53. data/lib/ynab/models/budget_summary_response.rb +13 -20
  54. data/lib/ynab/models/budget_summary_response_data.rb +13 -20
  55. data/lib/ynab/models/bulk_response.rb +13 -20
  56. data/lib/ynab/models/bulk_response_data.rb +13 -20
  57. data/lib/ynab/models/bulk_response_data_bulk.rb +13 -20
  58. data/lib/ynab/models/bulk_transactions.rb +14 -21
  59. data/lib/ynab/models/categories_response.rb +13 -20
  60. data/lib/ynab/models/categories_response_data.rb +13 -20
  61. data/lib/ynab/models/category.rb +13 -20
  62. data/lib/ynab/models/category_group.rb +13 -20
  63. data/lib/ynab/models/category_group_with_categories.rb +14 -22
  64. data/lib/ynab/models/category_response.rb +13 -20
  65. data/lib/ynab/models/category_response_data.rb +13 -20
  66. data/lib/ynab/models/currency_format.rb +13 -20
  67. data/lib/ynab/models/date_format.rb +13 -20
  68. data/lib/ynab/models/error_detail.rb +13 -20
  69. data/lib/ynab/models/error_response.rb +13 -20
  70. data/lib/ynab/models/existing_transaction.rb +359 -0
  71. data/lib/ynab/models/hybrid_transaction.rb +28 -43
  72. data/lib/ynab/models/hybrid_transactions_response.rb +13 -20
  73. data/lib/ynab/models/hybrid_transactions_response_data.rb +13 -20
  74. data/lib/ynab/models/month_detail.rb +13 -21
  75. data/lib/ynab/models/month_detail_response.rb +13 -20
  76. data/lib/ynab/models/month_detail_response_data.rb +13 -20
  77. data/lib/ynab/models/month_summaries_response.rb +13 -20
  78. data/lib/ynab/models/month_summaries_response_data.rb +13 -20
  79. data/lib/ynab/models/month_summary.rb +13 -20
  80. data/lib/ynab/models/new_transaction.rb +377 -0
  81. data/lib/ynab/models/patch_category_wrapper.rb +213 -0
  82. data/lib/ynab/models/patch_month_category_wrapper.rb +13 -20
  83. data/lib/ynab/models/patch_payee_wrapper.rb +213 -0
  84. data/lib/ynab/models/patch_transactions_wrapper.rb +14 -21
  85. data/lib/ynab/models/payee.rb +13 -20
  86. data/lib/ynab/models/payee_location.rb +13 -20
  87. data/lib/ynab/models/payee_location_response.rb +13 -20
  88. data/lib/ynab/models/payee_location_response_data.rb +13 -20
  89. data/lib/ynab/models/payee_locations_response.rb +13 -20
  90. data/lib/ynab/models/payee_locations_response_data.rb +13 -20
  91. data/lib/ynab/models/payee_response.rb +13 -20
  92. data/lib/ynab/models/payee_response_data.rb +13 -20
  93. data/lib/ynab/models/payees_response.rb +13 -20
  94. data/lib/ynab/models/payees_response_data.rb +13 -20
  95. data/lib/ynab/models/post_account_wrapper.rb +13 -20
  96. data/lib/ynab/models/post_transactions_wrapper.rb +15 -22
  97. data/lib/ynab/models/put_transaction_wrapper.rb +14 -21
  98. data/lib/ynab/models/save_account.rb +13 -20
  99. data/lib/ynab/models/save_category.rb +232 -0
  100. data/lib/ynab/models/save_category_response.rb +13 -20
  101. data/lib/ynab/models/save_category_response_data.rb +13 -20
  102. data/lib/ynab/models/save_month_category.rb +13 -20
  103. data/lib/ynab/models/save_payee.rb +220 -0
  104. data/lib/ynab/models/save_payee_response.rb +213 -0
  105. data/lib/ynab/models/save_payee_response_data.rb +224 -0
  106. data/lib/ynab/models/save_sub_transaction.rb +13 -20
  107. data/lib/ynab/models/save_transaction_with_id_or_import_id.rb +388 -0
  108. data/lib/ynab/models/save_transaction_with_optional_fields.rb +17 -59
  109. data/lib/ynab/models/save_transactions_response.rb +13 -20
  110. data/lib/ynab/models/save_transactions_response_data.rb +13 -20
  111. data/lib/ynab/models/scheduled_sub_transaction.rb +13 -20
  112. data/lib/ynab/models/scheduled_transaction_detail.rb +26 -32
  113. data/lib/ynab/models/scheduled_transaction_response.rb +13 -20
  114. data/lib/ynab/models/scheduled_transaction_response_data.rb +13 -20
  115. data/lib/ynab/models/scheduled_transaction_summary.rb +26 -31
  116. data/lib/ynab/models/scheduled_transactions_response.rb +13 -20
  117. data/lib/ynab/models/scheduled_transactions_response_data.rb +13 -20
  118. data/lib/ynab/models/sub_transaction.rb +13 -20
  119. data/lib/ynab/models/transaction_cleared_status.rb +41 -0
  120. data/lib/ynab/models/transaction_detail.rb +28 -43
  121. data/lib/ynab/models/transaction_flag_color.rb +45 -0
  122. data/lib/ynab/models/transaction_response.rb +13 -20
  123. data/lib/ynab/models/transaction_response_data.rb +13 -20
  124. data/lib/ynab/models/transaction_summary.rb +28 -42
  125. data/lib/ynab/models/transactions_import_response.rb +13 -20
  126. data/lib/ynab/models/transactions_import_response_data.rb +13 -20
  127. data/lib/ynab/models/transactions_response.rb +13 -20
  128. data/lib/ynab/models/transactions_response_data.rb +13 -20
  129. data/lib/ynab/models/user.rb +13 -20
  130. data/lib/ynab/models/user_response.rb +13 -20
  131. data/lib/ynab/models/user_response_data.rb +13 -20
  132. data/lib/ynab/version.rb +1 -1
  133. data/lib/ynab.rb +13 -12
  134. data/open_api_spec.yaml +455 -343
  135. data/ynab.gemspec +4 -3
  136. metadata +29 -7
data/open_api_spec.yaml CHANGED
@@ -6,7 +6,7 @@ info:
6
6
  upon HTTPS for transport. We respond with meaningful HTTP response codes and
7
7
  if an error occurs, we include error details in the response body. API
8
8
  Documentation is at https://api.ynab.com
9
- version: 1.0.0
9
+ version: 1.69.0
10
10
  servers:
11
11
  - url: https://api.ynab.com/v1
12
12
  security:
@@ -46,18 +46,18 @@ paths:
46
46
  description: Returns authenticated user information
47
47
  operationId: getUser
48
48
  responses:
49
- '200':
49
+ "200":
50
50
  description: The user info
51
51
  content:
52
52
  application/json:
53
53
  schema:
54
- $ref: '#/components/schemas/UserResponse'
54
+ $ref: "#/components/schemas/UserResponse"
55
55
  default:
56
56
  description: An error occurred
57
57
  content:
58
58
  application/json:
59
59
  schema:
60
- $ref: '#/components/schemas/ErrorResponse'
60
+ $ref: "#/components/schemas/ErrorResponse"
61
61
  /budgets:
62
62
  get:
63
63
  tags:
@@ -72,24 +72,24 @@ paths:
72
72
  schema:
73
73
  type: boolean
74
74
  responses:
75
- '200':
75
+ "200":
76
76
  description: The list of budgets
77
77
  content:
78
78
  application/json:
79
79
  schema:
80
- $ref: '#/components/schemas/BudgetSummaryResponse'
81
- '404':
80
+ $ref: "#/components/schemas/BudgetSummaryResponse"
81
+ "404":
82
82
  description: No budgets were found
83
83
  content:
84
84
  application/json:
85
85
  schema:
86
- $ref: '#/components/schemas/ErrorResponse'
86
+ $ref: "#/components/schemas/ErrorResponse"
87
87
  default:
88
88
  description: An error occurred
89
89
  content:
90
90
  application/json:
91
91
  schema:
92
- $ref: '#/components/schemas/ErrorResponse'
92
+ $ref: "#/components/schemas/ErrorResponse"
93
93
  /budgets/{budget_id}:
94
94
  get:
95
95
  tags:
@@ -118,24 +118,24 @@ paths:
118
118
  type: integer
119
119
  format: int64
120
120
  responses:
121
- '200':
121
+ "200":
122
122
  description: The requested budget
123
123
  content:
124
124
  application/json:
125
125
  schema:
126
- $ref: '#/components/schemas/BudgetDetailResponse'
127
- '404':
126
+ $ref: "#/components/schemas/BudgetDetailResponse"
127
+ "404":
128
128
  description: The specified budget was not found
129
129
  content:
130
130
  application/json:
131
131
  schema:
132
- $ref: '#/components/schemas/ErrorResponse'
132
+ $ref: "#/components/schemas/ErrorResponse"
133
133
  default:
134
134
  description: An error occurred
135
135
  content:
136
136
  application/json:
137
137
  schema:
138
- $ref: '#/components/schemas/ErrorResponse'
138
+ $ref: "#/components/schemas/ErrorResponse"
139
139
  /budgets/{budget_id}/settings:
140
140
  get:
141
141
  tags:
@@ -154,24 +154,24 @@ paths:
154
154
  schema:
155
155
  type: string
156
156
  responses:
157
- '200':
157
+ "200":
158
158
  description: The requested budget settings
159
159
  content:
160
160
  application/json:
161
161
  schema:
162
- $ref: '#/components/schemas/BudgetSettingsResponse'
163
- '404':
162
+ $ref: "#/components/schemas/BudgetSettingsResponse"
163
+ "404":
164
164
  description: The specified Budget was not found
165
165
  content:
166
166
  application/json:
167
167
  schema:
168
- $ref: '#/components/schemas/ErrorResponse'
168
+ $ref: "#/components/schemas/ErrorResponse"
169
169
  default:
170
170
  description: An error occurred
171
171
  content:
172
172
  application/json:
173
173
  schema:
174
- $ref: '#/components/schemas/ErrorResponse'
174
+ $ref: "#/components/schemas/ErrorResponse"
175
175
  /budgets/{budget_id}/accounts:
176
176
  get:
177
177
  tags:
@@ -198,24 +198,24 @@ paths:
198
198
  type: integer
199
199
  format: int64
200
200
  responses:
201
- '200':
201
+ "200":
202
202
  description: The list of requested accounts
203
203
  content:
204
204
  application/json:
205
205
  schema:
206
- $ref: '#/components/schemas/AccountsResponse'
207
- '404':
206
+ $ref: "#/components/schemas/AccountsResponse"
207
+ "404":
208
208
  description: No accounts were found
209
209
  content:
210
210
  application/json:
211
211
  schema:
212
- $ref: '#/components/schemas/ErrorResponse'
212
+ $ref: "#/components/schemas/ErrorResponse"
213
213
  default:
214
214
  description: An error occurred
215
215
  content:
216
216
  application/json:
217
217
  schema:
218
- $ref: '#/components/schemas/ErrorResponse'
218
+ $ref: "#/components/schemas/ErrorResponse"
219
219
  post:
220
220
  tags:
221
221
  - Accounts
@@ -235,25 +235,25 @@ paths:
235
235
  requestBody:
236
236
  description: The account to create.
237
237
  content:
238
- 'application/json':
238
+ "application/json":
239
239
  schema:
240
- $ref: '#/components/schemas/PostAccountWrapper'
240
+ $ref: "#/components/schemas/PostAccountWrapper"
241
241
  required: true
242
242
  responses:
243
- '201':
243
+ "201":
244
244
  description: The account was successfully created
245
245
  content:
246
246
  application/json:
247
247
  schema:
248
- $ref: '#/components/schemas/AccountResponse'
249
- '400':
248
+ $ref: "#/components/schemas/AccountResponse"
249
+ "400":
250
250
  description: >-
251
251
  The request could not be understood due to malformed syntax or
252
252
  validation error(s).
253
253
  content:
254
254
  application/json:
255
255
  schema:
256
- $ref: '#/components/schemas/ErrorResponse'
256
+ $ref: "#/components/schemas/ErrorResponse"
257
257
  x-codegen-request-body-name: data
258
258
  /budgets/{budget_id}/accounts/{account_id}:
259
259
  get:
@@ -280,24 +280,24 @@ paths:
280
280
  type: string
281
281
  format: uuid
282
282
  responses:
283
- '200':
283
+ "200":
284
284
  description: The requested account
285
285
  content:
286
286
  application/json:
287
287
  schema:
288
- $ref: '#/components/schemas/AccountResponse'
289
- '404':
288
+ $ref: "#/components/schemas/AccountResponse"
289
+ "404":
290
290
  description: The requested account was not found
291
291
  content:
292
292
  application/json:
293
293
  schema:
294
- $ref: '#/components/schemas/ErrorResponse'
294
+ $ref: "#/components/schemas/ErrorResponse"
295
295
  default:
296
296
  description: An error occurred
297
297
  content:
298
298
  application/json:
299
299
  schema:
300
- $ref: '#/components/schemas/ErrorResponse'
300
+ $ref: "#/components/schemas/ErrorResponse"
301
301
  /budgets/{budget_id}/categories:
302
302
  get:
303
303
  tags:
@@ -326,24 +326,24 @@ paths:
326
326
  type: integer
327
327
  format: int64
328
328
  responses:
329
- '200':
329
+ "200":
330
330
  description: The categories grouped by category group
331
331
  content:
332
332
  application/json:
333
333
  schema:
334
- $ref: '#/components/schemas/CategoriesResponse'
335
- '404':
334
+ $ref: "#/components/schemas/CategoriesResponse"
335
+ "404":
336
336
  description: No categories were found
337
337
  content:
338
338
  application/json:
339
339
  schema:
340
- $ref: '#/components/schemas/ErrorResponse'
340
+ $ref: "#/components/schemas/ErrorResponse"
341
341
  default:
342
342
  description: An error occurred
343
343
  content:
344
344
  application/json:
345
345
  schema:
346
- $ref: '#/components/schemas/ErrorResponse'
346
+ $ref: "#/components/schemas/ErrorResponse"
347
347
  /budgets/{budget_id}/categories/{category_id}:
348
348
  get:
349
349
  tags:
@@ -370,24 +370,71 @@ paths:
370
370
  schema:
371
371
  type: string
372
372
  responses:
373
- '200':
373
+ "200":
374
374
  description: The requested category
375
375
  content:
376
376
  application/json:
377
377
  schema:
378
- $ref: '#/components/schemas/CategoryResponse'
379
- '404':
378
+ $ref: "#/components/schemas/CategoryResponse"
379
+ "404":
380
380
  description: The category not was found
381
381
  content:
382
382
  application/json:
383
383
  schema:
384
- $ref: '#/components/schemas/ErrorResponse'
384
+ $ref: "#/components/schemas/ErrorResponse"
385
385
  default:
386
386
  description: An error occurred
387
387
  content:
388
388
  application/json:
389
389
  schema:
390
- $ref: '#/components/schemas/ErrorResponse'
390
+ $ref: "#/components/schemas/ErrorResponse"
391
+ patch:
392
+ tags:
393
+ - Categories
394
+ summary: Update a category
395
+ description: >-
396
+ Update a category
397
+ operationId: updateCategory
398
+ parameters:
399
+ - name: budget_id
400
+ in: path
401
+ description: >-
402
+ The id of the budget. "last-used" can be used to specify the last
403
+ used budget and "default" can be used if default budget selection is
404
+ enabled (see: https://api.ynab.com/#oauth-default-budget).
405
+ required: true
406
+ schema:
407
+ type: string
408
+ - name: category_id
409
+ in: path
410
+ description: The id of the category
411
+ required: true
412
+ schema:
413
+ type: string
414
+ requestBody:
415
+ description: >-
416
+ The category to update
417
+ content:
418
+ "application/json":
419
+ schema:
420
+ $ref: "#/components/schemas/PatchCategoryWrapper"
421
+ required: true
422
+ responses:
423
+ "200":
424
+ description: The category was successfully updated
425
+ content:
426
+ application/json:
427
+ schema:
428
+ $ref: "#/components/schemas/SaveCategoryResponse"
429
+ "400":
430
+ description: >-
431
+ The request could not be understood due to malformed syntax or
432
+ validation error(s)
433
+ content:
434
+ application/json:
435
+ schema:
436
+ $ref: "#/components/schemas/ErrorResponse"
437
+ x-codegen-request-body-name: data
391
438
  /budgets/{budget_id}/months/{month}/categories/{category_id}:
392
439
  get:
393
440
  tags:
@@ -424,24 +471,24 @@ paths:
424
471
  schema:
425
472
  type: string
426
473
  responses:
427
- '200':
474
+ "200":
428
475
  description: The requested month category
429
476
  content:
430
477
  application/json:
431
478
  schema:
432
- $ref: '#/components/schemas/CategoryResponse'
433
- '404':
479
+ $ref: "#/components/schemas/CategoryResponse"
480
+ "404":
434
481
  description: The month category was not was found
435
482
  content:
436
483
  application/json:
437
484
  schema:
438
- $ref: '#/components/schemas/ErrorResponse'
485
+ $ref: "#/components/schemas/ErrorResponse"
439
486
  default:
440
487
  description: An error occurred
441
488
  content:
442
489
  application/json:
443
490
  schema:
444
- $ref: '#/components/schemas/ErrorResponse'
491
+ $ref: "#/components/schemas/ErrorResponse"
445
492
  patch:
446
493
  tags:
447
494
  - Categories
@@ -480,25 +527,25 @@ paths:
480
527
  The category to update. Only `budgeted` amount can be updated and any
481
528
  other fields specified will be ignored.
482
529
  content:
483
- 'application/json':
530
+ "application/json":
484
531
  schema:
485
- $ref: '#/components/schemas/PatchMonthCategoryWrapper'
532
+ $ref: "#/components/schemas/PatchMonthCategoryWrapper"
486
533
  required: true
487
534
  responses:
488
- '200':
535
+ "200":
489
536
  description: The month category was successfully updated
490
537
  content:
491
538
  application/json:
492
539
  schema:
493
- $ref: '#/components/schemas/SaveCategoryResponse'
494
- '400':
540
+ $ref: "#/components/schemas/SaveCategoryResponse"
541
+ "400":
495
542
  description: >-
496
543
  The request could not be understood due to malformed syntax or
497
544
  validation error(s)
498
545
  content:
499
546
  application/json:
500
547
  schema:
501
- $ref: '#/components/schemas/ErrorResponse'
548
+ $ref: "#/components/schemas/ErrorResponse"
502
549
  x-codegen-request-body-name: data
503
550
  /budgets/{budget_id}/payees:
504
551
  get:
@@ -526,24 +573,24 @@ paths:
526
573
  type: integer
527
574
  format: int64
528
575
  responses:
529
- '200':
576
+ "200":
530
577
  description: The requested list of payees
531
578
  content:
532
579
  application/json:
533
580
  schema:
534
- $ref: '#/components/schemas/PayeesResponse'
535
- '404':
581
+ $ref: "#/components/schemas/PayeesResponse"
582
+ "404":
536
583
  description: No payees were found
537
584
  content:
538
585
  application/json:
539
586
  schema:
540
- $ref: '#/components/schemas/ErrorResponse'
587
+ $ref: "#/components/schemas/ErrorResponse"
541
588
  default:
542
589
  description: An error occurred
543
590
  content:
544
591
  application/json:
545
592
  schema:
546
- $ref: '#/components/schemas/ErrorResponse'
593
+ $ref: "#/components/schemas/ErrorResponse"
547
594
  /budgets/{budget_id}/payees/{payee_id}:
548
595
  get:
549
596
  tags:
@@ -568,24 +615,71 @@ paths:
568
615
  schema:
569
616
  type: string
570
617
  responses:
571
- '200':
618
+ "200":
572
619
  description: The requested payee
573
620
  content:
574
621
  application/json:
575
622
  schema:
576
- $ref: '#/components/schemas/PayeeResponse'
577
- '404':
623
+ $ref: "#/components/schemas/PayeeResponse"
624
+ "404":
578
625
  description: The payee was not found
579
626
  content:
580
627
  application/json:
581
628
  schema:
582
- $ref: '#/components/schemas/ErrorResponse'
629
+ $ref: "#/components/schemas/ErrorResponse"
583
630
  default:
584
631
  description: An error occurred
585
632
  content:
586
633
  application/json:
587
634
  schema:
588
- $ref: '#/components/schemas/ErrorResponse'
635
+ $ref: "#/components/schemas/ErrorResponse"
636
+ patch:
637
+ tags:
638
+ - Payees
639
+ summary: Update a payee
640
+ description: >-
641
+ Update a payee
642
+ operationId: updatePayee
643
+ parameters:
644
+ - name: budget_id
645
+ in: path
646
+ description: >-
647
+ The id of the budget. "last-used" can be used to specify the last
648
+ used budget and "default" can be used if default budget selection is
649
+ enabled (see: https://api.ynab.com/#oauth-default-budget).
650
+ required: true
651
+ schema:
652
+ type: string
653
+ - name: payee_id
654
+ in: path
655
+ description: The id of the payee
656
+ required: true
657
+ schema:
658
+ type: string
659
+ requestBody:
660
+ description: >-
661
+ The payee to update
662
+ content:
663
+ "application/json":
664
+ schema:
665
+ $ref: "#/components/schemas/PatchPayeeWrapper"
666
+ required: true
667
+ responses:
668
+ "200":
669
+ description: The payee was successfully updated
670
+ content:
671
+ application/json:
672
+ schema:
673
+ $ref: "#/components/schemas/SavePayeeResponse"
674
+ "400":
675
+ description: >-
676
+ The request could not be understood due to malformed syntax or
677
+ validation error(s)
678
+ content:
679
+ application/json:
680
+ schema:
681
+ $ref: "#/components/schemas/ErrorResponse"
682
+ x-codegen-request-body-name: data
589
683
  /budgets/{budget_id}/payee_locations:
590
684
  get:
591
685
  tags:
@@ -604,24 +698,24 @@ paths:
604
698
  schema:
605
699
  type: string
606
700
  responses:
607
- '200':
701
+ "200":
608
702
  description: The list of payee locations
609
703
  content:
610
704
  application/json:
611
705
  schema:
612
- $ref: '#/components/schemas/PayeeLocationsResponse'
613
- '404':
706
+ $ref: "#/components/schemas/PayeeLocationsResponse"
707
+ "404":
614
708
  description: No payees locations were found
615
709
  content:
616
710
  application/json:
617
711
  schema:
618
- $ref: '#/components/schemas/ErrorResponse'
712
+ $ref: "#/components/schemas/ErrorResponse"
619
713
  default:
620
714
  description: An error occurred
621
715
  content:
622
716
  application/json:
623
717
  schema:
624
- $ref: '#/components/schemas/ErrorResponse'
718
+ $ref: "#/components/schemas/ErrorResponse"
625
719
  /budgets/{budget_id}/payee_locations/{payee_location_id}:
626
720
  get:
627
721
  tags:
@@ -646,24 +740,24 @@ paths:
646
740
  schema:
647
741
  type: string
648
742
  responses:
649
- '200':
743
+ "200":
650
744
  description: The payee location
651
745
  content:
652
746
  application/json:
653
747
  schema:
654
- $ref: '#/components/schemas/PayeeLocationResponse'
655
- '404':
748
+ $ref: "#/components/schemas/PayeeLocationResponse"
749
+ "404":
656
750
  description: The payee location was not found
657
751
  content:
658
752
  application/json:
659
753
  schema:
660
- $ref: '#/components/schemas/ErrorResponse'
754
+ $ref: "#/components/schemas/ErrorResponse"
661
755
  default:
662
756
  description: An error occurred
663
757
  content:
664
758
  application/json:
665
759
  schema:
666
- $ref: '#/components/schemas/ErrorResponse'
760
+ $ref: "#/components/schemas/ErrorResponse"
667
761
  /budgets/{budget_id}/payees/{payee_id}/payee_locations:
668
762
  get:
669
763
  tags:
@@ -688,24 +782,24 @@ paths:
688
782
  schema:
689
783
  type: string
690
784
  responses:
691
- '200':
785
+ "200":
692
786
  description: The list of requested payee locations
693
787
  content:
694
788
  application/json:
695
789
  schema:
696
- $ref: '#/components/schemas/PayeeLocationsResponse'
697
- '404':
790
+ $ref: "#/components/schemas/PayeeLocationsResponse"
791
+ "404":
698
792
  description: No payees locations were found
699
793
  content:
700
794
  application/json:
701
795
  schema:
702
- $ref: '#/components/schemas/ErrorResponse'
796
+ $ref: "#/components/schemas/ErrorResponse"
703
797
  default:
704
798
  description: An error occurred
705
799
  content:
706
800
  application/json:
707
801
  schema:
708
- $ref: '#/components/schemas/ErrorResponse'
802
+ $ref: "#/components/schemas/ErrorResponse"
709
803
  /budgets/{budget_id}/months:
710
804
  get:
711
805
  tags:
@@ -732,24 +826,24 @@ paths:
732
826
  type: integer
733
827
  format: int64
734
828
  responses:
735
- '200':
829
+ "200":
736
830
  description: The list of budget months
737
831
  content:
738
832
  application/json:
739
833
  schema:
740
- $ref: '#/components/schemas/MonthSummariesResponse'
741
- '404':
834
+ $ref: "#/components/schemas/MonthSummariesResponse"
835
+ "404":
742
836
  description: No budget months were found
743
837
  content:
744
838
  application/json:
745
839
  schema:
746
- $ref: '#/components/schemas/ErrorResponse'
840
+ $ref: "#/components/schemas/ErrorResponse"
747
841
  default:
748
842
  description: An error occurred
749
843
  content:
750
844
  application/json:
751
845
  schema:
752
- $ref: '#/components/schemas/ErrorResponse'
846
+ $ref: "#/components/schemas/ErrorResponse"
753
847
  /budgets/{budget_id}/months/{month}:
754
848
  get:
755
849
  tags:
@@ -777,30 +871,30 @@ paths:
777
871
  type: string
778
872
  format: date
779
873
  responses:
780
- '200':
874
+ "200":
781
875
  description: The budget month detail
782
876
  content:
783
877
  application/json:
784
878
  schema:
785
- $ref: '#/components/schemas/MonthDetailResponse'
786
- '404':
879
+ $ref: "#/components/schemas/MonthDetailResponse"
880
+ "404":
787
881
  description: The budget month was not found
788
882
  content:
789
883
  application/json:
790
884
  schema:
791
- $ref: '#/components/schemas/ErrorResponse'
885
+ $ref: "#/components/schemas/ErrorResponse"
792
886
  default:
793
887
  description: An error occurred
794
888
  content:
795
889
  application/json:
796
890
  schema:
797
- $ref: '#/components/schemas/ErrorResponse'
891
+ $ref: "#/components/schemas/ErrorResponse"
798
892
  /budgets/{budget_id}/transactions:
799
893
  get:
800
894
  tags:
801
895
  - Transactions
802
896
  summary: List transactions
803
- description: Returns budget transactions
897
+ description: Returns budget transactions, excluding any pending transactions
804
898
  operationId: getTransactions
805
899
  parameters:
806
900
  - name: budget_id
@@ -839,24 +933,24 @@ paths:
839
933
  type: integer
840
934
  format: int64
841
935
  responses:
842
- '200':
936
+ "200":
843
937
  description: The list of requested transactions
844
938
  content:
845
939
  application/json:
846
940
  schema:
847
- $ref: '#/components/schemas/TransactionsResponse'
848
- '400':
941
+ $ref: "#/components/schemas/TransactionsResponse"
942
+ "400":
849
943
  description: An error occurred
850
944
  content:
851
945
  application/json:
852
946
  schema:
853
- $ref: '#/components/schemas/ErrorResponse'
854
- '404':
947
+ $ref: "#/components/schemas/ErrorResponse"
948
+ "404":
855
949
  description: No transactions were found
856
950
  content:
857
951
  application/json:
858
952
  schema:
859
- $ref: '#/components/schemas/ErrorResponse'
953
+ $ref: "#/components/schemas/ErrorResponse"
860
954
  post:
861
955
  tags:
862
956
  - Transactions
@@ -886,33 +980,33 @@ paths:
886
980
  `transactions`. It is expected that you will only provide a value for
887
981
  one of these objects.
888
982
  content:
889
- 'application/json':
983
+ "application/json":
890
984
  schema:
891
- $ref: '#/components/schemas/PostTransactionsWrapper'
985
+ $ref: "#/components/schemas/PostTransactionsWrapper"
892
986
  required: true
893
987
  responses:
894
- '201':
988
+ "201":
895
989
  description: The transaction or transactions were successfully created
896
990
  content:
897
991
  application/json:
898
992
  schema:
899
- $ref: '#/components/schemas/SaveTransactionsResponse'
900
- '400':
993
+ $ref: "#/components/schemas/SaveTransactionsResponse"
994
+ "400":
901
995
  description: >-
902
996
  The request could not be understood due to malformed syntax or
903
997
  validation error(s).
904
998
  content:
905
999
  application/json:
906
1000
  schema:
907
- $ref: '#/components/schemas/ErrorResponse'
908
- '409':
1001
+ $ref: "#/components/schemas/ErrorResponse"
1002
+ "409":
909
1003
  description: >-
910
1004
  A transaction on the same account with the same `import_id` already
911
1005
  exists.
912
1006
  content:
913
1007
  application/json:
914
1008
  schema:
915
- $ref: '#/components/schemas/ErrorResponse'
1009
+ $ref: "#/components/schemas/ErrorResponse"
916
1010
  x-codegen-request-body-name: data
917
1011
  patch:
918
1012
  tags:
@@ -935,28 +1029,30 @@ paths:
935
1029
  The transactions to update. Each transaction must have either an `id`
936
1030
  or `import_id` specified. If `id` is specified as null an `import_id`
937
1031
  value can be provided which will allow transaction(s) to be updated by
938
- their `import_id`. If an `id` is specified, it will always be used for
939
- lookup.
1032
+ its `import_id`. If an `id` is specified, it will always be used for
1033
+ lookup. You should not specify both `id` and `import_id`. Updating
1034
+ an `import_id` on an existing transaction is not allowed; if an `import_id`
1035
+ is specified, it will only be used to lookup the transaction.
940
1036
  content:
941
- 'application/json':
1037
+ "application/json":
942
1038
  schema:
943
- $ref: '#/components/schemas/PatchTransactionsWrapper'
1039
+ $ref: "#/components/schemas/PatchTransactionsWrapper"
944
1040
  required: true
945
1041
  responses:
946
- '209':
1042
+ "209":
947
1043
  description: The transactions were successfully updated
948
1044
  content:
949
1045
  application/json:
950
1046
  schema:
951
- $ref: '#/components/schemas/SaveTransactionsResponse'
952
- '400':
1047
+ $ref: "#/components/schemas/SaveTransactionsResponse"
1048
+ "400":
953
1049
  description: >-
954
1050
  The request could not be understood due to malformed syntax or
955
1051
  validation error(s).
956
1052
  content:
957
1053
  application/json:
958
1054
  schema:
959
- $ref: '#/components/schemas/ErrorResponse'
1055
+ $ref: "#/components/schemas/ErrorResponse"
960
1056
  x-codegen-request-body-name: data
961
1057
  /budgets/{budget_id}/transactions/import:
962
1058
  post:
@@ -983,26 +1079,26 @@ paths:
983
1079
  schema:
984
1080
  type: string
985
1081
  responses:
986
- '200':
1082
+ "200":
987
1083
  description: The request was successful but there were no transactions to import
988
1084
  content:
989
1085
  application/json:
990
1086
  schema:
991
- $ref: '#/components/schemas/TransactionsImportResponse'
992
- '201':
1087
+ $ref: "#/components/schemas/TransactionsImportResponse"
1088
+ "201":
993
1089
  description: One or more transactions were imported successfully
994
1090
  content:
995
1091
  application/json:
996
1092
  schema:
997
- $ref: '#/components/schemas/TransactionsImportResponse'
998
- '400':
1093
+ $ref: "#/components/schemas/TransactionsImportResponse"
1094
+ "400":
999
1095
  description: >-
1000
1096
  The request could not be understood due to malformed syntax or
1001
1097
  validation error(s)
1002
1098
  content:
1003
1099
  application/json:
1004
1100
  schema:
1005
- $ref: '#/components/schemas/ErrorResponse'
1101
+ $ref: "#/components/schemas/ErrorResponse"
1006
1102
  /budgets/{budget_id}/transactions/{transaction_id}:
1007
1103
  get:
1008
1104
  tags:
@@ -1027,24 +1123,24 @@ paths:
1027
1123
  schema:
1028
1124
  type: string
1029
1125
  responses:
1030
- '200':
1126
+ "200":
1031
1127
  description: The requested transaction
1032
1128
  content:
1033
1129
  application/json:
1034
1130
  schema:
1035
- $ref: '#/components/schemas/TransactionResponse'
1036
- '404':
1131
+ $ref: "#/components/schemas/TransactionResponse"
1132
+ "404":
1037
1133
  description: The transaction was not found
1038
1134
  content:
1039
1135
  application/json:
1040
1136
  schema:
1041
- $ref: '#/components/schemas/ErrorResponse'
1137
+ $ref: "#/components/schemas/ErrorResponse"
1042
1138
  default:
1043
1139
  description: An error occurred
1044
1140
  content:
1045
1141
  application/json:
1046
1142
  schema:
1047
- $ref: '#/components/schemas/ErrorResponse'
1143
+ $ref: "#/components/schemas/ErrorResponse"
1048
1144
  put:
1049
1145
  tags:
1050
1146
  - Transactions
@@ -1070,25 +1166,25 @@ paths:
1070
1166
  requestBody:
1071
1167
  description: The transaction to update
1072
1168
  content:
1073
- 'application/json':
1169
+ "application/json":
1074
1170
  schema:
1075
- $ref: '#/components/schemas/PutTransactionWrapper'
1171
+ $ref: "#/components/schemas/PutTransactionWrapper"
1076
1172
  required: true
1077
1173
  responses:
1078
- '200':
1174
+ "200":
1079
1175
  description: The transaction was successfully updated
1080
1176
  content:
1081
1177
  application/json:
1082
1178
  schema:
1083
- $ref: '#/components/schemas/TransactionResponse'
1084
- '400':
1179
+ $ref: "#/components/schemas/TransactionResponse"
1180
+ "400":
1085
1181
  description: >-
1086
1182
  The request could not be understood due to malformed syntax or
1087
1183
  validation error(s)
1088
1184
  content:
1089
1185
  application/json:
1090
1186
  schema:
1091
- $ref: '#/components/schemas/ErrorResponse'
1187
+ $ref: "#/components/schemas/ErrorResponse"
1092
1188
  x-codegen-request-body-name: data
1093
1189
  delete:
1094
1190
  tags:
@@ -1113,67 +1209,24 @@ paths:
1113
1209
  schema:
1114
1210
  type: string
1115
1211
  responses:
1116
- '200':
1212
+ "200":
1117
1213
  description: The transaction was successfully deleted
1118
1214
  content:
1119
1215
  application/json:
1120
1216
  schema:
1121
- $ref: '#/components/schemas/TransactionResponse'
1122
- '404':
1217
+ $ref: "#/components/schemas/TransactionResponse"
1218
+ "404":
1123
1219
  description: The transaction was not found
1124
1220
  content:
1125
1221
  application/json:
1126
1222
  schema:
1127
- $ref: '#/components/schemas/ErrorResponse'
1128
- /budgets/{budget_id}/transactions/bulk:
1129
- post:
1130
- tags:
1131
- - Deprecated
1132
- summary: Bulk create transactions
1133
- description: >-
1134
- Creates multiple transactions. Although this endpoint is still
1135
- supported, it is recommended to use 'POST
1136
- /budgets/{budget_id}/transactions' to create multiple transactions.
1137
- operationId: bulkCreateTransactions
1138
- parameters:
1139
- - name: budget_id
1140
- in: path
1141
- description: >-
1142
- The id of the budget. "last-used" can be used to specify the last
1143
- used budget and "default" can be used if default budget selection is
1144
- enabled (see: https://api.ynab.com/#oauth-default-budget).
1145
- required: true
1146
- schema:
1147
- type: string
1148
- requestBody:
1149
- description: The list of transactions to create
1150
- content:
1151
- 'application/json':
1152
- schema:
1153
- $ref: '#/components/schemas/BulkTransactions'
1154
- required: true
1155
- responses:
1156
- '201':
1157
- description: The bulk request was processed successfully
1158
- content:
1159
- application/json:
1160
- schema:
1161
- $ref: '#/components/schemas/BulkResponse'
1162
- '400':
1163
- description: >-
1164
- The request could not be understood due to malformed syntax or
1165
- validation error(s)
1166
- content:
1167
- application/json:
1168
- schema:
1169
- $ref: '#/components/schemas/ErrorResponse'
1170
- x-codegen-request-body-name: transactions
1223
+ $ref: "#/components/schemas/ErrorResponse"
1171
1224
  /budgets/{budget_id}/accounts/{account_id}/transactions:
1172
1225
  get:
1173
1226
  tags:
1174
1227
  - Transactions
1175
1228
  summary: List account transactions
1176
- description: Returns all transactions for a specified account
1229
+ description: Returns all transactions for a specified account, excluding any pending transactions
1177
1230
  operationId: getTransactionsByAccount
1178
1231
  parameters:
1179
1232
  - name: budget_id
@@ -1218,29 +1271,29 @@ paths:
1218
1271
  type: integer
1219
1272
  format: int64
1220
1273
  responses:
1221
- '200':
1274
+ "200":
1222
1275
  description: The list of requested transactions
1223
1276
  content:
1224
1277
  application/json:
1225
1278
  schema:
1226
- $ref: '#/components/schemas/TransactionsResponse'
1227
- '404':
1279
+ $ref: "#/components/schemas/TransactionsResponse"
1280
+ "404":
1228
1281
  description: No transactions were found
1229
1282
  content:
1230
1283
  application/json:
1231
1284
  schema:
1232
- $ref: '#/components/schemas/ErrorResponse'
1285
+ $ref: "#/components/schemas/ErrorResponse"
1233
1286
  default:
1234
1287
  description: An error occurred
1235
1288
  content:
1236
1289
  application/json:
1237
1290
  schema:
1238
- $ref: '#/components/schemas/ErrorResponse'
1291
+ $ref: "#/components/schemas/ErrorResponse"
1239
1292
  /budgets/{budget_id}/categories/{category_id}/transactions:
1240
1293
  get:
1241
1294
  tags:
1242
1295
  - Transactions
1243
- summary: List category transactions
1296
+ summary: List category transactions, excluding any pending transactions
1244
1297
  description: Returns all transactions for a specified category
1245
1298
  operationId: getTransactionsByCategory
1246
1299
  parameters:
@@ -1286,29 +1339,29 @@ paths:
1286
1339
  type: integer
1287
1340
  format: int64
1288
1341
  responses:
1289
- '200':
1342
+ "200":
1290
1343
  description: The list of requested transactions
1291
1344
  content:
1292
1345
  application/json:
1293
1346
  schema:
1294
- $ref: '#/components/schemas/HybridTransactionsResponse'
1295
- '404':
1347
+ $ref: "#/components/schemas/HybridTransactionsResponse"
1348
+ "404":
1296
1349
  description: No transactions were found
1297
1350
  content:
1298
1351
  application/json:
1299
1352
  schema:
1300
- $ref: '#/components/schemas/ErrorResponse'
1353
+ $ref: "#/components/schemas/ErrorResponse"
1301
1354
  default:
1302
1355
  description: An error occurred
1303
1356
  content:
1304
1357
  application/json:
1305
1358
  schema:
1306
- $ref: '#/components/schemas/ErrorResponse'
1359
+ $ref: "#/components/schemas/ErrorResponse"
1307
1360
  /budgets/{budget_id}/payees/{payee_id}/transactions:
1308
1361
  get:
1309
1362
  tags:
1310
1363
  - Transactions
1311
- summary: List payee transactions
1364
+ summary: List payee transactions, excluding any pending transactions
1312
1365
  description: Returns all transactions for a specified payee
1313
1366
  operationId: getTransactionsByPayee
1314
1367
  parameters:
@@ -1354,24 +1407,24 @@ paths:
1354
1407
  type: integer
1355
1408
  format: int64
1356
1409
  responses:
1357
- '200':
1410
+ "200":
1358
1411
  description: The list of requested transactions
1359
1412
  content:
1360
1413
  application/json:
1361
1414
  schema:
1362
- $ref: '#/components/schemas/HybridTransactionsResponse'
1363
- '404':
1415
+ $ref: "#/components/schemas/HybridTransactionsResponse"
1416
+ "404":
1364
1417
  description: No transactions were found
1365
1418
  content:
1366
1419
  application/json:
1367
1420
  schema:
1368
- $ref: '#/components/schemas/ErrorResponse'
1421
+ $ref: "#/components/schemas/ErrorResponse"
1369
1422
  default:
1370
1423
  description: An error occurred
1371
1424
  content:
1372
1425
  application/json:
1373
1426
  schema:
1374
- $ref: '#/components/schemas/ErrorResponse'
1427
+ $ref: "#/components/schemas/ErrorResponse"
1375
1428
  /budgets/{budget_id}/scheduled_transactions:
1376
1429
  get:
1377
1430
  tags:
@@ -1398,24 +1451,24 @@ paths:
1398
1451
  type: integer
1399
1452
  format: int64
1400
1453
  responses:
1401
- '200':
1454
+ "200":
1402
1455
  description: The list of requested scheduled transactions
1403
1456
  content:
1404
1457
  application/json:
1405
1458
  schema:
1406
- $ref: '#/components/schemas/ScheduledTransactionsResponse'
1407
- '404':
1459
+ $ref: "#/components/schemas/ScheduledTransactionsResponse"
1460
+ "404":
1408
1461
  description: No scheduled transactions were found
1409
1462
  content:
1410
1463
  application/json:
1411
1464
  schema:
1412
- $ref: '#/components/schemas/ErrorResponse'
1465
+ $ref: "#/components/schemas/ErrorResponse"
1413
1466
  default:
1414
1467
  description: An error occurred
1415
1468
  content:
1416
1469
  application/json:
1417
1470
  schema:
1418
- $ref: '#/components/schemas/ErrorResponse'
1471
+ $ref: "#/components/schemas/ErrorResponse"
1419
1472
  /budgets/{budget_id}/scheduled_transactions/{scheduled_transaction_id}:
1420
1473
  get:
1421
1474
  tags:
@@ -1440,24 +1493,24 @@ paths:
1440
1493
  schema:
1441
1494
  type: string
1442
1495
  responses:
1443
- '200':
1496
+ "200":
1444
1497
  description: The requested Scheduled Transaction
1445
1498
  content:
1446
1499
  application/json:
1447
1500
  schema:
1448
- $ref: '#/components/schemas/ScheduledTransactionResponse'
1449
- '404':
1501
+ $ref: "#/components/schemas/ScheduledTransactionResponse"
1502
+ "404":
1450
1503
  description: The scheduled transaction was not found
1451
1504
  content:
1452
1505
  application/json:
1453
1506
  schema:
1454
- $ref: '#/components/schemas/ErrorResponse'
1507
+ $ref: "#/components/schemas/ErrorResponse"
1455
1508
  default:
1456
1509
  description: An error occurred
1457
1510
  content:
1458
1511
  application/json:
1459
1512
  schema:
1460
- $ref: '#/components/schemas/ErrorResponse'
1513
+ $ref: "#/components/schemas/ErrorResponse"
1461
1514
  components:
1462
1515
  schemas:
1463
1516
  ErrorResponse:
@@ -1466,7 +1519,7 @@ components:
1466
1519
  type: object
1467
1520
  properties:
1468
1521
  error:
1469
- $ref: '#/components/schemas/ErrorDetail'
1522
+ $ref: "#/components/schemas/ErrorDetail"
1470
1523
  ErrorDetail:
1471
1524
  required:
1472
1525
  - detail
@@ -1491,7 +1544,7 @@ components:
1491
1544
  type: object
1492
1545
  properties:
1493
1546
  user:
1494
- $ref: '#/components/schemas/User'
1547
+ $ref: "#/components/schemas/User"
1495
1548
  User:
1496
1549
  required:
1497
1550
  - id
@@ -1557,9 +1610,9 @@ components:
1557
1610
  budgets:
1558
1611
  type: array
1559
1612
  items:
1560
- $ref: '#/components/schemas/BudgetSummary'
1613
+ $ref: "#/components/schemas/BudgetSummary"
1561
1614
  default_budget:
1562
- $ref: '#/components/schemas/BudgetSummary'
1615
+ $ref: "#/components/schemas/BudgetSummary"
1563
1616
  BudgetSummary:
1564
1617
  required:
1565
1618
  - id
@@ -1586,16 +1639,16 @@ components:
1586
1639
  description: The latest budget month
1587
1640
  format: date
1588
1641
  date_format:
1589
- $ref: '#/components/schemas/DateFormat'
1642
+ $ref: "#/components/schemas/DateFormat"
1590
1643
  currency_format:
1591
- $ref: '#/components/schemas/CurrencyFormat'
1644
+ $ref: "#/components/schemas/CurrencyFormat"
1592
1645
  accounts:
1593
1646
  type: array
1594
1647
  description: >-
1595
1648
  The budget accounts (only included if `include_accounts=true`
1596
1649
  specified as query parameter)
1597
1650
  items:
1598
- $ref: '#/components/schemas/Account'
1651
+ $ref: "#/components/schemas/Account"
1599
1652
  BudgetDetailResponse:
1600
1653
  required:
1601
1654
  - data
@@ -1608,56 +1661,56 @@ components:
1608
1661
  type: object
1609
1662
  properties:
1610
1663
  budget:
1611
- $ref: '#/components/schemas/BudgetDetail'
1664
+ $ref: "#/components/schemas/BudgetDetail"
1612
1665
  server_knowledge:
1613
1666
  type: integer
1614
1667
  description: The knowledge of the server
1615
1668
  format: int64
1616
1669
  BudgetDetail:
1617
1670
  allOf:
1618
- - $ref: '#/components/schemas/BudgetSummary'
1671
+ - $ref: "#/components/schemas/BudgetSummary"
1619
1672
  - type: object
1620
1673
  properties:
1621
1674
  accounts:
1622
1675
  type: array
1623
1676
  items:
1624
- $ref: '#/components/schemas/Account'
1677
+ $ref: "#/components/schemas/Account"
1625
1678
  payees:
1626
1679
  type: array
1627
1680
  items:
1628
- $ref: '#/components/schemas/Payee'
1681
+ $ref: "#/components/schemas/Payee"
1629
1682
  payee_locations:
1630
1683
  type: array
1631
1684
  items:
1632
- $ref: '#/components/schemas/PayeeLocation'
1685
+ $ref: "#/components/schemas/PayeeLocation"
1633
1686
  category_groups:
1634
1687
  type: array
1635
1688
  items:
1636
- $ref: '#/components/schemas/CategoryGroup'
1689
+ $ref: "#/components/schemas/CategoryGroup"
1637
1690
  categories:
1638
1691
  type: array
1639
1692
  items:
1640
- $ref: '#/components/schemas/Category'
1693
+ $ref: "#/components/schemas/Category"
1641
1694
  months:
1642
1695
  type: array
1643
1696
  items:
1644
- $ref: '#/components/schemas/MonthDetail'
1697
+ $ref: "#/components/schemas/MonthDetail"
1645
1698
  transactions:
1646
1699
  type: array
1647
1700
  items:
1648
- $ref: '#/components/schemas/TransactionSummary'
1701
+ $ref: "#/components/schemas/TransactionSummary"
1649
1702
  subtransactions:
1650
1703
  type: array
1651
1704
  items:
1652
- $ref: '#/components/schemas/SubTransaction'
1705
+ $ref: "#/components/schemas/SubTransaction"
1653
1706
  scheduled_transactions:
1654
1707
  type: array
1655
1708
  items:
1656
- $ref: '#/components/schemas/ScheduledTransactionSummary'
1709
+ $ref: "#/components/schemas/ScheduledTransactionSummary"
1657
1710
  scheduled_subtransactions:
1658
1711
  type: array
1659
1712
  items:
1660
- $ref: '#/components/schemas/ScheduledSubTransaction'
1713
+ $ref: "#/components/schemas/ScheduledSubTransaction"
1661
1714
  BudgetSettingsResponse:
1662
1715
  required:
1663
1716
  - data
@@ -1669,7 +1722,7 @@ components:
1669
1722
  type: object
1670
1723
  properties:
1671
1724
  settings:
1672
- $ref: '#/components/schemas/BudgetSettings'
1725
+ $ref: "#/components/schemas/BudgetSettings"
1673
1726
  BudgetSettings:
1674
1727
  required:
1675
1728
  - currency_format
@@ -1677,9 +1730,9 @@ components:
1677
1730
  type: object
1678
1731
  properties:
1679
1732
  date_format:
1680
- $ref: '#/components/schemas/DateFormat'
1733
+ $ref: "#/components/schemas/DateFormat"
1681
1734
  currency_format:
1682
- $ref: '#/components/schemas/CurrencyFormat'
1735
+ $ref: "#/components/schemas/CurrencyFormat"
1683
1736
  AccountsResponse:
1684
1737
  required:
1685
1738
  - data
@@ -1694,7 +1747,7 @@ components:
1694
1747
  accounts:
1695
1748
  type: array
1696
1749
  items:
1697
- $ref: '#/components/schemas/Account'
1750
+ $ref: "#/components/schemas/Account"
1698
1751
  server_knowledge:
1699
1752
  type: integer
1700
1753
  description: The knowledge of the server
@@ -1710,7 +1763,7 @@ components:
1710
1763
  type: object
1711
1764
  properties:
1712
1765
  account:
1713
- $ref: '#/components/schemas/Account'
1766
+ $ref: "#/components/schemas/Account"
1714
1767
  Account:
1715
1768
  required:
1716
1769
  - balance
@@ -1731,7 +1784,7 @@ components:
1731
1784
  name:
1732
1785
  type: string
1733
1786
  type:
1734
- $ref: '#/components/schemas/AccountType'
1787
+ $ref: "#/components/schemas/AccountType"
1735
1788
  on_budget:
1736
1789
  type: boolean
1737
1790
  description: Whether this account is on budget or not
@@ -1782,11 +1835,11 @@ components:
1782
1835
  format.
1783
1836
  format: int64
1784
1837
  debt_interest_rates:
1785
- $ref: '#/components/schemas/LoanAccountPeriodicValue'
1838
+ $ref: "#/components/schemas/LoanAccountPeriodicValue"
1786
1839
  debt_minimum_payments:
1787
- $ref: '#/components/schemas/LoanAccountPeriodicValue'
1840
+ $ref: "#/components/schemas/LoanAccountPeriodicValue"
1788
1841
  debt_escrow_amounts:
1789
- $ref: '#/components/schemas/LoanAccountPeriodicValue'
1842
+ $ref: "#/components/schemas/LoanAccountPeriodicValue"
1790
1843
  deleted:
1791
1844
  type: boolean
1792
1845
  description: >-
@@ -1798,7 +1851,7 @@ components:
1798
1851
  type: object
1799
1852
  properties:
1800
1853
  account:
1801
- $ref: '#/components/schemas/SaveAccount'
1854
+ $ref: "#/components/schemas/SaveAccount"
1802
1855
  SaveAccount:
1803
1856
  required:
1804
1857
  - balance
@@ -1810,7 +1863,7 @@ components:
1810
1863
  type: string
1811
1864
  description: The name of the account
1812
1865
  type:
1813
- $ref: '#/components/schemas/AccountType'
1866
+ $ref: "#/components/schemas/AccountType"
1814
1867
  balance:
1815
1868
  type: integer
1816
1869
  description: The current balance of the account in milliunits format
@@ -1852,7 +1905,7 @@ components:
1852
1905
  category_groups:
1853
1906
  type: array
1854
1907
  items:
1855
- $ref: '#/components/schemas/CategoryGroupWithCategories'
1908
+ $ref: "#/components/schemas/CategoryGroupWithCategories"
1856
1909
  server_knowledge:
1857
1910
  type: integer
1858
1911
  description: The knowledge of the server
@@ -1868,10 +1921,10 @@ components:
1868
1921
  type: object
1869
1922
  properties:
1870
1923
  category:
1871
- $ref: '#/components/schemas/Category'
1924
+ $ref: "#/components/schemas/Category"
1872
1925
  CategoryGroupWithCategories:
1873
1926
  allOf:
1874
- - $ref: '#/components/schemas/CategoryGroup'
1927
+ - $ref: "#/components/schemas/CategoryGroup"
1875
1928
  - required:
1876
1929
  - categories
1877
1930
  type: object
@@ -1882,7 +1935,7 @@ components:
1882
1935
  Category group categories. Amounts (budgeted, activity,
1883
1936
  balance, etc.) are specific to the current budget month (UTC).
1884
1937
  items:
1885
- $ref: '#/components/schemas/Category'
1938
+ $ref: "#/components/schemas/Category"
1886
1939
  CategoryGroup:
1887
1940
  required:
1888
1941
  - deleted
@@ -1931,7 +1984,7 @@ components:
1931
1984
  description: Whether or not the category is hidden
1932
1985
  original_category_group_id:
1933
1986
  type: string
1934
- description: 'DEPRECATED: No longer used. Value will always be null.'
1987
+ description: "DEPRECATED: No longer used. Value will always be null."
1935
1988
  format: uuid
1936
1989
  nullable: true
1937
1990
  note:
@@ -2069,7 +2122,7 @@ components:
2069
2122
  type: object
2070
2123
  properties:
2071
2124
  category:
2072
- $ref: '#/components/schemas/Category'
2125
+ $ref: "#/components/schemas/Category"
2073
2126
  server_knowledge:
2074
2127
  type: integer
2075
2128
  description: The knowledge of the server
@@ -2088,7 +2141,7 @@ components:
2088
2141
  payees:
2089
2142
  type: array
2090
2143
  items:
2091
- $ref: '#/components/schemas/Payee'
2144
+ $ref: "#/components/schemas/Payee"
2092
2145
  server_knowledge:
2093
2146
  type: integer
2094
2147
  description: The knowledge of the server
@@ -2104,7 +2157,24 @@ components:
2104
2157
  type: object
2105
2158
  properties:
2106
2159
  payee:
2107
- $ref: '#/components/schemas/Payee'
2160
+ $ref: "#/components/schemas/Payee"
2161
+ SavePayeeResponse:
2162
+ required:
2163
+ - data
2164
+ type: object
2165
+ properties:
2166
+ data:
2167
+ required:
2168
+ - payee
2169
+ - server_knowledge
2170
+ type: object
2171
+ properties:
2172
+ payee:
2173
+ $ref: "#/components/schemas/Payee"
2174
+ server_knowledge:
2175
+ type: integer
2176
+ description: The knowledge of the server
2177
+ format: int64
2108
2178
  Payee:
2109
2179
  required:
2110
2180
  - deleted
@@ -2141,7 +2211,7 @@ components:
2141
2211
  payee_locations:
2142
2212
  type: array
2143
2213
  items:
2144
- $ref: '#/components/schemas/PayeeLocation'
2214
+ $ref: "#/components/schemas/PayeeLocation"
2145
2215
  PayeeLocationResponse:
2146
2216
  required:
2147
2217
  - data
@@ -2153,7 +2223,7 @@ components:
2153
2223
  type: object
2154
2224
  properties:
2155
2225
  payee_location:
2156
- $ref: '#/components/schemas/PayeeLocation'
2226
+ $ref: "#/components/schemas/PayeeLocation"
2157
2227
  PayeeLocation:
2158
2228
  required:
2159
2229
  - deleted
@@ -2192,7 +2262,7 @@ components:
2192
2262
  transactions:
2193
2263
  type: array
2194
2264
  items:
2195
- $ref: '#/components/schemas/TransactionDetail'
2265
+ $ref: "#/components/schemas/TransactionDetail"
2196
2266
  server_knowledge:
2197
2267
  type: integer
2198
2268
  description: The knowledge of the server
@@ -2210,7 +2280,7 @@ components:
2210
2280
  transactions:
2211
2281
  type: array
2212
2282
  items:
2213
- $ref: '#/components/schemas/HybridTransaction'
2283
+ $ref: "#/components/schemas/HybridTransaction"
2214
2284
  server_knowledge:
2215
2285
  type: integer
2216
2286
  description: The knowledge of the server
@@ -2221,20 +2291,16 @@ components:
2221
2291
  type: object
2222
2292
  properties:
2223
2293
  transaction:
2224
- $ref: '#/components/schemas/SaveTransaction'
2294
+ $ref: "#/components/schemas/ExistingTransaction"
2225
2295
  PostTransactionsWrapper:
2226
2296
  type: object
2227
2297
  properties:
2228
2298
  transaction:
2229
- $ref: '#/components/schemas/SaveTransaction'
2299
+ $ref: "#/components/schemas/NewTransaction"
2230
2300
  transactions:
2231
2301
  type: array
2232
2302
  items:
2233
- $ref: '#/components/schemas/SaveTransaction'
2234
- SaveTransaction:
2235
- allOf:
2236
- - type: object
2237
- - $ref: '#/components/schemas/SaveTransactionWithOptionalFields'
2303
+ $ref: "#/components/schemas/NewTransaction"
2238
2304
  PatchTransactionsWrapper:
2239
2305
  required:
2240
2306
  - transactions
@@ -2243,14 +2309,61 @@ components:
2243
2309
  transactions:
2244
2310
  type: array
2245
2311
  items:
2246
- $ref: '#/components/schemas/SaveTransactionWithId'
2247
- SaveTransactionWithId:
2312
+ $ref: "#/components/schemas/SaveTransactionWithIdOrImportId"
2313
+ ExistingTransaction:
2314
+ allOf:
2315
+ - type: object
2316
+ - $ref: "#/components/schemas/SaveTransactionWithOptionalFields"
2317
+ NewTransaction:
2318
+ allOf:
2319
+ - $ref: "#/components/schemas/SaveTransactionWithOptionalFields"
2320
+ - type: object
2321
+ properties:
2322
+ import_id:
2323
+ maxLength: 36
2324
+ type: string
2325
+ nullable: true
2326
+ description: >-
2327
+ If specified, a new transaction will be assigned this `import_id`
2328
+ and considered "imported". We will also attempt to match this
2329
+ imported transaction to an existing "user-entered" transaction on the
2330
+ same account, with the same amount, and with a date +/-10 days from
2331
+ the imported transaction date.<br><br>Transactions imported through
2332
+ File Based Import or Direct Import (not through the API) are
2333
+ assigned an import_id in the format:
2334
+ 'YNAB:[milliunit_amount]:[iso_date]:[occurrence]'. For example, a
2335
+ transaction dated 2015-12-30 in the amount of -$294.23 USD would
2336
+ have an import_id of 'YNAB:-294230:2015-12-30:1'. If a second
2337
+ transaction on the same account was imported and had the same date
2338
+ and same amount, its import_id would be
2339
+ 'YNAB:-294230:2015-12-30:2'. Using a consistent format will prevent
2340
+ duplicates through Direct Import and File Based Import.<br><br>If
2341
+ import_id is omitted or specified as null, the transaction will be
2342
+ treated as a "user-entered" transaction. As such, it will be
2343
+ eligible to be matched against transactions later being imported
2344
+ (via DI, FBI, or API).
2345
+ SaveTransactionWithIdOrImportId:
2248
2346
  allOf:
2249
2347
  - type: object
2250
2348
  properties:
2251
2349
  id:
2252
2350
  type: string
2253
- - $ref: '#/components/schemas/SaveTransactionWithOptionalFields'
2351
+ nullable: true
2352
+ description: >-
2353
+ If specified, this id will be used to lookup a transaction by
2354
+ its `id` for the purpose of updating the transaction itself.
2355
+ If not specified, an `import_id` should be supplied.
2356
+ import_id:
2357
+ maxLength: 36
2358
+ type: string
2359
+ nullable: true
2360
+ description: >-
2361
+ If specified, this id will be used to lookup a transaction by
2362
+ its `import_id` for the purpose of updating the transaction itself.
2363
+ If not specified, an `id` should be supplied. You may not
2364
+ provide both an `id` and an `import_id` and updating an `import_id`
2365
+ on an existing transaction is not allowed.
2366
+ - $ref: "#/components/schemas/SaveTransactionWithOptionalFields"
2254
2367
  SaveTransactionWithOptionalFields:
2255
2368
  type: object
2256
2369
  properties:
@@ -2307,51 +2420,14 @@ components:
2307
2420
  type: string
2308
2421
  nullable: true
2309
2422
  cleared:
2310
- type: string
2311
- description: The cleared status of the transaction
2312
- enum:
2313
- - cleared
2314
- - uncleared
2315
- - reconciled
2423
+ $ref: "#/components/schemas/TransactionClearedStatus"
2316
2424
  approved:
2317
2425
  type: boolean
2318
2426
  description: >-
2319
2427
  Whether or not the transaction is approved. If not supplied,
2320
2428
  transaction will be unapproved by default.
2321
2429
  flag_color:
2322
- type: string
2323
- description: The transaction flag
2324
- enum:
2325
- - red
2326
- - orange
2327
- - yellow
2328
- - green
2329
- - blue
2330
- - purple
2331
- - null
2332
- import_id:
2333
- maxLength: 36
2334
- type: string
2335
- nullable: true
2336
- description: >-
2337
- If specified, the new transaction will be assigned this `import_id`
2338
- and considered "imported". We will also attempt to match this
2339
- imported transaction to an existing "user-entered" transation on the
2340
- same account, with the same amount, and with a date +/-10 days from
2341
- the imported transaction date.<br><br>Transactions imported through
2342
- File Based Import or Direct Import (not through the API) are
2343
- assigned an import_id in the format:
2344
- 'YNAB:[milliunit_amount]:[iso_date]:[occurrence]'. For example, a
2345
- transaction dated 2015-12-30 in the amount of -$294.23 USD would
2346
- have an import_id of 'YNAB:-294230:2015-12-30:1'. If a second
2347
- transaction on the same account was imported and had the same date
2348
- and same amount, its import_id would be
2349
- 'YNAB:-294230:2015-12-30:2'. Using a consistent format will prevent
2350
- duplicates through Direct Import and File Based Import.<br><br>If
2351
- import_id is omitted or specified as null, the transaction will be
2352
- treated as a "user-entered" transaction. As such, it will be
2353
- eligible to be matched against transactions later being imported
2354
- (via DI, FBI, or API).
2430
+ $ref: "#/components/schemas/TransactionFlagColor"
2355
2431
  subtransactions:
2356
2432
  type: array
2357
2433
  description: >-
@@ -2359,7 +2435,7 @@ components:
2359
2435
  Updating `subtransactions` on an existing split transaction is not
2360
2436
  supported.
2361
2437
  items:
2362
- $ref: '#/components/schemas/SaveSubTransaction'
2438
+ $ref: "#/components/schemas/SaveSubTransaction"
2363
2439
  SaveSubTransaction:
2364
2440
  required:
2365
2441
  - amount
@@ -2412,14 +2488,14 @@ components:
2412
2488
  items:
2413
2489
  type: string
2414
2490
  transaction:
2415
- $ref: '#/components/schemas/TransactionDetail'
2491
+ $ref: "#/components/schemas/TransactionDetail"
2416
2492
  transactions:
2417
2493
  type: array
2418
2494
  description: >-
2419
2495
  If multiple transactions were specified, the transactions that
2420
2496
  were saved
2421
2497
  items:
2422
- $ref: '#/components/schemas/TransactionDetail'
2498
+ $ref: "#/components/schemas/TransactionDetail"
2423
2499
  duplicate_import_ids:
2424
2500
  type: array
2425
2501
  description: >-
@@ -2443,7 +2519,7 @@ components:
2443
2519
  type: object
2444
2520
  properties:
2445
2521
  transaction:
2446
- $ref: '#/components/schemas/TransactionDetail'
2522
+ $ref: "#/components/schemas/TransactionDetail"
2447
2523
  TransactionSummary:
2448
2524
  required:
2449
2525
  - account_id
@@ -2469,27 +2545,14 @@ components:
2469
2545
  type: string
2470
2546
  nullable: true
2471
2547
  cleared:
2472
- type: string
2473
- description: The cleared status of the transaction
2474
- enum:
2475
- - cleared
2476
- - uncleared
2477
- - reconciled
2548
+ $ref: "#/components/schemas/TransactionClearedStatus"
2478
2549
  approved:
2479
2550
  type: boolean
2480
2551
  description: Whether or not the transaction is approved
2481
2552
  flag_color:
2482
- type: string
2483
- description: The transaction flag
2484
- enum:
2485
- - red
2486
- - orange
2487
- - yellow
2488
- - green
2489
- - blue
2490
- - purple
2491
- - null
2492
- nullable: true
2553
+ $ref: "#/components/schemas/TransactionFlagColor"
2554
+ flag_name:
2555
+ $ref: "#/components/schemas/TransactionFlagName"
2493
2556
  account_id:
2494
2557
  type: string
2495
2558
  format: uuid
@@ -2552,7 +2615,7 @@ components:
2552
2615
  - fee
2553
2616
  - interest
2554
2617
  - escrow
2555
- - balancedAdjustment
2618
+ - balanceAdjustment
2556
2619
  - credit
2557
2620
  - charge
2558
2621
  - null
@@ -2564,7 +2627,7 @@ components:
2564
2627
  transactions will only be included in delta requests.
2565
2628
  TransactionDetail:
2566
2629
  allOf:
2567
- - $ref: '#/components/schemas/TransactionSummary'
2630
+ - $ref: "#/components/schemas/TransactionSummary"
2568
2631
  - required:
2569
2632
  - account_name
2570
2633
  - subtransactions
@@ -2585,10 +2648,10 @@ components:
2585
2648
  type: array
2586
2649
  description: If a split transaction, the subtransactions.
2587
2650
  items:
2588
- $ref: '#/components/schemas/SubTransaction'
2651
+ $ref: "#/components/schemas/SubTransaction"
2589
2652
  HybridTransaction:
2590
2653
  allOf:
2591
- - $ref: '#/components/schemas/TransactionSummary'
2654
+ - $ref: "#/components/schemas/TransactionSummary"
2592
2655
  - required:
2593
2656
  - account_name
2594
2657
  - type
@@ -2619,13 +2682,47 @@ components:
2619
2682
  description: >-
2620
2683
  The name of the category. If a split transaction, this will be
2621
2684
  'Split'.
2685
+ PatchPayeeWrapper:
2686
+ required:
2687
+ - payee
2688
+ type: object
2689
+ properties:
2690
+ payee:
2691
+ $ref: "#/components/schemas/SavePayee"
2692
+ SavePayee:
2693
+ type: object
2694
+ properties:
2695
+ name:
2696
+ type: string
2697
+ nullable: false
2698
+ maxLength: 500
2699
+ description: The name of the payee. The name must be a maximum of 500 characters.
2700
+ PatchCategoryWrapper:
2701
+ required:
2702
+ - category
2703
+ type: object
2704
+ properties:
2705
+ category:
2706
+ $ref: "#/components/schemas/SaveCategory"
2707
+ SaveCategory:
2708
+ type: object
2709
+ properties:
2710
+ name:
2711
+ type: string
2712
+ nullable: true
2713
+ note:
2714
+ type: string
2715
+ nullable: true
2716
+ category_group_id:
2717
+ type: string
2718
+ format: uuid
2622
2719
  PatchMonthCategoryWrapper:
2623
2720
  required:
2624
2721
  - category
2625
2722
  type: object
2626
2723
  properties:
2627
2724
  category:
2628
- $ref: '#/components/schemas/SaveMonthCategory'
2725
+ $ref: "#/components/schemas/SaveMonthCategory"
2629
2726
  SaveMonthCategory:
2630
2727
  required:
2631
2728
  - budgeted
@@ -2688,7 +2785,7 @@ components:
2688
2785
  transactions:
2689
2786
  type: array
2690
2787
  items:
2691
- $ref: '#/components/schemas/SaveTransaction'
2788
+ $ref: "#/components/schemas/SaveTransactionWithOptionalFields"
2692
2789
  SubTransaction:
2693
2790
  required:
2694
2791
  - amount
@@ -2752,7 +2849,7 @@ components:
2752
2849
  scheduled_transactions:
2753
2850
  type: array
2754
2851
  items:
2755
- $ref: '#/components/schemas/ScheduledTransactionDetail'
2852
+ $ref: "#/components/schemas/ScheduledTransactionDetail"
2756
2853
  server_knowledge:
2757
2854
  type: integer
2758
2855
  description: The knowledge of the server
@@ -2768,7 +2865,7 @@ components:
2768
2865
  type: object
2769
2866
  properties:
2770
2867
  scheduled_transaction:
2771
- $ref: '#/components/schemas/ScheduledTransactionDetail'
2868
+ $ref: "#/components/schemas/ScheduledTransactionDetail"
2772
2869
  ScheduledTransactionSummary:
2773
2870
  required:
2774
2871
  - account_id
@@ -2815,17 +2912,9 @@ components:
2815
2912
  type: string
2816
2913
  nullable: true
2817
2914
  flag_color:
2818
- type: string
2819
- description: The scheduled transaction flag
2820
- enum:
2821
- - red
2822
- - orange
2823
- - yellow
2824
- - green
2825
- - blue
2826
- - purple
2827
- - null
2828
- nullable: true
2915
+ $ref: "#/components/schemas/TransactionFlagColor"
2916
+ flag_name:
2917
+ $ref: "#/components/schemas/TransactionFlagName"
2829
2918
  account_id:
2830
2919
  type: string
2831
2920
  format: uuid
@@ -2851,7 +2940,7 @@ components:
2851
2940
  scheduled transactions will only be included in delta requests.
2852
2941
  ScheduledTransactionDetail:
2853
2942
  allOf:
2854
- - $ref: '#/components/schemas/ScheduledTransactionSummary'
2943
+ - $ref: "#/components/schemas/ScheduledTransactionSummary"
2855
2944
  - required:
2856
2945
  - account_name
2857
2946
  - subtransactions
@@ -2872,7 +2961,7 @@ components:
2872
2961
  type: array
2873
2962
  description: If a split scheduled transaction, the subtransactions.
2874
2963
  items:
2875
- $ref: '#/components/schemas/ScheduledSubTransaction'
2964
+ $ref: "#/components/schemas/ScheduledSubTransaction"
2876
2965
  ScheduledSubTransaction:
2877
2966
  required:
2878
2967
  - amount
@@ -2929,7 +3018,7 @@ components:
2929
3018
  months:
2930
3019
  type: array
2931
3020
  items:
2932
- $ref: '#/components/schemas/MonthSummary'
3021
+ $ref: "#/components/schemas/MonthSummary"
2933
3022
  server_knowledge:
2934
3023
  type: integer
2935
3024
  description: The knowledge of the server
@@ -2945,7 +3034,7 @@ components:
2945
3034
  type: object
2946
3035
  properties:
2947
3036
  month:
2948
- $ref: '#/components/schemas/MonthDetail'
3037
+ $ref: "#/components/schemas/MonthDetail"
2949
3038
  MonthSummary:
2950
3039
  required:
2951
3040
  - activity
@@ -2994,7 +3083,7 @@ components:
2994
3083
  be included in delta requests.
2995
3084
  MonthDetail:
2996
3085
  allOf:
2997
- - $ref: '#/components/schemas/MonthSummary'
3086
+ - $ref: "#/components/schemas/MonthSummary"
2998
3087
  - required:
2999
3088
  - categories
3000
3089
  type: object
@@ -3005,7 +3094,30 @@ components:
3005
3094
  The budget month categories. Amounts (budgeted, activity,
3006
3095
  balance, etc.) are specific to the {month} parameter specified.
3007
3096
  items:
3008
- $ref: '#/components/schemas/Category'
3097
+ $ref: "#/components/schemas/Category"
3098
+ TransactionFlagColor:
3099
+ type: string
3100
+ description: The transaction flag
3101
+ enum:
3102
+ - red
3103
+ - orange
3104
+ - yellow
3105
+ - green
3106
+ - blue
3107
+ - purple
3108
+ - null
3109
+ nullable: true
3110
+ TransactionFlagName:
3111
+ type: string
3112
+ description: The customized name of a transaction flag
3113
+ nullable: true
3114
+ TransactionClearedStatus:
3115
+ type: string
3116
+ description: The cleared status of the transaction
3117
+ enum:
3118
+ - cleared
3119
+ - uncleared
3120
+ - reconciled
3009
3121
  securitySchemes:
3010
3122
  bearer:
3011
3123
  type: http