dockflow-sdk 0.3.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 (52) hide show
  1. dockflow_sdk/__init__.py +124 -0
  2. dockflow_sdk/api/__init__.py +8 -0
  3. dockflow_sdk/api/documents_api.py +1382 -0
  4. dockflow_sdk/api/tradeflows_api.py +615 -0
  5. dockflow_sdk/api/upstream_api.py +471 -0
  6. dockflow_sdk/api/widget_api.py +303 -0
  7. dockflow_sdk/api_client.py +865 -0
  8. dockflow_sdk/api_response.py +21 -0
  9. dockflow_sdk/configuration.py +658 -0
  10. dockflow_sdk/exceptions.py +218 -0
  11. dockflow_sdk/models/__init__.py +51 -0
  12. dockflow_sdk/models/container_reference.py +90 -0
  13. dockflow_sdk/models/create_tradeflows202_response.py +104 -0
  14. dockflow_sdk/models/create_tradeflows202_response_tradeflows_inner.py +90 -0
  15. dockflow_sdk/models/document_update.py +92 -0
  16. dockflow_sdk/models/document_upload.py +105 -0
  17. dockflow_sdk/models/downstream_tradeflow.py +189 -0
  18. dockflow_sdk/models/downstream_tradeflow_bill_of_lading_reference.py +138 -0
  19. dockflow_sdk/models/downstream_tradeflow_booking_reference.py +138 -0
  20. dockflow_sdk/models/downstream_tradeflow_events_inner.py +97 -0
  21. dockflow_sdk/models/downstream_tradeflow_free_time_overrides_inner.py +101 -0
  22. dockflow_sdk/models/downstream_tradeflow_mock_tracking.py +88 -0
  23. dockflow_sdk/models/downstream_tradeflow_partners_inner.py +94 -0
  24. dockflow_sdk/models/downstream_tradeflow_references.py +92 -0
  25. dockflow_sdk/models/get_document200_response.py +100 -0
  26. dockflow_sdk/models/get_document200_response_data_inner.py +133 -0
  27. dockflow_sdk/models/get_document200_response_data_inner_document_type.py +90 -0
  28. dockflow_sdk/models/get_upstream200_response.py +102 -0
  29. dockflow_sdk/models/get_upstream400_response.py +172 -0
  30. dockflow_sdk/models/inline_object.py +90 -0
  31. dockflow_sdk/models/list_document_types200_response_inner.py +90 -0
  32. dockflow_sdk/models/upload_document202_response.py +120 -0
  33. dockflow_sdk/models/upload_document400_response.py +155 -0
  34. dockflow_sdk/models/upstream_record.py +132 -0
  35. dockflow_sdk/models/upstream_record_additional_references.py +90 -0
  36. dockflow_sdk/models/upstream_record_data_quality.py +96 -0
  37. dockflow_sdk/models/upstream_record_metadata.py +105 -0
  38. dockflow_sdk/models/widget_container.py +120 -0
  39. dockflow_sdk/models/widget_country.py +100 -0
  40. dockflow_sdk/models/widget_leg.py +113 -0
  41. dockflow_sdk/models/widget_location.py +129 -0
  42. dockflow_sdk/models/widget_milestone.py +118 -0
  43. dockflow_sdk/models/widget_point.py +90 -0
  44. dockflow_sdk/models/widget_search_result.py +155 -0
  45. dockflow_sdk/models/widget_track.py +102 -0
  46. dockflow_sdk/models/widget_track_reading.py +92 -0
  47. dockflow_sdk/py.typed +0 -0
  48. dockflow_sdk/rest.py +334 -0
  49. dockflow_sdk-0.3.0.dist-info/METADATA +212 -0
  50. dockflow_sdk-0.3.0.dist-info/RECORD +52 -0
  51. dockflow_sdk-0.3.0.dist-info/WHEEL +5 -0
  52. dockflow_sdk-0.3.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1382 @@
1
+ """
2
+ Dockflow v3 API
3
+
4
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 3.0.0
7
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+
9
+ Do not edit the class manually.
10
+ """ # noqa: E501
11
+
12
+
13
+ import warnings
14
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
15
+ from typing import Any, Dict, List, Optional, Tuple, Union
16
+ from typing_extensions import Annotated
17
+
18
+ from pydantic import StrictStr
19
+ from typing import List
20
+ from dockflow_sdk.models.document_update import DocumentUpdate
21
+ from dockflow_sdk.models.document_upload import DocumentUpload
22
+ from dockflow_sdk.models.get_document200_response import GetDocument200Response
23
+ from dockflow_sdk.models.get_document200_response_data_inner import GetDocument200ResponseDataInner
24
+ from dockflow_sdk.models.list_document_types200_response_inner import ListDocumentTypes200ResponseInner
25
+ from dockflow_sdk.models.upload_document202_response import UploadDocument202Response
26
+
27
+ from dockflow_sdk.api_client import ApiClient, RequestSerialized
28
+ from dockflow_sdk.api_response import ApiResponse
29
+ from dockflow_sdk.rest import RESTResponseType
30
+
31
+
32
+ class DocumentsApi:
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
+
45
+ @validate_call
46
+ def delete_document(
47
+ self,
48
+ reference: StrictStr,
49
+ _request_timeout: Union[
50
+ None,
51
+ Annotated[StrictFloat, Field(gt=0)],
52
+ Tuple[
53
+ Annotated[StrictFloat, Field(gt=0)],
54
+ Annotated[StrictFloat, Field(gt=0)]
55
+ ]
56
+ ] = None,
57
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
58
+ _content_type: Optional[StrictStr] = None,
59
+ _headers: Optional[Dict[StrictStr, Any]] = None,
60
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
61
+ ) -> None:
62
+ """Delete a document
63
+
64
+
65
+ :param reference: (required)
66
+ :type reference: str
67
+ :param _request_timeout: timeout setting for this request. If one
68
+ number provided, it will be total request
69
+ timeout. It can also be a pair (tuple) of
70
+ (connection, read) timeouts.
71
+ :type _request_timeout: int, tuple(int, int), optional
72
+ :param _request_auth: set to override the auth_settings for an a single
73
+ request; this effectively ignores the
74
+ authentication in the spec for a single request.
75
+ :type _request_auth: dict, optional
76
+ :param _content_type: force content-type for the request.
77
+ :type _content_type: str, Optional
78
+ :param _headers: set to override the headers for a single
79
+ request; this effectively ignores the headers
80
+ in the spec for a single request.
81
+ :type _headers: dict, optional
82
+ :param _host_index: set to override the host_index for a single
83
+ request; this effectively ignores the host_index
84
+ in the spec for a single request.
85
+ :type _host_index: int, optional
86
+ :return: Returns the result object.
87
+ """ # noqa: E501
88
+
89
+ _param = self._delete_document_serialize(
90
+ reference=reference,
91
+ _request_auth=_request_auth,
92
+ _content_type=_content_type,
93
+ _headers=_headers,
94
+ _host_index=_host_index
95
+ )
96
+
97
+ _response_types_map: Dict[str, Optional[str]] = {
98
+ '500': "str",
99
+ '204': None,
100
+ '404': "str",
101
+ }
102
+ response_data = self.api_client.call_api(
103
+ *_param,
104
+ _request_timeout=_request_timeout
105
+ )
106
+ response_data.read()
107
+ return self.api_client.response_deserialize(
108
+ response_data=response_data,
109
+ response_types_map=_response_types_map,
110
+ ).data
111
+
112
+
113
+ @validate_call
114
+ def delete_document_with_http_info(
115
+ self,
116
+ reference: StrictStr,
117
+ _request_timeout: Union[
118
+ None,
119
+ Annotated[StrictFloat, Field(gt=0)],
120
+ Tuple[
121
+ Annotated[StrictFloat, Field(gt=0)],
122
+ Annotated[StrictFloat, Field(gt=0)]
123
+ ]
124
+ ] = None,
125
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
126
+ _content_type: Optional[StrictStr] = None,
127
+ _headers: Optional[Dict[StrictStr, Any]] = None,
128
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
129
+ ) -> ApiResponse[None]:
130
+ """Delete a document
131
+
132
+
133
+ :param reference: (required)
134
+ :type reference: str
135
+ :param _request_timeout: timeout setting for this request. If one
136
+ number provided, it will be total request
137
+ timeout. It can also be a pair (tuple) of
138
+ (connection, read) timeouts.
139
+ :type _request_timeout: int, tuple(int, int), optional
140
+ :param _request_auth: set to override the auth_settings for an a single
141
+ request; this effectively ignores the
142
+ authentication in the spec for a single request.
143
+ :type _request_auth: dict, optional
144
+ :param _content_type: force content-type for the request.
145
+ :type _content_type: str, Optional
146
+ :param _headers: set to override the headers for a single
147
+ request; this effectively ignores the headers
148
+ in the spec for a single request.
149
+ :type _headers: dict, optional
150
+ :param _host_index: set to override the host_index for a single
151
+ request; this effectively ignores the host_index
152
+ in the spec for a single request.
153
+ :type _host_index: int, optional
154
+ :return: Returns the result object.
155
+ """ # noqa: E501
156
+
157
+ _param = self._delete_document_serialize(
158
+ reference=reference,
159
+ _request_auth=_request_auth,
160
+ _content_type=_content_type,
161
+ _headers=_headers,
162
+ _host_index=_host_index
163
+ )
164
+
165
+ _response_types_map: Dict[str, Optional[str]] = {
166
+ '500': "str",
167
+ '204': None,
168
+ '404': "str",
169
+ }
170
+ response_data = self.api_client.call_api(
171
+ *_param,
172
+ _request_timeout=_request_timeout
173
+ )
174
+ response_data.read()
175
+ return self.api_client.response_deserialize(
176
+ response_data=response_data,
177
+ response_types_map=_response_types_map,
178
+ )
179
+
180
+
181
+ @validate_call
182
+ def delete_document_without_preload_content(
183
+ self,
184
+ reference: StrictStr,
185
+ _request_timeout: Union[
186
+ None,
187
+ Annotated[StrictFloat, Field(gt=0)],
188
+ Tuple[
189
+ Annotated[StrictFloat, Field(gt=0)],
190
+ Annotated[StrictFloat, Field(gt=0)]
191
+ ]
192
+ ] = None,
193
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
194
+ _content_type: Optional[StrictStr] = None,
195
+ _headers: Optional[Dict[StrictStr, Any]] = None,
196
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
197
+ ) -> RESTResponseType:
198
+ """Delete a document
199
+
200
+
201
+ :param reference: (required)
202
+ :type reference: str
203
+ :param _request_timeout: timeout setting for this request. If one
204
+ number provided, it will be total request
205
+ timeout. It can also be a pair (tuple) of
206
+ (connection, read) timeouts.
207
+ :type _request_timeout: int, tuple(int, int), optional
208
+ :param _request_auth: set to override the auth_settings for an a single
209
+ request; this effectively ignores the
210
+ authentication in the spec for a single request.
211
+ :type _request_auth: dict, optional
212
+ :param _content_type: force content-type for the request.
213
+ :type _content_type: str, Optional
214
+ :param _headers: set to override the headers for a single
215
+ request; this effectively ignores the headers
216
+ in the spec for a single request.
217
+ :type _headers: dict, optional
218
+ :param _host_index: set to override the host_index for a single
219
+ request; this effectively ignores the host_index
220
+ in the spec for a single request.
221
+ :type _host_index: int, optional
222
+ :return: Returns the result object.
223
+ """ # noqa: E501
224
+
225
+ _param = self._delete_document_serialize(
226
+ reference=reference,
227
+ _request_auth=_request_auth,
228
+ _content_type=_content_type,
229
+ _headers=_headers,
230
+ _host_index=_host_index
231
+ )
232
+
233
+ _response_types_map: Dict[str, Optional[str]] = {
234
+ '500': "str",
235
+ '204': None,
236
+ '404': "str",
237
+ }
238
+ response_data = self.api_client.call_api(
239
+ *_param,
240
+ _request_timeout=_request_timeout
241
+ )
242
+ return response_data.response
243
+
244
+
245
+ def _delete_document_serialize(
246
+ self,
247
+ reference,
248
+ _request_auth,
249
+ _content_type,
250
+ _headers,
251
+ _host_index,
252
+ ) -> RequestSerialized:
253
+
254
+ _host = None
255
+
256
+ _collection_formats: Dict[str, str] = {
257
+ }
258
+
259
+ _path_params: Dict[str, str] = {}
260
+ _query_params: List[Tuple[str, str]] = []
261
+ _header_params: Dict[str, Any] = self.api_client._merge_headers(_headers)
262
+ _form_params: List[Tuple[str, str]] = []
263
+ _files: Dict[
264
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
265
+ ] = {}
266
+ _body_params: Optional[bytes] = None
267
+
268
+ # process the path parameters
269
+ if reference is not None:
270
+ _path_params['reference'] = reference
271
+ # process the query parameters
272
+ # process the header parameters
273
+ # process the form parameters
274
+ # process the body parameter
275
+
276
+
277
+ # set the HTTP header `Accept`
278
+ if not any(key.lower() == 'accept' for key in _header_params):
279
+ _header_params['Accept'] = self.api_client.select_header_accept(
280
+ [
281
+ 'application/json'
282
+ ]
283
+ )
284
+
285
+
286
+ # authentication setting
287
+ _auth_settings: List[str] = [
288
+ 'ApiKey'
289
+ ]
290
+
291
+ return self.api_client.param_serialize(
292
+ method='DELETE',
293
+ resource_path='/v3/downstream/documents/{reference}',
294
+ path_params=_path_params,
295
+ query_params=_query_params,
296
+ header_params=_header_params,
297
+ body=_body_params,
298
+ post_params=_form_params,
299
+ files=_files,
300
+ auth_settings=_auth_settings,
301
+ collection_formats=_collection_formats,
302
+ _host=_host,
303
+ _request_auth=_request_auth
304
+ )
305
+
306
+
307
+
308
+
309
+ @validate_call
310
+ def get_document(
311
+ self,
312
+ reference: StrictStr,
313
+ _request_timeout: Union[
314
+ None,
315
+ Annotated[StrictFloat, Field(gt=0)],
316
+ Tuple[
317
+ Annotated[StrictFloat, Field(gt=0)],
318
+ Annotated[StrictFloat, Field(gt=0)]
319
+ ]
320
+ ] = None,
321
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
322
+ _content_type: Optional[StrictStr] = None,
323
+ _headers: Optional[Dict[StrictStr, Any]] = None,
324
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
325
+ ) -> GetDocument200Response:
326
+ """List the documents of a tradeflow
327
+
328
+
329
+ :param reference: (required)
330
+ :type reference: str
331
+ :param _request_timeout: timeout setting for this request. If one
332
+ number provided, it will be total request
333
+ timeout. It can also be a pair (tuple) of
334
+ (connection, read) timeouts.
335
+ :type _request_timeout: int, tuple(int, int), optional
336
+ :param _request_auth: set to override the auth_settings for an a single
337
+ request; this effectively ignores the
338
+ authentication in the spec for a single request.
339
+ :type _request_auth: dict, optional
340
+ :param _content_type: force content-type for the request.
341
+ :type _content_type: str, Optional
342
+ :param _headers: set to override the headers for a single
343
+ request; this effectively ignores the headers
344
+ in the spec for a single request.
345
+ :type _headers: dict, optional
346
+ :param _host_index: set to override the host_index for a single
347
+ request; this effectively ignores the host_index
348
+ in the spec for a single request.
349
+ :type _host_index: int, optional
350
+ :return: Returns the result object.
351
+ """ # noqa: E501
352
+
353
+ _param = self._get_document_serialize(
354
+ reference=reference,
355
+ _request_auth=_request_auth,
356
+ _content_type=_content_type,
357
+ _headers=_headers,
358
+ _host_index=_host_index
359
+ )
360
+
361
+ _response_types_map: Dict[str, Optional[str]] = {
362
+ '200': "GetDocument200Response",
363
+ '404': "str",
364
+ }
365
+ response_data = self.api_client.call_api(
366
+ *_param,
367
+ _request_timeout=_request_timeout
368
+ )
369
+ response_data.read()
370
+ return self.api_client.response_deserialize(
371
+ response_data=response_data,
372
+ response_types_map=_response_types_map,
373
+ ).data
374
+
375
+
376
+ @validate_call
377
+ def get_document_with_http_info(
378
+ self,
379
+ reference: StrictStr,
380
+ _request_timeout: Union[
381
+ None,
382
+ Annotated[StrictFloat, Field(gt=0)],
383
+ Tuple[
384
+ Annotated[StrictFloat, Field(gt=0)],
385
+ Annotated[StrictFloat, Field(gt=0)]
386
+ ]
387
+ ] = None,
388
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
389
+ _content_type: Optional[StrictStr] = None,
390
+ _headers: Optional[Dict[StrictStr, Any]] = None,
391
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
392
+ ) -> ApiResponse[GetDocument200Response]:
393
+ """List the documents of a tradeflow
394
+
395
+
396
+ :param reference: (required)
397
+ :type reference: str
398
+ :param _request_timeout: timeout setting for this request. If one
399
+ number provided, it will be total request
400
+ timeout. It can also be a pair (tuple) of
401
+ (connection, read) timeouts.
402
+ :type _request_timeout: int, tuple(int, int), optional
403
+ :param _request_auth: set to override the auth_settings for an a single
404
+ request; this effectively ignores the
405
+ authentication in the spec for a single request.
406
+ :type _request_auth: dict, optional
407
+ :param _content_type: force content-type for the request.
408
+ :type _content_type: str, Optional
409
+ :param _headers: set to override the headers for a single
410
+ request; this effectively ignores the headers
411
+ in the spec for a single request.
412
+ :type _headers: dict, optional
413
+ :param _host_index: set to override the host_index for a single
414
+ request; this effectively ignores the host_index
415
+ in the spec for a single request.
416
+ :type _host_index: int, optional
417
+ :return: Returns the result object.
418
+ """ # noqa: E501
419
+
420
+ _param = self._get_document_serialize(
421
+ reference=reference,
422
+ _request_auth=_request_auth,
423
+ _content_type=_content_type,
424
+ _headers=_headers,
425
+ _host_index=_host_index
426
+ )
427
+
428
+ _response_types_map: Dict[str, Optional[str]] = {
429
+ '200': "GetDocument200Response",
430
+ '404': "str",
431
+ }
432
+ response_data = self.api_client.call_api(
433
+ *_param,
434
+ _request_timeout=_request_timeout
435
+ )
436
+ response_data.read()
437
+ return self.api_client.response_deserialize(
438
+ response_data=response_data,
439
+ response_types_map=_response_types_map,
440
+ )
441
+
442
+
443
+ @validate_call
444
+ def get_document_without_preload_content(
445
+ self,
446
+ reference: StrictStr,
447
+ _request_timeout: Union[
448
+ None,
449
+ Annotated[StrictFloat, Field(gt=0)],
450
+ Tuple[
451
+ Annotated[StrictFloat, Field(gt=0)],
452
+ Annotated[StrictFloat, Field(gt=0)]
453
+ ]
454
+ ] = None,
455
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
456
+ _content_type: Optional[StrictStr] = None,
457
+ _headers: Optional[Dict[StrictStr, Any]] = None,
458
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
459
+ ) -> RESTResponseType:
460
+ """List the documents of a tradeflow
461
+
462
+
463
+ :param reference: (required)
464
+ :type reference: str
465
+ :param _request_timeout: timeout setting for this request. If one
466
+ number provided, it will be total request
467
+ timeout. It can also be a pair (tuple) of
468
+ (connection, read) timeouts.
469
+ :type _request_timeout: int, tuple(int, int), optional
470
+ :param _request_auth: set to override the auth_settings for an a single
471
+ request; this effectively ignores the
472
+ authentication in the spec for a single request.
473
+ :type _request_auth: dict, optional
474
+ :param _content_type: force content-type for the request.
475
+ :type _content_type: str, Optional
476
+ :param _headers: set to override the headers for a single
477
+ request; this effectively ignores the headers
478
+ in the spec for a single request.
479
+ :type _headers: dict, optional
480
+ :param _host_index: set to override the host_index for a single
481
+ request; this effectively ignores the host_index
482
+ in the spec for a single request.
483
+ :type _host_index: int, optional
484
+ :return: Returns the result object.
485
+ """ # noqa: E501
486
+
487
+ _param = self._get_document_serialize(
488
+ reference=reference,
489
+ _request_auth=_request_auth,
490
+ _content_type=_content_type,
491
+ _headers=_headers,
492
+ _host_index=_host_index
493
+ )
494
+
495
+ _response_types_map: Dict[str, Optional[str]] = {
496
+ '200': "GetDocument200Response",
497
+ '404': "str",
498
+ }
499
+ response_data = self.api_client.call_api(
500
+ *_param,
501
+ _request_timeout=_request_timeout
502
+ )
503
+ return response_data.response
504
+
505
+
506
+ def _get_document_serialize(
507
+ self,
508
+ reference,
509
+ _request_auth,
510
+ _content_type,
511
+ _headers,
512
+ _host_index,
513
+ ) -> RequestSerialized:
514
+
515
+ _host = None
516
+
517
+ _collection_formats: Dict[str, str] = {
518
+ }
519
+
520
+ _path_params: Dict[str, str] = {}
521
+ _query_params: List[Tuple[str, str]] = []
522
+ _header_params: Dict[str, Any] = self.api_client._merge_headers(_headers)
523
+ _form_params: List[Tuple[str, str]] = []
524
+ _files: Dict[
525
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
526
+ ] = {}
527
+ _body_params: Optional[bytes] = None
528
+
529
+ # process the path parameters
530
+ if reference is not None:
531
+ _path_params['reference'] = reference
532
+ # process the query parameters
533
+ # process the header parameters
534
+ # process the form parameters
535
+ # process the body parameter
536
+
537
+
538
+ # set the HTTP header `Accept`
539
+ if not any(key.lower() == 'accept' for key in _header_params):
540
+ _header_params['Accept'] = self.api_client.select_header_accept(
541
+ [
542
+ 'application/json'
543
+ ]
544
+ )
545
+
546
+
547
+ # authentication setting
548
+ _auth_settings: List[str] = [
549
+ 'ApiKey'
550
+ ]
551
+
552
+ return self.api_client.param_serialize(
553
+ method='GET',
554
+ resource_path='/v3/downstream/documents/{reference}',
555
+ path_params=_path_params,
556
+ query_params=_query_params,
557
+ header_params=_header_params,
558
+ body=_body_params,
559
+ post_params=_form_params,
560
+ files=_files,
561
+ auth_settings=_auth_settings,
562
+ collection_formats=_collection_formats,
563
+ _host=_host,
564
+ _request_auth=_request_auth
565
+ )
566
+
567
+
568
+
569
+
570
+ @validate_call
571
+ def list_document_types(
572
+ self,
573
+ _request_timeout: Union[
574
+ None,
575
+ Annotated[StrictFloat, Field(gt=0)],
576
+ Tuple[
577
+ Annotated[StrictFloat, Field(gt=0)],
578
+ Annotated[StrictFloat, Field(gt=0)]
579
+ ]
580
+ ] = None,
581
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
582
+ _content_type: Optional[StrictStr] = None,
583
+ _headers: Optional[Dict[StrictStr, Any]] = None,
584
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
585
+ ) -> List[ListDocumentTypes200ResponseInner]:
586
+ """List document types
587
+
588
+
589
+ :param _request_timeout: timeout setting for this request. If one
590
+ number provided, it will be total request
591
+ timeout. It can also be a pair (tuple) of
592
+ (connection, read) timeouts.
593
+ :type _request_timeout: int, tuple(int, int), optional
594
+ :param _request_auth: set to override the auth_settings for an a single
595
+ request; this effectively ignores the
596
+ authentication in the spec for a single request.
597
+ :type _request_auth: dict, optional
598
+ :param _content_type: force content-type for the request.
599
+ :type _content_type: str, Optional
600
+ :param _headers: set to override the headers for a single
601
+ request; this effectively ignores the headers
602
+ in the spec for a single request.
603
+ :type _headers: dict, optional
604
+ :param _host_index: set to override the host_index for a single
605
+ request; this effectively ignores the host_index
606
+ in the spec for a single request.
607
+ :type _host_index: int, optional
608
+ :return: Returns the result object.
609
+ """ # noqa: E501
610
+
611
+ _param = self._list_document_types_serialize(
612
+ _request_auth=_request_auth,
613
+ _content_type=_content_type,
614
+ _headers=_headers,
615
+ _host_index=_host_index
616
+ )
617
+
618
+ _response_types_map: Dict[str, Optional[str]] = {
619
+ '200': "List[ListDocumentTypes200ResponseInner]",
620
+ }
621
+ response_data = self.api_client.call_api(
622
+ *_param,
623
+ _request_timeout=_request_timeout
624
+ )
625
+ response_data.read()
626
+ return self.api_client.response_deserialize(
627
+ response_data=response_data,
628
+ response_types_map=_response_types_map,
629
+ ).data
630
+
631
+
632
+ @validate_call
633
+ def list_document_types_with_http_info(
634
+ self,
635
+ _request_timeout: Union[
636
+ None,
637
+ Annotated[StrictFloat, Field(gt=0)],
638
+ Tuple[
639
+ Annotated[StrictFloat, Field(gt=0)],
640
+ Annotated[StrictFloat, Field(gt=0)]
641
+ ]
642
+ ] = None,
643
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
644
+ _content_type: Optional[StrictStr] = None,
645
+ _headers: Optional[Dict[StrictStr, Any]] = None,
646
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
647
+ ) -> ApiResponse[List[ListDocumentTypes200ResponseInner]]:
648
+ """List document types
649
+
650
+
651
+ :param _request_timeout: timeout setting for this request. If one
652
+ number provided, it will be total request
653
+ timeout. It can also be a pair (tuple) of
654
+ (connection, read) timeouts.
655
+ :type _request_timeout: int, tuple(int, int), optional
656
+ :param _request_auth: set to override the auth_settings for an a single
657
+ request; this effectively ignores the
658
+ authentication in the spec for a single request.
659
+ :type _request_auth: dict, optional
660
+ :param _content_type: force content-type for the request.
661
+ :type _content_type: str, Optional
662
+ :param _headers: set to override the headers for a single
663
+ request; this effectively ignores the headers
664
+ in the spec for a single request.
665
+ :type _headers: dict, optional
666
+ :param _host_index: set to override the host_index for a single
667
+ request; this effectively ignores the host_index
668
+ in the spec for a single request.
669
+ :type _host_index: int, optional
670
+ :return: Returns the result object.
671
+ """ # noqa: E501
672
+
673
+ _param = self._list_document_types_serialize(
674
+ _request_auth=_request_auth,
675
+ _content_type=_content_type,
676
+ _headers=_headers,
677
+ _host_index=_host_index
678
+ )
679
+
680
+ _response_types_map: Dict[str, Optional[str]] = {
681
+ '200': "List[ListDocumentTypes200ResponseInner]",
682
+ }
683
+ response_data = self.api_client.call_api(
684
+ *_param,
685
+ _request_timeout=_request_timeout
686
+ )
687
+ response_data.read()
688
+ return self.api_client.response_deserialize(
689
+ response_data=response_data,
690
+ response_types_map=_response_types_map,
691
+ )
692
+
693
+
694
+ @validate_call
695
+ def list_document_types_without_preload_content(
696
+ self,
697
+ _request_timeout: Union[
698
+ None,
699
+ Annotated[StrictFloat, Field(gt=0)],
700
+ Tuple[
701
+ Annotated[StrictFloat, Field(gt=0)],
702
+ Annotated[StrictFloat, Field(gt=0)]
703
+ ]
704
+ ] = None,
705
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
706
+ _content_type: Optional[StrictStr] = None,
707
+ _headers: Optional[Dict[StrictStr, Any]] = None,
708
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
709
+ ) -> RESTResponseType:
710
+ """List document types
711
+
712
+
713
+ :param _request_timeout: timeout setting for this request. If one
714
+ number provided, it will be total request
715
+ timeout. It can also be a pair (tuple) of
716
+ (connection, read) timeouts.
717
+ :type _request_timeout: int, tuple(int, int), optional
718
+ :param _request_auth: set to override the auth_settings for an a single
719
+ request; this effectively ignores the
720
+ authentication in the spec for a single request.
721
+ :type _request_auth: dict, optional
722
+ :param _content_type: force content-type for the request.
723
+ :type _content_type: str, Optional
724
+ :param _headers: set to override the headers for a single
725
+ request; this effectively ignores the headers
726
+ in the spec for a single request.
727
+ :type _headers: dict, optional
728
+ :param _host_index: set to override the host_index for a single
729
+ request; this effectively ignores the host_index
730
+ in the spec for a single request.
731
+ :type _host_index: int, optional
732
+ :return: Returns the result object.
733
+ """ # noqa: E501
734
+
735
+ _param = self._list_document_types_serialize(
736
+ _request_auth=_request_auth,
737
+ _content_type=_content_type,
738
+ _headers=_headers,
739
+ _host_index=_host_index
740
+ )
741
+
742
+ _response_types_map: Dict[str, Optional[str]] = {
743
+ '200': "List[ListDocumentTypes200ResponseInner]",
744
+ }
745
+ response_data = self.api_client.call_api(
746
+ *_param,
747
+ _request_timeout=_request_timeout
748
+ )
749
+ return response_data.response
750
+
751
+
752
+ def _list_document_types_serialize(
753
+ self,
754
+ _request_auth,
755
+ _content_type,
756
+ _headers,
757
+ _host_index,
758
+ ) -> RequestSerialized:
759
+
760
+ _host = None
761
+
762
+ _collection_formats: Dict[str, str] = {
763
+ }
764
+
765
+ _path_params: Dict[str, str] = {}
766
+ _query_params: List[Tuple[str, str]] = []
767
+ _header_params: Dict[str, Any] = self.api_client._merge_headers(_headers)
768
+ _form_params: List[Tuple[str, str]] = []
769
+ _files: Dict[
770
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
771
+ ] = {}
772
+ _body_params: Optional[bytes] = None
773
+
774
+ # process the path parameters
775
+ # process the query parameters
776
+ # process the header parameters
777
+ # process the form parameters
778
+ # process the body parameter
779
+
780
+
781
+ # set the HTTP header `Accept`
782
+ if not any(key.lower() == 'accept' for key in _header_params):
783
+ _header_params['Accept'] = self.api_client.select_header_accept(
784
+ [
785
+ 'application/json'
786
+ ]
787
+ )
788
+
789
+
790
+ # authentication setting
791
+ _auth_settings: List[str] = [
792
+ 'ApiKey'
793
+ ]
794
+
795
+ return self.api_client.param_serialize(
796
+ method='GET',
797
+ resource_path='/v3/downstream/documents/types',
798
+ path_params=_path_params,
799
+ query_params=_query_params,
800
+ header_params=_header_params,
801
+ body=_body_params,
802
+ post_params=_form_params,
803
+ files=_files,
804
+ auth_settings=_auth_settings,
805
+ collection_formats=_collection_formats,
806
+ _host=_host,
807
+ _request_auth=_request_auth
808
+ )
809
+
810
+
811
+
812
+
813
+ @validate_call
814
+ def update_document(
815
+ self,
816
+ reference: StrictStr,
817
+ document_update: DocumentUpdate,
818
+ _request_timeout: Union[
819
+ None,
820
+ Annotated[StrictFloat, Field(gt=0)],
821
+ Tuple[
822
+ Annotated[StrictFloat, Field(gt=0)],
823
+ Annotated[StrictFloat, Field(gt=0)]
824
+ ]
825
+ ] = None,
826
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
827
+ _content_type: Optional[StrictStr] = None,
828
+ _headers: Optional[Dict[StrictStr, Any]] = None,
829
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
830
+ ) -> GetDocument200ResponseDataInner:
831
+ """Update a document
832
+
833
+
834
+ :param reference: (required)
835
+ :type reference: str
836
+ :param document_update: (required)
837
+ :type document_update: DocumentUpdate
838
+ :param _request_timeout: timeout setting for this request. If one
839
+ number provided, it will be total request
840
+ timeout. It can also be a pair (tuple) of
841
+ (connection, read) timeouts.
842
+ :type _request_timeout: int, tuple(int, int), optional
843
+ :param _request_auth: set to override the auth_settings for an a single
844
+ request; this effectively ignores the
845
+ authentication in the spec for a single request.
846
+ :type _request_auth: dict, optional
847
+ :param _content_type: force content-type for the request.
848
+ :type _content_type: str, Optional
849
+ :param _headers: set to override the headers for a single
850
+ request; this effectively ignores the headers
851
+ in the spec for a single request.
852
+ :type _headers: dict, optional
853
+ :param _host_index: set to override the host_index for a single
854
+ request; this effectively ignores the host_index
855
+ in the spec for a single request.
856
+ :type _host_index: int, optional
857
+ :return: Returns the result object.
858
+ """ # noqa: E501
859
+
860
+ _param = self._update_document_serialize(
861
+ reference=reference,
862
+ document_update=document_update,
863
+ _request_auth=_request_auth,
864
+ _content_type=_content_type,
865
+ _headers=_headers,
866
+ _host_index=_host_index
867
+ )
868
+
869
+ _response_types_map: Dict[str, Optional[str]] = {
870
+ '500': "str",
871
+ '200': "GetDocument200ResponseDataInner",
872
+ '400': "str",
873
+ '404': "str",
874
+ }
875
+ response_data = self.api_client.call_api(
876
+ *_param,
877
+ _request_timeout=_request_timeout
878
+ )
879
+ response_data.read()
880
+ return self.api_client.response_deserialize(
881
+ response_data=response_data,
882
+ response_types_map=_response_types_map,
883
+ ).data
884
+
885
+
886
+ @validate_call
887
+ def update_document_with_http_info(
888
+ self,
889
+ reference: StrictStr,
890
+ document_update: DocumentUpdate,
891
+ _request_timeout: Union[
892
+ None,
893
+ Annotated[StrictFloat, Field(gt=0)],
894
+ Tuple[
895
+ Annotated[StrictFloat, Field(gt=0)],
896
+ Annotated[StrictFloat, Field(gt=0)]
897
+ ]
898
+ ] = None,
899
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
900
+ _content_type: Optional[StrictStr] = None,
901
+ _headers: Optional[Dict[StrictStr, Any]] = None,
902
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
903
+ ) -> ApiResponse[GetDocument200ResponseDataInner]:
904
+ """Update a document
905
+
906
+
907
+ :param reference: (required)
908
+ :type reference: str
909
+ :param document_update: (required)
910
+ :type document_update: DocumentUpdate
911
+ :param _request_timeout: timeout setting for this request. If one
912
+ number provided, it will be total request
913
+ timeout. It can also be a pair (tuple) of
914
+ (connection, read) timeouts.
915
+ :type _request_timeout: int, tuple(int, int), optional
916
+ :param _request_auth: set to override the auth_settings for an a single
917
+ request; this effectively ignores the
918
+ authentication in the spec for a single request.
919
+ :type _request_auth: dict, optional
920
+ :param _content_type: force content-type for the request.
921
+ :type _content_type: str, Optional
922
+ :param _headers: set to override the headers for a single
923
+ request; this effectively ignores the headers
924
+ in the spec for a single request.
925
+ :type _headers: dict, optional
926
+ :param _host_index: set to override the host_index for a single
927
+ request; this effectively ignores the host_index
928
+ in the spec for a single request.
929
+ :type _host_index: int, optional
930
+ :return: Returns the result object.
931
+ """ # noqa: E501
932
+
933
+ _param = self._update_document_serialize(
934
+ reference=reference,
935
+ document_update=document_update,
936
+ _request_auth=_request_auth,
937
+ _content_type=_content_type,
938
+ _headers=_headers,
939
+ _host_index=_host_index
940
+ )
941
+
942
+ _response_types_map: Dict[str, Optional[str]] = {
943
+ '500': "str",
944
+ '200': "GetDocument200ResponseDataInner",
945
+ '400': "str",
946
+ '404': "str",
947
+ }
948
+ response_data = self.api_client.call_api(
949
+ *_param,
950
+ _request_timeout=_request_timeout
951
+ )
952
+ response_data.read()
953
+ return self.api_client.response_deserialize(
954
+ response_data=response_data,
955
+ response_types_map=_response_types_map,
956
+ )
957
+
958
+
959
+ @validate_call
960
+ def update_document_without_preload_content(
961
+ self,
962
+ reference: StrictStr,
963
+ document_update: DocumentUpdate,
964
+ _request_timeout: Union[
965
+ None,
966
+ Annotated[StrictFloat, Field(gt=0)],
967
+ Tuple[
968
+ Annotated[StrictFloat, Field(gt=0)],
969
+ Annotated[StrictFloat, Field(gt=0)]
970
+ ]
971
+ ] = None,
972
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
973
+ _content_type: Optional[StrictStr] = None,
974
+ _headers: Optional[Dict[StrictStr, Any]] = None,
975
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
976
+ ) -> RESTResponseType:
977
+ """Update a document
978
+
979
+
980
+ :param reference: (required)
981
+ :type reference: str
982
+ :param document_update: (required)
983
+ :type document_update: DocumentUpdate
984
+ :param _request_timeout: timeout setting for this request. If one
985
+ number provided, it will be total request
986
+ timeout. It can also be a pair (tuple) of
987
+ (connection, read) timeouts.
988
+ :type _request_timeout: int, tuple(int, int), optional
989
+ :param _request_auth: set to override the auth_settings for an a single
990
+ request; this effectively ignores the
991
+ authentication in the spec for a single request.
992
+ :type _request_auth: dict, optional
993
+ :param _content_type: force content-type for the request.
994
+ :type _content_type: str, Optional
995
+ :param _headers: set to override the headers for a single
996
+ request; this effectively ignores the headers
997
+ in the spec for a single request.
998
+ :type _headers: dict, optional
999
+ :param _host_index: set to override the host_index for a single
1000
+ request; this effectively ignores the host_index
1001
+ in the spec for a single request.
1002
+ :type _host_index: int, optional
1003
+ :return: Returns the result object.
1004
+ """ # noqa: E501
1005
+
1006
+ _param = self._update_document_serialize(
1007
+ reference=reference,
1008
+ document_update=document_update,
1009
+ _request_auth=_request_auth,
1010
+ _content_type=_content_type,
1011
+ _headers=_headers,
1012
+ _host_index=_host_index
1013
+ )
1014
+
1015
+ _response_types_map: Dict[str, Optional[str]] = {
1016
+ '500': "str",
1017
+ '200': "GetDocument200ResponseDataInner",
1018
+ '400': "str",
1019
+ '404': "str",
1020
+ }
1021
+ response_data = self.api_client.call_api(
1022
+ *_param,
1023
+ _request_timeout=_request_timeout
1024
+ )
1025
+ return response_data.response
1026
+
1027
+
1028
+ def _update_document_serialize(
1029
+ self,
1030
+ reference,
1031
+ document_update,
1032
+ _request_auth,
1033
+ _content_type,
1034
+ _headers,
1035
+ _host_index,
1036
+ ) -> RequestSerialized:
1037
+
1038
+ _host = None
1039
+
1040
+ _collection_formats: Dict[str, str] = {
1041
+ }
1042
+
1043
+ _path_params: Dict[str, str] = {}
1044
+ _query_params: List[Tuple[str, str]] = []
1045
+ _header_params: Dict[str, Any] = self.api_client._merge_headers(_headers)
1046
+ _form_params: List[Tuple[str, str]] = []
1047
+ _files: Dict[
1048
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1049
+ ] = {}
1050
+ _body_params: Optional[bytes] = None
1051
+
1052
+ # process the path parameters
1053
+ if reference is not None:
1054
+ _path_params['reference'] = reference
1055
+ # process the query parameters
1056
+ # process the header parameters
1057
+ # process the form parameters
1058
+ # process the body parameter
1059
+ if document_update is not None:
1060
+ _body_params = document_update
1061
+
1062
+
1063
+ # set the HTTP header `Accept`
1064
+ if not any(key.lower() == 'accept' for key in _header_params):
1065
+ _header_params['Accept'] = self.api_client.select_header_accept(
1066
+ [
1067
+ 'application/json'
1068
+ ]
1069
+ )
1070
+
1071
+ # set the HTTP header `Content-Type`
1072
+ if _content_type:
1073
+ self.api_client._set_header(_header_params, 'Content-Type', _content_type)
1074
+ else:
1075
+ _default_content_type = (
1076
+ self.api_client.select_header_content_type(
1077
+ [
1078
+ 'application/json'
1079
+ ]
1080
+ )
1081
+ )
1082
+ if _default_content_type is not None:
1083
+ self.api_client._set_header(_header_params, 'Content-Type', _default_content_type)
1084
+
1085
+ # authentication setting
1086
+ _auth_settings: List[str] = [
1087
+ 'ApiKey'
1088
+ ]
1089
+
1090
+ return self.api_client.param_serialize(
1091
+ method='PATCH',
1092
+ resource_path='/v3/downstream/documents/{reference}',
1093
+ path_params=_path_params,
1094
+ query_params=_query_params,
1095
+ header_params=_header_params,
1096
+ body=_body_params,
1097
+ post_params=_form_params,
1098
+ files=_files,
1099
+ auth_settings=_auth_settings,
1100
+ collection_formats=_collection_formats,
1101
+ _host=_host,
1102
+ _request_auth=_request_auth
1103
+ )
1104
+
1105
+
1106
+
1107
+
1108
+ @validate_call
1109
+ def upload_document(
1110
+ self,
1111
+ document_upload: DocumentUpload,
1112
+ _request_timeout: Union[
1113
+ None,
1114
+ Annotated[StrictFloat, Field(gt=0)],
1115
+ Tuple[
1116
+ Annotated[StrictFloat, Field(gt=0)],
1117
+ Annotated[StrictFloat, Field(gt=0)]
1118
+ ]
1119
+ ] = None,
1120
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1121
+ _content_type: Optional[StrictStr] = None,
1122
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1123
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1124
+ ) -> UploadDocument202Response:
1125
+ """Upload a document to a tradeflow
1126
+
1127
+
1128
+ :param document_upload: (required)
1129
+ :type document_upload: DocumentUpload
1130
+ :param _request_timeout: timeout setting for this request. If one
1131
+ number provided, it will be total request
1132
+ timeout. It can also be a pair (tuple) of
1133
+ (connection, read) timeouts.
1134
+ :type _request_timeout: int, tuple(int, int), optional
1135
+ :param _request_auth: set to override the auth_settings for an a single
1136
+ request; this effectively ignores the
1137
+ authentication in the spec for a single request.
1138
+ :type _request_auth: dict, optional
1139
+ :param _content_type: force content-type for the request.
1140
+ :type _content_type: str, Optional
1141
+ :param _headers: set to override the headers for a single
1142
+ request; this effectively ignores the headers
1143
+ in the spec for a single request.
1144
+ :type _headers: dict, optional
1145
+ :param _host_index: set to override the host_index for a single
1146
+ request; this effectively ignores the host_index
1147
+ in the spec for a single request.
1148
+ :type _host_index: int, optional
1149
+ :return: Returns the result object.
1150
+ """ # noqa: E501
1151
+
1152
+ _param = self._upload_document_serialize(
1153
+ document_upload=document_upload,
1154
+ _request_auth=_request_auth,
1155
+ _content_type=_content_type,
1156
+ _headers=_headers,
1157
+ _host_index=_host_index
1158
+ )
1159
+
1160
+ _response_types_map: Dict[str, Optional[str]] = {
1161
+ '202': "UploadDocument202Response",
1162
+ '500': "str",
1163
+ '400': "UploadDocument400Response",
1164
+ }
1165
+ response_data = self.api_client.call_api(
1166
+ *_param,
1167
+ _request_timeout=_request_timeout
1168
+ )
1169
+ response_data.read()
1170
+ return self.api_client.response_deserialize(
1171
+ response_data=response_data,
1172
+ response_types_map=_response_types_map,
1173
+ ).data
1174
+
1175
+
1176
+ @validate_call
1177
+ def upload_document_with_http_info(
1178
+ self,
1179
+ document_upload: DocumentUpload,
1180
+ _request_timeout: Union[
1181
+ None,
1182
+ Annotated[StrictFloat, Field(gt=0)],
1183
+ Tuple[
1184
+ Annotated[StrictFloat, Field(gt=0)],
1185
+ Annotated[StrictFloat, Field(gt=0)]
1186
+ ]
1187
+ ] = None,
1188
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1189
+ _content_type: Optional[StrictStr] = None,
1190
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1191
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1192
+ ) -> ApiResponse[UploadDocument202Response]:
1193
+ """Upload a document to a tradeflow
1194
+
1195
+
1196
+ :param document_upload: (required)
1197
+ :type document_upload: DocumentUpload
1198
+ :param _request_timeout: timeout setting for this request. If one
1199
+ number provided, it will be total request
1200
+ timeout. It can also be a pair (tuple) of
1201
+ (connection, read) timeouts.
1202
+ :type _request_timeout: int, tuple(int, int), optional
1203
+ :param _request_auth: set to override the auth_settings for an a single
1204
+ request; this effectively ignores the
1205
+ authentication in the spec for a single request.
1206
+ :type _request_auth: dict, optional
1207
+ :param _content_type: force content-type for the request.
1208
+ :type _content_type: str, Optional
1209
+ :param _headers: set to override the headers for a single
1210
+ request; this effectively ignores the headers
1211
+ in the spec for a single request.
1212
+ :type _headers: dict, optional
1213
+ :param _host_index: set to override the host_index for a single
1214
+ request; this effectively ignores the host_index
1215
+ in the spec for a single request.
1216
+ :type _host_index: int, optional
1217
+ :return: Returns the result object.
1218
+ """ # noqa: E501
1219
+
1220
+ _param = self._upload_document_serialize(
1221
+ document_upload=document_upload,
1222
+ _request_auth=_request_auth,
1223
+ _content_type=_content_type,
1224
+ _headers=_headers,
1225
+ _host_index=_host_index
1226
+ )
1227
+
1228
+ _response_types_map: Dict[str, Optional[str]] = {
1229
+ '202': "UploadDocument202Response",
1230
+ '500': "str",
1231
+ '400': "UploadDocument400Response",
1232
+ }
1233
+ response_data = self.api_client.call_api(
1234
+ *_param,
1235
+ _request_timeout=_request_timeout
1236
+ )
1237
+ response_data.read()
1238
+ return self.api_client.response_deserialize(
1239
+ response_data=response_data,
1240
+ response_types_map=_response_types_map,
1241
+ )
1242
+
1243
+
1244
+ @validate_call
1245
+ def upload_document_without_preload_content(
1246
+ self,
1247
+ document_upload: DocumentUpload,
1248
+ _request_timeout: Union[
1249
+ None,
1250
+ Annotated[StrictFloat, Field(gt=0)],
1251
+ Tuple[
1252
+ Annotated[StrictFloat, Field(gt=0)],
1253
+ Annotated[StrictFloat, Field(gt=0)]
1254
+ ]
1255
+ ] = None,
1256
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1257
+ _content_type: Optional[StrictStr] = None,
1258
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1259
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1260
+ ) -> RESTResponseType:
1261
+ """Upload a document to a tradeflow
1262
+
1263
+
1264
+ :param document_upload: (required)
1265
+ :type document_upload: DocumentUpload
1266
+ :param _request_timeout: timeout setting for this request. If one
1267
+ number provided, it will be total request
1268
+ timeout. It can also be a pair (tuple) of
1269
+ (connection, read) timeouts.
1270
+ :type _request_timeout: int, tuple(int, int), optional
1271
+ :param _request_auth: set to override the auth_settings for an a single
1272
+ request; this effectively ignores the
1273
+ authentication in the spec for a single request.
1274
+ :type _request_auth: dict, optional
1275
+ :param _content_type: force content-type for the request.
1276
+ :type _content_type: str, Optional
1277
+ :param _headers: set to override the headers for a single
1278
+ request; this effectively ignores the headers
1279
+ in the spec for a single request.
1280
+ :type _headers: dict, optional
1281
+ :param _host_index: set to override the host_index for a single
1282
+ request; this effectively ignores the host_index
1283
+ in the spec for a single request.
1284
+ :type _host_index: int, optional
1285
+ :return: Returns the result object.
1286
+ """ # noqa: E501
1287
+
1288
+ _param = self._upload_document_serialize(
1289
+ document_upload=document_upload,
1290
+ _request_auth=_request_auth,
1291
+ _content_type=_content_type,
1292
+ _headers=_headers,
1293
+ _host_index=_host_index
1294
+ )
1295
+
1296
+ _response_types_map: Dict[str, Optional[str]] = {
1297
+ '202': "UploadDocument202Response",
1298
+ '500': "str",
1299
+ '400': "UploadDocument400Response",
1300
+ }
1301
+ response_data = self.api_client.call_api(
1302
+ *_param,
1303
+ _request_timeout=_request_timeout
1304
+ )
1305
+ return response_data.response
1306
+
1307
+
1308
+ def _upload_document_serialize(
1309
+ self,
1310
+ document_upload,
1311
+ _request_auth,
1312
+ _content_type,
1313
+ _headers,
1314
+ _host_index,
1315
+ ) -> RequestSerialized:
1316
+
1317
+ _host = None
1318
+
1319
+ _collection_formats: Dict[str, str] = {
1320
+ }
1321
+
1322
+ _path_params: Dict[str, str] = {}
1323
+ _query_params: List[Tuple[str, str]] = []
1324
+ _header_params: Dict[str, Any] = self.api_client._merge_headers(_headers)
1325
+ _form_params: List[Tuple[str, str]] = []
1326
+ _files: Dict[
1327
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1328
+ ] = {}
1329
+ _body_params: Optional[bytes] = None
1330
+
1331
+ # process the path parameters
1332
+ # process the query parameters
1333
+ # process the header parameters
1334
+ # process the form parameters
1335
+ # process the body parameter
1336
+ if document_upload is not None:
1337
+ _body_params = document_upload
1338
+
1339
+
1340
+ # set the HTTP header `Accept`
1341
+ if not any(key.lower() == 'accept' for key in _header_params):
1342
+ _header_params['Accept'] = self.api_client.select_header_accept(
1343
+ [
1344
+ 'application/json'
1345
+ ]
1346
+ )
1347
+
1348
+ # set the HTTP header `Content-Type`
1349
+ if _content_type:
1350
+ self.api_client._set_header(_header_params, 'Content-Type', _content_type)
1351
+ else:
1352
+ _default_content_type = (
1353
+ self.api_client.select_header_content_type(
1354
+ [
1355
+ 'application/json'
1356
+ ]
1357
+ )
1358
+ )
1359
+ if _default_content_type is not None:
1360
+ self.api_client._set_header(_header_params, 'Content-Type', _default_content_type)
1361
+
1362
+ # authentication setting
1363
+ _auth_settings: List[str] = [
1364
+ 'ApiKey'
1365
+ ]
1366
+
1367
+ return self.api_client.param_serialize(
1368
+ method='POST',
1369
+ resource_path='/v3/downstream/documents',
1370
+ path_params=_path_params,
1371
+ query_params=_query_params,
1372
+ header_params=_header_params,
1373
+ body=_body_params,
1374
+ post_params=_form_params,
1375
+ files=_files,
1376
+ auth_settings=_auth_settings,
1377
+ collection_formats=_collection_formats,
1378
+ _host=_host,
1379
+ _request_auth=_request_auth
1380
+ )
1381
+
1382
+