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

> Retorna detalhes completos de um template e URL para download do PDF em branco.

Retorna todos os detalhes de um template, incluindo campos dinâmicos e uma URL assinada para download do PDF em branco (sem campos preenchidos).

**Autenticação**: esta operação **não exige autenticação** — qualquer um com o UUID do template consegue acessá-lo.

## Parâmetros

<ParamField path="uuid" type="string" required>
  UUID do template.
</ParamField>

## Respostas

<ResponseField name="uuid" type="string">
  UUID do template.
</ResponseField>

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

<ResponseField name="filename" type="string">
  Nome do arquivo.
</ResponseField>

<ResponseField name="pageCount" type="integer">
  Número de páginas.
</ResponseField>

<ResponseField name="pages" type="array">
  Metadados das páginas.
</ResponseField>

<ResponseField name="fields" type="array">
  Campos dinâmicos (mesmo shape de [`POST /v1/templates`](/plataforma/assinatura-digital/api/post-template)).
</ResponseField>

<ResponseField name="documentUrl" type="string">
  URL assinada para download do PDF em branco (sem campos preenchidos). Válida por 15 minutos.
</ResponseField>

<ResponseField name="expiresAt" type="string">
  Timestamp de expiração da URL.
</ResponseField>

<ResponseField name="createdAt" type="string">
  Timestamp de criação.
</ResponseField>

## Erros

Veja [Autenticação e erros](/plataforma/assinatura-digital/api/erros-e-autenticacao).

* **404**: Template não encontrado.

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

  {
    "uuid": "550e8400-e29b-41d4-a716-446655440000",
    "title": "Contrato de Serviços",
    "filename": "contrato.pdf",
    "pageCount": 2,
    "pages": [
      { "index": 0, "nativeW": 595, "nativeH": 842 },
      { "index": 1, "nativeW": 595, "nativeH": 842 }
    ],
    "fields": [
      {
        "key": "nome_cliente",
        "fieldUuid": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
        "type": "text",
        "label": "Nome Completo",
        "required": true,
        "pageIndex": 0,
        "x": 0.1,
        "y": 0.2,
        "width": 0.8,
        "height": 0.05
      }
    ],
    "documentUrl": "https://storage.googleapis.com/bucket/template-550e8400.pdf?X-Goog-Algorithm=...",
    "expiresAt": "2025-07-27T11:00:00.000Z",
    "createdAt": "2025-07-27T10:30:00.000Z"
  }
  ```
</ResponseExample>

## Exemplo

```bash theme={"theme":"catppuccin-latte"}
curl -X GET "https://signer.vcc-service.com/v1/templates/550e8400-e29b-41d4-a716-446655440000"
```

## Importante

* **Sem autenticação**: esta endpoint é pública para permitir que clientes visualizem templates sem API key.
* **PDF em branco**: a URL aponta para o template original, sem campos preenchidos.
* **Campos com IDs internos**: use o `key` (ex: `"nome_cliente"`) para referenciar campos em chamadas de envelope/fields; o `fieldUuid` é apenas para compatibilidade interna.

## Relacionado

* [`GET /v1/templates`](/plataforma/assinatura-digital/api/get-templates) — listar templates
* [`POST /v1/templates/:uuid/fill`](/plataforma/assinatura-digital/api/post-template-fill) — pré-visualizar com valores preenchidos
* [`POST /v1/templates/:uuid/envelopes`](/plataforma/assinatura-digital/api/post-template-envelope) — criar envelope
