restpki-ng-python-client 0.9.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 (181) hide show
  1. restpki_ng_python_client/__init__.py +200 -0
  2. restpki_ng_python_client/api/__init__.py +17 -0
  3. restpki_ng_python_client/api/authentication_api.py +2041 -0
  4. restpki_ng_python_client/api/cades_signature_api.py +2376 -0
  5. restpki_ng_python_client/api/document_keys_api.py +1199 -0
  6. restpki_ng_python_client/api/documents_api.py +868 -0
  7. restpki_ng_python_client/api/pades_signature_api.py +1797 -0
  8. restpki_ng_python_client/api/pades_visual_positioning_presets_api.py +869 -0
  9. restpki_ng_python_client/api/pdf_api.py +334 -0
  10. restpki_ng_python_client/api/signature_api.py +624 -0
  11. restpki_ng_python_client/api/signature_inspection_api.py +337 -0
  12. restpki_ng_python_client/api/signature_sessions_api.py +891 -0
  13. restpki_ng_python_client/api/timestamp_api.py +654 -0
  14. restpki_ng_python_client/api/upload_api.py +1124 -0
  15. restpki_ng_python_client/api/xml_signature_api.py +1781 -0
  16. restpki_ng_python_client/api_client.py +741 -0
  17. restpki_ng_python_client/api_response.py +21 -0
  18. restpki_ng_python_client/configuration.py +426 -0
  19. restpki_ng_python_client/exceptions.py +166 -0
  20. restpki_ng_python_client/file_utils.py +122 -0
  21. restpki_ng_python_client/models/__init__.py +165 -0
  22. restpki_ng_python_client/models/allocate_document_key_batch_request.py +96 -0
  23. restpki_ng_python_client/models/allocate_document_key_request.py +93 -0
  24. restpki_ng_python_client/models/attribute_certificate_model.py +141 -0
  25. restpki_ng_python_client/models/audit_package_options.py +90 -0
  26. restpki_ng_python_client/models/authentication_failures.py +45 -0
  27. restpki_ng_python_client/models/authentication_get_response.py +92 -0
  28. restpki_ng_python_client/models/authentication_post_request.py +116 -0
  29. restpki_ng_python_client/models/authentication_post_response.py +98 -0
  30. restpki_ng_python_client/models/authentications_post_request.py +95 -0
  31. restpki_ng_python_client/models/authentications_post_response.py +114 -0
  32. restpki_ng_python_client/models/authentications_post_signed_bytes_request.py +99 -0
  33. restpki_ng_python_client/models/authentications_post_signed_bytes_response.py +98 -0
  34. restpki_ng_python_client/models/auto_positioning_horizontal_directions.py +45 -0
  35. restpki_ng_python_client/models/auto_positioning_vertical_directions.py +45 -0
  36. restpki_ng_python_client/models/blockchains.py +45 -0
  37. restpki_ng_python_client/models/cades_signature_model.py +123 -0
  38. restpki_ng_python_client/models/cades_signature_post_request_v1.py +137 -0
  39. restpki_ng_python_client/models/cades_signature_post_request_v2.py +152 -0
  40. restpki_ng_python_client/models/cades_signature_post_request_v3.py +149 -0
  41. restpki_ng_python_client/models/cades_signature_post_response.py +120 -0
  42. restpki_ng_python_client/models/cades_signature_post_signed_bytes_request.py +92 -0
  43. restpki_ng_python_client/models/cades_signature_post_signed_bytes_response.py +106 -0
  44. restpki_ng_python_client/models/cades_signer_model.py +159 -0
  45. restpki_ng_python_client/models/cades_timestamp_model.py +140 -0
  46. restpki_ng_python_client/models/certificate_model.py +197 -0
  47. restpki_ng_python_client/models/certificate_reference_model.py +99 -0
  48. restpki_ng_python_client/models/certificate_requirement.py +95 -0
  49. restpki_ng_python_client/models/certificate_requirement_types.py +45 -0
  50. restpki_ng_python_client/models/certificate_summary.py +142 -0
  51. restpki_ng_python_client/models/certified_attribute_model.py +94 -0
  52. restpki_ng_python_client/models/certified_attribute_types.py +44 -0
  53. restpki_ng_python_client/models/cms_content_types.py +50 -0
  54. restpki_ng_python_client/models/cms_signature_options.py +109 -0
  55. restpki_ng_python_client/models/color_model.py +98 -0
  56. restpki_ng_python_client/models/commitment_type_model.py +99 -0
  57. restpki_ng_python_client/models/complete_authentication_request.py +93 -0
  58. restpki_ng_python_client/models/complete_authentication_response.py +103 -0
  59. restpki_ng_python_client/models/complete_signature_request.py +95 -0
  60. restpki_ng_python_client/models/complete_signature_request_v2.py +91 -0
  61. restpki_ng_python_client/models/create_signature_session_request.py +161 -0
  62. restpki_ng_python_client/models/create_signature_session_response.py +95 -0
  63. restpki_ng_python_client/models/digest_algorithm_and_value_model.py +103 -0
  64. restpki_ng_python_client/models/digest_algorithms.py +49 -0
  65. restpki_ng_python_client/models/document_file_model.py +137 -0
  66. restpki_ng_python_client/models/document_key_model.py +100 -0
  67. restpki_ng_python_client/models/document_key_query_response.py +110 -0
  68. restpki_ng_python_client/models/document_key_summary.py +100 -0
  69. restpki_ng_python_client/models/document_model.py +150 -0
  70. restpki_ng_python_client/models/document_query_response.py +93 -0
  71. restpki_ng_python_client/models/document_status.py +47 -0
  72. restpki_ng_python_client/models/document_summary.py +128 -0
  73. restpki_ng_python_client/models/error_model_v2.py +120 -0
  74. restpki_ng_python_client/models/file_model.py +114 -0
  75. restpki_ng_python_client/models/file_reference_model.py +137 -0
  76. restpki_ng_python_client/models/full_xml_signature_post_request.py +136 -0
  77. restpki_ng_python_client/models/general_name_choices.py +52 -0
  78. restpki_ng_python_client/models/general_name_model.py +108 -0
  79. restpki_ng_python_client/models/holder_types.py +45 -0
  80. restpki_ng_python_client/models/inspect_signature_failures.py +44 -0
  81. restpki_ng_python_client/models/inspect_signature_request.py +127 -0
  82. restpki_ng_python_client/models/inspect_signature_response.py +131 -0
  83. restpki_ng_python_client/models/multipart_upload_begin_response.py +95 -0
  84. restpki_ng_python_client/models/multipart_upload_end_request.py +95 -0
  85. restpki_ng_python_client/models/name_model.py +205 -0
  86. restpki_ng_python_client/models/namespace_model.py +99 -0
  87. restpki_ng_python_client/models/open_cades_signature_request_model.py +147 -0
  88. restpki_ng_python_client/models/open_signature_request_model.py +145 -0
  89. restpki_ng_python_client/models/open_xml_signature_request_model.py +151 -0
  90. restpki_ng_python_client/models/other_name_model.py +107 -0
  91. restpki_ng_python_client/models/pades_certification_level.py +47 -0
  92. restpki_ng_python_client/models/pades_horizontal_align.py +46 -0
  93. restpki_ng_python_client/models/pades_measurement_units.py +45 -0
  94. restpki_ng_python_client/models/pades_page_optimization_model.py +98 -0
  95. restpki_ng_python_client/models/pades_signature_model.py +113 -0
  96. restpki_ng_python_client/models/pades_signature_post_request_v1.py +167 -0
  97. restpki_ng_python_client/models/pades_signature_post_request_v2.py +171 -0
  98. restpki_ng_python_client/models/pades_signature_post_response.py +120 -0
  99. restpki_ng_python_client/models/pades_signature_post_signed_bytes_request.py +92 -0
  100. restpki_ng_python_client/models/pades_signature_post_signed_bytes_response.py +106 -0
  101. restpki_ng_python_client/models/pades_signer_model.py +168 -0
  102. restpki_ng_python_client/models/pades_size_model.py +89 -0
  103. restpki_ng_python_client/models/pades_text_horizontal_align.py +45 -0
  104. restpki_ng_python_client/models/pades_vertical_align.py +46 -0
  105. restpki_ng_python_client/models/pades_visual_auto_positioning_model.py +106 -0
  106. restpki_ng_python_client/models/pades_visual_image_model.py +105 -0
  107. restpki_ng_python_client/models/pades_visual_positioning_model.py +109 -0
  108. restpki_ng_python_client/models/pades_visual_rectangle_model.py +127 -0
  109. restpki_ng_python_client/models/pades_visual_representation_model.py +103 -0
  110. restpki_ng_python_client/models/pades_visual_text_model.py +111 -0
  111. restpki_ng_python_client/models/page_orientations.py +46 -0
  112. restpki_ng_python_client/models/paper_sizes.py +56 -0
  113. restpki_ng_python_client/models/pdf_add_marks_request.py +117 -0
  114. restpki_ng_python_client/models/pdf_add_marks_response.py +91 -0
  115. restpki_ng_python_client/models/pdf_container_definition.py +208 -0
  116. restpki_ng_python_client/models/pdf_helper.py +43 -0
  117. restpki_ng_python_client/models/pdf_mark_element_model.py +230 -0
  118. restpki_ng_python_client/models/pdf_mark_element_type.py +46 -0
  119. restpki_ng_python_client/models/pdf_mark_image_model.py +98 -0
  120. restpki_ng_python_client/models/pdf_mark_model.py +168 -0
  121. restpki_ng_python_client/models/pdf_mark_page_options.py +47 -0
  122. restpki_ng_python_client/models/pdf_signature_options.py +101 -0
  123. restpki_ng_python_client/models/pdf_text_section_model.py +125 -0
  124. restpki_ng_python_client/models/pdf_text_style.py +46 -0
  125. restpki_ng_python_client/models/pki_brazil_certificate_model.py +159 -0
  126. restpki_ng_python_client/models/pki_brazil_certificate_types.py +54 -0
  127. restpki_ng_python_client/models/pki_italy_certificate_model.py +103 -0
  128. restpki_ng_python_client/models/pki_italy_certificate_types.py +46 -0
  129. restpki_ng_python_client/models/prepare_authentication_request.py +100 -0
  130. restpki_ng_python_client/models/prepare_authentication_response.py +99 -0
  131. restpki_ng_python_client/models/prepare_signature_failures.py +46 -0
  132. restpki_ng_python_client/models/prepare_signature_request.py +133 -0
  133. restpki_ng_python_client/models/prepare_signature_response.py +116 -0
  134. restpki_ng_python_client/models/resource_content_or_reference.py +107 -0
  135. restpki_ng_python_client/models/role_attribute_model.py +114 -0
  136. restpki_ng_python_client/models/session_completion_status.py +89 -0
  137. restpki_ng_python_client/models/signature_algorithm_and_value_model.py +106 -0
  138. restpki_ng_python_client/models/signature_algorithm_identifier.py +88 -0
  139. restpki_ng_python_client/models/signature_algorithms.py +48 -0
  140. restpki_ng_python_client/models/signature_b_stamp_model.py +135 -0
  141. restpki_ng_python_client/models/signature_policy_identifier_model.py +105 -0
  142. restpki_ng_python_client/models/signature_result_model.py +105 -0
  143. restpki_ng_python_client/models/signature_session_document_data.py +128 -0
  144. restpki_ng_python_client/models/signature_session_document_summary.py +138 -0
  145. restpki_ng_python_client/models/signature_session_model.py +126 -0
  146. restpki_ng_python_client/models/signature_session_status.py +49 -0
  147. restpki_ng_python_client/models/signature_types.py +46 -0
  148. restpki_ng_python_client/models/signer_b_stamp_model.py +132 -0
  149. restpki_ng_python_client/models/signer_model.py +187 -0
  150. restpki_ng_python_client/models/signer_summary.py +94 -0
  151. restpki_ng_python_client/models/timestamp_issue_response.py +99 -0
  152. restpki_ng_python_client/models/validation_item_model.py +111 -0
  153. restpki_ng_python_client/models/validation_item_types.py +91 -0
  154. restpki_ng_python_client/models/validation_results_model.py +131 -0
  155. restpki_ng_python_client/models/webhook_event_model.py +94 -0
  156. restpki_ng_python_client/models/webhook_event_types.py +44 -0
  157. restpki_ng_python_client/models/xml_attribute_model.py +107 -0
  158. restpki_ng_python_client/models/xml_element_location_model.py +111 -0
  159. restpki_ng_python_client/models/xml_element_model.py +115 -0
  160. restpki_ng_python_client/models/xml_element_signature_post_request.py +145 -0
  161. restpki_ng_python_client/models/xml_id_attribute_model.py +96 -0
  162. restpki_ng_python_client/models/xml_id_resolution_table_model.py +123 -0
  163. restpki_ng_python_client/models/xml_insertion_options.py +47 -0
  164. restpki_ng_python_client/models/xml_node_name_model.py +96 -0
  165. restpki_ng_python_client/models/xml_signature_model.py +154 -0
  166. restpki_ng_python_client/models/xml_signature_options.py +102 -0
  167. restpki_ng_python_client/models/xml_signature_post_response.py +120 -0
  168. restpki_ng_python_client/models/xml_signature_post_signed_bytes_request.py +92 -0
  169. restpki_ng_python_client/models/xml_signature_post_signed_bytes_response.py +106 -0
  170. restpki_ng_python_client/models/xml_signature_response_model.py +113 -0
  171. restpki_ng_python_client/models/xml_signature_types.py +47 -0
  172. restpki_ng_python_client/models/xml_signed_entity_types.py +46 -0
  173. restpki_ng_python_client/py.typed +0 -0
  174. restpki_ng_python_client/rest.py +231 -0
  175. restpki_ng_python_client/restpki_ng_client.py +458 -0
  176. restpki_ng_python_client/standard_signature_policies.py +24 -0
  177. restpki_ng_python_client/utils.py +80 -0
  178. restpki_ng_python_client-0.9.0.dist-info/METADATA +16 -0
  179. restpki_ng_python_client-0.9.0.dist-info/RECORD +181 -0
  180. restpki_ng_python_client-0.9.0.dist-info/WHEEL +5 -0
  181. restpki_ng_python_client-0.9.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,122 @@
1
+ import base64
2
+ from six import BytesIO
3
+ from .utils import Utils
4
+
5
+ from restpki_ng_python_client.models.file_model import FileModel
6
+ from restpki_ng_python_client.restpki_ng_client import RestPkiClient
7
+
8
+ class FileUtils():
9
+ def __init__(self, client: RestPkiClient, file_model: FileModel):
10
+ self.__client = client
11
+ self.__file = file_model
12
+
13
+ @property
14
+ def client(self):
15
+ return self.__client
16
+
17
+ @client.setter
18
+ def client(self, value):
19
+ self.__client = value
20
+
21
+ def open(self, buff_size=4096):
22
+ content_base64 = self.__file.content
23
+ content_raw = Utils._base64_decode(content_base64)\
24
+ if content_base64 is not None else None
25
+ if content_raw is not None:
26
+ stream = Utils._get_raw_stream(content_raw)
27
+ else:
28
+ stream = BytesIO()
29
+ with self.__client.get_file_from_url(self.__file.url) as response:
30
+ for chunk in response.stream(buff_size):
31
+ stream.write(chunk)
32
+ stream.seek(0, 0)
33
+ return stream
34
+
35
+ def write_to(self, f_out, offset=0, from_where=0, buff_size=4096):
36
+ content_base64 = self.__file.content
37
+ content_raw = Utils._base64_decode(content_base64)\
38
+ if content_base64 is not None else None
39
+ if content_raw is not None:
40
+ f_in = self.open()
41
+ Utils._copy_stream(f_in, f_out, offset, from_where, buff_size)
42
+ f_in.close()
43
+ else:
44
+ f_out.seek(offset, from_where)
45
+ with self.__client.get_file_from_url(self.__file.url) as response:
46
+ for chunk in response.stream(buff_size):
47
+ f_out.write(chunk)
48
+
49
+
50
+ def write_to_file(self, path, offset=0, from_where=0, buff_size=4096):
51
+ content_base64 = self.__file.content
52
+ content_raw = Utils._base64_decode(content_base64)\
53
+ if content_base64 is not None else None
54
+ with open(path, 'wb') as f_out:
55
+ if content_raw is not None:
56
+ f_in = self.open()
57
+ Utils._copy_stream(f_in, f_out, offset, from_where, buff_size)
58
+ f_in.close()
59
+ else:
60
+ with self.__client.get_file_from_url(self.__file.url) as response:
61
+ for chunk in response.stream(buff_size):
62
+ f_out.write(chunk)
63
+
64
+ # region "content" accessors
65
+
66
+ @property
67
+ def content(self):
68
+ return self.__get_content()
69
+
70
+ def __get_content(self):
71
+ buffer = BytesIO()
72
+ self.write_to(buffer)
73
+ buffer.seek(0, 0)
74
+ return buffer.read()
75
+
76
+ @content.setter
77
+ def content(self, value):
78
+ self.__set_content(value)
79
+
80
+ def __set_content(self, value):
81
+ if value is None:
82
+ raise Exception('The provided "content" is not valid')
83
+ if self.__file is None:
84
+ self.__file = {
85
+ 'content': None,
86
+ 'mimeType': None,
87
+ 'blobToken': None,
88
+ 'url': None
89
+ }
90
+ self.__file['content'] = base64.b64encode(value)
91
+
92
+ # endregion
93
+
94
+ # region "content_base64" accessors
95
+
96
+ @property
97
+ def content_base64(self):
98
+ return self.__get_content_base64()
99
+
100
+ def __get_content_base64(self):
101
+ buffer = BytesIO()
102
+ self.write_to(buffer)
103
+ buffer.seek(0, 0)
104
+ return Utils._base64_encode_string(buffer.read())
105
+
106
+ @content_base64.setter
107
+ def content_base64(self, value):
108
+ self.__set_content_base64(value)
109
+
110
+ def __set_content_base64(self, value):
111
+ if value is None:
112
+ raise Exception('The provided "content_base64" is not valid')
113
+ if self.__file is None:
114
+ self.__file = {
115
+ 'content': None,
116
+ 'mimeType': None,
117
+ 'blobToken': None,
118
+ 'url': None
119
+ }
120
+ self.__file['content'] = value
121
+
122
+ # endregion
@@ -0,0 +1,165 @@
1
+ # coding: utf-8
2
+
3
+ # flake8: noqa
4
+ """
5
+ Rest PKI Core API
6
+
7
+ <b><i>Para Português, <a href=\"https://docs.lacunasoftware.com/pt-br/articles/rest-pki/core/integration/get-started\">clique aqui</a></i></b> <p> <a href=\"https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/\">Rest PKI Core</a> is an upcoming version of <a href=\"https://docs.lacunasoftware.com/en-us/articles/rest-pki/\">Rest PKI</a> that will have extended compatibility with environments and databases. </p> <p> In addition to Windows Server (which is already supported by Rest PKI), Rest PKI Core will also run on <b>Linux</b> (Debian- and RedHat-based distributions) and on <b>Docker</b>. As for database servers, in addition to SQL Server, <b>PostgreSQL</b> will also be supported. </p> <p> <b>Before getting started, see the integration overview on the <a href=\"https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/integration/\">Integration Guide</a></b> </p> <p> For questions regarding the usage of this API, please reach us at <a href=\"https://lacuna.help/\">lacuna.help</a> </p> <h2>Parameters</h2> <p> You will need the following parameters: </p> <ul> <li><b>Endpoint</b>: address of the Rest PKI Core instance that will be used</li> <li><b>API Key</b>: authorization key for using the API</li> </ul> <p> The <span class=\"model\">endpoint</span> must be prefixed to all relative URLs mentioned here. As for the <span class=\"model\">API Key</span>, see how to use it below. </p> <h2>Authentication</h2> <p> The API key must be sent on the <span class=\"model\">X-Api-Key</span> header on each request: </p> <!-- unfortunately, class \"example microlight\" doesn't seem to work here --> <pre style=\"font-size: 12px; padding: 10px; border-radius: 4px; background: #41444e; font-weight: 600; color: #fff;\"> X-Api-Key: yourapp|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx </pre> <h2>HTTP Codes</h2> <p> The APIs will return the following HTTP codes: </p> <table> <thead> <tr> <th>Code</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong class=\"model-title\">200 (OK)</strong></td> <td>Request processed successfully. The response is different for each API, please refer to the operation's documentation</td> </tr> <tr> <td><strong class=\"model-title\">400 (Bad Request)</strong></td> <td>Syntax error. For instance, when a required field was not provided</td> </tr> <tr> <td><strong class=\"model-title\">401 (Unauthorized)</strong></td> <td>API key not provided or invalid</td> </tr> <tr> <td><strong class=\"model-title\">403 (Forbidden)</strong></td> <td>API key is valid, but the application has insufficient permissions to complete the requested operation</td> </tr> <tr> <td><strong class=\"model-title\">422 (Unprocessable Entity)</strong></td> <td>API error. The response body is an <a href=\"#model-ErrorModelV2\" class=\"model\">ErrorModelV2</a> </tr> <tr> <td><strong class=\"model-title\">500 (Internal Server Error)</strong></td> <td>An unexpected error occurred. The <span class=\"model\">exceptionCode</span> contained on the response body may be of help for our support team during diagnostic.</td> </tr> </tbody> </table> <h3>Error Codes</h3> <p> Some of the error codes returned in the <span class=\"model\">code</span> field of an <a href=\"#model-ErrorModelV2\" class=\"model\">ErrorModelV2</a> (body of responses with HTTP status code 422) are provided below*: </p> <table> <thead> <tr> <th>Code</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td class=\"model\">DocumentNotFound</td> <td>A referenced document was not found (check the document ID)</td> </tr> <tr> <td class=\"model\">SecurityContextNotFound</td> <td>A referenced security context was not found (check the security context ID)</td> </tr> <tr> <td class=\"model\">SignatureSessionNotFound</td> <td>A referenced signature session was not found (check the signature session ID)</td> </tr> <tr> <td class=\"model\">BadSignatureSessionOperation</td> <td>The operation is invalid for the current signature session or document status. For instance, trying to await the session's completion if it is still <span class=\"model\">Pending</span> results in this error</td> </tr> <tr> <td class=\"model\">BackgroundProcessing</td> <td>The operation cannot be completed at this time because the resource is being processed in background</td> </tr> <tr> <td class=\"model\">SignatureSessionTokenRequired</td> <td>The signature session token was not passed on the <span class=\"model\">X-Signature-Session-Token</span> request header</td> </tr> <tr> <td class=\"model\">BadSignatureSessionToken</td> <td>An invalid signature session token was passed on the <span class=\"model\">X-Signature-Session-Token</span> request header. Check your application for possible corruption of the session token, which may contain characters <span class=\"code\">-</span> (hyphen) and <span class=\"code\">_</span> (underscore)</td> </tr> <tr> <td class=\"model\">ExpiredSignatureSessionToken</td> <td>An expired signature session token was passed on the <span class=\"model\">X-Signature-Session-Token</span> request header. Signature session tokens are normally valid for 4 hours.</td> </tr> </tbody> </table> <p style=\"font-size: 0.9em\"> *The codes shown above are the most common error codes. Nonetheless, this list is not comprehensive. New codes may be added anytime without previous warning. </p> <h2>Culture / Internationalization (i18n)</h2> <p>The <span class=\"model\">Accept-Language</span> request header is observed by this API. The following cultures are supported:</p> <ul> <li><span class=\"code\">en-US</span> (or simply <span class=\"code\">en</span>)</li> <li><span class=\"code\">pt-BR</span> (or simply <span class=\"code\">pt</span>)</li> </ul> <p><i>Notice: error messages are not affected by this header and therefore should not be displayed to users, being better suited for logging.</i></p>
8
+
9
+ The version of the OpenAPI document: 2.1.2
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ # import models into model package
17
+ from restpki_ng_python_client.models.allocate_document_key_batch_request import AllocateDocumentKeyBatchRequest
18
+ from restpki_ng_python_client.models.allocate_document_key_request import AllocateDocumentKeyRequest
19
+ from restpki_ng_python_client.models.attribute_certificate_model import AttributeCertificateModel
20
+ from restpki_ng_python_client.models.audit_package_options import AuditPackageOptions
21
+ from restpki_ng_python_client.models.authentication_failures import AuthenticationFailures
22
+ from restpki_ng_python_client.models.authentication_get_response import AuthenticationGetResponse
23
+ from restpki_ng_python_client.models.authentication_post_request import AuthenticationPostRequest
24
+ from restpki_ng_python_client.models.authentication_post_response import AuthenticationPostResponse
25
+ from restpki_ng_python_client.models.authentications_post_request import AuthenticationsPostRequest
26
+ from restpki_ng_python_client.models.authentications_post_response import AuthenticationsPostResponse
27
+ from restpki_ng_python_client.models.authentications_post_signed_bytes_request import AuthenticationsPostSignedBytesRequest
28
+ from restpki_ng_python_client.models.authentications_post_signed_bytes_response import AuthenticationsPostSignedBytesResponse
29
+ from restpki_ng_python_client.models.auto_positioning_horizontal_directions import AutoPositioningHorizontalDirections
30
+ from restpki_ng_python_client.models.auto_positioning_vertical_directions import AutoPositioningVerticalDirections
31
+ from restpki_ng_python_client.models.blockchains import Blockchains
32
+ from restpki_ng_python_client.models.cades_signature_model import CadesSignatureModel
33
+ from restpki_ng_python_client.models.cades_signature_post_request_v1 import CadesSignaturePostRequestV1
34
+ from restpki_ng_python_client.models.cades_signature_post_request_v2 import CadesSignaturePostRequestV2
35
+ from restpki_ng_python_client.models.cades_signature_post_request_v3 import CadesSignaturePostRequestV3
36
+ from restpki_ng_python_client.models.cades_signature_post_response import CadesSignaturePostResponse
37
+ from restpki_ng_python_client.models.cades_signature_post_signed_bytes_request import CadesSignaturePostSignedBytesRequest
38
+ from restpki_ng_python_client.models.cades_signature_post_signed_bytes_response import CadesSignaturePostSignedBytesResponse
39
+ from restpki_ng_python_client.models.cades_signer_model import CadesSignerModel
40
+ from restpki_ng_python_client.models.cades_timestamp_model import CadesTimestampModel
41
+ from restpki_ng_python_client.models.certificate_model import CertificateModel
42
+ from restpki_ng_python_client.models.certificate_reference_model import CertificateReferenceModel
43
+ from restpki_ng_python_client.models.certificate_requirement import CertificateRequirement
44
+ from restpki_ng_python_client.models.certificate_requirement_types import CertificateRequirementTypes
45
+ from restpki_ng_python_client.models.certificate_summary import CertificateSummary
46
+ from restpki_ng_python_client.models.certified_attribute_model import CertifiedAttributeModel
47
+ from restpki_ng_python_client.models.certified_attribute_types import CertifiedAttributeTypes
48
+ from restpki_ng_python_client.models.cms_content_types import CmsContentTypes
49
+ from restpki_ng_python_client.models.cms_signature_options import CmsSignatureOptions
50
+ from restpki_ng_python_client.models.color_model import ColorModel
51
+ from restpki_ng_python_client.models.commitment_type_model import CommitmentTypeModel
52
+ from restpki_ng_python_client.models.complete_authentication_request import CompleteAuthenticationRequest
53
+ from restpki_ng_python_client.models.complete_authentication_response import CompleteAuthenticationResponse
54
+ from restpki_ng_python_client.models.complete_signature_request import CompleteSignatureRequest
55
+ from restpki_ng_python_client.models.complete_signature_request_v2 import CompleteSignatureRequestV2
56
+ from restpki_ng_python_client.models.create_signature_session_request import CreateSignatureSessionRequest
57
+ from restpki_ng_python_client.models.create_signature_session_response import CreateSignatureSessionResponse
58
+ from restpki_ng_python_client.models.digest_algorithm_and_value_model import DigestAlgorithmAndValueModel
59
+ from restpki_ng_python_client.models.digest_algorithms import DigestAlgorithms
60
+ from restpki_ng_python_client.models.document_file_model import DocumentFileModel
61
+ from restpki_ng_python_client.models.document_key_model import DocumentKeyModel
62
+ from restpki_ng_python_client.models.document_key_query_response import DocumentKeyQueryResponse
63
+ from restpki_ng_python_client.models.document_key_summary import DocumentKeySummary
64
+ from restpki_ng_python_client.models.document_model import DocumentModel
65
+ from restpki_ng_python_client.models.document_query_response import DocumentQueryResponse
66
+ from restpki_ng_python_client.models.document_status import DocumentStatus
67
+ from restpki_ng_python_client.models.document_summary import DocumentSummary
68
+ from restpki_ng_python_client.models.error_model_v2 import ErrorModelV2
69
+ from restpki_ng_python_client.models.file_model import FileModel
70
+ from restpki_ng_python_client.models.file_reference_model import FileReferenceModel
71
+ from restpki_ng_python_client.models.full_xml_signature_post_request import FullXmlSignaturePostRequest
72
+ from restpki_ng_python_client.models.general_name_choices import GeneralNameChoices
73
+ from restpki_ng_python_client.models.general_name_model import GeneralNameModel
74
+ from restpki_ng_python_client.models.holder_types import HolderTypes
75
+ from restpki_ng_python_client.models.inspect_signature_failures import InspectSignatureFailures
76
+ from restpki_ng_python_client.models.inspect_signature_request import InspectSignatureRequest
77
+ from restpki_ng_python_client.models.inspect_signature_response import InspectSignatureResponse
78
+ from restpki_ng_python_client.models.multipart_upload_begin_response import MultipartUploadBeginResponse
79
+ from restpki_ng_python_client.models.multipart_upload_end_request import MultipartUploadEndRequest
80
+ from restpki_ng_python_client.models.name_model import NameModel
81
+ from restpki_ng_python_client.models.namespace_model import NamespaceModel
82
+ from restpki_ng_python_client.models.open_cades_signature_request_model import OpenCadesSignatureRequestModel
83
+ from restpki_ng_python_client.models.open_signature_request_model import OpenSignatureRequestModel
84
+ from restpki_ng_python_client.models.open_xml_signature_request_model import OpenXmlSignatureRequestModel
85
+ from restpki_ng_python_client.models.other_name_model import OtherNameModel
86
+ from restpki_ng_python_client.models.pades_certification_level import PadesCertificationLevel
87
+ from restpki_ng_python_client.models.pades_horizontal_align import PadesHorizontalAlign
88
+ from restpki_ng_python_client.models.pades_measurement_units import PadesMeasurementUnits
89
+ from restpki_ng_python_client.models.pades_page_optimization_model import PadesPageOptimizationModel
90
+ from restpki_ng_python_client.models.pades_signature_model import PadesSignatureModel
91
+ from restpki_ng_python_client.models.pades_signature_post_request_v1 import PadesSignaturePostRequestV1
92
+ from restpki_ng_python_client.models.pades_signature_post_request_v2 import PadesSignaturePostRequestV2
93
+ from restpki_ng_python_client.models.pades_signature_post_response import PadesSignaturePostResponse
94
+ from restpki_ng_python_client.models.pades_signature_post_signed_bytes_request import PadesSignaturePostSignedBytesRequest
95
+ from restpki_ng_python_client.models.pades_signature_post_signed_bytes_response import PadesSignaturePostSignedBytesResponse
96
+ from restpki_ng_python_client.models.pades_signer_model import PadesSignerModel
97
+ from restpki_ng_python_client.models.pades_size_model import PadesSizeModel
98
+ from restpki_ng_python_client.models.pades_text_horizontal_align import PadesTextHorizontalAlign
99
+ from restpki_ng_python_client.models.pades_vertical_align import PadesVerticalAlign
100
+ from restpki_ng_python_client.models.pades_visual_auto_positioning_model import PadesVisualAutoPositioningModel
101
+ from restpki_ng_python_client.models.pades_visual_image_model import PadesVisualImageModel
102
+ from restpki_ng_python_client.models.pades_visual_positioning_model import PadesVisualPositioningModel
103
+ from restpki_ng_python_client.models.pades_visual_rectangle_model import PadesVisualRectangleModel
104
+ from restpki_ng_python_client.models.pades_visual_representation_model import PadesVisualRepresentationModel
105
+ from restpki_ng_python_client.models.pades_visual_text_model import PadesVisualTextModel
106
+ from restpki_ng_python_client.models.page_orientations import PageOrientations
107
+ from restpki_ng_python_client.models.paper_sizes import PaperSizes
108
+ from restpki_ng_python_client.models.pdf_add_marks_request import PdfAddMarksRequest
109
+ from restpki_ng_python_client.models.pdf_add_marks_response import PdfAddMarksResponse
110
+ from restpki_ng_python_client.models.pdf_mark_element_model import PdfMarkElementModel
111
+ from restpki_ng_python_client.models.pdf_mark_element_type import PdfMarkElementType
112
+ from restpki_ng_python_client.models.pdf_mark_image_model import PdfMarkImageModel
113
+ from restpki_ng_python_client.models.pdf_mark_model import PdfMarkModel
114
+ from restpki_ng_python_client.models.pdf_mark_page_options import PdfMarkPageOptions
115
+ from restpki_ng_python_client.models.pdf_signature_options import PdfSignatureOptions
116
+ from restpki_ng_python_client.models.pdf_text_section_model import PdfTextSectionModel
117
+ from restpki_ng_python_client.models.pdf_text_style import PdfTextStyle
118
+ from restpki_ng_python_client.models.pki_brazil_certificate_model import PkiBrazilCertificateModel
119
+ from restpki_ng_python_client.models.pki_brazil_certificate_types import PkiBrazilCertificateTypes
120
+ from restpki_ng_python_client.models.pki_italy_certificate_model import PkiItalyCertificateModel
121
+ from restpki_ng_python_client.models.pki_italy_certificate_types import PkiItalyCertificateTypes
122
+ from restpki_ng_python_client.models.prepare_authentication_request import PrepareAuthenticationRequest
123
+ from restpki_ng_python_client.models.prepare_authentication_response import PrepareAuthenticationResponse
124
+ from restpki_ng_python_client.models.prepare_signature_failures import PrepareSignatureFailures
125
+ from restpki_ng_python_client.models.prepare_signature_request import PrepareSignatureRequest
126
+ from restpki_ng_python_client.models.prepare_signature_response import PrepareSignatureResponse
127
+ from restpki_ng_python_client.models.resource_content_or_reference import ResourceContentOrReference
128
+ from restpki_ng_python_client.models.role_attribute_model import RoleAttributeModel
129
+ from restpki_ng_python_client.models.session_completion_status import SessionCompletionStatus
130
+ from restpki_ng_python_client.models.signature_algorithm_and_value_model import SignatureAlgorithmAndValueModel
131
+ from restpki_ng_python_client.models.signature_algorithm_identifier import SignatureAlgorithmIdentifier
132
+ from restpki_ng_python_client.models.signature_algorithms import SignatureAlgorithms
133
+ from restpki_ng_python_client.models.signature_b_stamp_model import SignatureBStampModel
134
+ from restpki_ng_python_client.models.signature_policy_identifier_model import SignaturePolicyIdentifierModel
135
+ from restpki_ng_python_client.models.signature_result_model import SignatureResultModel
136
+ from restpki_ng_python_client.models.signature_session_document_data import SignatureSessionDocumentData
137
+ from restpki_ng_python_client.models.signature_session_document_summary import SignatureSessionDocumentSummary
138
+ from restpki_ng_python_client.models.signature_session_model import SignatureSessionModel
139
+ from restpki_ng_python_client.models.signature_session_status import SignatureSessionStatus
140
+ from restpki_ng_python_client.models.signature_types import SignatureTypes
141
+ from restpki_ng_python_client.models.signer_b_stamp_model import SignerBStampModel
142
+ from restpki_ng_python_client.models.signer_model import SignerModel
143
+ from restpki_ng_python_client.models.signer_summary import SignerSummary
144
+ from restpki_ng_python_client.models.timestamp_issue_response import TimestampIssueResponse
145
+ from restpki_ng_python_client.models.validation_item_model import ValidationItemModel
146
+ from restpki_ng_python_client.models.validation_item_types import ValidationItemTypes
147
+ from restpki_ng_python_client.models.validation_results_model import ValidationResultsModel
148
+ from restpki_ng_python_client.models.webhook_event_model import WebhookEventModel
149
+ from restpki_ng_python_client.models.webhook_event_types import WebhookEventTypes
150
+ from restpki_ng_python_client.models.xml_attribute_model import XmlAttributeModel
151
+ from restpki_ng_python_client.models.xml_element_location_model import XmlElementLocationModel
152
+ from restpki_ng_python_client.models.xml_element_model import XmlElementModel
153
+ from restpki_ng_python_client.models.xml_element_signature_post_request import XmlElementSignaturePostRequest
154
+ from restpki_ng_python_client.models.xml_id_attribute_model import XmlIdAttributeModel
155
+ from restpki_ng_python_client.models.xml_id_resolution_table_model import XmlIdResolutionTableModel
156
+ from restpki_ng_python_client.models.xml_insertion_options import XmlInsertionOptions
157
+ from restpki_ng_python_client.models.xml_node_name_model import XmlNodeNameModel
158
+ from restpki_ng_python_client.models.xml_signature_model import XmlSignatureModel
159
+ from restpki_ng_python_client.models.xml_signature_options import XmlSignatureOptions
160
+ from restpki_ng_python_client.models.xml_signature_post_response import XmlSignaturePostResponse
161
+ from restpki_ng_python_client.models.xml_signature_post_signed_bytes_request import XmlSignaturePostSignedBytesRequest
162
+ from restpki_ng_python_client.models.xml_signature_post_signed_bytes_response import XmlSignaturePostSignedBytesResponse
163
+ from restpki_ng_python_client.models.xml_signature_response_model import XmlSignatureResponseModel
164
+ from restpki_ng_python_client.models.xml_signature_types import XmlSignatureTypes
165
+ from restpki_ng_python_client.models.xml_signed_entity_types import XmlSignedEntityTypes
@@ -0,0 +1,96 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Rest PKI Core API
5
+
6
+ <b><i>Para Português, <a href=\"https://docs.lacunasoftware.com/pt-br/articles/rest-pki/core/integration/get-started\">clique aqui</a></i></b> <p> <a href=\"https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/\">Rest PKI Core</a> is an upcoming version of <a href=\"https://docs.lacunasoftware.com/en-us/articles/rest-pki/\">Rest PKI</a> that will have extended compatibility with environments and databases. </p> <p> In addition to Windows Server (which is already supported by Rest PKI), Rest PKI Core will also run on <b>Linux</b> (Debian- and RedHat-based distributions) and on <b>Docker</b>. As for database servers, in addition to SQL Server, <b>PostgreSQL</b> will also be supported. </p> <p> <b>Before getting started, see the integration overview on the <a href=\"https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/integration/\">Integration Guide</a></b> </p> <p> For questions regarding the usage of this API, please reach us at <a href=\"https://lacuna.help/\">lacuna.help</a> </p> <h2>Parameters</h2> <p> You will need the following parameters: </p> <ul> <li><b>Endpoint</b>: address of the Rest PKI Core instance that will be used</li> <li><b>API Key</b>: authorization key for using the API</li> </ul> <p> The <span class=\"model\">endpoint</span> must be prefixed to all relative URLs mentioned here. As for the <span class=\"model\">API Key</span>, see how to use it below. </p> <h2>Authentication</h2> <p> The API key must be sent on the <span class=\"model\">X-Api-Key</span> header on each request: </p> <!-- unfortunately, class \"example microlight\" doesn't seem to work here --> <pre style=\"font-size: 12px; padding: 10px; border-radius: 4px; background: #41444e; font-weight: 600; color: #fff;\"> X-Api-Key: yourapp|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx </pre> <h2>HTTP Codes</h2> <p> The APIs will return the following HTTP codes: </p> <table> <thead> <tr> <th>Code</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong class=\"model-title\">200 (OK)</strong></td> <td>Request processed successfully. The response is different for each API, please refer to the operation's documentation</td> </tr> <tr> <td><strong class=\"model-title\">400 (Bad Request)</strong></td> <td>Syntax error. For instance, when a required field was not provided</td> </tr> <tr> <td><strong class=\"model-title\">401 (Unauthorized)</strong></td> <td>API key not provided or invalid</td> </tr> <tr> <td><strong class=\"model-title\">403 (Forbidden)</strong></td> <td>API key is valid, but the application has insufficient permissions to complete the requested operation</td> </tr> <tr> <td><strong class=\"model-title\">422 (Unprocessable Entity)</strong></td> <td>API error. The response body is an <a href=\"#model-ErrorModelV2\" class=\"model\">ErrorModelV2</a> </tr> <tr> <td><strong class=\"model-title\">500 (Internal Server Error)</strong></td> <td>An unexpected error occurred. The <span class=\"model\">exceptionCode</span> contained on the response body may be of help for our support team during diagnostic.</td> </tr> </tbody> </table> <h3>Error Codes</h3> <p> Some of the error codes returned in the <span class=\"model\">code</span> field of an <a href=\"#model-ErrorModelV2\" class=\"model\">ErrorModelV2</a> (body of responses with HTTP status code 422) are provided below*: </p> <table> <thead> <tr> <th>Code</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td class=\"model\">DocumentNotFound</td> <td>A referenced document was not found (check the document ID)</td> </tr> <tr> <td class=\"model\">SecurityContextNotFound</td> <td>A referenced security context was not found (check the security context ID)</td> </tr> <tr> <td class=\"model\">SignatureSessionNotFound</td> <td>A referenced signature session was not found (check the signature session ID)</td> </tr> <tr> <td class=\"model\">BadSignatureSessionOperation</td> <td>The operation is invalid for the current signature session or document status. For instance, trying to await the session's completion if it is still <span class=\"model\">Pending</span> results in this error</td> </tr> <tr> <td class=\"model\">BackgroundProcessing</td> <td>The operation cannot be completed at this time because the resource is being processed in background</td> </tr> <tr> <td class=\"model\">SignatureSessionTokenRequired</td> <td>The signature session token was not passed on the <span class=\"model\">X-Signature-Session-Token</span> request header</td> </tr> <tr> <td class=\"model\">BadSignatureSessionToken</td> <td>An invalid signature session token was passed on the <span class=\"model\">X-Signature-Session-Token</span> request header. Check your application for possible corruption of the session token, which may contain characters <span class=\"code\">-</span> (hyphen) and <span class=\"code\">_</span> (underscore)</td> </tr> <tr> <td class=\"model\">ExpiredSignatureSessionToken</td> <td>An expired signature session token was passed on the <span class=\"model\">X-Signature-Session-Token</span> request header. Signature session tokens are normally valid for 4 hours.</td> </tr> </tbody> </table> <p style=\"font-size: 0.9em\"> *The codes shown above are the most common error codes. Nonetheless, this list is not comprehensive. New codes may be added anytime without previous warning. </p> <h2>Culture / Internationalization (i18n)</h2> <p>The <span class=\"model\">Accept-Language</span> request header is observed by this API. The following cultures are supported:</p> <ul> <li><span class=\"code\">en-US</span> (or simply <span class=\"code\">en</span>)</li> <li><span class=\"code\">pt-BR</span> (or simply <span class=\"code\">pt</span>)</li> </ul> <p><i>Notice: error messages are not affected by this header and therefore should not be displayed to users, being better suited for logging.</i></p>
7
+
8
+ The version of the OpenAPI document: 2.1.2
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from pydantic import BaseModel, StrictStr
23
+ from pydantic import Field
24
+ from typing_extensions import Annotated
25
+ try:
26
+ from typing import Self
27
+ except ImportError:
28
+ from typing_extensions import Self
29
+
30
+ class AllocateDocumentKeyBatchRequest(BaseModel):
31
+ """
32
+ AllocateDocumentKeyBatchRequest
33
+ """ # noqa: E501
34
+ count: Optional[Annotated[int, Field(le=100, strict=True, ge=1)]] = None
35
+ provisional_metadata: Optional[Dict[str, List[StrictStr]]] = Field(default=None, alias="provisionalMetadata")
36
+ __properties: ClassVar[List[str]] = ["count", "provisionalMetadata"]
37
+
38
+ model_config = {
39
+ "populate_by_name": True,
40
+ "validate_assignment": True
41
+ }
42
+
43
+
44
+ def to_str(self) -> str:
45
+ """Returns the string representation of the model using alias"""
46
+ return pprint.pformat(self.model_dump(by_alias=True))
47
+
48
+ def to_json(self) -> str:
49
+ """Returns the JSON representation of the model using alias"""
50
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
51
+ return json.dumps(self.to_dict())
52
+
53
+ @classmethod
54
+ def from_json(cls, json_str: str) -> Self:
55
+ """Create an instance of AllocateDocumentKeyBatchRequest from a JSON string"""
56
+ return cls.from_dict(json.loads(json_str))
57
+
58
+ def to_dict(self) -> Dict[str, Any]:
59
+ """Return the dictionary representation of the model using alias.
60
+
61
+ This has the following differences from calling pydantic's
62
+ `self.model_dump(by_alias=True)`:
63
+
64
+ * `None` is only added to the output dict for nullable fields that
65
+ were set at model initialization. Other fields with value `None`
66
+ are ignored.
67
+ """
68
+ _dict = self.model_dump(
69
+ by_alias=True,
70
+ exclude={
71
+ },
72
+ exclude_none=True,
73
+ )
74
+ # set to None if provisional_metadata (nullable) is None
75
+ # and model_fields_set contains the field
76
+ if self.provisional_metadata is None and "provisional_metadata" in self.model_fields_set:
77
+ _dict['provisionalMetadata'] = None
78
+
79
+ return _dict
80
+
81
+ @classmethod
82
+ def from_dict(cls, obj: Dict) -> Self:
83
+ """Create an instance of AllocateDocumentKeyBatchRequest from a dict"""
84
+ if obj is None:
85
+ return None
86
+
87
+ if not isinstance(obj, dict):
88
+ return cls.model_validate(obj)
89
+
90
+ _obj = cls.model_validate({
91
+ "count": obj.get("count"),
92
+ "provisionalMetadata": obj.get("provisionalMetadata")
93
+ })
94
+ return _obj
95
+
96
+
@@ -0,0 +1,93 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Rest PKI Core API
5
+
6
+ <b><i>Para Português, <a href=\"https://docs.lacunasoftware.com/pt-br/articles/rest-pki/core/integration/get-started\">clique aqui</a></i></b> <p> <a href=\"https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/\">Rest PKI Core</a> is an upcoming version of <a href=\"https://docs.lacunasoftware.com/en-us/articles/rest-pki/\">Rest PKI</a> that will have extended compatibility with environments and databases. </p> <p> In addition to Windows Server (which is already supported by Rest PKI), Rest PKI Core will also run on <b>Linux</b> (Debian- and RedHat-based distributions) and on <b>Docker</b>. As for database servers, in addition to SQL Server, <b>PostgreSQL</b> will also be supported. </p> <p> <b>Before getting started, see the integration overview on the <a href=\"https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/integration/\">Integration Guide</a></b> </p> <p> For questions regarding the usage of this API, please reach us at <a href=\"https://lacuna.help/\">lacuna.help</a> </p> <h2>Parameters</h2> <p> You will need the following parameters: </p> <ul> <li><b>Endpoint</b>: address of the Rest PKI Core instance that will be used</li> <li><b>API Key</b>: authorization key for using the API</li> </ul> <p> The <span class=\"model\">endpoint</span> must be prefixed to all relative URLs mentioned here. As for the <span class=\"model\">API Key</span>, see how to use it below. </p> <h2>Authentication</h2> <p> The API key must be sent on the <span class=\"model\">X-Api-Key</span> header on each request: </p> <!-- unfortunately, class \"example microlight\" doesn't seem to work here --> <pre style=\"font-size: 12px; padding: 10px; border-radius: 4px; background: #41444e; font-weight: 600; color: #fff;\"> X-Api-Key: yourapp|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx </pre> <h2>HTTP Codes</h2> <p> The APIs will return the following HTTP codes: </p> <table> <thead> <tr> <th>Code</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong class=\"model-title\">200 (OK)</strong></td> <td>Request processed successfully. The response is different for each API, please refer to the operation's documentation</td> </tr> <tr> <td><strong class=\"model-title\">400 (Bad Request)</strong></td> <td>Syntax error. For instance, when a required field was not provided</td> </tr> <tr> <td><strong class=\"model-title\">401 (Unauthorized)</strong></td> <td>API key not provided or invalid</td> </tr> <tr> <td><strong class=\"model-title\">403 (Forbidden)</strong></td> <td>API key is valid, but the application has insufficient permissions to complete the requested operation</td> </tr> <tr> <td><strong class=\"model-title\">422 (Unprocessable Entity)</strong></td> <td>API error. The response body is an <a href=\"#model-ErrorModelV2\" class=\"model\">ErrorModelV2</a> </tr> <tr> <td><strong class=\"model-title\">500 (Internal Server Error)</strong></td> <td>An unexpected error occurred. The <span class=\"model\">exceptionCode</span> contained on the response body may be of help for our support team during diagnostic.</td> </tr> </tbody> </table> <h3>Error Codes</h3> <p> Some of the error codes returned in the <span class=\"model\">code</span> field of an <a href=\"#model-ErrorModelV2\" class=\"model\">ErrorModelV2</a> (body of responses with HTTP status code 422) are provided below*: </p> <table> <thead> <tr> <th>Code</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td class=\"model\">DocumentNotFound</td> <td>A referenced document was not found (check the document ID)</td> </tr> <tr> <td class=\"model\">SecurityContextNotFound</td> <td>A referenced security context was not found (check the security context ID)</td> </tr> <tr> <td class=\"model\">SignatureSessionNotFound</td> <td>A referenced signature session was not found (check the signature session ID)</td> </tr> <tr> <td class=\"model\">BadSignatureSessionOperation</td> <td>The operation is invalid for the current signature session or document status. For instance, trying to await the session's completion if it is still <span class=\"model\">Pending</span> results in this error</td> </tr> <tr> <td class=\"model\">BackgroundProcessing</td> <td>The operation cannot be completed at this time because the resource is being processed in background</td> </tr> <tr> <td class=\"model\">SignatureSessionTokenRequired</td> <td>The signature session token was not passed on the <span class=\"model\">X-Signature-Session-Token</span> request header</td> </tr> <tr> <td class=\"model\">BadSignatureSessionToken</td> <td>An invalid signature session token was passed on the <span class=\"model\">X-Signature-Session-Token</span> request header. Check your application for possible corruption of the session token, which may contain characters <span class=\"code\">-</span> (hyphen) and <span class=\"code\">_</span> (underscore)</td> </tr> <tr> <td class=\"model\">ExpiredSignatureSessionToken</td> <td>An expired signature session token was passed on the <span class=\"model\">X-Signature-Session-Token</span> request header. Signature session tokens are normally valid for 4 hours.</td> </tr> </tbody> </table> <p style=\"font-size: 0.9em\"> *The codes shown above are the most common error codes. Nonetheless, this list is not comprehensive. New codes may be added anytime without previous warning. </p> <h2>Culture / Internationalization (i18n)</h2> <p>The <span class=\"model\">Accept-Language</span> request header is observed by this API. The following cultures are supported:</p> <ul> <li><span class=\"code\">en-US</span> (or simply <span class=\"code\">en</span>)</li> <li><span class=\"code\">pt-BR</span> (or simply <span class=\"code\">pt</span>)</li> </ul> <p><i>Notice: error messages are not affected by this header and therefore should not be displayed to users, being better suited for logging.</i></p>
7
+
8
+ The version of the OpenAPI document: 2.1.2
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from pydantic import BaseModel, StrictStr
23
+ from pydantic import Field
24
+ try:
25
+ from typing import Self
26
+ except ImportError:
27
+ from typing_extensions import Self
28
+
29
+ class AllocateDocumentKeyRequest(BaseModel):
30
+ """
31
+ AllocateDocumentKeyRequest
32
+ """ # noqa: E501
33
+ provisional_metadata: Optional[Dict[str, List[StrictStr]]] = Field(default=None, alias="provisionalMetadata")
34
+ __properties: ClassVar[List[str]] = ["provisionalMetadata"]
35
+
36
+ model_config = {
37
+ "populate_by_name": True,
38
+ "validate_assignment": True
39
+ }
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Self:
53
+ """Create an instance of AllocateDocumentKeyRequest from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ _dict = self.model_dump(
67
+ by_alias=True,
68
+ exclude={
69
+ },
70
+ exclude_none=True,
71
+ )
72
+ # set to None if provisional_metadata (nullable) is None
73
+ # and model_fields_set contains the field
74
+ if self.provisional_metadata is None and "provisional_metadata" in self.model_fields_set:
75
+ _dict['provisionalMetadata'] = None
76
+
77
+ return _dict
78
+
79
+ @classmethod
80
+ def from_dict(cls, obj: Dict) -> Self:
81
+ """Create an instance of AllocateDocumentKeyRequest from a dict"""
82
+ if obj is None:
83
+ return None
84
+
85
+ if not isinstance(obj, dict):
86
+ return cls.model_validate(obj)
87
+
88
+ _obj = cls.model_validate({
89
+ "provisionalMetadata": obj.get("provisionalMetadata")
90
+ })
91
+ return _obj
92
+
93
+