{
  "openapi": "3.0.1",
  "info": {
    "title": "Digitalizador API",
    "description": "<p>\r\n\tO Lacuna Scanner Service lhe permite adicionar uma página de digitalização à sua aplicação web existente de maneira rápida e fácil\r\n\tporque a digitalização em si ocorre em uma página do serviço, e não da sua aplicação, liberando esta de lidar com as complexidades\r\n\tenvolvidas na comunicação com scanners e no preenchimento dos metadados obrigatórios previstos no\r\n\t<a href=\"http://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Decreto/D10278.htm\" target=\"_blank\">Decreto Nº 10.278/2020</a>.\r\n</p>\r\n<p>\r\n\t<b>Antes de começar, veja a visão geral da integração no <a href=\"https://docs.lacunasoftware.com/pt-br/articles/scanner/integration/\">Guia de Integração</a></b>\r\n</p>\r\n<p>\r\n\tEm caso de dúvidas, entre em contato com <a href=\"mailto:suporte@lacunasoftware.com\">suporte@lacunasoftware.com</a>\r\n</p>\r\n\r\n<h2>Parâmetros</h2>\r\n<p>\r\n\tVocê precisará dos seguintes parâmetros:\r\n</p>\r\n<ul>\r\n\t<li><b>Endpoint</b>: endereço do Scanner Service, ex: https://scanner.lacunasoftware.com/</li>\r\n\t<li><b>API Key</b>: chave de acesso à API</li>\r\n</ul>\r\n<p>\r\n\tO <i>endpoint</i> deve ser utilizado para prefixar todas as URLs relativas mencionadas nesta página. Veja como utilizar a <i>API Key</i> abaixo.\r\n</p>\r\n<p>\r\n\tSolicite ao nosso suporte ao desenvolvedor seus parâmetros de comunicação.\r\n</p>\r\n\r\n<h2>Autenticação</h2>\r\n<p>\r\n\tA chave de acesso à API deve ser enviada no header <b>X-Api-Key</b> de cada requisição:\r\n</p>\r\n<pre>\r\nX-Api-Key: ...\r\n</pre>\r\n\r\n<h2>Principais chamadas</h2>\r\n<ul>\r\n\t<li><b>POST /api/scan-session</b>: cria uma sessão de digitalização</li>\r\n\t<li><b>GET /api/scan-session/{id}</b>: obtém o resultado de uma sessão de digitalização</li>\r\n\t<li><b>GET /api/documents/{id}/content</b>: obtém o conteúdo (binário) de um documento digitalizado</li>\r\n\t<li><b>GET /api/documents/{id}/file-link</b>: obtém um link temporário anônimo para um documento digitalizado (que pode ser usado como <i>href</i> de um link)</li>\r\n</ul>\r\n",
    "version": "2.1.0"
  },
  "paths": {
    "/api/documents/{id}": {
      "get": {
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentModel"
                }
              },
              "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": {
      "get": {
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "name": "uid",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentLookupResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentLookupResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentLookupResponse"
                }
              }
            }
          },
          "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/lookup": {
      "post": {
        "tags": [
          "Documents"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/DocumentPublicLookupRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DocumentPublicLookupRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DocumentPublicLookupRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DocumentPublicLookupRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentPublicLookupResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentPublicLookupResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentPublicLookupResponse"
                }
              }
            }
          },
          "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/{uid}/ticket-lookup": {
      "get": {
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "name": "uid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentPublicLookupResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentPublicLookupResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentPublicLookupResponse"
                }
              }
            }
          },
          "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}/content": {
      "get": {
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "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/documents/{id}/file-link": {
      "get": {
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "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/documents/{id}/file": {
      "get": {
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "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/documents/{id}/pages/{number}/content": {
      "get": {
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "number",
            "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/documents/{id}/pages/{number}/file-link": {
      "get": {
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "number",
            "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/documents/{id}/pages/{number}/file": {
      "get": {
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "number",
            "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/documents/{id}/metadata-content": {
      "get": {
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "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/documents/{id}/metadata-file-link": {
      "get": {
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "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/documents/{id}/metadata-file": {
      "get": {
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "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/scan-sessions": {
      "post": {
        "tags": [
          "ScanSession"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScanSessionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScanSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScanSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScanSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CreateScanSessionResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateScanSessionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateScanSessionResponse"
                }
              }
            }
          },
          "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/scan-sessions": {
      "post": {
        "tags": [
          "ScanSession"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScanSessionRequest2"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScanSessionRequest2"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScanSessionRequest2"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScanSessionRequest2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CreateScanSessionResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateScanSessionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateScanSessionResponse"
                }
              }
            }
          },
          "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/scan-sessions/{id}": {
      "get": {
        "tags": [
          "ScanSession"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ScanSessionModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScanSessionModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScanSessionModel"
                }
              }
            }
          },
          "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": {
      "AdministrativeMetadata": {
        "type": "object",
        "properties": {
          "scannedByDomesticGovernment": {
            "type": "boolean",
            "description": "Denota se o documento foi digitalizado por pessoa jurídica de direito público interno",
            "nullable": true
          },
          "scanningPersonName": {
            "type": "string",
            "description": "Nome completo da pessoa física responsável pela digitalização",
            "nullable": true
          },
          "scanningPersonCpf": {
            "type": "string",
            "description": "CPF da pessoa física responsável pela digitalização",
            "nullable": true
          },
          "scanningPersonEmail": {
            "type": "string",
            "description": "E-mail da pessoa física responsável pela digitalização",
            "nullable": true
          },
          "scanningEntityName": {
            "type": "string",
            "description": "Razão social da pessoa jurídica responsável pela digitalização (se houver)",
            "nullable": true
          },
          "scanningEntityCnpj": {
            "type": "string",
            "description": "CNPJ da pessoa jurídica responsável pela digitalização (se houver uma pessoa juríca responsável pela digitalização)",
            "nullable": true
          },
          "dateScanned": {
            "type": "string",
            "description": "Data/hora da digitalização do documento",
            "format": "date-time"
          },
          "locationScanned": {
            "type": "string",
            "description": "Descrição do local onde o documento foi digitalizado",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateScanSessionRequest": {
        "type": "object",
        "properties": {
          "returnUrl": {
            "maxLength": 4096,
            "type": "string",
            "nullable": true
          },
          "multifile": {
            "type": "boolean"
          },
          "accessLinkFormat": {
            "maxLength": 300,
            "type": "string",
            "nullable": true
          },
          "metadataPresets": {
            "$ref": "#/components/schemas/MetadataPresets"
          }
        },
        "additionalProperties": false
      },
      "CreateScanSessionRequest2": {
        "type": "object",
        "properties": {
          "returnUrl": {
            "maxLength": 4096,
            "type": "string",
            "nullable": true
          },
          "multifile": {
            "type": "boolean"
          },
          "metadataInputEnabled": {
            "type": "boolean"
          },
          "signatureEnabled": {
            "type": "boolean"
          },
          "accessLinkFormat": {
            "maxLength": 300,
            "type": "string",
            "nullable": true
          },
          "metadataPresets": {
            "$ref": "#/components/schemas/MetadataPresets"
          },
          "inputType": {
            "$ref": "#/components/schemas/InputTypes"
          }
        },
        "additionalProperties": false
      },
      "CreateScanSessionResponse": {
        "type": "object",
        "properties": {
          "scanSessionId": {
            "type": "string",
            "format": "uuid"
          },
          "redirectUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DescriptiveMetadata": {
        "required": [
          "creator",
          "documentType",
          "keywords",
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string",
            "description": "Título do documento (elemento de descrição que nomeia o documento), podendo ser formal ou atribuído"
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Assunto do documento (palavras-chave que representam o conteúdo do documento)"
          },
          "creator": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string",
            "description": "Nome do autor do documento (pessoa natural ou jurídica que emitiu o documento, também conhecido como \"produtor\" do documento)"
          },
          "dateCreated": {
            "pattern": "^\\d{4}(-\\d{2})?(-\\d{2})?$",
            "type": "string",
            "description": "Data de produção (do documento original), no formato ISO 8601-1, i.e. 'AAAA-MM-DD', ou 'AAAA-MM' caso o dia não seja conhecido, ou ainda 'AAAA' caso apenas o ano seja conhecido.",
            "nullable": true
          },
          "locationCreated": {
            "maxLength": 200,
            "type": "string",
            "description": "Registro tópico (local) da produção do documento",
            "nullable": true
          },
          "classification": {
            "maxLength": 100,
            "type": "string",
            "description": "Classificação do documento (código identificador da classe, subclasse, grupo ou subgrupo do documento com base em um plano de classificação de documentos). Por exemplo,\r\n'03.01.01.12' (no caso de um Termo de Posse de Senador, segundo o plano de classificação do Senado Federal)",
            "nullable": true
          },
          "documentType": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Tipo documental (tipo de documento, ou seja, a configuração da espécie documental de acordo com a atividade que a gerou). Por exemplo, 'Termo de Posse de Senador'."
          },
          "destination": {
            "$ref": "#/components/schemas/Destinations"
          },
          "genre": {
            "maxLength": 50,
            "type": "string",
            "description": "Gênero (indica o gênero documental, ou seja, a configuração da informação no documento de acordo com o sistema de signos utilizado na comunicação do documento). Por\r\nexemplo: 'Textual' (quando a informação está escrita), 'Cartográfico' (quando o documento representa uma área maior, como em plantas e mapas) ou 'Iconográfico'\r\n(quando o documento possui a informação em forma de imagem estática, como em fotografias, partituras, e cartazes).",
            "nullable": true
          },
          "storagePeriod": {
            "maxLength": 100,
            "type": "string",
            "description": "Prazo de guarda (indicação do prazo estabelecido em tabela de temporalidade para o cumprimento da destinação)",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Destinations": {
        "enum": [
          "Transfer",
          "Destruction",
          "Storage"
        ],
        "type": "string"
      },
      "DocumentLookupResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "document": {
            "$ref": "#/components/schemas/DocumentModel"
          },
          "validationUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DocumentModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "hash": {
            "$ref": "#/components/schemas/HashAlgorithmAndValueModel"
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "contentLength": {
            "type": "integer",
            "format": "int64"
          },
          "contentType": {
            "type": "string",
            "nullable": true
          },
          "descriptiveMetadata": {
            "$ref": "#/components/schemas/DescriptiveMetadata"
          },
          "administrativeMetadata": {
            "$ref": "#/components/schemas/AdministrativeMetadata"
          },
          "uid": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DocumentPublicLookupRequest": {
        "required": [
          "accessKey",
          "captcha",
          "documentUid"
        ],
        "type": "object",
        "properties": {
          "documentUid": {
            "maxLength": 36,
            "minLength": 1,
            "type": "string"
          },
          "accessKey": {
            "minLength": 1,
            "type": "string"
          },
          "captcha": {
            "minLength": 1,
            "type": "string"
          },
          "subscriptionId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DocumentPublicLookupResponse": {
        "type": "object",
        "properties": {
          "result": {
            "$ref": "#/components/schemas/DocumentPublicLookupResults"
          },
          "document": {
            "$ref": "#/components/schemas/DocumentModel"
          },
          "metadataLink": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DocumentPublicLookupResults": {
        "enum": [
          "Success",
          "DocumentNotFound",
          "WrongAccessKey"
        ],
        "type": "string"
      },
      "HashAlgorithmAndValueModel": {
        "type": "object",
        "properties": {
          "algorithm": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InputTypes": {
        "enum": [
          "Scan",
          "FileUpload",
          "ScanOrFileUpload"
        ],
        "type": "string"
      },
      "MetadataPresets": {
        "type": "object",
        "properties": {
          "documentType": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "documentTypeIsReadonly": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ScanSessionModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "multifile": {
            "type": "boolean"
          },
          "metadataInputEnabled": {
            "type": "boolean"
          },
          "signatureEnabled": {
            "type": "boolean"
          },
          "result": {
            "$ref": "#/components/schemas/ScanSessionResults"
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ScanSessionResults": {
        "enum": [
          "Success",
          "UserCancelled"
        ],
        "type": "string"
      }
    }
  }
}
