> ## 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.

# Obter dados de envelope via sessão de validação

> Recupera envelope, signatários e link de download do documento assinado usando uma sessão de validação.

Resolve uma sessão de validação em dados completos do envelope: metadados, lista de signatários com datas de assinatura, e link para download do documento assinado. Na primeira chamada bem-sucedida, marca a sessão como validada.

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

## Parâmetros

<ParamField path="sessionUuid" type="string" required>
  UUID da sessão de validação retornado por [`POST /signer/v1/validator/verify`](/plataforma/assinatura-digital/api/post-validator-verify).
</ParamField>

## Respostas

<ResponseField name="validatedAt" type="string" optional>
  Timestamp (ISO-8601) de quando a sessão foi validada pela primeira vez. Presente apenas após a primeira chamada bem-sucedida (não será `null` em chamadas subsequentes).
</ResponseField>

<ResponseField name="envelope" type="object" required>
  Dados gerais do envelope.

  <Expandable title="Propriedades de envelope">
    <ResponseField name="uuid" type="string">
      UUID do envelope.
    </ResponseField>

    <ResponseField name="state" type="string">
      Estado atual do envelope (ex: `FINALIZADO`).
    </ResponseField>

    <ResponseField name="title" type="string">
      Título do envelope.
    </ResponseField>

    <ResponseField name="processId" type="string">
      ID do processo.
    </ResponseField>

    <ResponseField name="originalDocumentId" type="string">
      ID do documento original.
    </ResponseField>

    <ResponseField name="originalDocumentHash" type="string">
      Hash do documento original (para integridade).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="signers" type="array" required>
  Lista de signatários do envelope com status de assinatura.

  <Expandable title="Propriedades de signers[]">
    <ResponseField name="name" type="string">
      Nome do signatário.
    </ResponseField>

    <ResponseField name="email" type="string">
      E-mail do signatário.
    </ResponseField>

    <ResponseField name="cpf" type="string">
      CPF do signatário.
    </ResponseField>

    <ResponseField name="signedAt" type="string">
      Timestamp (ISO-8601) de quando o signatário assinou (ou `null` se ainda não assinou).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="downloadUrl" type="string" optional>
  URL pré-assinada para download do documento assinado. Presente apenas se o envelope foi finalizado (todos os signatários assinaram). URL válida por 15 minutos.
</ResponseField>

## Erros

* **404**: Sessão de validação, envelope ou arquivo não encontrado.
* **410**: A sessão de validação expirou (TTL de 15 minutos).

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

  {
    "validatedAt": "2025-07-27T11:00:00Z",
    "envelope": {
      "uuid": "550e8400-e29b-41d4-a716-446655440000",
      "state": "FINALIZADO",
      "title": "Contrato de Serviços",
      "processId": "PROC-2025-001",
      "originalDocumentId": "DOC-001",
      "originalDocumentHash": "abc123def456..."
    },
    "signers": [
      {
        "name": "João da Silva",
        "email": "joao@empresa.com",
        "cpf": "123.456.789-00",
        "signedAt": "2025-07-27T10:30:00Z"
      },
      {
        "name": "Maria Santos",
        "email": "maria@empresa.com",
        "cpf": "987.654.321-00",
        "signedAt": "2025-07-27T10:45:00Z"
      }
    ],
    "downloadUrl": "https://storage.googleapis.com/bucket/signed-doc.pdf?X-Goog-Algorithm=..."
  }
  ```

  ```json theme={"theme":"catppuccin-latte"}
  HTTP/1.1 410 Gone
  Content-Type: application/json

  {
    "statusCode": 410,
    "message": "Validation session expired"
  }
  ```
</ResponseExample>

## Exemplo

```bash theme={"theme":"catppuccin-latte"}
curl -X GET "https://api.valid.com/signer/v1/validator/session/550e8400-e29b-41d4-a716-446655440000" \
  -H "Content-Type: application/json"
```

## Importante

* **Sem autenticação**: este endpoint é totalmente público — qualquer pessoa com o `sessionUuid` pode consultar.
* **TTL de 15 minutos**: se a sessão tiver expirado, crie uma nova com [`POST /signer/v1/validator/verify`](/plataforma/assinatura-digital/api/post-validator-verify).
* **Idempotente**: chamar múltiplas vezes com o mesmo `sessionUuid` retorna os mesmos dados; `validatedAt` não muda.
* **URL de download com prazo**: o `downloadUrl`, quando presente, expira em 15 minutos — faça o download logo após obter a URL.

## Próximas etapas

* Se o envelope ainda não foi finalizado (nem todos os signatários assinaram), `downloadUrl` será `null`.
* Se o envelope foi finalizado, use `downloadUrl` para fazer download do documento assinado.
* Se a sessão expirou, crie uma nova com [`POST /signer/v1/validator/verify`](/plataforma/assinatura-digital/api/post-validator-verify).
