ynab 2.1.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) 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/Rakefile +3 -1
  6. data/docs/BulkTransactions.md +1 -1
  7. data/docs/CategoriesApi.md +22 -0
  8. data/docs/Category.md +1 -0
  9. data/docs/ExistingTransaction.md +18 -0
  10. data/docs/HybridTransaction.md +3 -2
  11. data/docs/NewTransaction.md +19 -0
  12. data/docs/PatchCategoryWrapper.md +8 -0
  13. data/docs/PatchPayeeWrapper.md +8 -0
  14. data/docs/PatchTransactionsWrapper.md +1 -1
  15. data/docs/PayeesApi.md +22 -0
  16. data/docs/PostTransactionsWrapper.md +2 -2
  17. data/docs/PutTransactionWrapper.md +1 -1
  18. data/docs/SaveCategory.md +10 -0
  19. data/docs/SavePayee.md +8 -0
  20. data/docs/SavePayeeResponse.md +8 -0
  21. data/docs/SavePayeeResponseData.md +9 -0
  22. data/docs/SaveTransactionWithIdOrImportId.md +20 -0
  23. data/docs/SaveTransactionWithOptionalFields.md +2 -3
  24. data/docs/ScheduledTransactionDetail.md +2 -1
  25. data/docs/ScheduledTransactionSummary.md +2 -1
  26. data/docs/TransactionClearedStatus.md +7 -0
  27. data/docs/TransactionDetail.md +3 -2
  28. data/docs/TransactionFlagColor.md +7 -0
  29. data/docs/TransactionSummary.md +3 -2
  30. data/docs/TransactionsApi.md +7 -7
  31. data/lib/ynab/api/accounts_api.rb +2 -2
  32. data/lib/ynab/api/budgets_api.rb +2 -2
  33. data/lib/ynab/api/categories_api.rb +82 -2
  34. data/lib/ynab/api/months_api.rb +2 -2
  35. data/lib/ynab/api/payee_locations_api.rb +2 -2
  36. data/lib/ynab/api/payees_api.rb +82 -2
  37. data/lib/ynab/api/scheduled_transactions_api.rb +2 -2
  38. data/lib/ynab/api/transactions_api.rb +12 -12
  39. data/lib/ynab/api/user_api.rb +2 -2
  40. data/lib/ynab/api_client.rb +2 -2
  41. data/lib/ynab/configuration.rb +14 -11
  42. data/lib/ynab/models/account.rb +13 -20
  43. data/lib/ynab/models/account_response.rb +13 -20
  44. data/lib/ynab/models/account_response_data.rb +13 -20
  45. data/lib/ynab/models/account_type.rb +2 -2
  46. data/lib/ynab/models/accounts_response.rb +13 -20
  47. data/lib/ynab/models/accounts_response_data.rb +13 -20
  48. data/lib/ynab/models/budget_detail.rb +13 -21
  49. data/lib/ynab/models/budget_detail_response.rb +13 -20
  50. data/lib/ynab/models/budget_detail_response_data.rb +13 -20
  51. data/lib/ynab/models/budget_settings.rb +13 -20
  52. data/lib/ynab/models/budget_settings_response.rb +13 -20
  53. data/lib/ynab/models/budget_settings_response_data.rb +13 -20
  54. data/lib/ynab/models/budget_summary.rb +13 -20
  55. data/lib/ynab/models/budget_summary_response.rb +13 -20
  56. data/lib/ynab/models/budget_summary_response_data.rb +13 -20
  57. data/lib/ynab/models/bulk_response.rb +13 -20
  58. data/lib/ynab/models/bulk_response_data.rb +13 -20
  59. data/lib/ynab/models/bulk_response_data_bulk.rb +13 -20
  60. data/lib/ynab/models/bulk_transactions.rb +14 -21
  61. data/lib/ynab/models/categories_response.rb +13 -20
  62. data/lib/ynab/models/categories_response_data.rb +13 -20
  63. data/lib/ynab/models/category.rb +25 -21
  64. data/lib/ynab/models/category_group.rb +13 -20
  65. data/lib/ynab/models/category_group_with_categories.rb +14 -22
  66. data/lib/ynab/models/category_response.rb +13 -20
  67. data/lib/ynab/models/category_response_data.rb +13 -20
  68. data/lib/ynab/models/currency_format.rb +13 -20
  69. data/lib/ynab/models/date_format.rb +13 -20
  70. data/lib/ynab/models/error_detail.rb +13 -20
  71. data/lib/ynab/models/error_response.rb +13 -20
  72. data/lib/ynab/models/existing_transaction.rb +359 -0
  73. data/lib/ynab/models/hybrid_transaction.rb +28 -43
  74. data/lib/ynab/models/hybrid_transactions_response.rb +13 -20
  75. data/lib/ynab/models/hybrid_transactions_response_data.rb +13 -20
  76. data/lib/ynab/models/month_detail.rb +13 -21
  77. data/lib/ynab/models/month_detail_response.rb +13 -20
  78. data/lib/ynab/models/month_detail_response_data.rb +13 -20
  79. data/lib/ynab/models/month_summaries_response.rb +13 -20
  80. data/lib/ynab/models/month_summaries_response_data.rb +13 -20
  81. data/lib/ynab/models/month_summary.rb +13 -20
  82. data/lib/ynab/models/new_transaction.rb +377 -0
  83. data/lib/ynab/models/patch_category_wrapper.rb +213 -0
  84. data/lib/ynab/models/patch_month_category_wrapper.rb +13 -20
  85. data/lib/ynab/models/patch_payee_wrapper.rb +213 -0
  86. data/lib/ynab/models/patch_transactions_wrapper.rb +14 -21
  87. data/lib/ynab/models/payee.rb +13 -20
  88. data/lib/ynab/models/payee_location.rb +13 -20
  89. data/lib/ynab/models/payee_location_response.rb +13 -20
  90. data/lib/ynab/models/payee_location_response_data.rb +13 -20
  91. data/lib/ynab/models/payee_locations_response.rb +13 -20
  92. data/lib/ynab/models/payee_locations_response_data.rb +13 -20
  93. data/lib/ynab/models/payee_response.rb +13 -20
  94. data/lib/ynab/models/payee_response_data.rb +13 -20
  95. data/lib/ynab/models/payees_response.rb +13 -20
  96. data/lib/ynab/models/payees_response_data.rb +13 -20
  97. data/lib/ynab/models/post_account_wrapper.rb +13 -20
  98. data/lib/ynab/models/post_transactions_wrapper.rb +15 -22
  99. data/lib/ynab/models/put_transaction_wrapper.rb +14 -21
  100. data/lib/ynab/models/save_account.rb +13 -20
  101. data/lib/ynab/models/save_category.rb +232 -0
  102. data/lib/ynab/models/save_category_response.rb +13 -20
  103. data/lib/ynab/models/save_category_response_data.rb +13 -20
  104. data/lib/ynab/models/save_month_category.rb +13 -20
  105. data/lib/ynab/models/save_payee.rb +220 -0
  106. data/lib/ynab/models/save_payee_response.rb +213 -0
  107. data/lib/ynab/models/save_payee_response_data.rb +224 -0
  108. data/lib/ynab/models/save_sub_transaction.rb +13 -20
  109. data/lib/ynab/models/save_transaction_with_id_or_import_id.rb +388 -0
  110. data/lib/ynab/models/save_transaction_with_optional_fields.rb +17 -59
  111. data/lib/ynab/models/save_transactions_response.rb +13 -20
  112. data/lib/ynab/models/save_transactions_response_data.rb +13 -20
  113. data/lib/ynab/models/scheduled_sub_transaction.rb +13 -20
  114. data/lib/ynab/models/scheduled_transaction_detail.rb +26 -32
  115. data/lib/ynab/models/scheduled_transaction_response.rb +13 -20
  116. data/lib/ynab/models/scheduled_transaction_response_data.rb +13 -20
  117. data/lib/ynab/models/scheduled_transaction_summary.rb +26 -31
  118. data/lib/ynab/models/scheduled_transactions_response.rb +13 -20
  119. data/lib/ynab/models/scheduled_transactions_response_data.rb +13 -20
  120. data/lib/ynab/models/sub_transaction.rb +13 -20
  121. data/lib/ynab/models/transaction_cleared_status.rb +41 -0
  122. data/lib/ynab/models/transaction_detail.rb +28 -43
  123. data/lib/ynab/models/transaction_flag_color.rb +45 -0
  124. data/lib/ynab/models/transaction_response.rb +13 -20
  125. data/lib/ynab/models/transaction_response_data.rb +13 -20
  126. data/lib/ynab/models/transaction_summary.rb +28 -42
  127. data/lib/ynab/models/transactions_import_response.rb +13 -20
  128. data/lib/ynab/models/transactions_import_response_data.rb +13 -20
  129. data/lib/ynab/models/transactions_response.rb +13 -20
  130. data/lib/ynab/models/transactions_response_data.rb +13 -20
  131. data/lib/ynab/models/user.rb +13 -20
  132. data/lib/ynab/models/user_response.rb +13 -20
  133. data/lib/ynab/models/user_response_data.rb +13 -20
  134. data/lib/ynab/version.rb +1 -1
  135. data/lib/ynab.rb +13 -12
  136. data/open_api_spec.yaml +464 -343
  137. data/ynab.gemspec +4 -3
  138. metadata +53 -31
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.70.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:
@@ -1963,6 +2016,15 @@ components:
1963
2016
  - DEBT
1964
2017
  - null
1965
2018
  nullable: true
2019
+ goal_needs_whole_amount:
2020
+ type: boolean
2021
+ description: >-
2022
+ Indicates the monthly rollover behavior for "NEED"-type goals. When
2023
+ "true", the goal will always ask for the target amount in the new
2024
+ month ("Set Aside"). When "false", previous month category funding is
2025
+ used ("Refill"). For other goal types, this field will be null.
2026
+ nullable: true
2027
+ default: null
1966
2028
  goal_day:
1967
2029
  type: integer
1968
2030
  description: >-
@@ -2069,7 +2131,7 @@ components:
2069
2131
  type: object
2070
2132
  properties:
2071
2133
  category:
2072
- $ref: '#/components/schemas/Category'
2134
+ $ref: "#/components/schemas/Category"
2073
2135
  server_knowledge:
2074
2136
  type: integer
2075
2137
  description: The knowledge of the server
@@ -2088,7 +2150,7 @@ components:
2088
2150
  payees:
2089
2151
  type: array
2090
2152
  items:
2091
- $ref: '#/components/schemas/Payee'
2153
+ $ref: "#/components/schemas/Payee"
2092
2154
  server_knowledge:
2093
2155
  type: integer
2094
2156
  description: The knowledge of the server
@@ -2104,7 +2166,24 @@ components:
2104
2166
  type: object
2105
2167
  properties:
2106
2168
  payee:
2107
- $ref: '#/components/schemas/Payee'
2169
+ $ref: "#/components/schemas/Payee"
2170
+ SavePayeeResponse:
2171
+ required:
2172
+ - data
2173
+ type: object
2174
+ properties:
2175
+ data:
2176
+ required:
2177
+ - payee
2178
+ - server_knowledge
2179
+ type: object
2180
+ properties:
2181
+ payee:
2182
+ $ref: "#/components/schemas/Payee"
2183
+ server_knowledge:
2184
+ type: integer
2185
+ description: The knowledge of the server
2186
+ format: int64
2108
2187
  Payee:
2109
2188
  required:
2110
2189
  - deleted
@@ -2141,7 +2220,7 @@ components:
2141
2220
  payee_locations:
2142
2221
  type: array
2143
2222
  items:
2144
- $ref: '#/components/schemas/PayeeLocation'
2223
+ $ref: "#/components/schemas/PayeeLocation"
2145
2224
  PayeeLocationResponse:
2146
2225
  required:
2147
2226
  - data
@@ -2153,7 +2232,7 @@ components:
2153
2232
  type: object
2154
2233
  properties:
2155
2234
  payee_location:
2156
- $ref: '#/components/schemas/PayeeLocation'
2235
+ $ref: "#/components/schemas/PayeeLocation"
2157
2236
  PayeeLocation:
2158
2237
  required:
2159
2238
  - deleted
@@ -2192,7 +2271,7 @@ components:
2192
2271
  transactions:
2193
2272
  type: array
2194
2273
  items:
2195
- $ref: '#/components/schemas/TransactionDetail'
2274
+ $ref: "#/components/schemas/TransactionDetail"
2196
2275
  server_knowledge:
2197
2276
  type: integer
2198
2277
  description: The knowledge of the server
@@ -2210,7 +2289,7 @@ components:
2210
2289
  transactions:
2211
2290
  type: array
2212
2291
  items:
2213
- $ref: '#/components/schemas/HybridTransaction'
2292
+ $ref: "#/components/schemas/HybridTransaction"
2214
2293
  server_knowledge:
2215
2294
  type: integer
2216
2295
  description: The knowledge of the server
@@ -2221,20 +2300,16 @@ components:
2221
2300
  type: object
2222
2301
  properties:
2223
2302
  transaction:
2224
- $ref: '#/components/schemas/SaveTransaction'
2303
+ $ref: "#/components/schemas/ExistingTransaction"
2225
2304
  PostTransactionsWrapper:
2226
2305
  type: object
2227
2306
  properties:
2228
2307
  transaction:
2229
- $ref: '#/components/schemas/SaveTransaction'
2308
+ $ref: "#/components/schemas/NewTransaction"
2230
2309
  transactions:
2231
2310
  type: array
2232
2311
  items:
2233
- $ref: '#/components/schemas/SaveTransaction'
2234
- SaveTransaction:
2235
- allOf:
2236
- - type: object
2237
- - $ref: '#/components/schemas/SaveTransactionWithOptionalFields'
2312
+ $ref: "#/components/schemas/NewTransaction"
2238
2313
  PatchTransactionsWrapper:
2239
2314
  required:
2240
2315
  - transactions
@@ -2243,14 +2318,61 @@ components:
2243
2318
  transactions:
2244
2319
  type: array
2245
2320
  items:
2246
- $ref: '#/components/schemas/SaveTransactionWithId'
2247
- SaveTransactionWithId:
2321
+ $ref: "#/components/schemas/SaveTransactionWithIdOrImportId"
2322
+ ExistingTransaction:
2323
+ allOf:
2324
+ - type: object
2325
+ - $ref: "#/components/schemas/SaveTransactionWithOptionalFields"
2326
+ NewTransaction:
2327
+ allOf:
2328
+ - $ref: "#/components/schemas/SaveTransactionWithOptionalFields"
2329
+ - type: object
2330
+ properties:
2331
+ import_id:
2332
+ maxLength: 36
2333
+ type: string
2334
+ nullable: true
2335
+ description: >-
2336
+ If specified, a new transaction will be assigned this `import_id`
2337
+ and considered "imported". We will also attempt to match this
2338
+ imported transaction to an existing "user-entered" transaction on the
2339
+ same account, with the same amount, and with a date +/-10 days from
2340
+ the imported transaction date.<br><br>Transactions imported through
2341
+ File Based Import or Direct Import (not through the API) are
2342
+ assigned an import_id in the format:
2343
+ 'YNAB:[milliunit_amount]:[iso_date]:[occurrence]'. For example, a
2344
+ transaction dated 2015-12-30 in the amount of -$294.23 USD would
2345
+ have an import_id of 'YNAB:-294230:2015-12-30:1'. If a second
2346
+ transaction on the same account was imported and had the same date
2347
+ and same amount, its import_id would be
2348
+ 'YNAB:-294230:2015-12-30:2'. Using a consistent format will prevent
2349
+ duplicates through Direct Import and File Based Import.<br><br>If
2350
+ import_id is omitted or specified as null, the transaction will be
2351
+ treated as a "user-entered" transaction. As such, it will be
2352
+ eligible to be matched against transactions later being imported
2353
+ (via DI, FBI, or API).
2354
+ SaveTransactionWithIdOrImportId:
2248
2355
  allOf:
2249
2356
  - type: object
2250
2357
  properties:
2251
2358
  id:
2252
2359
  type: string
2253
- - $ref: '#/components/schemas/SaveTransactionWithOptionalFields'
2360
+ nullable: true
2361
+ description: >-
2362
+ If specified, this id will be used to lookup a transaction by
2363
+ its `id` for the purpose of updating the transaction itself.
2364
+ If not specified, an `import_id` should be supplied.
2365
+ import_id:
2366
+ maxLength: 36
2367
+ type: string
2368
+ nullable: true
2369
+ description: >-
2370
+ If specified, this id will be used to lookup a transaction by
2371
+ its `import_id` for the purpose of updating the transaction itself.
2372
+ If not specified, an `id` should be supplied. You may not
2373
+ provide both an `id` and an `import_id` and updating an `import_id`
2374
+ on an existing transaction is not allowed.
2375
+ - $ref: "#/components/schemas/SaveTransactionWithOptionalFields"
2254
2376
  SaveTransactionWithOptionalFields:
2255
2377
  type: object
2256
2378
  properties:
@@ -2307,51 +2429,14 @@ components:
2307
2429
  type: string
2308
2430
  nullable: true
2309
2431
  cleared:
2310
- type: string
2311
- description: The cleared status of the transaction
2312
- enum:
2313
- - cleared
2314
- - uncleared
2315
- - reconciled
2432
+ $ref: "#/components/schemas/TransactionClearedStatus"
2316
2433
  approved:
2317
2434
  type: boolean
2318
2435
  description: >-
2319
2436
  Whether or not the transaction is approved. If not supplied,
2320
2437
  transaction will be unapproved by default.
2321
2438
  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).
2439
+ $ref: "#/components/schemas/TransactionFlagColor"
2355
2440
  subtransactions:
2356
2441
  type: array
2357
2442
  description: >-
@@ -2359,7 +2444,7 @@ components:
2359
2444
  Updating `subtransactions` on an existing split transaction is not
2360
2445
  supported.
2361
2446
  items:
2362
- $ref: '#/components/schemas/SaveSubTransaction'
2447
+ $ref: "#/components/schemas/SaveSubTransaction"
2363
2448
  SaveSubTransaction:
2364
2449
  required:
2365
2450
  - amount
@@ -2412,14 +2497,14 @@ components:
2412
2497
  items:
2413
2498
  type: string
2414
2499
  transaction:
2415
- $ref: '#/components/schemas/TransactionDetail'
2500
+ $ref: "#/components/schemas/TransactionDetail"
2416
2501
  transactions:
2417
2502
  type: array
2418
2503
  description: >-
2419
2504
  If multiple transactions were specified, the transactions that
2420
2505
  were saved
2421
2506
  items:
2422
- $ref: '#/components/schemas/TransactionDetail'
2507
+ $ref: "#/components/schemas/TransactionDetail"
2423
2508
  duplicate_import_ids:
2424
2509
  type: array
2425
2510
  description: >-
@@ -2443,7 +2528,7 @@ components:
2443
2528
  type: object
2444
2529
  properties:
2445
2530
  transaction:
2446
- $ref: '#/components/schemas/TransactionDetail'
2531
+ $ref: "#/components/schemas/TransactionDetail"
2447
2532
  TransactionSummary:
2448
2533
  required:
2449
2534
  - account_id
@@ -2469,27 +2554,14 @@ components:
2469
2554
  type: string
2470
2555
  nullable: true
2471
2556
  cleared:
2472
- type: string
2473
- description: The cleared status of the transaction
2474
- enum:
2475
- - cleared
2476
- - uncleared
2477
- - reconciled
2557
+ $ref: "#/components/schemas/TransactionClearedStatus"
2478
2558
  approved:
2479
2559
  type: boolean
2480
2560
  description: Whether or not the transaction is approved
2481
2561
  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
2562
+ $ref: "#/components/schemas/TransactionFlagColor"
2563
+ flag_name:
2564
+ $ref: "#/components/schemas/TransactionFlagName"
2493
2565
  account_id:
2494
2566
  type: string
2495
2567
  format: uuid
@@ -2552,7 +2624,7 @@ components:
2552
2624
  - fee
2553
2625
  - interest
2554
2626
  - escrow
2555
- - balancedAdjustment
2627
+ - balanceAdjustment
2556
2628
  - credit
2557
2629
  - charge
2558
2630
  - null
@@ -2564,7 +2636,7 @@ components:
2564
2636
  transactions will only be included in delta requests.
2565
2637
  TransactionDetail:
2566
2638
  allOf:
2567
- - $ref: '#/components/schemas/TransactionSummary'
2639
+ - $ref: "#/components/schemas/TransactionSummary"
2568
2640
  - required:
2569
2641
  - account_name
2570
2642
  - subtransactions
@@ -2585,10 +2657,10 @@ components:
2585
2657
  type: array
2586
2658
  description: If a split transaction, the subtransactions.
2587
2659
  items:
2588
- $ref: '#/components/schemas/SubTransaction'
2660
+ $ref: "#/components/schemas/SubTransaction"
2589
2661
  HybridTransaction:
2590
2662
  allOf:
2591
- - $ref: '#/components/schemas/TransactionSummary'
2663
+ - $ref: "#/components/schemas/TransactionSummary"
2592
2664
  - required:
2593
2665
  - account_name
2594
2666
  - type
@@ -2619,13 +2691,47 @@ components:
2619
2691
  description: >-
2620
2692
  The name of the category. If a split transaction, this will be
2621
2693
  'Split'.
2694
+ PatchPayeeWrapper:
2695
+ required:
2696
+ - payee
2697
+ type: object
2698
+ properties:
2699
+ payee:
2700
+ $ref: "#/components/schemas/SavePayee"
2701
+ SavePayee:
2702
+ type: object
2703
+ properties:
2704
+ name:
2705
+ type: string
2706
+ nullable: false
2707
+ maxLength: 500
2708
+ description: The name of the payee. The name must be a maximum of 500 characters.
2709
+ PatchCategoryWrapper:
2710
+ required:
2711
+ - category
2712
+ type: object
2713
+ properties:
2714
+ category:
2715
+ $ref: "#/components/schemas/SaveCategory"
2716
+ SaveCategory:
2717
+ type: object
2718
+ properties:
2719
+ name:
2720
+ type: string
2721
+ nullable: true
2722
+ note:
2723
+ type: string
2724
+ nullable: true
2725
+ category_group_id:
2726
+ type: string
2727
+ format: uuid
2622
2728
  PatchMonthCategoryWrapper:
2623
2729
  required:
2624
2730
  - category
2625
2731
  type: object
2626
2732
  properties:
2627
2733
  category:
2628
- $ref: '#/components/schemas/SaveMonthCategory'
2734
+ $ref: "#/components/schemas/SaveMonthCategory"
2629
2735
  SaveMonthCategory:
2630
2736
  required:
2631
2737
  - budgeted
@@ -2688,7 +2794,7 @@ components:
2688
2794
  transactions:
2689
2795
  type: array
2690
2796
  items:
2691
- $ref: '#/components/schemas/SaveTransaction'
2797
+ $ref: "#/components/schemas/SaveTransactionWithOptionalFields"
2692
2798
  SubTransaction:
2693
2799
  required:
2694
2800
  - amount
@@ -2752,7 +2858,7 @@ components:
2752
2858
  scheduled_transactions:
2753
2859
  type: array
2754
2860
  items:
2755
- $ref: '#/components/schemas/ScheduledTransactionDetail'
2861
+ $ref: "#/components/schemas/ScheduledTransactionDetail"
2756
2862
  server_knowledge:
2757
2863
  type: integer
2758
2864
  description: The knowledge of the server
@@ -2768,7 +2874,7 @@ components:
2768
2874
  type: object
2769
2875
  properties:
2770
2876
  scheduled_transaction:
2771
- $ref: '#/components/schemas/ScheduledTransactionDetail'
2877
+ $ref: "#/components/schemas/ScheduledTransactionDetail"
2772
2878
  ScheduledTransactionSummary:
2773
2879
  required:
2774
2880
  - account_id
@@ -2815,17 +2921,9 @@ components:
2815
2921
  type: string
2816
2922
  nullable: true
2817
2923
  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
2924
+ $ref: "#/components/schemas/TransactionFlagColor"
2925
+ flag_name:
2926
+ $ref: "#/components/schemas/TransactionFlagName"
2829
2927
  account_id:
2830
2928
  type: string
2831
2929
  format: uuid
@@ -2851,7 +2949,7 @@ components:
2851
2949
  scheduled transactions will only be included in delta requests.
2852
2950
  ScheduledTransactionDetail:
2853
2951
  allOf:
2854
- - $ref: '#/components/schemas/ScheduledTransactionSummary'
2952
+ - $ref: "#/components/schemas/ScheduledTransactionSummary"
2855
2953
  - required:
2856
2954
  - account_name
2857
2955
  - subtransactions
@@ -2872,7 +2970,7 @@ components:
2872
2970
  type: array
2873
2971
  description: If a split scheduled transaction, the subtransactions.
2874
2972
  items:
2875
- $ref: '#/components/schemas/ScheduledSubTransaction'
2973
+ $ref: "#/components/schemas/ScheduledSubTransaction"
2876
2974
  ScheduledSubTransaction:
2877
2975
  required:
2878
2976
  - amount
@@ -2929,7 +3027,7 @@ components:
2929
3027
  months:
2930
3028
  type: array
2931
3029
  items:
2932
- $ref: '#/components/schemas/MonthSummary'
3030
+ $ref: "#/components/schemas/MonthSummary"
2933
3031
  server_knowledge:
2934
3032
  type: integer
2935
3033
  description: The knowledge of the server
@@ -2945,7 +3043,7 @@ components:
2945
3043
  type: object
2946
3044
  properties:
2947
3045
  month:
2948
- $ref: '#/components/schemas/MonthDetail'
3046
+ $ref: "#/components/schemas/MonthDetail"
2949
3047
  MonthSummary:
2950
3048
  required:
2951
3049
  - activity
@@ -2994,7 +3092,7 @@ components:
2994
3092
  be included in delta requests.
2995
3093
  MonthDetail:
2996
3094
  allOf:
2997
- - $ref: '#/components/schemas/MonthSummary'
3095
+ - $ref: "#/components/schemas/MonthSummary"
2998
3096
  - required:
2999
3097
  - categories
3000
3098
  type: object
@@ -3005,7 +3103,30 @@ components:
3005
3103
  The budget month categories. Amounts (budgeted, activity,
3006
3104
  balance, etc.) are specific to the {month} parameter specified.
3007
3105
  items:
3008
- $ref: '#/components/schemas/Category'
3106
+ $ref: "#/components/schemas/Category"
3107
+ TransactionFlagColor:
3108
+ type: string
3109
+ description: The transaction flag
3110
+ enum:
3111
+ - red
3112
+ - orange
3113
+ - yellow
3114
+ - green
3115
+ - blue
3116
+ - purple
3117
+ - null
3118
+ nullable: true
3119
+ TransactionFlagName:
3120
+ type: string
3121
+ description: The customized name of a transaction flag
3122
+ nullable: true
3123
+ TransactionClearedStatus:
3124
+ type: string
3125
+ description: The cleared status of the transaction
3126
+ enum:
3127
+ - cleared
3128
+ - uncleared
3129
+ - reconciled
3009
3130
  securitySchemes:
3010
3131
  bearer:
3011
3132
  type: http