{
  "openapi": "3.0.1",
  "info": {
    "title": "Rest PKI Core API",
    "description": "<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>\n<p>\n\t<a href=\"https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/\">Rest PKI Core</a> is an upcoming version of\n\t<a href=\"https://docs.lacunasoftware.com/en-us/articles/rest-pki/\">Rest PKI</a> that will have extended compatibility with environments and databases.\n</p>\n<p>\n\tIn 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)\n\tand on <b>Docker</b>. As for database servers, in addition to SQL Server, <b>PostgreSQL</b> will also be supported.\n</p>\n<p>\n\t<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>\n</p>\n<p>\n\tFor questions regarding the usage of this API, please reach us at <a href=\"https://lacuna.help/\">lacuna.help</a>\n</p>\n\n<h2>Parameters</h2>\n<p>\n\tYou will need the following parameters:\n</p>\n<ul>\n\t<li><b>Endpoint</b>: address of the Rest PKI Core instance that will be used</li>\n\t<li><b>API Key</b>: authorization key for using the API</li>\n</ul>\n<p>\n\tThe <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.\n</p>\n\n<h2>Authentication</h2>\n<p>\n\tThe API key must be sent on the <span class=\"model\">X-Api-Key</span> header on each request:\n</p>\n\n<!-- unfortunately, class \"example microlight\" doesn't seem to work here -->\n<pre style=\"font-size: 12px; padding: 10px; border-radius: 4px; background: #41444e; font-weight: 600; color: #fff;\">\nX-Api-Key: yourapp|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n</pre>\n\n<h2>HTTP Codes</h2>\n\n<p>\n\tThe APIs will return the following HTTP codes:\n</p>\n\n<table>\n\t<thead>\n\t\t<tr>\n\t\t\t<th>Code</th>\n\t\t\t<th>Description</th>\n\t\t</tr>\n\t</thead>\n\t<tbody>\n\t\t<tr>\n\t\t\t<td><strong class=\"model-title\">200 (OK)</strong></td>\n\t\t\t<td>Request processed successfully. The response is different for each API, please refer to the operation's documentation</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td><strong class=\"model-title\">400 (Bad Request)</strong></td>\n\t\t\t<td>Syntax error. For instance, when a required field was not provided</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td><strong class=\"model-title\">401 (Unauthorized)</strong></td>\n\t\t\t<td>API key not provided or invalid</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td><strong class=\"model-title\">403 (Forbidden)</strong></td>\n\t\t\t<td>API key is valid, but the application has insufficient permissions to complete the requested operation</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td><strong class=\"model-title\">422 (Unprocessable Entity)</strong></td>\n\t\t\t<td>API error. The response body is an <a href=\"#model-ErrorModelV2\" class=\"model\">ErrorModelV2</a>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td><strong class=\"model-title\">500 (Internal Server Error)</strong></td>\n\t\t\t<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>\n\t\t</tr>\n\t</tbody>\n</table>\n\n<h3>Error Codes</h3>\n\n<p>\n\tSome of the error codes returned in the <span class=\"model\">code</span> field of an <a href=\"#model-ErrorModelV2\" class=\"model\">ErrorModelV2</a>\n\t(body of responses with HTTP status code 422) are provided below*:\n</p>\n\n<table>\n\t<thead>\n\t\t<tr>\n\t\t\t<th>Code</th>\n\t\t\t<th>Description</th>\n\t\t</tr>\n\t</thead>\n\t<tbody>\n\t\t<tr>\n\t\t\t<td class=\"model\">DocumentNotFound</td>\n\t\t\t<td>A referenced document was not found (check the document ID)</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td class=\"model\">SecurityContextNotFound</td>\n\t\t\t<td>A referenced security context was not found (check the security context ID)</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td class=\"model\">SignatureSessionNotFound</td>\n\t\t\t<td>A referenced signature session was not found (check the signature session ID)</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td class=\"model\">BadSignatureSessionOperation</td>\n\t\t\t<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>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td class=\"model\">BackgroundProcessing</td>\n\t\t\t<td>The operation cannot be completed at this time because the resource is being processed in background</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td class=\"model\">SignatureSessionTokenRequired</td>\n\t\t\t<td>The signature session token was not passed on the <span class=\"model\">X-Signature-Session-Token</span> request header</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td class=\"model\">BadSignatureSessionToken</td>\n\t\t\t<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>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td class=\"model\">ExpiredSignatureSessionToken</td>\n\t\t\t<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>\n\t\t</tr>\n\t</tbody>\n</table>\n\n<p style=\"font-size: 0.9em\">\n\t*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.\n</p>\n\n<h2>Culture / Internationalization (i18n)</h2>\n<p>The <span class=\"model\">Accept-Language</span> request header is observed by this API. The following cultures are supported:</p>\n<ul>\n\t<li><span class=\"code\">en-US</span> (or simply <span class=\"code\">en</span>)</li>\n\t<li><span class=\"code\">pt-BR</span> (or simply <span class=\"code\">pt</span>)</li>\n\t<li><span class=\"code\">es-ES</span> (or simply <span class=\"code\">es</span>)</li>\n</ul>\n<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>\n",
    "version": "5.0.4"
  },
  "paths": {
    "/api/v2/authentication": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Prepares for a certificate authentication",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PrepareAuthenticationRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrepareAuthenticationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PrepareAuthenticationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PrepareAuthenticationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrepareAuthenticationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrepareAuthenticationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/v2/authentication/completion": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Completes a certificate authentication",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteAuthenticationRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteAuthenticationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteAuthenticationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteAuthenticationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompleteAuthenticationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompleteAuthenticationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/Authentications": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/AuthenticationsPostRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthenticationsPostRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthenticationsPostRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AuthenticationsPostRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationsPostResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationsPostResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/Authentications/{token}/Finalize": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationPostResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationPostResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/Authentications/{token}/SignedBytes": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/AuthenticationsPostSignedBytesRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthenticationsPostSignedBytesRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthenticationsPostSignedBytesRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AuthenticationsPostSignedBytesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationsPostSignedBytesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationsPostSignedBytesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/Authentication": {
      "get": {
        "tags": [
          "Authentication"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationGetResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationGetResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      },
      "post": {
        "tags": [
          "Authentication"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/AuthenticationPostRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthenticationPostRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthenticationPostRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AuthenticationPostRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationPostResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationPostResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/bio/sessions/liveness": {
      "post": {
        "tags": [
          "BioSessions"
        ],
        "summary": "Creates a Liveness BioSession.",
        "requestBody": {
          "description": "See [StartLivenessSessionRequest](#model-StartLivenessSessionRequest) for session details.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/StartLivenessSessionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartLivenessSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StartLivenessSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StartLivenessSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartBioSessionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartBioSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/bio/sessions/liveness/completion": {
      "post": {
        "tags": [
          "BioSessions"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LivenessSessionStatusModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/LivenessSessionStatusModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/bio/sessions/enrollment": {
      "post": {
        "tags": [
          "BioSessions"
        ],
        "summary": "Creates a BioEnrollmentSession.",
        "requestBody": {
          "description": "See [StartBioEnrollmentSessionRequest](#model-StartBioEnrollmentSessionRequest) for session details.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/StartBioEnrollmentSessionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartBioEnrollmentSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StartBioEnrollmentSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StartBioEnrollmentSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartBioSessionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartBioSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/bio/sessions/enrollment/completion": {
      "post": {
        "tags": [
          "BioSessions"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BioEnrollmentSessionStatusModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BioEnrollmentSessionStatusModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/bio/sessions/id-capture": {
      "post": {
        "tags": [
          "BioSessions"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/StartIdentificationDocumentCaptureSessionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartIdentificationDocumentCaptureSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StartIdentificationDocumentCaptureSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StartIdentificationDocumentCaptureSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartBioSessionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartBioSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/bio/sessions/id-capture/completion": {
      "post": {
        "tags": [
          "BioSessions"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentificationDocumentCaptureSessionStatusModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentificationDocumentCaptureSessionStatusModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/bio/sessions/authentication": {
      "post": {
        "tags": [
          "BioSessions"
        ],
        "summary": "Creates a BioAuthenticationSession.",
        "requestBody": {
          "description": "See [StartBioAuthenticationSessionRequest](#model-StartBioAuthenticationSessionRequest) for session details.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/StartBioAuthenticationSessionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartBioAuthenticationSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StartBioAuthenticationSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StartBioAuthenticationSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartBioSessionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartBioSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/bio/sessions/authentication/completion": {
      "post": {
        "tags": [
          "BioSessions"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BioAuthenticationSessionStatusModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BioAuthenticationSessionStatusModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/bio/sessions/identification": {
      "post": {
        "tags": [
          "BioSessions"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/StartBioIdentificationSessionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartBioIdentificationSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StartBioIdentificationSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StartBioIdentificationSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartBioSessionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartBioSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/bio/sessions/identification/completion": {
      "post": {
        "tags": [
          "BioSessions"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteBioSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BioIdentificationSessionStatusModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BioIdentificationSessionStatusModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/bio/sessions/{sessionId}/result-data": {
      "get": {
        "tags": [
          "BioSessions"
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BioSessionResultDataModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BioSessionResultDataModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/bio/sessions/{sessionId}": {
      "get": {
        "tags": [
          "BioSessions"
        ],
        "summary": "Retrieves the full details of a BioSession. The concrete model returned depends on the session type\r\n(see the SessionType discriminator on [BioSessionModel](#model-BioSessionModel)).",
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BioSessionModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BioSessionModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/bio/subjects/{subjectId}": {
      "get": {
        "tags": [
          "BioSubjects"
        ],
        "parameters": [
          {
            "name": "subjectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeDeleted",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BioSubjectModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BioSubjectModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/bio/subjects/{subjectId}/face": {
      "get": {
        "tags": [
          "BioSubjects"
        ],
        "parameters": [
          {
            "name": "subjectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BioSubjectFaceModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BioSubjectFaceModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/CadesSignatures": {
      "post": {
        "tags": [
          "CadesSignature"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CadesSignaturePostRequestV1"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CadesSignaturePostRequestV1"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CadesSignaturePostRequestV1"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CadesSignaturePostRequestV1"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CadesSignaturePostResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CadesSignaturePostResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/v2/CadesSignatures": {
      "post": {
        "tags": [
          "CadesSignature"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CadesSignaturePostRequestV2"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CadesSignaturePostRequestV2"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CadesSignaturePostRequestV2"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CadesSignaturePostRequestV2"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CadesSignaturePostResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CadesSignaturePostResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/v3/CadesSignatures": {
      "post": {
        "tags": [
          "CadesSignature"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CadesSignaturePostRequestV3"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CadesSignaturePostRequestV3"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CadesSignaturePostRequestV3"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CadesSignaturePostRequestV3"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CadesSignaturePostResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CadesSignaturePostResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/CadesSignatures/{token}/SignedBytes": {
      "post": {
        "tags": [
          "CadesSignature"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CadesSignaturePostSignedBytesRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CadesSignaturePostSignedBytesRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CadesSignaturePostSignedBytesRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CadesSignaturePostSignedBytesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CadesSignaturePostSignedBytesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CadesSignaturePostSignedBytesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/CadesSignatures/{token}/Finalize": {
      "post": {
        "tags": [
          "CadesSignature"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CadesSignaturePostSignedBytesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CadesSignaturePostSignedBytesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/v2/CadesSignatures/{token}/SignedBytes": {
      "post": {
        "tags": [
          "CadesSignature"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteSignatureRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteSignatureRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteSignatureRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteSignatureRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignatureResultModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignatureResultModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/CadesSignatures/RequiredHashes": {
      "post": {
        "tags": [
          "CadesSignature"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/FileModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FileModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FileModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FileModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DigestAlgorithms"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DigestAlgorithms"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/CadesSignatures/Open": {
      "post": {
        "tags": [
          "CadesSignature"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/OpenCadesSignatureRequestModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenCadesSignatureRequestModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenCadesSignatureRequestModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OpenCadesSignatureRequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CadesSignatureModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CadesSignatureModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/document-keys": {
      "post": {
        "tags": [
          "DocumentKeys"
        ],
        "summary": "Allocates a document key to be used later on a document signature",
        "description": "To allocate a number of document keys at once, use the `POST /api/document-keys/batch` API instead. Limitations on the total number of unused document keys allocated may apply.",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/AllocateDocumentKeyRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AllocateDocumentKeyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AllocateDocumentKeyRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AllocateDocumentKeyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentKeyModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentKeyModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/document-keys/batch": {
      "post": {
        "tags": [
          "DocumentKeys"
        ],
        "summary": "Allocates a batch of document keys to be used later on document signatures",
        "description": "At most 100 keys may be allocated on each request. Limitations on the total number of unused document keys allocated may apply.",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/AllocateDocumentKeyBatchRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AllocateDocumentKeyBatchRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AllocateDocumentKeyBatchRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AllocateDocumentKeyBatchRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentKeyModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentKeyModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/document-keys/{key}": {
      "get": {
        "tags": [
          "DocumentKeys"
        ],
        "summary": "Queries documents by key",
        "description": "The key may be given either in formatted form (e.g. *XXXX-XXXX-XXXX-XXXX*) or unformatted (e.g. *XXXXXXXXXXXXXXXX*)\r\n\r\nIf a document with the given key is not found, the response is a `200 (Success)` with `\"found\": false`.\r\n\r\nIf the given key has been allocated in advance but is not yet associated with a document, the response is a `200 (Success)`\r\nwith `\"found\": true` and `\"hasDocument\": false`. In this case, the field `provisionalMetadata` contains any provisional metadata\r\npassed during the document key allocation, which serves as an indicative of the metadata that a future document will likely have.\r\n\r\nOnly if `\"found\": true` **and** `\"hasDocument\": true` is the field `document` filled. In this case, `provisionalMetadata` is not filled.",
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentKeyQueryResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentKeyQueryResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/document-keys/unused": {
      "get": {
        "tags": [
          "DocumentKeys"
        ],
        "summary": "Queries unused document keys",
        "parameters": [
          {
            "name": "metadataName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "metadataValue",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentKeySummary"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentKeySummary"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/documents": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Retrieves a list of documents",
        "parameters": [
          {
            "name": "Key",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "StartDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "EndDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateCursor",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Order",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/PaginationOrders"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentSummaryPaginatedSearchResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentSummaryPaginatedSearchResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/documents/{id}": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Retrieves a document's details",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/documents/{id}/signers": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Retrieves the full information about each of a document's signers",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SignerModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SignerModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/documents/keys/{key}": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Finds a document's details by its key",
        "description": "The key may be given either in formatted form (e.g. *XXXX-XXXX-XXXX-XXXX*) or unformatted (e.g. *XXXXXXXXXXXXXXXX*)\r\n\r\nIf a document with the given key is not found, the response is a `200 (Success)` with `\"found\": false`.",
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentQueryResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentQueryResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/PadesSignatures": {
      "post": {
        "tags": [
          "PadesSignature"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PadesSignaturePostRequestV1"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PadesSignaturePostRequestV1"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PadesSignaturePostRequestV1"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PadesSignaturePostRequestV1"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PadesSignaturePostResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PadesSignaturePostResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/v2/PadesSignatures": {
      "post": {
        "tags": [
          "PadesSignature"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PadesSignaturePostRequestV2"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PadesSignaturePostRequestV2"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PadesSignaturePostRequestV2"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PadesSignaturePostRequestV2"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PadesSignaturePostResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PadesSignaturePostResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/PadesSignatures/{token}/SignedBytes": {
      "post": {
        "tags": [
          "PadesSignature"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PadesSignaturePostSignedBytesRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PadesSignaturePostSignedBytesRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PadesSignaturePostSignedBytesRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PadesSignaturePostSignedBytesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PadesSignaturePostSignedBytesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PadesSignaturePostSignedBytesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/PadesSignatures/{token}/Finalize": {
      "post": {
        "tags": [
          "PadesSignature"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PadesSignaturePostSignedBytesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PadesSignaturePostSignedBytesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/v2/PadesSignatures/{token}/SignedBytes": {
      "post": {
        "tags": [
          "PadesSignature"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteSignatureRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteSignatureRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteSignatureRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteSignatureRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignatureResultModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignatureResultModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/PadesSignatures/Open": {
      "post": {
        "tags": [
          "PadesSignature"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/OpenSignatureRequestModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenSignatureRequestModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenSignatureRequestModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OpenSignatureRequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PadesSignatureModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PadesSignatureModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/PadesVisualPositioningPresets/Footnote": {
      "get": {
        "tags": [
          "PadesVisualPositioningPresets"
        ],
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": -1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PadesVisualPositioningModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PadesVisualPositioningModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/PadesVisualPositioningPresets/FootnoteBottomUp": {
      "get": {
        "tags": [
          "PadesVisualPositioningPresets"
        ],
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": -1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PadesVisualPositioningModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PadesVisualPositioningModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/PadesVisualPositioningPresets/NewPage": {
      "get": {
        "tags": [
          "PadesVisualPositioningPresets"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PadesVisualPositioningModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PadesVisualPositioningModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/Pdf/AddMarks": {
      "post": {
        "tags": [
          "Pdf"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PdfAddMarksRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PdfAddMarksRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PdfAddMarksRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PdfAddMarksRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PdfAddMarksResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PdfAddMarksResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/pdf/stamp": {
      "post": {
        "tags": [
          "Pdf"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/StampPdfRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StampPdfRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StampPdfRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StampPdfRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StampPdfResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/StampPdfResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/signature": {
      "post": {
        "tags": [
          "Signature"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PrepareSignatureRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrepareSignatureRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PrepareSignatureRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PrepareSignatureRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrepareSignatureResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrepareSignatureResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/signature/completion": {
      "post": {
        "tags": [
          "Signature"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteSignatureRequestV2"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteSignatureRequestV2"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteSignatureRequestV2"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteSignatureRequestV2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/signature/archival-extension": {
      "post": {
        "tags": [
          "Signature"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendArchivalSignatureRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendArchivalSignatureRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendArchivalSignatureRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendArchivalSignatureRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtendArchivalSignatureResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtendArchivalSignatureResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/signature-inspection": {
      "put": {
        "tags": [
          "SignatureInspection"
        ],
        "summary": "Inspects a signed file, returning information about its signers and metadata about the corresponding document (if signed on this instance)",
        "description": "## Overview\r\n\r\nThe simplest usage of this API is by simply passing the `file` to be inspected. If passing a file by its contents, make sure to pass its\r\n`mimeType` so that the API can infer the signature type (PDF/PAdES, CMS/CAdES or XML/XmlDSig) from it.\r\n\r\nInformation about each signer found is returned on the `signers` property. If the file was signed on this instance, additional information\r\nabout the document is returned on the `document` property.\r\n\r\nPlease note that by default the signatures are not validated. This means that the `validationResults` property of each signer will be `null`\r\n(unless the file was signed on this instance, in which case the property will be filled).\r\n\r\n## Signature validation\r\n\r\nBy default, the signed file is only inspected, but not validated. To validate the signatures, pass `validate = true`. In this case, you may\r\noptionally specify the `securityContextId` to be used to validate the certificates. If omitted, your default security context will be used.\r\n\r\nPlease note that validating the signatures may take several seconds or even longer, depending on the number of signers. If more than 10\r\nsigners are found, only the first 10 are validated (this limit may be increased on on-demand instances). If your documents can have a large\r\nnumber of signers per document, please consider using the signer inspection API to validate each user separately on-demand as the user\r\ninteracts with the UI.\r\n\r\n## Validating detached CMS/CAdES signatures \r\n\r\nWhen validating detached CMS/CAdES signatures, the detached data file must be specified on the `dataFile` property or its digests must be given\r\non the `dataHashes` property. If passing `dataHashes`, make sure to pass at least the SHA-256 digest of the data file (other digests may be necessary\r\ndepending on the signature algorithm used by the signers). If your data files can be considerably large, passing the `dataHashes` is recommended\r\nsince it avoids transmitting the actual data files through the API.\r\n\r\nIf a CMS/CAdES signature is given with `validate = true` and without the corresponding data file specified, the API returns a 200 (OK) response with\r\n`success = false` and `failure = DataFileRequired`. This allows you to implement a validation form that lets the user submit the signature file and only\r\nrequests the data file if necessary.",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/InspectSignatureRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InspectSignatureRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InspectSignatureRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InspectSignatureRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InspectSignatureResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/InspectSignatureResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/signature-sessions/{id}": {
      "get": {
        "tags": [
          "SignatureSessions"
        ],
        "summary": "Retrieves a signature session's details",
        "description": "## Overview\r\n\r\nWhen a user is redirected back to your application at the end of a signature session, a query parameter is appended to the `returnUrl` containing the ID of the\r\nsignature session, i.e. `?signatureSessionId=...`. Your app must get this parameter and use it to call this API, which will return information about the session,\r\nmainly its status and documents.\r\n\r\n## Statuses\r\n\r\nWhen a user is redirected back to your app, the session will have one of two possible statuses: `Completed` or `UserCancelled`. You should always check the status,\r\nsince it is perfecly normal for a user to land back on your app by cancelling the session instead of going through the procedure.\r\n\r\n## Statuses (when background processing is enabled)\r\n\r\nIf you enabled background processing of the session by passing `EnableBackgroundProcessing = true` when creating the session, then two additional statuses are possible:\r\n`Processing` and `ProcessingError`.\r\n\r\nWhile a session is still `Processing`, some documents will be in status `Processing` and cannot be downloaded. Only when the session transitions to the `Complete` status\r\nare all documents ready to be downloaded.\r\n\r\nThe status `ProcessingError` is a rare condition that occurrs only in corner cases such as the user's certificate being revoked during the time between the\r\nstart of the session and the completion of the background processing. It is perfectly appropriate for your app to `throw` if this status is returned.\r\n\r\n## Downloading signed files\r\n\r\nThe signed files are not returned on the body of the response. Instead, a `location` is given for each file which must be invoked to get the actual files' contents\r\n(see [DocumentFileModel](#model-DocumentFileModel)).",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignatureSessionModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignatureSessionModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/signature-sessions": {
      "post": {
        "tags": [
          "SignatureSessions"
        ],
        "summary": "Creates a signature session",
        "description": "## Overview\r\n\r\nThis API creates a **signature session**, which enables your users to perform digital signatures without requiring you to implement a signature web page on your app.\r\n\r\nTo create a signature session, your app specifies a `returnUrl` and receives back a `redirectUrl`. Your app then redirects the user to the `redirectUrl`, where he will \r\ndigitally sign documents. Once the process is complete, the user will be redirected back to your app on the *returnUrl* you specified when starting the session.\r\nA query parameter will be added to the `returnUrl` containing the signature session ID (`?signatureSessionId=...`). Then, your app parses the signature session ID on\r\nthe query string and uses it to call APIs to fetch the documents signed by the user.\r\n\r\nThe session can either have predefined documents that the user must sign (passed on the `Documents` collection) or allow the user to upload his own documents (in this\r\ncase, omit the `Documents` collection).\r\n\r\n## Showing the signature page on a new tab\r\n\r\nThe default behavior is for your app to provide a `returnUrl`, and then redirect the user to the `returnUrl` returned by this API with a HTTP redirection response\r\n(e.g. *303 See Other*) or with a `location.href = ...` call on Javascript. By the end of the procedure, the user is redirected back to your app, all in a single browser tab.\r\n\r\nAlternatively, you may want to display the signature page on a new tab. In this case, omit the `returnUrl` parameter when creating the session. Furthermore, you must open\r\nthe tab with an HTML anchor tag with `target=\"_blank\"`, or with the `window.open()` function on Javascript. The tab will then be closed by the end of the process.\r\n\r\n## Background processing\r\n\r\nBy default, users are kept waiting while documents are processed before being redirected back to your application.\r\n\r\nIf you want to provide your users with a faster experience, turn on background processing by passing `EnableBackgroundProcessing = true`. In this case, users do not wait\r\nfor documents to be processed. However, your application must be ready to handle the case of a signature session whose documents are not yet available for download.\r\n\r\n## Webhooks\r\n\r\nYou may configure your Rest PKI Core subscription to inform your app of any documents that are signed on signature sessions created by it. This way, you don't\r\nneed to rely on users landing back on your page to detect that documents have been signed. Please refer to the *Webhooks* section for more information.\r\n\r\n## Disabling downloads\r\n\r\nIf you don't receive webhook notifications of documents signed, you might feel like the signature session process is not working reliably because some users simply download\r\nthe signed documents and don't bother to stick around while they are redirected back to your app, denying it the chance to detect that documents have been signed.\r\nIf you feel this is a problem for your case, you can disable the downloading of signed documents by passing `DisableDownloads = true`. Then, users will only be able to\r\ndownload documents through your app, and thus will be far less inclined to quit the process prematurely.\r\n            \r\n## Cloud certificates only\r\n            \r\nIf your users sign exclusively with cloud certificates, you can pass `CloudCertificatesOnly = true`. In this case, the signature page skips the Web PKI\r\nsetup/selection entirely and opens directly on the cloud certificate provider selection, and local (Web PKI) certificates are refused for the session.\r\nThe session can only be created if at least one cloud certificate provider is configured on the instance.\r\n            \r\n## File name validation\r\n\r\nIf you want to validate the file names that are acceptable for users to upload, you can configure the *acceptable file name pattern* on your subscription's\r\nconfiguration to a regular expression conforming to your rules.\r\n\r\nYou can also configure a *file name validation endpoint*, an API implemented by your app that is called for each file selected by the user with the file's name and\r\nMIME type and returns whether the file should be acceptable or not (and, if not, a reason to be displayed to the user).",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSignatureSessionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSignatureSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSignatureSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSignatureSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSignatureSessionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSignatureSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/signature-sessions/{id}/when-completed": {
      "get": {
        "tags": [
          "SignatureSessions"
        ],
        "summary": "Waits for the completion of a signature session",
        "description": "This API can be used when background processing is enabled on a signature session to wait for its processing.\r\n\r\nThe API will hang for a short period (normally 15 seconds) waiting for the session to be completed. If it is completed during that time,\r\nthe API returns immediately with `Completed = true`. If, however, that period elapsed and the session is still not completed, the API\r\nreturns with `Completed = false` and with the current `Progress` (0 to 100).\r\n\r\nA client app that intends to wait for the session completion indefinitely must therefore implement a loop to call this API until\r\n`Completed = true` is returned. This might seem like polling (and actually is), but is different because it is a sort of \"smart polling\"\r\nsince the API returns immediately once the session is completed, instead of the app having to wait for the next polling interval.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionCompletionStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionCompletionStatus"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/TimestampPlans/{identifier}/Issue": {
      "post": {
        "tags": [
          "Timestamp"
        ],
        "parameters": [
          {
            "name": "identifier",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimestampIssueResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimestampIssueResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/tsp/{identifier}": {
      "post": {
        "tags": [
          "Timestamp"
        ],
        "parameters": [
          {
            "name": "identifier",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimestampIssueResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimestampIssueResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/api/plain-uploads": {
      "post": {
        "tags": [
          "Upload"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileReferenceModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileReferenceModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/MultipartUploads": {
      "post": {
        "tags": [
          "Upload"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MultipartUploadBeginResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MultipartUploadBeginResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/MultipartUploads/{token}/{partNumber}": {
      "post": {
        "tags": [
          "Upload"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "partNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/MultipartUploads/{token}": {
      "post": {
        "tags": [
          "Upload"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/MultipartUploadEndRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MultipartUploadEndRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MultipartUploadEndRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MultipartUploadEndRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/XmlSignatures/FullXmlSignature": {
      "post": {
        "tags": [
          "XmlSignature"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/FullXmlSignaturePostRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FullXmlSignaturePostRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FullXmlSignaturePostRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FullXmlSignaturePostRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XmlSignaturePostResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XmlSignaturePostResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/XmlSignatures/XmlElementSignature": {
      "post": {
        "tags": [
          "XmlSignature"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/XmlElementSignaturePostRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/XmlElementSignaturePostRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/XmlElementSignaturePostRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/XmlElementSignaturePostRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XmlSignaturePostResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XmlSignaturePostResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/XmlSignatures/{token}/SignedBytes": {
      "post": {
        "tags": [
          "XmlSignature"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/XmlSignaturePostSignedBytesRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/XmlSignaturePostSignedBytesRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/XmlSignaturePostSignedBytesRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/XmlSignaturePostSignedBytesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XmlSignaturePostSignedBytesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XmlSignaturePostSignedBytesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/XmlSignatures/{token}/Finalize": {
      "post": {
        "tags": [
          "XmlSignature"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XmlSignaturePostSignedBytesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XmlSignaturePostSignedBytesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/XmlSignatures/Open": {
      "post": {
        "tags": [
          "XmlSignature"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/OpenXmlSignatureRequestModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenXmlSignatureRequestModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenXmlSignatureRequestModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OpenXmlSignatureRequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/XmlSignatureModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/XmlSignatureModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    },
    "/Api/v2/XmlSignatures/Open": {
      "post": {
        "tags": [
          "XmlSignature"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/OpenXmlSignatureRequestModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenXmlSignatureRequestModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenXmlSignatureRequestModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OpenXmlSignatureRequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XmlSignatureResponseModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XmlSignatureResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Syntax error, for instance when a required field is not specified"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Semantic error, for instance when a given entity ID is not found"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AllocateDocumentKeyBatchRequest": {
        "type": "object",
        "properties": {
          "count": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "description": "Amount of document keys that should be allocated.",
            "format": "int32"
          },
          "provisionalMetadata": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AllocateDocumentKeyRequest": {
        "type": "object",
        "properties": {
          "provisionalMetadata": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ArchiveTimestampInfo": {
        "type": "object",
        "properties": {
          "timestampModel": {
            "$ref": "#/components/schemas/CadesTimestampModel"
          },
          "dateIssued": {
            "type": "string",
            "description": "Date and time when the timestamp was issued by the TSA (Time Stamping Authority)",
            "format": "date-time"
          },
          "dateExpires": {
            "type": "string",
            "description": "Date and time when the timestamp expires (based on TSA certificate validity)",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Information about an archive timestamp"
      },
      "AttributeCertificateModel": {
        "type": "object",
        "properties": {
          "holderType": {
            "$ref": "#/components/schemas/HolderTypes"
          },
          "holderCertificateSerialNumber": {
            "type": "string",
            "nullable": true
          },
          "holderDisplayName": {
            "type": "string",
            "nullable": true
          },
          "holderName": {
            "$ref": "#/components/schemas/GeneralNameModel"
          },
          "issuerDisplayName": {
            "type": "string",
            "nullable": true
          },
          "issuer": {
            "$ref": "#/components/schemas/NameModel"
          },
          "validityStart": {
            "type": "string",
            "format": "date-time"
          },
          "validityEnd": {
            "type": "string",
            "format": "date-time"
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CertifiedAttributeModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuditPackageOptions": {
        "type": "object",
        "properties": {
          "generate": {
            "type": "boolean",
            "description": "Whether an audit package zip file should be generated and returned"
          },
          "includeFile": {
            "type": "boolean",
            "description": "Whether to include the signed file on the package"
          }
        },
        "additionalProperties": false
      },
      "AuthenticationFailures": {
        "enum": [
          "CertificateFailedValidation",
          "StaleSession",
          "NonceReused"
        ],
        "type": "string"
      },
      "AuthenticationGetResponse": {
        "type": "object",
        "properties": {
          "nonce": {
            "type": "string",
            "format": "byte",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuthenticationPostRequest": {
        "type": "object",
        "properties": {
          "certificate": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "nonce": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "signature": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "securityContextId": {
            "type": "string",
            "format": "uuid"
          },
          "ignoreRevocationStatusUnknown": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuthenticationPostResponse": {
        "type": "object",
        "properties": {
          "certificate": {
            "$ref": "#/components/schemas/CertificateModel"
          },
          "validationResults": {
            "$ref": "#/components/schemas/ValidationResultsModel"
          }
        },
        "additionalProperties": false
      },
      "AuthenticationsPostRequest": {
        "type": "object",
        "properties": {
          "securityContextId": {
            "type": "string",
            "format": "uuid"
          },
          "ignoreRevocationStatusUnknown": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuthenticationsPostResponse": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "nullable": true
          },
          "toSignData": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "toSignHash": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "digestAlgorithmOid": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuthenticationsPostSignedBytesRequest": {
        "type": "object",
        "properties": {
          "signature": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "certificate": {
            "type": "string",
            "format": "byte",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuthenticationsPostSignedBytesResponse": {
        "type": "object",
        "properties": {
          "validationResults": {
            "$ref": "#/components/schemas/ValidationResultsModel"
          },
          "certificate": {
            "$ref": "#/components/schemas/CertificateModel"
          }
        },
        "additionalProperties": false
      },
      "AutoPositioningHorizontalDirections": {
        "enum": [
          "LeftToRight",
          "RightToLeft"
        ],
        "type": "string"
      },
      "AutoPositioningVerticalDirections": {
        "enum": [
          "TopDown",
          "BottomUp"
        ],
        "type": "string"
      },
      "BioAuthenticationFailures": {
        "enum": [
          "CaptureFailed",
          "LivenessFailed",
          "NoMatch",
          "BadImage",
          "FaceIdentityVerificationFailed",
          "BadCapturedImage",
          "BadSubjectFaceImage"
        ],
        "type": "string"
      },
      "BioAuthenticationSessionStatusModel": {
        "type": "object",
        "properties": {
          "subjectIdentifier": {
            "type": "string",
            "nullable": true
          },
          "subjectId": {
            "type": "string",
            "format": "uuid"
          },
          "failure": {
            "$ref": "#/components/schemas/BioAuthenticationFailures"
          },
          "sessionId": {
            "type": "string",
            "format": "uuid"
          },
          "success": {
            "type": "boolean",
            "nullable": true
          },
          "resultDataAvailable": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "BioEnrollmentFailures": {
        "enum": [
          "FaceNotFoundWithSufficientQuality",
          "FaceLiveness2dFailed",
          "FaceCaptureFailed",
          "DocumentCaptureFailed",
          "DocumentFaceMatchFailed",
          "FaceIdentityVerificationFailed",
          "DuplicatesFound",
          "AttemptsLimitReached",
          "SessionAborted"
        ],
        "type": "string"
      },
      "BioEnrollmentSessionStatusModel": {
        "type": "object",
        "properties": {
          "subjectIdentifier": {
            "type": "string",
            "nullable": true
          },
          "subjectId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "livenessStatus": {
            "$ref": "#/components/schemas/FaceLivenessSessionStatusInfo"
          },
          "idCaptureStatus": {
            "$ref": "#/components/schemas/IdentificationDocumentCaptureSessionInfo"
          },
          "failure": {
            "$ref": "#/components/schemas/BioEnrollmentFailures"
          },
          "sessionId": {
            "type": "string",
            "format": "uuid"
          },
          "success": {
            "type": "boolean",
            "nullable": true
          },
          "resultDataAvailable": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "BioIdentificationFailures": {
        "enum": [
          "CaptureFailed",
          "LivenessFailed",
          "NoMatch",
          "BadImage"
        ],
        "type": "string"
      },
      "BioIdentificationSessionStatusModel": {
        "type": "object",
        "properties": {
          "identifiedSubjectId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "identifiedSubjectIdentifier": {
            "type": "string",
            "nullable": true
          },
          "failure": {
            "$ref": "#/components/schemas/BioIdentificationFailures"
          },
          "sessionId": {
            "type": "string",
            "format": "uuid"
          },
          "success": {
            "type": "boolean",
            "nullable": true
          },
          "resultDataAvailable": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "BioSessionAbortReasons": {
        "enum": [
          "UserAborted",
          "UserDeviceNotSupported",
          "UserClickedOutTooManyTimes",
          "AttemptLimitReached",
          "TransactionLimitReached",
          "TooManyProcessorErrors",
          "WidgetNotPresent",
          "FaceTecInvalidKey",
          "FaceTecHttpsRequiredError",
          "FaceTecIframeError",
          "FaceTecInitError",
          "FaceTecSessionTokenError",
          "FaceTecUnknownError",
          "InternalServerError",
          "ApiException",
          "UnknownProcessorError",
          "ConnectionClosedBeforeEnding",
          "VideoIdentificationQualityCheckError",
          "VideoIdentificationRecordingError",
          "GeolocationPermissionDenied",
          "GeolocationUnavailable",
          "GeolocationTimeout",
          "GeolocationNotSupported"
        ],
        "type": "string"
      },
      "BioSessionConnectionModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "initialized": {
            "type": "boolean"
          },
          "type": {
            "$ref": "#/components/schemas/BioSessionConnectionTypes"
          },
          "platform": {
            "$ref": "#/components/schemas/BioSessionPlatforms"
          },
          "lastHeartbeat": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "ipAddress": {
            "type": "string",
            "nullable": true
          },
          "geolocationCapture": {
            "$ref": "#/components/schemas/GeolocationCaptureModel"
          }
        },
        "additionalProperties": false
      },
      "BioSessionConnectionTypes": {
        "enum": [
          "Widget",
          "SessionUrl",
          "Auxiliary"
        ],
        "type": "string"
      },
      "BioSessionDataBlobModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "type": {
            "$ref": "#/components/schemas/BioSessionDataBlobTypes"
          },
          "contentType": {
            "type": "string",
            "nullable": true
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "matchLevel": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "liveness2dPass": {
            "type": "boolean",
            "nullable": true
          },
          "rawContentDigest": {
            "type": "string",
            "nullable": true
          },
          "rawContentLength": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BioSessionDataBlobTypes": {
        "enum": [
          "FaceImage",
          "IdentificationDocumentImage",
          "FaceIdentityVerificationImage",
          "VideoIdentificationQualityCheckVideo",
          "VideoIdentificationProcessedFrame",
          "ResultReport"
        ],
        "type": "string"
      },
      "BioSessionGeolocationCapturePolicies": {
        "enum": [
          "CollectOnCaptureDevice",
          "CollectOnAllDevices"
        ],
        "type": "string"
      },
      "BioSessionGeolocationCaptureTypes": {
        "enum": [
          "Disabled",
          "Required",
          "Optional",
          "BestEffort"
        ],
        "type": "string"
      },
      "BioSessionInteractionMethods": {
        "enum": [
          "Widget",
          "SessionUrl",
          "FaceTecProxy",
          "ApiOnly"
        ],
        "type": "string"
      },
      "BioSessionModel": {
        "type": "object",
        "properties": {
          "agentId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "trustedOrigin": {
            "type": "string",
            "nullable": true
          },
          "platformPreference": {
            "$ref": "#/components/schemas/BioSessionPlatformPreferences"
          },
          "implicitFromFaceTecSession": {
            "type": "boolean"
          },
          "abortReason": {
            "$ref": "#/components/schemas/BioSessionAbortReasons"
          },
          "resultBlobVersion": {
            "type": "integer",
            "format": "int32"
          },
          "connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BioSessionConnectionModel"
            },
            "nullable": true
          },
          "faceTecSessions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaceTecSessionModel"
            },
            "nullable": true
          },
          "fortFaceSessions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FortFaceSessionModel"
            },
            "nullable": true
          },
          "datavalidSessions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatavalidSessionModel"
            },
            "nullable": true
          },
          "dataBlobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BioSessionDataBlobModel"
            },
            "nullable": true
          },
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "subscriptionId": {
            "type": "string",
            "format": "uuid"
          },
          "subjectIdentifier": {
            "type": "string",
            "nullable": true
          },
          "interactionMethod": {
            "$ref": "#/components/schemas/BioSessionInteractionMethods"
          },
          "sessionType": {
            "$ref": "#/components/schemas/BioSessionTypes"
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "dateStarted": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateEnded": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateExpired": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "success": {
            "type": "boolean"
          },
          "status": {
            "$ref": "#/components/schemas/BioSessionStatus"
          }
        },
        "additionalProperties": false
      },
      "BioSessionPlatformPreferences": {
        "enum": [
          "NoPreference",
          "PreferMobile",
          "RequireMobile"
        ],
        "type": "string"
      },
      "BioSessionPlatforms": {
        "enum": [
          "Web",
          "WebAndroid",
          "WebIos"
        ],
        "type": "string"
      },
      "BioSessionResultDataModel": {
        "type": "object",
        "properties": {
          "documentData": {
            "$ref": "#/components/schemas/IdentificationDocumentData"
          },
          "faceData": {
            "$ref": "#/components/schemas/BioSessionResultFaceData"
          }
        },
        "additionalProperties": false
      },
      "BioSessionResultFaceData": {
        "type": "object",
        "properties": {
          "faceImage": {
            "$ref": "#/components/schemas/BlobModel"
          }
        },
        "additionalProperties": false
      },
      "BioSessionStatus": {
        "enum": [
          "Pending",
          "Started",
          "Success",
          "Failed",
          "Expired"
        ],
        "type": "string"
      },
      "BioSessionTypes": {
        "enum": [
          "Liveness",
          "Enrollment",
          "Authentication",
          "Identification",
          "IdentificationDocumentCapture",
          "IdentificationDocumentFaceMatching",
          "VideoIdentification"
        ],
        "type": "string"
      },
      "BioSubjectFaceModel": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "faceImage": {
            "$ref": "#/components/schemas/BlobModel"
          }
        },
        "additionalProperties": false
      },
      "BioSubjectModel": {
        "type": "object",
        "properties": {
          "identificationDocumentMatchedFace": {
            "type": "boolean",
            "nullable": true
          },
          "currentFaceTecSubjectId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "dateDeleted": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "subscriptionId": {
            "type": "string",
            "format": "uuid"
          },
          "identifier": {
            "type": "string",
            "nullable": true
          },
          "hasIdentificationDocument": {
            "type": "boolean"
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "currentFaceId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "currentIdentificationDocumentId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "deleted": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "BioSubjectReference": {
        "type": "object",
        "properties": {
          "identifier": {
            "maxLength": 200,
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BlobModel": {
        "required": [
          "content",
          "contentType"
        ],
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "format": "byte"
          },
          "contentType": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Blockchains": {
        "enum": [
          "Bitcoin",
          "Fabric"
        ],
        "type": "string"
      },
      "CadesSignatureModel": {
        "type": "object",
        "properties": {
          "encapsulatedContentType": {
            "$ref": "#/components/schemas/CmsContentTypes"
          },
          "hasEncapsulatedContent": {
            "type": "boolean"
          },
          "signers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CadesSignerModel"
            },
            "nullable": true
          },
          "encapsulatedContent": {
            "$ref": "#/components/schemas/FileModel"
          },
          "auditPackage": {
            "$ref": "#/components/schemas/FileModel"
          },
          "bStamp": {
            "$ref": "#/components/schemas/SignatureBStampModel"
          }
        },
        "additionalProperties": false
      },
      "CadesSignaturePostRequestV1": {
        "type": "object",
        "properties": {
          "contentToSign": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "cmsToCoSign": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "encapsulateContent": {
            "type": "boolean",
            "description": "Optionally denotes whether the resulting CMS should include the content signed. If ommitted, the following rules apply:\r\n- If no CmsToSign is given, the resulting CMS will include the content\r\n- If a CmsToCoSign is given, the resulting CMS will include the content if and only if the CmsToCoSign also includes the content",
            "nullable": true
          },
          "certificate": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "signaturePolicyId": {
            "type": "string",
            "format": "uuid"
          },
          "securityContextId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "callbackArgument": {
            "type": "string",
            "nullable": true
          },
          "ignoreRevocationStatusUnknown": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CadesSignaturePostRequestV2": {
        "type": "object",
        "properties": {
          "dataHashes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
            },
            "nullable": true
          },
          "contentToSign": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "cmsToCoSign": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "encapsulateContent": {
            "type": "boolean",
            "description": "Optionally denotes whether the resulting CMS should include the content signed. If ommitted, the following rules apply:\r\n- If no CmsToSign is given, the resulting CMS will include the content\r\n- If a CmsToCoSign is given, the resulting CMS will include the content if and only if the CmsToCoSign also includes the content",
            "nullable": true
          },
          "certificate": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "signaturePolicyId": {
            "type": "string",
            "format": "uuid"
          },
          "securityContextId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "callbackArgument": {
            "type": "string",
            "nullable": true
          },
          "ignoreRevocationStatusUnknown": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CadesSignaturePostRequestV3": {
        "type": "object",
        "properties": {
          "dataHashes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
            },
            "nullable": true
          },
          "fileToSign": {
            "$ref": "#/components/schemas/FileModel"
          },
          "cmsToCoSign": {
            "$ref": "#/components/schemas/FileModel"
          },
          "encapsulateContent": {
            "type": "boolean",
            "description": "Optionally denotes whether the resulting CMS should include the content signed. If ommitted, the following rules apply:\r\n- If no CmsToSign is given, the resulting CMS will include the content\r\n- If a CmsToCoSign is given, the resulting CMS will include the content if and only if the CmsToCoSign also includes the content",
            "nullable": true
          },
          "certificate": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "signaturePolicyId": {
            "type": "string",
            "format": "uuid"
          },
          "securityContextId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "callbackArgument": {
            "type": "string",
            "nullable": true
          },
          "ignoreRevocationStatusUnknown": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CadesSignaturePostResponse": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "nullable": true
          },
          "certificate": {
            "$ref": "#/components/schemas/CertificateModel"
          },
          "toSignData": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "toSignHash": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "digestAlgorithmOid": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CadesSignaturePostSignedBytesRequest": {
        "type": "object",
        "properties": {
          "signature": {
            "type": "string",
            "format": "byte",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CadesSignaturePostSignedBytesResponse": {
        "type": "object",
        "properties": {
          "cms": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "callbackArgument": {
            "type": "string",
            "nullable": true
          },
          "certificate": {
            "$ref": "#/components/schemas/CertificateModel"
          }
        },
        "additionalProperties": false
      },
      "CadesSignerModel": {
        "type": "object",
        "properties": {
          "messageDigest": {
            "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
          },
          "signature": {
            "$ref": "#/components/schemas/SignatureAlgorithmAndValueModel"
          },
          "signaturePolicy": {
            "$ref": "#/components/schemas/SignaturePolicyIdentifierModel"
          },
          "certificate": {
            "$ref": "#/components/schemas/CertificateModel"
          },
          "signingTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "certifiedDateReference": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "timestamps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CadesTimestampModel"
            },
            "nullable": true
          },
          "archiveTimestamps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CadesTimestampModel"
            },
            "nullable": true
          },
          "validationResults": {
            "$ref": "#/components/schemas/ValidationResultsModel"
          },
          "commitmentType": {
            "$ref": "#/components/schemas/CommitmentTypeModel"
          },
          "bStamp": {
            "$ref": "#/components/schemas/SignerBStampModel"
          }
        },
        "additionalProperties": false
      },
      "CadesTimestampModel": {
        "type": "object",
        "properties": {
          "genTime": {
            "type": "string",
            "format": "date-time"
          },
          "serialNumber": {
            "type": "string",
            "nullable": true
          },
          "messageImprint": {
            "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
          },
          "encapsulatedContentType": {
            "$ref": "#/components/schemas/CmsContentTypes"
          },
          "hasEncapsulatedContent": {
            "type": "boolean"
          },
          "signers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CadesSignerModel"
            },
            "nullable": true
          },
          "encapsulatedContent": {
            "$ref": "#/components/schemas/FileModel"
          },
          "auditPackage": {
            "$ref": "#/components/schemas/FileModel"
          },
          "bStamp": {
            "$ref": "#/components/schemas/SignatureBStampModel"
          }
        },
        "additionalProperties": false
      },
      "CertificateModel": {
        "type": "object",
        "properties": {
          "subjectName": {
            "$ref": "#/components/schemas/NameModel"
          },
          "issuerName": {
            "$ref": "#/components/schemas/NameModel"
          },
          "issuerDisplayName": {
            "type": "string",
            "nullable": true
          },
          "serialNumber": {
            "type": "string",
            "nullable": true
          },
          "validityStart": {
            "type": "string",
            "format": "date-time"
          },
          "validityEnd": {
            "type": "string",
            "format": "date-time"
          },
          "issuer": {
            "$ref": "#/components/schemas/CertificateModel"
          },
          "pkiBrazil": {
            "$ref": "#/components/schemas/PkiBrazilCertificateModel"
          },
          "pkiItaly": {
            "$ref": "#/components/schemas/PkiItalyCertificateModel"
          },
          "binaryThumbprintSHA256": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "thumbprint": {
            "type": "string",
            "description": "SHA-1 thumbprint of the certificate (hex encoded)",
            "nullable": true
          },
          "thumbprintSHA256": {
            "type": "string",
            "description": "SHA-256 thumbprint of the certificate (hex encoded)",
            "nullable": true
          },
          "subjectCommonName": {
            "type": "string",
            "description": "The CN= part of the subject name",
            "nullable": true
          },
          "subjectDisplayName": {
            "type": "string",
            "description": "Name of the subject, i.e., of the individual to which the certificate was issued (see remarks to understand differences to `SubjectCommonName`)",
            "nullable": true
          },
          "subjectIdentifier": {
            "type": "string",
            "description": "The identifier of the subject",
            "nullable": true
          },
          "emailAddress": {
            "type": "string",
            "description": "The subject's email address",
            "nullable": true
          },
          "organization": {
            "type": "string",
            "description": "The organization of the subject",
            "nullable": true
          },
          "organizationIdentifier": {
            "type": "string",
            "description": "The subject organization's identifier",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CertificateReferenceModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "content": {
            "type": "string",
            "format": "byte",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CertificateRequirement": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/CertificateRequirementTypes"
          },
          "argument": {
            "type": "string",
            "description": "The argument for the requirement. Please refer to the `CertificateRequirementTypes` enum for the argument syntax for each requirement type.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CertificateRequirementTypes": {
        "enum": [
          "CryptoDevice",
          "Cpf"
        ],
        "type": "string"
      },
      "CertificateSummary": {
        "type": "object",
        "properties": {
          "thumbprint": {
            "type": "string",
            "description": "SHA-1 thumbprint of the certificate (hex encoded)",
            "nullable": true
          },
          "thumbprintSHA256": {
            "type": "string",
            "description": "SHA-256 thumbprint of the certificate (hex encoded)",
            "nullable": true
          },
          "subjectCommonName": {
            "type": "string",
            "description": "The CN= part of the subject name",
            "nullable": true
          },
          "subjectDisplayName": {
            "type": "string",
            "description": "Name of the subject, i.e., of the individual to which the certificate was issued (see remarks to understand differences to `SubjectCommonName`)",
            "nullable": true
          },
          "subjectIdentifier": {
            "type": "string",
            "description": "The identifier of the subject",
            "nullable": true
          },
          "emailAddress": {
            "type": "string",
            "description": "The subject's email address",
            "nullable": true
          },
          "organization": {
            "type": "string",
            "description": "The organization of the subject",
            "nullable": true
          },
          "organizationIdentifier": {
            "type": "string",
            "description": "The subject organization's identifier",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CertifiedAttributeModel": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/CertifiedAttributeTypes"
          },
          "role": {
            "$ref": "#/components/schemas/RoleAttributeModel"
          }
        },
        "additionalProperties": false
      },
      "CertifiedAttributeTypes": {
        "enum": [
          "Role"
        ],
        "type": "string"
      },
      "CmsContentTypes": {
        "enum": [
          "Data",
          "SignedData",
          "EnvelopedData",
          "DigestedData",
          "EncryptedData",
          "AuthenticatedData",
          "TstInfo"
        ],
        "type": "string"
      },
      "CmsSignatureOptions": {
        "type": "object",
        "properties": {
          "detached": {
            "type": "boolean"
          },
          "dataFile": {
            "$ref": "#/components/schemas/FileReferenceModel"
          },
          "dataHashes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ColorModel": {
        "type": "object",
        "properties": {
          "red": {
            "type": "integer",
            "format": "int32"
          },
          "green": {
            "type": "integer",
            "format": "int32"
          },
          "blue": {
            "type": "integer",
            "format": "int32"
          },
          "alpha": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommitmentTypeModel": {
        "type": "object",
        "properties": {
          "oid": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CompleteAuthenticationRequest": {
        "required": [
          "certificate",
          "signature",
          "state"
        ],
        "type": "object",
        "properties": {
          "state": {
            "minLength": 1,
            "type": "string"
          },
          "certificate": {
            "type": "string",
            "format": "byte"
          },
          "signature": {
            "type": "string",
            "format": "byte"
          }
        },
        "additionalProperties": false
      },
      "CompleteAuthenticationResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "failure": {
            "$ref": "#/components/schemas/AuthenticationFailures"
          },
          "certificate": {
            "$ref": "#/components/schemas/CertificateModel"
          },
          "validationResults": {
            "$ref": "#/components/schemas/ValidationResultsModel"
          }
        },
        "additionalProperties": false
      },
      "CompleteBioSessionRequest": {
        "required": [
          "ticket"
        ],
        "type": "object",
        "properties": {
          "ticket": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CompleteSignatureRequest": {
        "type": "object",
        "properties": {
          "signature": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "forceBlobResult": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CompleteSignatureRequestV2": {
        "required": [
          "signature",
          "state"
        ],
        "type": "object",
        "properties": {
          "state": {
            "minLength": 1,
            "type": "string"
          },
          "signature": {
            "type": "string",
            "format": "byte"
          }
        },
        "additionalProperties": false
      },
      "CreateSignatureSessionRequest": {
        "type": "object",
        "properties": {
          "returnUrl": {
            "maxLength": 1024,
            "type": "string",
            "description": "The absolute URL to which the user will be redirected upon completion of the process. Omit if the signature page will be openened on a new tab.",
            "nullable": true
          },
          "securityContextId": {
            "type": "string",
            "description": "The ID of a security context to be used to validate the user's choice of certificate. If omitted, the default security context configured on the subscription will be assumed.",
            "format": "uuid",
            "nullable": true
          },
          "callbackArgument": {
            "maxLength": 1024,
            "type": "string",
            "description": "A callback argument that can be used to store any app-specific state. This parameter can be retrieved later when fetching the session's results, and is stored in encrypted form at all times.",
            "nullable": true
          },
          "enableBackgroundProcessing": {
            "type": "boolean",
            "description": "By default, users are kept waiting while documents are processed before being redirected back to your application. Specify `true` to redirect users without waiting\r\n(your application must then be ready to handle the case of a signature session whose documents are not readily available for download!)."
          },
          "disableDownloads": {
            "type": "boolean",
            "description": "By default, users can download the files after signing, before returning to your app. If you feel like this feature is hindering the process in any way, pass `true`\r\nto disable downloading of signed files. Users will only be able to download signed files back on your app."
          },
          "cloudCertificatesOnly": {
            "type": "boolean",
            "description": "By default, users may sign with either a local certificate (through Web PKI) or a cloud certificate. Pass `true` to accept cloud certificates only: the\r\nsignature page then goes straight to the cloud certificate provider selection and local certificates are refused. The session can only be created if at\r\nleast one cloud certificate provider is configured on the instance."
          },
          "documentMetadata": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            },
            "description": "Metadata to be added to each document that the user uploads on the session (if uploading is allowed on the session)",
            "nullable": true
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SignatureSessionDocumentData"
            },
            "description": "Documents to be signed during the session. If omitted, the user will be able to upload his own documents to the session.",
            "nullable": true
          },
          "certificateRequirements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CertificateRequirement"
            },
            "description": "A list of requirements that the certificate must meet in order to be used for signature of the documents on this session",
            "nullable": true
          },
          "pdfSignatureOptions": {
            "$ref": "#/components/schemas/PdfSignatureOptions"
          },
          "cmsSignatureOptions": {
            "$ref": "#/components/schemas/CmsSignatureOptions"
          }
        },
        "additionalProperties": false
      },
      "CreateSignatureSessionResponse": {
        "type": "object",
        "properties": {
          "sessionId": {
            "type": "string",
            "description": "ID of the signature session created",
            "format": "uuid"
          },
          "redirectUrl": {
            "type": "string",
            "description": "URL to which the user must be redirected",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DatavalidSessionModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "cpf": {
            "type": "string",
            "nullable": true
          },
          "processed": {
            "type": "boolean"
          },
          "timedOut": {
            "type": "boolean"
          },
          "faceBiometricsAvailable": {
            "type": "boolean",
            "nullable": true
          },
          "faceBiometricsSimilarity": {
            "type": "number",
            "format": "float",
            "nullable": true
          },
          "transactionId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "preparedImageId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "violations": {
            "type": "string",
            "nullable": true
          },
          "httpErrorCode": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DigestAlgorithmAndValueModel": {
        "type": "object",
        "properties": {
          "algorithm": {
            "$ref": "#/components/schemas/DigestAlgorithms"
          },
          "value": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "hexValue": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DigestAlgorithms": {
        "enum": [
          "MD5",
          "SHA1",
          "SHA256",
          "SHA384",
          "SHA512",
          "SHA3_256"
        ],
        "type": "string"
      },
      "DocumentFileModel": {
        "type": "object",
        "properties": {
          "mimeType": {
            "type": "string",
            "description": "MIME type of the file",
            "nullable": true
          },
          "content": {
            "type": "string",
            "description": "File's content (encoded as Base64 if using the REST API directly)",
            "format": "byte",
            "nullable": true
          },
          "blobToken": {
            "type": "string",
            "description": "Token granting access to reference a file stored on the server side",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "When submitting a file to the API, this can be used as a way to reference the file. The URL must support the GET method and it should have\r\nall the necessary parameters to grant access without any additional headers. When the API is returning a file, this field holds a temporary\r\nabsolute URL for downloading the file, expiring after a short period of time (normally 1 hour), so DO NOT STORE IT.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Original file name or suggested file name for the signed file (depending on the case)",
            "nullable": true
          },
          "length": {
            "type": "integer",
            "description": "Length in bytes of the file",
            "format": "int64"
          },
          "contentType": {
            "type": "string",
            "nullable": true,
            "deprecated": true
          },
          "location": {
            "type": "string",
            "nullable": true,
            "deprecated": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a document's file, either its original file or the signed file"
      },
      "DocumentKeyModel": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "The key used to lookup the document on the validation page, unformatted (digits and letters only)",
            "nullable": true
          },
          "formattedKey": {
            "type": "string",
            "description": "The key used to lookup the document on the validation page, in formatted form",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DocumentKeyQueryResponse": {
        "type": "object",
        "properties": {
          "found": {
            "type": "boolean"
          },
          "formattedKey": {
            "type": "string",
            "nullable": true
          },
          "hasDocument": {
            "type": "boolean"
          },
          "provisionalMetadata": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            },
            "nullable": true
          },
          "document": {
            "$ref": "#/components/schemas/DocumentModel"
          }
        },
        "additionalProperties": false
      },
      "DocumentKeySummary": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "The key used to lookup the document on the validation page, unformatted (digits and letters only)",
            "nullable": true
          },
          "formattedKey": {
            "type": "string",
            "description": "The key used to lookup the document on the validation page, in formatted form",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DocumentModel": {
        "type": "object",
        "properties": {
          "signers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SignerSummary"
            },
            "nullable": true
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            },
            "nullable": true
          },
          "signatureSessionIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "id": {
            "type": "string",
            "description": "The ID of the document",
            "format": "uuid"
          },
          "key": {
            "type": "string",
            "description": "The key used to lookup this document on the validation page, unformatted (digits and letters only)",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "description": "Date and time the document was created",
            "format": "date-time"
          },
          "subscriptionId": {
            "type": "string",
            "description": "Subscription of the document",
            "format": "uuid"
          },
          "formattedKey": {
            "type": "string",
            "description": "The key used to lookup this document on the validation page, in formatted form",
            "nullable": true
          },
          "originalFile": {
            "$ref": "#/components/schemas/DocumentFileModel"
          },
          "markedFile": {
            "$ref": "#/components/schemas/DocumentFileModel"
          },
          "signedFile": {
            "$ref": "#/components/schemas/DocumentFileModel"
          },
          "signatureType": {
            "$ref": "#/components/schemas/SignatureTypes"
          },
          "availableUntil": {
            "type": "string",
            "description": "Date and time until which the document will be available for download",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DocumentQueryResponse": {
        "type": "object",
        "properties": {
          "found": {
            "type": "boolean"
          },
          "document": {
            "$ref": "#/components/schemas/DocumentModel"
          }
        },
        "additionalProperties": false
      },
      "DocumentStatus": {
        "enum": [
          "PendingSignature",
          "Processing",
          "Completed",
          "ProcessingError"
        ],
        "type": "string",
        "description": "Status of the document:\r\n`PendingSignature` (document was given by the app but not yet signed),\r\n`Processing` (document is being processed),\r\n`Completed` (document has been signed and is ready for download) or\r\n`ProcessingError` (a rare condition occurred during the background processing of the document)"
      },
      "DocumentSummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the document",
            "format": "uuid"
          },
          "key": {
            "type": "string",
            "description": "The key used to lookup this document on the validation page, unformatted (digits and letters only)",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "description": "Date and time the document was created",
            "format": "date-time"
          },
          "subscriptionId": {
            "type": "string",
            "description": "Subscription of the document",
            "format": "uuid"
          },
          "formattedKey": {
            "type": "string",
            "description": "The key used to lookup this document on the validation page, in formatted form",
            "nullable": true
          },
          "originalFile": {
            "$ref": "#/components/schemas/DocumentFileModel"
          },
          "markedFile": {
            "$ref": "#/components/schemas/DocumentFileModel"
          },
          "signedFile": {
            "$ref": "#/components/schemas/DocumentFileModel"
          },
          "signatureType": {
            "$ref": "#/components/schemas/SignatureTypes"
          },
          "availableUntil": {
            "type": "string",
            "description": "Date and time until which the document will be available for download",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DocumentSummaryPaginatedSearchResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentSummary"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ErrorModelV2": {
        "type": "object",
        "properties": {
          "validationResults": {
            "$ref": "#/components/schemas/ValidationResultsModel"
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "details": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExtendArchivalSignatureRequest": {
        "required": [
          "file"
        ],
        "type": "object",
        "properties": {
          "file": {
            "$ref": "#/components/schemas/FileReferenceModel"
          },
          "securityContextId": {
            "type": "string",
            "description": "Security context id for timestamp generation. If not specified, uses the subscription's default security context",
            "format": "uuid",
            "nullable": true
          },
          "returnTimestampModels": {
            "type": "boolean",
            "description": "Whether to return detailed timestamp information in the response. Default is false"
          },
          "minActiveTimestampValidityDays": {
            "type": "integer",
            "description": "Minimum number of days before timestamp expiration to trigger extension. \r\nIf the current timestamp is valid for more than this value, no extension is performed.\r\nIf not specified, uses the subscription's default value",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request for extending an archive timestamp (AD-RA signature)"
      },
      "ExtendArchivalSignatureResponse": {
        "type": "object",
        "properties": {
          "extended": {
            "type": "boolean",
            "description": "Indicates whether a new archive timestamp was added.\r\nFalse if the current timestamp is still valid for more than MinDaysToExtend days"
          },
          "file": {
            "$ref": "#/components/schemas/FileReferenceModel"
          },
          "activeTimestampBefore": {
            "$ref": "#/components/schemas/ArchiveTimestampInfo"
          },
          "activeTimestampAfter": {
            "$ref": "#/components/schemas/ArchiveTimestampInfo"
          },
          "daysUntilExpiration": {
            "type": "integer",
            "description": "Number of days until the current timestamp (or new timestamp if extended) expires",
            "format": "int32"
          },
          "recommendedExtensionDate": {
            "type": "string",
            "description": "Recommended date for the next extension operation, calculated as (ValidUntil - MinDaysToExtend).\r\nExtension should be performed before this date to maintain uninterrupted validity",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Response for archive timestamp extension operation"
      },
      "FaceCaptureProviders": {
        "enum": [
          "FaceTecLiveness3d",
          "FortFaceSdkLiveness"
        ],
        "type": "string"
      },
      "FaceLivenessProviders": {
        "enum": [
          "FaceTecLiveness3d",
          "FortFaceSdkLiveness",
          "FaceTecLiveness2d"
        ],
        "type": "string"
      },
      "FaceLivenessSessionStatusInfo": {
        "type": "object",
        "properties": {
          "provider": {
            "$ref": "#/components/schemas/FaceLivenessProviders"
          },
          "success": {
            "type": "boolean",
            "nullable": true
          },
          "attemptCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "FaceTecAttemptModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "hasLegacyRawResponseBlob": {
            "type": "boolean"
          },
          "jsonStorageBlobVersion": {
            "type": "integer",
            "format": "int32"
          },
          "faceScanHash": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "idScanHash": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "success": {
            "type": "boolean"
          },
          "serverSessionId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FaceTecSessionModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "transactionId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "dateStarted": {
            "type": "string",
            "format": "date-time"
          },
          "dateSucceeded": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "attempts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaceTecAttemptModel"
            },
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/FaceTecSessionTypes"
          },
          "parentId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "migratedFromMongo": {
            "type": "boolean"
          },
          "appId": {
            "type": "string",
            "nullable": true
          },
          "installationId": {
            "type": "string",
            "nullable": true
          },
          "clientIpAddress": {
            "type": "string",
            "nullable": true
          },
          "deviceSdkVersion": {
            "type": "string",
            "nullable": true
          },
          "coreServerSdkVersion": {
            "type": "string",
            "nullable": true
          },
          "customServerSdkVersion": {
            "type": "string",
            "nullable": true
          },
          "platform": {
            "type": "string",
            "nullable": true
          },
          "deviceModel": {
            "type": "string",
            "nullable": true
          },
          "userAgent": {
            "type": "string",
            "nullable": true
          },
          "hasIdScan": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "FaceTecSessionTypes": {
        "enum": [
          "Liveness3d",
          "IdScanOnly",
          "Liveness3dMatch2d",
          "Liveness3dMatch3d",
          "IdScanMatch3d2d"
        ],
        "type": "string"
      },
      "FileModel": {
        "type": "object",
        "properties": {
          "mimeType": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "blobToken": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FileReferenceModel": {
        "type": "object",
        "properties": {
          "mimeType": {
            "type": "string",
            "description": "MIME type of the file",
            "nullable": true
          },
          "content": {
            "type": "string",
            "description": "File's content (encoded as Base64 if using the REST API directly)",
            "format": "byte",
            "nullable": true
          },
          "blobToken": {
            "type": "string",
            "description": "Token granting access to reference a file stored on the server side",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "When submitting a file to the API, this can be used as a way to reference the file. The URL must support the GET method and it should have\r\nall the necessary parameters to grant access without any additional headers. When the API is returning a file, this field holds a temporary\r\nabsolute URL for downloading the file, expiring after a short period of time (normally 1 hour), so DO NOT STORE IT.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Original file name or suggested file name for the signed file (depending on the case)",
            "nullable": true
          },
          "length": {
            "type": "integer",
            "description": "Length in bytes of the file",
            "format": "int64"
          },
          "contentType": {
            "type": "string",
            "nullable": true,
            "deprecated": true
          },
          "location": {
            "type": "string",
            "nullable": true,
            "deprecated": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a file, either submitted to the API or returned by it."
      },
      "FortFaceActions": {
        "enum": [
          "Enroll",
          "Identify",
          "Search",
          "Liveness",
          "UpdateEnroll",
          "DeleteEnroll",
          "Document",
          "Capture"
        ],
        "type": "string"
      },
      "FortFaceContexts": {
        "enum": [
          "Sdk",
          "BackOffice"
        ],
        "type": "string"
      },
      "FortFaceSessionModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "providerSessionId": {
            "type": "string",
            "nullable": true
          },
          "action": {
            "$ref": "#/components/schemas/FortFaceActions"
          },
          "context": {
            "$ref": "#/components/schemas/FortFaceContexts"
          },
          "dateStarted": {
            "type": "string",
            "format": "date-time"
          },
          "dateCompleted": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "forbidden": {
            "type": "boolean"
          },
          "faceOcclusionDetected": {
            "type": "boolean",
            "nullable": true
          },
          "identityRank": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "success": {
            "type": "boolean"
          },
          "jsonStorageBlobVersion": {
            "type": "integer",
            "format": "int32"
          },
          "preparedFaceIdentityVerificationImageId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FullXmlSignaturePostRequest": {
        "type": "object",
        "properties": {
          "xml": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "signatureElementId": {
            "type": "string",
            "nullable": true
          },
          "signatureElementLocation": {
            "$ref": "#/components/schemas/XmlElementLocationModel"
          },
          "certificate": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "signaturePolicyId": {
            "type": "string",
            "format": "uuid"
          },
          "securityContextId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "callbackArgument": {
            "type": "string",
            "nullable": true
          },
          "ignoreRevocationStatusUnknown": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GeneralNameChoices": {
        "enum": [
          "OtherName",
          "Rfc822Name",
          "DnsName",
          "X400Address",
          "DirectoryName",
          "EdiPartyName",
          "Uri",
          "IPAddress",
          "RegisteredId"
        ],
        "type": "string"
      },
      "GeneralNameModel": {
        "type": "object",
        "properties": {
          "choice": {
            "$ref": "#/components/schemas/GeneralNameChoices"
          },
          "directoryName": {
            "$ref": "#/components/schemas/NameModel"
          },
          "otherName": {
            "$ref": "#/components/schemas/OtherNameModel"
          },
          "uri": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GeolocationCaptureModel": {
        "type": "object",
        "properties": {
          "latitude": {
            "type": "string",
            "nullable": true
          },
          "longitude": {
            "type": "string",
            "nullable": true
          },
          "accuracy": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "HolderTypes": {
        "enum": [
          "EntityName",
          "BaseCertificateID"
        ],
        "type": "string"
      },
      "IdentificationDocumentCaptureSessionInfo": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "matchedFace": {
            "type": "boolean",
            "nullable": true
          },
          "matchedFaceLevel": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "acceptedWithWaivedCriteria": {
            "type": "boolean",
            "description": "Whether the captured document was accepted with one or more acceptance criteria waived - a criterion\r\nthat would normally have to pass was not enforced. The session's result report details them."
          }
        },
        "additionalProperties": false
      },
      "IdentificationDocumentCaptureSessionStatusModel": {
        "type": "object",
        "properties": {
          "subjectIdentifier": {
            "type": "string",
            "nullable": true
          },
          "idCaptureStatus": {
            "$ref": "#/components/schemas/IdentificationDocumentCaptureSessionInfo"
          },
          "sessionId": {
            "type": "string",
            "format": "uuid"
          },
          "success": {
            "type": "boolean",
            "nullable": true
          },
          "resultDataAvailable": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "IdentificationDocumentData": {
        "type": "object",
        "properties": {
          "frontImage": {
            "$ref": "#/components/schemas/BlobModel"
          },
          "backImage": {
            "$ref": "#/components/schemas/BlobModel"
          },
          "faceCropImage": {
            "$ref": "#/components/schemas/BlobModel"
          },
          "file": {
            "$ref": "#/components/schemas/BlobModel"
          },
          "fields": {
            "$ref": "#/components/schemas/IdentificationDocumentFields"
          }
        },
        "additionalProperties": false
      },
      "IdentificationDocumentFields": {
        "type": "object",
        "properties": {
          "documentCountry": {
            "type": "string",
            "nullable": true
          },
          "documentType": {
            "type": "string",
            "nullable": true
          },
          "fullName": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "cpf": {
            "type": "string",
            "nullable": true
          },
          "idNumber": {
            "type": "string",
            "nullable": true
          },
          "idNumber2": {
            "type": "string",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateOfIssue": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateOfExpiration": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InspectSignatureFailures": {
        "enum": [
          "DataFileRequired"
        ],
        "type": "string"
      },
      "InspectSignatureRequest": {
        "required": [
          "file"
        ],
        "type": "object",
        "properties": {
          "file": {
            "$ref": "#/components/schemas/FileReferenceModel"
          },
          "validate": {
            "type": "boolean",
            "description": "Whether the signatures should be validated."
          },
          "securityContextId": {
            "type": "string",
            "description": "If validating signatures, optionally specify the ID of the security context to be used to validate signer certificates. If omitted, the\r\ncaller's default security is used.",
            "format": "uuid",
            "nullable": true
          },
          "ignoreRevocationStatusUnknown": {
            "type": "boolean"
          },
          "trustUncertifiedSigningTime": {
            "type": "boolean"
          },
          "dataFile": {
            "$ref": "#/components/schemas/FileReferenceModel"
          },
          "dataHashes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
            },
            "description": "If validating detached CMS/CAdES signatures, the detached data file must either be passed on `dataFile` or its digest(s) must be passed here. Pass\r\nat least the SHA-256 digest of the file (other digests may be necessary depending on the signature algorithm used by the signers).",
            "nullable": true
          },
          "extractEncapsulatedContent": {
            "type": "boolean",
            "description": "When `True`, if applicable, that is, if the signature file being opened is a CMS signature, the encapsulated content is returned\r\non the response. If not applicable, that is, if the signature file is not a CMS signature, this property is ignored."
          }
        },
        "additionalProperties": false
      },
      "InspectSignatureResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Wether the signature inspection operation was successful. If not, check `failure` for the reason."
          },
          "failure": {
            "$ref": "#/components/schemas/InspectSignatureFailures"
          },
          "missingDataHash": {
            "$ref": "#/components/schemas/DigestAlgorithms"
          },
          "signers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SignerModel"
            },
            "description": "Information about each signer found on the signed file. If the file is not signed, this will be empty.",
            "nullable": true
          },
          "document": {
            "$ref": "#/components/schemas/DocumentSummary"
          },
          "hasEncapsulatedContent": {
            "type": "boolean",
            "nullable": true
          },
          "encapsulatedContentType": {
            "$ref": "#/components/schemas/CmsContentTypes"
          },
          "encapsulatedContent": {
            "$ref": "#/components/schemas/FileReferenceModel"
          }
        },
        "additionalProperties": false
      },
      "LivenessSessionStatusModel": {
        "type": "object",
        "properties": {
          "faceLivenessStatus": {
            "$ref": "#/components/schemas/FaceLivenessSessionStatusInfo"
          },
          "idCaptureStatus": {
            "$ref": "#/components/schemas/IdentificationDocumentCaptureSessionInfo"
          },
          "sessionId": {
            "type": "string",
            "format": "uuid"
          },
          "success": {
            "type": "boolean",
            "nullable": true
          },
          "resultDataAvailable": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "MultipartUploadBeginResponse": {
        "type": "object",
        "properties": {
          "blobToken": {
            "type": "string",
            "nullable": true
          },
          "partSize": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "MultipartUploadEndRequest": {
        "required": [
          "partETags"
        ],
        "type": "object",
        "properties": {
          "partETags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "completeMD5": {
            "type": "string",
            "format": "byte",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NameModel": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "nullable": true
          },
          "organization": {
            "type": "string",
            "nullable": true
          },
          "organizationUnit": {
            "type": "string",
            "nullable": true
          },
          "dnQualifier": {
            "type": "string",
            "nullable": true
          },
          "stateName": {
            "type": "string",
            "nullable": true
          },
          "commonName": {
            "type": "string",
            "nullable": true
          },
          "serialNumber": {
            "type": "string",
            "nullable": true
          },
          "locality": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "surname": {
            "type": "string",
            "nullable": true
          },
          "givenName": {
            "type": "string",
            "nullable": true
          },
          "initials": {
            "type": "string",
            "nullable": true
          },
          "pseudonym": {
            "type": "string",
            "nullable": true
          },
          "generationQualifier": {
            "type": "string",
            "nullable": true
          },
          "emailAddress": {
            "type": "string",
            "nullable": true
          },
          "allValues": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            },
            "nullable": true
          },
          "dnString": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NamespaceModel": {
        "type": "object",
        "properties": {
          "prefix": {
            "type": "string",
            "nullable": true
          },
          "uri": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OpenCadesSignatureRequestModel": {
        "required": [
          "file"
        ],
        "type": "object",
        "properties": {
          "extractEncapsulatedContent": {
            "type": "boolean"
          },
          "file": {
            "$ref": "#/components/schemas/FileModel"
          },
          "validate": {
            "type": "boolean"
          },
          "auditPackage": {
            "$ref": "#/components/schemas/AuditPackageOptions"
          },
          "defaultSignaturePolicyId": {
            "type": "string",
            "description": "Default signature policy to be used to validate signature. This value is used to validate signatures without an\r\nexplicit validation policy attribute and also signatures with an explicit validation policy attribute that is not\r\namong the policies specified in AcceptableExplicitPolicies. In order to accept only a certain list of explicit\r\npolicies, this value should be omitted.",
            "format": "uuid",
            "nullable": true
          },
          "acceptableExplicitPolicies": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of explicit policies that should be accepted when validating signatures with a explicit validation policy attribute.\r\nIf a signature being validated has an explicit validation policy attribute which is not among the values passed, then the\r\npolicy specified in DefaultSignaturePolicyId is used. In order to accept only the given list of explicit policies, omit\r\nthe value DefaultSignaturePolicyId.",
            "nullable": true
          },
          "securityContextId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "ignoreRevocationStatusUnknown": {
            "type": "boolean",
            "nullable": true
          },
          "trustUncertifiedSigningTime": {
            "type": "boolean"
          },
          "dataHashes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OpenSignatureRequestModel": {
        "required": [
          "file"
        ],
        "type": "object",
        "properties": {
          "file": {
            "$ref": "#/components/schemas/FileModel"
          },
          "validate": {
            "type": "boolean"
          },
          "auditPackage": {
            "$ref": "#/components/schemas/AuditPackageOptions"
          },
          "defaultSignaturePolicyId": {
            "type": "string",
            "description": "Default signature policy to be used to validate signature. This value is used to validate signatures without an\r\nexplicit validation policy attribute and also signatures with an explicit validation policy attribute that is not\r\namong the policies specified in AcceptableExplicitPolicies. In order to accept only a certain list of explicit\r\npolicies, this value should be omitted.",
            "format": "uuid",
            "nullable": true
          },
          "acceptableExplicitPolicies": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of explicit policies that should be accepted when validating signatures with a explicit validation policy attribute.\r\nIf a signature being validated has an explicit validation policy attribute which is not among the values passed, then the\r\npolicy specified in DefaultSignaturePolicyId is used. In order to accept only the given list of explicit policies, omit\r\nthe value DefaultSignaturePolicyId.",
            "nullable": true
          },
          "securityContextId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "ignoreRevocationStatusUnknown": {
            "type": "boolean",
            "nullable": true
          },
          "trustUncertifiedSigningTime": {
            "type": "boolean"
          },
          "dataHashes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OpenXmlSignatureRequestModel": {
        "required": [
          "file"
        ],
        "type": "object",
        "properties": {
          "idResolutionTable": {
            "$ref": "#/components/schemas/XmlIdResolutionTableModel"
          },
          "file": {
            "$ref": "#/components/schemas/FileModel"
          },
          "validate": {
            "type": "boolean"
          },
          "auditPackage": {
            "$ref": "#/components/schemas/AuditPackageOptions"
          },
          "defaultSignaturePolicyId": {
            "type": "string",
            "description": "Default signature policy to be used to validate signature. This value is used to validate signatures without an\r\nexplicit validation policy attribute and also signatures with an explicit validation policy attribute that is not\r\namong the policies specified in AcceptableExplicitPolicies. In order to accept only a certain list of explicit\r\npolicies, this value should be omitted.",
            "format": "uuid",
            "nullable": true
          },
          "acceptableExplicitPolicies": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of explicit policies that should be accepted when validating signatures with a explicit validation policy attribute.\r\nIf a signature being validated has an explicit validation policy attribute which is not among the values passed, then the\r\npolicy specified in DefaultSignaturePolicyId is used. In order to accept only the given list of explicit policies, omit\r\nthe value DefaultSignaturePolicyId.",
            "nullable": true
          },
          "securityContextId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "ignoreRevocationStatusUnknown": {
            "type": "boolean",
            "nullable": true
          },
          "trustUncertifiedSigningTime": {
            "type": "boolean"
          },
          "dataHashes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OtherNameModel": {
        "type": "object",
        "properties": {
          "typeId": {
            "type": "string",
            "nullable": true
          },
          "encoded": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "displayHtml": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PadesCertificationLevel": {
        "enum": [
          "NotCertified",
          "CertifiedFormFilling",
          "CertifiedFormFillingAndAnnotations",
          "CertifiedNoChangesAllowed"
        ],
        "type": "string"
      },
      "PadesHorizontalAlign": {
        "enum": [
          "Left",
          "Center",
          "Right"
        ],
        "type": "string"
      },
      "PadesMeasurementUnits": {
        "enum": [
          "Centimeters",
          "PdfPoints"
        ],
        "type": "string"
      },
      "PadesPageOptimizationModel": {
        "type": "object",
        "properties": {
          "paperSize": {
            "$ref": "#/components/schemas/PaperSizes"
          },
          "customPaperSize": {
            "$ref": "#/components/schemas/PadesSizeModel"
          },
          "pageOrientation": {
            "$ref": "#/components/schemas/PageOrientations"
          }
        },
        "additionalProperties": false
      },
      "PadesSignatureModel": {
        "type": "object",
        "properties": {
          "signers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PadesSignerModel"
            },
            "nullable": true
          },
          "auditPackage": {
            "$ref": "#/components/schemas/FileModel"
          },
          "bStamp": {
            "$ref": "#/components/schemas/SignatureBStampModel"
          }
        },
        "additionalProperties": false
      },
      "PadesSignaturePostRequestV1": {
        "required": [
          "pdfToSign"
        ],
        "type": "object",
        "properties": {
          "pdfToSign": {
            "type": "string",
            "format": "byte"
          },
          "visualRepresentation": {
            "$ref": "#/components/schemas/PadesVisualRepresentationModel"
          },
          "pdfMarks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PdfMarkModel"
            },
            "nullable": true
          },
          "bypassMarksIfSigned": {
            "type": "boolean"
          },
          "measurementUnits": {
            "$ref": "#/components/schemas/PadesMeasurementUnits"
          },
          "pageOptimization": {
            "$ref": "#/components/schemas/PadesPageOptimizationModel"
          },
          "customSignatureFieldName": {
            "type": "string",
            "nullable": true
          },
          "certificationLevel": {
            "$ref": "#/components/schemas/PadesCertificationLevel"
          },
          "reason": {
            "type": "string",
            "nullable": true
          },
          "certificate": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "signaturePolicyId": {
            "type": "string",
            "format": "uuid"
          },
          "securityContextId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "callbackArgument": {
            "type": "string",
            "nullable": true
          },
          "ignoreRevocationStatusUnknown": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PadesSignaturePostRequestV2": {
        "required": [
          "pdfToSign"
        ],
        "type": "object",
        "properties": {
          "pdfToSign": {
            "$ref": "#/components/schemas/FileModel"
          },
          "visualRepresentation": {
            "$ref": "#/components/schemas/PadesVisualRepresentationModel"
          },
          "pdfMarks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PdfMarkModel"
            },
            "nullable": true
          },
          "bypassMarksIfSigned": {
            "type": "boolean"
          },
          "measurementUnits": {
            "$ref": "#/components/schemas/PadesMeasurementUnits"
          },
          "pageOptimization": {
            "$ref": "#/components/schemas/PadesPageOptimizationModel"
          },
          "customSignatureFieldName": {
            "type": "string",
            "nullable": true
          },
          "certificationLevel": {
            "$ref": "#/components/schemas/PadesCertificationLevel"
          },
          "reason": {
            "type": "string",
            "nullable": true
          },
          "certificate": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "signaturePolicyId": {
            "type": "string",
            "format": "uuid"
          },
          "securityContextId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "callbackArgument": {
            "type": "string",
            "nullable": true
          },
          "ignoreRevocationStatusUnknown": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PadesSignaturePostResponse": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "nullable": true
          },
          "certificate": {
            "$ref": "#/components/schemas/CertificateModel"
          },
          "toSignData": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "toSignHash": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "digestAlgorithmOid": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PadesSignaturePostSignedBytesRequest": {
        "type": "object",
        "properties": {
          "signature": {
            "type": "string",
            "format": "byte",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PadesSignaturePostSignedBytesResponse": {
        "type": "object",
        "properties": {
          "signedPdf": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "callbackArgument": {
            "type": "string",
            "nullable": true
          },
          "certificate": {
            "$ref": "#/components/schemas/CertificateModel"
          }
        },
        "additionalProperties": false
      },
      "PadesSignerModel": {
        "type": "object",
        "properties": {
          "isDocumentTimestamp": {
            "type": "boolean"
          },
          "signatureFieldName": {
            "type": "string",
            "nullable": true
          },
          "hasLtv": {
            "type": "boolean"
          },
          "messageDigest": {
            "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
          },
          "signature": {
            "$ref": "#/components/schemas/SignatureAlgorithmAndValueModel"
          },
          "signaturePolicy": {
            "$ref": "#/components/schemas/SignaturePolicyIdentifierModel"
          },
          "certificate": {
            "$ref": "#/components/schemas/CertificateModel"
          },
          "signingTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "certifiedDateReference": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "timestamps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CadesTimestampModel"
            },
            "nullable": true
          },
          "archiveTimestamps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CadesTimestampModel"
            },
            "nullable": true
          },
          "validationResults": {
            "$ref": "#/components/schemas/ValidationResultsModel"
          },
          "commitmentType": {
            "$ref": "#/components/schemas/CommitmentTypeModel"
          },
          "bStamp": {
            "$ref": "#/components/schemas/SignerBStampModel"
          }
        },
        "additionalProperties": false
      },
      "PadesSizeModel": {
        "type": "object",
        "properties": {
          "height": {
            "type": "number",
            "format": "double"
          },
          "width": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "PadesTextHorizontalAlign": {
        "enum": [
          "Left",
          "Right"
        ],
        "type": "string"
      },
      "PadesVerticalAlign": {
        "enum": [
          "Top",
          "Center",
          "Bottom"
        ],
        "type": "string"
      },
      "PadesVisualAutoPositioningModel": {
        "required": [
          "container",
          "signatureRectangleSize"
        ],
        "type": "object",
        "properties": {
          "container": {
            "$ref": "#/components/schemas/PadesVisualRectangleModel"
          },
          "signatureRectangleSize": {
            "$ref": "#/components/schemas/PadesSizeModel"
          },
          "horizontalDirection": {
            "$ref": "#/components/schemas/AutoPositioningHorizontalDirections"
          },
          "verticalDirection": {
            "$ref": "#/components/schemas/AutoPositioningVerticalDirections"
          },
          "rowSpacing": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "PadesVisualImageModel": {
        "type": "object",
        "properties": {
          "resource": {
            "$ref": "#/components/schemas/ResourceContentOrReference"
          },
          "opacity": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "horizontalAlign": {
            "$ref": "#/components/schemas/PadesHorizontalAlign"
          },
          "verticalAlign": {
            "$ref": "#/components/schemas/PadesVerticalAlign"
          }
        },
        "additionalProperties": false
      },
      "PadesVisualPositioningModel": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": "integer",
            "description": "Page on which to insert the visual representation. Negative values denote pages counted\r\nfrom the end of the document (-1 means last page). Zero denotes that, if no signatures are\r\npresent, a new page should be appended to the document.",
            "format": "int32"
          },
          "measurementUnits": {
            "$ref": "#/components/schemas/PadesMeasurementUnits"
          },
          "pageOptimization": {
            "$ref": "#/components/schemas/PadesPageOptimizationModel"
          },
          "auto": {
            "$ref": "#/components/schemas/PadesVisualAutoPositioningModel"
          },
          "manual": {
            "$ref": "#/components/schemas/PadesVisualRectangleModel"
          }
        },
        "additionalProperties": false
      },
      "PadesVisualRectangleModel": {
        "type": "object",
        "properties": {
          "left": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "top": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "right": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "bottom": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "width": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "height": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PadesVisualRepresentationModel": {
        "required": [
          "position"
        ],
        "type": "object",
        "properties": {
          "text": {
            "$ref": "#/components/schemas/PadesVisualTextModel"
          },
          "image": {
            "$ref": "#/components/schemas/PadesVisualImageModel"
          },
          "position": {
            "$ref": "#/components/schemas/PadesVisualPositioningModel"
          }
        },
        "additionalProperties": false
      },
      "PadesVisualTextModel": {
        "type": "object",
        "properties": {
          "fontSize": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "text": {
            "type": "string",
            "description": "Text to be written on the signature visual representation. The text may contain tags in the format {{tagName}} which will be\r\nsubstituted with according values. The supported tags are {{signerName}}, {{signerNationalId}}, {{signerEmail}} and {{issuerCommonName}}.",
            "nullable": true
          },
          "includeSigningTime": {
            "type": "boolean"
          },
          "horizontalAlign": {
            "$ref": "#/components/schemas/PadesTextHorizontalAlign"
          },
          "container": {
            "$ref": "#/components/schemas/PadesVisualRectangleModel"
          }
        },
        "additionalProperties": false
      },
      "PageOrientations": {
        "enum": [
          "Auto",
          "Portrait",
          "Landscape"
        ],
        "type": "string"
      },
      "PaginationOrders": {
        "enum": [
          "Asc",
          "Desc"
        ],
        "type": "string"
      },
      "PaperSizes": {
        "enum": [
          "Custom",
          "A0",
          "A1",
          "A2",
          "A3",
          "A4",
          "A5",
          "A6",
          "A7",
          "A8",
          "Letter",
          "Legal",
          "Ledger"
        ],
        "type": "string"
      },
      "PdfAddMarksRequest": {
        "required": [
          "file",
          "marks"
        ],
        "type": "object",
        "properties": {
          "file": {
            "$ref": "#/components/schemas/FileModel"
          },
          "marks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PdfMarkModel"
            }
          },
          "abortIfSigned": {
            "type": "boolean"
          },
          "measurementUnits": {
            "$ref": "#/components/schemas/PadesMeasurementUnits"
          },
          "pageOptimization": {
            "$ref": "#/components/schemas/PadesPageOptimizationModel"
          },
          "forceBlobResult": {
            "type": "boolean"
          },
          "preserveSignaturesVisualRepresentation": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PdfAddMarksResponse": {
        "type": "object",
        "properties": {
          "file": {
            "$ref": "#/components/schemas/FileModel"
          }
        },
        "additionalProperties": false
      },
      "PdfMarkElementModel": {
        "type": "object",
        "properties": {
          "elementType": {
            "$ref": "#/components/schemas/PdfMarkElementType"
          },
          "relativeContainer": {
            "$ref": "#/components/schemas/PadesVisualRectangleModel"
          },
          "rotation": {
            "type": "integer",
            "format": "int32"
          },
          "textSections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PdfTextSectionModel"
            },
            "nullable": true
          },
          "image": {
            "$ref": "#/components/schemas/PdfMarkImageModel"
          },
          "qrCodeData": {
            "type": "string",
            "nullable": true
          },
          "qrCodeDrawQuietZones": {
            "type": "boolean",
            "nullable": true
          },
          "align": {
            "$ref": "#/components/schemas/PadesHorizontalAlign"
          },
          "verticalAlign": {
            "$ref": "#/components/schemas/PadesVerticalAlign"
          },
          "opacity": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PdfMarkElementType": {
        "enum": [
          "Text",
          "Image",
          "QRCode"
        ],
        "type": "string"
      },
      "PdfMarkImageModel": {
        "type": "object",
        "properties": {
          "opacity": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "resource": {
            "$ref": "#/components/schemas/ResourceContentOrReference"
          }
        },
        "additionalProperties": false
      },
      "PdfMarkModel": {
        "required": [
          "elements"
        ],
        "type": "object",
        "properties": {
          "container": {
            "$ref": "#/components/schemas/PadesVisualRectangleModel"
          },
          "borderWidth": {
            "type": "number",
            "format": "double"
          },
          "borderColor": {
            "$ref": "#/components/schemas/ColorModel"
          },
          "backgroundColor": {
            "$ref": "#/components/schemas/ColorModel"
          },
          "elements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PdfMarkElementModel"
            }
          },
          "pageOption": {
            "$ref": "#/components/schemas/PdfMarkPageOptions"
          },
          "pageOptionNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PdfMarkPageOptions": {
        "enum": [
          "AllPages",
          "SinglePage",
          "SinglePageFromEnd",
          "NewPage"
        ],
        "type": "string"
      },
      "PdfSignatureOptions": {
        "type": "object",
        "properties": {
          "visualRepresentation": {
            "$ref": "#/components/schemas/PadesVisualRepresentationModel"
          },
          "measurementUnits": {
            "$ref": "#/components/schemas/PadesMeasurementUnits"
          },
          "pageOptimization": {
            "$ref": "#/components/schemas/PadesPageOptimizationModel"
          },
          "reason": {
            "type": "string",
            "nullable": true
          },
          "customSignatureFieldName": {
            "type": "string",
            "nullable": true
          },
          "bypassMarksIfSigned": {
            "type": "boolean"
          },
          "marks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PdfMarkModel"
            },
            "nullable": true
          },
          "certificationLevel": {
            "$ref": "#/components/schemas/PadesCertificationLevel"
          },
          "convertToPdfA": {
            "type": "boolean",
            "description": "Indicates whether the document should be converted to PDF/A during processing.\r\n\r\nNote: This conversion feature must be enabled and properly configured in the system.\r\nIf the conversion to PDF/A is not enabled in the current server, an ApiException\r\nwill be thrown when attempting to perform the conversion.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PdfTextSectionModel": {
        "required": [
          "text"
        ],
        "type": "object",
        "properties": {
          "text": {
            "type": "string"
          },
          "style": {
            "$ref": "#/components/schemas/PdfTextStyle"
          },
          "color": {
            "$ref": "#/components/schemas/ColorModel"
          },
          "fontSize": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PdfTextStyle": {
        "enum": [
          "Normal",
          "Bold",
          "Italic"
        ],
        "type": "string"
      },
      "PkiBrazilCertificateModel": {
        "type": "object",
        "properties": {
          "certificateType": {
            "$ref": "#/components/schemas/PkiBrazilCertificateTypes"
          },
          "cpf": {
            "type": "string",
            "nullable": true
          },
          "cnpj": {
            "type": "string",
            "nullable": true
          },
          "responsavel": {
            "type": "string",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "nullable": true
          },
          "companyName": {
            "type": "string",
            "nullable": true
          },
          "oabUF": {
            "type": "string",
            "nullable": true
          },
          "oabNumero": {
            "type": "string",
            "nullable": true
          },
          "rgEmissor": {
            "type": "string",
            "nullable": true
          },
          "rgEmissorUF": {
            "type": "string",
            "nullable": true
          },
          "rgNumero": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PkiBrazilCertificateTypes": {
        "enum": [
          "Unknown",
          "A1",
          "A2",
          "A3",
          "A4",
          "S1",
          "S2",
          "S3",
          "S4",
          "T3",
          "T4"
        ],
        "type": "string"
      },
      "PkiItalyCertificateModel": {
        "type": "object",
        "properties": {
          "certificateType": {
            "$ref": "#/components/schemas/PkiItalyCertificateTypes"
          },
          "codiceFiscale": {
            "type": "string",
            "nullable": true
          },
          "idCarta": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PkiItalyCertificateTypes": {
        "enum": [
          "Undefined",
          "Cns",
          "DigitalSignature"
        ],
        "type": "string"
      },
      "PrepareAuthenticationRequest": {
        "type": "object",
        "properties": {
          "securityContextId": {
            "type": "string",
            "description": "The ID of a security context to be used to validate the user's certificate. If omitted, the default security context configured on the subscription will be assumed.",
            "format": "uuid",
            "nullable": true
          },
          "ignoreRevocationStatusUnknown": {
            "type": "boolean",
            "description": "Whether a certificate whose revocation status cannot be assertained should still be considered valid. If omitted, the default configuration for the\r\nsubscription will be used.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PrepareAuthenticationResponse": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "nullable": true
          },
          "toSign": {
            "$ref": "#/components/schemas/SignatureParametersModel"
          },
          "toSignHash": {
            "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
          }
        },
        "additionalProperties": false
      },
      "PrepareSignatureFailures": {
        "enum": [
          "PdfAlreadySigned",
          "CorruptedPdf",
          "CertificateValidationFailed",
          "PasswordProtectedPdf",
          "PdfAConversionFailed",
          "PdfANonCompliant"
        ],
        "type": "string"
      },
      "PrepareSignatureRequest": {
        "required": [
          "certificate",
          "file"
        ],
        "type": "object",
        "properties": {
          "file": {
            "$ref": "#/components/schemas/FileReferenceModel"
          },
          "certificate": {
            "$ref": "#/components/schemas/CertificateReferenceModel"
          },
          "documentKey": {
            "type": "string",
            "nullable": true
          },
          "securityContextId": {
            "type": "string",
            "description": "The ID of a security context to be used to validate the user's choice of certificate. If omitted, the default security context configured on the subscription will be assumed.",
            "format": "uuid",
            "nullable": true
          },
          "signatureType": {
            "$ref": "#/components/schemas/SignatureTypes"
          },
          "cmsSignatureOptions": {
            "$ref": "#/components/schemas/CmsSignatureOptions"
          },
          "pdfSignatureOptions": {
            "$ref": "#/components/schemas/PdfSignatureOptions"
          },
          "xmlSignatureOptions": {
            "$ref": "#/components/schemas/XmlSignatureOptions"
          }
        },
        "additionalProperties": false
      },
      "PrepareSignatureResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "failure": {
            "$ref": "#/components/schemas/PrepareSignatureFailures"
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "toSign": {
            "$ref": "#/components/schemas/SignatureParametersModel"
          },
          "toSignHash": {
            "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
          },
          "validationResults": {
            "$ref": "#/components/schemas/ValidationResultsModel"
          },
          "certificate": {
            "$ref": "#/components/schemas/CertificateModel"
          }
        },
        "additionalProperties": false
      },
      "ResourceContentOrReference": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "mimeType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RoleAttributeModel": {
        "type": "object",
        "properties": {
          "authority": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeneralNameModel"
            },
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SessionCompletionStatus": {
        "type": "object",
        "properties": {
          "completed": {
            "type": "boolean",
            "description": "Whether the background processing of the signature session has completed"
          },
          "progress": {
            "type": "number",
            "description": "Progress of the background processing, ranging from 0 to 100",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "SignatureAlgorithmAndValueModel": {
        "type": "object",
        "properties": {
          "algorithmIdentifier": {
            "$ref": "#/components/schemas/SignatureAlgorithmIdentifier"
          },
          "value": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "hexValue": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SignatureAlgorithmIdentifier": {
        "type": "object",
        "properties": {
          "algorithm": {
            "$ref": "#/components/schemas/SignatureAlgorithms"
          },
          "oid": {
            "type": "string",
            "nullable": true
          },
          "digestAlgorithm": {
            "$ref": "#/components/schemas/DigestAlgorithms"
          },
          "digestAlgorithmOid": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SignatureAlgorithms": {
        "enum": [
          "MD5WithRSA",
          "SHA1WithRSA",
          "SHA256WithRSA",
          "SHA384WithRSA",
          "SHA512WithRSA"
        ],
        "type": "string"
      },
      "SignatureBStampModel": {
        "type": "object",
        "properties": {
          "documentDigests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
            },
            "nullable": true
          },
          "indexDigests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
            },
            "nullable": true
          },
          "indexFile": {
            "$ref": "#/components/schemas/FileModel"
          },
          "blockchain": {
            "$ref": "#/components/schemas/Blockchains"
          },
          "transactionId": {
            "type": "string",
            "nullable": true
          },
          "blockNumber": {
            "type": "integer",
            "format": "int64"
          },
          "blockDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SignatureParametersModel": {
        "type": "object",
        "properties": {
          "signatureAlgorithm": {
            "$ref": "#/components/schemas/SignatureAlgorithmIdentifier"
          },
          "data": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "hash": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "digestInfo": {
            "type": "string",
            "format": "byte",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SignaturePolicyIdentifierModel": {
        "type": "object",
        "properties": {
          "digest": {
            "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
          },
          "oid": {
            "type": "string",
            "nullable": true
          },
          "uri": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SignatureResultModel": {
        "type": "object",
        "properties": {
          "signatureFile": {
            "$ref": "#/components/schemas/FileModel"
          },
          "callbackArgument": {
            "type": "string",
            "nullable": true
          },
          "certificate": {
            "$ref": "#/components/schemas/CertificateModel"
          }
        },
        "additionalProperties": false
      },
      "SignatureSessionDocumentData": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of an existing document to be signed by another user. Specify either this property or `File`, but not both.",
            "format": "uuid",
            "nullable": true
          },
          "file": {
            "$ref": "#/components/schemas/FileReferenceModel"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            },
            "description": "Metadata to be added to the document",
            "nullable": true
          },
          "documentKey": {
            "type": "string",
            "description": "Document key previously allocated. If omitted, a new document key will be generated.",
            "nullable": true
          },
          "signatureType": {
            "$ref": "#/components/schemas/SignatureTypes"
          },
          "pdfSignatureOptions": {
            "$ref": "#/components/schemas/PdfSignatureOptions"
          },
          "cmsSignatureOptions": {
            "$ref": "#/components/schemas/CmsSignatureOptions"
          }
        },
        "additionalProperties": false
      },
      "SignatureSessionDocumentSummary": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/DocumentStatus"
          },
          "dateSigned": {
            "type": "string",
            "description": "Date on which this document was signed on the specific signature session that was fetched",
            "format": "date-time",
            "nullable": true
          },
          "id": {
            "type": "string",
            "description": "The ID of the document",
            "format": "uuid"
          },
          "key": {
            "type": "string",
            "description": "The key used to lookup this document on the validation page, unformatted (digits and letters only)",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "description": "Date and time the document was created",
            "format": "date-time"
          },
          "subscriptionId": {
            "type": "string",
            "description": "Subscription of the document",
            "format": "uuid"
          },
          "formattedKey": {
            "type": "string",
            "description": "The key used to lookup this document on the validation page, in formatted form",
            "nullable": true
          },
          "originalFile": {
            "$ref": "#/components/schemas/DocumentFileModel"
          },
          "markedFile": {
            "$ref": "#/components/schemas/DocumentFileModel"
          },
          "signedFile": {
            "$ref": "#/components/schemas/DocumentFileModel"
          },
          "signatureType": {
            "$ref": "#/components/schemas/SignatureTypes"
          },
          "availableUntil": {
            "type": "string",
            "description": "Date and time until which the document will be available for download",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SignatureSessionModel": {
        "type": "object",
        "properties": {
          "processingErrorCode": {
            "type": "string",
            "description": "If `Status` is `ProcessingError`, this contains a 6-character code suitable for logging that can be useful to correlate the issue when\r\nasking for tech support",
            "nullable": true
          },
          "callbackArgument": {
            "type": "string",
            "description": "The callback argument initially passed during creation of the session, containing any app-specific state of your choosing",
            "nullable": true
          },
          "signerCertificate": {
            "$ref": "#/components/schemas/CertificateModel"
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SignatureSessionDocumentSummary"
            },
            "description": "List of documents",
            "nullable": true
          },
          "id": {
            "type": "string",
            "description": "ID of the signature session",
            "format": "uuid"
          },
          "status": {
            "$ref": "#/components/schemas/SignatureSessionStatus"
          },
          "subscriptionId": {
            "type": "string",
            "description": "Subscription used to create the signature session",
            "format": "uuid"
          },
          "dateCreated": {
            "type": "string",
            "description": "Date and time when the signature session was created",
            "format": "date-time"
          },
          "duration": {
            "type": "string",
            "description": "Time in milliseconds that the session took from the moment of creation until completion. If the session is still in progress, this\r\nproperty is null",
            "format": "date-span",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SignatureSessionStatus": {
        "enum": [
          "Pending",
          "Processing",
          "Completed",
          "UserCancelled",
          "Expired",
          "ProcessingError"
        ],
        "type": "string",
        "description": "Status of the signature session:\r\n`Pending` (session was created but not yet completed nor expired nor cancelled),\r\n`Processing` (session has been completed and is undergoing background processing),\r\n`Completed` (session is complete and all documents are ready for download),\r\n`UserCancelled` (the user cancelled the session),\r\n`Expired` (the session has expired -- expiration occurrs normally after 4 hours) or\r\n`ProcessingError` (a rare condition occurred during the background processing of one or more documents)"
      },
      "SignatureTypes": {
        "enum": [
          "Pdf",
          "Cms",
          "Xml"
        ],
        "type": "string"
      },
      "SignerBStampModel": {
        "type": "object",
        "properties": {
          "signatureDigest": {
            "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
          },
          "crlsDigests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
            },
            "nullable": true
          },
          "certificateDigests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
            },
            "nullable": true
          },
          "blockchain": {
            "$ref": "#/components/schemas/Blockchains"
          },
          "transactionId": {
            "type": "string",
            "nullable": true
          },
          "transactionDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SignerModel": {
        "type": "object",
        "properties": {
          "messageDigest": {
            "$ref": "#/components/schemas/DigestAlgorithmAndValueModel"
          },
          "signature": {
            "$ref": "#/components/schemas/SignatureAlgorithmAndValueModel"
          },
          "signaturePolicy": {
            "$ref": "#/components/schemas/SignaturePolicyIdentifierModel"
          },
          "signingTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "certifiedDateReference": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "timestamps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CadesTimestampModel"
            },
            "nullable": true
          },
          "archiveTimestamps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CadesTimestampModel"
            },
            "nullable": true
          },
          "isDocumentTimestamp": {
            "type": "boolean"
          },
          "signatureFieldName": {
            "type": "string",
            "nullable": true
          },
          "validationResults": {
            "$ref": "#/components/schemas/ValidationResultsModel"
          },
          "hasLtv": {
            "type": "boolean",
            "nullable": true
          },
          "xmlSignedEntityType": {
            "$ref": "#/components/schemas/XmlSignedEntityTypes"
          },
          "xmlSignedElement": {
            "$ref": "#/components/schemas/XmlElementModel"
          },
          "attributeCertificates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttributeCertificateModel"
            },
            "nullable": true
          },
          "standardTrustAnchor": {
            "$ref": "#/components/schemas/StandardTrustAnchors"
          },
          "certificate": {
            "$ref": "#/components/schemas/CertificateModel"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SignerSummary": {
        "type": "object",
        "properties": {
          "certificate": {
            "$ref": "#/components/schemas/CertificateSummary"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "StampPdfRequest": {
        "required": [
          "file"
        ],
        "type": "object",
        "properties": {
          "file": {
            "$ref": "#/components/schemas/FileReferenceModel"
          },
          "timestampTier": {
            "type": "string",
            "description": "The ID or name of a timestamp tier to be used to timestamp the document. If omitted, the default tier will be assumed.",
            "nullable": true
          },
          "customSignatureFieldName": {
            "maxLength": 100,
            "pattern": "^[^.]*$",
            "type": "string",
            "nullable": true
          },
          "reason": {
            "maxLength": 1024,
            "type": "string",
            "nullable": true
          },
          "forceBlobResult": {
            "type": "boolean"
          },
          "visualRepresentation": {
            "$ref": "#/components/schemas/PadesVisualRepresentationModel"
          }
        },
        "additionalProperties": false
      },
      "StampPdfResponse": {
        "type": "object",
        "properties": {
          "file": {
            "$ref": "#/components/schemas/FileReferenceModel"
          }
        },
        "additionalProperties": false
      },
      "StandardTrustAnchors": {
        "enum": [
          "PkiBrazil",
          "GovBR",
          "ENotariado"
        ],
        "type": "string",
        "description": "Identifies a single, specific root certificate that a certificate's chain was found to resolve to. Unlike\r\nLacuna.RestPki.Api.StandardTrustedArbitrators, which is a combinable bitmask used to configure which roots a\r\nsecurity context accepts, this enum reports exactly one detected root and is never combined."
      },
      "StartBioAuthenticationSessionRequest": {
        "required": [
          "subject"
        ],
        "type": "object",
        "properties": {
          "subject": {
            "$ref": "#/components/schemas/BioSubjectReference"
          },
          "faceCaptureProvider": {
            "$ref": "#/components/schemas/FaceCaptureProviders"
          },
          "trustedOrigin": {
            "maxLength": 200,
            "type": "string",
            "description": "**Required when using the Widget (iFrame) mode.**\r\n            \r\nDefines the base URL of the frontend application where the biometric widget will be rendered.  \r\nThis value is used as a **security trusted origin** to prevent session hijacking.\r\n            \r\n---\r\n            \r\n**Flow when using TrustedOrigin:**\r\n            \r\n- The client embeds the widget using `lacuna-restpki-widget` (NPM) or pure JS via CDN.\r\n- The result is returned directly to the caller JavaScript method using:\r\n            \r\n```js\r\nlet widget = new RestPkiWidget();\r\nlet result = await widget.performBioSession(sessionUrl);\r\n// use result.completeTicket\r\n```\r\n            \r\n---\r\n            \r\n**Mutual exclusivity rule:**\r\n            \r\nYou must provide **either** `TrustedOrigin` **or** `ReturnUrl`.  \r\nThey **cannot** be used together.\r\n            \r\n---\r\n            \r\n**Documentation:**  \r\n[Integration Guide](https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/integration/get-started.html)",
            "nullable": true
          },
          "returnUrl": {
            "maxLength": 1024,
            "type": "string",
            "description": "**Required when using Redirect mode (no widget / no iFrame).**\r\n            \r\nDefines the absolute URL to which the user will be redirected after the biometric process is completed.\r\n            \r\n---\r\n            \r\n**Flow when using ReturnUrl:**\r\n            \r\n- The client must redirect the user directly to `sessionUrl`.\r\n- The biometric process runs in a standalone page.\r\n- After completion, the user is automatically redirected back to `ReturnUrl`.\r\n            \r\n---\r\n            \r\n**Mutual exclusivity rule:**\r\n            \r\nYou must provide **either** `ReturnUrl` **or** `TrustedOrigin`.  \r\nThey **cannot** be used together.\r\n            \r\n---\r\n            \r\n**Documentation:**  \r\n[Integration Guide](https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/integration/get-started.html)",
            "nullable": true
          },
          "platformPreference": {
            "$ref": "#/components/schemas/BioSessionPlatformPreferences"
          },
          "geolocationCaptureType": {
            "$ref": "#/components/schemas/BioSessionGeolocationCaptureTypes"
          },
          "geolocationCapturePolicy": {
            "$ref": "#/components/schemas/BioSessionGeolocationCapturePolicies"
          }
        },
        "additionalProperties": false
      },
      "StartBioEnrollmentSessionRequest": {
        "required": [
          "subjectIdentifier"
        ],
        "type": "object",
        "properties": {
          "subjectIdentifier": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "captureIdentificationDocument": {
            "type": "boolean"
          },
          "dangerousOverrideIfAlreadyEnrolled": {
            "type": "boolean"
          },
          "faceCaptureProvider": {
            "$ref": "#/components/schemas/FaceCaptureProviders"
          },
          "verifyFaceIdentityExternally": {
            "type": "boolean",
            "nullable": true
          },
          "trustedOrigin": {
            "maxLength": 200,
            "type": "string",
            "description": "**Required when using the Widget (iFrame) mode.**\r\n            \r\nDefines the base URL of the frontend application where the biometric widget will be rendered.  \r\nThis value is used as a **security trusted origin** to prevent session hijacking.\r\n            \r\n---\r\n            \r\n**Flow when using TrustedOrigin:**\r\n            \r\n- The client embeds the widget using `lacuna-restpki-widget` (NPM) or pure JS via CDN.\r\n- The result is returned directly to the caller JavaScript method using:\r\n            \r\n```js\r\nlet widget = new RestPkiWidget();\r\nlet result = await widget.performBioSession(sessionUrl);\r\n// use result.completeTicket\r\n```\r\n            \r\n---\r\n            \r\n**Mutual exclusivity rule:**\r\n            \r\nYou must provide **either** `TrustedOrigin` **or** `ReturnUrl`.  \r\nThey **cannot** be used together.\r\n            \r\n---\r\n            \r\n**Documentation:**  \r\n[Integration Guide](https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/integration/get-started.html)",
            "nullable": true
          },
          "returnUrl": {
            "maxLength": 1024,
            "type": "string",
            "description": "**Required when using Redirect mode (no widget / no iFrame).**\r\n            \r\nDefines the absolute URL to which the user will be redirected after the biometric process is completed.\r\n            \r\n---\r\n            \r\n**Flow when using ReturnUrl:**\r\n            \r\n- The client must redirect the user directly to `sessionUrl`.\r\n- The biometric process runs in a standalone page.\r\n- After completion, the user is automatically redirected back to `ReturnUrl`.\r\n            \r\n---\r\n            \r\n**Mutual exclusivity rule:**\r\n            \r\nYou must provide **either** `ReturnUrl` **or** `TrustedOrigin`.  \r\nThey **cannot** be used together.\r\n            \r\n---\r\n            \r\n**Documentation:**  \r\n[Integration Guide](https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/integration/get-started.html)",
            "nullable": true
          },
          "platformPreference": {
            "$ref": "#/components/schemas/BioSessionPlatformPreferences"
          },
          "geolocationCaptureType": {
            "$ref": "#/components/schemas/BioSessionGeolocationCaptureTypes"
          },
          "geolocationCapturePolicy": {
            "$ref": "#/components/schemas/BioSessionGeolocationCapturePolicies"
          }
        },
        "additionalProperties": false
      },
      "StartBioIdentificationSessionRequest": {
        "type": "object",
        "properties": {
          "faceCaptureProvider": {
            "$ref": "#/components/schemas/FaceCaptureProviders"
          },
          "trustedOrigin": {
            "maxLength": 200,
            "type": "string",
            "description": "**Required when using the Widget (iFrame) mode.**\r\n            \r\nDefines the base URL of the frontend application where the biometric widget will be rendered.  \r\nThis value is used as a **security trusted origin** to prevent session hijacking.\r\n            \r\n---\r\n            \r\n**Flow when using TrustedOrigin:**\r\n            \r\n- The client embeds the widget using `lacuna-restpki-widget` (NPM) or pure JS via CDN.\r\n- The result is returned directly to the caller JavaScript method using:\r\n            \r\n```js\r\nlet widget = new RestPkiWidget();\r\nlet result = await widget.performBioSession(sessionUrl);\r\n// use result.completeTicket\r\n```\r\n            \r\n---\r\n            \r\n**Mutual exclusivity rule:**\r\n            \r\nYou must provide **either** `TrustedOrigin` **or** `ReturnUrl`.  \r\nThey **cannot** be used together.\r\n            \r\n---\r\n            \r\n**Documentation:**  \r\n[Integration Guide](https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/integration/get-started.html)",
            "nullable": true
          },
          "returnUrl": {
            "maxLength": 1024,
            "type": "string",
            "description": "**Required when using Redirect mode (no widget / no iFrame).**\r\n            \r\nDefines the absolute URL to which the user will be redirected after the biometric process is completed.\r\n            \r\n---\r\n            \r\n**Flow when using ReturnUrl:**\r\n            \r\n- The client must redirect the user directly to `sessionUrl`.\r\n- The biometric process runs in a standalone page.\r\n- After completion, the user is automatically redirected back to `ReturnUrl`.\r\n            \r\n---\r\n            \r\n**Mutual exclusivity rule:**\r\n            \r\nYou must provide **either** `ReturnUrl` **or** `TrustedOrigin`.  \r\nThey **cannot** be used together.\r\n            \r\n---\r\n            \r\n**Documentation:**  \r\n[Integration Guide](https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/integration/get-started.html)",
            "nullable": true
          },
          "platformPreference": {
            "$ref": "#/components/schemas/BioSessionPlatformPreferences"
          },
          "geolocationCaptureType": {
            "$ref": "#/components/schemas/BioSessionGeolocationCaptureTypes"
          },
          "geolocationCapturePolicy": {
            "$ref": "#/components/schemas/BioSessionGeolocationCapturePolicies"
          }
        },
        "additionalProperties": false
      },
      "StartBioSessionResponse": {
        "type": "object",
        "properties": {
          "sessionType": {
            "$ref": "#/components/schemas/BioSessionTypes"
          },
          "sessionId": {
            "type": "string",
            "format": "uuid"
          },
          "sessionUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "StartIdentificationDocumentCaptureSessionRequest": {
        "type": "object",
        "properties": {
          "subjectIdentifier": {
            "type": "string",
            "nullable": true
          },
          "trustedOrigin": {
            "maxLength": 200,
            "type": "string",
            "description": "**Required when using the Widget (iFrame) mode.**\r\n            \r\nDefines the base URL of the frontend application where the biometric widget will be rendered.  \r\nThis value is used as a **security trusted origin** to prevent session hijacking.\r\n            \r\n---\r\n            \r\n**Flow when using TrustedOrigin:**\r\n            \r\n- The client embeds the widget using `lacuna-restpki-widget` (NPM) or pure JS via CDN.\r\n- The result is returned directly to the caller JavaScript method using:\r\n            \r\n```js\r\nlet widget = new RestPkiWidget();\r\nlet result = await widget.performBioSession(sessionUrl);\r\n// use result.completeTicket\r\n```\r\n            \r\n---\r\n            \r\n**Mutual exclusivity rule:**\r\n            \r\nYou must provide **either** `TrustedOrigin` **or** `ReturnUrl`.  \r\nThey **cannot** be used together.\r\n            \r\n---\r\n            \r\n**Documentation:**  \r\n[Integration Guide](https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/integration/get-started.html)",
            "nullable": true
          },
          "returnUrl": {
            "maxLength": 1024,
            "type": "string",
            "description": "**Required when using Redirect mode (no widget / no iFrame).**\r\n            \r\nDefines the absolute URL to which the user will be redirected after the biometric process is completed.\r\n            \r\n---\r\n            \r\n**Flow when using ReturnUrl:**\r\n            \r\n- The client must redirect the user directly to `sessionUrl`.\r\n- The biometric process runs in a standalone page.\r\n- After completion, the user is automatically redirected back to `ReturnUrl`.\r\n            \r\n---\r\n            \r\n**Mutual exclusivity rule:**\r\n            \r\nYou must provide **either** `ReturnUrl` **or** `TrustedOrigin`.  \r\nThey **cannot** be used together.\r\n            \r\n---\r\n            \r\n**Documentation:**  \r\n[Integration Guide](https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/integration/get-started.html)",
            "nullable": true
          },
          "platformPreference": {
            "$ref": "#/components/schemas/BioSessionPlatformPreferences"
          },
          "geolocationCaptureType": {
            "$ref": "#/components/schemas/BioSessionGeolocationCaptureTypes"
          },
          "geolocationCapturePolicy": {
            "$ref": "#/components/schemas/BioSessionGeolocationCapturePolicies"
          }
        },
        "additionalProperties": false
      },
      "StartLivenessSessionRequest": {
        "type": "object",
        "properties": {
          "subjectIdentifier": {
            "maxLength": 200,
            "type": "string",
            "nullable": true
          },
          "captureIdentificationDocument": {
            "type": "boolean"
          },
          "faceCaptureProvider": {
            "$ref": "#/components/schemas/FaceCaptureProviders"
          },
          "faceLivenessProvider": {
            "$ref": "#/components/schemas/FaceLivenessProviders"
          },
          "trustedOrigin": {
            "maxLength": 200,
            "type": "string",
            "description": "**Required when using the Widget (iFrame) mode.**\r\n            \r\nDefines the base URL of the frontend application where the biometric widget will be rendered.  \r\nThis value is used as a **security trusted origin** to prevent session hijacking.\r\n            \r\n---\r\n            \r\n**Flow when using TrustedOrigin:**\r\n            \r\n- The client embeds the widget using `lacuna-restpki-widget` (NPM) or pure JS via CDN.\r\n- The result is returned directly to the caller JavaScript method using:\r\n            \r\n```js\r\nlet widget = new RestPkiWidget();\r\nlet result = await widget.performBioSession(sessionUrl);\r\n// use result.completeTicket\r\n```\r\n            \r\n---\r\n            \r\n**Mutual exclusivity rule:**\r\n            \r\nYou must provide **either** `TrustedOrigin` **or** `ReturnUrl`.  \r\nThey **cannot** be used together.\r\n            \r\n---\r\n            \r\n**Documentation:**  \r\n[Integration Guide](https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/integration/get-started.html)",
            "nullable": true
          },
          "returnUrl": {
            "maxLength": 1024,
            "type": "string",
            "description": "**Required when using Redirect mode (no widget / no iFrame).**\r\n            \r\nDefines the absolute URL to which the user will be redirected after the biometric process is completed.\r\n            \r\n---\r\n            \r\n**Flow when using ReturnUrl:**\r\n            \r\n- The client must redirect the user directly to `sessionUrl`.\r\n- The biometric process runs in a standalone page.\r\n- After completion, the user is automatically redirected back to `ReturnUrl`.\r\n            \r\n---\r\n            \r\n**Mutual exclusivity rule:**\r\n            \r\nYou must provide **either** `ReturnUrl` **or** `TrustedOrigin`.  \r\nThey **cannot** be used together.\r\n            \r\n---\r\n            \r\n**Documentation:**  \r\n[Integration Guide](https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/integration/get-started.html)",
            "nullable": true
          },
          "platformPreference": {
            "$ref": "#/components/schemas/BioSessionPlatformPreferences"
          },
          "geolocationCaptureType": {
            "$ref": "#/components/schemas/BioSessionGeolocationCaptureTypes"
          },
          "geolocationCapturePolicy": {
            "$ref": "#/components/schemas/BioSessionGeolocationCapturePolicies"
          }
        },
        "additionalProperties": false
      },
      "TimestampIssueResponse": {
        "type": "object",
        "properties": {
          "encodedValue": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "info": {
            "$ref": "#/components/schemas/CadesTimestampModel"
          }
        },
        "additionalProperties": false
      },
      "ValidationItemModel": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ValidationItemTypes"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "innerValidationResults": {
            "$ref": "#/components/schemas/ValidationResultsModel"
          }
        },
        "additionalProperties": false
      },
      "ValidationItemTypes": {
        "enum": [
          "Success",
          "CertificateNotYetValid",
          "CertificateExpired",
          "CertificateRevoked",
          "CertificateIssuerNotFound",
          "CertificateRevocationStatusUnknown",
          "CertificateChainRootNotTrusted",
          "InvalidCertificateSignature",
          "DecodeError",
          "RequiredSignedAttributeMissing",
          "ForbiddenSignedAttributePresent",
          "RequiredUnsignedAttributeMissing",
          "ForbiddenUnsignedAttributePresent",
          "ContentTypeMismatch",
          "MessageDigestMismatch",
          "SigningCertificateDigestMismatch",
          "SignatureAlgorithmValidationFailed",
          "RevocationDataIssuedBeforeGracePeriod",
          "UncertifiedDateReference",
          "SignaturePolicyMismatch",
          "SigningTimeOutOfCertificateValidity",
          "UnknownSignedAttributesPresent",
          "UnknownUnsignedAttributesPresent",
          "TimestampWithMoreThanOneSigner",
          "TimestampMessageImprintMismatch",
          "TimestampValidationException",
          "CompleteReferencesMismatch",
          "InvalidSignatureTimestamp",
          "InvalidReferencesTimestamp",
          "InvalidArchiveTimestamp",
          "InvalidKeyUsage",
          "InvalidOcspResponse",
          "UnauthorizedIssuer",
          "UnknownRootTrustStatus",
          "InvalidTsl",
          "InvalidCrl",
          "CertificateIssuerValid",
          "CertificateIssuerInvalid",
          "CertificateValidationFailed",
          "SignatureVulnerableToSignerSubstitution",
          "InvalidXmlSignatureSchema",
          "XmlDSigCoreValidationFailed",
          "SignatureTimestampIgnored",
          "InvalidCertificationPathLen",
          "SigningCertificateNotFound",
          "UnauthorizedACIssuer",
          "AlgorithmNotAllowed",
          "UnacceptableSignaturePolicy"
        ],
        "type": "string"
      },
      "ValidationResultsModel": {
        "type": "object",
        "properties": {
          "passedChecks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationItemModel"
            },
            "nullable": true
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationItemModel"
            },
            "nullable": true
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationItemModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WebhookEventModel": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/WebhookEventTypes"
          },
          "document": {
            "$ref": "#/components/schemas/DocumentModel"
          }
        },
        "additionalProperties": false
      },
      "WebhookEventTypes": {
        "enum": [
          "DocumentSignatureCompleted"
        ],
        "type": "string"
      },
      "XmlAttributeModel": {
        "type": "object",
        "properties": {
          "localName": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "namespaceUri": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "XmlElementLocationModel": {
        "type": "object",
        "properties": {
          "xPath": {
            "type": "string",
            "nullable": true
          },
          "namespaces": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NamespaceModel"
            },
            "nullable": true
          },
          "insertionOption": {
            "$ref": "#/components/schemas/XmlInsertionOptions"
          }
        },
        "additionalProperties": false
      },
      "XmlElementModel": {
        "type": "object",
        "properties": {
          "localName": {
            "type": "string",
            "nullable": true
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/XmlAttributeModel"
            },
            "nullable": true
          },
          "namespaceUri": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "XmlElementSignaturePostRequest": {
        "required": [
          "elementToSignId"
        ],
        "type": "object",
        "properties": {
          "elementToSignId": {
            "minLength": 1,
            "type": "string"
          },
          "idResolutionTable": {
            "$ref": "#/components/schemas/XmlIdResolutionTableModel"
          },
          "xml": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "signatureElementId": {
            "type": "string",
            "nullable": true
          },
          "signatureElementLocation": {
            "$ref": "#/components/schemas/XmlElementLocationModel"
          },
          "certificate": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "signaturePolicyId": {
            "type": "string",
            "format": "uuid"
          },
          "securityContextId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "callbackArgument": {
            "type": "string",
            "nullable": true
          },
          "ignoreRevocationStatusUnknown": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "XmlIdAttributeModel": {
        "required": [
          "attribute",
          "element"
        ],
        "type": "object",
        "properties": {
          "element": {
            "$ref": "#/components/schemas/XmlNodeNameModel"
          },
          "attribute": {
            "$ref": "#/components/schemas/XmlNodeNameModel"
          }
        },
        "additionalProperties": false
      },
      "XmlIdResolutionTableModel": {
        "type": "object",
        "properties": {
          "includeXmlIdAttribute": {
            "type": "boolean",
            "nullable": true
          },
          "elementIdAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/XmlIdAttributeModel"
            },
            "nullable": true
          },
          "globalIdAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/XmlNodeNameModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "XmlInsertionOptions": {
        "enum": [
          "AppendChild",
          "PrependChild",
          "AppendSibling",
          "PrependSibling"
        ],
        "type": "string"
      },
      "XmlNodeNameModel": {
        "required": [
          "localName"
        ],
        "type": "object",
        "properties": {
          "localName": {
            "minLength": 1,
            "type": "string"
          },
          "namespace": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "XmlSignatureModel": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/XmlSignedEntityTypes"
          },
          "signedElement": {
            "$ref": "#/components/schemas/XmlElementModel"
          },
          "signature": {
            "$ref": "#/components/schemas/SignatureAlgorithmAndValueModel"
          },
          "signaturePolicy": {
            "$ref": "#/components/schemas/SignaturePolicyIdentifierModel"
          },
          "certificate": {
            "$ref": "#/components/schemas/CertificateModel"
          },
          "signingTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "certifiedDateReference": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "timestamps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CadesTimestampModel"
            },
            "nullable": true
          },
          "archiveTimestamps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CadesTimestampModel"
            },
            "nullable": true
          },
          "validationResults": {
            "$ref": "#/components/schemas/ValidationResultsModel"
          },
          "bStamp": {
            "$ref": "#/components/schemas/SignerBStampModel"
          }
        },
        "additionalProperties": false
      },
      "XmlSignatureOptions": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/XmlSignatureTypes"
          },
          "elementToSignId": {
            "type": "string",
            "nullable": true
          },
          "signatureElementLocation": {
            "$ref": "#/components/schemas/XmlElementLocationModel"
          }
        },
        "additionalProperties": false
      },
      "XmlSignaturePostResponse": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "nullable": true
          },
          "certificate": {
            "$ref": "#/components/schemas/CertificateModel"
          },
          "toSignData": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "toSignHash": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "digestAlgorithmOid": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "XmlSignaturePostSignedBytesRequest": {
        "type": "object",
        "properties": {
          "signature": {
            "type": "string",
            "format": "byte",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "XmlSignaturePostSignedBytesResponse": {
        "type": "object",
        "properties": {
          "signedXml": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "callbackArgument": {
            "type": "string",
            "nullable": true
          },
          "certificate": {
            "$ref": "#/components/schemas/CertificateModel"
          }
        },
        "additionalProperties": false
      },
      "XmlSignatureResponseModel": {
        "type": "object",
        "properties": {
          "signatures": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/XmlSignatureModel"
            },
            "nullable": true
          },
          "auditPackage": {
            "$ref": "#/components/schemas/FileModel"
          },
          "bStamp": {
            "$ref": "#/components/schemas/SignatureBStampModel"
          }
        },
        "additionalProperties": false
      },
      "XmlSignatureTypes": {
        "enum": [
          "XmlElement",
          "FullXml",
          "OnlineResource",
          "DetachedResource"
        ],
        "type": "string"
      },
      "XmlSignedEntityTypes": {
        "enum": [
          "FullXml",
          "XmlElement",
          "DetachedResource"
        ],
        "type": "string"
      }
    },
    "securitySchemes": {
      "ApiKey": {
        "type": "apiKey",
        "description": "API key authentication",
        "name": "X-Api-Key",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "ApiKey": []
    }
  ]
}
