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

# Signatário preenche campos

> Signatário preenche valores de campos dinâmicos pendentes antes de assinar.

Permite que o signatário preencha ou edite campos dinâmicos pendentes que lhe foram atribuídos. Esta operação só é válida antes da primeira assinatura.

**Autenticação**: use apenas o `sessionToken` na URL.

## Parâmetros

<ParamField path="sessionToken" type="string" required>
  Token da sessão do signatário.
</ParamField>

<ParamField body="values" type="array" required>
  Lista de campos a preencher.

  <Expandable title="Propriedades de values[]">
    <ParamField body="key" type="string">
      Identificador do campo (ex: `"nome_cliente"`). Use `key` ou `fieldUuid`.
    </ParamField>

    <ParamField body="fieldUuid" type="string">
      UUID interno do campo. Use `key` ou `fieldUuid`.
    </ParamField>

    <ParamField body="value" type="string | string[] | boolean" required>
      Valor a preencher. Para `checkbox`, array de valores. Para `date`, formato ISO (`YYYY-MM-DD`).
    </ParamField>
  </Expandable>
</ParamField>

## Respostas

Retorna a lista atualizada de campos (mesmo shape de [`GET .../fields`](/plataforma/assinatura-digital/api/get-envelope-fields)).

<ResponseField name="fields" type="array">
  Campos atualizados com novos estados.
</ResponseField>

## Erros

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

* **400**: Campo desconhecido, valor inválido, campo já preenchido e não editável, ou campo não atribuído a este signatário.
* **404**: Session token inválido.
* **410**: Session token expirado.
* **409**: Envelope já foi assinado (congelado).

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

  {
    "fields": [
      {
        "key": "data_assinatura",
        "fieldUuid": "6ba7b811-9dad-11d1-80b4-00c04fd430c8",
        "type": "date",
        "label": "Data de Assinatura",
        "value": "2025-12-31",
        "status": "filled",
        "displayState": "filled_by_signer",
        "canFill": true
      },
      {
        "key": "termos_aceitos",
        "fieldUuid": "6ba7b813-9dad-11d1-80b4-00c04fd430c8",
        "type": "checkbox",
        "label": "Aceito os termos",
        "value": ["opcao_a"],
        "status": "filled",
        "displayState": "filled_by_signer",
        "canFill": true
      }
    ]
  }
  ```

  ```json theme={"theme":"catppuccin-latte"}
  HTTP/1.1 400 Bad Request
  Content-Type: application/json

  {
    "statusCode": 400,
    "message": "Field 'nome_cliente' is locked and cannot be edited"
  }
  ```
</ResponseExample>

## Exemplo

```bash theme={"theme":"catppuccin-latte"}
curl -X PATCH "https://signer.vcc-service.com/v1/sign/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.../fields" \
  -H "Content-Type: application/json" \
  -d '{
    "values": [
      {
        "key": "data_assinatura",
        "value": "2025-12-31"
      },
      {
        "key": "termos_aceitos",
        "value": ["opcao_a", "opcao_c"]
      }
    ]
  }'
```

## Relacionado

* [`GET /v1/sign/:sessionToken`](/plataforma/assinatura-digital/api/get-sign-session) — obter estado da sessão e campos
* [`POST /v1/sign/:sessionToken/sign`](/plataforma/assinatura-digital/api/post-sign) — assinar após preencher campos
