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.
- checksums.yaml +4 -4
- data/DEVELOPMENT.md +6 -2
- data/Gemfile.lock +1 -1
- data/README.md +3 -1
- data/Rakefile +3 -1
- data/docs/BulkTransactions.md +1 -1
- data/docs/CategoriesApi.md +22 -0
- data/docs/Category.md +1 -0
- data/docs/ExistingTransaction.md +18 -0
- data/docs/HybridTransaction.md +3 -2
- data/docs/NewTransaction.md +19 -0
- data/docs/PatchCategoryWrapper.md +8 -0
- data/docs/PatchPayeeWrapper.md +8 -0
- data/docs/PatchTransactionsWrapper.md +1 -1
- data/docs/PayeesApi.md +22 -0
- data/docs/PostTransactionsWrapper.md +2 -2
- data/docs/PutTransactionWrapper.md +1 -1
- data/docs/SaveCategory.md +10 -0
- data/docs/SavePayee.md +8 -0
- data/docs/SavePayeeResponse.md +8 -0
- data/docs/SavePayeeResponseData.md +9 -0
- data/docs/SaveTransactionWithIdOrImportId.md +20 -0
- data/docs/SaveTransactionWithOptionalFields.md +2 -3
- data/docs/ScheduledTransactionDetail.md +2 -1
- data/docs/ScheduledTransactionSummary.md +2 -1
- data/docs/TransactionClearedStatus.md +7 -0
- data/docs/TransactionDetail.md +3 -2
- data/docs/TransactionFlagColor.md +7 -0
- data/docs/TransactionSummary.md +3 -2
- data/docs/TransactionsApi.md +7 -7
- data/lib/ynab/api/accounts_api.rb +2 -2
- data/lib/ynab/api/budgets_api.rb +2 -2
- data/lib/ynab/api/categories_api.rb +82 -2
- data/lib/ynab/api/months_api.rb +2 -2
- data/lib/ynab/api/payee_locations_api.rb +2 -2
- data/lib/ynab/api/payees_api.rb +82 -2
- data/lib/ynab/api/scheduled_transactions_api.rb +2 -2
- data/lib/ynab/api/transactions_api.rb +12 -12
- data/lib/ynab/api/user_api.rb +2 -2
- data/lib/ynab/api_client.rb +2 -2
- data/lib/ynab/configuration.rb +14 -11
- data/lib/ynab/models/account.rb +13 -20
- data/lib/ynab/models/account_response.rb +13 -20
- data/lib/ynab/models/account_response_data.rb +13 -20
- data/lib/ynab/models/account_type.rb +2 -2
- data/lib/ynab/models/accounts_response.rb +13 -20
- data/lib/ynab/models/accounts_response_data.rb +13 -20
- data/lib/ynab/models/budget_detail.rb +13 -21
- data/lib/ynab/models/budget_detail_response.rb +13 -20
- data/lib/ynab/models/budget_detail_response_data.rb +13 -20
- data/lib/ynab/models/budget_settings.rb +13 -20
- data/lib/ynab/models/budget_settings_response.rb +13 -20
- data/lib/ynab/models/budget_settings_response_data.rb +13 -20
- data/lib/ynab/models/budget_summary.rb +13 -20
- data/lib/ynab/models/budget_summary_response.rb +13 -20
- data/lib/ynab/models/budget_summary_response_data.rb +13 -20
- data/lib/ynab/models/bulk_response.rb +13 -20
- data/lib/ynab/models/bulk_response_data.rb +13 -20
- data/lib/ynab/models/bulk_response_data_bulk.rb +13 -20
- data/lib/ynab/models/bulk_transactions.rb +14 -21
- data/lib/ynab/models/categories_response.rb +13 -20
- data/lib/ynab/models/categories_response_data.rb +13 -20
- data/lib/ynab/models/category.rb +25 -21
- data/lib/ynab/models/category_group.rb +13 -20
- data/lib/ynab/models/category_group_with_categories.rb +14 -22
- data/lib/ynab/models/category_response.rb +13 -20
- data/lib/ynab/models/category_response_data.rb +13 -20
- data/lib/ynab/models/currency_format.rb +13 -20
- data/lib/ynab/models/date_format.rb +13 -20
- data/lib/ynab/models/error_detail.rb +13 -20
- data/lib/ynab/models/error_response.rb +13 -20
- data/lib/ynab/models/existing_transaction.rb +359 -0
- data/lib/ynab/models/hybrid_transaction.rb +28 -43
- data/lib/ynab/models/hybrid_transactions_response.rb +13 -20
- data/lib/ynab/models/hybrid_transactions_response_data.rb +13 -20
- data/lib/ynab/models/month_detail.rb +13 -21
- data/lib/ynab/models/month_detail_response.rb +13 -20
- data/lib/ynab/models/month_detail_response_data.rb +13 -20
- data/lib/ynab/models/month_summaries_response.rb +13 -20
- data/lib/ynab/models/month_summaries_response_data.rb +13 -20
- data/lib/ynab/models/month_summary.rb +13 -20
- data/lib/ynab/models/new_transaction.rb +377 -0
- data/lib/ynab/models/patch_category_wrapper.rb +213 -0
- data/lib/ynab/models/patch_month_category_wrapper.rb +13 -20
- data/lib/ynab/models/patch_payee_wrapper.rb +213 -0
- data/lib/ynab/models/patch_transactions_wrapper.rb +14 -21
- data/lib/ynab/models/payee.rb +13 -20
- data/lib/ynab/models/payee_location.rb +13 -20
- data/lib/ynab/models/payee_location_response.rb +13 -20
- data/lib/ynab/models/payee_location_response_data.rb +13 -20
- data/lib/ynab/models/payee_locations_response.rb +13 -20
- data/lib/ynab/models/payee_locations_response_data.rb +13 -20
- data/lib/ynab/models/payee_response.rb +13 -20
- data/lib/ynab/models/payee_response_data.rb +13 -20
- data/lib/ynab/models/payees_response.rb +13 -20
- data/lib/ynab/models/payees_response_data.rb +13 -20
- data/lib/ynab/models/post_account_wrapper.rb +13 -20
- data/lib/ynab/models/post_transactions_wrapper.rb +15 -22
- data/lib/ynab/models/put_transaction_wrapper.rb +14 -21
- data/lib/ynab/models/save_account.rb +13 -20
- data/lib/ynab/models/save_category.rb +232 -0
- data/lib/ynab/models/save_category_response.rb +13 -20
- data/lib/ynab/models/save_category_response_data.rb +13 -20
- data/lib/ynab/models/save_month_category.rb +13 -20
- data/lib/ynab/models/save_payee.rb +220 -0
- data/lib/ynab/models/save_payee_response.rb +213 -0
- data/lib/ynab/models/save_payee_response_data.rb +224 -0
- data/lib/ynab/models/save_sub_transaction.rb +13 -20
- data/lib/ynab/models/save_transaction_with_id_or_import_id.rb +388 -0
- data/lib/ynab/models/save_transaction_with_optional_fields.rb +17 -59
- data/lib/ynab/models/save_transactions_response.rb +13 -20
- data/lib/ynab/models/save_transactions_response_data.rb +13 -20
- data/lib/ynab/models/scheduled_sub_transaction.rb +13 -20
- data/lib/ynab/models/scheduled_transaction_detail.rb +26 -32
- data/lib/ynab/models/scheduled_transaction_response.rb +13 -20
- data/lib/ynab/models/scheduled_transaction_response_data.rb +13 -20
- data/lib/ynab/models/scheduled_transaction_summary.rb +26 -31
- data/lib/ynab/models/scheduled_transactions_response.rb +13 -20
- data/lib/ynab/models/scheduled_transactions_response_data.rb +13 -20
- data/lib/ynab/models/sub_transaction.rb +13 -20
- data/lib/ynab/models/transaction_cleared_status.rb +41 -0
- data/lib/ynab/models/transaction_detail.rb +28 -43
- data/lib/ynab/models/transaction_flag_color.rb +45 -0
- data/lib/ynab/models/transaction_response.rb +13 -20
- data/lib/ynab/models/transaction_response_data.rb +13 -20
- data/lib/ynab/models/transaction_summary.rb +28 -42
- data/lib/ynab/models/transactions_import_response.rb +13 -20
- data/lib/ynab/models/transactions_import_response_data.rb +13 -20
- data/lib/ynab/models/transactions_response.rb +13 -20
- data/lib/ynab/models/transactions_response_data.rb +13 -20
- data/lib/ynab/models/user.rb +13 -20
- data/lib/ynab/models/user_response.rb +13 -20
- data/lib/ynab/models/user_response_data.rb +13 -20
- data/lib/ynab/version.rb +1 -1
- data/lib/ynab.rb +13 -12
- data/open_api_spec.yaml +464 -343
- data/ynab.gemspec +4 -3
- 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.
|
|
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
|
-
|
|
49
|
+
"200":
|
|
50
50
|
description: The user info
|
|
51
51
|
content:
|
|
52
52
|
application/json:
|
|
53
53
|
schema:
|
|
54
|
-
$ref:
|
|
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:
|
|
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
|
-
|
|
75
|
+
"200":
|
|
76
76
|
description: The list of budgets
|
|
77
77
|
content:
|
|
78
78
|
application/json:
|
|
79
79
|
schema:
|
|
80
|
-
$ref:
|
|
81
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
121
|
+
"200":
|
|
122
122
|
description: The requested budget
|
|
123
123
|
content:
|
|
124
124
|
application/json:
|
|
125
125
|
schema:
|
|
126
|
-
$ref:
|
|
127
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
157
|
+
"200":
|
|
158
158
|
description: The requested budget settings
|
|
159
159
|
content:
|
|
160
160
|
application/json:
|
|
161
161
|
schema:
|
|
162
|
-
$ref:
|
|
163
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
201
|
+
"200":
|
|
202
202
|
description: The list of requested accounts
|
|
203
203
|
content:
|
|
204
204
|
application/json:
|
|
205
205
|
schema:
|
|
206
|
-
$ref:
|
|
207
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
238
|
+
"application/json":
|
|
239
239
|
schema:
|
|
240
|
-
$ref:
|
|
240
|
+
$ref: "#/components/schemas/PostAccountWrapper"
|
|
241
241
|
required: true
|
|
242
242
|
responses:
|
|
243
|
-
|
|
243
|
+
"201":
|
|
244
244
|
description: The account was successfully created
|
|
245
245
|
content:
|
|
246
246
|
application/json:
|
|
247
247
|
schema:
|
|
248
|
-
$ref:
|
|
249
|
-
|
|
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:
|
|
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
|
-
|
|
283
|
+
"200":
|
|
284
284
|
description: The requested account
|
|
285
285
|
content:
|
|
286
286
|
application/json:
|
|
287
287
|
schema:
|
|
288
|
-
$ref:
|
|
289
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
329
|
+
"200":
|
|
330
330
|
description: The categories grouped by category group
|
|
331
331
|
content:
|
|
332
332
|
application/json:
|
|
333
333
|
schema:
|
|
334
|
-
$ref:
|
|
335
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
373
|
+
"200":
|
|
374
374
|
description: The requested category
|
|
375
375
|
content:
|
|
376
376
|
application/json:
|
|
377
377
|
schema:
|
|
378
|
-
$ref:
|
|
379
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
474
|
+
"200":
|
|
428
475
|
description: The requested month category
|
|
429
476
|
content:
|
|
430
477
|
application/json:
|
|
431
478
|
schema:
|
|
432
|
-
$ref:
|
|
433
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
530
|
+
"application/json":
|
|
484
531
|
schema:
|
|
485
|
-
$ref:
|
|
532
|
+
$ref: "#/components/schemas/PatchMonthCategoryWrapper"
|
|
486
533
|
required: true
|
|
487
534
|
responses:
|
|
488
|
-
|
|
535
|
+
"200":
|
|
489
536
|
description: The month category was successfully updated
|
|
490
537
|
content:
|
|
491
538
|
application/json:
|
|
492
539
|
schema:
|
|
493
|
-
$ref:
|
|
494
|
-
|
|
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:
|
|
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
|
-
|
|
576
|
+
"200":
|
|
530
577
|
description: The requested list of payees
|
|
531
578
|
content:
|
|
532
579
|
application/json:
|
|
533
580
|
schema:
|
|
534
|
-
$ref:
|
|
535
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
618
|
+
"200":
|
|
572
619
|
description: The requested payee
|
|
573
620
|
content:
|
|
574
621
|
application/json:
|
|
575
622
|
schema:
|
|
576
|
-
$ref:
|
|
577
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
701
|
+
"200":
|
|
608
702
|
description: The list of payee locations
|
|
609
703
|
content:
|
|
610
704
|
application/json:
|
|
611
705
|
schema:
|
|
612
|
-
$ref:
|
|
613
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
743
|
+
"200":
|
|
650
744
|
description: The payee location
|
|
651
745
|
content:
|
|
652
746
|
application/json:
|
|
653
747
|
schema:
|
|
654
|
-
$ref:
|
|
655
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
785
|
+
"200":
|
|
692
786
|
description: The list of requested payee locations
|
|
693
787
|
content:
|
|
694
788
|
application/json:
|
|
695
789
|
schema:
|
|
696
|
-
$ref:
|
|
697
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
829
|
+
"200":
|
|
736
830
|
description: The list of budget months
|
|
737
831
|
content:
|
|
738
832
|
application/json:
|
|
739
833
|
schema:
|
|
740
|
-
$ref:
|
|
741
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
874
|
+
"200":
|
|
781
875
|
description: The budget month detail
|
|
782
876
|
content:
|
|
783
877
|
application/json:
|
|
784
878
|
schema:
|
|
785
|
-
$ref:
|
|
786
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
936
|
+
"200":
|
|
843
937
|
description: The list of requested transactions
|
|
844
938
|
content:
|
|
845
939
|
application/json:
|
|
846
940
|
schema:
|
|
847
|
-
$ref:
|
|
848
|
-
|
|
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:
|
|
854
|
-
|
|
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:
|
|
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
|
-
|
|
983
|
+
"application/json":
|
|
890
984
|
schema:
|
|
891
|
-
$ref:
|
|
985
|
+
$ref: "#/components/schemas/PostTransactionsWrapper"
|
|
892
986
|
required: true
|
|
893
987
|
responses:
|
|
894
|
-
|
|
988
|
+
"201":
|
|
895
989
|
description: The transaction or transactions were successfully created
|
|
896
990
|
content:
|
|
897
991
|
application/json:
|
|
898
992
|
schema:
|
|
899
|
-
$ref:
|
|
900
|
-
|
|
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:
|
|
908
|
-
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
1037
|
+
"application/json":
|
|
942
1038
|
schema:
|
|
943
|
-
$ref:
|
|
1039
|
+
$ref: "#/components/schemas/PatchTransactionsWrapper"
|
|
944
1040
|
required: true
|
|
945
1041
|
responses:
|
|
946
|
-
|
|
1042
|
+
"209":
|
|
947
1043
|
description: The transactions were successfully updated
|
|
948
1044
|
content:
|
|
949
1045
|
application/json:
|
|
950
1046
|
schema:
|
|
951
|
-
$ref:
|
|
952
|
-
|
|
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:
|
|
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
|
-
|
|
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:
|
|
992
|
-
|
|
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:
|
|
998
|
-
|
|
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:
|
|
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
|
-
|
|
1126
|
+
"200":
|
|
1031
1127
|
description: The requested transaction
|
|
1032
1128
|
content:
|
|
1033
1129
|
application/json:
|
|
1034
1130
|
schema:
|
|
1035
|
-
$ref:
|
|
1036
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
1169
|
+
"application/json":
|
|
1074
1170
|
schema:
|
|
1075
|
-
$ref:
|
|
1171
|
+
$ref: "#/components/schemas/PutTransactionWrapper"
|
|
1076
1172
|
required: true
|
|
1077
1173
|
responses:
|
|
1078
|
-
|
|
1174
|
+
"200":
|
|
1079
1175
|
description: The transaction was successfully updated
|
|
1080
1176
|
content:
|
|
1081
1177
|
application/json:
|
|
1082
1178
|
schema:
|
|
1083
|
-
$ref:
|
|
1084
|
-
|
|
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:
|
|
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
|
-
|
|
1212
|
+
"200":
|
|
1117
1213
|
description: The transaction was successfully deleted
|
|
1118
1214
|
content:
|
|
1119
1215
|
application/json:
|
|
1120
1216
|
schema:
|
|
1121
|
-
$ref:
|
|
1122
|
-
|
|
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:
|
|
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
|
-
|
|
1274
|
+
"200":
|
|
1222
1275
|
description: The list of requested transactions
|
|
1223
1276
|
content:
|
|
1224
1277
|
application/json:
|
|
1225
1278
|
schema:
|
|
1226
|
-
$ref:
|
|
1227
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
1342
|
+
"200":
|
|
1290
1343
|
description: The list of requested transactions
|
|
1291
1344
|
content:
|
|
1292
1345
|
application/json:
|
|
1293
1346
|
schema:
|
|
1294
|
-
$ref:
|
|
1295
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
1410
|
+
"200":
|
|
1358
1411
|
description: The list of requested transactions
|
|
1359
1412
|
content:
|
|
1360
1413
|
application/json:
|
|
1361
1414
|
schema:
|
|
1362
|
-
$ref:
|
|
1363
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
1454
|
+
"200":
|
|
1402
1455
|
description: The list of requested scheduled transactions
|
|
1403
1456
|
content:
|
|
1404
1457
|
application/json:
|
|
1405
1458
|
schema:
|
|
1406
|
-
$ref:
|
|
1407
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
1496
|
+
"200":
|
|
1444
1497
|
description: The requested Scheduled Transaction
|
|
1445
1498
|
content:
|
|
1446
1499
|
application/json:
|
|
1447
1500
|
schema:
|
|
1448
|
-
$ref:
|
|
1449
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
1613
|
+
$ref: "#/components/schemas/BudgetSummary"
|
|
1561
1614
|
default_budget:
|
|
1562
|
-
$ref:
|
|
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:
|
|
1642
|
+
$ref: "#/components/schemas/DateFormat"
|
|
1590
1643
|
currency_format:
|
|
1591
|
-
$ref:
|
|
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:
|
|
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:
|
|
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:
|
|
1671
|
+
- $ref: "#/components/schemas/BudgetSummary"
|
|
1619
1672
|
- type: object
|
|
1620
1673
|
properties:
|
|
1621
1674
|
accounts:
|
|
1622
1675
|
type: array
|
|
1623
1676
|
items:
|
|
1624
|
-
$ref:
|
|
1677
|
+
$ref: "#/components/schemas/Account"
|
|
1625
1678
|
payees:
|
|
1626
1679
|
type: array
|
|
1627
1680
|
items:
|
|
1628
|
-
$ref:
|
|
1681
|
+
$ref: "#/components/schemas/Payee"
|
|
1629
1682
|
payee_locations:
|
|
1630
1683
|
type: array
|
|
1631
1684
|
items:
|
|
1632
|
-
$ref:
|
|
1685
|
+
$ref: "#/components/schemas/PayeeLocation"
|
|
1633
1686
|
category_groups:
|
|
1634
1687
|
type: array
|
|
1635
1688
|
items:
|
|
1636
|
-
$ref:
|
|
1689
|
+
$ref: "#/components/schemas/CategoryGroup"
|
|
1637
1690
|
categories:
|
|
1638
1691
|
type: array
|
|
1639
1692
|
items:
|
|
1640
|
-
$ref:
|
|
1693
|
+
$ref: "#/components/schemas/Category"
|
|
1641
1694
|
months:
|
|
1642
1695
|
type: array
|
|
1643
1696
|
items:
|
|
1644
|
-
$ref:
|
|
1697
|
+
$ref: "#/components/schemas/MonthDetail"
|
|
1645
1698
|
transactions:
|
|
1646
1699
|
type: array
|
|
1647
1700
|
items:
|
|
1648
|
-
$ref:
|
|
1701
|
+
$ref: "#/components/schemas/TransactionSummary"
|
|
1649
1702
|
subtransactions:
|
|
1650
1703
|
type: array
|
|
1651
1704
|
items:
|
|
1652
|
-
$ref:
|
|
1705
|
+
$ref: "#/components/schemas/SubTransaction"
|
|
1653
1706
|
scheduled_transactions:
|
|
1654
1707
|
type: array
|
|
1655
1708
|
items:
|
|
1656
|
-
$ref:
|
|
1709
|
+
$ref: "#/components/schemas/ScheduledTransactionSummary"
|
|
1657
1710
|
scheduled_subtransactions:
|
|
1658
1711
|
type: array
|
|
1659
1712
|
items:
|
|
1660
|
-
$ref:
|
|
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:
|
|
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:
|
|
1733
|
+
$ref: "#/components/schemas/DateFormat"
|
|
1681
1734
|
currency_format:
|
|
1682
|
-
$ref:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
1838
|
+
$ref: "#/components/schemas/LoanAccountPeriodicValue"
|
|
1786
1839
|
debt_minimum_payments:
|
|
1787
|
-
$ref:
|
|
1840
|
+
$ref: "#/components/schemas/LoanAccountPeriodicValue"
|
|
1788
1841
|
debt_escrow_amounts:
|
|
1789
|
-
$ref:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
1924
|
+
$ref: "#/components/schemas/Category"
|
|
1872
1925
|
CategoryGroupWithCategories:
|
|
1873
1926
|
allOf:
|
|
1874
|
-
- $ref:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
2303
|
+
$ref: "#/components/schemas/ExistingTransaction"
|
|
2225
2304
|
PostTransactionsWrapper:
|
|
2226
2305
|
type: object
|
|
2227
2306
|
properties:
|
|
2228
2307
|
transaction:
|
|
2229
|
-
$ref:
|
|
2308
|
+
$ref: "#/components/schemas/NewTransaction"
|
|
2230
2309
|
transactions:
|
|
2231
2310
|
type: array
|
|
2232
2311
|
items:
|
|
2233
|
-
$ref:
|
|
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:
|
|
2247
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
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
|
-
-
|
|
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:
|
|
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:
|
|
2660
|
+
$ref: "#/components/schemas/SubTransaction"
|
|
2589
2661
|
HybridTransaction:
|
|
2590
2662
|
allOf:
|
|
2591
|
-
- $ref:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|