moovio_sdk 0.18.1__py3-none-any.whl → 0.18.3__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 (175) hide show
  1. moovio_sdk/_version.py +3 -3
  2. moovio_sdk/images.py +294 -28
  3. moovio_sdk/models/components/__init__.py +0 -37
  4. moovio_sdk/models/components/generatedby.py +30 -36
  5. moovio_sdk/models/components/imageupdaterequestmultipart.py +4 -4
  6. moovio_sdk/models/errors/__init__.py +8 -0
  7. moovio_sdk/models/errors/imagemetadatavalidationerror.py +29 -0
  8. moovio_sdk/models/internal/globals.py +1 -1
  9. moovio_sdk/models/operations/__init__.py +20 -0
  10. moovio_sdk/models/operations/acceptdispute.py +1 -1
  11. moovio_sdk/models/operations/assignaccountcountries.py +1 -1
  12. moovio_sdk/models/operations/cancelschedule.py +1 -1
  13. moovio_sdk/models/operations/completebankaccountverification.py +1 -1
  14. moovio_sdk/models/operations/completemicrodeposits.py +1 -1
  15. moovio_sdk/models/operations/createaccesstoken.py +1 -1
  16. moovio_sdk/models/operations/createaccount.py +1 -1
  17. moovio_sdk/models/operations/createapplepaysession.py +1 -1
  18. moovio_sdk/models/operations/createbrand.py +1 -1
  19. moovio_sdk/models/operations/createcancellation.py +1 -1
  20. moovio_sdk/models/operations/createfeeplanagreements.py +1 -1
  21. moovio_sdk/models/operations/createonboardinginvite.py +1 -1
  22. moovio_sdk/models/operations/createpaymentlink.py +1 -1
  23. moovio_sdk/models/operations/createproduct.py +1 -1
  24. moovio_sdk/models/operations/createreceipts.py +1 -1
  25. moovio_sdk/models/operations/createrepresentative.py +1 -1
  26. moovio_sdk/models/operations/createreversal.py +1 -1
  27. moovio_sdk/models/operations/createschedule.py +1 -1
  28. moovio_sdk/models/operations/createsweepconfig.py +1 -1
  29. moovio_sdk/models/operations/createterminalapplication.py +1 -1
  30. moovio_sdk/models/operations/createterminalapplicationversion.py +1 -1
  31. moovio_sdk/models/operations/createticket.py +1 -1
  32. moovio_sdk/models/operations/createtransfer.py +1 -1
  33. moovio_sdk/models/operations/createtransferoptions.py +1 -1
  34. moovio_sdk/models/operations/createwallet.py +1 -1
  35. moovio_sdk/models/operations/deletedisputeevidencefile.py +1 -1
  36. moovio_sdk/models/operations/deleteimage.py +1 -1
  37. moovio_sdk/models/operations/deleterepresentative.py +1 -1
  38. moovio_sdk/models/operations/deleteterminalapplication.py +1 -1
  39. moovio_sdk/models/operations/disablebankaccount.py +1 -1
  40. moovio_sdk/models/operations/disablecapability.py +1 -1
  41. moovio_sdk/models/operations/disablecard.py +1 -1
  42. moovio_sdk/models/operations/disablepaymentlink.py +1 -1
  43. moovio_sdk/models/operations/disableproduct.py +1 -1
  44. moovio_sdk/models/operations/disconnectaccount.py +1 -1
  45. moovio_sdk/models/operations/generateendtoendkey.py +1 -1
  46. moovio_sdk/models/operations/getaccount.py +1 -1
  47. moovio_sdk/models/operations/getaccountcountries.py +1 -1
  48. moovio_sdk/models/operations/getaccountterminalapplication.py +1 -1
  49. moovio_sdk/models/operations/getadjustment.py +1 -1
  50. moovio_sdk/models/operations/getapplepaymerchantdomains.py +1 -1
  51. moovio_sdk/models/operations/getavatar.py +1 -1
  52. moovio_sdk/models/operations/getbankaccount.py +1 -1
  53. moovio_sdk/models/operations/getbankaccountverification.py +1 -1
  54. moovio_sdk/models/operations/getbrand.py +1 -1
  55. moovio_sdk/models/operations/getcancellation.py +1 -1
  56. moovio_sdk/models/operations/getcapability.py +1 -1
  57. moovio_sdk/models/operations/getcard.py +1 -1
  58. moovio_sdk/models/operations/getdispute.py +1 -1
  59. moovio_sdk/models/operations/getdisputeevidence.py +1 -1
  60. moovio_sdk/models/operations/getdisputeevidencedata.py +1 -1
  61. moovio_sdk/models/operations/getenrichmentaddress.py +1 -1
  62. moovio_sdk/models/operations/getenrichmentprofile.py +1 -1
  63. moovio_sdk/models/operations/getfiledetails.py +1 -1
  64. moovio_sdk/models/operations/getfullissuedcard.py +1 -1
  65. moovio_sdk/models/operations/getimagemetadata.py +1 -1
  66. moovio_sdk/models/operations/getissuedcard.py +1 -1
  67. moovio_sdk/models/operations/getissuedcardauthorization.py +1 -1
  68. moovio_sdk/models/operations/getissuedcardtransaction.py +1 -1
  69. moovio_sdk/models/operations/getmerchantprocessingagreement.py +1 -1
  70. moovio_sdk/models/operations/getonboardinginvite.py +1 -1
  71. moovio_sdk/models/operations/getpaymentlink.py +1 -1
  72. moovio_sdk/models/operations/getpaymentlinkqrcode.py +1 -1
  73. moovio_sdk/models/operations/getpaymentmethod.py +1 -1
  74. moovio_sdk/models/operations/getproduct.py +1 -1
  75. moovio_sdk/models/operations/getrefund.py +1 -1
  76. moovio_sdk/models/operations/getrepresentative.py +1 -1
  77. moovio_sdk/models/operations/getscheduledoccurrence.py +1 -1
  78. moovio_sdk/models/operations/getschedules.py +1 -1
  79. moovio_sdk/models/operations/getstatement.py +1 -1
  80. moovio_sdk/models/operations/getsweep.py +1 -1
  81. moovio_sdk/models/operations/getsweepconfig.py +1 -1
  82. moovio_sdk/models/operations/getterminalapplication.py +1 -1
  83. moovio_sdk/models/operations/getterminalconfiguration.py +1 -1
  84. moovio_sdk/models/operations/gettermsofservicetoken.py +1 -1
  85. moovio_sdk/models/operations/getticket.py +1 -1
  86. moovio_sdk/models/operations/gettransfer.py +1 -1
  87. moovio_sdk/models/operations/getunderwriting.py +1 -1
  88. moovio_sdk/models/operations/getwallet.py +1 -1
  89. moovio_sdk/models/operations/getwallettransaction.py +1 -1
  90. moovio_sdk/models/operations/initiatebankaccountverification.py +1 -1
  91. moovio_sdk/models/operations/initiatemicrodeposits.py +1 -1
  92. moovio_sdk/models/operations/initiaterefund.py +1 -1
  93. moovio_sdk/models/operations/linkaccountterminalapplication.py +1 -1
  94. moovio_sdk/models/operations/linkapplepaytoken.py +1 -1
  95. moovio_sdk/models/operations/linkbankaccount.py +1 -1
  96. moovio_sdk/models/operations/linkcard.py +1 -1
  97. moovio_sdk/models/operations/listaccounts.py +1 -1
  98. moovio_sdk/models/operations/listaccountterminalapplications.py +1 -1
  99. moovio_sdk/models/operations/listadjustments.py +1 -1
  100. moovio_sdk/models/operations/listbankaccounts.py +1 -1
  101. moovio_sdk/models/operations/listcapabilities.py +1 -1
  102. moovio_sdk/models/operations/listcards.py +1 -1
  103. moovio_sdk/models/operations/listdisputeevidence.py +1 -1
  104. moovio_sdk/models/operations/listdisputes.py +1 -1
  105. moovio_sdk/models/operations/listfeeplanagreements.py +1 -1
  106. moovio_sdk/models/operations/listfeeplans.py +1 -1
  107. moovio_sdk/models/operations/listfeesfetch.py +1 -1
  108. moovio_sdk/models/operations/listfiles.py +1 -1
  109. moovio_sdk/models/operations/listimagemetadata.py +19 -2
  110. moovio_sdk/models/operations/listindustries.py +1 -1
  111. moovio_sdk/models/operations/listinstitutions.py +1 -1
  112. moovio_sdk/models/operations/listissuedcardauthorizationevents.py +1 -1
  113. moovio_sdk/models/operations/listissuedcardauthorizations.py +1 -1
  114. moovio_sdk/models/operations/listissuedcards.py +1 -1
  115. moovio_sdk/models/operations/listissuedcardtransactions.py +1 -1
  116. moovio_sdk/models/operations/listonboardinginvites.py +1 -1
  117. moovio_sdk/models/operations/listpartnerpricing.py +1 -1
  118. moovio_sdk/models/operations/listpartnerpricingagreements.py +1 -1
  119. moovio_sdk/models/operations/listpaymentlinks.py +1 -1
  120. moovio_sdk/models/operations/listpaymentmethods.py +1 -1
  121. moovio_sdk/models/operations/listproducts.py +1 -1
  122. moovio_sdk/models/operations/listreceipts.py +1 -1
  123. moovio_sdk/models/operations/listrefunds.py +1 -1
  124. moovio_sdk/models/operations/listrepresentatives.py +1 -1
  125. moovio_sdk/models/operations/listschedules.py +1 -1
  126. moovio_sdk/models/operations/liststatements.py +1 -1
  127. moovio_sdk/models/operations/listsweepconfigs.py +1 -1
  128. moovio_sdk/models/operations/listsweeps.py +1 -1
  129. moovio_sdk/models/operations/listterminalapplications.py +1 -1
  130. moovio_sdk/models/operations/listticketmessages.py +1 -1
  131. moovio_sdk/models/operations/listtickets.py +1 -1
  132. moovio_sdk/models/operations/listtransfers.py +1 -1
  133. moovio_sdk/models/operations/listwallets.py +1 -1
  134. moovio_sdk/models/operations/listwallettransactions.py +1 -1
  135. moovio_sdk/models/operations/ping.py +1 -1
  136. moovio_sdk/models/operations/registerapplepaymerchantdomains.py +1 -1
  137. moovio_sdk/models/operations/requestcapabilities.py +1 -1
  138. moovio_sdk/models/operations/requestcard.py +1 -1
  139. moovio_sdk/models/operations/retrievefees.py +1 -1
  140. moovio_sdk/models/operations/revokeaccesstoken.py +1 -1
  141. moovio_sdk/models/operations/revokeonboardinginvite.py +1 -1
  142. moovio_sdk/models/operations/saveunderwriting.py +1 -1
  143. moovio_sdk/models/operations/searchinstitutions.py +1 -1
  144. moovio_sdk/models/operations/submitdisputeevidence.py +1 -1
  145. moovio_sdk/models/operations/testendtoendtoken.py +1 -1
  146. moovio_sdk/models/operations/updateaccount.py +1 -1
  147. moovio_sdk/models/operations/updateapplepaymerchantdomains.py +1 -1
  148. moovio_sdk/models/operations/updatebrand.py +1 -1
  149. moovio_sdk/models/operations/updatecard.py +1 -1
  150. moovio_sdk/models/operations/updatedisputeevidence.py +1 -1
  151. moovio_sdk/models/operations/updateimage.py +1 -1
  152. moovio_sdk/models/operations/updateimagemetadata.py +87 -0
  153. moovio_sdk/models/operations/updateissuedcard.py +1 -1
  154. moovio_sdk/models/operations/updatepaymentlink.py +1 -1
  155. moovio_sdk/models/operations/updateproduct.py +1 -1
  156. moovio_sdk/models/operations/updaterepresentative.py +1 -1
  157. moovio_sdk/models/operations/updateschedule.py +1 -1
  158. moovio_sdk/models/operations/updatesweepconfig.py +1 -1
  159. moovio_sdk/models/operations/updateticket.py +1 -1
  160. moovio_sdk/models/operations/updatetransfer.py +1 -1
  161. moovio_sdk/models/operations/updatewallet.py +1 -1
  162. moovio_sdk/models/operations/uploaddisputeevidencefile.py +1 -1
  163. moovio_sdk/models/operations/uploaddisputeevidencetext.py +1 -1
  164. moovio_sdk/models/operations/uploadfile.py +1 -1
  165. moovio_sdk/models/operations/uploadimage.py +1 -1
  166. moovio_sdk/models/operations/upsertbrand.py +1 -1
  167. moovio_sdk/models/operations/upsertunderwriting.py +1 -1
  168. {moovio_sdk-0.18.1.dist-info → moovio_sdk-0.18.3.dist-info}/METADATA +53 -51
  169. {moovio_sdk-0.18.1.dist-info → moovio_sdk-0.18.3.dist-info}/RECORD +170 -173
  170. moovio_sdk/models/components/generatedbyaccountid.py +0 -15
  171. moovio_sdk/models/components/generatedbybankaccountid.py +0 -17
  172. moovio_sdk/models/components/generatedbycardid.py +0 -15
  173. moovio_sdk/models/components/generatedbydisputeid.py +0 -15
  174. moovio_sdk/models/components/generatedbytransferid.py +0 -15
  175. {moovio_sdk-0.18.1.dist-info → moovio_sdk-0.18.3.dist-info}/WHEEL +0 -0
moovio_sdk/_version.py CHANGED
@@ -3,10 +3,10 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "moovio_sdk"
6
- __version__: str = "0.18.1"
6
+ __version__: str = "0.18.3"
7
7
  __openapi_doc_version__: str = "latest"
8
- __gen_version__: str = "2.727.9"
9
- __user_agent__: str = "speakeasy-sdk/python 0.18.1 2.727.9 latest moovio_sdk"
8
+ __gen_version__: str = "2.729.2"
9
+ __user_agent__: str = "speakeasy-sdk/python 0.18.3 2.729.2 latest moovio_sdk"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
moovio_sdk/images.py CHANGED
@@ -22,6 +22,8 @@ class Images(BaseSDK):
22
22
  self,
23
23
  *,
24
24
  account_id: str,
25
+ skip: Optional[int] = None,
26
+ count: Optional[int] = None,
25
27
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
26
28
  server_url: Optional[str] = None,
27
29
  timeout_ms: Optional[int] = None,
@@ -30,6 +32,8 @@ class Images(BaseSDK):
30
32
  r"""List metadata for all images in the specified account.
31
33
 
32
34
  :param account_id:
35
+ :param skip:
36
+ :param count:
33
37
  :param retries: Override the default retry configuration for this method
34
38
  :param server_url: Override the default server URL for this method
35
39
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -47,6 +51,8 @@ class Images(BaseSDK):
47
51
 
48
52
  request = operations.ListImageMetadataRequest(
49
53
  account_id=account_id,
54
+ skip=skip,
55
+ count=count,
50
56
  )
51
57
 
52
58
  req = self._build_request(
@@ -117,6 +123,8 @@ class Images(BaseSDK):
117
123
  self,
118
124
  *,
119
125
  account_id: str,
126
+ skip: Optional[int] = None,
127
+ count: Optional[int] = None,
120
128
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
121
129
  server_url: Optional[str] = None,
122
130
  timeout_ms: Optional[int] = None,
@@ -125,6 +133,8 @@ class Images(BaseSDK):
125
133
  r"""List metadata for all images in the specified account.
126
134
 
127
135
  :param account_id:
136
+ :param skip:
137
+ :param count:
128
138
  :param retries: Override the default retry configuration for this method
129
139
  :param server_url: Override the default server URL for this method
130
140
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -142,6 +152,8 @@ class Images(BaseSDK):
142
152
 
143
153
  request = operations.ListImageMetadataRequest(
144
154
  account_id=account_id,
155
+ skip=skip,
156
+ count=count,
145
157
  )
146
158
 
147
159
  req = self._build_request_async(
@@ -679,12 +691,10 @@ class Images(BaseSDK):
679
691
  *,
680
692
  account_id: str,
681
693
  image_id: str,
682
- image: Optional[
683
- Union[
684
- components.ImageUpdateRequestMultiPartImage,
685
- components.ImageUpdateRequestMultiPartImageTypedDict,
686
- ]
687
- ] = None,
694
+ image: Union[
695
+ components.ImageUpdateRequestMultiPartImage,
696
+ components.ImageUpdateRequestMultiPartImageTypedDict,
697
+ ],
688
698
  metadata: OptionalNullable[
689
699
  Union[components.Metadata, components.MetadataTypedDict]
690
700
  ] = UNSET,
@@ -693,11 +703,11 @@ class Images(BaseSDK):
693
703
  timeout_ms: Optional[int] = None,
694
704
  http_headers: Optional[Mapping[str, str]] = None,
695
705
  ) -> operations.UpdateImageResponse:
696
- r"""Update an existing image and/or its metadata.
706
+ r"""Replace an existing image and, optionally, its metadata.
697
707
 
698
- Duplicate images, and requests larger than 16MB will be rejected. Omit any
699
- form parts you do not wish to update. Existing metadata can be cleared by
700
- sending `null` for the `metadata` form part.
708
+ This endpoint replaces the existing image with the new PNG, JPEG, or WebP. Omit
709
+ the metadata form section to keep existing metadata, or send `null` to clear it.
710
+ Duplicate images, and requests larger than 16MB will be rejected.
701
711
 
702
712
  :param account_id:
703
713
  :param image_id:
@@ -723,7 +733,7 @@ class Images(BaseSDK):
723
733
  image_id=image_id,
724
734
  image_update_request_multi_part=components.ImageUpdateRequestMultiPart(
725
735
  image=utils.get_pydantic_model(
726
- image, Optional[components.ImageUpdateRequestMultiPartImage]
736
+ image, components.ImageUpdateRequestMultiPartImage
727
737
  ),
728
738
  metadata=utils.get_pydantic_model(
729
739
  metadata, OptionalNullable[components.Metadata]
@@ -732,7 +742,7 @@ class Images(BaseSDK):
732
742
  )
733
743
 
734
744
  req = self._build_request(
735
- method="PATCH",
745
+ method="PUT",
736
746
  path="/accounts/{accountID}/images/{imageID}",
737
747
  base_url=base_url,
738
748
  url_variables=url_variables,
@@ -826,12 +836,10 @@ class Images(BaseSDK):
826
836
  *,
827
837
  account_id: str,
828
838
  image_id: str,
829
- image: Optional[
830
- Union[
831
- components.ImageUpdateRequestMultiPartImage,
832
- components.ImageUpdateRequestMultiPartImageTypedDict,
833
- ]
834
- ] = None,
839
+ image: Union[
840
+ components.ImageUpdateRequestMultiPartImage,
841
+ components.ImageUpdateRequestMultiPartImageTypedDict,
842
+ ],
835
843
  metadata: OptionalNullable[
836
844
  Union[components.Metadata, components.MetadataTypedDict]
837
845
  ] = UNSET,
@@ -840,11 +848,11 @@ class Images(BaseSDK):
840
848
  timeout_ms: Optional[int] = None,
841
849
  http_headers: Optional[Mapping[str, str]] = None,
842
850
  ) -> operations.UpdateImageResponse:
843
- r"""Update an existing image and/or its metadata.
851
+ r"""Replace an existing image and, optionally, its metadata.
844
852
 
845
- Duplicate images, and requests larger than 16MB will be rejected. Omit any
846
- form parts you do not wish to update. Existing metadata can be cleared by
847
- sending `null` for the `metadata` form part.
853
+ This endpoint replaces the existing image with the new PNG, JPEG, or WebP. Omit
854
+ the metadata form section to keep existing metadata, or send `null` to clear it.
855
+ Duplicate images, and requests larger than 16MB will be rejected.
848
856
 
849
857
  :param account_id:
850
858
  :param image_id:
@@ -870,7 +878,7 @@ class Images(BaseSDK):
870
878
  image_id=image_id,
871
879
  image_update_request_multi_part=components.ImageUpdateRequestMultiPart(
872
880
  image=utils.get_pydantic_model(
873
- image, Optional[components.ImageUpdateRequestMultiPartImage]
881
+ image, components.ImageUpdateRequestMultiPartImage
874
882
  ),
875
883
  metadata=utils.get_pydantic_model(
876
884
  metadata, OptionalNullable[components.Metadata]
@@ -879,7 +887,7 @@ class Images(BaseSDK):
879
887
  )
880
888
 
881
889
  req = self._build_request_async(
882
- method="PATCH",
890
+ method="PUT",
883
891
  path="/accounts/{accountID}/images/{imageID}",
884
892
  base_url=base_url,
885
893
  url_variables=url_variables,
@@ -1188,6 +1196,264 @@ class Images(BaseSDK):
1188
1196
 
1189
1197
  raise errors.APIError("Unexpected response received", http_res)
1190
1198
 
1199
+ def update_metadata(
1200
+ self,
1201
+ *,
1202
+ account_id: str,
1203
+ image_id: str,
1204
+ alt_text: Optional[str] = None,
1205
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
1206
+ server_url: Optional[str] = None,
1207
+ timeout_ms: Optional[int] = None,
1208
+ http_headers: Optional[Mapping[str, str]] = None,
1209
+ ) -> operations.UpdateImageMetadataResponse:
1210
+ r"""Replace the metadata for an existing image.
1211
+
1212
+ :param account_id:
1213
+ :param image_id:
1214
+ :param alt_text: Alternative text for the image.
1215
+ :param retries: Override the default retry configuration for this method
1216
+ :param server_url: Override the default server URL for this method
1217
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
1218
+ :param http_headers: Additional headers to set or replace on requests.
1219
+ """
1220
+ base_url = None
1221
+ url_variables = None
1222
+ if timeout_ms is None:
1223
+ timeout_ms = self.sdk_configuration.timeout_ms
1224
+
1225
+ if server_url is not None:
1226
+ base_url = server_url
1227
+ else:
1228
+ base_url = self._get_url(base_url, url_variables)
1229
+
1230
+ request = operations.UpdateImageMetadataRequest(
1231
+ account_id=account_id,
1232
+ image_id=image_id,
1233
+ image_metadata_request=components.ImageMetadataRequest(
1234
+ alt_text=alt_text,
1235
+ ),
1236
+ )
1237
+
1238
+ req = self._build_request(
1239
+ method="PUT",
1240
+ path="/accounts/{accountID}/images/{imageID}/metadata",
1241
+ base_url=base_url,
1242
+ url_variables=url_variables,
1243
+ request=request,
1244
+ request_body_required=True,
1245
+ request_has_path_params=True,
1246
+ request_has_query_params=True,
1247
+ user_agent_header="user-agent",
1248
+ accept_header_value="application/json",
1249
+ http_headers=http_headers,
1250
+ _globals=operations.UpdateImageMetadataGlobals(
1251
+ x_moov_version=self.sdk_configuration.globals.x_moov_version,
1252
+ ),
1253
+ security=self.sdk_configuration.security,
1254
+ get_serialized_body=lambda: utils.serialize_request_body(
1255
+ request.image_metadata_request,
1256
+ False,
1257
+ False,
1258
+ "json",
1259
+ components.ImageMetadataRequest,
1260
+ ),
1261
+ timeout_ms=timeout_ms,
1262
+ )
1263
+
1264
+ if retries == UNSET:
1265
+ if self.sdk_configuration.retry_config is not UNSET:
1266
+ retries = self.sdk_configuration.retry_config
1267
+
1268
+ retry_config = None
1269
+ if isinstance(retries, utils.RetryConfig):
1270
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
1271
+
1272
+ http_res = self.do_request(
1273
+ hook_ctx=HookContext(
1274
+ config=self.sdk_configuration,
1275
+ base_url=base_url or "",
1276
+ operation_id="updateImageMetadata",
1277
+ oauth2_scopes=None,
1278
+ security_source=get_security_from_env(
1279
+ self.sdk_configuration.security, components.Security
1280
+ ),
1281
+ ),
1282
+ request=req,
1283
+ error_status_codes=[
1284
+ "400",
1285
+ "401",
1286
+ "403",
1287
+ "404",
1288
+ "409",
1289
+ "422",
1290
+ "429",
1291
+ "4XX",
1292
+ "500",
1293
+ "504",
1294
+ "5XX",
1295
+ ],
1296
+ retry_config=retry_config,
1297
+ )
1298
+
1299
+ response_data: Any = None
1300
+ if utils.match_response(http_res, "200", "application/json"):
1301
+ return operations.UpdateImageMetadataResponse(
1302
+ result=unmarshal_json_response(components.ImageMetadata, http_res),
1303
+ headers=utils.get_response_headers(http_res.headers),
1304
+ )
1305
+ if utils.match_response(http_res, ["400", "409"], "application/json"):
1306
+ response_data = unmarshal_json_response(errors.GenericErrorData, http_res)
1307
+ raise errors.GenericError(response_data, http_res)
1308
+ if utils.match_response(http_res, "422", "application/json"):
1309
+ response_data = unmarshal_json_response(
1310
+ errors.ImageMetadataValidationErrorData, http_res
1311
+ )
1312
+ raise errors.ImageMetadataValidationError(response_data, http_res)
1313
+ if utils.match_response(http_res, ["401", "403", "404", "429"], "*"):
1314
+ http_res_text = utils.stream_to_text(http_res)
1315
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1316
+ if utils.match_response(http_res, ["500", "504"], "*"):
1317
+ http_res_text = utils.stream_to_text(http_res)
1318
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1319
+ if utils.match_response(http_res, "4XX", "*"):
1320
+ http_res_text = utils.stream_to_text(http_res)
1321
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1322
+ if utils.match_response(http_res, "5XX", "*"):
1323
+ http_res_text = utils.stream_to_text(http_res)
1324
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1325
+
1326
+ raise errors.APIError("Unexpected response received", http_res)
1327
+
1328
+ async def update_metadata_async(
1329
+ self,
1330
+ *,
1331
+ account_id: str,
1332
+ image_id: str,
1333
+ alt_text: Optional[str] = None,
1334
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
1335
+ server_url: Optional[str] = None,
1336
+ timeout_ms: Optional[int] = None,
1337
+ http_headers: Optional[Mapping[str, str]] = None,
1338
+ ) -> operations.UpdateImageMetadataResponse:
1339
+ r"""Replace the metadata for an existing image.
1340
+
1341
+ :param account_id:
1342
+ :param image_id:
1343
+ :param alt_text: Alternative text for the image.
1344
+ :param retries: Override the default retry configuration for this method
1345
+ :param server_url: Override the default server URL for this method
1346
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
1347
+ :param http_headers: Additional headers to set or replace on requests.
1348
+ """
1349
+ base_url = None
1350
+ url_variables = None
1351
+ if timeout_ms is None:
1352
+ timeout_ms = self.sdk_configuration.timeout_ms
1353
+
1354
+ if server_url is not None:
1355
+ base_url = server_url
1356
+ else:
1357
+ base_url = self._get_url(base_url, url_variables)
1358
+
1359
+ request = operations.UpdateImageMetadataRequest(
1360
+ account_id=account_id,
1361
+ image_id=image_id,
1362
+ image_metadata_request=components.ImageMetadataRequest(
1363
+ alt_text=alt_text,
1364
+ ),
1365
+ )
1366
+
1367
+ req = self._build_request_async(
1368
+ method="PUT",
1369
+ path="/accounts/{accountID}/images/{imageID}/metadata",
1370
+ base_url=base_url,
1371
+ url_variables=url_variables,
1372
+ request=request,
1373
+ request_body_required=True,
1374
+ request_has_path_params=True,
1375
+ request_has_query_params=True,
1376
+ user_agent_header="user-agent",
1377
+ accept_header_value="application/json",
1378
+ http_headers=http_headers,
1379
+ _globals=operations.UpdateImageMetadataGlobals(
1380
+ x_moov_version=self.sdk_configuration.globals.x_moov_version,
1381
+ ),
1382
+ security=self.sdk_configuration.security,
1383
+ get_serialized_body=lambda: utils.serialize_request_body(
1384
+ request.image_metadata_request,
1385
+ False,
1386
+ False,
1387
+ "json",
1388
+ components.ImageMetadataRequest,
1389
+ ),
1390
+ timeout_ms=timeout_ms,
1391
+ )
1392
+
1393
+ if retries == UNSET:
1394
+ if self.sdk_configuration.retry_config is not UNSET:
1395
+ retries = self.sdk_configuration.retry_config
1396
+
1397
+ retry_config = None
1398
+ if isinstance(retries, utils.RetryConfig):
1399
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
1400
+
1401
+ http_res = await self.do_request_async(
1402
+ hook_ctx=HookContext(
1403
+ config=self.sdk_configuration,
1404
+ base_url=base_url or "",
1405
+ operation_id="updateImageMetadata",
1406
+ oauth2_scopes=None,
1407
+ security_source=get_security_from_env(
1408
+ self.sdk_configuration.security, components.Security
1409
+ ),
1410
+ ),
1411
+ request=req,
1412
+ error_status_codes=[
1413
+ "400",
1414
+ "401",
1415
+ "403",
1416
+ "404",
1417
+ "409",
1418
+ "422",
1419
+ "429",
1420
+ "4XX",
1421
+ "500",
1422
+ "504",
1423
+ "5XX",
1424
+ ],
1425
+ retry_config=retry_config,
1426
+ )
1427
+
1428
+ response_data: Any = None
1429
+ if utils.match_response(http_res, "200", "application/json"):
1430
+ return operations.UpdateImageMetadataResponse(
1431
+ result=unmarshal_json_response(components.ImageMetadata, http_res),
1432
+ headers=utils.get_response_headers(http_res.headers),
1433
+ )
1434
+ if utils.match_response(http_res, ["400", "409"], "application/json"):
1435
+ response_data = unmarshal_json_response(errors.GenericErrorData, http_res)
1436
+ raise errors.GenericError(response_data, http_res)
1437
+ if utils.match_response(http_res, "422", "application/json"):
1438
+ response_data = unmarshal_json_response(
1439
+ errors.ImageMetadataValidationErrorData, http_res
1440
+ )
1441
+ raise errors.ImageMetadataValidationError(response_data, http_res)
1442
+ if utils.match_response(http_res, ["401", "403", "404", "429"], "*"):
1443
+ http_res_text = await utils.stream_to_text_async(http_res)
1444
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1445
+ if utils.match_response(http_res, ["500", "504"], "*"):
1446
+ http_res_text = await utils.stream_to_text_async(http_res)
1447
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1448
+ if utils.match_response(http_res, "4XX", "*"):
1449
+ http_res_text = await utils.stream_to_text_async(http_res)
1450
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1451
+ if utils.match_response(http_res, "5XX", "*"):
1452
+ http_res_text = await utils.stream_to_text_async(http_res)
1453
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1454
+
1455
+ raise errors.APIError("Unexpected response received", http_res)
1456
+
1191
1457
  def get_public(
1192
1458
  self,
1193
1459
  *,
@@ -1261,7 +1527,7 @@ class Images(BaseSDK):
1261
1527
  security_source=None,
1262
1528
  ),
1263
1529
  request=req,
1264
- error_status_codes=["404", "429", "4XX", "500", "502", "504", "5XX"],
1530
+ error_status_codes=["404", "429", "4XX", "500", "502", "503", "504", "5XX"],
1265
1531
  stream=True,
1266
1532
  retry_config=retry_config,
1267
1533
  )
@@ -1281,7 +1547,7 @@ class Images(BaseSDK):
1281
1547
  if utils.match_response(http_res, ["404", "429"], "*"):
1282
1548
  http_res_text = utils.stream_to_text(http_res)
1283
1549
  raise errors.APIError("API error occurred", http_res, http_res_text)
1284
- if utils.match_response(http_res, ["500", "502", "504"], "*"):
1550
+ if utils.match_response(http_res, ["500", "502", "503", "504"], "*"):
1285
1551
  http_res_text = utils.stream_to_text(http_res)
1286
1552
  raise errors.APIError("API error occurred", http_res, http_res_text)
1287
1553
  if utils.match_response(http_res, "4XX", "*"):
@@ -1367,7 +1633,7 @@ class Images(BaseSDK):
1367
1633
  security_source=None,
1368
1634
  ),
1369
1635
  request=req,
1370
- error_status_codes=["404", "429", "4XX", "500", "502", "504", "5XX"],
1636
+ error_status_codes=["404", "429", "4XX", "500", "502", "503", "504", "5XX"],
1371
1637
  stream=True,
1372
1638
  retry_config=retry_config,
1373
1639
  )
@@ -1387,7 +1653,7 @@ class Images(BaseSDK):
1387
1653
  if utils.match_response(http_res, ["404", "429"], "*"):
1388
1654
  http_res_text = await utils.stream_to_text_async(http_res)
1389
1655
  raise errors.APIError("API error occurred", http_res, http_res_text)
1390
- if utils.match_response(http_res, ["500", "502", "504"], "*"):
1656
+ if utils.match_response(http_res, ["500", "502", "503", "504"], "*"):
1391
1657
  http_res_text = await utils.stream_to_text_async(http_res)
1392
1658
  raise errors.APIError("API error occurred", http_res, http_res_text)
1393
1659
  if utils.match_response(http_res, "4XX", "*"):
@@ -490,23 +490,6 @@ if TYPE_CHECKING:
490
490
  from .fulfillmenttimeframe import FulfillmentTimeframe
491
491
  from .fullissuedcard import FullIssuedCard, FullIssuedCardTypedDict
492
492
  from .generatedby import GeneratedBy, GeneratedByTypedDict
493
- from .generatedbyaccountid import (
494
- GeneratedByAccountID,
495
- GeneratedByAccountIDTypedDict,
496
- )
497
- from .generatedbybankaccountid import (
498
- GeneratedByBankAccountID,
499
- GeneratedByBankAccountIDTypedDict,
500
- )
501
- from .generatedbycardid import GeneratedByCardID, GeneratedByCardIDTypedDict
502
- from .generatedbydisputeid import (
503
- GeneratedByDisputeID,
504
- GeneratedByDisputeIDTypedDict,
505
- )
506
- from .generatedbytransferid import (
507
- GeneratedByTransferID,
508
- GeneratedByTransferIDTypedDict,
509
- )
510
493
  from .geographicreach import GeographicReach
511
494
  from .governmentid import (
512
495
  GovernmentID,
@@ -1604,16 +1587,6 @@ __all__ = [
1604
1587
  "FullIssuedCard",
1605
1588
  "FullIssuedCardTypedDict",
1606
1589
  "GeneratedBy",
1607
- "GeneratedByAccountID",
1608
- "GeneratedByAccountIDTypedDict",
1609
- "GeneratedByBankAccountID",
1610
- "GeneratedByBankAccountIDTypedDict",
1611
- "GeneratedByCardID",
1612
- "GeneratedByCardIDTypedDict",
1613
- "GeneratedByDisputeID",
1614
- "GeneratedByDisputeIDTypedDict",
1615
- "GeneratedByTransferID",
1616
- "GeneratedByTransferIDTypedDict",
1617
1590
  "GeneratedByTypedDict",
1618
1591
  "GeographicReach",
1619
1592
  "GovernmentID",
@@ -2592,16 +2565,6 @@ _dynamic_imports: dict[str, str] = {
2592
2565
  "FullIssuedCardTypedDict": ".fullissuedcard",
2593
2566
  "GeneratedBy": ".generatedby",
2594
2567
  "GeneratedByTypedDict": ".generatedby",
2595
- "GeneratedByAccountID": ".generatedbyaccountid",
2596
- "GeneratedByAccountIDTypedDict": ".generatedbyaccountid",
2597
- "GeneratedByBankAccountID": ".generatedbybankaccountid",
2598
- "GeneratedByBankAccountIDTypedDict": ".generatedbybankaccountid",
2599
- "GeneratedByCardID": ".generatedbycardid",
2600
- "GeneratedByCardIDTypedDict": ".generatedbycardid",
2601
- "GeneratedByDisputeID": ".generatedbydisputeid",
2602
- "GeneratedByDisputeIDTypedDict": ".generatedbydisputeid",
2603
- "GeneratedByTransferID": ".generatedbytransferid",
2604
- "GeneratedByTransferIDTypedDict": ".generatedbytransferid",
2605
2568
  "GeographicReach": ".geographicreach",
2606
2569
  "GovernmentID": ".governmentid",
2607
2570
  "GovernmentIDTypedDict": ".governmentid",
@@ -1,39 +1,33 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from .generatedbyaccountid import GeneratedByAccountID, GeneratedByAccountIDTypedDict
5
- from .generatedbybankaccountid import (
6
- GeneratedByBankAccountID,
7
- GeneratedByBankAccountIDTypedDict,
8
- )
9
- from .generatedbycardid import GeneratedByCardID, GeneratedByCardIDTypedDict
10
- from .generatedbydisputeid import GeneratedByDisputeID, GeneratedByDisputeIDTypedDict
11
- from .generatedbytransferid import GeneratedByTransferID, GeneratedByTransferIDTypedDict
12
- from typing import Union
13
- from typing_extensions import TypeAliasType
14
-
15
-
16
- GeneratedByTypedDict = TypeAliasType(
17
- "GeneratedByTypedDict",
18
- Union[
19
- GeneratedByTransferIDTypedDict,
20
- GeneratedByCardIDTypedDict,
21
- GeneratedByDisputeIDTypedDict,
22
- GeneratedByAccountIDTypedDict,
23
- GeneratedByBankAccountIDTypedDict,
24
- ],
25
- )
26
- r"""The entity that generated the fee."""
27
-
28
-
29
- GeneratedBy = TypeAliasType(
30
- "GeneratedBy",
31
- Union[
32
- GeneratedByTransferID,
33
- GeneratedByCardID,
34
- GeneratedByDisputeID,
35
- GeneratedByAccountID,
36
- GeneratedByBankAccountID,
37
- ],
38
- )
39
- r"""The entity that generated the fee."""
4
+ from moovio_sdk.types import BaseModel
5
+ import pydantic
6
+ from typing import Optional
7
+ from typing_extensions import Annotated, NotRequired, TypedDict
8
+
9
+
10
+ class GeneratedByTypedDict(TypedDict):
11
+ r"""The entity that generated the fee."""
12
+
13
+ transfer_id: NotRequired[str]
14
+ card_id: NotRequired[str]
15
+ dispute_id: NotRequired[str]
16
+ account_id: NotRequired[str]
17
+ bank_account_id: NotRequired[str]
18
+
19
+
20
+ class GeneratedBy(BaseModel):
21
+ r"""The entity that generated the fee."""
22
+
23
+ transfer_id: Annotated[Optional[str], pydantic.Field(alias="transferID")] = None
24
+
25
+ card_id: Annotated[Optional[str], pydantic.Field(alias="cardID")] = None
26
+
27
+ dispute_id: Annotated[Optional[str], pydantic.Field(alias="disputeID")] = None
28
+
29
+ account_id: Annotated[Optional[str], pydantic.Field(alias="accountID")] = None
30
+
31
+ bank_account_id: Annotated[Optional[str], pydantic.Field(alias="bankAccountID")] = (
32
+ None
33
+ )
@@ -63,7 +63,7 @@ class Metadata(BaseModel):
63
63
  class ImageUpdateRequestMultiPartTypedDict(TypedDict):
64
64
  r"""Multipart request body for updating an image and/or its metadata."""
65
65
 
66
- image: NotRequired[ImageUpdateRequestMultiPartImageTypedDict]
66
+ image: ImageUpdateRequestMultiPartImageTypedDict
67
67
  metadata: NotRequired[Nullable[MetadataTypedDict]]
68
68
  r"""JSON-encoded metadata to update for the image.
69
69
 
@@ -75,9 +75,9 @@ class ImageUpdateRequestMultiPart(BaseModel):
75
75
  r"""Multipart request body for updating an image and/or its metadata."""
76
76
 
77
77
  image: Annotated[
78
- Optional[ImageUpdateRequestMultiPartImage],
78
+ ImageUpdateRequestMultiPartImage,
79
79
  FieldMetadata(multipart=MultipartFormMetadata(file=True)),
80
- ] = None
80
+ ]
81
81
 
82
82
  metadata: Annotated[
83
83
  OptionalNullable[Metadata],
@@ -90,7 +90,7 @@ class ImageUpdateRequestMultiPart(BaseModel):
90
90
 
91
91
  @model_serializer(mode="wrap")
92
92
  def serialize_model(self, handler):
93
- optional_fields = ["image", "metadata"]
93
+ optional_fields = ["metadata"]
94
94
  nullable_fields = ["metadata"]
95
95
  null_default_fields = []
96
96
 
@@ -44,6 +44,10 @@ if TYPE_CHECKING:
44
44
  )
45
45
  from .filevalidationerror import FileValidationError, FileValidationErrorData
46
46
  from .genericerror import GenericError, GenericErrorData
47
+ from .imagemetadatavalidationerror import (
48
+ ImageMetadataValidationError,
49
+ ImageMetadataValidationErrorData,
50
+ )
47
51
  from .imagerequestvalidationerror import (
48
52
  ImageRequestValidationError,
49
53
  ImageRequestValidationErrorData,
@@ -172,6 +176,8 @@ __all__ = [
172
176
  "FileValidationErrorData",
173
177
  "GenericError",
174
178
  "GenericErrorData",
179
+ "ImageMetadataValidationError",
180
+ "ImageMetadataValidationErrorData",
175
181
  "ImageRequestValidationError",
176
182
  "ImageRequestValidationErrorData",
177
183
  "LinkApplePayError",
@@ -273,6 +279,8 @@ _dynamic_imports: dict[str, str] = {
273
279
  "FileValidationErrorData": ".filevalidationerror",
274
280
  "GenericError": ".genericerror",
275
281
  "GenericErrorData": ".genericerror",
282
+ "ImageMetadataValidationError": ".imagemetadatavalidationerror",
283
+ "ImageMetadataValidationErrorData": ".imagemetadatavalidationerror",
276
284
  "ImageRequestValidationError": ".imagerequestvalidationerror",
277
285
  "ImageRequestValidationErrorData": ".imagerequestvalidationerror",
278
286
  "LinkApplePayError": ".linkapplepayerror",