signwell-sdk-python 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. signwell_sdk/__init__.py +287 -0
  2. signwell_sdk/api/__init__.py +10 -0
  3. signwell_sdk/api/api_application_api.py +481 -0
  4. signwell_sdk/api/bulk_send_api.py +1589 -0
  5. signwell_sdk/api/document_api.py +2425 -0
  6. signwell_sdk/api/me_api.py +246 -0
  7. signwell_sdk/api/regional_api.py +345 -0
  8. signwell_sdk/api/template_api.py +1298 -0
  9. signwell_sdk/api/webhooks_api.py +710 -0
  10. signwell_sdk/api_client.py +747 -0
  11. signwell_sdk/api_response.py +20 -0
  12. signwell_sdk/configuration.py +599 -0
  13. signwell_sdk/embedded.py +385 -0
  14. signwell_sdk/exceptions.py +314 -0
  15. signwell_sdk/models/__init__.py +114 -0
  16. signwell_sdk/models/account_info_response.py +143 -0
  17. signwell_sdk/models/account_info_response_active_users_inner.py +107 -0
  18. signwell_sdk/models/account_info_response_preferences.py +147 -0
  19. signwell_sdk/models/additional_fields_inner_inner.py +274 -0
  20. signwell_sdk/models/additional_fields_inner_inner_value.py +189 -0
  21. signwell_sdk/models/additional_files_inner.py +103 -0
  22. signwell_sdk/models/api_application_response.py +137 -0
  23. signwell_sdk/models/api_application_response_owner.py +107 -0
  24. signwell_sdk/models/api_application_response_preferences.py +135 -0
  25. signwell_sdk/models/attachment_request_info.py +99 -0
  26. signwell_sdk/models/attachment_requests_inner.py +110 -0
  27. signwell_sdk/models/bulk_send_create_response.py +132 -0
  28. signwell_sdk/models/bulk_send_csv_request.py +100 -0
  29. signwell_sdk/models/bulk_send_csv_template_response.py +97 -0
  30. signwell_sdk/models/bulk_send_documents_response.py +167 -0
  31. signwell_sdk/models/bulk_send_list_item.py +141 -0
  32. signwell_sdk/models/bulk_send_list_response.py +138 -0
  33. signwell_sdk/models/bulk_send_response.py +151 -0
  34. signwell_sdk/models/bulk_send_response_templates_inner.py +98 -0
  35. signwell_sdk/models/bulk_send_validate_csv_response.py +129 -0
  36. signwell_sdk/models/checkbox_group_info.py +138 -0
  37. signwell_sdk/models/checkbox_groups_inner.py +136 -0
  38. signwell_sdk/models/checkbox_validation.py +35 -0
  39. signwell_sdk/models/completed_pdf_response.py +177 -0
  40. signwell_sdk/models/completed_pdf_url_response.py +97 -0
  41. signwell_sdk/models/copied_contact_info.py +99 -0
  42. signwell_sdk/models/copied_contacts_inner.py +98 -0
  43. signwell_sdk/models/copied_placeholders_inner.py +111 -0
  44. signwell_sdk/models/create_bulk_send_request.py +155 -0
  45. signwell_sdk/models/create_webhook_request.py +100 -0
  46. signwell_sdk/models/date_format.py +36 -0
  47. signwell_sdk/models/detailed_option.py +105 -0
  48. signwell_sdk/models/document_from_template_request.py +377 -0
  49. signwell_sdk/models/document_from_template_response.py +353 -0
  50. signwell_sdk/models/document_from_template_response_fields_inner_inner.py +270 -0
  51. signwell_sdk/models/document_from_template_response_fields_inner_inner_recipient.py +99 -0
  52. signwell_sdk/models/document_from_template_response_recipients_inner.py +206 -0
  53. signwell_sdk/models/document_list_response.py +138 -0
  54. signwell_sdk/models/document_request.py +350 -0
  55. signwell_sdk/models/document_response.py +357 -0
  56. signwell_sdk/models/document_response_attachment_requests_inner.py +101 -0
  57. signwell_sdk/models/document_response_fields_inner_inner.py +268 -0
  58. signwell_sdk/models/document_response_fields_inner_inner_options_inner.py +101 -0
  59. signwell_sdk/models/document_response_fields_inner_inner_recipient.py +98 -0
  60. signwell_sdk/models/document_response_fields_inner_inner_value.py +195 -0
  61. signwell_sdk/models/document_response_recipients_inner.py +208 -0
  62. signwell_sdk/models/document_template_list_response.py +138 -0
  63. signwell_sdk/models/document_template_request.py +307 -0
  64. signwell_sdk/models/document_template_response.py +323 -0
  65. signwell_sdk/models/document_template_response_copied_placeholders_inner.py +131 -0
  66. signwell_sdk/models/document_template_response_placeholders_inner.py +144 -0
  67. signwell_sdk/models/document_template_update_request.py +208 -0
  68. signwell_sdk/models/dropdown_option.py +153 -0
  69. signwell_sdk/models/error_response.py +107 -0
  70. signwell_sdk/models/error_response_meta.py +101 -0
  71. signwell_sdk/models/field_type.py +46 -0
  72. signwell_sdk/models/fields_inner_inner.py +268 -0
  73. signwell_sdk/models/file_format.py +33 -0
  74. signwell_sdk/models/file_info.py +98 -0
  75. signwell_sdk/models/files_inner.py +103 -0
  76. signwell_sdk/models/label_info.py +98 -0
  77. signwell_sdk/models/label_request.py +97 -0
  78. signwell_sdk/models/label_response.py +98 -0
  79. signwell_sdk/models/me_response.py +130 -0
  80. signwell_sdk/models/me_response_contact.py +147 -0
  81. signwell_sdk/models/me_response_user.py +117 -0
  82. signwell_sdk/models/me_response_user_preferences.py +105 -0
  83. signwell_sdk/models/nom151_certificate_response.py +107 -0
  84. signwell_sdk/models/nom151_certificate_response_nom151.py +125 -0
  85. signwell_sdk/models/nom151_url_response.py +97 -0
  86. signwell_sdk/models/pagination_meta.py +119 -0
  87. signwell_sdk/models/placeholders_inner.py +115 -0
  88. signwell_sdk/models/rate_limit_error_response.py +97 -0
  89. signwell_sdk/models/recipients_inner.py +141 -0
  90. signwell_sdk/models/reminder_recipients_inner.py +100 -0
  91. signwell_sdk/models/send_reminder_request.py +114 -0
  92. signwell_sdk/models/template_attachment_requests_inner.py +110 -0
  93. signwell_sdk/models/template_checkbox_groups_inner.py +136 -0
  94. signwell_sdk/models/template_field_values_inner.py +109 -0
  95. signwell_sdk/models/template_field_values_inner_value.py +189 -0
  96. signwell_sdk/models/template_fields_inner_inner.py +266 -0
  97. signwell_sdk/models/template_recipients_inner.py +146 -0
  98. signwell_sdk/models/text_validation.py +42 -0
  99. signwell_sdk/models/update_document_and_send_request.py +234 -0
  100. signwell_sdk/models/update_recipients_map_inner.py +118 -0
  101. signwell_sdk/models/update_recipients_request.py +111 -0
  102. signwell_sdk/models/validation_error_response.py +99 -0
  103. signwell_sdk/models/webhook_response.py +110 -0
  104. signwell_sdk/py.typed +0 -0
  105. signwell_sdk/rest.py +209 -0
  106. signwell_sdk/webhook.py +214 -0
  107. signwell_sdk_python-0.1.0.dist-info/METADATA +177 -0
  108. signwell_sdk_python-0.1.0.dist-info/RECORD +110 -0
  109. signwell_sdk_python-0.1.0.dist-info/WHEEL +4 -0
  110. signwell_sdk_python-0.1.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,1589 @@
1
+ """
2
+ SignWell Developer API
3
+
4
+ API for creating, managing, and tracking electronic signature workflows.
5
+
6
+ The version of the OpenAPI document: v1
7
+ Contact: support@signwell.com
8
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
9
+
10
+ Do not edit the class manually.
11
+ """ # noqa: E501
12
+
13
+ from __future__ import annotations
14
+
15
+ import warnings
16
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt, StrictBool, StrictBytes
17
+ from typing import Any, Dict, List, Optional, Tuple, Union
18
+ from typing_extensions import Annotated
19
+ from signwell_sdk.models.bulk_send_create_response import BulkSendCreateResponse
20
+ from signwell_sdk.models.bulk_send_csv_request import BulkSendCsvRequest
21
+ from signwell_sdk.models.bulk_send_documents_response import BulkSendDocumentsResponse
22
+ from signwell_sdk.models.bulk_send_list_response import BulkSendListResponse
23
+ from signwell_sdk.models.bulk_send_response import BulkSendResponse
24
+ from signwell_sdk.models.bulk_send_validate_csv_response import BulkSendValidateCsvResponse
25
+ from signwell_sdk.models.create_bulk_send_request import CreateBulkSendRequest
26
+ from signwell_sdk.models.bulk_send_csv_template_response import BulkSendCsvTemplateResponse
27
+ from signwell_sdk.api_client import ApiClient, RequestSerialized
28
+ from signwell_sdk.api_response import ApiResponse
29
+ from signwell_sdk.rest import RESTResponseType
30
+
31
+
32
+ class BulkSendApi:
33
+ """NOTE: This class is auto generated by OpenAPI Generator
34
+ Ref: https://openapi-generator.tech
35
+
36
+ Do not edit the class manually.
37
+ """
38
+
39
+ def __init__(self, api_client=None) -> None:
40
+ if api_client is None:
41
+ api_client = ApiClient.get_default()
42
+ self.api_client = api_client
43
+
44
+ @validate_call
45
+ def create_bulk_send(
46
+ self,
47
+ create_bulk_send_request: CreateBulkSendRequest,
48
+ _request_timeout: Union[
49
+ None,
50
+ Annotated[StrictFloat, Field(gt=0)],
51
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
52
+ ] = None,
53
+ _request_auth: Dict[StrictStr, Any] | None = None,
54
+ _content_type: StrictStr | None = None,
55
+ _headers: Dict[StrictStr, Any] | None = None,
56
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
57
+ ) -> BulkSendCreateResponse:
58
+ """Create Bulk Send
59
+
60
+ Creates a bulk send, and it validates the CSV file before creating the bulk send.
61
+
62
+ :param create_bulk_send_request: (required)
63
+ :type create_bulk_send_request: CreateBulkSendRequest
64
+ :param _request_timeout: timeout setting for this request. If one
65
+ number provided, it will be total request
66
+ timeout. It can also be a pair (tuple) of
67
+ (connection, read) timeouts.
68
+ :type _request_timeout: int, tuple(int, int), optional
69
+ :param _request_auth: set to override the auth_settings for an a single
70
+ request; this effectively ignores the
71
+ authentication in the spec for a single request.
72
+ :type _request_auth: dict, optional
73
+ :param _content_type: force content-type for the request.
74
+ :type _content_type: str, Optional
75
+ :param _headers: set to override the headers for a single
76
+ request; this effectively ignores the headers
77
+ in the spec for a single request.
78
+ :type _headers: dict, optional
79
+ :param _host_index: set to override the host_index for a single
80
+ request; this effectively ignores the host_index
81
+ in the spec for a single request.
82
+ :type _host_index: int, optional
83
+ :return: Returns the result object.
84
+ """ # noqa: E501
85
+
86
+ _param = self._create_bulk_send_serialize(
87
+ create_bulk_send_request=create_bulk_send_request,
88
+ _request_auth=_request_auth,
89
+ _content_type=_content_type,
90
+ _headers=_headers,
91
+ _host_index=_host_index,
92
+ )
93
+
94
+ _response_types_map: Dict[str, str | None] = {
95
+ "201": "BulkSendCreateResponse",
96
+ "422": "ValidationErrorResponse",
97
+ "401": "ErrorResponse",
98
+ "429": "RateLimitErrorResponse",
99
+ }
100
+
101
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
102
+ response_data.read()
103
+ return self.api_client.response_deserialize(
104
+ response_data=response_data,
105
+ response_types_map=_response_types_map,
106
+ ).data
107
+
108
+ @validate_call
109
+ def create_bulk_send_with_http_info(
110
+ self,
111
+ create_bulk_send_request: CreateBulkSendRequest,
112
+ _request_timeout: Union[
113
+ None,
114
+ Annotated[StrictFloat, Field(gt=0)],
115
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
116
+ ] = None,
117
+ _request_auth: Dict[StrictStr, Any] | None = None,
118
+ _content_type: StrictStr | None = None,
119
+ _headers: Dict[StrictStr, Any] | None = None,
120
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
121
+ ) -> ApiResponse[BulkSendCreateResponse]:
122
+ """Create Bulk Send
123
+
124
+ Creates a bulk send, and it validates the CSV file before creating the bulk send.
125
+
126
+ :param create_bulk_send_request: (required)
127
+ :type create_bulk_send_request: CreateBulkSendRequest
128
+ :param _request_timeout: timeout setting for this request. If one
129
+ number provided, it will be total request
130
+ timeout. It can also be a pair (tuple) of
131
+ (connection, read) timeouts.
132
+ :type _request_timeout: int, tuple(int, int), optional
133
+ :param _request_auth: set to override the auth_settings for an a single
134
+ request; this effectively ignores the
135
+ authentication in the spec for a single request.
136
+ :type _request_auth: dict, optional
137
+ :param _content_type: force content-type for the request.
138
+ :type _content_type: str, Optional
139
+ :param _headers: set to override the headers for a single
140
+ request; this effectively ignores the headers
141
+ in the spec for a single request.
142
+ :type _headers: dict, optional
143
+ :param _host_index: set to override the host_index for a single
144
+ request; this effectively ignores the host_index
145
+ in the spec for a single request.
146
+ :type _host_index: int, optional
147
+ :return: Returns the result object.
148
+ """ # noqa: E501
149
+
150
+ _param = self._create_bulk_send_serialize(
151
+ create_bulk_send_request=create_bulk_send_request,
152
+ _request_auth=_request_auth,
153
+ _content_type=_content_type,
154
+ _headers=_headers,
155
+ _host_index=_host_index,
156
+ )
157
+
158
+ _response_types_map: Dict[str, str | None] = {
159
+ "201": "BulkSendCreateResponse",
160
+ "422": "ValidationErrorResponse",
161
+ "401": "ErrorResponse",
162
+ "429": "RateLimitErrorResponse",
163
+ }
164
+
165
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
166
+ response_data.read()
167
+ return self.api_client.response_deserialize(
168
+ response_data=response_data,
169
+ response_types_map=_response_types_map,
170
+ )
171
+
172
+ @validate_call
173
+ def create_bulk_send_without_preload_content(
174
+ self,
175
+ create_bulk_send_request: CreateBulkSendRequest,
176
+ _request_timeout: Union[
177
+ None,
178
+ Annotated[StrictFloat, Field(gt=0)],
179
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
180
+ ] = None,
181
+ _request_auth: Dict[StrictStr, Any] | None = None,
182
+ _content_type: StrictStr | None = None,
183
+ _headers: Dict[StrictStr, Any] | None = None,
184
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
185
+ ) -> RESTResponseType:
186
+ """Create Bulk Send
187
+
188
+ Creates a bulk send, and it validates the CSV file before creating the bulk send.
189
+
190
+ :param create_bulk_send_request: (required)
191
+ :type create_bulk_send_request: CreateBulkSendRequest
192
+ :param _request_timeout: timeout setting for this request. If one
193
+ number provided, it will be total request
194
+ timeout. It can also be a pair (tuple) of
195
+ (connection, read) timeouts.
196
+ :type _request_timeout: int, tuple(int, int), optional
197
+ :param _request_auth: set to override the auth_settings for an a single
198
+ request; this effectively ignores the
199
+ authentication in the spec for a single request.
200
+ :type _request_auth: dict, optional
201
+ :param _content_type: force content-type for the request.
202
+ :type _content_type: str, Optional
203
+ :param _headers: set to override the headers for a single
204
+ request; this effectively ignores the headers
205
+ in the spec for a single request.
206
+ :type _headers: dict, optional
207
+ :param _host_index: set to override the host_index for a single
208
+ request; this effectively ignores the host_index
209
+ in the spec for a single request.
210
+ :type _host_index: int, optional
211
+ :return: Returns the result object.
212
+ """ # noqa: E501
213
+
214
+ _param = self._create_bulk_send_serialize(
215
+ create_bulk_send_request=create_bulk_send_request,
216
+ _request_auth=_request_auth,
217
+ _content_type=_content_type,
218
+ _headers=_headers,
219
+ _host_index=_host_index,
220
+ )
221
+
222
+ _response_types_map: Dict[str, str | None] = {
223
+ "201": "BulkSendCreateResponse",
224
+ "422": "ValidationErrorResponse",
225
+ "401": "ErrorResponse",
226
+ "429": "RateLimitErrorResponse",
227
+ }
228
+
229
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
230
+ return response_data.response
231
+
232
+ def _create_bulk_send_serialize(
233
+ self,
234
+ create_bulk_send_request,
235
+ _request_auth,
236
+ _content_type,
237
+ _headers,
238
+ _host_index,
239
+ ) -> RequestSerialized:
240
+
241
+ _host = None
242
+
243
+ _collection_formats: Dict[str, str] = {}
244
+
245
+ _path_params: Dict[str, str] = {}
246
+ _query_params: List[Tuple[str, str]] = []
247
+ _header_params: Dict[str, str | None] = _headers or {}
248
+ _form_params: List[Tuple[str, str]] = []
249
+ _files: Dict[str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]] = {}
250
+ _body_params: bytes | None = None
251
+
252
+ # process the path parameters
253
+ # process the query parameters
254
+ # process the header parameters
255
+ # process the form parameters
256
+ # process the body parameter
257
+ if create_bulk_send_request is not None:
258
+ _body_params = create_bulk_send_request
259
+
260
+ # set the HTTP header `Accept`
261
+ if "Accept" not in _header_params:
262
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
263
+
264
+ # set the HTTP header `Content-Type`
265
+ if _content_type:
266
+ _header_params["Content-Type"] = _content_type
267
+ else:
268
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
269
+ if _default_content_type is not None:
270
+ _header_params["Content-Type"] = _default_content_type
271
+
272
+ # authentication setting
273
+ _auth_settings: List[str] = ["api_key"]
274
+
275
+ return self.api_client.param_serialize(
276
+ method="POST",
277
+ resource_path="/api/v1/bulk_sends",
278
+ path_params=_path_params,
279
+ query_params=_query_params,
280
+ header_params=_header_params,
281
+ body=_body_params,
282
+ post_params=_form_params,
283
+ files=_files,
284
+ auth_settings=_auth_settings,
285
+ collection_formats=_collection_formats,
286
+ _host=_host,
287
+ _request_auth=_request_auth,
288
+ )
289
+
290
+ @validate_call
291
+ def get_bulk_send(
292
+ self,
293
+ id: Annotated[str, Field(min_length=1, strict=True)],
294
+ _request_timeout: Union[
295
+ None,
296
+ Annotated[StrictFloat, Field(gt=0)],
297
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
298
+ ] = None,
299
+ _request_auth: Dict[StrictStr, Any] | None = None,
300
+ _content_type: StrictStr | None = None,
301
+ _headers: Dict[StrictStr, Any] | None = None,
302
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
303
+ ) -> BulkSendResponse:
304
+ """Get Bulk Send
305
+
306
+ Returns information about the Bulk Send.
307
+
308
+ :param id: (required)
309
+ :type id: str
310
+ :param _request_timeout: timeout setting for this request. If one
311
+ number provided, it will be total request
312
+ timeout. It can also be a pair (tuple) of
313
+ (connection, read) timeouts.
314
+ :type _request_timeout: int, tuple(int, int), optional
315
+ :param _request_auth: set to override the auth_settings for an a single
316
+ request; this effectively ignores the
317
+ authentication in the spec for a single request.
318
+ :type _request_auth: dict, optional
319
+ :param _content_type: force content-type for the request.
320
+ :type _content_type: str, Optional
321
+ :param _headers: set to override the headers for a single
322
+ request; this effectively ignores the headers
323
+ in the spec for a single request.
324
+ :type _headers: dict, optional
325
+ :param _host_index: set to override the host_index for a single
326
+ request; this effectively ignores the host_index
327
+ in the spec for a single request.
328
+ :type _host_index: int, optional
329
+ :return: Returns the result object.
330
+ """ # noqa: E501
331
+
332
+ _param = self._get_bulk_send_serialize(
333
+ id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index
334
+ )
335
+
336
+ _response_types_map: Dict[str, str | None] = {
337
+ "200": "BulkSendResponse",
338
+ "401": "ErrorResponse",
339
+ "404": "ErrorResponse",
340
+ "429": "RateLimitErrorResponse",
341
+ }
342
+
343
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
344
+ response_data.read()
345
+ return self.api_client.response_deserialize(
346
+ response_data=response_data,
347
+ response_types_map=_response_types_map,
348
+ ).data
349
+
350
+ @validate_call
351
+ def get_bulk_send_with_http_info(
352
+ self,
353
+ id: Annotated[str, Field(min_length=1, strict=True)],
354
+ _request_timeout: Union[
355
+ None,
356
+ Annotated[StrictFloat, Field(gt=0)],
357
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
358
+ ] = None,
359
+ _request_auth: Dict[StrictStr, Any] | None = None,
360
+ _content_type: StrictStr | None = None,
361
+ _headers: Dict[StrictStr, Any] | None = None,
362
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
363
+ ) -> ApiResponse[BulkSendResponse]:
364
+ """Get Bulk Send
365
+
366
+ Returns information about the Bulk Send.
367
+
368
+ :param id: (required)
369
+ :type id: str
370
+ :param _request_timeout: timeout setting for this request. If one
371
+ number provided, it will be total request
372
+ timeout. It can also be a pair (tuple) of
373
+ (connection, read) timeouts.
374
+ :type _request_timeout: int, tuple(int, int), optional
375
+ :param _request_auth: set to override the auth_settings for an a single
376
+ request; this effectively ignores the
377
+ authentication in the spec for a single request.
378
+ :type _request_auth: dict, optional
379
+ :param _content_type: force content-type for the request.
380
+ :type _content_type: str, Optional
381
+ :param _headers: set to override the headers for a single
382
+ request; this effectively ignores the headers
383
+ in the spec for a single request.
384
+ :type _headers: dict, optional
385
+ :param _host_index: set to override the host_index for a single
386
+ request; this effectively ignores the host_index
387
+ in the spec for a single request.
388
+ :type _host_index: int, optional
389
+ :return: Returns the result object.
390
+ """ # noqa: E501
391
+
392
+ _param = self._get_bulk_send_serialize(
393
+ id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index
394
+ )
395
+
396
+ _response_types_map: Dict[str, str | None] = {
397
+ "200": "BulkSendResponse",
398
+ "401": "ErrorResponse",
399
+ "404": "ErrorResponse",
400
+ "429": "RateLimitErrorResponse",
401
+ }
402
+
403
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
404
+ response_data.read()
405
+ return self.api_client.response_deserialize(
406
+ response_data=response_data,
407
+ response_types_map=_response_types_map,
408
+ )
409
+
410
+ @validate_call
411
+ def get_bulk_send_without_preload_content(
412
+ self,
413
+ id: Annotated[str, Field(min_length=1, strict=True)],
414
+ _request_timeout: Union[
415
+ None,
416
+ Annotated[StrictFloat, Field(gt=0)],
417
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
418
+ ] = None,
419
+ _request_auth: Dict[StrictStr, Any] | None = None,
420
+ _content_type: StrictStr | None = None,
421
+ _headers: Dict[StrictStr, Any] | None = None,
422
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
423
+ ) -> RESTResponseType:
424
+ """Get Bulk Send
425
+
426
+ Returns information about the Bulk Send.
427
+
428
+ :param id: (required)
429
+ :type id: str
430
+ :param _request_timeout: timeout setting for this request. If one
431
+ number provided, it will be total request
432
+ timeout. It can also be a pair (tuple) of
433
+ (connection, read) timeouts.
434
+ :type _request_timeout: int, tuple(int, int), optional
435
+ :param _request_auth: set to override the auth_settings for an a single
436
+ request; this effectively ignores the
437
+ authentication in the spec for a single request.
438
+ :type _request_auth: dict, optional
439
+ :param _content_type: force content-type for the request.
440
+ :type _content_type: str, Optional
441
+ :param _headers: set to override the headers for a single
442
+ request; this effectively ignores the headers
443
+ in the spec for a single request.
444
+ :type _headers: dict, optional
445
+ :param _host_index: set to override the host_index for a single
446
+ request; this effectively ignores the host_index
447
+ in the spec for a single request.
448
+ :type _host_index: int, optional
449
+ :return: Returns the result object.
450
+ """ # noqa: E501
451
+
452
+ _param = self._get_bulk_send_serialize(
453
+ id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index
454
+ )
455
+
456
+ _response_types_map: Dict[str, str | None] = {
457
+ "200": "BulkSendResponse",
458
+ "401": "ErrorResponse",
459
+ "404": "ErrorResponse",
460
+ "429": "RateLimitErrorResponse",
461
+ }
462
+
463
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
464
+ return response_data.response
465
+
466
+ def _get_bulk_send_serialize(
467
+ self,
468
+ id,
469
+ _request_auth,
470
+ _content_type,
471
+ _headers,
472
+ _host_index,
473
+ ) -> RequestSerialized:
474
+
475
+ _host = None
476
+
477
+ _collection_formats: Dict[str, str] = {}
478
+
479
+ _path_params: Dict[str, str] = {}
480
+ _query_params: List[Tuple[str, str]] = []
481
+ _header_params: Dict[str, str | None] = _headers or {}
482
+ _form_params: List[Tuple[str, str]] = []
483
+ _files: Dict[str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]] = {}
484
+ _body_params: bytes | None = None
485
+
486
+ # process the path parameters
487
+ if id is not None:
488
+ _path_params["id"] = id
489
+ # process the query parameters
490
+ # process the header parameters
491
+ # process the form parameters
492
+ # process the body parameter
493
+
494
+ # set the HTTP header `Accept`
495
+ if "Accept" not in _header_params:
496
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
497
+
498
+ # authentication setting
499
+ _auth_settings: List[str] = ["api_key"]
500
+
501
+ return self.api_client.param_serialize(
502
+ method="GET",
503
+ resource_path="/api/v1/bulk_sends/{id}",
504
+ path_params=_path_params,
505
+ query_params=_query_params,
506
+ header_params=_header_params,
507
+ body=_body_params,
508
+ post_params=_form_params,
509
+ files=_files,
510
+ auth_settings=_auth_settings,
511
+ collection_formats=_collection_formats,
512
+ _host=_host,
513
+ _request_auth=_request_auth,
514
+ )
515
+
516
+ @validate_call
517
+ def get_bulk_send_csv_template(
518
+ self,
519
+ template_ids: List[StrictStr],
520
+ var_base64: StrictBool | None = None,
521
+ _request_timeout: Union[
522
+ None,
523
+ Annotated[StrictFloat, Field(gt=0)],
524
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
525
+ ] = None,
526
+ _request_auth: Dict[StrictStr, Any] | None = None,
527
+ _content_type: StrictStr | None = None,
528
+ _headers: Dict[StrictStr, Any] | None = None,
529
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
530
+ ) -> bytes | BulkSendCsvTemplateResponse:
531
+ """Get Bulk Send CSV Template
532
+
533
+ Fetches a CSV template that corresponds to the provided document template IDs. CSV templates are blank CSV files that have columns containing required and optional data that can be sent when creating a bulk send. Fields can be referenced by the field label. Example: [placeholder name]_[field label] could be something like customer_address or signer_company_name (if 'Customer' and 'Signer' were placeholder names for templates set up in SignWell).
534
+
535
+ :param template_ids: (required)
536
+ :type template_ids: List[str]
537
+ :param var_base64:
538
+ :type var_base64: bool
539
+ :param _request_timeout: timeout setting for this request. If one
540
+ number provided, it will be total request
541
+ timeout. It can also be a pair (tuple) of
542
+ (connection, read) timeouts.
543
+ :type _request_timeout: int, tuple(int, int), optional
544
+ :param _request_auth: set to override the auth_settings for an a single
545
+ request; this effectively ignores the
546
+ authentication in the spec for a single request.
547
+ :type _request_auth: dict, optional
548
+ :param _content_type: force content-type for the request.
549
+ :type _content_type: str, Optional
550
+ :param _headers: set to override the headers for a single
551
+ request; this effectively ignores the headers
552
+ in the spec for a single request.
553
+ :type _headers: dict, optional
554
+ :param _host_index: set to override the host_index for a single
555
+ request; this effectively ignores the host_index
556
+ in the spec for a single request.
557
+ :type _host_index: int, optional
558
+ :return: Returns the result object.
559
+ """ # noqa: E501
560
+
561
+ _param = self._get_bulk_send_csv_template_serialize(
562
+ template_ids=template_ids,
563
+ var_base64=var_base64,
564
+ _request_auth=_request_auth,
565
+ _content_type=_content_type,
566
+ _headers=_headers,
567
+ _host_index=_host_index,
568
+ )
569
+ if var_base64 is True:
570
+ _return_type = "BulkSendCsvTemplateResponse"
571
+ else:
572
+ _return_type = "bytes"
573
+
574
+ _response_types_map: Dict[str, str | None] = {
575
+ "200": "bytearray",
576
+ "401": "ErrorResponse",
577
+ "404": "ErrorResponse",
578
+ "429": "RateLimitErrorResponse",
579
+ }
580
+ _response_types_map["200"] = _return_type
581
+
582
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
583
+ response_data.read()
584
+ return self.api_client.response_deserialize(
585
+ response_data=response_data,
586
+ response_types_map=_response_types_map,
587
+ ).data
588
+
589
+ @validate_call
590
+ def get_bulk_send_csv_template_with_http_info(
591
+ self,
592
+ template_ids: List[StrictStr],
593
+ var_base64: StrictBool | None = None,
594
+ _request_timeout: Union[
595
+ None,
596
+ Annotated[StrictFloat, Field(gt=0)],
597
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
598
+ ] = None,
599
+ _request_auth: Dict[StrictStr, Any] | None = None,
600
+ _content_type: StrictStr | None = None,
601
+ _headers: Dict[StrictStr, Any] | None = None,
602
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
603
+ ) -> ApiResponse[bytes | BulkSendCsvTemplateResponse]:
604
+ """Get Bulk Send CSV Template
605
+
606
+ Fetches a CSV template that corresponds to the provided document template IDs. CSV templates are blank CSV files that have columns containing required and optional data that can be sent when creating a bulk send. Fields can be referenced by the field label. Example: [placeholder name]_[field label] could be something like customer_address or signer_company_name (if 'Customer' and 'Signer' were placeholder names for templates set up in SignWell).
607
+
608
+ :param template_ids: (required)
609
+ :type template_ids: List[str]
610
+ :param var_base64:
611
+ :type var_base64: bool
612
+ :param _request_timeout: timeout setting for this request. If one
613
+ number provided, it will be total request
614
+ timeout. It can also be a pair (tuple) of
615
+ (connection, read) timeouts.
616
+ :type _request_timeout: int, tuple(int, int), optional
617
+ :param _request_auth: set to override the auth_settings for an a single
618
+ request; this effectively ignores the
619
+ authentication in the spec for a single request.
620
+ :type _request_auth: dict, optional
621
+ :param _content_type: force content-type for the request.
622
+ :type _content_type: str, Optional
623
+ :param _headers: set to override the headers for a single
624
+ request; this effectively ignores the headers
625
+ in the spec for a single request.
626
+ :type _headers: dict, optional
627
+ :param _host_index: set to override the host_index for a single
628
+ request; this effectively ignores the host_index
629
+ in the spec for a single request.
630
+ :type _host_index: int, optional
631
+ :return: Returns the result object.
632
+ """ # noqa: E501
633
+
634
+ _param = self._get_bulk_send_csv_template_serialize(
635
+ template_ids=template_ids,
636
+ var_base64=var_base64,
637
+ _request_auth=_request_auth,
638
+ _content_type=_content_type,
639
+ _headers=_headers,
640
+ _host_index=_host_index,
641
+ )
642
+ if var_base64 is True:
643
+ _return_type = "BulkSendCsvTemplateResponse"
644
+ else:
645
+ _return_type = "bytes"
646
+
647
+ _response_types_map: Dict[str, str | None] = {
648
+ "200": "bytearray",
649
+ "401": "ErrorResponse",
650
+ "404": "ErrorResponse",
651
+ "429": "RateLimitErrorResponse",
652
+ }
653
+ _response_types_map["200"] = _return_type
654
+
655
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
656
+ response_data.read()
657
+ return self.api_client.response_deserialize(
658
+ response_data=response_data,
659
+ response_types_map=_response_types_map,
660
+ )
661
+
662
+ @validate_call
663
+ def get_bulk_send_csv_template_without_preload_content(
664
+ self,
665
+ template_ids: List[StrictStr],
666
+ var_base64: StrictBool | None = None,
667
+ _request_timeout: Union[
668
+ None,
669
+ Annotated[StrictFloat, Field(gt=0)],
670
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
671
+ ] = None,
672
+ _request_auth: Dict[StrictStr, Any] | None = None,
673
+ _content_type: StrictStr | None = None,
674
+ _headers: Dict[StrictStr, Any] | None = None,
675
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
676
+ ) -> RESTResponseType:
677
+ """Get Bulk Send CSV Template
678
+
679
+ Fetches a CSV template that corresponds to the provided document template IDs. CSV templates are blank CSV files that have columns containing required and optional data that can be sent when creating a bulk send. Fields can be referenced by the field label. Example: [placeholder name]_[field label] could be something like customer_address or signer_company_name (if 'Customer' and 'Signer' were placeholder names for templates set up in SignWell).
680
+
681
+ :param template_ids: (required)
682
+ :type template_ids: List[str]
683
+ :param var_base64:
684
+ :type var_base64: bool
685
+ :param _request_timeout: timeout setting for this request. If one
686
+ number provided, it will be total request
687
+ timeout. It can also be a pair (tuple) of
688
+ (connection, read) timeouts.
689
+ :type _request_timeout: int, tuple(int, int), optional
690
+ :param _request_auth: set to override the auth_settings for an a single
691
+ request; this effectively ignores the
692
+ authentication in the spec for a single request.
693
+ :type _request_auth: dict, optional
694
+ :param _content_type: force content-type for the request.
695
+ :type _content_type: str, Optional
696
+ :param _headers: set to override the headers for a single
697
+ request; this effectively ignores the headers
698
+ in the spec for a single request.
699
+ :type _headers: dict, optional
700
+ :param _host_index: set to override the host_index for a single
701
+ request; this effectively ignores the host_index
702
+ in the spec for a single request.
703
+ :type _host_index: int, optional
704
+ :return: Returns the result object.
705
+ """ # noqa: E501
706
+
707
+ _param = self._get_bulk_send_csv_template_serialize(
708
+ template_ids=template_ids,
709
+ var_base64=var_base64,
710
+ _request_auth=_request_auth,
711
+ _content_type=_content_type,
712
+ _headers=_headers,
713
+ _host_index=_host_index,
714
+ )
715
+ if var_base64 is True:
716
+ _return_type = "BulkSendCsvTemplateResponse"
717
+ else:
718
+ _return_type = "bytes"
719
+
720
+ _response_types_map: Dict[str, str | None] = {
721
+ "200": "bytearray",
722
+ "401": "ErrorResponse",
723
+ "404": "ErrorResponse",
724
+ "429": "RateLimitErrorResponse",
725
+ }
726
+ _response_types_map["200"] = _return_type
727
+
728
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
729
+ return response_data.response
730
+
731
+ def _get_bulk_send_csv_template_serialize(
732
+ self,
733
+ template_ids,
734
+ var_base64,
735
+ _request_auth,
736
+ _content_type,
737
+ _headers,
738
+ _host_index,
739
+ ) -> RequestSerialized:
740
+
741
+ _host = None
742
+
743
+ _collection_formats: Dict[str, str] = {
744
+ "template_ids[]": "multi",
745
+ }
746
+
747
+ _path_params: Dict[str, str] = {}
748
+ _query_params: List[Tuple[str, str]] = []
749
+ _header_params: Dict[str, str | None] = _headers or {}
750
+ _form_params: List[Tuple[str, str]] = []
751
+ _files: Dict[str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]] = {}
752
+ _body_params: bytes | None = None
753
+
754
+ # process the path parameters
755
+ # process the query parameters
756
+ if template_ids is not None:
757
+ _query_params.append(("template_ids[]", template_ids))
758
+
759
+ if var_base64 is not None:
760
+ _query_params.append(("base64", var_base64))
761
+
762
+ # process the header parameters
763
+ # process the form parameters
764
+ # process the body parameter
765
+
766
+ # set the HTTP header `Accept`
767
+ if "Accept" not in _header_params:
768
+ if var_base64 is True:
769
+ _header_params["Accept"] = "application/json"
770
+ else:
771
+ _header_params["Accept"] = "application/octet-stream"
772
+
773
+ # authentication setting
774
+ _auth_settings: List[str] = ["api_key"]
775
+
776
+ return self.api_client.param_serialize(
777
+ method="GET",
778
+ resource_path="/api/v1/bulk_sends/csv_template",
779
+ path_params=_path_params,
780
+ query_params=_query_params,
781
+ header_params=_header_params,
782
+ body=_body_params,
783
+ post_params=_form_params,
784
+ files=_files,
785
+ auth_settings=_auth_settings,
786
+ collection_formats=_collection_formats,
787
+ _host=_host,
788
+ _request_auth=_request_auth,
789
+ )
790
+
791
+ @validate_call
792
+ def get_bulk_send_documents(
793
+ self,
794
+ id: Annotated[str, Field(min_length=1, strict=True)],
795
+ limit: Annotated[int, Field(le=50, strict=True, ge=1)] | None = None,
796
+ page: Annotated[int, Field(strict=True, ge=1)] | None = None,
797
+ _request_timeout: Union[
798
+ None,
799
+ Annotated[StrictFloat, Field(gt=0)],
800
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
801
+ ] = None,
802
+ _request_auth: Dict[StrictStr, Any] | None = None,
803
+ _content_type: StrictStr | None = None,
804
+ _headers: Dict[StrictStr, Any] | None = None,
805
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
806
+ ) -> BulkSendDocumentsResponse:
807
+ """Get Bulk Send Documents
808
+
809
+ Returns information about the Bulk Send.
810
+
811
+ :param id: (required)
812
+ :type id: str
813
+ :param limit:
814
+ :type limit: int
815
+ :param page:
816
+ :type page: int
817
+ :param _request_timeout: timeout setting for this request. If one
818
+ number provided, it will be total request
819
+ timeout. It can also be a pair (tuple) of
820
+ (connection, read) timeouts.
821
+ :type _request_timeout: int, tuple(int, int), optional
822
+ :param _request_auth: set to override the auth_settings for an a single
823
+ request; this effectively ignores the
824
+ authentication in the spec for a single request.
825
+ :type _request_auth: dict, optional
826
+ :param _content_type: force content-type for the request.
827
+ :type _content_type: str, Optional
828
+ :param _headers: set to override the headers for a single
829
+ request; this effectively ignores the headers
830
+ in the spec for a single request.
831
+ :type _headers: dict, optional
832
+ :param _host_index: set to override the host_index for a single
833
+ request; this effectively ignores the host_index
834
+ in the spec for a single request.
835
+ :type _host_index: int, optional
836
+ :return: Returns the result object.
837
+ """ # noqa: E501
838
+
839
+ _param = self._get_bulk_send_documents_serialize(
840
+ id=id,
841
+ limit=limit,
842
+ page=page,
843
+ _request_auth=_request_auth,
844
+ _content_type=_content_type,
845
+ _headers=_headers,
846
+ _host_index=_host_index,
847
+ )
848
+
849
+ _response_types_map: Dict[str, str | None] = {
850
+ "200": "BulkSendDocumentsResponse",
851
+ "401": "ErrorResponse",
852
+ "404": "ErrorResponse",
853
+ "429": "RateLimitErrorResponse",
854
+ }
855
+
856
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
857
+ response_data.read()
858
+ return self.api_client.response_deserialize(
859
+ response_data=response_data,
860
+ response_types_map=_response_types_map,
861
+ ).data
862
+
863
+ @validate_call
864
+ def get_bulk_send_documents_with_http_info(
865
+ self,
866
+ id: Annotated[str, Field(min_length=1, strict=True)],
867
+ limit: Annotated[int, Field(le=50, strict=True, ge=1)] | None = None,
868
+ page: Annotated[int, Field(strict=True, ge=1)] | None = None,
869
+ _request_timeout: Union[
870
+ None,
871
+ Annotated[StrictFloat, Field(gt=0)],
872
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
873
+ ] = None,
874
+ _request_auth: Dict[StrictStr, Any] | None = None,
875
+ _content_type: StrictStr | None = None,
876
+ _headers: Dict[StrictStr, Any] | None = None,
877
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
878
+ ) -> ApiResponse[BulkSendDocumentsResponse]:
879
+ """Get Bulk Send Documents
880
+
881
+ Returns information about the Bulk Send.
882
+
883
+ :param id: (required)
884
+ :type id: str
885
+ :param limit:
886
+ :type limit: int
887
+ :param page:
888
+ :type page: int
889
+ :param _request_timeout: timeout setting for this request. If one
890
+ number provided, it will be total request
891
+ timeout. It can also be a pair (tuple) of
892
+ (connection, read) timeouts.
893
+ :type _request_timeout: int, tuple(int, int), optional
894
+ :param _request_auth: set to override the auth_settings for an a single
895
+ request; this effectively ignores the
896
+ authentication in the spec for a single request.
897
+ :type _request_auth: dict, optional
898
+ :param _content_type: force content-type for the request.
899
+ :type _content_type: str, Optional
900
+ :param _headers: set to override the headers for a single
901
+ request; this effectively ignores the headers
902
+ in the spec for a single request.
903
+ :type _headers: dict, optional
904
+ :param _host_index: set to override the host_index for a single
905
+ request; this effectively ignores the host_index
906
+ in the spec for a single request.
907
+ :type _host_index: int, optional
908
+ :return: Returns the result object.
909
+ """ # noqa: E501
910
+
911
+ _param = self._get_bulk_send_documents_serialize(
912
+ id=id,
913
+ limit=limit,
914
+ page=page,
915
+ _request_auth=_request_auth,
916
+ _content_type=_content_type,
917
+ _headers=_headers,
918
+ _host_index=_host_index,
919
+ )
920
+
921
+ _response_types_map: Dict[str, str | None] = {
922
+ "200": "BulkSendDocumentsResponse",
923
+ "401": "ErrorResponse",
924
+ "404": "ErrorResponse",
925
+ "429": "RateLimitErrorResponse",
926
+ }
927
+
928
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
929
+ response_data.read()
930
+ return self.api_client.response_deserialize(
931
+ response_data=response_data,
932
+ response_types_map=_response_types_map,
933
+ )
934
+
935
+ @validate_call
936
+ def get_bulk_send_documents_without_preload_content(
937
+ self,
938
+ id: Annotated[str, Field(min_length=1, strict=True)],
939
+ limit: Annotated[int, Field(le=50, strict=True, ge=1)] | None = None,
940
+ page: Annotated[int, Field(strict=True, ge=1)] | None = None,
941
+ _request_timeout: Union[
942
+ None,
943
+ Annotated[StrictFloat, Field(gt=0)],
944
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
945
+ ] = None,
946
+ _request_auth: Dict[StrictStr, Any] | None = None,
947
+ _content_type: StrictStr | None = None,
948
+ _headers: Dict[StrictStr, Any] | None = None,
949
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
950
+ ) -> RESTResponseType:
951
+ """Get Bulk Send Documents
952
+
953
+ Returns information about the Bulk Send.
954
+
955
+ :param id: (required)
956
+ :type id: str
957
+ :param limit:
958
+ :type limit: int
959
+ :param page:
960
+ :type page: int
961
+ :param _request_timeout: timeout setting for this request. If one
962
+ number provided, it will be total request
963
+ timeout. It can also be a pair (tuple) of
964
+ (connection, read) timeouts.
965
+ :type _request_timeout: int, tuple(int, int), optional
966
+ :param _request_auth: set to override the auth_settings for an a single
967
+ request; this effectively ignores the
968
+ authentication in the spec for a single request.
969
+ :type _request_auth: dict, optional
970
+ :param _content_type: force content-type for the request.
971
+ :type _content_type: str, Optional
972
+ :param _headers: set to override the headers for a single
973
+ request; this effectively ignores the headers
974
+ in the spec for a single request.
975
+ :type _headers: dict, optional
976
+ :param _host_index: set to override the host_index for a single
977
+ request; this effectively ignores the host_index
978
+ in the spec for a single request.
979
+ :type _host_index: int, optional
980
+ :return: Returns the result object.
981
+ """ # noqa: E501
982
+
983
+ _param = self._get_bulk_send_documents_serialize(
984
+ id=id,
985
+ limit=limit,
986
+ page=page,
987
+ _request_auth=_request_auth,
988
+ _content_type=_content_type,
989
+ _headers=_headers,
990
+ _host_index=_host_index,
991
+ )
992
+
993
+ _response_types_map: Dict[str, str | None] = {
994
+ "200": "BulkSendDocumentsResponse",
995
+ "401": "ErrorResponse",
996
+ "404": "ErrorResponse",
997
+ "429": "RateLimitErrorResponse",
998
+ }
999
+
1000
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1001
+ return response_data.response
1002
+
1003
+ def _get_bulk_send_documents_serialize(
1004
+ self,
1005
+ id,
1006
+ limit,
1007
+ page,
1008
+ _request_auth,
1009
+ _content_type,
1010
+ _headers,
1011
+ _host_index,
1012
+ ) -> RequestSerialized:
1013
+
1014
+ _host = None
1015
+
1016
+ _collection_formats: Dict[str, str] = {}
1017
+
1018
+ _path_params: Dict[str, str] = {}
1019
+ _query_params: List[Tuple[str, str]] = []
1020
+ _header_params: Dict[str, str | None] = _headers or {}
1021
+ _form_params: List[Tuple[str, str]] = []
1022
+ _files: Dict[str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]] = {}
1023
+ _body_params: bytes | None = None
1024
+
1025
+ # process the path parameters
1026
+ if id is not None:
1027
+ _path_params["id"] = id
1028
+ # process the query parameters
1029
+ if limit is not None:
1030
+ _query_params.append(("limit", limit))
1031
+
1032
+ if page is not None:
1033
+ _query_params.append(("page", page))
1034
+
1035
+ # process the header parameters
1036
+ # process the form parameters
1037
+ # process the body parameter
1038
+
1039
+ # set the HTTP header `Accept`
1040
+ if "Accept" not in _header_params:
1041
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1042
+
1043
+ # authentication setting
1044
+ _auth_settings: List[str] = ["api_key"]
1045
+
1046
+ return self.api_client.param_serialize(
1047
+ method="GET",
1048
+ resource_path="/api/v1/bulk_sends/{id}/documents",
1049
+ path_params=_path_params,
1050
+ query_params=_query_params,
1051
+ header_params=_header_params,
1052
+ body=_body_params,
1053
+ post_params=_form_params,
1054
+ files=_files,
1055
+ auth_settings=_auth_settings,
1056
+ collection_formats=_collection_formats,
1057
+ _host=_host,
1058
+ _request_auth=_request_auth,
1059
+ )
1060
+
1061
+ @validate_call
1062
+ def list_bulk_sends(
1063
+ self,
1064
+ user_email: StrictStr | None = None,
1065
+ limit: Annotated[int, Field(le=50, strict=True, ge=1)] | None = None,
1066
+ page: Annotated[int, Field(strict=True, ge=1)] | None = None,
1067
+ api_application_id: Annotated[str, Field(min_length=1, strict=True)] | None = None,
1068
+ _request_timeout: Union[
1069
+ None,
1070
+ Annotated[StrictFloat, Field(gt=0)],
1071
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1072
+ ] = None,
1073
+ _request_auth: Dict[StrictStr, Any] | None = None,
1074
+ _content_type: StrictStr | None = None,
1075
+ _headers: Dict[StrictStr, Any] | None = None,
1076
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1077
+ ) -> BulkSendListResponse:
1078
+ """List Bulk Sendings
1079
+
1080
+ Returns information about the Bulk Send.
1081
+
1082
+ :param user_email:
1083
+ :type user_email: str
1084
+ :param limit:
1085
+ :type limit: int
1086
+ :param page:
1087
+ :type page: int
1088
+ :param api_application_id:
1089
+ :type api_application_id: str
1090
+ :param _request_timeout: timeout setting for this request. If one
1091
+ number provided, it will be total request
1092
+ timeout. It can also be a pair (tuple) of
1093
+ (connection, read) timeouts.
1094
+ :type _request_timeout: int, tuple(int, int), optional
1095
+ :param _request_auth: set to override the auth_settings for an a single
1096
+ request; this effectively ignores the
1097
+ authentication in the spec for a single request.
1098
+ :type _request_auth: dict, optional
1099
+ :param _content_type: force content-type for the request.
1100
+ :type _content_type: str, Optional
1101
+ :param _headers: set to override the headers for a single
1102
+ request; this effectively ignores the headers
1103
+ in the spec for a single request.
1104
+ :type _headers: dict, optional
1105
+ :param _host_index: set to override the host_index for a single
1106
+ request; this effectively ignores the host_index
1107
+ in the spec for a single request.
1108
+ :type _host_index: int, optional
1109
+ :return: Returns the result object.
1110
+ """ # noqa: E501
1111
+
1112
+ _param = self._list_bulk_sends_serialize(
1113
+ user_email=user_email,
1114
+ limit=limit,
1115
+ page=page,
1116
+ api_application_id=api_application_id,
1117
+ _request_auth=_request_auth,
1118
+ _content_type=_content_type,
1119
+ _headers=_headers,
1120
+ _host_index=_host_index,
1121
+ )
1122
+
1123
+ _response_types_map: Dict[str, str | None] = {
1124
+ "200": "BulkSendListResponse",
1125
+ "401": "ErrorResponse",
1126
+ "429": "RateLimitErrorResponse",
1127
+ }
1128
+
1129
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1130
+ response_data.read()
1131
+ return self.api_client.response_deserialize(
1132
+ response_data=response_data,
1133
+ response_types_map=_response_types_map,
1134
+ ).data
1135
+
1136
+ @validate_call
1137
+ def list_bulk_sends_with_http_info(
1138
+ self,
1139
+ user_email: StrictStr | None = None,
1140
+ limit: Annotated[int, Field(le=50, strict=True, ge=1)] | None = None,
1141
+ page: Annotated[int, Field(strict=True, ge=1)] | None = None,
1142
+ api_application_id: Annotated[str, Field(min_length=1, strict=True)] | None = None,
1143
+ _request_timeout: Union[
1144
+ None,
1145
+ Annotated[StrictFloat, Field(gt=0)],
1146
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1147
+ ] = None,
1148
+ _request_auth: Dict[StrictStr, Any] | None = None,
1149
+ _content_type: StrictStr | None = None,
1150
+ _headers: Dict[StrictStr, Any] | None = None,
1151
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1152
+ ) -> ApiResponse[BulkSendListResponse]:
1153
+ """List Bulk Sendings
1154
+
1155
+ Returns information about the Bulk Send.
1156
+
1157
+ :param user_email:
1158
+ :type user_email: str
1159
+ :param limit:
1160
+ :type limit: int
1161
+ :param page:
1162
+ :type page: int
1163
+ :param api_application_id:
1164
+ :type api_application_id: str
1165
+ :param _request_timeout: timeout setting for this request. If one
1166
+ number provided, it will be total request
1167
+ timeout. It can also be a pair (tuple) of
1168
+ (connection, read) timeouts.
1169
+ :type _request_timeout: int, tuple(int, int), optional
1170
+ :param _request_auth: set to override the auth_settings for an a single
1171
+ request; this effectively ignores the
1172
+ authentication in the spec for a single request.
1173
+ :type _request_auth: dict, optional
1174
+ :param _content_type: force content-type for the request.
1175
+ :type _content_type: str, Optional
1176
+ :param _headers: set to override the headers for a single
1177
+ request; this effectively ignores the headers
1178
+ in the spec for a single request.
1179
+ :type _headers: dict, optional
1180
+ :param _host_index: set to override the host_index for a single
1181
+ request; this effectively ignores the host_index
1182
+ in the spec for a single request.
1183
+ :type _host_index: int, optional
1184
+ :return: Returns the result object.
1185
+ """ # noqa: E501
1186
+
1187
+ _param = self._list_bulk_sends_serialize(
1188
+ user_email=user_email,
1189
+ limit=limit,
1190
+ page=page,
1191
+ api_application_id=api_application_id,
1192
+ _request_auth=_request_auth,
1193
+ _content_type=_content_type,
1194
+ _headers=_headers,
1195
+ _host_index=_host_index,
1196
+ )
1197
+
1198
+ _response_types_map: Dict[str, str | None] = {
1199
+ "200": "BulkSendListResponse",
1200
+ "401": "ErrorResponse",
1201
+ "429": "RateLimitErrorResponse",
1202
+ }
1203
+
1204
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1205
+ response_data.read()
1206
+ return self.api_client.response_deserialize(
1207
+ response_data=response_data,
1208
+ response_types_map=_response_types_map,
1209
+ )
1210
+
1211
+ @validate_call
1212
+ def list_bulk_sends_without_preload_content(
1213
+ self,
1214
+ user_email: StrictStr | None = None,
1215
+ limit: Annotated[int, Field(le=50, strict=True, ge=1)] | None = None,
1216
+ page: Annotated[int, Field(strict=True, ge=1)] | None = None,
1217
+ api_application_id: Annotated[str, Field(min_length=1, strict=True)] | None = None,
1218
+ _request_timeout: Union[
1219
+ None,
1220
+ Annotated[StrictFloat, Field(gt=0)],
1221
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1222
+ ] = None,
1223
+ _request_auth: Dict[StrictStr, Any] | None = None,
1224
+ _content_type: StrictStr | None = None,
1225
+ _headers: Dict[StrictStr, Any] | None = None,
1226
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1227
+ ) -> RESTResponseType:
1228
+ """List Bulk Sendings
1229
+
1230
+ Returns information about the Bulk Send.
1231
+
1232
+ :param user_email:
1233
+ :type user_email: str
1234
+ :param limit:
1235
+ :type limit: int
1236
+ :param page:
1237
+ :type page: int
1238
+ :param api_application_id:
1239
+ :type api_application_id: str
1240
+ :param _request_timeout: timeout setting for this request. If one
1241
+ number provided, it will be total request
1242
+ timeout. It can also be a pair (tuple) of
1243
+ (connection, read) timeouts.
1244
+ :type _request_timeout: int, tuple(int, int), optional
1245
+ :param _request_auth: set to override the auth_settings for an a single
1246
+ request; this effectively ignores the
1247
+ authentication in the spec for a single request.
1248
+ :type _request_auth: dict, optional
1249
+ :param _content_type: force content-type for the request.
1250
+ :type _content_type: str, Optional
1251
+ :param _headers: set to override the headers for a single
1252
+ request; this effectively ignores the headers
1253
+ in the spec for a single request.
1254
+ :type _headers: dict, optional
1255
+ :param _host_index: set to override the host_index for a single
1256
+ request; this effectively ignores the host_index
1257
+ in the spec for a single request.
1258
+ :type _host_index: int, optional
1259
+ :return: Returns the result object.
1260
+ """ # noqa: E501
1261
+
1262
+ _param = self._list_bulk_sends_serialize(
1263
+ user_email=user_email,
1264
+ limit=limit,
1265
+ page=page,
1266
+ api_application_id=api_application_id,
1267
+ _request_auth=_request_auth,
1268
+ _content_type=_content_type,
1269
+ _headers=_headers,
1270
+ _host_index=_host_index,
1271
+ )
1272
+
1273
+ _response_types_map: Dict[str, str | None] = {
1274
+ "200": "BulkSendListResponse",
1275
+ "401": "ErrorResponse",
1276
+ "429": "RateLimitErrorResponse",
1277
+ }
1278
+
1279
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1280
+ return response_data.response
1281
+
1282
+ def _list_bulk_sends_serialize(
1283
+ self,
1284
+ user_email,
1285
+ limit,
1286
+ page,
1287
+ api_application_id,
1288
+ _request_auth,
1289
+ _content_type,
1290
+ _headers,
1291
+ _host_index,
1292
+ ) -> RequestSerialized:
1293
+
1294
+ _host = None
1295
+
1296
+ _collection_formats: Dict[str, str] = {}
1297
+
1298
+ _path_params: Dict[str, str] = {}
1299
+ _query_params: List[Tuple[str, str]] = []
1300
+ _header_params: Dict[str, str | None] = _headers or {}
1301
+ _form_params: List[Tuple[str, str]] = []
1302
+ _files: Dict[str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]] = {}
1303
+ _body_params: bytes | None = None
1304
+
1305
+ # process the path parameters
1306
+ # process the query parameters
1307
+ if user_email is not None:
1308
+ _query_params.append(("user_email", user_email))
1309
+
1310
+ if limit is not None:
1311
+ _query_params.append(("limit", limit))
1312
+
1313
+ if page is not None:
1314
+ _query_params.append(("page", page))
1315
+
1316
+ if api_application_id is not None:
1317
+ _query_params.append(("api_application_id", api_application_id))
1318
+
1319
+ # process the header parameters
1320
+ # process the form parameters
1321
+ # process the body parameter
1322
+
1323
+ # set the HTTP header `Accept`
1324
+ if "Accept" not in _header_params:
1325
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1326
+
1327
+ # authentication setting
1328
+ _auth_settings: List[str] = ["api_key"]
1329
+
1330
+ return self.api_client.param_serialize(
1331
+ method="GET",
1332
+ resource_path="/api/v1/bulk_sends",
1333
+ path_params=_path_params,
1334
+ query_params=_query_params,
1335
+ header_params=_header_params,
1336
+ body=_body_params,
1337
+ post_params=_form_params,
1338
+ files=_files,
1339
+ auth_settings=_auth_settings,
1340
+ collection_formats=_collection_formats,
1341
+ _host=_host,
1342
+ _request_auth=_request_auth,
1343
+ )
1344
+
1345
+ @validate_call
1346
+ def validate_bulk_send_csv(
1347
+ self,
1348
+ bulk_send_csv_request: BulkSendCsvRequest,
1349
+ _request_timeout: Union[
1350
+ None,
1351
+ Annotated[StrictFloat, Field(gt=0)],
1352
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1353
+ ] = None,
1354
+ _request_auth: Dict[StrictStr, Any] | None = None,
1355
+ _content_type: StrictStr | None = None,
1356
+ _headers: Dict[StrictStr, Any] | None = None,
1357
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1358
+ ) -> BulkSendValidateCsvResponse:
1359
+ """Validate Bulk Send CSV
1360
+
1361
+ Validates a Bulk Send CSV file before creating the Bulk Send. It will check the structure of the CSV and the data it contains, and return any errors found.
1362
+
1363
+ :param bulk_send_csv_request: (required)
1364
+ :type bulk_send_csv_request: BulkSendCsvRequest
1365
+ :param _request_timeout: timeout setting for this request. If one
1366
+ number provided, it will be total request
1367
+ timeout. It can also be a pair (tuple) of
1368
+ (connection, read) timeouts.
1369
+ :type _request_timeout: int, tuple(int, int), optional
1370
+ :param _request_auth: set to override the auth_settings for an a single
1371
+ request; this effectively ignores the
1372
+ authentication in the spec for a single request.
1373
+ :type _request_auth: dict, optional
1374
+ :param _content_type: force content-type for the request.
1375
+ :type _content_type: str, Optional
1376
+ :param _headers: set to override the headers for a single
1377
+ request; this effectively ignores the headers
1378
+ in the spec for a single request.
1379
+ :type _headers: dict, optional
1380
+ :param _host_index: set to override the host_index for a single
1381
+ request; this effectively ignores the host_index
1382
+ in the spec for a single request.
1383
+ :type _host_index: int, optional
1384
+ :return: Returns the result object.
1385
+ """ # noqa: E501
1386
+
1387
+ _param = self._validate_bulk_send_csv_serialize(
1388
+ bulk_send_csv_request=bulk_send_csv_request,
1389
+ _request_auth=_request_auth,
1390
+ _content_type=_content_type,
1391
+ _headers=_headers,
1392
+ _host_index=_host_index,
1393
+ )
1394
+
1395
+ _response_types_map: Dict[str, str | None] = {
1396
+ "200": "BulkSendValidateCsvResponse",
1397
+ "422": "ValidationErrorResponse",
1398
+ "401": "ErrorResponse",
1399
+ "429": "RateLimitErrorResponse",
1400
+ }
1401
+
1402
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1403
+ response_data.read()
1404
+ return self.api_client.response_deserialize(
1405
+ response_data=response_data,
1406
+ response_types_map=_response_types_map,
1407
+ ).data
1408
+
1409
+ @validate_call
1410
+ def validate_bulk_send_csv_with_http_info(
1411
+ self,
1412
+ bulk_send_csv_request: BulkSendCsvRequest,
1413
+ _request_timeout: Union[
1414
+ None,
1415
+ Annotated[StrictFloat, Field(gt=0)],
1416
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1417
+ ] = None,
1418
+ _request_auth: Dict[StrictStr, Any] | None = None,
1419
+ _content_type: StrictStr | None = None,
1420
+ _headers: Dict[StrictStr, Any] | None = None,
1421
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1422
+ ) -> ApiResponse[BulkSendValidateCsvResponse]:
1423
+ """Validate Bulk Send CSV
1424
+
1425
+ Validates a Bulk Send CSV file before creating the Bulk Send. It will check the structure of the CSV and the data it contains, and return any errors found.
1426
+
1427
+ :param bulk_send_csv_request: (required)
1428
+ :type bulk_send_csv_request: BulkSendCsvRequest
1429
+ :param _request_timeout: timeout setting for this request. If one
1430
+ number provided, it will be total request
1431
+ timeout. It can also be a pair (tuple) of
1432
+ (connection, read) timeouts.
1433
+ :type _request_timeout: int, tuple(int, int), optional
1434
+ :param _request_auth: set to override the auth_settings for an a single
1435
+ request; this effectively ignores the
1436
+ authentication in the spec for a single request.
1437
+ :type _request_auth: dict, optional
1438
+ :param _content_type: force content-type for the request.
1439
+ :type _content_type: str, Optional
1440
+ :param _headers: set to override the headers for a single
1441
+ request; this effectively ignores the headers
1442
+ in the spec for a single request.
1443
+ :type _headers: dict, optional
1444
+ :param _host_index: set to override the host_index for a single
1445
+ request; this effectively ignores the host_index
1446
+ in the spec for a single request.
1447
+ :type _host_index: int, optional
1448
+ :return: Returns the result object.
1449
+ """ # noqa: E501
1450
+
1451
+ _param = self._validate_bulk_send_csv_serialize(
1452
+ bulk_send_csv_request=bulk_send_csv_request,
1453
+ _request_auth=_request_auth,
1454
+ _content_type=_content_type,
1455
+ _headers=_headers,
1456
+ _host_index=_host_index,
1457
+ )
1458
+
1459
+ _response_types_map: Dict[str, str | None] = {
1460
+ "200": "BulkSendValidateCsvResponse",
1461
+ "422": "ValidationErrorResponse",
1462
+ "401": "ErrorResponse",
1463
+ "429": "RateLimitErrorResponse",
1464
+ }
1465
+
1466
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1467
+ response_data.read()
1468
+ return self.api_client.response_deserialize(
1469
+ response_data=response_data,
1470
+ response_types_map=_response_types_map,
1471
+ )
1472
+
1473
+ @validate_call
1474
+ def validate_bulk_send_csv_without_preload_content(
1475
+ self,
1476
+ bulk_send_csv_request: BulkSendCsvRequest,
1477
+ _request_timeout: Union[
1478
+ None,
1479
+ Annotated[StrictFloat, Field(gt=0)],
1480
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1481
+ ] = None,
1482
+ _request_auth: Dict[StrictStr, Any] | None = None,
1483
+ _content_type: StrictStr | None = None,
1484
+ _headers: Dict[StrictStr, Any] | None = None,
1485
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1486
+ ) -> RESTResponseType:
1487
+ """Validate Bulk Send CSV
1488
+
1489
+ Validates a Bulk Send CSV file before creating the Bulk Send. It will check the structure of the CSV and the data it contains, and return any errors found.
1490
+
1491
+ :param bulk_send_csv_request: (required)
1492
+ :type bulk_send_csv_request: BulkSendCsvRequest
1493
+ :param _request_timeout: timeout setting for this request. If one
1494
+ number provided, it will be total request
1495
+ timeout. It can also be a pair (tuple) of
1496
+ (connection, read) timeouts.
1497
+ :type _request_timeout: int, tuple(int, int), optional
1498
+ :param _request_auth: set to override the auth_settings for an a single
1499
+ request; this effectively ignores the
1500
+ authentication in the spec for a single request.
1501
+ :type _request_auth: dict, optional
1502
+ :param _content_type: force content-type for the request.
1503
+ :type _content_type: str, Optional
1504
+ :param _headers: set to override the headers for a single
1505
+ request; this effectively ignores the headers
1506
+ in the spec for a single request.
1507
+ :type _headers: dict, optional
1508
+ :param _host_index: set to override the host_index for a single
1509
+ request; this effectively ignores the host_index
1510
+ in the spec for a single request.
1511
+ :type _host_index: int, optional
1512
+ :return: Returns the result object.
1513
+ """ # noqa: E501
1514
+
1515
+ _param = self._validate_bulk_send_csv_serialize(
1516
+ bulk_send_csv_request=bulk_send_csv_request,
1517
+ _request_auth=_request_auth,
1518
+ _content_type=_content_type,
1519
+ _headers=_headers,
1520
+ _host_index=_host_index,
1521
+ )
1522
+
1523
+ _response_types_map: Dict[str, str | None] = {
1524
+ "200": "BulkSendValidateCsvResponse",
1525
+ "422": "ValidationErrorResponse",
1526
+ "401": "ErrorResponse",
1527
+ "429": "RateLimitErrorResponse",
1528
+ }
1529
+
1530
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1531
+ return response_data.response
1532
+
1533
+ def _validate_bulk_send_csv_serialize(
1534
+ self,
1535
+ bulk_send_csv_request,
1536
+ _request_auth,
1537
+ _content_type,
1538
+ _headers,
1539
+ _host_index,
1540
+ ) -> RequestSerialized:
1541
+
1542
+ _host = None
1543
+
1544
+ _collection_formats: Dict[str, str] = {}
1545
+
1546
+ _path_params: Dict[str, str] = {}
1547
+ _query_params: List[Tuple[str, str]] = []
1548
+ _header_params: Dict[str, str | None] = _headers or {}
1549
+ _form_params: List[Tuple[str, str]] = []
1550
+ _files: Dict[str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]] = {}
1551
+ _body_params: bytes | None = None
1552
+
1553
+ # process the path parameters
1554
+ # process the query parameters
1555
+ # process the header parameters
1556
+ # process the form parameters
1557
+ # process the body parameter
1558
+ if bulk_send_csv_request is not None:
1559
+ _body_params = bulk_send_csv_request
1560
+
1561
+ # set the HTTP header `Accept`
1562
+ if "Accept" not in _header_params:
1563
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1564
+
1565
+ # set the HTTP header `Content-Type`
1566
+ if _content_type:
1567
+ _header_params["Content-Type"] = _content_type
1568
+ else:
1569
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
1570
+ if _default_content_type is not None:
1571
+ _header_params["Content-Type"] = _default_content_type
1572
+
1573
+ # authentication setting
1574
+ _auth_settings: List[str] = ["api_key"]
1575
+
1576
+ return self.api_client.param_serialize(
1577
+ method="POST",
1578
+ resource_path="/api/v1/bulk_sends/validate_csv",
1579
+ path_params=_path_params,
1580
+ query_params=_query_params,
1581
+ header_params=_header_params,
1582
+ body=_body_params,
1583
+ post_params=_form_params,
1584
+ files=_files,
1585
+ auth_settings=_auth_settings,
1586
+ collection_formats=_collection_formats,
1587
+ _host=_host,
1588
+ _request_auth=_request_auth,
1589
+ )