moovio_sdk 0.12.0__py3-none-any.whl → 0.13.1__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 (99) hide show
  1. moovio_sdk/_version.py +3 -3
  2. moovio_sdk/account_terminal_applications.py +70 -186
  3. moovio_sdk/accounts.py +168 -408
  4. moovio_sdk/adjustments.py +28 -84
  5. moovio_sdk/apple_pay.py +102 -236
  6. moovio_sdk/authentication.py +50 -102
  7. moovio_sdk/avatars.py +10 -38
  8. moovio_sdk/bank_accounts.py +174 -420
  9. moovio_sdk/basesdk.py +4 -4
  10. moovio_sdk/branding.py +106 -198
  11. moovio_sdk/capabilities.py +76 -180
  12. moovio_sdk/card_issuing.py +94 -228
  13. moovio_sdk/cards.py +94 -232
  14. moovio_sdk/disputes.py +204 -500
  15. moovio_sdk/end_to_end_encryption.py +28 -80
  16. moovio_sdk/enriched_address.py +14 -44
  17. moovio_sdk/enriched_profile.py +14 -44
  18. moovio_sdk/fee_plans.py +116 -314
  19. moovio_sdk/files.py +52 -138
  20. moovio_sdk/industries.py +14 -44
  21. moovio_sdk/institutions.py +36 -92
  22. moovio_sdk/issuing_transactions.py +70 -220
  23. moovio_sdk/models/components/__init__.py +39 -0
  24. moovio_sdk/models/components/createticket.py +24 -0
  25. moovio_sdk/models/components/createticketcontacterror.py +17 -0
  26. moovio_sdk/models/components/ticket.py +44 -0
  27. moovio_sdk/models/components/ticketcontact.py +17 -0
  28. moovio_sdk/models/components/ticketmessage.py +21 -0
  29. moovio_sdk/models/components/ticketstatus.py +11 -0
  30. moovio_sdk/models/components/updateticket.py +19 -0
  31. moovio_sdk/models/components/updateticketstatus.py +8 -0
  32. moovio_sdk/models/errors/__init__.py +19 -0
  33. moovio_sdk/models/errors/accountterminalapplicationerror.py +11 -6
  34. moovio_sdk/models/errors/addcapabilitieserror.py +11 -6
  35. moovio_sdk/models/errors/apierror.py +30 -14
  36. moovio_sdk/models/errors/assigncountrieserror.py +12 -6
  37. moovio_sdk/models/errors/authtokenrequesterror.py +11 -6
  38. moovio_sdk/models/errors/bankaccountvalidationerror.py +11 -6
  39. moovio_sdk/models/errors/brandvalidationerror.py +11 -6
  40. moovio_sdk/models/errors/cardacquiringrefund.py +11 -6
  41. moovio_sdk/models/errors/createaccount.py +12 -6
  42. moovio_sdk/models/errors/createpaymentlinkerror.py +11 -6
  43. moovio_sdk/models/errors/createsweepconfigerror.py +11 -6
  44. moovio_sdk/models/errors/createticketerror.py +34 -0
  45. moovio_sdk/models/errors/feeplanagreementerror.py +11 -6
  46. moovio_sdk/models/errors/fileuploadvalidationerror.py +11 -6
  47. moovio_sdk/models/errors/filevalidationerror.py +11 -6
  48. moovio_sdk/models/errors/genericerror.py +12 -6
  49. moovio_sdk/models/errors/linkapplepayerror.py +11 -6
  50. moovio_sdk/models/errors/linkcarderror.py +11 -6
  51. moovio_sdk/models/errors/microdepositvalidationerror.py +11 -6
  52. moovio_sdk/models/errors/mooverror.py +26 -0
  53. moovio_sdk/models/errors/no_response_error.py +13 -0
  54. moovio_sdk/models/errors/onboardinginviteerror.py +11 -6
  55. moovio_sdk/models/errors/patchsweepconfigerror.py +11 -6
  56. moovio_sdk/models/errors/refundvalidationerror.py +11 -6
  57. moovio_sdk/models/errors/representativevalidationerror.py +11 -6
  58. moovio_sdk/models/errors/requestcarderror.py +11 -6
  59. moovio_sdk/models/errors/responsevalidationerror.py +25 -0
  60. moovio_sdk/models/errors/reversalvalidationerror.py +11 -6
  61. moovio_sdk/models/errors/revoketokenrequesterror.py +11 -6
  62. moovio_sdk/models/errors/schedulevalidationerror.py +11 -6
  63. moovio_sdk/models/errors/terminalapplicationerror.py +11 -6
  64. moovio_sdk/models/errors/transfer.py +11 -6
  65. moovio_sdk/models/errors/transferoptionsvalidationerror.py +11 -6
  66. moovio_sdk/models/errors/transfervalidationerror.py +11 -6
  67. moovio_sdk/models/errors/updateaccount.py +12 -6
  68. moovio_sdk/models/errors/updatecarderror.py +11 -6
  69. moovio_sdk/models/errors/updateissuedcarderror.py +11 -6
  70. moovio_sdk/models/errors/updatepaymentlinkerror.py +11 -6
  71. moovio_sdk/models/errors/updateticketerror.py +25 -0
  72. moovio_sdk/models/errors/updateunderwritingerror.py +11 -6
  73. moovio_sdk/models/errors/upsertunderwritingerror.py +11 -6
  74. moovio_sdk/models/operations/__init__.py +100 -0
  75. moovio_sdk/models/operations/createticket.py +78 -0
  76. moovio_sdk/models/operations/getticket.py +71 -0
  77. moovio_sdk/models/operations/listticketmessages.py +88 -0
  78. moovio_sdk/models/operations/listtickets.py +81 -0
  79. moovio_sdk/models/operations/updateticket.py +85 -0
  80. moovio_sdk/onboarding.py +66 -166
  81. moovio_sdk/payment_links.py +106 -272
  82. moovio_sdk/payment_methods.py +30 -86
  83. moovio_sdk/ping.py +10 -40
  84. moovio_sdk/receipts.py +36 -92
  85. moovio_sdk/representatives.py +102 -228
  86. moovio_sdk/scheduling.py +122 -278
  87. moovio_sdk/sdk.py +3 -0
  88. moovio_sdk/support.py +1153 -0
  89. moovio_sdk/sweeps.py +102 -274
  90. moovio_sdk/terminal_applications.py +74 -186
  91. moovio_sdk/transfers.py +266 -582
  92. moovio_sdk/underwriting.py +64 -146
  93. moovio_sdk/utils/__init__.py +3 -0
  94. moovio_sdk/utils/serializers.py +21 -3
  95. moovio_sdk/wallet_transactions.py +28 -88
  96. moovio_sdk/wallets.py +24 -84
  97. {moovio_sdk-0.12.0.dist-info → moovio_sdk-0.13.1.dist-info}/METADATA +103 -28
  98. {moovio_sdk-0.12.0.dist-info → moovio_sdk-0.13.1.dist-info}/RECORD +99 -80
  99. {moovio_sdk-0.12.0.dist-info → moovio_sdk-0.13.1.dist-info}/WHEEL +0 -0
moovio_sdk/wallets.py CHANGED
@@ -90,38 +90,23 @@ class Wallets(BaseSDK):
90
90
 
91
91
  if utils.match_response(http_res, "200", "application/json"):
92
92
  return operations.ListWalletsResponse(
93
- result=utils.unmarshal_json(http_res.text, List[components.Wallet]),
93
+ result=utils.unmarshal_json_response(List[components.Wallet], http_res),
94
94
  headers=utils.get_response_headers(http_res.headers),
95
95
  )
96
96
  if utils.match_response(http_res, ["401", "403", "429"], "*"):
97
97
  http_res_text = utils.stream_to_text(http_res)
98
- raise errors.APIError(
99
- "API error occurred", http_res.status_code, http_res_text, http_res
100
- )
98
+ raise errors.APIError("API error occurred", http_res, http_res_text)
101
99
  if utils.match_response(http_res, ["500", "504"], "*"):
102
100
  http_res_text = utils.stream_to_text(http_res)
103
- raise errors.APIError(
104
- "API error occurred", http_res.status_code, http_res_text, http_res
105
- )
101
+ raise errors.APIError("API error occurred", http_res, http_res_text)
106
102
  if utils.match_response(http_res, "4XX", "*"):
107
103
  http_res_text = utils.stream_to_text(http_res)
108
- raise errors.APIError(
109
- "API error occurred", http_res.status_code, http_res_text, http_res
110
- )
104
+ raise errors.APIError("API error occurred", http_res, http_res_text)
111
105
  if utils.match_response(http_res, "5XX", "*"):
112
106
  http_res_text = utils.stream_to_text(http_res)
113
- raise errors.APIError(
114
- "API error occurred", http_res.status_code, http_res_text, http_res
115
- )
107
+ raise errors.APIError("API error occurred", http_res, http_res_text)
116
108
 
117
- content_type = http_res.headers.get("Content-Type")
118
- http_res_text = utils.stream_to_text(http_res)
119
- raise errors.APIError(
120
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
121
- http_res.status_code,
122
- http_res_text,
123
- http_res,
124
- )
109
+ raise errors.APIError("Unexpected response received", http_res)
125
110
 
126
111
  async def list_async(
127
112
  self,
@@ -203,38 +188,23 @@ class Wallets(BaseSDK):
203
188
 
204
189
  if utils.match_response(http_res, "200", "application/json"):
205
190
  return operations.ListWalletsResponse(
206
- result=utils.unmarshal_json(http_res.text, List[components.Wallet]),
191
+ result=utils.unmarshal_json_response(List[components.Wallet], http_res),
207
192
  headers=utils.get_response_headers(http_res.headers),
208
193
  )
209
194
  if utils.match_response(http_res, ["401", "403", "429"], "*"):
210
195
  http_res_text = await utils.stream_to_text_async(http_res)
211
- raise errors.APIError(
212
- "API error occurred", http_res.status_code, http_res_text, http_res
213
- )
196
+ raise errors.APIError("API error occurred", http_res, http_res_text)
214
197
  if utils.match_response(http_res, ["500", "504"], "*"):
215
198
  http_res_text = await utils.stream_to_text_async(http_res)
216
- raise errors.APIError(
217
- "API error occurred", http_res.status_code, http_res_text, http_res
218
- )
199
+ raise errors.APIError("API error occurred", http_res, http_res_text)
219
200
  if utils.match_response(http_res, "4XX", "*"):
220
201
  http_res_text = await utils.stream_to_text_async(http_res)
221
- raise errors.APIError(
222
- "API error occurred", http_res.status_code, http_res_text, http_res
223
- )
202
+ raise errors.APIError("API error occurred", http_res, http_res_text)
224
203
  if utils.match_response(http_res, "5XX", "*"):
225
204
  http_res_text = await utils.stream_to_text_async(http_res)
226
- raise errors.APIError(
227
- "API error occurred", http_res.status_code, http_res_text, http_res
228
- )
205
+ raise errors.APIError("API error occurred", http_res, http_res_text)
229
206
 
230
- content_type = http_res.headers.get("Content-Type")
231
- http_res_text = await utils.stream_to_text_async(http_res)
232
- raise errors.APIError(
233
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
234
- http_res.status_code,
235
- http_res_text,
236
- http_res,
237
- )
207
+ raise errors.APIError("Unexpected response received", http_res)
238
208
 
239
209
  def get(
240
210
  self,
@@ -319,38 +289,23 @@ class Wallets(BaseSDK):
319
289
 
320
290
  if utils.match_response(http_res, "200", "application/json"):
321
291
  return operations.GetWalletResponse(
322
- result=utils.unmarshal_json(http_res.text, components.Wallet),
292
+ result=utils.unmarshal_json_response(components.Wallet, http_res),
323
293
  headers=utils.get_response_headers(http_res.headers),
324
294
  )
325
295
  if utils.match_response(http_res, ["401", "403", "404", "429"], "*"):
326
296
  http_res_text = utils.stream_to_text(http_res)
327
- raise errors.APIError(
328
- "API error occurred", http_res.status_code, http_res_text, http_res
329
- )
297
+ raise errors.APIError("API error occurred", http_res, http_res_text)
330
298
  if utils.match_response(http_res, ["500", "504"], "*"):
331
299
  http_res_text = utils.stream_to_text(http_res)
332
- raise errors.APIError(
333
- "API error occurred", http_res.status_code, http_res_text, http_res
334
- )
300
+ raise errors.APIError("API error occurred", http_res, http_res_text)
335
301
  if utils.match_response(http_res, "4XX", "*"):
336
302
  http_res_text = utils.stream_to_text(http_res)
337
- raise errors.APIError(
338
- "API error occurred", http_res.status_code, http_res_text, http_res
339
- )
303
+ raise errors.APIError("API error occurred", http_res, http_res_text)
340
304
  if utils.match_response(http_res, "5XX", "*"):
341
305
  http_res_text = utils.stream_to_text(http_res)
342
- raise errors.APIError(
343
- "API error occurred", http_res.status_code, http_res_text, http_res
344
- )
306
+ raise errors.APIError("API error occurred", http_res, http_res_text)
345
307
 
346
- content_type = http_res.headers.get("Content-Type")
347
- http_res_text = utils.stream_to_text(http_res)
348
- raise errors.APIError(
349
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
350
- http_res.status_code,
351
- http_res_text,
352
- http_res,
353
- )
308
+ raise errors.APIError("Unexpected response received", http_res)
354
309
 
355
310
  async def get_async(
356
311
  self,
@@ -435,35 +390,20 @@ class Wallets(BaseSDK):
435
390
 
436
391
  if utils.match_response(http_res, "200", "application/json"):
437
392
  return operations.GetWalletResponse(
438
- result=utils.unmarshal_json(http_res.text, components.Wallet),
393
+ result=utils.unmarshal_json_response(components.Wallet, http_res),
439
394
  headers=utils.get_response_headers(http_res.headers),
440
395
  )
441
396
  if utils.match_response(http_res, ["401", "403", "404", "429"], "*"):
442
397
  http_res_text = await utils.stream_to_text_async(http_res)
443
- raise errors.APIError(
444
- "API error occurred", http_res.status_code, http_res_text, http_res
445
- )
398
+ raise errors.APIError("API error occurred", http_res, http_res_text)
446
399
  if utils.match_response(http_res, ["500", "504"], "*"):
447
400
  http_res_text = await utils.stream_to_text_async(http_res)
448
- raise errors.APIError(
449
- "API error occurred", http_res.status_code, http_res_text, http_res
450
- )
401
+ raise errors.APIError("API error occurred", http_res, http_res_text)
451
402
  if utils.match_response(http_res, "4XX", "*"):
452
403
  http_res_text = await utils.stream_to_text_async(http_res)
453
- raise errors.APIError(
454
- "API error occurred", http_res.status_code, http_res_text, http_res
455
- )
404
+ raise errors.APIError("API error occurred", http_res, http_res_text)
456
405
  if utils.match_response(http_res, "5XX", "*"):
457
406
  http_res_text = await utils.stream_to_text_async(http_res)
458
- raise errors.APIError(
459
- "API error occurred", http_res.status_code, http_res_text, http_res
460
- )
407
+ raise errors.APIError("API error occurred", http_res, http_res_text)
461
408
 
462
- content_type = http_res.headers.get("Content-Type")
463
- http_res_text = await utils.stream_to_text_async(http_res)
464
- raise errors.APIError(
465
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
466
- http_res.status_code,
467
- http_res_text,
468
- http_res,
469
- )
409
+ raise errors.APIError("Unexpected response received", http_res)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: moovio_sdk
3
- Version: 0.12.0
3
+ Version: 0.13.1
4
4
  Summary: Python Client SDK Generated by Speakeasy.
5
5
  Author: Speakeasy
6
6
  Requires-Python: >=3.9.2
@@ -1007,6 +1007,29 @@ you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
1007
1007
  To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
1008
1008
  you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
1009
1009
 
1010
+ ### [support](https://github.com/moovfinancial/moov-python/blob/master/docs/sdks/support/README.md)
1011
+
1012
+ * [create_ticket](https://github.com/moovfinancial/moov-python/blob/master/docs/sdks/support/README.md#create_ticket) - Create a support ticket for a Moov account.
1013
+
1014
+ To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
1015
+ you'll need to specify the `/accounts/{accountID}/support.write` scope.
1016
+ * [list_tickets](https://github.com/moovfinancial/moov-python/blob/master/docs/sdks/support/README.md#list_tickets) - List all the support tickets created under a Moov account.
1017
+
1018
+ To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
1019
+ you'll need to specify the `/accounts/{accountID}/support.read` scope.
1020
+ * [get_ticket](https://github.com/moovfinancial/moov-python/blob/master/docs/sdks/support/README.md#get_ticket) - Retrieve a support ticket by ID.
1021
+
1022
+ To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
1023
+ you'll need to specify the `/accounts/{accountID}/support.read` scope.
1024
+ * [update_ticket](https://github.com/moovfinancial/moov-python/blob/master/docs/sdks/support/README.md#update_ticket) - Updates a support ticket.
1025
+
1026
+ To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
1027
+ you'll need to specify the `/accounts/{accountID}/support.write` scope.
1028
+ * [list_ticket_messages](https://github.com/moovfinancial/moov-python/blob/master/docs/sdks/support/README.md#list_ticket_messages) - List all the messages for a support ticket.
1029
+
1030
+ To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
1031
+ you'll need to specify the `/accounts/{accountID}/support.read` scope.
1032
+
1010
1033
  ### [sweeps](https://github.com/moovfinancial/moov-python/blob/master/docs/sdks/sweeps/README.md)
1011
1034
 
1012
1035
  * [create_config](https://github.com/moovfinancial/moov-python/blob/master/docs/sdks/sweeps/README.md#create_config) - Create a sweep config for a wallet.
@@ -1338,27 +1361,18 @@ with Moov(
1338
1361
  <!-- Start Error Handling [errors] -->
1339
1362
  ## Error Handling
1340
1363
 
1341
- Handling errors in this SDK should largely match your expectations. All operations return a response object or raise an exception.
1342
-
1343
- By default, an API error will raise a errors.APIError exception, which has the following properties:
1344
-
1345
- | Property | Type | Description |
1346
- |-----------------|------------------|-----------------------|
1347
- | `.status_code` | *int* | The HTTP status code |
1348
- | `.message` | *str* | The error message |
1349
- | `.raw_response` | *httpx.Response* | The raw HTTP response |
1350
- | `.body` | *str* | The response content |
1364
+ [`MoovError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/mooverror.py) is the base class for all HTTP error responses. It has the following properties:
1351
1365
 
1352
- When custom error responses are specified for an operation, the SDK may also raise their associated exceptions. You can refer to respective *Errors* tables in SDK docs for more details on possible exception types for each operation. For example, the `create_async` method may raise the following exceptions:
1353
-
1354
- | Error Type | Status Code | Content Type |
1355
- | -------------------------------- | ----------- | ---------------- |
1356
- | errors.GenericError | 400, 409 | application/json |
1357
- | errors.CreateAccountResponseBody | 422 | application/json |
1358
- | errors.APIError | 4XX, 5XX | \*/\* |
1366
+ | Property | Type | Description |
1367
+ | ------------------ | ---------------- | --------------------------------------------------------------------------------------- |
1368
+ | `err.message` | `str` | Error message |
1369
+ | `err.status_code` | `int` | HTTP response status code eg `404` |
1370
+ | `err.headers` | `httpx.Headers` | HTTP response headers |
1371
+ | `err.body` | `str` | HTTP body. Can be empty string if no body is returned. |
1372
+ | `err.raw_response` | `httpx.Response` | Raw HTTP response |
1373
+ | `err.data` | | Optional. Some errors may contain structured data. [See Error Classes](https://github.com/moovfinancial/moov-python/blob/master/#error-classes). |
1359
1374
 
1360
1375
  ### Example
1361
-
1362
1376
  ```python
1363
1377
  from moovio_sdk import Moov
1364
1378
  from moovio_sdk.models import components, errors
@@ -1412,16 +1426,77 @@ with Moov(
1412
1426
  # Handle response
1413
1427
  print(res)
1414
1428
 
1415
- except errors.GenericError as e:
1416
- # handle e.data: errors.GenericErrorData
1417
- raise(e)
1418
- except errors.CreateAccountResponseBody as e:
1419
- # handle e.data: errors.CreateAccountResponseBodyData
1420
- raise(e)
1421
- except errors.APIError as e:
1422
- # handle exception
1423
- raise(e)
1429
+
1430
+ except errors.MoovError as e:
1431
+ # The base class for HTTP error responses
1432
+ print(e.message)
1433
+ print(e.status_code)
1434
+ print(e.body)
1435
+ print(e.headers)
1436
+ print(e.raw_response)
1437
+
1438
+ # Depending on the method different errors may be thrown
1439
+ if isinstance(e, errors.GenericError):
1440
+ print(e.data.error) # str
1424
1441
  ```
1442
+
1443
+ ### Error Classes
1444
+ **Primary error:**
1445
+ * [`MoovError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/mooverror.py): The base class for HTTP error responses.
1446
+
1447
+ <details><summary>Less common errors (42)</summary>
1448
+
1449
+ <br />
1450
+
1451
+ **Network errors:**
1452
+ * [`httpx.RequestError`](https://www.python-httpx.org/exceptions/#httpx.RequestError): Base class for request errors.
1453
+ * [`httpx.ConnectError`](https://www.python-httpx.org/exceptions/#httpx.ConnectError): HTTP client was unable to make a request to a server.
1454
+ * [`httpx.TimeoutException`](https://www.python-httpx.org/exceptions/#httpx.TimeoutException): HTTP request timed out.
1455
+
1456
+
1457
+ **Inherit from [`MoovError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/mooverror.py)**:
1458
+ * [`GenericError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/genericerror.py): Applicable to 62 of 143 methods.*
1459
+ * [`BrandValidationError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/brandvalidationerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 3 of 143 methods.*
1460
+ * [`ScheduleValidationError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/schedulevalidationerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 2 of 143 methods.*
1461
+ * [`TransferOptionsValidationError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/transferoptionsvalidationerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 2 of 143 methods.*
1462
+ * [`Transfer`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/transfer.py): Details of a Transfer. Status code `409`. Applicable to 1 of 143 methods.*
1463
+ * [`CardAcquiringRefund`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/cardacquiringrefund.py): Details of a card refund. Status code `409`. Applicable to 1 of 143 methods.*
1464
+ * [`CreateAccountResponseBody`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/createaccountresponsebody.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1465
+ * [`UpdateAccountResponseBody`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/updateaccountresponsebody.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1466
+ * [`AssignCountriesError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/assigncountrieserror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1467
+ * [`LinkApplePayError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/linkapplepayerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1468
+ * [`BankAccountValidationError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/bankaccountvalidationerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1469
+ * [`MicroDepositValidationError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/microdepositvalidationerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1470
+ * [`AddCapabilitiesError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/addcapabilitieserror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1471
+ * [`LinkCardError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/linkcarderror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1472
+ * [`UpdateCardError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/updatecarderror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1473
+ * [`FileUploadValidationError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/fileuploadvalidationerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1474
+ * [`FeePlanAgreementError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/feeplanagreementerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1475
+ * [`FileValidationError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/filevalidationerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1476
+ * [`CreatePaymentLinkError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/createpaymentlinkerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1477
+ * [`UpdatePaymentLinkError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/updatepaymentlinkerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1478
+ * [`RepresentativeValidationError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/representativevalidationerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1479
+ * [`CreateSweepConfigError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/createsweepconfigerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1480
+ * [`PatchSweepConfigError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/patchsweepconfigerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1481
+ * [`AccountTerminalApplicationError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/accountterminalapplicationerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1482
+ * [`CreateTicketError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/createticketerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1483
+ * [`UpdateTicketError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/updateticketerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1484
+ * [`TransferValidationError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/transfervalidationerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1485
+ * [`RefundValidationError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/refundvalidationerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1486
+ * [`ReversalValidationError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/reversalvalidationerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1487
+ * [`UpsertUnderwritingError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/upsertunderwritingerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1488
+ * [`UpdateUnderwritingError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/updateunderwritingerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1489
+ * [`RequestCardError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/requestcarderror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1490
+ * [`UpdateIssuedCardError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/updateissuedcarderror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1491
+ * [`RevokeTokenRequestError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/revoketokenrequesterror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1492
+ * [`AuthTokenRequestError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/authtokenrequesterror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1493
+ * [`OnboardingInviteError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/onboardinginviteerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1494
+ * [`TerminalApplicationError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/terminalapplicationerror.py): The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields. Status code `422`. Applicable to 1 of 143 methods.*
1495
+ * [`ResponseValidationError`](https://github.com/moovfinancial/moov-python/blob/master/./src/moovio_sdk/models/errors/responsevalidationerror.py): Type mismatch between the response data and the expected Pydantic model. Provides access to the Pydantic validation error via the `cause` attribute.
1496
+
1497
+ </details>
1498
+
1499
+ \* Check [the method documentation](https://github.com/moovfinancial/moov-python/blob/master/#available-resources-and-operations) to see if the error is applicable.
1425
1500
  <!-- End Error Handling [errors] -->
1426
1501
 
1427
1502
  <!-- Start Server Selection [server] -->