ynab-api-cli 0.1.0__py3-none-any.whl

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 (225) hide show
  1. ynab_api_cli/__init__.py +3 -0
  2. ynab_api_cli/__main__.py +266 -0
  3. ynab_api_cli/cli.py +171 -0
  4. ynab_api_cli/compat.py +120 -0
  5. ynab_api_cli/config.py +110 -0
  6. ynab_api_cli/contract.py +197 -0
  7. ynab_api_cli/contract_testing.py +141 -0
  8. ynab_api_cli/development.py +269 -0
  9. ynab_api_cli/distribution.py +123 -0
  10. ynab_api_cli/exceptions.py +7 -0
  11. ynab_api_cli/generated/__init__.py +3 -0
  12. ynab_api_cli/generated/api/__init__.py +3 -0
  13. ynab_api_cli/generated/api/accounts/__init__.py +3 -0
  14. ynab_api_cli/generated/api/accounts/create_account.py +54 -0
  15. ynab_api_cli/generated/api/accounts/get_account_by_id.py +53 -0
  16. ynab_api_cli/generated/api/accounts/get_accounts.py +57 -0
  17. ynab_api_cli/generated/api/categories/__init__.py +3 -0
  18. ynab_api_cli/generated/api/categories/create_category.py +54 -0
  19. ynab_api_cli/generated/api/categories/create_category_group.py +58 -0
  20. ynab_api_cli/generated/api/categories/get_categories.py +57 -0
  21. ynab_api_cli/generated/api/categories/get_category_by_id.py +52 -0
  22. ynab_api_cli/generated/api/categories/get_month_category_by_id.py +58 -0
  23. ynab_api_cli/generated/api/categories/update_category.py +57 -0
  24. ynab_api_cli/generated/api/categories/update_category_group.py +63 -0
  25. ynab_api_cli/generated/api/categories/update_month_category.py +65 -0
  26. ynab_api_cli/generated/api/money_movements/__init__.py +3 -0
  27. ynab_api_cli/generated/api/money_movements/get_money_movement_groups.py +51 -0
  28. ynab_api_cli/generated/api/money_movements/get_money_movement_groups_by_month.py +57 -0
  29. ynab_api_cli/generated/api/money_movements/get_money_movements.py +51 -0
  30. ynab_api_cli/generated/api/money_movements/get_money_movements_by_month.py +57 -0
  31. ynab_api_cli/generated/api/months/__init__.py +3 -0
  32. ynab_api_cli/generated/api/months/get_plan_month.py +55 -0
  33. ynab_api_cli/generated/api/months/get_plan_months.py +59 -0
  34. ynab_api_cli/generated/api/payee_locations/__init__.py +3 -0
  35. ynab_api_cli/generated/api/payee_locations/get_payee_location_by_id.py +54 -0
  36. ynab_api_cli/generated/api/payee_locations/get_payee_locations.py +51 -0
  37. ynab_api_cli/generated/api/payee_locations/get_payee_locations_by_payee.py +54 -0
  38. ynab_api_cli/generated/api/payees/__init__.py +3 -0
  39. ynab_api_cli/generated/api/payees/create_payee.py +54 -0
  40. ynab_api_cli/generated/api/payees/get_payee_by_id.py +52 -0
  41. ynab_api_cli/generated/api/payees/get_payees.py +57 -0
  42. ynab_api_cli/generated/api/payees/update_payee.py +57 -0
  43. ynab_api_cli/generated/api/plans/__init__.py +3 -0
  44. ynab_api_cli/generated/api/plans/get_plan_by_id.py +57 -0
  45. ynab_api_cli/generated/api/plans/get_plan_settings_by_id.py +49 -0
  46. ynab_api_cli/generated/api/plans/get_plans.py +51 -0
  47. ynab_api_cli/generated/api/scheduled_transactions/__init__.py +3 -0
  48. ynab_api_cli/generated/api/scheduled_transactions/create_scheduled_transaction.py +58 -0
  49. ynab_api_cli/generated/api/scheduled_transactions/delete_scheduled_transaction.py +56 -0
  50. ynab_api_cli/generated/api/scheduled_transactions/get_scheduled_transaction_by_id.py +56 -0
  51. ynab_api_cli/generated/api/scheduled_transactions/get_scheduled_transactions.py +59 -0
  52. ynab_api_cli/generated/api/scheduled_transactions/update_scheduled_transaction.py +63 -0
  53. ynab_api_cli/generated/api/transactions/__init__.py +3 -0
  54. ynab_api_cli/generated/api/transactions/create_transaction.py +58 -0
  55. ynab_api_cli/generated/api/transactions/delete_transaction.py +54 -0
  56. ynab_api_cli/generated/api/transactions/get_transaction_by_id.py +54 -0
  57. ynab_api_cli/generated/api/transactions/get_transactions.py +80 -0
  58. ynab_api_cli/generated/api/transactions/get_transactions_by_account.py +87 -0
  59. ynab_api_cli/generated/api/transactions/get_transactions_by_category.py +89 -0
  60. ynab_api_cli/generated/api/transactions/get_transactions_by_month.py +87 -0
  61. ynab_api_cli/generated/api/transactions/get_transactions_by_payee.py +89 -0
  62. ynab_api_cli/generated/api/transactions/import_transactions.py +54 -0
  63. ynab_api_cli/generated/api/transactions/update_transaction.py +59 -0
  64. ynab_api_cli/generated/api/transactions/update_transactions.py +58 -0
  65. ynab_api_cli/generated/api/user/__init__.py +3 -0
  66. ynab_api_cli/generated/api/user/get_user.py +42 -0
  67. ynab_api_cli/generated/bindings.py +141 -0
  68. ynab_api_cli/generated/models/__init__.py +416 -0
  69. ynab_api_cli/generated/models/account.py +71 -0
  70. ynab_api_cli/generated/models/account_base.py +57 -0
  71. ynab_api_cli/generated/models/account_response.py +19 -0
  72. ynab_api_cli/generated/models/account_response_data.py +19 -0
  73. ynab_api_cli/generated/models/account_type.py +23 -0
  74. ynab_api_cli/generated/models/accounts_response.py +21 -0
  75. ynab_api_cli/generated/models/accounts_response_data.py +20 -0
  76. ynab_api_cli/generated/models/bulk_response.py +19 -0
  77. ynab_api_cli/generated/models/bulk_response_data.py +21 -0
  78. ynab_api_cli/generated/models/bulk_response_data_bulk.py +15 -0
  79. ynab_api_cli/generated/models/bulk_transactions.py +21 -0
  80. ynab_api_cli/generated/models/categories_response.py +21 -0
  81. ynab_api_cli/generated/models/categories_response_data.py +22 -0
  82. ynab_api_cli/generated/models/category.py +104 -0
  83. ynab_api_cli/generated/models/category_base.py +74 -0
  84. ynab_api_cli/generated/models/category_group.py +20 -0
  85. ynab_api_cli/generated/models/category_group_with_categories.py +25 -0
  86. ynab_api_cli/generated/models/category_response.py +21 -0
  87. ynab_api_cli/generated/models/category_response_data.py +19 -0
  88. ynab_api_cli/generated/models/currency_format_type_0.py +21 -0
  89. ynab_api_cli/generated/models/date_format_type_0.py +14 -0
  90. ynab_api_cli/generated/models/debt_1.py +18 -0
  91. ynab_api_cli/generated/models/debt_2.py +18 -0
  92. ynab_api_cli/generated/models/debt_3.py +18 -0
  93. ynab_api_cli/generated/models/error_detail.py +16 -0
  94. ynab_api_cli/generated/models/error_response.py +19 -0
  95. ynab_api_cli/generated/models/existing_category.py +34 -0
  96. ynab_api_cli/generated/models/existing_transaction.py +43 -0
  97. ynab_api_cli/generated/models/flag_1.py +17 -0
  98. ynab_api_cli/generated/models/flag_2.py +17 -0
  99. ynab_api_cli/generated/models/flag_3.py +17 -0
  100. ynab_api_cli/generated/models/get_transactions_by_account_type.py +12 -0
  101. ynab_api_cli/generated/models/get_transactions_by_category_type.py +12 -0
  102. ynab_api_cli/generated/models/get_transactions_by_month_type.py +12 -0
  103. ynab_api_cli/generated/models/get_transactions_by_payee_type.py +12 -0
  104. ynab_api_cli/generated/models/get_transactions_type.py +12 -0
  105. ynab_api_cli/generated/models/goal_1.py +15 -0
  106. ynab_api_cli/generated/models/goal_2.py +15 -0
  107. ynab_api_cli/generated/models/goal_3.py +15 -0
  108. ynab_api_cli/generated/models/hybrid_transaction.py +70 -0
  109. ynab_api_cli/generated/models/hybrid_transaction_type.py +12 -0
  110. ynab_api_cli/generated/models/hybrid_transactions_response.py +21 -0
  111. ynab_api_cli/generated/models/hybrid_transactions_response_data.py +22 -0
  112. ynab_api_cli/generated/models/loan_account_periodic_value_type_0.py +33 -0
  113. ynab_api_cli/generated/models/money_movement.py +35 -0
  114. ynab_api_cli/generated/models/money_movement_base.py +33 -0
  115. ynab_api_cli/generated/models/money_movement_group.py +25 -0
  116. ynab_api_cli/generated/models/money_movement_groups_response.py +21 -0
  117. ynab_api_cli/generated/models/money_movement_groups_response_data.py +22 -0
  118. ynab_api_cli/generated/models/money_movements_response.py +21 -0
  119. ynab_api_cli/generated/models/money_movements_response_data.py +20 -0
  120. ynab_api_cli/generated/models/month_detail.py +42 -0
  121. ynab_api_cli/generated/models/month_detail_base.py +30 -0
  122. ynab_api_cli/generated/models/month_detail_response.py +21 -0
  123. ynab_api_cli/generated/models/month_detail_response_data.py +19 -0
  124. ynab_api_cli/generated/models/month_summaries_response.py +21 -0
  125. ynab_api_cli/generated/models/month_summaries_response_data.py +20 -0
  126. ynab_api_cli/generated/models/month_summary.py +37 -0
  127. ynab_api_cli/generated/models/month_summary_base.py +25 -0
  128. ynab_api_cli/generated/models/new_category.py +34 -0
  129. ynab_api_cli/generated/models/new_transaction.py +44 -0
  130. ynab_api_cli/generated/models/patch_category_group_wrapper.py +19 -0
  131. ynab_api_cli/generated/models/patch_category_wrapper.py +19 -0
  132. ynab_api_cli/generated/models/patch_month_category_wrapper.py +19 -0
  133. ynab_api_cli/generated/models/patch_payee_wrapper.py +19 -0
  134. ynab_api_cli/generated/models/patch_transactions_wrapper.py +21 -0
  135. ynab_api_cli/generated/models/payee.py +23 -0
  136. ynab_api_cli/generated/models/payee_location.py +20 -0
  137. ynab_api_cli/generated/models/payee_location_response.py +21 -0
  138. ynab_api_cli/generated/models/payee_location_response_data.py +19 -0
  139. ynab_api_cli/generated/models/payee_locations_response.py +21 -0
  140. ynab_api_cli/generated/models/payee_locations_response_data.py +19 -0
  141. ynab_api_cli/generated/models/payee_response.py +19 -0
  142. ynab_api_cli/generated/models/payee_response_data.py +19 -0
  143. ynab_api_cli/generated/models/payees_response.py +19 -0
  144. ynab_api_cli/generated/models/payees_response_data.py +20 -0
  145. ynab_api_cli/generated/models/plan_detail.py +74 -0
  146. ynab_api_cli/generated/models/plan_detail_response.py +21 -0
  147. ynab_api_cli/generated/models/plan_detail_response_data.py +20 -0
  148. ynab_api_cli/generated/models/plan_settings.py +21 -0
  149. ynab_api_cli/generated/models/plan_settings_response.py +21 -0
  150. ynab_api_cli/generated/models/plan_settings_response_data.py +19 -0
  151. ynab_api_cli/generated/models/plan_summary.py +38 -0
  152. ynab_api_cli/generated/models/plan_summary_response.py +21 -0
  153. ynab_api_cli/generated/models/plan_summary_response_data.py +24 -0
  154. ynab_api_cli/generated/models/post_account_wrapper.py +19 -0
  155. ynab_api_cli/generated/models/post_category_group_wrapper.py +19 -0
  156. ynab_api_cli/generated/models/post_category_wrapper.py +19 -0
  157. ynab_api_cli/generated/models/post_payee.py +14 -0
  158. ynab_api_cli/generated/models/post_payee_wrapper.py +19 -0
  159. ynab_api_cli/generated/models/post_scheduled_transaction_wrapper.py +23 -0
  160. ynab_api_cli/generated/models/post_transactions_wrapper.py +24 -0
  161. ynab_api_cli/generated/models/put_scheduled_transaction_wrapper.py +23 -0
  162. ynab_api_cli/generated/models/put_transaction_wrapper.py +19 -0
  163. ynab_api_cli/generated/models/save_account.py +18 -0
  164. ynab_api_cli/generated/models/save_account_type.py +16 -0
  165. ynab_api_cli/generated/models/save_category.py +34 -0
  166. ynab_api_cli/generated/models/save_category_goal_frequency.py +13 -0
  167. ynab_api_cli/generated/models/save_category_group.py +14 -0
  168. ynab_api_cli/generated/models/save_category_group_response.py +21 -0
  169. ynab_api_cli/generated/models/save_category_group_response_data.py +20 -0
  170. ynab_api_cli/generated/models/save_category_response.py +21 -0
  171. ynab_api_cli/generated/models/save_category_response_data.py +20 -0
  172. ynab_api_cli/generated/models/save_month_category.py +14 -0
  173. ynab_api_cli/generated/models/save_payee.py +16 -0
  174. ynab_api_cli/generated/models/save_payee_response.py +21 -0
  175. ynab_api_cli/generated/models/save_payee_response_data.py +20 -0
  176. ynab_api_cli/generated/models/save_scheduled_transaction.py +37 -0
  177. ynab_api_cli/generated/models/save_sub_transaction.py +22 -0
  178. ynab_api_cli/generated/models/save_transaction_with_id_or_import_id.py +45 -0
  179. ynab_api_cli/generated/models/save_transaction_with_optional_fields.py +43 -0
  180. ynab_api_cli/generated/models/save_transactions_response.py +21 -0
  181. ynab_api_cli/generated/models/save_transactions_response_data.py +29 -0
  182. ynab_api_cli/generated/models/scheduled_sub_transaction.py +31 -0
  183. ynab_api_cli/generated/models/scheduled_sub_transaction_base.py +29 -0
  184. ynab_api_cli/generated/models/scheduled_transaction_detail.py +53 -0
  185. ynab_api_cli/generated/models/scheduled_transaction_frequency.py +23 -0
  186. ynab_api_cli/generated/models/scheduled_transaction_response.py +21 -0
  187. ynab_api_cli/generated/models/scheduled_transaction_response_data.py +23 -0
  188. ynab_api_cli/generated/models/scheduled_transaction_summary.py +43 -0
  189. ynab_api_cli/generated/models/scheduled_transaction_summary_base.py +41 -0
  190. ynab_api_cli/generated/models/scheduled_transaction_summary_base_frequency.py +23 -0
  191. ynab_api_cli/generated/models/scheduled_transactions_response.py +21 -0
  192. ynab_api_cli/generated/models/scheduled_transactions_response_data.py +24 -0
  193. ynab_api_cli/generated/models/sub_transaction.py +34 -0
  194. ynab_api_cli/generated/models/sub_transaction_base.py +32 -0
  195. ynab_api_cli/generated/models/transaction_cleared_status.py +13 -0
  196. ynab_api_cli/generated/models/transaction_detail.py +70 -0
  197. ynab_api_cli/generated/models/transaction_response.py +21 -0
  198. ynab_api_cli/generated/models/transaction_response_data.py +20 -0
  199. ynab_api_cli/generated/models/transaction_summary.py +62 -0
  200. ynab_api_cli/generated/models/transaction_summary_base.py +60 -0
  201. ynab_api_cli/generated/models/transactions_import_response.py +21 -0
  202. ynab_api_cli/generated/models/transactions_import_response_data.py +14 -0
  203. ynab_api_cli/generated/models/transactions_response.py +21 -0
  204. ynab_api_cli/generated/models/transactions_response_data.py +20 -0
  205. ynab_api_cli/generated/models/user.py +16 -0
  206. ynab_api_cli/generated/models/user_response.py +19 -0
  207. ynab_api_cli/generated/models/user_response_data.py +19 -0
  208. ynab_api_cli/live.py +449 -0
  209. ynab_api_cli/py.typed +0 -0
  210. ynab_api_cli/resources/__init__.py +3 -0
  211. ynab_api_cli/resources/catalog.json +178 -0
  212. ynab_api_cli/resources/openapi.yaml +4035 -0
  213. ynab_api_cli/resources/provenance.json +9 -0
  214. ynab_api_cli/resources/schema_features.json +913 -0
  215. ynab_api_cli/resources/skill/SKILL.md +21 -0
  216. ynab_api_cli/resources/skill/references/operations.md +36 -0
  217. ynab_api_cli/resources/skill/references/setup.md +32 -0
  218. ynab_api_cli/security.py +83 -0
  219. ynab_api_cli/transport.py +133 -0
  220. ynab_api_cli/types.py +110 -0
  221. ynab_api_cli/verification.py +167 -0
  222. ynab_api_cli-0.1.0.dist-info/METADATA +90 -0
  223. ynab_api_cli-0.1.0.dist-info/RECORD +225 -0
  224. ynab_api_cli-0.1.0.dist-info/WHEEL +4 -0
  225. ynab_api_cli-0.1.0.dist-info/entry_points.txt +3 -0
@@ -0,0 +1,4035 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: YNAB API Endpoints
4
+ description: |-
5
+ Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body.
6
+
7
+ Read the [API Documentation](https://api.ynab.com) for more information about the API, including how to obtain an access token and how to use it to make requests.
8
+ version: 1.87.0
9
+ servers:
10
+ - url: https://api.ynab.com/v1
11
+ security:
12
+ - bearer: []
13
+ tags:
14
+ - name: User
15
+ description: The currently authenticated user
16
+ - name: Plans
17
+ description: Plans are the top-level container for your YNAB data; accounts,
18
+ categories, payees, and transactions all belong to a plan. Most endpoints
19
+ require a plan_id, which can be obtained from "Get all plans".
20
+ Alternatively, "last-used" can be used in place of a plan_id to specify
21
+ the most recently used plan, and "default" can be used if [default plan
22
+ selection](https://api.ynab.com/#oauth-default-plan) is enabled.
23
+ - name: Accounts
24
+ description: The accounts for a plan. Every transaction belongs to an account,
25
+ and an account is either "on budget", where its activity is categorized
26
+ and planned, or a tracking account, where only its balance is tracked
27
+ (see the on_budget flag).
28
+ - name: Categories
29
+ description: The categories for a plan, organized into category groups.
30
+ Category amounts (assigned, activity, available) are specific to a month,
31
+ and can be read and updated through the month-scoped category endpoints.
32
+ - name: Payees
33
+ description: The payees for a plan. Transfers between accounts are represented
34
+ with special transfer payees; a payee with transfer_account_id set is the
35
+ transfer payee for that account.
36
+ - name: Payee Locations
37
+ description: When you enter a transaction and specify a payee on the YNAB mobile
38
+ apps, the GPS coordinates for that location are stored, with your
39
+ permission, so that the next time you are in the same place (like the
40
+ Grocery store) we can pre-populate nearby payees for you! It’s handy and
41
+ saves you time. This resource makes these locations available. Locations
42
+ will not be available for all payees.
43
+ - name: Months
44
+ description: Each plan contains one or more months, which is where Ready to
45
+ Assign, Age of Money and category (assigned / activity / available)
46
+ amounts are available.
47
+ - name: Money Movements
48
+ description: Money movements record money moved between two categories, or
49
+ between a category and Ready to Assign, within a plan month. Movements
50
+ performed together as a single action are linked by a money movement
51
+ group.
52
+ - name: Transactions
53
+ description: The transactions for a plan. Transaction amounts are specified in
54
+ [milliunits format](https://api.ynab.com/#formats). Split transactions
55
+ are represented with subtransactions, and transfers between accounts are
56
+ represented with transfer payees.
57
+ - name: Scheduled Transactions
58
+ description: The scheduled transactions for a plan; upcoming and recurring
59
+ transactions that have not yet been entered into an account. Each has a
60
+ frequency along with the first and next dates it will occur (date_first
61
+ and date_next).
62
+ paths:
63
+ /user:
64
+ get:
65
+ tags:
66
+ - User
67
+ summary: Get user
68
+ description: Returns authenticated user information
69
+ operationId: getUser
70
+ responses:
71
+ "200":
72
+ description: The user info
73
+ content:
74
+ application/json:
75
+ schema:
76
+ $ref: "#/components/schemas/UserResponse"
77
+ /plans:
78
+ get:
79
+ tags:
80
+ - Plans
81
+ summary: Get all plans
82
+ description: Returns plans list with summary information
83
+ operationId: getPlans
84
+ parameters:
85
+ - name: include_accounts
86
+ in: query
87
+ description: Whether to include the list of plan accounts
88
+ schema:
89
+ type: boolean
90
+ responses:
91
+ "200":
92
+ description: The list of plans
93
+ content:
94
+ application/json:
95
+ schema:
96
+ $ref: "#/components/schemas/PlanSummaryResponse"
97
+ "404":
98
+ description: No plans were found
99
+ content:
100
+ application/json:
101
+ schema:
102
+ $ref: "#/components/schemas/ErrorResponse"
103
+ /plans/{plan_id}:
104
+ get:
105
+ tags:
106
+ - Plans
107
+ summary: Get a plan
108
+ description: Returns a single plan with all related entities. This resource is
109
+ effectively a full plan export.
110
+ operationId: getPlanById
111
+ parameters:
112
+ - name: plan_id
113
+ in: path
114
+ description: 'The id of the plan. "last-used" can be used to specify the last
115
+ used plan and "default" can be used if default plan selection is
116
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
117
+ required: true
118
+ schema:
119
+ type: string
120
+ - name: last_knowledge_of_server
121
+ in: query
122
+ description: The starting server knowledge. If provided, only entities that
123
+ have changed since `last_knowledge_of_server` will be included.
124
+ schema:
125
+ type: integer
126
+ format: int64
127
+ responses:
128
+ "200":
129
+ description: The requested plan
130
+ content:
131
+ application/json:
132
+ schema:
133
+ $ref: "#/components/schemas/PlanDetailResponse"
134
+ "404":
135
+ description: The specified plan was not found
136
+ content:
137
+ application/json:
138
+ schema:
139
+ $ref: "#/components/schemas/ErrorResponse"
140
+ /plans/{plan_id}/settings:
141
+ get:
142
+ tags:
143
+ - Plans
144
+ summary: Get plan settings
145
+ description: Returns settings for a plan
146
+ operationId: getPlanSettingsById
147
+ parameters:
148
+ - name: plan_id
149
+ in: path
150
+ description: 'The id of the plan. "last-used" can be used to specify the last
151
+ used plan and "default" can be used if default plan selection is
152
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
153
+ required: true
154
+ schema:
155
+ type: string
156
+ responses:
157
+ "200":
158
+ description: The requested plan settings
159
+ content:
160
+ application/json:
161
+ schema:
162
+ $ref: "#/components/schemas/PlanSettingsResponse"
163
+ "404":
164
+ description: The specified plan was not found
165
+ content:
166
+ application/json:
167
+ schema:
168
+ $ref: "#/components/schemas/ErrorResponse"
169
+ /plans/{plan_id}/accounts:
170
+ get:
171
+ tags:
172
+ - Accounts
173
+ summary: Get all accounts
174
+ description: Returns all accounts
175
+ operationId: getAccounts
176
+ parameters:
177
+ - name: plan_id
178
+ in: path
179
+ description: 'The id of the plan. "last-used" can be used to specify the last
180
+ used plan and "default" can be used if default plan selection is
181
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
182
+ required: true
183
+ schema:
184
+ type: string
185
+ - name: last_knowledge_of_server
186
+ in: query
187
+ description: The starting server knowledge. If provided, only entities that
188
+ have changed since `last_knowledge_of_server` will be included.
189
+ schema:
190
+ type: integer
191
+ format: int64
192
+ responses:
193
+ "200":
194
+ description: The list of requested accounts
195
+ content:
196
+ application/json:
197
+ schema:
198
+ $ref: "#/components/schemas/AccountsResponse"
199
+ "404":
200
+ description: No accounts were found
201
+ content:
202
+ application/json:
203
+ schema:
204
+ $ref: "#/components/schemas/ErrorResponse"
205
+ post:
206
+ tags:
207
+ - Accounts
208
+ summary: Create an account
209
+ description: Creates a new account
210
+ operationId: createAccount
211
+ parameters:
212
+ - name: plan_id
213
+ in: path
214
+ description: 'The id of the plan ("last-used" can be used to specify the last
215
+ used plan and "default" can be used if default plan selection is
216
+ enabled (see: https://api.ynab.com/#oauth-default-plan)'
217
+ required: true
218
+ schema:
219
+ type: string
220
+ requestBody:
221
+ description: The account to create.
222
+ content:
223
+ application/json:
224
+ schema:
225
+ $ref: "#/components/schemas/PostAccountWrapper"
226
+ required: true
227
+ responses:
228
+ "201":
229
+ description: The account was successfully created
230
+ content:
231
+ application/json:
232
+ schema:
233
+ $ref: "#/components/schemas/AccountResponse"
234
+ "400":
235
+ description: The request could not be understood due to malformed syntax or
236
+ validation error(s).
237
+ content:
238
+ application/json:
239
+ schema:
240
+ $ref: "#/components/schemas/ErrorResponse"
241
+ x-codegen-request-body-name: data
242
+ /plans/{plan_id}/accounts/{account_id}:
243
+ get:
244
+ tags:
245
+ - Accounts
246
+ summary: Get an account
247
+ description: Returns a single account
248
+ operationId: getAccountById
249
+ parameters:
250
+ - name: plan_id
251
+ in: path
252
+ description: 'The id of the plan. "last-used" can be used to specify the last
253
+ used plan and "default" can be used if default plan selection is
254
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
255
+ required: true
256
+ schema:
257
+ type: string
258
+ - name: account_id
259
+ in: path
260
+ description: The id of the account
261
+ required: true
262
+ schema:
263
+ type: string
264
+ format: uuid
265
+ responses:
266
+ "200":
267
+ description: The requested account
268
+ content:
269
+ application/json:
270
+ schema:
271
+ $ref: "#/components/schemas/AccountResponse"
272
+ "404":
273
+ description: The requested account was not found
274
+ content:
275
+ application/json:
276
+ schema:
277
+ $ref: "#/components/schemas/ErrorResponse"
278
+ /plans/{plan_id}/categories:
279
+ get:
280
+ tags:
281
+ - Categories
282
+ summary: Get all categories
283
+ description: Returns all categories grouped by category group. Amounts
284
+ (assigned, activity, available, etc.) are specific to the current plan
285
+ month (UTC).
286
+ operationId: getCategories
287
+ parameters:
288
+ - name: plan_id
289
+ in: path
290
+ description: 'The id of the plan. "last-used" can be used to specify the last
291
+ used plan and "default" can be used if default plan selection is
292
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
293
+ required: true
294
+ schema:
295
+ type: string
296
+ - name: last_knowledge_of_server
297
+ in: query
298
+ description: The starting server knowledge. If provided, only entities that
299
+ have changed since `last_knowledge_of_server` will be included.
300
+ schema:
301
+ type: integer
302
+ format: int64
303
+ responses:
304
+ "200":
305
+ description: The categories grouped by category group
306
+ content:
307
+ application/json:
308
+ schema:
309
+ $ref: "#/components/schemas/CategoriesResponse"
310
+ "404":
311
+ description: No categories were found
312
+ content:
313
+ application/json:
314
+ schema:
315
+ $ref: "#/components/schemas/ErrorResponse"
316
+ post:
317
+ tags:
318
+ - Categories
319
+ summary: Create a category
320
+ description: Creates a new category
321
+ operationId: createCategory
322
+ parameters:
323
+ - name: plan_id
324
+ in: path
325
+ description: 'The id of the plan ("last-used" can be used to specify the last
326
+ used plan and "default" can be used if default plan selection is
327
+ enabled (see: https://api.ynab.com/#oauth-default-plan)'
328
+ required: true
329
+ schema:
330
+ type: string
331
+ requestBody:
332
+ description: The category to create.
333
+ content:
334
+ application/json:
335
+ schema:
336
+ $ref: "#/components/schemas/PostCategoryWrapper"
337
+ required: true
338
+ responses:
339
+ "201":
340
+ description: The category was successfully created
341
+ content:
342
+ application/json:
343
+ schema:
344
+ $ref: "#/components/schemas/SaveCategoryResponse"
345
+ "400":
346
+ description: The request could not be understood due to malformed syntax or
347
+ validation error(s).
348
+ content:
349
+ application/json:
350
+ schema:
351
+ $ref: "#/components/schemas/ErrorResponse"
352
+ x-codegen-request-body-name: data
353
+ /plans/{plan_id}/categories/{category_id}:
354
+ get:
355
+ tags:
356
+ - Categories
357
+ summary: Get a category
358
+ description: Returns a single category. Amounts (assigned, activity, available,
359
+ etc.) are specific to the current plan month (UTC).
360
+ operationId: getCategoryById
361
+ parameters:
362
+ - name: plan_id
363
+ in: path
364
+ description: 'The id of the plan. "last-used" can be used to specify the last
365
+ used plan and "default" can be used if default plan selection is
366
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
367
+ required: true
368
+ schema:
369
+ type: string
370
+ - name: category_id
371
+ in: path
372
+ description: The id of the category
373
+ required: true
374
+ schema:
375
+ type: string
376
+ responses:
377
+ "200":
378
+ description: The requested category
379
+ content:
380
+ application/json:
381
+ schema:
382
+ $ref: "#/components/schemas/CategoryResponse"
383
+ "404":
384
+ description: The category was not found
385
+ content:
386
+ application/json:
387
+ schema:
388
+ $ref: "#/components/schemas/ErrorResponse"
389
+ patch:
390
+ tags:
391
+ - Categories
392
+ summary: Update a category
393
+ description: Update a category
394
+ operationId: updateCategory
395
+ parameters:
396
+ - name: plan_id
397
+ in: path
398
+ description: 'The id of the plan. "last-used" can be used to specify the last
399
+ used plan and "default" can be used if default plan selection is
400
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
401
+ required: true
402
+ schema:
403
+ type: string
404
+ - name: category_id
405
+ in: path
406
+ description: The id of the category
407
+ required: true
408
+ schema:
409
+ type: string
410
+ requestBody:
411
+ description: The category to update
412
+ content:
413
+ application/json:
414
+ schema:
415
+ $ref: "#/components/schemas/PatchCategoryWrapper"
416
+ required: true
417
+ responses:
418
+ "200":
419
+ description: The category was successfully updated
420
+ content:
421
+ application/json:
422
+ schema:
423
+ $ref: "#/components/schemas/SaveCategoryResponse"
424
+ "400":
425
+ description: The request could not be understood due to malformed syntax or
426
+ validation error(s)
427
+ content:
428
+ application/json:
429
+ schema:
430
+ $ref: "#/components/schemas/ErrorResponse"
431
+ x-codegen-request-body-name: data
432
+ /plans/{plan_id}/months/{month}/categories/{category_id}:
433
+ get:
434
+ tags:
435
+ - Categories
436
+ summary: Get a category for a specific plan month
437
+ description: Returns a single category for a specific plan month. Amounts
438
+ (assigned, activity, available, etc.) are specific to the current plan
439
+ month (UTC).
440
+ operationId: getMonthCategoryById
441
+ parameters:
442
+ - name: plan_id
443
+ in: path
444
+ description: 'The id of the plan. "last-used" can be used to specify the last
445
+ used plan and "default" can be used if default plan selection is
446
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
447
+ required: true
448
+ schema:
449
+ type: string
450
+ - name: month
451
+ in: path
452
+ description: The plan month in ISO format (e.g. 2016-12-01) ("current" can also
453
+ be used to specify the current calendar month (UTC))
454
+ required: true
455
+ schema:
456
+ type: string
457
+ format: date
458
+ - name: category_id
459
+ in: path
460
+ description: The id of the category
461
+ required: true
462
+ schema:
463
+ type: string
464
+ responses:
465
+ "200":
466
+ description: The requested month category
467
+ content:
468
+ application/json:
469
+ schema:
470
+ $ref: "#/components/schemas/CategoryResponse"
471
+ "404":
472
+ description: The month category was not was found
473
+ content:
474
+ application/json:
475
+ schema:
476
+ $ref: "#/components/schemas/ErrorResponse"
477
+ patch:
478
+ tags:
479
+ - Categories
480
+ summary: Update a category for a specific month
481
+ description: Update a category for a specific month. Only `budgeted` (assigned)
482
+ amount can be updated.
483
+ operationId: updateMonthCategory
484
+ parameters:
485
+ - name: plan_id
486
+ in: path
487
+ description: 'The id of the plan. "last-used" can be used to specify the last
488
+ used plan and "default" can be used if default plan selection is
489
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
490
+ required: true
491
+ schema:
492
+ type: string
493
+ - name: month
494
+ in: path
495
+ description: The plan month in ISO format (e.g. 2016-12-01) ("current" can also
496
+ be used to specify the current calendar month (UTC))
497
+ required: true
498
+ schema:
499
+ type: string
500
+ format: date
501
+ - name: category_id
502
+ in: path
503
+ description: The id of the category
504
+ required: true
505
+ schema:
506
+ type: string
507
+ requestBody:
508
+ description: The category to update. Only `budgeted` (assigned) amount can be
509
+ updated and any other fields specified will be ignored.
510
+ content:
511
+ application/json:
512
+ schema:
513
+ $ref: "#/components/schemas/PatchMonthCategoryWrapper"
514
+ required: true
515
+ responses:
516
+ "200":
517
+ description: The month category was successfully updated
518
+ content:
519
+ application/json:
520
+ schema:
521
+ $ref: "#/components/schemas/SaveCategoryResponse"
522
+ "400":
523
+ description: The request could not be understood due to malformed syntax or
524
+ validation error(s)
525
+ content:
526
+ application/json:
527
+ schema:
528
+ $ref: "#/components/schemas/ErrorResponse"
529
+ x-codegen-request-body-name: data
530
+ /plans/{plan_id}/category_groups:
531
+ post:
532
+ tags:
533
+ - Categories
534
+ summary: Create a category group
535
+ description: Creates a new category group
536
+ operationId: createCategoryGroup
537
+ parameters:
538
+ - name: plan_id
539
+ in: path
540
+ description: 'The id of the plan ("last-used" can be used to specify the last
541
+ used plan and "default" can be used if default plan selection is
542
+ enabled (see: https://api.ynab.com/#oauth-default-plan)'
543
+ required: true
544
+ schema:
545
+ type: string
546
+ requestBody:
547
+ description: The category group to create.
548
+ content:
549
+ application/json:
550
+ schema:
551
+ $ref: "#/components/schemas/PostCategoryGroupWrapper"
552
+ required: true
553
+ responses:
554
+ "201":
555
+ description: The category group was successfully created
556
+ content:
557
+ application/json:
558
+ schema:
559
+ $ref: "#/components/schemas/SaveCategoryGroupResponse"
560
+ "400":
561
+ description: The request could not be understood due to malformed syntax or
562
+ validation error(s).
563
+ content:
564
+ application/json:
565
+ schema:
566
+ $ref: "#/components/schemas/ErrorResponse"
567
+ x-codegen-request-body-name: data
568
+ /plans/{plan_id}/category_groups/{category_group_id}:
569
+ patch:
570
+ tags:
571
+ - Categories
572
+ summary: Update a category group
573
+ description: Update a category group
574
+ operationId: updateCategoryGroup
575
+ parameters:
576
+ - name: plan_id
577
+ in: path
578
+ description: 'The id of the plan. "last-used" can be used to specify the last
579
+ used plan and "default" can be used if default plan selection is
580
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
581
+ required: true
582
+ schema:
583
+ type: string
584
+ - name: category_group_id
585
+ in: path
586
+ description: The id of the category group
587
+ required: true
588
+ schema:
589
+ type: string
590
+ requestBody:
591
+ description: The category group to update
592
+ content:
593
+ application/json:
594
+ schema:
595
+ $ref: "#/components/schemas/PatchCategoryGroupWrapper"
596
+ required: true
597
+ responses:
598
+ "200":
599
+ description: The category group was successfully updated
600
+ content:
601
+ application/json:
602
+ schema:
603
+ $ref: "#/components/schemas/SaveCategoryGroupResponse"
604
+ "400":
605
+ description: The request could not be understood due to malformed syntax or
606
+ validation error(s)
607
+ content:
608
+ application/json:
609
+ schema:
610
+ $ref: "#/components/schemas/ErrorResponse"
611
+ x-codegen-request-body-name: data
612
+ /plans/{plan_id}/payees:
613
+ get:
614
+ tags:
615
+ - Payees
616
+ summary: Get all payees
617
+ description: Returns all payees
618
+ operationId: getPayees
619
+ parameters:
620
+ - name: plan_id
621
+ in: path
622
+ description: 'The id of the plan. "last-used" can be used to specify the last
623
+ used plan and "default" can be used if default plan selection is
624
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
625
+ required: true
626
+ schema:
627
+ type: string
628
+ - name: last_knowledge_of_server
629
+ in: query
630
+ description: The starting server knowledge. If provided, only entities that
631
+ have changed since `last_knowledge_of_server` will be included.
632
+ schema:
633
+ type: integer
634
+ format: int64
635
+ responses:
636
+ "200":
637
+ description: The requested list of payees
638
+ content:
639
+ application/json:
640
+ schema:
641
+ $ref: "#/components/schemas/PayeesResponse"
642
+ "404":
643
+ description: No payees were found
644
+ content:
645
+ application/json:
646
+ schema:
647
+ $ref: "#/components/schemas/ErrorResponse"
648
+ post:
649
+ tags:
650
+ - Payees
651
+ summary: Create a payee
652
+ description: Creates a new payee
653
+ operationId: createPayee
654
+ parameters:
655
+ - name: plan_id
656
+ in: path
657
+ description: 'The id of the plan. "last-used" can be used to specify the last
658
+ used plan and "default" can be used if default plan selection is
659
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
660
+ required: true
661
+ schema:
662
+ type: string
663
+ requestBody:
664
+ description: The payee to create
665
+ content:
666
+ application/json:
667
+ schema:
668
+ $ref: "#/components/schemas/PostPayeeWrapper"
669
+ required: true
670
+ responses:
671
+ "201":
672
+ description: The payee was successfully created
673
+ content:
674
+ application/json:
675
+ schema:
676
+ $ref: "#/components/schemas/SavePayeeResponse"
677
+ "400":
678
+ description: The request could not be understood due to malformed syntax or
679
+ validation error(s)
680
+ content:
681
+ application/json:
682
+ schema:
683
+ $ref: "#/components/schemas/ErrorResponse"
684
+ x-codegen-request-body-name: data
685
+ /plans/{plan_id}/payees/{payee_id}:
686
+ get:
687
+ tags:
688
+ - Payees
689
+ summary: Get a payee
690
+ description: Returns a single payee
691
+ operationId: getPayeeById
692
+ parameters:
693
+ - name: plan_id
694
+ in: path
695
+ description: 'The id of the plan. "last-used" can be used to specify the last
696
+ used plan and "default" can be used if default plan selection is
697
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
698
+ required: true
699
+ schema:
700
+ type: string
701
+ - name: payee_id
702
+ in: path
703
+ description: The id of the payee
704
+ required: true
705
+ schema:
706
+ type: string
707
+ responses:
708
+ "200":
709
+ description: The requested payee
710
+ content:
711
+ application/json:
712
+ schema:
713
+ $ref: "#/components/schemas/PayeeResponse"
714
+ "404":
715
+ description: The payee was not found
716
+ content:
717
+ application/json:
718
+ schema:
719
+ $ref: "#/components/schemas/ErrorResponse"
720
+ patch:
721
+ tags:
722
+ - Payees
723
+ summary: Update a payee
724
+ description: Update a payee
725
+ operationId: updatePayee
726
+ parameters:
727
+ - name: plan_id
728
+ in: path
729
+ description: 'The id of the plan. "last-used" can be used to specify the last
730
+ used plan and "default" can be used if default plan selection is
731
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
732
+ required: true
733
+ schema:
734
+ type: string
735
+ - name: payee_id
736
+ in: path
737
+ description: The id of the payee
738
+ required: true
739
+ schema:
740
+ type: string
741
+ requestBody:
742
+ description: The payee to update
743
+ content:
744
+ application/json:
745
+ schema:
746
+ $ref: "#/components/schemas/PatchPayeeWrapper"
747
+ required: true
748
+ responses:
749
+ "200":
750
+ description: The payee was successfully updated
751
+ content:
752
+ application/json:
753
+ schema:
754
+ $ref: "#/components/schemas/SavePayeeResponse"
755
+ "400":
756
+ description: The request could not be understood due to malformed syntax or
757
+ validation error(s)
758
+ content:
759
+ application/json:
760
+ schema:
761
+ $ref: "#/components/schemas/ErrorResponse"
762
+ x-codegen-request-body-name: data
763
+ /plans/{plan_id}/payee_locations:
764
+ get:
765
+ tags:
766
+ - Payee Locations
767
+ summary: Get all payee locations
768
+ description: Returns all payee locations
769
+ operationId: getPayeeLocations
770
+ parameters:
771
+ - name: plan_id
772
+ in: path
773
+ description: 'The id of the plan. "last-used" can be used to specify the last
774
+ used plan and "default" can be used if default plan selection is
775
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
776
+ required: true
777
+ schema:
778
+ type: string
779
+ responses:
780
+ "200":
781
+ description: The list of payee locations
782
+ content:
783
+ application/json:
784
+ schema:
785
+ $ref: "#/components/schemas/PayeeLocationsResponse"
786
+ "404":
787
+ description: No payees locations were found
788
+ content:
789
+ application/json:
790
+ schema:
791
+ $ref: "#/components/schemas/ErrorResponse"
792
+ /plans/{plan_id}/payee_locations/{payee_location_id}:
793
+ get:
794
+ tags:
795
+ - Payee Locations
796
+ summary: Get a payee location
797
+ description: Returns a single payee location
798
+ operationId: getPayeeLocationById
799
+ parameters:
800
+ - name: plan_id
801
+ in: path
802
+ description: 'The id of the plan. "last-used" can be used to specify the last
803
+ used plan and "default" can be used if default plan selection is
804
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
805
+ required: true
806
+ schema:
807
+ type: string
808
+ - name: payee_location_id
809
+ in: path
810
+ description: id of payee location
811
+ required: true
812
+ schema:
813
+ type: string
814
+ responses:
815
+ "200":
816
+ description: The payee location
817
+ content:
818
+ application/json:
819
+ schema:
820
+ $ref: "#/components/schemas/PayeeLocationResponse"
821
+ "404":
822
+ description: The payee location was not found
823
+ content:
824
+ application/json:
825
+ schema:
826
+ $ref: "#/components/schemas/ErrorResponse"
827
+ /plans/{plan_id}/payees/{payee_id}/payee_locations:
828
+ get:
829
+ tags:
830
+ - Payee Locations
831
+ summary: Get all locations for a payee
832
+ description: Returns all payee locations for a specified payee
833
+ operationId: getPayeeLocationsByPayee
834
+ parameters:
835
+ - name: plan_id
836
+ in: path
837
+ description: 'The id of the plan. "last-used" can be used to specify the last
838
+ used plan and "default" can be used if default plan selection is
839
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
840
+ required: true
841
+ schema:
842
+ type: string
843
+ - name: payee_id
844
+ in: path
845
+ description: id of payee
846
+ required: true
847
+ schema:
848
+ type: string
849
+ responses:
850
+ "200":
851
+ description: The list of requested payee locations
852
+ content:
853
+ application/json:
854
+ schema:
855
+ $ref: "#/components/schemas/PayeeLocationsResponse"
856
+ "404":
857
+ description: No payees locations were found
858
+ content:
859
+ application/json:
860
+ schema:
861
+ $ref: "#/components/schemas/ErrorResponse"
862
+ /plans/{plan_id}/months:
863
+ get:
864
+ tags:
865
+ - Months
866
+ summary: Get all plan months
867
+ description: Returns all plan months
868
+ operationId: getPlanMonths
869
+ parameters:
870
+ - name: plan_id
871
+ in: path
872
+ description: 'The id of the plan. "last-used" can be used to specify the last
873
+ used plan and "default" can be used if default plan selection is
874
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
875
+ required: true
876
+ schema:
877
+ type: string
878
+ - name: last_knowledge_of_server
879
+ in: query
880
+ description: The starting server knowledge. If provided, only entities that
881
+ have changed since `last_knowledge_of_server` will be included.
882
+ schema:
883
+ type: integer
884
+ format: int64
885
+ responses:
886
+ "200":
887
+ description: The list of plan months
888
+ content:
889
+ application/json:
890
+ schema:
891
+ $ref: "#/components/schemas/MonthSummariesResponse"
892
+ "404":
893
+ description: No plan months were found
894
+ content:
895
+ application/json:
896
+ schema:
897
+ $ref: "#/components/schemas/ErrorResponse"
898
+ /plans/{plan_id}/months/{month}:
899
+ get:
900
+ tags:
901
+ - Months
902
+ summary: Get a plan month
903
+ description: Returns a single plan month
904
+ operationId: getPlanMonth
905
+ parameters:
906
+ - name: plan_id
907
+ in: path
908
+ description: 'The id of the plan. "last-used" can be used to specify the last
909
+ used plan and "default" can be used if default plan selection is
910
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
911
+ required: true
912
+ schema:
913
+ type: string
914
+ - name: month
915
+ in: path
916
+ description: The plan month in ISO format (e.g. 2016-12-01) ("current" can also
917
+ be used to specify the current calendar month (UTC))
918
+ required: true
919
+ schema:
920
+ type: string
921
+ format: date
922
+ responses:
923
+ "200":
924
+ description: The plan month detail
925
+ content:
926
+ application/json:
927
+ schema:
928
+ $ref: "#/components/schemas/MonthDetailResponse"
929
+ "404":
930
+ description: The plan month was not found
931
+ content:
932
+ application/json:
933
+ schema:
934
+ $ref: "#/components/schemas/ErrorResponse"
935
+ /plans/{plan_id}/money_movements:
936
+ get:
937
+ tags:
938
+ - Money Movements
939
+ summary: Get all money movements
940
+ description: Returns all money movements
941
+ operationId: getMoneyMovements
942
+ parameters:
943
+ - name: plan_id
944
+ in: path
945
+ description: 'The id of the plan. "last-used" can be used to specify the last
946
+ used plan and "default" can be used if default plan selection is
947
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
948
+ required: true
949
+ schema:
950
+ type: string
951
+ responses:
952
+ "200":
953
+ description: The list of requested money movements
954
+ content:
955
+ application/json:
956
+ schema:
957
+ $ref: "#/components/schemas/MoneyMovementsResponse"
958
+ "404":
959
+ description: No money movements were found
960
+ content:
961
+ application/json:
962
+ schema:
963
+ $ref: "#/components/schemas/ErrorResponse"
964
+ /plans/{plan_id}/months/{month}/money_movements:
965
+ get:
966
+ tags:
967
+ - Money Movements
968
+ summary: Get money movements for a plan month
969
+ description: Returns all money movements for a specific month
970
+ operationId: getMoneyMovementsByMonth
971
+ parameters:
972
+ - name: plan_id
973
+ in: path
974
+ description: 'The id of the plan. "last-used" can be used to specify the last
975
+ used plan and "default" can be used if default plan selection is
976
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
977
+ required: true
978
+ schema:
979
+ type: string
980
+ - name: month
981
+ in: path
982
+ description: The plan month in ISO format (e.g. 2016-12-01) ("current" can also
983
+ be used to specify the current calendar month (UTC))
984
+ required: true
985
+ schema:
986
+ type: string
987
+ format: date
988
+ responses:
989
+ "200":
990
+ description: The list of requested money movements
991
+ content:
992
+ application/json:
993
+ schema:
994
+ $ref: "#/components/schemas/MoneyMovementsResponse"
995
+ "404":
996
+ description: No money movements were found
997
+ content:
998
+ application/json:
999
+ schema:
1000
+ $ref: "#/components/schemas/ErrorResponse"
1001
+ /plans/{plan_id}/money_movement_groups:
1002
+ get:
1003
+ tags:
1004
+ - Money Movements
1005
+ summary: Get all money movement groups
1006
+ description: Returns all money movement groups
1007
+ operationId: getMoneyMovementGroups
1008
+ parameters:
1009
+ - name: plan_id
1010
+ in: path
1011
+ description: 'The id of the plan. "last-used" can be used to specify the last
1012
+ used plan and "default" can be used if default plan selection is
1013
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1014
+ required: true
1015
+ schema:
1016
+ type: string
1017
+ responses:
1018
+ "200":
1019
+ description: The list of requested money movement groups
1020
+ content:
1021
+ application/json:
1022
+ schema:
1023
+ $ref: "#/components/schemas/MoneyMovementGroupsResponse"
1024
+ "404":
1025
+ description: No money movement groups were found
1026
+ content:
1027
+ application/json:
1028
+ schema:
1029
+ $ref: "#/components/schemas/ErrorResponse"
1030
+ /plans/{plan_id}/months/{month}/money_movement_groups:
1031
+ get:
1032
+ tags:
1033
+ - Money Movements
1034
+ summary: Get money movement groups for a plan month
1035
+ description: Returns all money movement groups for a specific month
1036
+ operationId: getMoneyMovementGroupsByMonth
1037
+ parameters:
1038
+ - name: plan_id
1039
+ in: path
1040
+ description: 'The id of the plan. "last-used" can be used to specify the last
1041
+ used plan and "default" can be used if default plan selection is
1042
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1043
+ required: true
1044
+ schema:
1045
+ type: string
1046
+ - name: month
1047
+ in: path
1048
+ description: The plan month in ISO format (e.g. 2016-12-01) ("current" can also
1049
+ be used to specify the current calendar month (UTC))
1050
+ required: true
1051
+ schema:
1052
+ type: string
1053
+ format: date
1054
+ responses:
1055
+ "200":
1056
+ description: The list of requested money movement groups
1057
+ content:
1058
+ application/json:
1059
+ schema:
1060
+ $ref: "#/components/schemas/MoneyMovementGroupsResponse"
1061
+ "404":
1062
+ description: No money movement groups were found
1063
+ content:
1064
+ application/json:
1065
+ schema:
1066
+ $ref: "#/components/schemas/ErrorResponse"
1067
+ /plans/{plan_id}/transactions:
1068
+ get:
1069
+ tags:
1070
+ - Transactions
1071
+ summary: Get transactions
1072
+ description: Returns plan transactions, excluding any pending transactions
1073
+ operationId: getTransactions
1074
+ parameters:
1075
+ - name: plan_id
1076
+ in: path
1077
+ description: 'The id of the plan. "last-used" can be used to specify the last
1078
+ used plan and "default" can be used if default plan selection is
1079
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1080
+ required: true
1081
+ schema:
1082
+ type: string
1083
+ - name: since_date
1084
+ in: query
1085
+ description: If specified, only transactions on or after this date will be
1086
+ included. The date should be ISO formatted (e.g. 2016-12-30).
1087
+ Defaults to one year ago when not specified.
1088
+ schema:
1089
+ type: string
1090
+ format: date
1091
+ - name: until_date
1092
+ in: query
1093
+ description: If specified, only transactions on or before this date will be
1094
+ included. The date should be ISO formatted (e.g. 2016-12-30).
1095
+ schema:
1096
+ type: string
1097
+ format: date
1098
+ - name: type
1099
+ in: query
1100
+ description: If specified, only transactions of the specified type will be
1101
+ included. "uncategorized" and "unapproved" are currently supported.
1102
+ schema:
1103
+ type: string
1104
+ enum:
1105
+ - uncategorized
1106
+ - unapproved
1107
+ - name: last_knowledge_of_server
1108
+ in: query
1109
+ description: The starting server knowledge. If provided, only entities that
1110
+ have changed since `last_knowledge_of_server` will be included.
1111
+ schema:
1112
+ type: integer
1113
+ format: int64
1114
+ responses:
1115
+ "200":
1116
+ description: The list of requested transactions
1117
+ content:
1118
+ application/json:
1119
+ schema:
1120
+ $ref: "#/components/schemas/TransactionsResponse"
1121
+ "400":
1122
+ description: An error occurred
1123
+ content:
1124
+ application/json:
1125
+ schema:
1126
+ $ref: "#/components/schemas/ErrorResponse"
1127
+ "404":
1128
+ description: No transactions were found
1129
+ content:
1130
+ application/json:
1131
+ schema:
1132
+ $ref: "#/components/schemas/ErrorResponse"
1133
+ post:
1134
+ tags:
1135
+ - Transactions
1136
+ summary: Create a single transaction or multiple transactions
1137
+ description: Creates a single transaction or multiple transactions. If you
1138
+ provide a body containing a `transaction` object, a single transaction
1139
+ will be created and if you provide a body containing a `transactions`
1140
+ array, multiple transactions will be created. Scheduled transactions
1141
+ (transactions with a future date) cannot be created on this endpoint.
1142
+ operationId: createTransaction
1143
+ parameters:
1144
+ - name: plan_id
1145
+ in: path
1146
+ description: 'The id of the plan. "last-used" can be used to specify the last
1147
+ used plan and "default" can be used if default plan selection is
1148
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1149
+ required: true
1150
+ schema:
1151
+ type: string
1152
+ requestBody:
1153
+ description: The transaction or transactions to create. To create a single
1154
+ transaction you can specify a value for the `transaction` object and
1155
+ to create multiple transactions you can specify an array of
1156
+ `transactions`. It is expected that you will only provide a value for
1157
+ one of these objects.
1158
+ content:
1159
+ application/json:
1160
+ schema:
1161
+ $ref: "#/components/schemas/PostTransactionsWrapper"
1162
+ required: true
1163
+ responses:
1164
+ "201":
1165
+ description: The transaction or transactions were successfully created
1166
+ content:
1167
+ application/json:
1168
+ schema:
1169
+ $ref: "#/components/schemas/SaveTransactionsResponse"
1170
+ "400":
1171
+ description: The request could not be understood due to malformed syntax or
1172
+ validation error(s).
1173
+ content:
1174
+ application/json:
1175
+ schema:
1176
+ $ref: "#/components/schemas/ErrorResponse"
1177
+ "409":
1178
+ description: A transaction on the same account with the same `import_id` already
1179
+ exists.
1180
+ content:
1181
+ application/json:
1182
+ schema:
1183
+ $ref: "#/components/schemas/ErrorResponse"
1184
+ x-codegen-request-body-name: data
1185
+ patch:
1186
+ tags:
1187
+ - Transactions
1188
+ summary: Update multiple transactions
1189
+ description: Updates multiple transactions, by `id` or `import_id`.
1190
+ operationId: updateTransactions
1191
+ parameters:
1192
+ - name: plan_id
1193
+ in: path
1194
+ description: 'The id of the plan. "last-used" can be used to specify the last
1195
+ used plan and "default" can be used if default plan selection is
1196
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1197
+ required: true
1198
+ schema:
1199
+ type: string
1200
+ requestBody:
1201
+ description: The transactions to update. Each transaction must have either an
1202
+ `id` or `import_id` specified. If `id` is specified as null an
1203
+ `import_id` value can be provided which will allow transaction(s) to
1204
+ be updated by its `import_id`. If an `id` is specified, it will always
1205
+ be used for lookup. You should not specify both `id` and
1206
+ `import_id`. Updating an `import_id` on an existing transaction is
1207
+ not allowed; if an `import_id` is specified, it will only be used to
1208
+ lookup the transaction.
1209
+ content:
1210
+ application/json:
1211
+ schema:
1212
+ $ref: "#/components/schemas/PatchTransactionsWrapper"
1213
+ required: true
1214
+ responses:
1215
+ "200":
1216
+ description: The transactions were successfully updated
1217
+ content:
1218
+ application/json:
1219
+ schema:
1220
+ $ref: "#/components/schemas/SaveTransactionsResponse"
1221
+ "400":
1222
+ description: The request could not be understood due to malformed syntax or
1223
+ validation error(s).
1224
+ content:
1225
+ application/json:
1226
+ schema:
1227
+ $ref: "#/components/schemas/ErrorResponse"
1228
+ x-codegen-request-body-name: data
1229
+ /plans/{plan_id}/transactions/import:
1230
+ post:
1231
+ tags:
1232
+ - Transactions
1233
+ summary: Import transactions
1234
+ description: Imports available transactions on all linked accounts for the given
1235
+ plan. Linked accounts allow transactions to be imported directly from a
1236
+ specified financial institution and this endpoint initiates that
1237
+ import. Sending a request to this endpoint is the equivalent of
1238
+ clicking "Import" on each account in the web application or tapping the
1239
+ "New Transactions" banner in the mobile applications. The response for
1240
+ this endpoint contains the transaction ids that have been imported.
1241
+ operationId: importTransactions
1242
+ parameters:
1243
+ - name: plan_id
1244
+ in: path
1245
+ description: 'The id of the plan. "last-used" can be used to specify the last
1246
+ used plan and "default" can be used if default plan selection is
1247
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1248
+ required: true
1249
+ schema:
1250
+ type: string
1251
+ responses:
1252
+ "200":
1253
+ description: The request was successful but there were no transactions to import
1254
+ content:
1255
+ application/json:
1256
+ schema:
1257
+ $ref: "#/components/schemas/TransactionsImportResponse"
1258
+ "201":
1259
+ description: One or more transactions were imported successfully
1260
+ content:
1261
+ application/json:
1262
+ schema:
1263
+ $ref: "#/components/schemas/TransactionsImportResponse"
1264
+ "400":
1265
+ description: The request could not be understood due to malformed syntax or
1266
+ validation error(s)
1267
+ content:
1268
+ application/json:
1269
+ schema:
1270
+ $ref: "#/components/schemas/ErrorResponse"
1271
+ /plans/{plan_id}/transactions/{transaction_id}:
1272
+ get:
1273
+ tags:
1274
+ - Transactions
1275
+ summary: Get a transaction
1276
+ description: Returns a single transaction
1277
+ operationId: getTransactionById
1278
+ parameters:
1279
+ - name: plan_id
1280
+ in: path
1281
+ description: 'The id of the plan. "last-used" can be used to specify the last
1282
+ used plan and "default" can be used if default plan selection is
1283
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1284
+ required: true
1285
+ schema:
1286
+ type: string
1287
+ - name: transaction_id
1288
+ in: path
1289
+ description: The id of the transaction
1290
+ required: true
1291
+ schema:
1292
+ type: string
1293
+ responses:
1294
+ "200":
1295
+ description: The requested transaction
1296
+ content:
1297
+ application/json:
1298
+ schema:
1299
+ $ref: "#/components/schemas/TransactionResponse"
1300
+ "404":
1301
+ description: The transaction was not found
1302
+ content:
1303
+ application/json:
1304
+ schema:
1305
+ $ref: "#/components/schemas/ErrorResponse"
1306
+ put:
1307
+ tags:
1308
+ - Transactions
1309
+ summary: Update a transaction
1310
+ description: Updates a single transaction
1311
+ operationId: updateTransaction
1312
+ parameters:
1313
+ - name: plan_id
1314
+ in: path
1315
+ description: 'The id of the plan. "last-used" can be used to specify the last
1316
+ used plan and "default" can be used if default plan selection is
1317
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1318
+ required: true
1319
+ schema:
1320
+ type: string
1321
+ - name: transaction_id
1322
+ in: path
1323
+ description: The id of the transaction
1324
+ required: true
1325
+ schema:
1326
+ type: string
1327
+ requestBody:
1328
+ description: The transaction to update
1329
+ content:
1330
+ application/json:
1331
+ schema:
1332
+ $ref: "#/components/schemas/PutTransactionWrapper"
1333
+ required: true
1334
+ responses:
1335
+ "200":
1336
+ description: The transaction was successfully updated
1337
+ content:
1338
+ application/json:
1339
+ schema:
1340
+ $ref: "#/components/schemas/TransactionResponse"
1341
+ "400":
1342
+ description: The request could not be understood due to malformed syntax or
1343
+ validation error(s)
1344
+ content:
1345
+ application/json:
1346
+ schema:
1347
+ $ref: "#/components/schemas/ErrorResponse"
1348
+ x-codegen-request-body-name: data
1349
+ delete:
1350
+ tags:
1351
+ - Transactions
1352
+ summary: Delete a transaction
1353
+ description: Deletes a transaction
1354
+ operationId: deleteTransaction
1355
+ parameters:
1356
+ - name: plan_id
1357
+ in: path
1358
+ description: 'The id of the plan. "last-used" can be used to specify the last
1359
+ used plan and "default" can be used if default plan selection is
1360
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1361
+ required: true
1362
+ schema:
1363
+ type: string
1364
+ - name: transaction_id
1365
+ in: path
1366
+ description: The id of the transaction
1367
+ required: true
1368
+ schema:
1369
+ type: string
1370
+ responses:
1371
+ "200":
1372
+ description: The transaction was successfully deleted
1373
+ content:
1374
+ application/json:
1375
+ schema:
1376
+ $ref: "#/components/schemas/TransactionResponse"
1377
+ "404":
1378
+ description: The transaction was not found
1379
+ content:
1380
+ application/json:
1381
+ schema:
1382
+ $ref: "#/components/schemas/ErrorResponse"
1383
+ /plans/{plan_id}/accounts/{account_id}/transactions:
1384
+ get:
1385
+ tags:
1386
+ - Transactions
1387
+ summary: Get account transactions
1388
+ description: Returns all transactions for a specified account, excluding any
1389
+ pending transactions
1390
+ operationId: getTransactionsByAccount
1391
+ parameters:
1392
+ - name: plan_id
1393
+ in: path
1394
+ description: 'The id of the plan. "last-used" can be used to specify the last
1395
+ used plan and "default" can be used if default plan selection is
1396
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1397
+ required: true
1398
+ schema:
1399
+ type: string
1400
+ - name: account_id
1401
+ in: path
1402
+ description: The id of the account
1403
+ required: true
1404
+ schema:
1405
+ type: string
1406
+ - name: since_date
1407
+ in: query
1408
+ description: If specified, only transactions on or after this date will be
1409
+ included. The date should be ISO formatted (e.g. 2016-12-30).
1410
+ Defaults to one year ago when not specified.
1411
+ schema:
1412
+ type: string
1413
+ format: date
1414
+ - name: until_date
1415
+ in: query
1416
+ description: If specified, only transactions on or before this date will be
1417
+ included. The date should be ISO formatted (e.g. 2016-12-30).
1418
+ schema:
1419
+ type: string
1420
+ format: date
1421
+ - name: type
1422
+ in: query
1423
+ description: If specified, only transactions of the specified type will be
1424
+ included. "uncategorized" and "unapproved" are currently supported.
1425
+ schema:
1426
+ type: string
1427
+ enum:
1428
+ - uncategorized
1429
+ - unapproved
1430
+ - name: last_knowledge_of_server
1431
+ in: query
1432
+ description: The starting server knowledge. If provided, only entities that
1433
+ have changed since `last_knowledge_of_server` will be included.
1434
+ schema:
1435
+ type: integer
1436
+ format: int64
1437
+ responses:
1438
+ "200":
1439
+ description: The list of requested transactions
1440
+ content:
1441
+ application/json:
1442
+ schema:
1443
+ $ref: "#/components/schemas/TransactionsResponse"
1444
+ "404":
1445
+ description: No transactions were found
1446
+ content:
1447
+ application/json:
1448
+ schema:
1449
+ $ref: "#/components/schemas/ErrorResponse"
1450
+ /plans/{plan_id}/categories/{category_id}/transactions:
1451
+ get:
1452
+ tags:
1453
+ - Transactions
1454
+ summary: Get category transactions
1455
+ description: Returns all transactions for a specified category, excluding any
1456
+ pending transactions
1457
+ operationId: getTransactionsByCategory
1458
+ parameters:
1459
+ - name: plan_id
1460
+ in: path
1461
+ description: 'The id of the plan. "last-used" can be used to specify the last
1462
+ used plan and "default" can be used if default plan selection is
1463
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1464
+ required: true
1465
+ schema:
1466
+ type: string
1467
+ - name: category_id
1468
+ in: path
1469
+ description: The id of the category
1470
+ required: true
1471
+ schema:
1472
+ type: string
1473
+ - name: since_date
1474
+ in: query
1475
+ description: If specified, only transactions on or after this date will be
1476
+ included. The date should be ISO formatted (e.g. 2016-12-30).
1477
+ Defaults to one year ago when not specified.
1478
+ schema:
1479
+ type: string
1480
+ format: date
1481
+ - name: until_date
1482
+ in: query
1483
+ description: If specified, only transactions on or before this date will be
1484
+ included. The date should be ISO formatted (e.g. 2016-12-30).
1485
+ schema:
1486
+ type: string
1487
+ format: date
1488
+ - name: type
1489
+ in: query
1490
+ description: If specified, only transactions of the specified type will be
1491
+ included. "uncategorized" and "unapproved" are currently supported.
1492
+ schema:
1493
+ type: string
1494
+ enum:
1495
+ - uncategorized
1496
+ - unapproved
1497
+ - name: last_knowledge_of_server
1498
+ in: query
1499
+ description: The starting server knowledge. If provided, only entities that
1500
+ have changed since `last_knowledge_of_server` will be included.
1501
+ schema:
1502
+ type: integer
1503
+ format: int64
1504
+ responses:
1505
+ "200":
1506
+ description: The list of requested transactions
1507
+ content:
1508
+ application/json:
1509
+ schema:
1510
+ $ref: "#/components/schemas/HybridTransactionsResponse"
1511
+ "404":
1512
+ description: No transactions were found
1513
+ content:
1514
+ application/json:
1515
+ schema:
1516
+ $ref: "#/components/schemas/ErrorResponse"
1517
+ /plans/{plan_id}/payees/{payee_id}/transactions:
1518
+ get:
1519
+ tags:
1520
+ - Transactions
1521
+ summary: Get payee transactions
1522
+ description: Returns all transactions for a specified payee, excluding any
1523
+ pending transactions
1524
+ operationId: getTransactionsByPayee
1525
+ parameters:
1526
+ - name: plan_id
1527
+ in: path
1528
+ description: 'The id of the plan. "last-used" can be used to specify the last
1529
+ used plan and "default" can be used if default plan selection is
1530
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1531
+ required: true
1532
+ schema:
1533
+ type: string
1534
+ - name: payee_id
1535
+ in: path
1536
+ description: The id of the payee
1537
+ required: true
1538
+ schema:
1539
+ type: string
1540
+ - name: since_date
1541
+ in: query
1542
+ description: If specified, only transactions on or after this date will be
1543
+ included. The date should be ISO formatted (e.g. 2016-12-30).
1544
+ Defaults to one year ago when not specified.
1545
+ schema:
1546
+ type: string
1547
+ format: date
1548
+ - name: until_date
1549
+ in: query
1550
+ description: If specified, only transactions on or before this date will be
1551
+ included. The date should be ISO formatted (e.g. 2016-12-30).
1552
+ schema:
1553
+ type: string
1554
+ format: date
1555
+ - name: type
1556
+ in: query
1557
+ description: If specified, only transactions of the specified type will be
1558
+ included. "uncategorized" and "unapproved" are currently supported.
1559
+ schema:
1560
+ type: string
1561
+ enum:
1562
+ - uncategorized
1563
+ - unapproved
1564
+ - name: last_knowledge_of_server
1565
+ in: query
1566
+ description: The starting server knowledge. If provided, only entities that
1567
+ have changed since `last_knowledge_of_server` will be included.
1568
+ schema:
1569
+ type: integer
1570
+ format: int64
1571
+ responses:
1572
+ "200":
1573
+ description: The list of requested transactions
1574
+ content:
1575
+ application/json:
1576
+ schema:
1577
+ $ref: "#/components/schemas/HybridTransactionsResponse"
1578
+ "404":
1579
+ description: No transactions were found
1580
+ content:
1581
+ application/json:
1582
+ schema:
1583
+ $ref: "#/components/schemas/ErrorResponse"
1584
+ /plans/{plan_id}/months/{month}/transactions:
1585
+ get:
1586
+ tags:
1587
+ - Transactions
1588
+ summary: Get plan month transactions
1589
+ description: Returns all transactions for a specified month, excluding any
1590
+ pending transactions
1591
+ operationId: getTransactionsByMonth
1592
+ parameters:
1593
+ - name: plan_id
1594
+ in: path
1595
+ description: 'The id of the plan. "last-used" can be used to specify the last
1596
+ used plan and "default" can be used if default plan selection is
1597
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1598
+ required: true
1599
+ schema:
1600
+ type: string
1601
+ - name: month
1602
+ in: path
1603
+ description: The plan month in ISO format (e.g. 2016-12-01) ("current" can also
1604
+ be used to specify the current calendar month (UTC))
1605
+ required: true
1606
+ schema:
1607
+ type: string
1608
+ - name: since_date
1609
+ in: query
1610
+ description: If specified, only transactions on or after this date will be
1611
+ included. The date should be ISO formatted (e.g. 2016-12-30).
1612
+ schema:
1613
+ type: string
1614
+ format: date
1615
+ - name: until_date
1616
+ in: query
1617
+ description: If specified, only transactions on or before this date will be
1618
+ included. The date should be ISO formatted (e.g. 2016-12-30).
1619
+ schema:
1620
+ type: string
1621
+ format: date
1622
+ - name: type
1623
+ in: query
1624
+ description: If specified, only transactions of the specified type will be
1625
+ included. "uncategorized" and "unapproved" are currently supported.
1626
+ schema:
1627
+ type: string
1628
+ enum:
1629
+ - uncategorized
1630
+ - unapproved
1631
+ - name: last_knowledge_of_server
1632
+ in: query
1633
+ description: The starting server knowledge. If provided, only entities that
1634
+ have changed since `last_knowledge_of_server` will be included.
1635
+ schema:
1636
+ type: integer
1637
+ format: int64
1638
+ responses:
1639
+ "200":
1640
+ description: The list of requested transactions
1641
+ content:
1642
+ application/json:
1643
+ schema:
1644
+ $ref: "#/components/schemas/TransactionsResponse"
1645
+ "404":
1646
+ description: No transactions were found
1647
+ content:
1648
+ application/json:
1649
+ schema:
1650
+ $ref: "#/components/schemas/ErrorResponse"
1651
+ /plans/{plan_id}/scheduled_transactions:
1652
+ get:
1653
+ tags:
1654
+ - Scheduled Transactions
1655
+ summary: Get all scheduled transactions
1656
+ description: Returns all scheduled transactions
1657
+ operationId: getScheduledTransactions
1658
+ parameters:
1659
+ - name: plan_id
1660
+ in: path
1661
+ description: 'The id of the plan. "last-used" can be used to specify the last
1662
+ used plan and "default" can be used if default plan selection is
1663
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1664
+ required: true
1665
+ schema:
1666
+ type: string
1667
+ - name: last_knowledge_of_server
1668
+ in: query
1669
+ description: The starting server knowledge. If provided, only entities that
1670
+ have changed since `last_knowledge_of_server` will be included.
1671
+ schema:
1672
+ type: integer
1673
+ format: int64
1674
+ responses:
1675
+ "200":
1676
+ description: The list of requested scheduled transactions
1677
+ content:
1678
+ application/json:
1679
+ schema:
1680
+ $ref: "#/components/schemas/ScheduledTransactionsResponse"
1681
+ "404":
1682
+ description: No scheduled transactions were found
1683
+ content:
1684
+ application/json:
1685
+ schema:
1686
+ $ref: "#/components/schemas/ErrorResponse"
1687
+ post:
1688
+ tags:
1689
+ - Scheduled Transactions
1690
+ summary: Create a scheduled transaction
1691
+ description: Creates a single scheduled transaction (a transaction with a future
1692
+ date).
1693
+ operationId: createScheduledTransaction
1694
+ parameters:
1695
+ - name: plan_id
1696
+ in: path
1697
+ description: 'The id of the plan. "last-used" can be used to specify the last
1698
+ used plan and "default" can be used if default plan selection is
1699
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1700
+ required: true
1701
+ schema:
1702
+ type: string
1703
+ requestBody:
1704
+ description: The scheduled transaction to create
1705
+ content:
1706
+ application/json:
1707
+ schema:
1708
+ $ref: "#/components/schemas/PostScheduledTransactionWrapper"
1709
+ required: true
1710
+ responses:
1711
+ "201":
1712
+ description: The scheduled transaction was successfully created
1713
+ content:
1714
+ application/json:
1715
+ schema:
1716
+ $ref: "#/components/schemas/ScheduledTransactionResponse"
1717
+ "400":
1718
+ description: The request could not be understood due to malformed syntax or
1719
+ validation error(s).
1720
+ content:
1721
+ application/json:
1722
+ schema:
1723
+ $ref: "#/components/schemas/ErrorResponse"
1724
+ x-codegen-request-body-name: data
1725
+ /plans/{plan_id}/scheduled_transactions/{scheduled_transaction_id}:
1726
+ get:
1727
+ tags:
1728
+ - Scheduled Transactions
1729
+ summary: Get a scheduled transaction
1730
+ description: Returns a single scheduled transaction
1731
+ operationId: getScheduledTransactionById
1732
+ parameters:
1733
+ - name: plan_id
1734
+ in: path
1735
+ description: 'The id of the plan. "last-used" can be used to specify the last
1736
+ used plan and "default" can be used if default plan selection is
1737
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1738
+ required: true
1739
+ schema:
1740
+ type: string
1741
+ - name: scheduled_transaction_id
1742
+ in: path
1743
+ description: The id of the scheduled transaction
1744
+ required: true
1745
+ schema:
1746
+ type: string
1747
+ responses:
1748
+ "200":
1749
+ description: The requested Scheduled Transaction
1750
+ content:
1751
+ application/json:
1752
+ schema:
1753
+ $ref: "#/components/schemas/ScheduledTransactionResponse"
1754
+ "404":
1755
+ description: The scheduled transaction was not found
1756
+ content:
1757
+ application/json:
1758
+ schema:
1759
+ $ref: "#/components/schemas/ErrorResponse"
1760
+ put:
1761
+ tags:
1762
+ - Scheduled Transactions
1763
+ summary: Update a scheduled transaction
1764
+ description: Updates a single scheduled transaction
1765
+ operationId: updateScheduledTransaction
1766
+ parameters:
1767
+ - name: plan_id
1768
+ in: path
1769
+ description: 'The id of the plan. "last-used" can be used to specify the last
1770
+ used plan and "default" can be used if default plan selection is
1771
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1772
+ required: true
1773
+ schema:
1774
+ type: string
1775
+ - name: scheduled_transaction_id
1776
+ in: path
1777
+ description: The id of the scheduled transaction
1778
+ required: true
1779
+ schema:
1780
+ type: string
1781
+ requestBody:
1782
+ description: The scheduled transaction to update
1783
+ content:
1784
+ application/json:
1785
+ schema:
1786
+ $ref: "#/components/schemas/PutScheduledTransactionWrapper"
1787
+ required: true
1788
+ responses:
1789
+ "200":
1790
+ description: The scheduled transaction was successfully updated
1791
+ content:
1792
+ application/json:
1793
+ schema:
1794
+ $ref: "#/components/schemas/ScheduledTransactionResponse"
1795
+ "400":
1796
+ description: The request could not be understood due to malformed syntax or
1797
+ validation error(s)
1798
+ content:
1799
+ application/json:
1800
+ schema:
1801
+ $ref: "#/components/schemas/ErrorResponse"
1802
+ delete:
1803
+ tags:
1804
+ - Scheduled Transactions
1805
+ summary: Delete a scheduled transaction
1806
+ description: Deletes a scheduled transaction
1807
+ operationId: deleteScheduledTransaction
1808
+ parameters:
1809
+ - name: plan_id
1810
+ in: path
1811
+ description: 'The id of the plan. "last-used" can be used to specify the last
1812
+ used plan and "default" can be used if default plan selection is
1813
+ enabled (see: https://api.ynab.com/#oauth-default-plan).'
1814
+ required: true
1815
+ schema:
1816
+ type: string
1817
+ - name: scheduled_transaction_id
1818
+ in: path
1819
+ description: The id of the scheduled transaction
1820
+ required: true
1821
+ schema:
1822
+ type: string
1823
+ responses:
1824
+ "200":
1825
+ description: The scheduled transaction was successfully deleted
1826
+ content:
1827
+ application/json:
1828
+ schema:
1829
+ $ref: "#/components/schemas/ScheduledTransactionResponse"
1830
+ "404":
1831
+ description: The scheduled transaction was not found
1832
+ content:
1833
+ application/json:
1834
+ schema:
1835
+ $ref: "#/components/schemas/ErrorResponse"
1836
+ components:
1837
+ schemas:
1838
+ ErrorResponse:
1839
+ required:
1840
+ - error
1841
+ type: object
1842
+ properties:
1843
+ error:
1844
+ $ref: "#/components/schemas/ErrorDetail"
1845
+ ErrorDetail:
1846
+ required:
1847
+ - detail
1848
+ - id
1849
+ - name
1850
+ type: object
1851
+ properties:
1852
+ id:
1853
+ type: string
1854
+ name:
1855
+ type: string
1856
+ detail:
1857
+ type: string
1858
+ UserResponse:
1859
+ required:
1860
+ - data
1861
+ type: object
1862
+ properties:
1863
+ data:
1864
+ required:
1865
+ - user
1866
+ type: object
1867
+ properties:
1868
+ user:
1869
+ $ref: "#/components/schemas/User"
1870
+ User:
1871
+ required:
1872
+ - id
1873
+ type: object
1874
+ properties:
1875
+ id:
1876
+ type: string
1877
+ format: uuid
1878
+ DateFormat:
1879
+ required:
1880
+ - format
1881
+ type:
1882
+ - object
1883
+ - "null"
1884
+ properties:
1885
+ format:
1886
+ type: string
1887
+ description: The date format setting for the plan. In some cases the format
1888
+ will not be available and will be specified as null.
1889
+ CurrencyFormat:
1890
+ required:
1891
+ - currency_symbol
1892
+ - decimal_digits
1893
+ - decimal_separator
1894
+ - display_symbol
1895
+ - example_format
1896
+ - group_separator
1897
+ - iso_code
1898
+ - symbol_first
1899
+ type:
1900
+ - object
1901
+ - "null"
1902
+ properties:
1903
+ iso_code:
1904
+ type: string
1905
+ example_format:
1906
+ type: string
1907
+ decimal_digits:
1908
+ type: integer
1909
+ format: int32
1910
+ decimal_separator:
1911
+ type: string
1912
+ symbol_first:
1913
+ type: boolean
1914
+ group_separator:
1915
+ type: string
1916
+ currency_symbol:
1917
+ type: string
1918
+ display_symbol:
1919
+ type: boolean
1920
+ description: The currency format setting for the plan. In some cases the format
1921
+ will not be available and will be specified as null.
1922
+ PlanSummaryResponse:
1923
+ required:
1924
+ - data
1925
+ type: object
1926
+ properties:
1927
+ data:
1928
+ required:
1929
+ - plans
1930
+ type: object
1931
+ properties:
1932
+ plans:
1933
+ type: array
1934
+ items:
1935
+ $ref: "#/components/schemas/PlanSummary"
1936
+ default_plan:
1937
+ allOf:
1938
+ - $ref: "#/components/schemas/PlanSummary"
1939
+ nullable: true
1940
+ PlanSummary:
1941
+ required:
1942
+ - id
1943
+ - name
1944
+ type: object
1945
+ properties:
1946
+ id:
1947
+ type: string
1948
+ format: uuid
1949
+ name:
1950
+ type: string
1951
+ last_modified_on:
1952
+ type: string
1953
+ description: The last time any changes were made to the plan from either a web
1954
+ or mobile client
1955
+ format: date-time
1956
+ first_month:
1957
+ type: string
1958
+ description: The earliest plan month
1959
+ format: date
1960
+ last_month:
1961
+ type: string
1962
+ description: The latest plan month
1963
+ format: date
1964
+ date_format:
1965
+ $ref: "#/components/schemas/DateFormat"
1966
+ currency_format:
1967
+ $ref: "#/components/schemas/CurrencyFormat"
1968
+ accounts:
1969
+ type: array
1970
+ description: The plan accounts (only included if `include_accounts=true`
1971
+ specified as query parameter)
1972
+ items:
1973
+ $ref: "#/components/schemas/Account"
1974
+ PlanDetailResponse:
1975
+ required:
1976
+ - data
1977
+ type: object
1978
+ properties:
1979
+ data:
1980
+ required:
1981
+ - plan
1982
+ - server_knowledge
1983
+ type: object
1984
+ properties:
1985
+ plan:
1986
+ $ref: "#/components/schemas/PlanDetail"
1987
+ server_knowledge:
1988
+ type: integer
1989
+ description: The knowledge of the server
1990
+ format: int64
1991
+ PlanDetail:
1992
+ allOf:
1993
+ - $ref: "#/components/schemas/PlanSummary"
1994
+ - type: object
1995
+ properties:
1996
+ accounts:
1997
+ type: array
1998
+ items:
1999
+ $ref: "#/components/schemas/AccountBase"
2000
+ payees:
2001
+ type: array
2002
+ items:
2003
+ $ref: "#/components/schemas/Payee"
2004
+ payee_locations:
2005
+ type: array
2006
+ items:
2007
+ $ref: "#/components/schemas/PayeeLocation"
2008
+ category_groups:
2009
+ type: array
2010
+ items:
2011
+ $ref: "#/components/schemas/CategoryGroup"
2012
+ categories:
2013
+ type: array
2014
+ items:
2015
+ $ref: "#/components/schemas/CategoryBase"
2016
+ months:
2017
+ type: array
2018
+ items:
2019
+ $ref: "#/components/schemas/MonthDetailBase"
2020
+ transactions:
2021
+ type: array
2022
+ items:
2023
+ $ref: "#/components/schemas/TransactionSummaryBase"
2024
+ subtransactions:
2025
+ type: array
2026
+ items:
2027
+ $ref: "#/components/schemas/SubTransactionBase"
2028
+ scheduled_transactions:
2029
+ type: array
2030
+ items:
2031
+ $ref: "#/components/schemas/ScheduledTransactionSummaryBase"
2032
+ scheduled_subtransactions:
2033
+ type: array
2034
+ items:
2035
+ $ref: "#/components/schemas/ScheduledSubTransactionBase"
2036
+ PlanSettingsResponse:
2037
+ required:
2038
+ - data
2039
+ type: object
2040
+ properties:
2041
+ data:
2042
+ required:
2043
+ - settings
2044
+ type: object
2045
+ properties:
2046
+ settings:
2047
+ $ref: "#/components/schemas/PlanSettings"
2048
+ PlanSettings:
2049
+ required:
2050
+ - currency_format
2051
+ - date_format
2052
+ type: object
2053
+ properties:
2054
+ date_format:
2055
+ $ref: "#/components/schemas/DateFormat"
2056
+ currency_format:
2057
+ $ref: "#/components/schemas/CurrencyFormat"
2058
+ AccountsResponse:
2059
+ required:
2060
+ - data
2061
+ type: object
2062
+ properties:
2063
+ data:
2064
+ required:
2065
+ - accounts
2066
+ - server_knowledge
2067
+ type: object
2068
+ properties:
2069
+ accounts:
2070
+ type: array
2071
+ items:
2072
+ $ref: "#/components/schemas/Account"
2073
+ server_knowledge:
2074
+ type: integer
2075
+ description: The knowledge of the server
2076
+ format: int64
2077
+ AccountResponse:
2078
+ required:
2079
+ - data
2080
+ type: object
2081
+ properties:
2082
+ data:
2083
+ required:
2084
+ - account
2085
+ type: object
2086
+ properties:
2087
+ account:
2088
+ $ref: "#/components/schemas/Account"
2089
+ AccountBase:
2090
+ required:
2091
+ - balance
2092
+ - cleared_balance
2093
+ - closed
2094
+ - deleted
2095
+ - id
2096
+ - name
2097
+ - on_budget
2098
+ - transfer_payee_id
2099
+ - type
2100
+ - uncleared_balance
2101
+ type: object
2102
+ properties:
2103
+ id:
2104
+ type: string
2105
+ format: uuid
2106
+ name:
2107
+ type: string
2108
+ type:
2109
+ $ref: "#/components/schemas/AccountType"
2110
+ on_budget:
2111
+ type: boolean
2112
+ description: Whether this account is "on budget" or not
2113
+ closed:
2114
+ type: boolean
2115
+ description: Whether this account is closed or not
2116
+ note:
2117
+ type:
2118
+ - string
2119
+ - "null"
2120
+ balance:
2121
+ type: integer
2122
+ description: The current available balance of the account in milliunits format
2123
+ format: int64
2124
+ cleared_balance:
2125
+ type: integer
2126
+ description: The current cleared balance of the account in milliunits format
2127
+ format: int64
2128
+ uncleared_balance:
2129
+ type: integer
2130
+ description: The current uncleared balance of the account in milliunits format
2131
+ format: int64
2132
+ transfer_payee_id:
2133
+ type:
2134
+ - string
2135
+ - "null"
2136
+ description: The payee id which should be used when transferring to this account
2137
+ format: uuid
2138
+ direct_import_linked:
2139
+ type: boolean
2140
+ description: Whether or not the account is linked to a financial institution for
2141
+ automatic transaction import.
2142
+ direct_import_in_error:
2143
+ type: boolean
2144
+ description: If an account linked to a financial institution
2145
+ (direct_import_linked=true) and the linked connection is not in a
2146
+ healthy state, this will be true.
2147
+ last_reconciled_at:
2148
+ type:
2149
+ - string
2150
+ - "null"
2151
+ description: A date/time specifying when the account was last reconciled.
2152
+ format: date-time
2153
+ debt_original_balance:
2154
+ type:
2155
+ - integer
2156
+ - "null"
2157
+ description: This field is deprecated and will always be null.
2158
+ format: int64
2159
+ debt_interest_rates:
2160
+ $ref: "#/components/schemas/LoanAccountPeriodicValue"
2161
+ debt_minimum_payments:
2162
+ $ref: "#/components/schemas/LoanAccountPeriodicValue"
2163
+ debt_escrow_amounts:
2164
+ $ref: "#/components/schemas/LoanAccountPeriodicValue"
2165
+ deleted:
2166
+ type: boolean
2167
+ description: Whether or not the account has been deleted. Deleted accounts will
2168
+ only be included in delta requests.
2169
+ Account:
2170
+ allOf:
2171
+ - $ref: "#/components/schemas/AccountBase"
2172
+ - type: object
2173
+ properties:
2174
+ balance_formatted:
2175
+ type: string
2176
+ description: The current available balance of the account formatted in the plan's currency format
2177
+ balance_currency:
2178
+ type: number
2179
+ format: double
2180
+ description: The current available balance of the account as a decimal currency amount
2181
+ cleared_balance_formatted:
2182
+ type: string
2183
+ description: The current cleared balance of the account formatted in the plan's currency format
2184
+ cleared_balance_currency:
2185
+ type: number
2186
+ format: double
2187
+ description: The current cleared balance of the account as a decimal currency amount
2188
+ uncleared_balance_formatted:
2189
+ type: string
2190
+ description: The current uncleared balance of the account formatted in the plan's currency format
2191
+ uncleared_balance_currency:
2192
+ type: number
2193
+ format: double
2194
+ description: The current uncleared balance of the account as a decimal currency amount
2195
+ PostAccountWrapper:
2196
+ required:
2197
+ - account
2198
+ type: object
2199
+ properties:
2200
+ account:
2201
+ $ref: "#/components/schemas/SaveAccount"
2202
+ SaveAccount:
2203
+ required:
2204
+ - balance
2205
+ - name
2206
+ - type
2207
+ type: object
2208
+ properties:
2209
+ name:
2210
+ type: string
2211
+ description: The name of the account
2212
+ type:
2213
+ $ref: "#/components/schemas/SaveAccountType"
2214
+ balance:
2215
+ type: integer
2216
+ description: The current balance of the account in milliunits format
2217
+ format: int64
2218
+ LoanAccountPeriodicValue:
2219
+ type:
2220
+ - object
2221
+ - "null"
2222
+ additionalProperties:
2223
+ type: integer
2224
+ format: int64
2225
+ SaveAccountType:
2226
+ type: string
2227
+ description: The type of account to create or update
2228
+ enum:
2229
+ - checking
2230
+ - savings
2231
+ - cash
2232
+ - creditCard
2233
+ - otherAsset
2234
+ - otherLiability
2235
+ AccountType:
2236
+ type: string
2237
+ description: The type of account
2238
+ enum:
2239
+ - checking
2240
+ - savings
2241
+ - cash
2242
+ - creditCard
2243
+ - lineOfCredit
2244
+ - otherAsset
2245
+ - otherLiability
2246
+ - mortgage
2247
+ - autoLoan
2248
+ - studentLoan
2249
+ - personalLoan
2250
+ - medicalDebt
2251
+ - otherDebt
2252
+ CategoriesResponse:
2253
+ required:
2254
+ - data
2255
+ type: object
2256
+ properties:
2257
+ data:
2258
+ required:
2259
+ - category_groups
2260
+ - server_knowledge
2261
+ type: object
2262
+ properties:
2263
+ category_groups:
2264
+ type: array
2265
+ items:
2266
+ $ref: "#/components/schemas/CategoryGroupWithCategories"
2267
+ server_knowledge:
2268
+ type: integer
2269
+ description: The knowledge of the server
2270
+ format: int64
2271
+ CategoryResponse:
2272
+ required:
2273
+ - data
2274
+ type: object
2275
+ properties:
2276
+ data:
2277
+ required:
2278
+ - category
2279
+ type: object
2280
+ properties:
2281
+ category:
2282
+ $ref: "#/components/schemas/Category"
2283
+ CategoryGroupWithCategories:
2284
+ allOf:
2285
+ - $ref: "#/components/schemas/CategoryGroup"
2286
+ - required:
2287
+ - categories
2288
+ type: object
2289
+ properties:
2290
+ categories:
2291
+ type: array
2292
+ description: Category group categories. Amounts (assigned, activity, available,
2293
+ etc.) are specific to the current plan month (UTC).
2294
+ items:
2295
+ $ref: "#/components/schemas/Category"
2296
+ CategoryGroup:
2297
+ required:
2298
+ - deleted
2299
+ - hidden
2300
+ - internal
2301
+ - id
2302
+ - name
2303
+ type: object
2304
+ properties:
2305
+ id:
2306
+ type: string
2307
+ format: uuid
2308
+ name:
2309
+ type: string
2310
+ hidden:
2311
+ type: boolean
2312
+ description: Whether or not the category group is hidden
2313
+ internal:
2314
+ type: boolean
2315
+ description: Whether or not the category group is internal
2316
+ deleted:
2317
+ type: boolean
2318
+ description: Whether or not the category group has been deleted. Deleted
2319
+ category groups will only be included in delta requests.
2320
+ CategoryBase:
2321
+ required:
2322
+ - activity
2323
+ - balance
2324
+ - budgeted
2325
+ - category_group_id
2326
+ - deleted
2327
+ - hidden
2328
+ - internal
2329
+ - id
2330
+ - name
2331
+ type: object
2332
+ properties:
2333
+ id:
2334
+ type: string
2335
+ format: uuid
2336
+ category_group_id:
2337
+ type: string
2338
+ format: uuid
2339
+ category_group_name:
2340
+ type: string
2341
+ name:
2342
+ type: string
2343
+ hidden:
2344
+ type: boolean
2345
+ description: Whether or not the category is hidden
2346
+ internal:
2347
+ type: boolean
2348
+ description: Whether or not the category is internal
2349
+ original_category_group_id:
2350
+ type:
2351
+ - string
2352
+ - "null"
2353
+ description: "DEPRECATED: No longer used. Value will always be null."
2354
+ format: uuid
2355
+ note:
2356
+ type:
2357
+ - string
2358
+ - "null"
2359
+ budgeted:
2360
+ type: integer
2361
+ description: Assigned (budgeted) amount in milliunits format
2362
+ format: int64
2363
+ activity:
2364
+ type: integer
2365
+ description: Activity amount in milliunits format
2366
+ format: int64
2367
+ balance:
2368
+ type: integer
2369
+ description: Available balance in milliunits format
2370
+ format: int64
2371
+ goal_type:
2372
+ type:
2373
+ - string
2374
+ - "null"
2375
+ description: The type of goal, if the category has a goal (TB='Target Category
2376
+ Balance', TBD='Target Category Balance by Date', MF='Monthly
2377
+ Funding', NEED='Plan Your Spending')
2378
+ enum:
2379
+ - TB
2380
+ - TBD
2381
+ - MF
2382
+ - NEED
2383
+ - DEBT
2384
+ - null
2385
+ goal_needs_whole_amount:
2386
+ type:
2387
+ - boolean
2388
+ - "null"
2389
+ description: Indicates the monthly rollover behavior for "NEED"-type goals. When
2390
+ "true", the goal will always ask for the target amount in the new
2391
+ month ("Set Aside"). When "false", previous month category funding
2392
+ is used ("Refill"). For other goal types, this field will be null.
2393
+ default: null
2394
+ goal_day:
2395
+ type:
2396
+ - integer
2397
+ - "null"
2398
+ description: A day offset modifier for the goal's due date. When goal_cadence is
2399
+ 2 (Weekly), this value specifies which day of the week the goal is
2400
+ due (0 = Sunday, 6 = Saturday). Otherwise, this value specifies
2401
+ which day of the month the goal is due (1 = 1st, 31 = 31st, null =
2402
+ Last day of Month).
2403
+ format: int32
2404
+ goal_cadence:
2405
+ type:
2406
+ - integer
2407
+ - "null"
2408
+ description: The goal cadence. Value in range 0-14. There are two subsets of
2409
+ these values which behave differently. For values 0, 1, 2, and 13,
2410
+ the goal's due date repeats every goal_cadence *
2411
+ goal_cadence_frequency, where 0 = None, 1 = Monthly, 2 = Weekly, and
2412
+ 13 = Yearly. For example, goal_cadence 1 with goal_cadence_frequency
2413
+ 2 means the goal is due every other month. For values 3-12 and 14,
2414
+ goal_cadence_frequency is ignored and the goal's due date repeats
2415
+ every goal_cadence, where 3 = Every 2 Months, 4 = Every 3 Months,
2416
+ ..., 12 = Every 11 Months, and 14 = Every 2 Years.
2417
+ format: int32
2418
+ goal_cadence_frequency:
2419
+ type:
2420
+ - integer
2421
+ - "null"
2422
+ description: The goal cadence frequency. When goal_cadence is 0, 1, 2, or 13, a
2423
+ goal's due date repeats every goal_cadence * goal_cadence_frequency.
2424
+ For example, goal_cadence 1 with goal_cadence_frequency 2 means the
2425
+ goal is due every other month. When goal_cadence is 3-12 or 14,
2426
+ goal_cadence_frequency is ignored.
2427
+ format: int32
2428
+ goal_creation_month:
2429
+ type:
2430
+ - string
2431
+ - "null"
2432
+ description: The month a goal was created
2433
+ format: date
2434
+ goal_target:
2435
+ type:
2436
+ - integer
2437
+ - "null"
2438
+ description: The goal target amount in milliunits
2439
+ format: int64
2440
+ goal_target_month:
2441
+ type:
2442
+ - string
2443
+ - "null"
2444
+ description: "DEPRECATED: No longer used. Use `goal_target_date` instead."
2445
+ format: date
2446
+ goal_target_date:
2447
+ type:
2448
+ - string
2449
+ - "null"
2450
+ description: The target date for the goal to be completed. Only some goal types
2451
+ specify this date.
2452
+ format: date
2453
+ goal_percentage_complete:
2454
+ type:
2455
+ - integer
2456
+ - "null"
2457
+ description: The percentage completion of the goal
2458
+ format: int32
2459
+ goal_months_to_budget:
2460
+ type:
2461
+ - integer
2462
+ - "null"
2463
+ description: The number of months, including the current month, left in the
2464
+ current goal period.
2465
+ format: int32
2466
+ goal_under_funded:
2467
+ type:
2468
+ - integer
2469
+ - "null"
2470
+ description: The amount of funding still needed in the current month to stay on
2471
+ track towards completing the goal within the current goal period.
2472
+ This amount will generally correspond to the 'Underfunded' amount in
2473
+ the web and mobile clients except when viewing a category with a
2474
+ Needed for Spending Goal in a future month. The web and mobile
2475
+ clients will ignore any funding from a prior goal period when
2476
+ viewing category with a Needed for Spending Goal in a future month.
2477
+ format: int64
2478
+ goal_overall_funded:
2479
+ type:
2480
+ - integer
2481
+ - "null"
2482
+ description: The total amount funded towards the goal within the current goal
2483
+ period.
2484
+ format: int64
2485
+ goal_overall_left:
2486
+ type:
2487
+ - integer
2488
+ - "null"
2489
+ description: The amount of funding still needed to complete the goal within the
2490
+ current goal period.
2491
+ format: int64
2492
+ goal_snoozed_at:
2493
+ type:
2494
+ - string
2495
+ - "null"
2496
+ description: The date/time the goal was snoozed. If the goal is not snoozed,
2497
+ this will be null.
2498
+ format: date-time
2499
+ deleted:
2500
+ type: boolean
2501
+ description: Whether or not the category has been deleted. Deleted categories
2502
+ will only be included in delta requests.
2503
+ Category:
2504
+ allOf:
2505
+ - $ref: "#/components/schemas/CategoryBase"
2506
+ - type: object
2507
+ properties:
2508
+ balance_formatted:
2509
+ type: string
2510
+ description: Available balance of the category formatted in the plan's currency format
2511
+ balance_currency:
2512
+ type: number
2513
+ format: double
2514
+ description: Available balance of the category as a decimal currency amount
2515
+ activity_formatted:
2516
+ type: string
2517
+ description: Activity of the category formatted in the plan's currency format
2518
+ activity_currency:
2519
+ type: number
2520
+ format: double
2521
+ description: Activity of the category as a decimal currency amount
2522
+ budgeted_formatted:
2523
+ type: string
2524
+ description: Assigned (budgeted) amount of the category formatted in the plan's currency format
2525
+ budgeted_currency:
2526
+ type: number
2527
+ format: double
2528
+ description: Assigned (budgeted) amount of the category as a decimal currency amount
2529
+ goal_target_formatted:
2530
+ type:
2531
+ - string
2532
+ - "null"
2533
+ description: The goal target amount formatted in the plan's currency format
2534
+ goal_target_currency:
2535
+ type:
2536
+ - number
2537
+ - "null"
2538
+ format: double
2539
+ description: The goal target amount as a decimal currency amount
2540
+ goal_under_funded_formatted:
2541
+ type:
2542
+ - string
2543
+ - "null"
2544
+ description: The goal underfunded amount formatted in the plan's currency format
2545
+ goal_under_funded_currency:
2546
+ type:
2547
+ - number
2548
+ - "null"
2549
+ format: double
2550
+ description: The goal underfunded amount as a decimal currency amount
2551
+ goal_overall_funded_formatted:
2552
+ type:
2553
+ - string
2554
+ - "null"
2555
+ description: The total amount funded towards the goal formatted in the plan's currency format
2556
+ goal_overall_funded_currency:
2557
+ type:
2558
+ - number
2559
+ - "null"
2560
+ format: double
2561
+ description: The total amount funded towards the goal as a decimal currency amount
2562
+ goal_overall_left_formatted:
2563
+ type:
2564
+ - string
2565
+ - "null"
2566
+ description: The amount of funding still needed to complete the goal formatted in the plan's currency format
2567
+ goal_overall_left_currency:
2568
+ type:
2569
+ - number
2570
+ - "null"
2571
+ format: double
2572
+ description: The amount of funding still needed to complete the goal as a decimal currency amount
2573
+ SaveCategoryResponse:
2574
+ required:
2575
+ - data
2576
+ type: object
2577
+ properties:
2578
+ data:
2579
+ required:
2580
+ - category
2581
+ - server_knowledge
2582
+ type: object
2583
+ properties:
2584
+ category:
2585
+ $ref: "#/components/schemas/Category"
2586
+ server_knowledge:
2587
+ type: integer
2588
+ description: The knowledge of the server
2589
+ format: int64
2590
+ SaveCategoryGroupResponse:
2591
+ required:
2592
+ - data
2593
+ type: object
2594
+ properties:
2595
+ data:
2596
+ required:
2597
+ - category_group
2598
+ - server_knowledge
2599
+ type: object
2600
+ properties:
2601
+ category_group:
2602
+ $ref: "#/components/schemas/CategoryGroup"
2603
+ server_knowledge:
2604
+ type: integer
2605
+ description: The knowledge of the server
2606
+ format: int64
2607
+ PayeesResponse:
2608
+ required:
2609
+ - data
2610
+ type: object
2611
+ properties:
2612
+ data:
2613
+ required:
2614
+ - payees
2615
+ - server_knowledge
2616
+ type: object
2617
+ properties:
2618
+ payees:
2619
+ type: array
2620
+ items:
2621
+ $ref: "#/components/schemas/Payee"
2622
+ server_knowledge:
2623
+ type: integer
2624
+ description: The knowledge of the server
2625
+ format: int64
2626
+ PayeeResponse:
2627
+ required:
2628
+ - data
2629
+ type: object
2630
+ properties:
2631
+ data:
2632
+ required:
2633
+ - payee
2634
+ type: object
2635
+ properties:
2636
+ payee:
2637
+ $ref: "#/components/schemas/Payee"
2638
+ SavePayeeResponse:
2639
+ required:
2640
+ - data
2641
+ type: object
2642
+ properties:
2643
+ data:
2644
+ required:
2645
+ - payee
2646
+ - server_knowledge
2647
+ type: object
2648
+ properties:
2649
+ payee:
2650
+ $ref: "#/components/schemas/Payee"
2651
+ server_knowledge:
2652
+ type: integer
2653
+ description: The knowledge of the server
2654
+ format: int64
2655
+ Payee:
2656
+ required:
2657
+ - deleted
2658
+ - id
2659
+ - name
2660
+ type: object
2661
+ properties:
2662
+ id:
2663
+ type: string
2664
+ format: uuid
2665
+ name:
2666
+ type: string
2667
+ transfer_account_id:
2668
+ type:
2669
+ - string
2670
+ - "null"
2671
+ description: If a transfer payee, the `account_id` to which this payee transfers
2672
+ to
2673
+ deleted:
2674
+ type: boolean
2675
+ description: Whether or not the payee has been deleted. Deleted payees will
2676
+ only be included in delta requests.
2677
+ PayeeLocationsResponse:
2678
+ required:
2679
+ - data
2680
+ type: object
2681
+ properties:
2682
+ data:
2683
+ required:
2684
+ - payee_locations
2685
+ type: object
2686
+ properties:
2687
+ payee_locations:
2688
+ type: array
2689
+ items:
2690
+ $ref: "#/components/schemas/PayeeLocation"
2691
+ PayeeLocationResponse:
2692
+ required:
2693
+ - data
2694
+ type: object
2695
+ properties:
2696
+ data:
2697
+ required:
2698
+ - payee_location
2699
+ type: object
2700
+ properties:
2701
+ payee_location:
2702
+ $ref: "#/components/schemas/PayeeLocation"
2703
+ PayeeLocation:
2704
+ required:
2705
+ - deleted
2706
+ - id
2707
+ - latitude
2708
+ - longitude
2709
+ - payee_id
2710
+ type: object
2711
+ properties:
2712
+ id:
2713
+ type: string
2714
+ format: uuid
2715
+ payee_id:
2716
+ type: string
2717
+ format: uuid
2718
+ latitude:
2719
+ type: string
2720
+ longitude:
2721
+ type: string
2722
+ deleted:
2723
+ type: boolean
2724
+ description: Whether or not the payee location has been deleted. Deleted payee
2725
+ locations will only be included in delta requests.
2726
+ TransactionsResponse:
2727
+ required:
2728
+ - data
2729
+ type: object
2730
+ properties:
2731
+ data:
2732
+ required:
2733
+ - server_knowledge
2734
+ - transactions
2735
+ type: object
2736
+ properties:
2737
+ transactions:
2738
+ type: array
2739
+ items:
2740
+ $ref: "#/components/schemas/TransactionDetail"
2741
+ server_knowledge:
2742
+ type: integer
2743
+ description: The knowledge of the server
2744
+ format: int64
2745
+ HybridTransactionsResponse:
2746
+ required:
2747
+ - data
2748
+ type: object
2749
+ properties:
2750
+ data:
2751
+ required:
2752
+ - transactions
2753
+ type: object
2754
+ properties:
2755
+ transactions:
2756
+ type: array
2757
+ items:
2758
+ $ref: "#/components/schemas/HybridTransaction"
2759
+ server_knowledge:
2760
+ type: integer
2761
+ description: The knowledge of the server
2762
+ format: int64
2763
+ PutTransactionWrapper:
2764
+ required:
2765
+ - transaction
2766
+ type: object
2767
+ properties:
2768
+ transaction:
2769
+ $ref: "#/components/schemas/ExistingTransaction"
2770
+ PostTransactionsWrapper:
2771
+ type: object
2772
+ properties:
2773
+ transaction:
2774
+ $ref: "#/components/schemas/NewTransaction"
2775
+ transactions:
2776
+ type: array
2777
+ items:
2778
+ $ref: "#/components/schemas/NewTransaction"
2779
+ PatchTransactionsWrapper:
2780
+ required:
2781
+ - transactions
2782
+ type: object
2783
+ properties:
2784
+ transactions:
2785
+ type: array
2786
+ items:
2787
+ $ref: "#/components/schemas/SaveTransactionWithIdOrImportId"
2788
+ ExistingTransaction:
2789
+ allOf:
2790
+ - type: object
2791
+ - $ref: "#/components/schemas/SaveTransactionWithOptionalFields"
2792
+ NewTransaction:
2793
+ allOf:
2794
+ - $ref: "#/components/schemas/SaveTransactionWithOptionalFields"
2795
+ - type: object
2796
+ properties:
2797
+ import_id:
2798
+ maxLength: 36
2799
+ type:
2800
+ - string
2801
+ - "null"
2802
+ description: 'If specified, a new transaction will be assigned this `import_id`
2803
+ and considered "imported". We will also attempt to match this
2804
+ imported transaction to an existing "user-entered" transaction
2805
+ on the same account, with the same amount, and with a date +/-10
2806
+ days from the imported transaction date.<br><br>Transactions
2807
+ imported through File Based Import or Direct Import (not through
2808
+ the API) are assigned an import_id in the format:
2809
+ ''YNAB:[milliunit_amount]:[iso_date]:[occurrence]''. For example,
2810
+ a transaction dated 2015-12-30 in the amount of -$294.23 USD
2811
+ would have an import_id of ''YNAB:-294230:2015-12-30:1''. If a
2812
+ second transaction on the same account was imported and had the
2813
+ same date and same amount, its import_id would be
2814
+ ''YNAB:-294230:2015-12-30:2''. Using a consistent format will
2815
+ prevent duplicates through Direct Import and File Based
2816
+ Import.<br><br>If import_id is omitted or specified as null, the
2817
+ transaction will be treated as a "user-entered" transaction.
2818
+ As such, it will be eligible to be matched against transactions
2819
+ later being imported (via DI, FBI, or API).'
2820
+ SaveTransactionWithIdOrImportId:
2821
+ allOf:
2822
+ - type: object
2823
+ properties:
2824
+ id:
2825
+ type:
2826
+ - string
2827
+ - "null"
2828
+ description: If specified, this id will be used to lookup a transaction by its
2829
+ `id` for the purpose of updating the transaction itself. If not
2830
+ specified, an `import_id` should be supplied.
2831
+ import_id:
2832
+ maxLength: 36
2833
+ type:
2834
+ - string
2835
+ - "null"
2836
+ description: If specified, this id will be used to lookup a transaction by its
2837
+ `import_id` for the purpose of updating the transaction itself.
2838
+ If not specified, an `id` should be supplied. You may not
2839
+ provide both an `id` and an `import_id` and updating an
2840
+ `import_id` on an existing transaction is not allowed.
2841
+ - $ref: "#/components/schemas/SaveTransactionWithOptionalFields"
2842
+ SaveTransactionWithOptionalFields:
2843
+ type: object
2844
+ properties:
2845
+ account_id:
2846
+ type: string
2847
+ format: uuid
2848
+ date:
2849
+ type: string
2850
+ description: The transaction date in ISO format (e.g. 2016-12-01). Future dates
2851
+ (scheduled transactions) are not permitted. Split transaction dates
2852
+ cannot be changed and if a different date is supplied it will be
2853
+ ignored.
2854
+ format: date
2855
+ amount:
2856
+ type: integer
2857
+ description: The transaction amount in milliunits format. Split transaction
2858
+ amounts cannot be changed and if a different amount is supplied it
2859
+ will be ignored.
2860
+ format: int64
2861
+ payee_id:
2862
+ type:
2863
+ - string
2864
+ - "null"
2865
+ description: The payee for the transaction. To create a transfer between two
2866
+ accounts, use the account transfer payee pointing to the target
2867
+ account. Account transfer payees are specified as
2868
+ `transfer_payee_id` on the account resource.
2869
+ format: uuid
2870
+ payee_name:
2871
+ maxLength: 200
2872
+ type:
2873
+ - string
2874
+ - "null"
2875
+ description: The payee name. If a `payee_name` value is provided and `payee_id`
2876
+ has a null value, the `payee_name` value will be used to resolve the
2877
+ payee by either (1) a matching payee rename rule (only if
2878
+ `import_id` is also specified) or (2) a payee with the same name or
2879
+ (3) creation of a new payee.
2880
+ category_id:
2881
+ type:
2882
+ - string
2883
+ - "null"
2884
+ description: The category for the transaction. To configure a split
2885
+ transaction, you can specify null for `category_id` and provide a
2886
+ `subtransactions` array as part of the transaction object. If an
2887
+ existing transaction is a split, the `category_id` cannot be
2888
+ changed. Credit Card Payment categories are not permitted and will
2889
+ be ignored if supplied.
2890
+ format: uuid
2891
+ memo:
2892
+ maxLength: 500
2893
+ type:
2894
+ - string
2895
+ - "null"
2896
+ cleared:
2897
+ $ref: "#/components/schemas/TransactionClearedStatus"
2898
+ approved:
2899
+ type: boolean
2900
+ description: Whether or not the transaction is approved. If not supplied,
2901
+ transaction will be unapproved by default.
2902
+ flag_color:
2903
+ $ref: "#/components/schemas/TransactionFlagColor"
2904
+ subtransactions:
2905
+ type: array
2906
+ description: An array of subtransactions to configure a transaction as a split.
2907
+ Updating `subtransactions` on an existing split transaction is not
2908
+ supported and will return an error. Splits are not allowed on
2909
+ tracking accounts or on transfers between on-budget accounts; a
2910
+ transfer to a tracking account can be a split.
2911
+ items:
2912
+ $ref: "#/components/schemas/SaveSubTransaction"
2913
+ SaveSubTransaction:
2914
+ required:
2915
+ - amount
2916
+ type: object
2917
+ properties:
2918
+ amount:
2919
+ type: integer
2920
+ description: The subtransaction amount in milliunits format.
2921
+ format: int64
2922
+ payee_id:
2923
+ type:
2924
+ - string
2925
+ - "null"
2926
+ description: The payee for the subtransaction.
2927
+ format: uuid
2928
+ payee_name:
2929
+ maxLength: 200
2930
+ type:
2931
+ - string
2932
+ - "null"
2933
+ description: The payee name. If a `payee_name` value is provided and `payee_id`
2934
+ has a null value, the `payee_name` value will be used to resolve the
2935
+ payee by either (1) a matching payee rename rule (only if import_id
2936
+ is also specified on parent transaction) or (2) a payee with the
2937
+ same name or (3) creation of a new payee.
2938
+ category_id:
2939
+ type:
2940
+ - string
2941
+ - "null"
2942
+ description: The category for the subtransaction. Credit Card Payment
2943
+ categories are not permitted and will be ignored if supplied.
2944
+ format: uuid
2945
+ memo:
2946
+ maxLength: 500
2947
+ type:
2948
+ - string
2949
+ - "null"
2950
+ SaveTransactionsResponse:
2951
+ required:
2952
+ - data
2953
+ type: object
2954
+ properties:
2955
+ data:
2956
+ required:
2957
+ - server_knowledge
2958
+ - transaction_ids
2959
+ type: object
2960
+ properties:
2961
+ transaction_ids:
2962
+ type: array
2963
+ description: The transaction ids that were saved
2964
+ items:
2965
+ type: string
2966
+ transaction:
2967
+ $ref: "#/components/schemas/TransactionDetail"
2968
+ transactions:
2969
+ type: array
2970
+ description: If multiple transactions were specified, the transactions that were
2971
+ saved
2972
+ items:
2973
+ $ref: "#/components/schemas/TransactionDetail"
2974
+ duplicate_import_ids:
2975
+ type: array
2976
+ description: If multiple transactions were specified, a list of import_ids that
2977
+ were not created because of an existing `import_id` found on the
2978
+ same account
2979
+ items:
2980
+ type: string
2981
+ server_knowledge:
2982
+ type: integer
2983
+ description: The knowledge of the server
2984
+ format: int64
2985
+ TransactionResponse:
2986
+ required:
2987
+ - data
2988
+ type: object
2989
+ properties:
2990
+ data:
2991
+ required:
2992
+ - transaction
2993
+ - server_knowledge
2994
+ type: object
2995
+ properties:
2996
+ transaction:
2997
+ $ref: "#/components/schemas/TransactionDetail"
2998
+ server_knowledge:
2999
+ type: integer
3000
+ description: The knowledge of the server
3001
+ format: int64
3002
+ TransactionSummaryBase:
3003
+ required:
3004
+ - account_id
3005
+ - amount
3006
+ - approved
3007
+ - cleared
3008
+ - date
3009
+ - deleted
3010
+ - id
3011
+ type: object
3012
+ properties:
3013
+ id:
3014
+ type: string
3015
+ date:
3016
+ type: string
3017
+ description: The transaction date in ISO format (e.g. 2016-12-01)
3018
+ format: date
3019
+ amount:
3020
+ type: integer
3021
+ description: The transaction amount in milliunits format
3022
+ format: int64
3023
+ memo:
3024
+ type:
3025
+ - string
3026
+ - "null"
3027
+ cleared:
3028
+ $ref: "#/components/schemas/TransactionClearedStatus"
3029
+ approved:
3030
+ type: boolean
3031
+ description: Whether or not the transaction is approved
3032
+ flag_color:
3033
+ $ref: "#/components/schemas/TransactionFlagColor"
3034
+ flag_name:
3035
+ $ref: "#/components/schemas/TransactionFlagName"
3036
+ account_id:
3037
+ type: string
3038
+ format: uuid
3039
+ payee_id:
3040
+ type:
3041
+ - string
3042
+ - "null"
3043
+ format: uuid
3044
+ category_id:
3045
+ type:
3046
+ - string
3047
+ - "null"
3048
+ format: uuid
3049
+ transfer_account_id:
3050
+ type:
3051
+ - string
3052
+ - "null"
3053
+ description: If a transfer transaction, the account to which it transfers
3054
+ format: uuid
3055
+ transfer_transaction_id:
3056
+ type:
3057
+ - string
3058
+ - "null"
3059
+ description: If a transfer transaction, the id of transaction on the other side
3060
+ of the transfer
3061
+ matched_transaction_id:
3062
+ type:
3063
+ - string
3064
+ - "null"
3065
+ description: If transaction is matched, the id of the matched transaction
3066
+ import_id:
3067
+ type:
3068
+ - string
3069
+ - "null"
3070
+ description: "If the transaction was imported, this field is a unique (by
3071
+ account) import identifier. If this transaction was imported
3072
+ through File Based Import or Direct Import and not through the API,
3073
+ the import_id will have the format:
3074
+ 'YNAB:[milliunit_amount]:[iso_date]:[occurrence]'. For example, a
3075
+ transaction dated 2015-12-30 in the amount of -$294.23 USD would
3076
+ have an import_id of 'YNAB:-294230:2015-12-30:1'. If a second
3077
+ transaction on the same account was imported and had the same date
3078
+ and same amount, its import_id would be
3079
+ 'YNAB:-294230:2015-12-30:2'."
3080
+ import_payee_name:
3081
+ type:
3082
+ - string
3083
+ - "null"
3084
+ description: If the transaction was imported, the payee name that was used when
3085
+ importing and before applying any payee rename rules
3086
+ import_payee_name_original:
3087
+ type:
3088
+ - string
3089
+ - "null"
3090
+ description: If the transaction was imported, the original payee name as it
3091
+ appeared on the statement
3092
+ debt_transaction_type:
3093
+ type:
3094
+ - string
3095
+ - "null"
3096
+ description: If the transaction is a debt/loan account transaction, the type of
3097
+ transaction
3098
+ enum:
3099
+ - payment
3100
+ - refund
3101
+ - fee
3102
+ - interest
3103
+ - escrow
3104
+ - balanceAdjustment
3105
+ - credit
3106
+ - charge
3107
+ - null
3108
+ deleted:
3109
+ type: boolean
3110
+ description: Whether or not the transaction has been deleted. Deleted
3111
+ transactions will only be included in delta requests.
3112
+ TransactionSummary:
3113
+ allOf:
3114
+ - $ref: "#/components/schemas/TransactionSummaryBase"
3115
+ - type: object
3116
+ properties:
3117
+ amount_formatted:
3118
+ type: string
3119
+ description: The transaction amount formatted in the plan's currency format
3120
+ amount_currency:
3121
+ type: number
3122
+ format: double
3123
+ description: The transaction amount as a decimal currency amount
3124
+
3125
+ TransactionDetail:
3126
+ allOf:
3127
+ - $ref: "#/components/schemas/TransactionSummary"
3128
+ - required:
3129
+ - account_name
3130
+ - subtransactions
3131
+ type: object
3132
+ properties:
3133
+ account_name:
3134
+ type: string
3135
+ payee_name:
3136
+ type:
3137
+ - string
3138
+ - "null"
3139
+ category_name:
3140
+ type:
3141
+ - string
3142
+ - "null"
3143
+ description: The name of the category. If a split transaction, this will be
3144
+ 'Split'.
3145
+ subtransactions:
3146
+ type: array
3147
+ description: If a split transaction, the subtransactions.
3148
+ items:
3149
+ $ref: "#/components/schemas/SubTransaction"
3150
+ HybridTransaction:
3151
+ allOf:
3152
+ - $ref: "#/components/schemas/TransactionSummary"
3153
+ - required:
3154
+ - account_name
3155
+ - type
3156
+ type: object
3157
+ properties:
3158
+ type:
3159
+ type: string
3160
+ description: Whether the hybrid transaction represents a regular transaction or
3161
+ a subtransaction
3162
+ enum:
3163
+ - transaction
3164
+ - subtransaction
3165
+ parent_transaction_id:
3166
+ type:
3167
+ - string
3168
+ - "null"
3169
+ description: For subtransaction types, this is the id of the parent
3170
+ transaction. For transaction types, this id will be always be
3171
+ null.
3172
+ account_name:
3173
+ type: string
3174
+ payee_name:
3175
+ type:
3176
+ - string
3177
+ - "null"
3178
+ category_name:
3179
+ type: string
3180
+ description: The name of the category. If a split transaction, this will be
3181
+ 'Split'.
3182
+ PostPayeeWrapper:
3183
+ required:
3184
+ - payee
3185
+ type: object
3186
+ properties:
3187
+ payee:
3188
+ $ref: "#/components/schemas/PostPayee"
3189
+ PostPayee:
3190
+ required:
3191
+ - name
3192
+ type: object
3193
+ properties:
3194
+ name:
3195
+ type: string
3196
+ nullable: false
3197
+ maxLength: 500
3198
+ description: The name of the payee.
3199
+ PatchPayeeWrapper:
3200
+ required:
3201
+ - payee
3202
+ type: object
3203
+ properties:
3204
+ payee:
3205
+ $ref: "#/components/schemas/SavePayee"
3206
+ SavePayee:
3207
+ type: object
3208
+ properties:
3209
+ name:
3210
+ type: string
3211
+ nullable: false
3212
+ maxLength: 500
3213
+ description: The name of the payee.
3214
+ PostCategoryGroupWrapper:
3215
+ required:
3216
+ - category_group
3217
+ type: object
3218
+ properties:
3219
+ category_group:
3220
+ $ref: "#/components/schemas/SaveCategoryGroup"
3221
+ PatchCategoryGroupWrapper:
3222
+ required:
3223
+ - category_group
3224
+ type: object
3225
+ properties:
3226
+ category_group:
3227
+ $ref: "#/components/schemas/SaveCategoryGroup"
3228
+ SaveCategoryGroup:
3229
+ required:
3230
+ - name
3231
+ type: object
3232
+ properties:
3233
+ name:
3234
+ type: string
3235
+ description: The name of the category group. The name must be a maximum of 50
3236
+ characters.
3237
+ maxLength: 50
3238
+ PostCategoryWrapper:
3239
+ required:
3240
+ - category
3241
+ type: object
3242
+ properties:
3243
+ category:
3244
+ $ref: "#/components/schemas/NewCategory"
3245
+ PatchCategoryWrapper:
3246
+ required:
3247
+ - category
3248
+ type: object
3249
+ properties:
3250
+ category:
3251
+ $ref: "#/components/schemas/ExistingCategory"
3252
+ SaveCategory:
3253
+ type: object
3254
+ properties:
3255
+ name:
3256
+ type:
3257
+ - string
3258
+ - "null"
3259
+ note:
3260
+ type:
3261
+ - string
3262
+ - "null"
3263
+ category_group_id:
3264
+ type: string
3265
+ format: uuid
3266
+ description: The id of the category group to which this category belongs. An internal category group may not be specified.
3267
+ goal_target:
3268
+ type:
3269
+ - integer
3270
+ - "null"
3271
+ description: The goal target amount in milliunits format. If value is specified
3272
+ and goal has not already been configured for category, a monthly goal
3273
+ will be created for the category with this target amount. If goal_type is
3274
+ not specified, it will default to 'NEED', or to 'MF' for Credit Card Payment categories and
3275
+ 'DEBT' for categories paired to a loan account.
3276
+ When updating a category, passing null removes any existing target.
3277
+ format: int64
3278
+ goal_target_date:
3279
+ type:
3280
+ - string
3281
+ - "null"
3282
+ description: The goal target date in ISO format (e.g. 2016-12-01). Not supported for categories
3283
+ paired to a loan account.
3284
+ format: date
3285
+ goal_needs_whole_amount:
3286
+ type:
3287
+ - boolean
3288
+ - "null"
3289
+ description: Whether the goal requires the full target amount each period. Only supported for 'NEED' goals,
3290
+ and not supported for Credit Card Payment categories or categories paired to a loan account.
3291
+ When true, the goal is configured as 'Set aside another...'.
3292
+ When false, the goal is configured as 'Refill up to...'.
3293
+ goal_frequency:
3294
+ type: string
3295
+ enum:
3296
+ - monthly
3297
+ - weekly
3298
+ - yearly
3299
+ description: When specified, configures a recurring 'NEED' target of goal_target that repeats at this
3300
+ frequency, replacing any existing target. Requires goal_target. Cannot be combined with goal_target_date
3301
+ and is not supported for Credit Card Payment categories or categories paired to a loan account.
3302
+ Omit to leave an existing target's cadence unchanged.
3303
+ ExistingCategory:
3304
+ allOf:
3305
+ - $ref: "#/components/schemas/SaveCategory"
3306
+ - type: object
3307
+ NewCategory:
3308
+ allOf:
3309
+ - $ref: "#/components/schemas/SaveCategory"
3310
+ - required:
3311
+ - name
3312
+ - category_group_id
3313
+ PatchMonthCategoryWrapper:
3314
+ required:
3315
+ - category
3316
+ type: object
3317
+ properties:
3318
+ category:
3319
+ $ref: "#/components/schemas/SaveMonthCategory"
3320
+ SaveMonthCategory:
3321
+ required:
3322
+ - budgeted
3323
+ type: object
3324
+ properties:
3325
+ budgeted:
3326
+ type: integer
3327
+ description: Assigned (budgeted) amount in milliunits format
3328
+ format: int64
3329
+ TransactionsImportResponse:
3330
+ required:
3331
+ - data
3332
+ type: object
3333
+ properties:
3334
+ data:
3335
+ required:
3336
+ - transaction_ids
3337
+ type: object
3338
+ properties:
3339
+ transaction_ids:
3340
+ type: array
3341
+ description: The list of transaction ids that were imported.
3342
+ items:
3343
+ type: string
3344
+ BulkResponse:
3345
+ required:
3346
+ - data
3347
+ type: object
3348
+ properties:
3349
+ data:
3350
+ required:
3351
+ - bulk
3352
+ type: object
3353
+ properties:
3354
+ bulk:
3355
+ required:
3356
+ - duplicate_import_ids
3357
+ - transaction_ids
3358
+ type: object
3359
+ properties:
3360
+ transaction_ids:
3361
+ type: array
3362
+ description: The list of Transaction ids that were created.
3363
+ items:
3364
+ type: string
3365
+ duplicate_import_ids:
3366
+ type: array
3367
+ description: If any Transactions were not created because they had an
3368
+ `import_id` matching a transaction already on the same
3369
+ account, the specified import_id(s) will be included in this
3370
+ list.
3371
+ items:
3372
+ type: string
3373
+ BulkTransactions:
3374
+ required:
3375
+ - transactions
3376
+ type: object
3377
+ properties:
3378
+ transactions:
3379
+ type: array
3380
+ items:
3381
+ $ref: "#/components/schemas/SaveTransactionWithOptionalFields"
3382
+ SubTransactionBase:
3383
+ required:
3384
+ - amount
3385
+ - deleted
3386
+ - id
3387
+ - transaction_id
3388
+ type: object
3389
+ properties:
3390
+ id:
3391
+ type: string
3392
+ transaction_id:
3393
+ type: string
3394
+ amount:
3395
+ type: integer
3396
+ description: The subtransaction amount in milliunits format
3397
+ format: int64
3398
+ memo:
3399
+ type:
3400
+ - string
3401
+ - "null"
3402
+ payee_id:
3403
+ type:
3404
+ - string
3405
+ - "null"
3406
+ format: uuid
3407
+ payee_name:
3408
+ type:
3409
+ - string
3410
+ - "null"
3411
+ category_id:
3412
+ type:
3413
+ - string
3414
+ - "null"
3415
+ format: uuid
3416
+ category_name:
3417
+ type:
3418
+ - string
3419
+ - "null"
3420
+ transfer_account_id:
3421
+ type:
3422
+ - string
3423
+ - "null"
3424
+ description: If a transfer, the account_id which the subtransaction transfers to
3425
+ format: uuid
3426
+ transfer_transaction_id:
3427
+ type:
3428
+ - string
3429
+ - "null"
3430
+ description: If a transfer, the id of transaction on the other side of the
3431
+ transfer
3432
+ deleted:
3433
+ type: boolean
3434
+ description: Whether or not the subtransaction has been deleted. Deleted
3435
+ subtransactions will only be included in delta requests.
3436
+ SubTransaction:
3437
+ allOf:
3438
+ - $ref: "#/components/schemas/SubTransactionBase"
3439
+ - type: object
3440
+ properties:
3441
+ amount_formatted:
3442
+ type: string
3443
+ description: The subtransaction amount formatted in the plan's currency format
3444
+ amount_currency:
3445
+ type: number
3446
+ format: double
3447
+ description: The subtransaction amount as a decimal currency amount
3448
+ ScheduledTransactionsResponse:
3449
+ required:
3450
+ - data
3451
+ type: object
3452
+ properties:
3453
+ data:
3454
+ required:
3455
+ - scheduled_transactions
3456
+ - server_knowledge
3457
+ type: object
3458
+ properties:
3459
+ scheduled_transactions:
3460
+ type: array
3461
+ items:
3462
+ $ref: "#/components/schemas/ScheduledTransactionDetail"
3463
+ server_knowledge:
3464
+ type: integer
3465
+ description: The knowledge of the server
3466
+ format: int64
3467
+ ScheduledTransactionResponse:
3468
+ required:
3469
+ - data
3470
+ type: object
3471
+ properties:
3472
+ data:
3473
+ required:
3474
+ - scheduled_transaction
3475
+ type: object
3476
+ properties:
3477
+ scheduled_transaction:
3478
+ $ref: "#/components/schemas/ScheduledTransactionDetail"
3479
+ PutScheduledTransactionWrapper:
3480
+ required:
3481
+ - scheduled_transaction
3482
+ type: object
3483
+ properties:
3484
+ scheduled_transaction:
3485
+ $ref: "#/components/schemas/SaveScheduledTransaction"
3486
+ PostScheduledTransactionWrapper:
3487
+ required:
3488
+ - scheduled_transaction
3489
+ type: object
3490
+ properties:
3491
+ scheduled_transaction:
3492
+ $ref: "#/components/schemas/SaveScheduledTransaction"
3493
+ SaveScheduledTransaction:
3494
+ required:
3495
+ - account_id
3496
+ - date
3497
+ type: object
3498
+ properties:
3499
+ account_id:
3500
+ type: string
3501
+ format: uuid
3502
+ date:
3503
+ type: string
3504
+ description: The scheduled transaction date in ISO format (e.g.
3505
+ 2016-12-01). This should be a future date no more than 5 years into
3506
+ the future.
3507
+ format: date
3508
+ amount:
3509
+ type: integer
3510
+ description: The scheduled transaction amount in milliunits format.
3511
+ format: int64
3512
+ payee_id:
3513
+ type:
3514
+ - string
3515
+ - "null"
3516
+ description: The payee for the scheduled transaction. To create a transfer
3517
+ between two accounts, use the account transfer payee pointing to the
3518
+ target account. Account transfer payees are specified as
3519
+ `transfer_payee_id` on the account resource.
3520
+ format: uuid
3521
+ payee_name:
3522
+ maxLength: 200
3523
+ type:
3524
+ - string
3525
+ - "null"
3526
+ description: The payee name for the the scheduled transaction. If a
3527
+ `payee_name` value is provided and `payee_id` has a null value, the
3528
+ `payee_name` value will be used to resolve the payee by either (1) a
3529
+ payee with the same name or (2) creation of a new payee.
3530
+ category_id:
3531
+ type:
3532
+ - string
3533
+ - "null"
3534
+ description: The category for the scheduled transaction. Credit Card Payment
3535
+ categories are not permitted. Creating a split scheduled transaction
3536
+ is not currently supported.
3537
+ format: uuid
3538
+ memo:
3539
+ maxLength: 500
3540
+ type:
3541
+ - string
3542
+ - "null"
3543
+ flag_color:
3544
+ $ref: "#/components/schemas/TransactionFlagColor"
3545
+ frequency:
3546
+ $ref: "#/components/schemas/ScheduledTransactionFrequency"
3547
+ ScheduledTransactionSummaryBase:
3548
+ required:
3549
+ - account_id
3550
+ - amount
3551
+ - date_first
3552
+ - date_next
3553
+ - deleted
3554
+ - frequency
3555
+ - id
3556
+ type: object
3557
+ properties:
3558
+ id:
3559
+ type: string
3560
+ format: uuid
3561
+ date_first:
3562
+ type: string
3563
+ description: The first date for which the Scheduled Transaction was scheduled.
3564
+ format: date
3565
+ date_next:
3566
+ type: string
3567
+ description: The next date for which the Scheduled Transaction is scheduled.
3568
+ format: date
3569
+ frequency:
3570
+ type: string
3571
+ enum:
3572
+ - never
3573
+ - daily
3574
+ - weekly
3575
+ - everyOtherWeek
3576
+ - twiceAMonth
3577
+ - every4Weeks
3578
+ - monthly
3579
+ - everyOtherMonth
3580
+ - every3Months
3581
+ - every4Months
3582
+ - twiceAYear
3583
+ - yearly
3584
+ - everyOtherYear
3585
+ amount:
3586
+ type: integer
3587
+ description: The scheduled transaction amount in milliunits format
3588
+ format: int64
3589
+ memo:
3590
+ type:
3591
+ - string
3592
+ - "null"
3593
+ flag_color:
3594
+ $ref: "#/components/schemas/TransactionFlagColor"
3595
+ flag_name:
3596
+ $ref: "#/components/schemas/TransactionFlagName"
3597
+ account_id:
3598
+ type: string
3599
+ format: uuid
3600
+ payee_id:
3601
+ type:
3602
+ - string
3603
+ - "null"
3604
+ format: uuid
3605
+ category_id:
3606
+ type:
3607
+ - string
3608
+ - "null"
3609
+ format: uuid
3610
+ transfer_account_id:
3611
+ type:
3612
+ - string
3613
+ - "null"
3614
+ description: If a transfer, the account_id which the scheduled transaction
3615
+ transfers to
3616
+ format: uuid
3617
+ deleted:
3618
+ type: boolean
3619
+ description: Whether or not the scheduled transaction has been deleted. Deleted
3620
+ scheduled transactions will only be included in delta requests.
3621
+ ScheduledTransactionSummary:
3622
+ allOf:
3623
+ - $ref: "#/components/schemas/ScheduledTransactionSummaryBase"
3624
+ - type: object
3625
+ properties:
3626
+ amount_formatted:
3627
+ type: string
3628
+ description: The scheduled transaction amount formatted in the plan's currency format
3629
+ amount_currency:
3630
+ type: number
3631
+ format: double
3632
+ description: The scheduled transaction amount as a decimal currency amount
3633
+ ScheduledTransactionDetail:
3634
+ allOf:
3635
+ - $ref: "#/components/schemas/ScheduledTransactionSummary"
3636
+ - required:
3637
+ - account_name
3638
+ - subtransactions
3639
+ type: object
3640
+ properties:
3641
+ account_name:
3642
+ type: string
3643
+ payee_name:
3644
+ type:
3645
+ - string
3646
+ - "null"
3647
+ category_name:
3648
+ type:
3649
+ - string
3650
+ - "null"
3651
+ description: The name of the category. If a split scheduled transaction, this
3652
+ will be 'Split'.
3653
+ subtransactions:
3654
+ type: array
3655
+ description: If a split scheduled transaction, the subtransactions.
3656
+ items:
3657
+ $ref: "#/components/schemas/ScheduledSubTransaction"
3658
+ ScheduledSubTransactionBase:
3659
+ required:
3660
+ - amount
3661
+ - deleted
3662
+ - id
3663
+ - scheduled_transaction_id
3664
+ type: object
3665
+ properties:
3666
+ id:
3667
+ type: string
3668
+ format: uuid
3669
+ scheduled_transaction_id:
3670
+ type: string
3671
+ format: uuid
3672
+ amount:
3673
+ type: integer
3674
+ description: The scheduled subtransaction amount in milliunits format
3675
+ format: int64
3676
+ memo:
3677
+ type:
3678
+ - string
3679
+ - "null"
3680
+ payee_id:
3681
+ type:
3682
+ - string
3683
+ - "null"
3684
+ format: uuid
3685
+ payee_name:
3686
+ type:
3687
+ - string
3688
+ - "null"
3689
+ category_id:
3690
+ type:
3691
+ - string
3692
+ - "null"
3693
+ format: uuid
3694
+ category_name:
3695
+ type:
3696
+ - string
3697
+ - "null"
3698
+ transfer_account_id:
3699
+ type:
3700
+ - string
3701
+ - "null"
3702
+ description: If a transfer, the account_id which the scheduled subtransaction
3703
+ transfers to
3704
+ format: uuid
3705
+ deleted:
3706
+ type: boolean
3707
+ description: Whether or not the scheduled subtransaction has been deleted.
3708
+ Deleted scheduled subtransactions will only be included in delta
3709
+ requests.
3710
+ ScheduledSubTransaction:
3711
+ allOf:
3712
+ - $ref: "#/components/schemas/ScheduledSubTransactionBase"
3713
+ - type: object
3714
+ properties:
3715
+ amount_formatted:
3716
+ type: string
3717
+ description: The scheduled subtransaction amount formatted in the plan's currency format
3718
+ amount_currency:
3719
+ type: number
3720
+ format: double
3721
+ description: The scheduled subtransaction amount as a decimal currency amount
3722
+ MonthSummariesResponse:
3723
+ required:
3724
+ - data
3725
+ type: object
3726
+ properties:
3727
+ data:
3728
+ required:
3729
+ - months
3730
+ - server_knowledge
3731
+ type: object
3732
+ properties:
3733
+ months:
3734
+ type: array
3735
+ items:
3736
+ $ref: "#/components/schemas/MonthSummary"
3737
+ server_knowledge:
3738
+ type: integer
3739
+ description: The knowledge of the server
3740
+ format: int64
3741
+ MonthDetailResponse:
3742
+ required:
3743
+ - data
3744
+ type: object
3745
+ properties:
3746
+ data:
3747
+ required:
3748
+ - month
3749
+ type: object
3750
+ properties:
3751
+ month:
3752
+ $ref: "#/components/schemas/MonthDetail"
3753
+ MonthSummaryBase:
3754
+ required:
3755
+ - activity
3756
+ - budgeted
3757
+ - deleted
3758
+ - income
3759
+ - month
3760
+ - to_be_budgeted
3761
+ type: object
3762
+ properties:
3763
+ month:
3764
+ type: string
3765
+ format: date
3766
+ note:
3767
+ type:
3768
+ - string
3769
+ - "null"
3770
+ income:
3771
+ type: integer
3772
+ description: "The total amount of transactions categorized to 'Inflow: Ready to
3773
+ Assign' in the month"
3774
+ format: int64
3775
+ budgeted:
3776
+ type: integer
3777
+ description: The total amount assigned (budgeted) in the month
3778
+ format: int64
3779
+ activity:
3780
+ type: integer
3781
+ description: "The total amount of transactions in the month, excluding those
3782
+ categorized to 'Inflow: Ready to Assign'"
3783
+ format: int64
3784
+ to_be_budgeted:
3785
+ type: integer
3786
+ description: The available amount for 'Ready to Assign'
3787
+ format: int64
3788
+ age_of_money:
3789
+ type:
3790
+ - integer
3791
+ - "null"
3792
+ description: The Age of Money as of the month
3793
+ format: int32
3794
+ deleted:
3795
+ type: boolean
3796
+ description: Whether or not the month has been deleted. Deleted months will
3797
+ only be included in delta requests.
3798
+ MonthSummary:
3799
+ allOf:
3800
+ - $ref: "#/components/schemas/MonthSummaryBase"
3801
+ - type: object
3802
+ properties:
3803
+ income_formatted:
3804
+ type: string
3805
+ description: The total income formatted in the plan's currency format
3806
+ income_currency:
3807
+ type: number
3808
+ format: double
3809
+ description: The total income as a decimal currency amount
3810
+ budgeted_formatted:
3811
+ type: string
3812
+ description: The total amount assigned formatted in the plan's currency format
3813
+ budgeted_currency:
3814
+ type: number
3815
+ format: double
3816
+ description: The total amount assigned as a decimal currency amount
3817
+ activity_formatted:
3818
+ type: string
3819
+ description: The total activity amount formatted in the plan's currency format
3820
+ activity_currency:
3821
+ type: number
3822
+ format: double
3823
+ description: The total activity amount as a decimal currency amount
3824
+ to_be_budgeted_formatted:
3825
+ type: string
3826
+ description: The available amount for 'Ready to Assign' formatted in the plan's currency format
3827
+ to_be_budgeted_currency:
3828
+ type: number
3829
+ format: double
3830
+ description: The available amount for 'Ready to Assign' as a decimal currency amount
3831
+ MonthDetailBase:
3832
+ allOf:
3833
+ - $ref: "#/components/schemas/MonthSummaryBase"
3834
+ - required:
3835
+ - categories
3836
+ type: object
3837
+ properties:
3838
+ categories:
3839
+ type: array
3840
+ description: The plan month categories. Amounts (budgeted, activity, balance,
3841
+ etc.) are specific to the {month} parameter specified.
3842
+ items:
3843
+ $ref: "#/components/schemas/CategoryBase"
3844
+ MonthDetail:
3845
+ allOf:
3846
+ - $ref: "#/components/schemas/MonthSummary"
3847
+ - required:
3848
+ - categories
3849
+ type: object
3850
+ properties:
3851
+ categories:
3852
+ type: array
3853
+ description: The plan month categories. Amounts (budgeted, activity, balance,
3854
+ etc.) are specific to the {month} parameter specified.
3855
+ items:
3856
+ $ref: "#/components/schemas/Category"
3857
+ TransactionFlagColor:
3858
+ type:
3859
+ - string
3860
+ - "null"
3861
+ description: The transaction flag
3862
+ enum:
3863
+ - red
3864
+ - orange
3865
+ - yellow
3866
+ - green
3867
+ - blue
3868
+ - purple
3869
+ - ""
3870
+ - null
3871
+ TransactionFlagName:
3872
+ type:
3873
+ - string
3874
+ - "null"
3875
+ description: The customized name of a transaction flag
3876
+ TransactionClearedStatus:
3877
+ type: string
3878
+ description: The cleared status of the transaction
3879
+ enum:
3880
+ - cleared
3881
+ - uncleared
3882
+ - reconciled
3883
+ ScheduledTransactionFrequency:
3884
+ type: string
3885
+ description: The scheduled transaction frequency
3886
+ enum:
3887
+ - never
3888
+ - daily
3889
+ - weekly
3890
+ - everyOtherWeek
3891
+ - twiceAMonth
3892
+ - every4Weeks
3893
+ - monthly
3894
+ - everyOtherMonth
3895
+ - every3Months
3896
+ - every4Months
3897
+ - twiceAYear
3898
+ - yearly
3899
+ - everyOtherYear
3900
+ MoneyMovementsResponse:
3901
+ required:
3902
+ - data
3903
+ type: object
3904
+ properties:
3905
+ data:
3906
+ required:
3907
+ - money_movements
3908
+ - server_knowledge
3909
+ type: object
3910
+ properties:
3911
+ money_movements:
3912
+ type: array
3913
+ items:
3914
+ $ref: "#/components/schemas/MoneyMovement"
3915
+ server_knowledge:
3916
+ type: integer
3917
+ description: The knowledge of the server
3918
+ format: int64
3919
+ MoneyMovementBase:
3920
+ required:
3921
+ - id
3922
+ - amount
3923
+ type: object
3924
+ properties:
3925
+ id:
3926
+ type: string
3927
+ format: uuid
3928
+ month:
3929
+ type:
3930
+ - string
3931
+ - "null"
3932
+ description: The month of the money movement in ISO format (e.g. 2024-01-01)
3933
+ format: date
3934
+ moved_at:
3935
+ type:
3936
+ - string
3937
+ - "null"
3938
+ description: The date/time the money movement was processed on the server in ISO
3939
+ format (e.g. 2024-01-01T12:00:00Z)
3940
+ format: date-time
3941
+ note:
3942
+ type:
3943
+ - string
3944
+ - "null"
3945
+ money_movement_group_id:
3946
+ type:
3947
+ - string
3948
+ - "null"
3949
+ description: The id of the money movement group this movement belongs to
3950
+ format: uuid
3951
+ performed_by_user_id:
3952
+ type:
3953
+ - string
3954
+ - "null"
3955
+ description: The id of the user who performed the money movement
3956
+ format: uuid
3957
+ from_category_id:
3958
+ type:
3959
+ - string
3960
+ - "null"
3961
+ description: The id of the category the money was moved from
3962
+ format: uuid
3963
+ to_category_id:
3964
+ type:
3965
+ - string
3966
+ - "null"
3967
+ description: The id of the category the money was moved to
3968
+ format: uuid
3969
+ amount:
3970
+ type: integer
3971
+ description: The amount of the money movement in milliunits format
3972
+ format: int64
3973
+ MoneyMovement:
3974
+ allOf:
3975
+ - $ref: "#/components/schemas/MoneyMovementBase"
3976
+ - type: object
3977
+ properties:
3978
+ amount_formatted:
3979
+ type: string
3980
+ description: The money movement amount formatted in the plan's currency format
3981
+ amount_currency:
3982
+ type: number
3983
+ format: double
3984
+ description: The money movement amount as a decimal currency amount
3985
+ MoneyMovementGroupsResponse:
3986
+ required:
3987
+ - data
3988
+ type: object
3989
+ properties:
3990
+ data:
3991
+ required:
3992
+ - money_movement_groups
3993
+ - server_knowledge
3994
+ type: object
3995
+ properties:
3996
+ money_movement_groups:
3997
+ type: array
3998
+ items:
3999
+ $ref: "#/components/schemas/MoneyMovementGroup"
4000
+ server_knowledge:
4001
+ type: integer
4002
+ description: The knowledge of the server
4003
+ format: int64
4004
+ MoneyMovementGroup:
4005
+ required:
4006
+ - id
4007
+ - group_created_at
4008
+ - month
4009
+ type: object
4010
+ properties:
4011
+ id:
4012
+ type: string
4013
+ format: uuid
4014
+ group_created_at:
4015
+ type: string
4016
+ description: When the money movement group was created
4017
+ format: date-time
4018
+ month:
4019
+ type: string
4020
+ description: The month of the money movement group in ISO format (e.g. 2024-01-01)
4021
+ format: date
4022
+ note:
4023
+ type:
4024
+ - string
4025
+ - "null"
4026
+ performed_by_user_id:
4027
+ type:
4028
+ - string
4029
+ - "null"
4030
+ description: The id of the user who performed the money movement group
4031
+ format: uuid
4032
+ securitySchemes:
4033
+ bearer:
4034
+ type: http
4035
+ scheme: bearer