ynab 2.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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