pluggy-sdk 1.0.0.post16__py3-none-any.whl → 1.0.0.post18__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 (63) hide show
  1. pluggy_sdk/__init__.py +9 -3
  2. pluggy_sdk/api/__init__.py +1 -2
  3. pluggy_sdk/api/payment_request_api.py +804 -0
  4. pluggy_sdk/api/payment_schedule_api.py +3 -3
  5. pluggy_sdk/api/smart_account_api.py +572 -0
  6. pluggy_sdk/api/smart_transfer_api.py +1396 -0
  7. pluggy_sdk/api_client.py +8 -1
  8. pluggy_sdk/configuration.py +1 -1
  9. pluggy_sdk/models/__init__.py +7 -0
  10. pluggy_sdk/models/accounts_list200_response.py +3 -3
  11. pluggy_sdk/models/acquirer_receivable.py +3 -3
  12. pluggy_sdk/models/acquirer_sale.py +3 -3
  13. pluggy_sdk/models/acquirer_sale_data.py +3 -3
  14. pluggy_sdk/models/aggregated_portfolio_response.py +3 -3
  15. pluggy_sdk/models/benefit_response.py +3 -3
  16. pluggy_sdk/models/benefits_list200_response.py +3 -3
  17. pluggy_sdk/models/bill.py +3 -3
  18. pluggy_sdk/models/bills_list200_response.py +3 -3
  19. pluggy_sdk/models/bulk_payment.py +3 -3
  20. pluggy_sdk/models/bulk_payments_list200_response.py +3 -3
  21. pluggy_sdk/models/connector.py +3 -3
  22. pluggy_sdk/models/connector_credential.py +3 -3
  23. pluggy_sdk/models/connector_list_response.py +3 -3
  24. pluggy_sdk/models/create_smart_transfer_payment.py +96 -0
  25. pluggy_sdk/models/create_smart_transfer_preauthorization.py +104 -0
  26. pluggy_sdk/models/identity_response.py +12 -12
  27. pluggy_sdk/models/income_reports_response.py +3 -3
  28. pluggy_sdk/models/investment.py +3 -3
  29. pluggy_sdk/models/investments_list200_response.py +3 -3
  30. pluggy_sdk/models/item_creation_error_response.py +3 -3
  31. pluggy_sdk/models/loan.py +12 -12
  32. pluggy_sdk/models/loan_installments.py +3 -3
  33. pluggy_sdk/models/loan_payment_release_over_parcel.py +6 -6
  34. pluggy_sdk/models/loan_payments.py +3 -3
  35. pluggy_sdk/models/loans_list200_response.py +3 -3
  36. pluggy_sdk/models/monthly_portfolio_response.py +3 -3
  37. pluggy_sdk/models/page_response_acquirer_anticipations.py +3 -3
  38. pluggy_sdk/models/page_response_acquirer_receivables.py +3 -3
  39. pluggy_sdk/models/page_response_acquirer_sales.py +3 -3
  40. pluggy_sdk/models/page_response_category_rules.py +3 -3
  41. pluggy_sdk/models/page_response_consents.py +3 -3
  42. pluggy_sdk/models/page_response_investment_transactions.py +3 -3
  43. pluggy_sdk/models/page_response_transactions.py +3 -3
  44. pluggy_sdk/models/parameter_validation_response.py +3 -3
  45. pluggy_sdk/models/payment_customers_list200_response.py +3 -3
  46. pluggy_sdk/models/payment_intents_list200_response.py +3 -3
  47. pluggy_sdk/models/payment_recipients_institution_list200_response.py +3 -3
  48. pluggy_sdk/models/payment_recipients_list200_response.py +3 -3
  49. pluggy_sdk/models/payment_request_receipt_list200_response.py +3 -3
  50. pluggy_sdk/models/payment_requests_list200_response.py +3 -3
  51. pluggy_sdk/models/payment_schedules_list200_response.py +3 -3
  52. pluggy_sdk/models/smart_accounts_list200_response.py +3 -3
  53. pluggy_sdk/models/smart_tranfers_preauthorizations_list200_response.py +102 -0
  54. pluggy_sdk/models/smart_transfer_callback_urls.py +90 -0
  55. pluggy_sdk/models/smart_transfer_payment.py +116 -0
  56. pluggy_sdk/models/smart_transfer_preauthorization.py +128 -0
  57. pluggy_sdk/models/smart_transfer_preauthorization_parameter.py +90 -0
  58. pluggy_sdk/models/status_detail_product.py +3 -3
  59. pluggy_sdk/models/webhooks_list200_response.py +3 -3
  60. {pluggy_sdk-1.0.0.post16.dist-info → pluggy_sdk-1.0.0.post18.dist-info}/METADATA +20 -8
  61. {pluggy_sdk-1.0.0.post16.dist-info → pluggy_sdk-1.0.0.post18.dist-info}/RECORD +63 -55
  62. {pluggy_sdk-1.0.0.post16.dist-info → pluggy_sdk-1.0.0.post18.dist-info}/WHEEL +1 -1
  63. {pluggy_sdk-1.0.0.post16.dist-info → pluggy_sdk-1.0.0.post18.dist-info}/top_level.txt +0 -0
@@ -575,7 +575,7 @@ class PaymentScheduleApi:
575
575
  _headers: Optional[Dict[StrictStr, Any]] = None,
576
576
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
577
577
  ) -> PaymentSchedulesList200Response:
578
- """Schedule List
578
+ """List Schedules
579
579
 
580
580
  Recovers all scheduled payments from a payment request
581
581
 
@@ -642,7 +642,7 @@ class PaymentScheduleApi:
642
642
  _headers: Optional[Dict[StrictStr, Any]] = None,
643
643
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
644
644
  ) -> ApiResponse[PaymentSchedulesList200Response]:
645
- """Schedule List
645
+ """List Schedules
646
646
 
647
647
  Recovers all scheduled payments from a payment request
648
648
 
@@ -709,7 +709,7 @@ class PaymentScheduleApi:
709
709
  _headers: Optional[Dict[StrictStr, Any]] = None,
710
710
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
711
711
  ) -> RESTResponseType:
712
- """Schedule List
712
+ """List Schedules
713
713
 
714
714
  Recovers all scheduled payments from a payment request
715
715
 
@@ -21,8 +21,10 @@ from pydantic import Field, StrictFloat, StrictInt, StrictStr
21
21
  from typing import Optional, Union
22
22
  from typing_extensions import Annotated
23
23
  from pluggy_sdk.models.create_smart_account_request import CreateSmartAccountRequest
24
+ from pluggy_sdk.models.create_smart_account_transfer_request import CreateSmartAccountTransferRequest
24
25
  from pluggy_sdk.models.smart_account import SmartAccount
25
26
  from pluggy_sdk.models.smart_account_balance import SmartAccountBalance
27
+ from pluggy_sdk.models.smart_account_transfer import SmartAccountTransfer
26
28
  from pluggy_sdk.models.smart_accounts_list200_response import SmartAccountsList200Response
27
29
 
28
30
  from pluggy_sdk.api_client import ApiClient, RequestSerialized
@@ -842,6 +844,576 @@ class SmartAccountApi:
842
844
 
843
845
 
844
846
 
847
+ @validate_call
848
+ def smart_account_transfer(
849
+ self,
850
+ id: Annotated[StrictStr, Field(description="Smart account primary identifier")],
851
+ transfer_id: Annotated[StrictStr, Field(description="Transfer primary identifier")],
852
+ _request_timeout: Union[
853
+ None,
854
+ Annotated[StrictFloat, Field(gt=0)],
855
+ Tuple[
856
+ Annotated[StrictFloat, Field(gt=0)],
857
+ Annotated[StrictFloat, Field(gt=0)]
858
+ ]
859
+ ] = None,
860
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
861
+ _content_type: Optional[StrictStr] = None,
862
+ _headers: Optional[Dict[StrictStr, Any]] = None,
863
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
864
+ ) -> SmartAccountTransfer:
865
+ """Retrieve Transfer
866
+
867
+ Get a transfer from the smart account
868
+
869
+ :param id: Smart account primary identifier (required)
870
+ :type id: str
871
+ :param transfer_id: Transfer primary identifier (required)
872
+ :type transfer_id: str
873
+ :param _request_timeout: timeout setting for this request. If one
874
+ number provided, it will be total request
875
+ timeout. It can also be a pair (tuple) of
876
+ (connection, read) timeouts.
877
+ :type _request_timeout: int, tuple(int, int), optional
878
+ :param _request_auth: set to override the auth_settings for an a single
879
+ request; this effectively ignores the
880
+ authentication in the spec for a single request.
881
+ :type _request_auth: dict, optional
882
+ :param _content_type: force content-type for the request.
883
+ :type _content_type: str, Optional
884
+ :param _headers: set to override the headers for a single
885
+ request; this effectively ignores the headers
886
+ in the spec for a single request.
887
+ :type _headers: dict, optional
888
+ :param _host_index: set to override the host_index for a single
889
+ request; this effectively ignores the host_index
890
+ in the spec for a single request.
891
+ :type _host_index: int, optional
892
+ :return: Returns the result object.
893
+ """ # noqa: E501
894
+
895
+ _param = self._smart_account_transfer_serialize(
896
+ id=id,
897
+ transfer_id=transfer_id,
898
+ _request_auth=_request_auth,
899
+ _content_type=_content_type,
900
+ _headers=_headers,
901
+ _host_index=_host_index
902
+ )
903
+
904
+ _response_types_map: Dict[str, Optional[str]] = {
905
+ '200': "SmartAccountTransfer",
906
+ '404': "GlobalErrorResponse",
907
+ '400': "GlobalErrorResponse",
908
+ }
909
+ response_data = self.api_client.call_api(
910
+ *_param,
911
+ _request_timeout=_request_timeout
912
+ )
913
+ response_data.read()
914
+ return self.api_client.response_deserialize(
915
+ response_data=response_data,
916
+ response_types_map=_response_types_map,
917
+ ).data
918
+
919
+
920
+ @validate_call
921
+ def smart_account_transfer_with_http_info(
922
+ self,
923
+ id: Annotated[StrictStr, Field(description="Smart account primary identifier")],
924
+ transfer_id: Annotated[StrictStr, Field(description="Transfer primary identifier")],
925
+ _request_timeout: Union[
926
+ None,
927
+ Annotated[StrictFloat, Field(gt=0)],
928
+ Tuple[
929
+ Annotated[StrictFloat, Field(gt=0)],
930
+ Annotated[StrictFloat, Field(gt=0)]
931
+ ]
932
+ ] = None,
933
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
934
+ _content_type: Optional[StrictStr] = None,
935
+ _headers: Optional[Dict[StrictStr, Any]] = None,
936
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
937
+ ) -> ApiResponse[SmartAccountTransfer]:
938
+ """Retrieve Transfer
939
+
940
+ Get a transfer from the smart account
941
+
942
+ :param id: Smart account primary identifier (required)
943
+ :type id: str
944
+ :param transfer_id: Transfer primary identifier (required)
945
+ :type transfer_id: str
946
+ :param _request_timeout: timeout setting for this request. If one
947
+ number provided, it will be total request
948
+ timeout. It can also be a pair (tuple) of
949
+ (connection, read) timeouts.
950
+ :type _request_timeout: int, tuple(int, int), optional
951
+ :param _request_auth: set to override the auth_settings for an a single
952
+ request; this effectively ignores the
953
+ authentication in the spec for a single request.
954
+ :type _request_auth: dict, optional
955
+ :param _content_type: force content-type for the request.
956
+ :type _content_type: str, Optional
957
+ :param _headers: set to override the headers for a single
958
+ request; this effectively ignores the headers
959
+ in the spec for a single request.
960
+ :type _headers: dict, optional
961
+ :param _host_index: set to override the host_index for a single
962
+ request; this effectively ignores the host_index
963
+ in the spec for a single request.
964
+ :type _host_index: int, optional
965
+ :return: Returns the result object.
966
+ """ # noqa: E501
967
+
968
+ _param = self._smart_account_transfer_serialize(
969
+ id=id,
970
+ transfer_id=transfer_id,
971
+ _request_auth=_request_auth,
972
+ _content_type=_content_type,
973
+ _headers=_headers,
974
+ _host_index=_host_index
975
+ )
976
+
977
+ _response_types_map: Dict[str, Optional[str]] = {
978
+ '200': "SmartAccountTransfer",
979
+ '404': "GlobalErrorResponse",
980
+ '400': "GlobalErrorResponse",
981
+ }
982
+ response_data = self.api_client.call_api(
983
+ *_param,
984
+ _request_timeout=_request_timeout
985
+ )
986
+ response_data.read()
987
+ return self.api_client.response_deserialize(
988
+ response_data=response_data,
989
+ response_types_map=_response_types_map,
990
+ )
991
+
992
+
993
+ @validate_call
994
+ def smart_account_transfer_without_preload_content(
995
+ self,
996
+ id: Annotated[StrictStr, Field(description="Smart account primary identifier")],
997
+ transfer_id: Annotated[StrictStr, Field(description="Transfer primary identifier")],
998
+ _request_timeout: Union[
999
+ None,
1000
+ Annotated[StrictFloat, Field(gt=0)],
1001
+ Tuple[
1002
+ Annotated[StrictFloat, Field(gt=0)],
1003
+ Annotated[StrictFloat, Field(gt=0)]
1004
+ ]
1005
+ ] = None,
1006
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1007
+ _content_type: Optional[StrictStr] = None,
1008
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1009
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1010
+ ) -> RESTResponseType:
1011
+ """Retrieve Transfer
1012
+
1013
+ Get a transfer from the smart account
1014
+
1015
+ :param id: Smart account primary identifier (required)
1016
+ :type id: str
1017
+ :param transfer_id: Transfer primary identifier (required)
1018
+ :type transfer_id: str
1019
+ :param _request_timeout: timeout setting for this request. If one
1020
+ number provided, it will be total request
1021
+ timeout. It can also be a pair (tuple) of
1022
+ (connection, read) timeouts.
1023
+ :type _request_timeout: int, tuple(int, int), optional
1024
+ :param _request_auth: set to override the auth_settings for an a single
1025
+ request; this effectively ignores the
1026
+ authentication in the spec for a single request.
1027
+ :type _request_auth: dict, optional
1028
+ :param _content_type: force content-type for the request.
1029
+ :type _content_type: str, Optional
1030
+ :param _headers: set to override the headers for a single
1031
+ request; this effectively ignores the headers
1032
+ in the spec for a single request.
1033
+ :type _headers: dict, optional
1034
+ :param _host_index: set to override the host_index for a single
1035
+ request; this effectively ignores the host_index
1036
+ in the spec for a single request.
1037
+ :type _host_index: int, optional
1038
+ :return: Returns the result object.
1039
+ """ # noqa: E501
1040
+
1041
+ _param = self._smart_account_transfer_serialize(
1042
+ id=id,
1043
+ transfer_id=transfer_id,
1044
+ _request_auth=_request_auth,
1045
+ _content_type=_content_type,
1046
+ _headers=_headers,
1047
+ _host_index=_host_index
1048
+ )
1049
+
1050
+ _response_types_map: Dict[str, Optional[str]] = {
1051
+ '200': "SmartAccountTransfer",
1052
+ '404': "GlobalErrorResponse",
1053
+ '400': "GlobalErrorResponse",
1054
+ }
1055
+ response_data = self.api_client.call_api(
1056
+ *_param,
1057
+ _request_timeout=_request_timeout
1058
+ )
1059
+ return response_data.response
1060
+
1061
+
1062
+ def _smart_account_transfer_serialize(
1063
+ self,
1064
+ id,
1065
+ transfer_id,
1066
+ _request_auth,
1067
+ _content_type,
1068
+ _headers,
1069
+ _host_index,
1070
+ ) -> RequestSerialized:
1071
+
1072
+ _host = None
1073
+
1074
+ _collection_formats: Dict[str, str] = {
1075
+ }
1076
+
1077
+ _path_params: Dict[str, str] = {}
1078
+ _query_params: List[Tuple[str, str]] = []
1079
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1080
+ _form_params: List[Tuple[str, str]] = []
1081
+ _files: Dict[str, Union[str, bytes]] = {}
1082
+ _body_params: Optional[bytes] = None
1083
+
1084
+ # process the path parameters
1085
+ if id is not None:
1086
+ _path_params['id'] = id
1087
+ if transfer_id is not None:
1088
+ _path_params['transfer_id'] = transfer_id
1089
+ # process the query parameters
1090
+ # process the header parameters
1091
+ # process the form parameters
1092
+ # process the body parameter
1093
+
1094
+
1095
+ # set the HTTP header `Accept`
1096
+ if 'Accept' not in _header_params:
1097
+ _header_params['Accept'] = self.api_client.select_header_accept(
1098
+ [
1099
+ 'application/json'
1100
+ ]
1101
+ )
1102
+
1103
+
1104
+ # authentication setting
1105
+ _auth_settings: List[str] = [
1106
+ 'default'
1107
+ ]
1108
+
1109
+ return self.api_client.param_serialize(
1110
+ method='GET',
1111
+ resource_path='/payments/smart-accounts/{id}/transfers/{transfer_id}',
1112
+ path_params=_path_params,
1113
+ query_params=_query_params,
1114
+ header_params=_header_params,
1115
+ body=_body_params,
1116
+ post_params=_form_params,
1117
+ files=_files,
1118
+ auth_settings=_auth_settings,
1119
+ collection_formats=_collection_formats,
1120
+ _host=_host,
1121
+ _request_auth=_request_auth
1122
+ )
1123
+
1124
+
1125
+
1126
+
1127
+ @validate_call
1128
+ def smart_account_transfer_create(
1129
+ self,
1130
+ id: Annotated[StrictStr, Field(description="Smart account primary identifier")],
1131
+ create_smart_account_transfer_request: CreateSmartAccountTransferRequest,
1132
+ _request_timeout: Union[
1133
+ None,
1134
+ Annotated[StrictFloat, Field(gt=0)],
1135
+ Tuple[
1136
+ Annotated[StrictFloat, Field(gt=0)],
1137
+ Annotated[StrictFloat, Field(gt=0)]
1138
+ ]
1139
+ ] = None,
1140
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1141
+ _content_type: Optional[StrictStr] = None,
1142
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1143
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1144
+ ) -> SmartAccountTransfer:
1145
+ """Create Transfer
1146
+
1147
+ Creates the smart account transfer resource
1148
+
1149
+ :param id: Smart account primary identifier (required)
1150
+ :type id: str
1151
+ :param create_smart_account_transfer_request: (required)
1152
+ :type create_smart_account_transfer_request: CreateSmartAccountTransferRequest
1153
+ :param _request_timeout: timeout setting for this request. If one
1154
+ number provided, it will be total request
1155
+ timeout. It can also be a pair (tuple) of
1156
+ (connection, read) timeouts.
1157
+ :type _request_timeout: int, tuple(int, int), optional
1158
+ :param _request_auth: set to override the auth_settings for an a single
1159
+ request; this effectively ignores the
1160
+ authentication in the spec for a single request.
1161
+ :type _request_auth: dict, optional
1162
+ :param _content_type: force content-type for the request.
1163
+ :type _content_type: str, Optional
1164
+ :param _headers: set to override the headers for a single
1165
+ request; this effectively ignores the headers
1166
+ in the spec for a single request.
1167
+ :type _headers: dict, optional
1168
+ :param _host_index: set to override the host_index for a single
1169
+ request; this effectively ignores the host_index
1170
+ in the spec for a single request.
1171
+ :type _host_index: int, optional
1172
+ :return: Returns the result object.
1173
+ """ # noqa: E501
1174
+
1175
+ _param = self._smart_account_transfer_create_serialize(
1176
+ id=id,
1177
+ create_smart_account_transfer_request=create_smart_account_transfer_request,
1178
+ _request_auth=_request_auth,
1179
+ _content_type=_content_type,
1180
+ _headers=_headers,
1181
+ _host_index=_host_index
1182
+ )
1183
+
1184
+ _response_types_map: Dict[str, Optional[str]] = {
1185
+ '200': "SmartAccountTransfer",
1186
+ '400': "GlobalErrorResponse",
1187
+ }
1188
+ response_data = self.api_client.call_api(
1189
+ *_param,
1190
+ _request_timeout=_request_timeout
1191
+ )
1192
+ response_data.read()
1193
+ return self.api_client.response_deserialize(
1194
+ response_data=response_data,
1195
+ response_types_map=_response_types_map,
1196
+ ).data
1197
+
1198
+
1199
+ @validate_call
1200
+ def smart_account_transfer_create_with_http_info(
1201
+ self,
1202
+ id: Annotated[StrictStr, Field(description="Smart account primary identifier")],
1203
+ create_smart_account_transfer_request: CreateSmartAccountTransferRequest,
1204
+ _request_timeout: Union[
1205
+ None,
1206
+ Annotated[StrictFloat, Field(gt=0)],
1207
+ Tuple[
1208
+ Annotated[StrictFloat, Field(gt=0)],
1209
+ Annotated[StrictFloat, Field(gt=0)]
1210
+ ]
1211
+ ] = None,
1212
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1213
+ _content_type: Optional[StrictStr] = None,
1214
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1215
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1216
+ ) -> ApiResponse[SmartAccountTransfer]:
1217
+ """Create Transfer
1218
+
1219
+ Creates the smart account transfer resource
1220
+
1221
+ :param id: Smart account primary identifier (required)
1222
+ :type id: str
1223
+ :param create_smart_account_transfer_request: (required)
1224
+ :type create_smart_account_transfer_request: CreateSmartAccountTransferRequest
1225
+ :param _request_timeout: timeout setting for this request. If one
1226
+ number provided, it will be total request
1227
+ timeout. It can also be a pair (tuple) of
1228
+ (connection, read) timeouts.
1229
+ :type _request_timeout: int, tuple(int, int), optional
1230
+ :param _request_auth: set to override the auth_settings for an a single
1231
+ request; this effectively ignores the
1232
+ authentication in the spec for a single request.
1233
+ :type _request_auth: dict, optional
1234
+ :param _content_type: force content-type for the request.
1235
+ :type _content_type: str, Optional
1236
+ :param _headers: set to override the headers for a single
1237
+ request; this effectively ignores the headers
1238
+ in the spec for a single request.
1239
+ :type _headers: dict, optional
1240
+ :param _host_index: set to override the host_index for a single
1241
+ request; this effectively ignores the host_index
1242
+ in the spec for a single request.
1243
+ :type _host_index: int, optional
1244
+ :return: Returns the result object.
1245
+ """ # noqa: E501
1246
+
1247
+ _param = self._smart_account_transfer_create_serialize(
1248
+ id=id,
1249
+ create_smart_account_transfer_request=create_smart_account_transfer_request,
1250
+ _request_auth=_request_auth,
1251
+ _content_type=_content_type,
1252
+ _headers=_headers,
1253
+ _host_index=_host_index
1254
+ )
1255
+
1256
+ _response_types_map: Dict[str, Optional[str]] = {
1257
+ '200': "SmartAccountTransfer",
1258
+ '400': "GlobalErrorResponse",
1259
+ }
1260
+ response_data = self.api_client.call_api(
1261
+ *_param,
1262
+ _request_timeout=_request_timeout
1263
+ )
1264
+ response_data.read()
1265
+ return self.api_client.response_deserialize(
1266
+ response_data=response_data,
1267
+ response_types_map=_response_types_map,
1268
+ )
1269
+
1270
+
1271
+ @validate_call
1272
+ def smart_account_transfer_create_without_preload_content(
1273
+ self,
1274
+ id: Annotated[StrictStr, Field(description="Smart account primary identifier")],
1275
+ create_smart_account_transfer_request: CreateSmartAccountTransferRequest,
1276
+ _request_timeout: Union[
1277
+ None,
1278
+ Annotated[StrictFloat, Field(gt=0)],
1279
+ Tuple[
1280
+ Annotated[StrictFloat, Field(gt=0)],
1281
+ Annotated[StrictFloat, Field(gt=0)]
1282
+ ]
1283
+ ] = None,
1284
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1285
+ _content_type: Optional[StrictStr] = None,
1286
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1287
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1288
+ ) -> RESTResponseType:
1289
+ """Create Transfer
1290
+
1291
+ Creates the smart account transfer resource
1292
+
1293
+ :param id: Smart account primary identifier (required)
1294
+ :type id: str
1295
+ :param create_smart_account_transfer_request: (required)
1296
+ :type create_smart_account_transfer_request: CreateSmartAccountTransferRequest
1297
+ :param _request_timeout: timeout setting for this request. If one
1298
+ number provided, it will be total request
1299
+ timeout. It can also be a pair (tuple) of
1300
+ (connection, read) timeouts.
1301
+ :type _request_timeout: int, tuple(int, int), optional
1302
+ :param _request_auth: set to override the auth_settings for an a single
1303
+ request; this effectively ignores the
1304
+ authentication in the spec for a single request.
1305
+ :type _request_auth: dict, optional
1306
+ :param _content_type: force content-type for the request.
1307
+ :type _content_type: str, Optional
1308
+ :param _headers: set to override the headers for a single
1309
+ request; this effectively ignores the headers
1310
+ in the spec for a single request.
1311
+ :type _headers: dict, optional
1312
+ :param _host_index: set to override the host_index for a single
1313
+ request; this effectively ignores the host_index
1314
+ in the spec for a single request.
1315
+ :type _host_index: int, optional
1316
+ :return: Returns the result object.
1317
+ """ # noqa: E501
1318
+
1319
+ _param = self._smart_account_transfer_create_serialize(
1320
+ id=id,
1321
+ create_smart_account_transfer_request=create_smart_account_transfer_request,
1322
+ _request_auth=_request_auth,
1323
+ _content_type=_content_type,
1324
+ _headers=_headers,
1325
+ _host_index=_host_index
1326
+ )
1327
+
1328
+ _response_types_map: Dict[str, Optional[str]] = {
1329
+ '200': "SmartAccountTransfer",
1330
+ '400': "GlobalErrorResponse",
1331
+ }
1332
+ response_data = self.api_client.call_api(
1333
+ *_param,
1334
+ _request_timeout=_request_timeout
1335
+ )
1336
+ return response_data.response
1337
+
1338
+
1339
+ def _smart_account_transfer_create_serialize(
1340
+ self,
1341
+ id,
1342
+ create_smart_account_transfer_request,
1343
+ _request_auth,
1344
+ _content_type,
1345
+ _headers,
1346
+ _host_index,
1347
+ ) -> RequestSerialized:
1348
+
1349
+ _host = None
1350
+
1351
+ _collection_formats: Dict[str, str] = {
1352
+ }
1353
+
1354
+ _path_params: Dict[str, str] = {}
1355
+ _query_params: List[Tuple[str, str]] = []
1356
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1357
+ _form_params: List[Tuple[str, str]] = []
1358
+ _files: Dict[str, Union[str, bytes]] = {}
1359
+ _body_params: Optional[bytes] = None
1360
+
1361
+ # process the path parameters
1362
+ if id is not None:
1363
+ _path_params['id'] = id
1364
+ # process the query parameters
1365
+ # process the header parameters
1366
+ # process the form parameters
1367
+ # process the body parameter
1368
+ if create_smart_account_transfer_request is not None:
1369
+ _body_params = create_smart_account_transfer_request
1370
+
1371
+
1372
+ # set the HTTP header `Accept`
1373
+ if 'Accept' not in _header_params:
1374
+ _header_params['Accept'] = self.api_client.select_header_accept(
1375
+ [
1376
+ 'application/json'
1377
+ ]
1378
+ )
1379
+
1380
+ # set the HTTP header `Content-Type`
1381
+ if _content_type:
1382
+ _header_params['Content-Type'] = _content_type
1383
+ else:
1384
+ _default_content_type = (
1385
+ self.api_client.select_header_content_type(
1386
+ [
1387
+ 'application/json'
1388
+ ]
1389
+ )
1390
+ )
1391
+ if _default_content_type is not None:
1392
+ _header_params['Content-Type'] = _default_content_type
1393
+
1394
+ # authentication setting
1395
+ _auth_settings: List[str] = [
1396
+ 'default'
1397
+ ]
1398
+
1399
+ return self.api_client.param_serialize(
1400
+ method='POST',
1401
+ resource_path='/payments/smart-accounts/{id}/transfers',
1402
+ path_params=_path_params,
1403
+ query_params=_query_params,
1404
+ header_params=_header_params,
1405
+ body=_body_params,
1406
+ post_params=_form_params,
1407
+ files=_files,
1408
+ auth_settings=_auth_settings,
1409
+ collection_formats=_collection_formats,
1410
+ _host=_host,
1411
+ _request_auth=_request_auth
1412
+ )
1413
+
1414
+
1415
+
1416
+
845
1417
  @validate_call
846
1418
  def smart_accounts_list(
847
1419
  self,