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
@@ -107,40 +107,25 @@ class IssuingTransactions(BaseSDK):
107
107
 
108
108
  if utils.match_response(http_res, "200", "application/json"):
109
109
  return operations.ListIssuedCardAuthorizationsResponse(
110
- result=utils.unmarshal_json(
111
- http_res.text, List[components.IssuedCardAuthorization]
110
+ result=utils.unmarshal_json_response(
111
+ List[components.IssuedCardAuthorization], http_res
112
112
  ),
113
113
  headers=utils.get_response_headers(http_res.headers),
114
114
  )
115
115
  if utils.match_response(http_res, ["401", "403", "429"], "*"):
116
116
  http_res_text = utils.stream_to_text(http_res)
117
- raise errors.APIError(
118
- "API error occurred", http_res.status_code, http_res_text, http_res
119
- )
117
+ raise errors.APIError("API error occurred", http_res, http_res_text)
120
118
  if utils.match_response(http_res, ["500", "504"], "*"):
121
119
  http_res_text = utils.stream_to_text(http_res)
122
- raise errors.APIError(
123
- "API error occurred", http_res.status_code, http_res_text, http_res
124
- )
120
+ raise errors.APIError("API error occurred", http_res, http_res_text)
125
121
  if utils.match_response(http_res, "4XX", "*"):
126
122
  http_res_text = utils.stream_to_text(http_res)
127
- raise errors.APIError(
128
- "API error occurred", http_res.status_code, http_res_text, http_res
129
- )
123
+ raise errors.APIError("API error occurred", http_res, http_res_text)
130
124
  if utils.match_response(http_res, "5XX", "*"):
131
125
  http_res_text = utils.stream_to_text(http_res)
132
- raise errors.APIError(
133
- "API error occurred", http_res.status_code, http_res_text, http_res
134
- )
126
+ raise errors.APIError("API error occurred", http_res, http_res_text)
135
127
 
136
- content_type = http_res.headers.get("Content-Type")
137
- http_res_text = utils.stream_to_text(http_res)
138
- raise errors.APIError(
139
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
140
- http_res.status_code,
141
- http_res_text,
142
- http_res,
143
- )
128
+ raise errors.APIError("Unexpected response received", http_res)
144
129
 
145
130
  async def list_authorizations_async(
146
131
  self,
@@ -238,40 +223,25 @@ class IssuingTransactions(BaseSDK):
238
223
 
239
224
  if utils.match_response(http_res, "200", "application/json"):
240
225
  return operations.ListIssuedCardAuthorizationsResponse(
241
- result=utils.unmarshal_json(
242
- http_res.text, List[components.IssuedCardAuthorization]
226
+ result=utils.unmarshal_json_response(
227
+ List[components.IssuedCardAuthorization], http_res
243
228
  ),
244
229
  headers=utils.get_response_headers(http_res.headers),
245
230
  )
246
231
  if utils.match_response(http_res, ["401", "403", "429"], "*"):
247
232
  http_res_text = await utils.stream_to_text_async(http_res)
248
- raise errors.APIError(
249
- "API error occurred", http_res.status_code, http_res_text, http_res
250
- )
233
+ raise errors.APIError("API error occurred", http_res, http_res_text)
251
234
  if utils.match_response(http_res, ["500", "504"], "*"):
252
235
  http_res_text = await utils.stream_to_text_async(http_res)
253
- raise errors.APIError(
254
- "API error occurred", http_res.status_code, http_res_text, http_res
255
- )
236
+ raise errors.APIError("API error occurred", http_res, http_res_text)
256
237
  if utils.match_response(http_res, "4XX", "*"):
257
238
  http_res_text = await utils.stream_to_text_async(http_res)
258
- raise errors.APIError(
259
- "API error occurred", http_res.status_code, http_res_text, http_res
260
- )
239
+ raise errors.APIError("API error occurred", http_res, http_res_text)
261
240
  if utils.match_response(http_res, "5XX", "*"):
262
241
  http_res_text = await utils.stream_to_text_async(http_res)
263
- raise errors.APIError(
264
- "API error occurred", http_res.status_code, http_res_text, http_res
265
- )
242
+ raise errors.APIError("API error occurred", http_res, http_res_text)
266
243
 
267
- content_type = http_res.headers.get("Content-Type")
268
- http_res_text = await utils.stream_to_text_async(http_res)
269
- raise errors.APIError(
270
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
271
- http_res.status_code,
272
- http_res_text,
273
- http_res,
274
- )
244
+ raise errors.APIError("Unexpected response received", http_res)
275
245
 
276
246
  def get_authorization(
277
247
  self,
@@ -354,40 +324,25 @@ class IssuingTransactions(BaseSDK):
354
324
 
355
325
  if utils.match_response(http_res, "200", "application/json"):
356
326
  return operations.GetIssuedCardAuthorizationResponse(
357
- result=utils.unmarshal_json(
358
- http_res.text, components.IssuedCardAuthorization
327
+ result=utils.unmarshal_json_response(
328
+ components.IssuedCardAuthorization, http_res
359
329
  ),
360
330
  headers=utils.get_response_headers(http_res.headers),
361
331
  )
362
332
  if utils.match_response(http_res, ["401", "403", "404", "429"], "*"):
363
333
  http_res_text = utils.stream_to_text(http_res)
364
- raise errors.APIError(
365
- "API error occurred", http_res.status_code, http_res_text, http_res
366
- )
334
+ raise errors.APIError("API error occurred", http_res, http_res_text)
367
335
  if utils.match_response(http_res, ["500", "504"], "*"):
368
336
  http_res_text = utils.stream_to_text(http_res)
369
- raise errors.APIError(
370
- "API error occurred", http_res.status_code, http_res_text, http_res
371
- )
337
+ raise errors.APIError("API error occurred", http_res, http_res_text)
372
338
  if utils.match_response(http_res, "4XX", "*"):
373
339
  http_res_text = utils.stream_to_text(http_res)
374
- raise errors.APIError(
375
- "API error occurred", http_res.status_code, http_res_text, http_res
376
- )
340
+ raise errors.APIError("API error occurred", http_res, http_res_text)
377
341
  if utils.match_response(http_res, "5XX", "*"):
378
342
  http_res_text = utils.stream_to_text(http_res)
379
- raise errors.APIError(
380
- "API error occurred", http_res.status_code, http_res_text, http_res
381
- )
343
+ raise errors.APIError("API error occurred", http_res, http_res_text)
382
344
 
383
- content_type = http_res.headers.get("Content-Type")
384
- http_res_text = utils.stream_to_text(http_res)
385
- raise errors.APIError(
386
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
387
- http_res.status_code,
388
- http_res_text,
389
- http_res,
390
- )
345
+ raise errors.APIError("Unexpected response received", http_res)
391
346
 
392
347
  async def get_authorization_async(
393
348
  self,
@@ -470,40 +425,25 @@ class IssuingTransactions(BaseSDK):
470
425
 
471
426
  if utils.match_response(http_res, "200", "application/json"):
472
427
  return operations.GetIssuedCardAuthorizationResponse(
473
- result=utils.unmarshal_json(
474
- http_res.text, components.IssuedCardAuthorization
428
+ result=utils.unmarshal_json_response(
429
+ components.IssuedCardAuthorization, http_res
475
430
  ),
476
431
  headers=utils.get_response_headers(http_res.headers),
477
432
  )
478
433
  if utils.match_response(http_res, ["401", "403", "404", "429"], "*"):
479
434
  http_res_text = await utils.stream_to_text_async(http_res)
480
- raise errors.APIError(
481
- "API error occurred", http_res.status_code, http_res_text, http_res
482
- )
435
+ raise errors.APIError("API error occurred", http_res, http_res_text)
483
436
  if utils.match_response(http_res, ["500", "504"], "*"):
484
437
  http_res_text = await utils.stream_to_text_async(http_res)
485
- raise errors.APIError(
486
- "API error occurred", http_res.status_code, http_res_text, http_res
487
- )
438
+ raise errors.APIError("API error occurred", http_res, http_res_text)
488
439
  if utils.match_response(http_res, "4XX", "*"):
489
440
  http_res_text = await utils.stream_to_text_async(http_res)
490
- raise errors.APIError(
491
- "API error occurred", http_res.status_code, http_res_text, http_res
492
- )
441
+ raise errors.APIError("API error occurred", http_res, http_res_text)
493
442
  if utils.match_response(http_res, "5XX", "*"):
494
443
  http_res_text = await utils.stream_to_text_async(http_res)
495
- raise errors.APIError(
496
- "API error occurred", http_res.status_code, http_res_text, http_res
497
- )
444
+ raise errors.APIError("API error occurred", http_res, http_res_text)
498
445
 
499
- content_type = http_res.headers.get("Content-Type")
500
- http_res_text = await utils.stream_to_text_async(http_res)
501
- raise errors.APIError(
502
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
503
- http_res.status_code,
504
- http_res_text,
505
- http_res,
506
- )
446
+ raise errors.APIError("Unexpected response received", http_res)
507
447
 
508
448
  def list_authorization_events(
509
449
  self,
@@ -592,40 +532,25 @@ class IssuingTransactions(BaseSDK):
592
532
 
593
533
  if utils.match_response(http_res, "200", "application/json"):
594
534
  return operations.ListIssuedCardAuthorizationEventsResponse(
595
- result=utils.unmarshal_json(
596
- http_res.text, List[components.IssuedCardAuthorizationEvent]
535
+ result=utils.unmarshal_json_response(
536
+ List[components.IssuedCardAuthorizationEvent], http_res
597
537
  ),
598
538
  headers=utils.get_response_headers(http_res.headers),
599
539
  )
600
540
  if utils.match_response(http_res, ["401", "403", "429"], "*"):
601
541
  http_res_text = utils.stream_to_text(http_res)
602
- raise errors.APIError(
603
- "API error occurred", http_res.status_code, http_res_text, http_res
604
- )
542
+ raise errors.APIError("API error occurred", http_res, http_res_text)
605
543
  if utils.match_response(http_res, ["500", "504"], "*"):
606
544
  http_res_text = utils.stream_to_text(http_res)
607
- raise errors.APIError(
608
- "API error occurred", http_res.status_code, http_res_text, http_res
609
- )
545
+ raise errors.APIError("API error occurred", http_res, http_res_text)
610
546
  if utils.match_response(http_res, "4XX", "*"):
611
547
  http_res_text = utils.stream_to_text(http_res)
612
- raise errors.APIError(
613
- "API error occurred", http_res.status_code, http_res_text, http_res
614
- )
548
+ raise errors.APIError("API error occurred", http_res, http_res_text)
615
549
  if utils.match_response(http_res, "5XX", "*"):
616
550
  http_res_text = utils.stream_to_text(http_res)
617
- raise errors.APIError(
618
- "API error occurred", http_res.status_code, http_res_text, http_res
619
- )
551
+ raise errors.APIError("API error occurred", http_res, http_res_text)
620
552
 
621
- content_type = http_res.headers.get("Content-Type")
622
- http_res_text = utils.stream_to_text(http_res)
623
- raise errors.APIError(
624
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
625
- http_res.status_code,
626
- http_res_text,
627
- http_res,
628
- )
553
+ raise errors.APIError("Unexpected response received", http_res)
629
554
 
630
555
  async def list_authorization_events_async(
631
556
  self,
@@ -714,40 +639,25 @@ class IssuingTransactions(BaseSDK):
714
639
 
715
640
  if utils.match_response(http_res, "200", "application/json"):
716
641
  return operations.ListIssuedCardAuthorizationEventsResponse(
717
- result=utils.unmarshal_json(
718
- http_res.text, List[components.IssuedCardAuthorizationEvent]
642
+ result=utils.unmarshal_json_response(
643
+ List[components.IssuedCardAuthorizationEvent], http_res
719
644
  ),
720
645
  headers=utils.get_response_headers(http_res.headers),
721
646
  )
722
647
  if utils.match_response(http_res, ["401", "403", "429"], "*"):
723
648
  http_res_text = await utils.stream_to_text_async(http_res)
724
- raise errors.APIError(
725
- "API error occurred", http_res.status_code, http_res_text, http_res
726
- )
649
+ raise errors.APIError("API error occurred", http_res, http_res_text)
727
650
  if utils.match_response(http_res, ["500", "504"], "*"):
728
651
  http_res_text = await utils.stream_to_text_async(http_res)
729
- raise errors.APIError(
730
- "API error occurred", http_res.status_code, http_res_text, http_res
731
- )
652
+ raise errors.APIError("API error occurred", http_res, http_res_text)
732
653
  if utils.match_response(http_res, "4XX", "*"):
733
654
  http_res_text = await utils.stream_to_text_async(http_res)
734
- raise errors.APIError(
735
- "API error occurred", http_res.status_code, http_res_text, http_res
736
- )
655
+ raise errors.APIError("API error occurred", http_res, http_res_text)
737
656
  if utils.match_response(http_res, "5XX", "*"):
738
657
  http_res_text = await utils.stream_to_text_async(http_res)
739
- raise errors.APIError(
740
- "API error occurred", http_res.status_code, http_res_text, http_res
741
- )
658
+ raise errors.APIError("API error occurred", http_res, http_res_text)
742
659
 
743
- content_type = http_res.headers.get("Content-Type")
744
- http_res_text = await utils.stream_to_text_async(http_res)
745
- raise errors.APIError(
746
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
747
- http_res.status_code,
748
- http_res_text,
749
- http_res,
750
- )
660
+ raise errors.APIError("Unexpected response received", http_res)
751
661
 
752
662
  def list(
753
663
  self,
@@ -842,40 +752,25 @@ class IssuingTransactions(BaseSDK):
842
752
 
843
753
  if utils.match_response(http_res, "200", "application/json"):
844
754
  return operations.ListIssuedCardTransactionsResponse(
845
- result=utils.unmarshal_json(
846
- http_res.text, List[components.IssuedCardTransaction]
755
+ result=utils.unmarshal_json_response(
756
+ List[components.IssuedCardTransaction], http_res
847
757
  ),
848
758
  headers=utils.get_response_headers(http_res.headers),
849
759
  )
850
760
  if utils.match_response(http_res, ["401", "403", "429"], "*"):
851
761
  http_res_text = utils.stream_to_text(http_res)
852
- raise errors.APIError(
853
- "API error occurred", http_res.status_code, http_res_text, http_res
854
- )
762
+ raise errors.APIError("API error occurred", http_res, http_res_text)
855
763
  if utils.match_response(http_res, ["500", "504"], "*"):
856
764
  http_res_text = utils.stream_to_text(http_res)
857
- raise errors.APIError(
858
- "API error occurred", http_res.status_code, http_res_text, http_res
859
- )
765
+ raise errors.APIError("API error occurred", http_res, http_res_text)
860
766
  if utils.match_response(http_res, "4XX", "*"):
861
767
  http_res_text = utils.stream_to_text(http_res)
862
- raise errors.APIError(
863
- "API error occurred", http_res.status_code, http_res_text, http_res
864
- )
768
+ raise errors.APIError("API error occurred", http_res, http_res_text)
865
769
  if utils.match_response(http_res, "5XX", "*"):
866
770
  http_res_text = utils.stream_to_text(http_res)
867
- raise errors.APIError(
868
- "API error occurred", http_res.status_code, http_res_text, http_res
869
- )
771
+ raise errors.APIError("API error occurred", http_res, http_res_text)
870
772
 
871
- content_type = http_res.headers.get("Content-Type")
872
- http_res_text = utils.stream_to_text(http_res)
873
- raise errors.APIError(
874
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
875
- http_res.status_code,
876
- http_res_text,
877
- http_res,
878
- )
773
+ raise errors.APIError("Unexpected response received", http_res)
879
774
 
880
775
  async def list_async(
881
776
  self,
@@ -970,40 +865,25 @@ class IssuingTransactions(BaseSDK):
970
865
 
971
866
  if utils.match_response(http_res, "200", "application/json"):
972
867
  return operations.ListIssuedCardTransactionsResponse(
973
- result=utils.unmarshal_json(
974
- http_res.text, List[components.IssuedCardTransaction]
868
+ result=utils.unmarshal_json_response(
869
+ List[components.IssuedCardTransaction], http_res
975
870
  ),
976
871
  headers=utils.get_response_headers(http_res.headers),
977
872
  )
978
873
  if utils.match_response(http_res, ["401", "403", "429"], "*"):
979
874
  http_res_text = await utils.stream_to_text_async(http_res)
980
- raise errors.APIError(
981
- "API error occurred", http_res.status_code, http_res_text, http_res
982
- )
875
+ raise errors.APIError("API error occurred", http_res, http_res_text)
983
876
  if utils.match_response(http_res, ["500", "504"], "*"):
984
877
  http_res_text = await utils.stream_to_text_async(http_res)
985
- raise errors.APIError(
986
- "API error occurred", http_res.status_code, http_res_text, http_res
987
- )
878
+ raise errors.APIError("API error occurred", http_res, http_res_text)
988
879
  if utils.match_response(http_res, "4XX", "*"):
989
880
  http_res_text = await utils.stream_to_text_async(http_res)
990
- raise errors.APIError(
991
- "API error occurred", http_res.status_code, http_res_text, http_res
992
- )
881
+ raise errors.APIError("API error occurred", http_res, http_res_text)
993
882
  if utils.match_response(http_res, "5XX", "*"):
994
883
  http_res_text = await utils.stream_to_text_async(http_res)
995
- raise errors.APIError(
996
- "API error occurred", http_res.status_code, http_res_text, http_res
997
- )
884
+ raise errors.APIError("API error occurred", http_res, http_res_text)
998
885
 
999
- content_type = http_res.headers.get("Content-Type")
1000
- http_res_text = await utils.stream_to_text_async(http_res)
1001
- raise errors.APIError(
1002
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
1003
- http_res.status_code,
1004
- http_res_text,
1005
- http_res,
1006
- )
886
+ raise errors.APIError("Unexpected response received", http_res)
1007
887
 
1008
888
  def get(
1009
889
  self,
@@ -1086,40 +966,25 @@ class IssuingTransactions(BaseSDK):
1086
966
 
1087
967
  if utils.match_response(http_res, "200", "application/json"):
1088
968
  return operations.GetIssuedCardTransactionResponse(
1089
- result=utils.unmarshal_json(
1090
- http_res.text, components.IssuedCardTransaction
969
+ result=utils.unmarshal_json_response(
970
+ components.IssuedCardTransaction, http_res
1091
971
  ),
1092
972
  headers=utils.get_response_headers(http_res.headers),
1093
973
  )
1094
974
  if utils.match_response(http_res, ["401", "403", "404", "429"], "*"):
1095
975
  http_res_text = utils.stream_to_text(http_res)
1096
- raise errors.APIError(
1097
- "API error occurred", http_res.status_code, http_res_text, http_res
1098
- )
976
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1099
977
  if utils.match_response(http_res, ["500", "504"], "*"):
1100
978
  http_res_text = utils.stream_to_text(http_res)
1101
- raise errors.APIError(
1102
- "API error occurred", http_res.status_code, http_res_text, http_res
1103
- )
979
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1104
980
  if utils.match_response(http_res, "4XX", "*"):
1105
981
  http_res_text = utils.stream_to_text(http_res)
1106
- raise errors.APIError(
1107
- "API error occurred", http_res.status_code, http_res_text, http_res
1108
- )
982
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1109
983
  if utils.match_response(http_res, "5XX", "*"):
1110
984
  http_res_text = utils.stream_to_text(http_res)
1111
- raise errors.APIError(
1112
- "API error occurred", http_res.status_code, http_res_text, http_res
1113
- )
985
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1114
986
 
1115
- content_type = http_res.headers.get("Content-Type")
1116
- http_res_text = utils.stream_to_text(http_res)
1117
- raise errors.APIError(
1118
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
1119
- http_res.status_code,
1120
- http_res_text,
1121
- http_res,
1122
- )
987
+ raise errors.APIError("Unexpected response received", http_res)
1123
988
 
1124
989
  async def get_async(
1125
990
  self,
@@ -1202,37 +1067,22 @@ class IssuingTransactions(BaseSDK):
1202
1067
 
1203
1068
  if utils.match_response(http_res, "200", "application/json"):
1204
1069
  return operations.GetIssuedCardTransactionResponse(
1205
- result=utils.unmarshal_json(
1206
- http_res.text, components.IssuedCardTransaction
1070
+ result=utils.unmarshal_json_response(
1071
+ components.IssuedCardTransaction, http_res
1207
1072
  ),
1208
1073
  headers=utils.get_response_headers(http_res.headers),
1209
1074
  )
1210
1075
  if utils.match_response(http_res, ["401", "403", "404", "429"], "*"):
1211
1076
  http_res_text = await utils.stream_to_text_async(http_res)
1212
- raise errors.APIError(
1213
- "API error occurred", http_res.status_code, http_res_text, http_res
1214
- )
1077
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1215
1078
  if utils.match_response(http_res, ["500", "504"], "*"):
1216
1079
  http_res_text = await utils.stream_to_text_async(http_res)
1217
- raise errors.APIError(
1218
- "API error occurred", http_res.status_code, http_res_text, http_res
1219
- )
1080
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1220
1081
  if utils.match_response(http_res, "4XX", "*"):
1221
1082
  http_res_text = await utils.stream_to_text_async(http_res)
1222
- raise errors.APIError(
1223
- "API error occurred", http_res.status_code, http_res_text, http_res
1224
- )
1083
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1225
1084
  if utils.match_response(http_res, "5XX", "*"):
1226
1085
  http_res_text = await utils.stream_to_text_async(http_res)
1227
- raise errors.APIError(
1228
- "API error occurred", http_res.status_code, http_res_text, http_res
1229
- )
1086
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1230
1087
 
1231
- content_type = http_res.headers.get("Content-Type")
1232
- http_res_text = await utils.stream_to_text_async(http_res)
1233
- raise errors.APIError(
1234
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
1235
- http_res.status_code,
1236
- http_res_text,
1237
- http_res,
1238
- )
1088
+ raise errors.APIError("Unexpected response received", http_res)
@@ -319,6 +319,11 @@ if TYPE_CHECKING:
319
319
  CreateTerminalApplication,
320
320
  CreateTerminalApplicationTypedDict,
321
321
  )
322
+ from .createticket import CreateTicket, CreateTicketTypedDict
323
+ from .createticketcontacterror import (
324
+ CreateTicketContactError,
325
+ CreateTicketContactErrorTypedDict,
326
+ )
322
327
  from .createtransfer import CreateTransfer, CreateTransferTypedDict
323
328
  from .createtransferdestination import (
324
329
  CreateTransferDestination,
@@ -840,6 +845,10 @@ if TYPE_CHECKING:
840
845
  TermsOfServiceTokenUpdate,
841
846
  TermsOfServiceTokenUpdateTypedDict,
842
847
  )
848
+ from .ticket import Ticket, TicketTypedDict
849
+ from .ticketcontact import TicketContact, TicketContactTypedDict
850
+ from .ticketmessage import TicketMessage, TicketMessageTypedDict
851
+ from .ticketstatus import TicketStatus
843
852
  from .tokentype import TokenType
844
853
  from .transactionsource import TransactionSource
845
854
  from .transfer import Transfer, TransferTypedDict
@@ -891,6 +900,8 @@ if TYPE_CHECKING:
891
900
  UpdateRepresentativeSsnTypedDict,
892
901
  UpdateRepresentativeTypedDict,
893
902
  )
903
+ from .updateticket import UpdateTicket, UpdateTicketTypedDict
904
+ from .updateticketstatus import UpdateTicketStatus
894
905
  from .updateunderwriting import UpdateUnderwriting, UpdateUnderwritingTypedDict
895
906
  from .upsertschedule import UpsertSchedule, UpsertScheduleTypedDict
896
907
  from .upsertunderwriting import UpsertUnderwriting, UpsertUnderwritingTypedDict
@@ -1327,6 +1338,10 @@ __all__ = [
1327
1338
  "CreateSweepConfigTypedDict",
1328
1339
  "CreateTerminalApplication",
1329
1340
  "CreateTerminalApplicationTypedDict",
1341
+ "CreateTicket",
1342
+ "CreateTicketContactError",
1343
+ "CreateTicketContactErrorTypedDict",
1344
+ "CreateTicketTypedDict",
1330
1345
  "CreateTransfer",
1331
1346
  "CreateTransferDestination",
1332
1347
  "CreateTransferDestinationACH",
@@ -1784,6 +1799,13 @@ __all__ = [
1784
1799
  "TermsOfServiceTokenUpdate",
1785
1800
  "TermsOfServiceTokenUpdateTypedDict",
1786
1801
  "TermsOfServiceTypedDict",
1802
+ "Ticket",
1803
+ "TicketContact",
1804
+ "TicketContactTypedDict",
1805
+ "TicketMessage",
1806
+ "TicketMessageTypedDict",
1807
+ "TicketStatus",
1808
+ "TicketTypedDict",
1787
1809
  "TokenType",
1788
1810
  "TokenTypeHint",
1789
1811
  "TransactionSource",
@@ -1838,6 +1860,9 @@ __all__ = [
1838
1860
  "UpdateRepresentativeSsn",
1839
1861
  "UpdateRepresentativeSsnTypedDict",
1840
1862
  "UpdateRepresentativeTypedDict",
1863
+ "UpdateTicket",
1864
+ "UpdateTicketStatus",
1865
+ "UpdateTicketTypedDict",
1841
1866
  "UpdateUnderwriting",
1842
1867
  "UpdateUnderwritingTypedDict",
1843
1868
  "UpsertSchedule",
@@ -2218,6 +2243,10 @@ _dynamic_imports: dict[str, str] = {
2218
2243
  "CreateSweepConfigTypedDict": ".createsweepconfig",
2219
2244
  "CreateTerminalApplication": ".createterminalapplication",
2220
2245
  "CreateTerminalApplicationTypedDict": ".createterminalapplication",
2246
+ "CreateTicket": ".createticket",
2247
+ "CreateTicketTypedDict": ".createticket",
2248
+ "CreateTicketContactError": ".createticketcontacterror",
2249
+ "CreateTicketContactErrorTypedDict": ".createticketcontacterror",
2221
2250
  "CreateTransfer": ".createtransfer",
2222
2251
  "CreateTransferTypedDict": ".createtransfer",
2223
2252
  "CreateTransferDestination": ".createtransferdestination",
@@ -2669,6 +2698,13 @@ _dynamic_imports: dict[str, str] = {
2669
2698
  "TermsOfServiceTokenTypedDict": ".termsofservicetoken",
2670
2699
  "TermsOfServiceTokenUpdate": ".termsofservicetokenupdate",
2671
2700
  "TermsOfServiceTokenUpdateTypedDict": ".termsofservicetokenupdate",
2701
+ "Ticket": ".ticket",
2702
+ "TicketTypedDict": ".ticket",
2703
+ "TicketContact": ".ticketcontact",
2704
+ "TicketContactTypedDict": ".ticketcontact",
2705
+ "TicketMessage": ".ticketmessage",
2706
+ "TicketMessageTypedDict": ".ticketmessage",
2707
+ "TicketStatus": ".ticketstatus",
2672
2708
  "TokenType": ".tokentype",
2673
2709
  "TransactionSource": ".transactionsource",
2674
2710
  "Transfer": ".transfer",
@@ -2728,6 +2764,9 @@ _dynamic_imports: dict[str, str] = {
2728
2764
  "UpdateRepresentativeSsn": ".updaterepresentative",
2729
2765
  "UpdateRepresentativeSsnTypedDict": ".updaterepresentative",
2730
2766
  "UpdateRepresentativeTypedDict": ".updaterepresentative",
2767
+ "UpdateTicket": ".updateticket",
2768
+ "UpdateTicketTypedDict": ".updateticket",
2769
+ "UpdateTicketStatus": ".updateticketstatus",
2731
2770
  "UpdateUnderwriting": ".updateunderwriting",
2732
2771
  "UpdateUnderwritingTypedDict": ".updateunderwriting",
2733
2772
  "UpsertSchedule": ".upsertschedule",
@@ -0,0 +1,24 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .ticketcontact import TicketContact, TicketContactTypedDict
5
+ from moovio_sdk.types import BaseModel
6
+ from typing_extensions import TypedDict
7
+
8
+
9
+ class CreateTicketTypedDict(TypedDict):
10
+ r"""Request to create a new support ticket."""
11
+
12
+ title: str
13
+ body: str
14
+ contact: TicketContactTypedDict
15
+
16
+
17
+ class CreateTicket(BaseModel):
18
+ r"""Request to create a new support ticket."""
19
+
20
+ title: str
21
+
22
+ body: str
23
+
24
+ contact: TicketContact
@@ -0,0 +1,17 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from moovio_sdk.types import BaseModel
5
+ from typing import Optional
6
+ from typing_extensions import NotRequired, TypedDict
7
+
8
+
9
+ class CreateTicketContactErrorTypedDict(TypedDict):
10
+ email: NotRequired[str]
11
+ name: NotRequired[str]
12
+
13
+
14
+ class CreateTicketContactError(BaseModel):
15
+ email: Optional[str] = None
16
+
17
+ name: Optional[str] = None
@@ -0,0 +1,44 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .ticketcontact import TicketContact, TicketContactTypedDict
5
+ from .ticketstatus import TicketStatus
6
+ from datetime import datetime
7
+ from moovio_sdk.types import BaseModel
8
+ import pydantic
9
+ from typing import Optional
10
+ from typing_extensions import Annotated, NotRequired, TypedDict
11
+
12
+
13
+ class TicketTypedDict(TypedDict):
14
+ ticket_id: str
15
+ number: int
16
+ title: str
17
+ contact: TicketContactTypedDict
18
+ status: TicketStatus
19
+ created_on: datetime
20
+ updated_on: datetime
21
+ latest_message_on: NotRequired[datetime]
22
+ closed_on: NotRequired[datetime]
23
+
24
+
25
+ class Ticket(BaseModel):
26
+ ticket_id: Annotated[str, pydantic.Field(alias="ticketID")]
27
+
28
+ number: int
29
+
30
+ title: str
31
+
32
+ contact: TicketContact
33
+
34
+ status: TicketStatus
35
+
36
+ created_on: Annotated[datetime, pydantic.Field(alias="createdOn")]
37
+
38
+ updated_on: Annotated[datetime, pydantic.Field(alias="updatedOn")]
39
+
40
+ latest_message_on: Annotated[
41
+ Optional[datetime], pydantic.Field(alias="latestMessageOn")
42
+ ] = None
43
+
44
+ closed_on: Annotated[Optional[datetime], pydantic.Field(alias="closedOn")] = None