> ## Documentation Index
> Fetch the complete documentation index at: https://docs-platform.services-valid.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Criar sessão de validação de envelope

> Cria uma sessão pública para consultar um envelope assinado por código + senha.

Cria uma sessão de validação de envelope usando apenas um código de assinatura e uma senha. As sessões de validação permitem que qualquer pessoa (sem chave de API ou token) consulte e valide um envelope assinado, desde que possua o código e a senha.

Cada sessão de validação é válida por 15 minutos. Esta operação é **idempotente**: chamar múltiplas vezes com os mesmos `signatureCode` e `signaturePassword` enquanto a sessão anterior ainda estiver válida retorna a mesma `sessionUuid`.

**Autenticação**: este endpoint é público — nenhuma autenticação é necessária.

## Parâmetros

<ParamField body="signatureCode" type="string" required>
  Código de assinatura do signatário a validar. Tipicamente fornecido ao signatário via e-mail ou outro canal após a assinatura.
</ParamField>

<ParamField body="signaturePassword" type="string" required>
  Senha de assinatura do signatário a validar. Fornecida junto com o código.
</ParamField>

## Respostas

<ResponseField name="sessionUuid" type="string" required>
  UUID da sessão de validação criada (ou reutilizada). Use este UUID em [`GET /signer/v1/validator/session/:sessionUuid`](/plataforma/assinatura-digital/api/get-validator-session) para recuperar os dados do envelope.
</ResponseField>

## Erros

* **404**: O envelope ou o signatário associado ao `signatureCode`/`signaturePassword` não foi encontrado.

<ResponseExample>
  ```json theme={"theme":"catppuccin-latte"}
  HTTP/1.1 201 Created
  Content-Type: application/json

  {
    "sessionUuid": "550e8400-e29b-41d4-a716-446655440000"
  }
  ```

  ```json theme={"theme":"catppuccin-latte"}
  HTTP/1.1 404 Not Found
  Content-Type: application/json

  {
    "statusCode": 404,
    "message": "Signature code or password is invalid"
  }
  ```
</ResponseExample>

## Exemplo

```bash theme={"theme":"catppuccin-latte"}
curl -X POST "https://api.valid.com/signer/v1/validator/verify" \
  -H "Content-Type: application/json" \
  -d '{
    "signatureCode": "SIG-ABC123XYZ",
    "signaturePassword": "senha_secreta_123"
  }'
```

## Importante

* **Sem autenticação**: este endpoint é totalmente público — qualquer pessoa com o código e a senha pode criar uma sessão.
* **Idempotente**: enquanto a sessão anterior estiver válida (TTL de 15 min), chamadas repetidas retornam o mesmo `sessionUuid`.
* **TTL de 15 minutos**: a sessão expira após 15 minutos. Crie uma nova se precisar consultar novamente após expiração.
* **IP registrado**: o IP da requisição é registrado para auditoria.

## Próximas etapas

1. Use o `sessionUuid` retornado em [`GET /signer/v1/validator/session/:sessionUuid`](/plataforma/assinatura-digital/api/get-validator-session) para recuperar os dados completos do envelope (envelope, signatários, link de download do documento assinado).
2. Se precisar cancelar a sessão antes de expirar, chame [`POST /signer/v1/validator/session/:sessionUuid/cancel`](/plataforma/assinatura-digital/api/post-validator-session-cancel).
