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

# Editar campos do envelope

> Operador/admin preenche ou edita valores de campos dinâmicos (apenas antes da primeira assinatura).

Permite que um operador/admin preencha ou edite valores de campos dinâmicos de um envelope, desde que nenhuma assinatura tenha ocorrido ainda. Após o primeiro signatário assinar, os campos congelam.

## Parâmetros

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

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

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

    <ParamField body="fieldUuid" type="string">
      UUID interno do campo. Use `key` ou `fieldUuid`, não ambos.
    </ParamField>

    <ParamField body="value" type="string | string[] | boolean" required>
      Novo valor. Para `checkbox`, array de valores selecionados. Para booleanos, `true`/`false`. Para `date`, formato ISO 8601 (`YYYY-MM-DD`).
    </ParamField>

    <ParamField body="editable" type="boolean">
      Se o signatário pode editar este campo depois (padrão: `false`, campo fica bloqueado).
    </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, ou envelope sem template.
* **401**: API key inválido.
* **404**: Envelope não encontrado.
* **409**: Envelope já assinado (congelado) — não pode editar campos.

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

  {
    "fields": [
      {
        "key": "nome_cliente",
        "fieldUuid": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
        "type": "text",
        "label": "Nome do Cliente",
        "value": "Empresa Nova Ltda.",
        "origin": "operator",
        "status": "filled",
        "displayState": "filled_by_operator",
        "editableBySigner": false
      }
    ]
  }
  ```

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

  {
    "statusCode": 409,
    "message": "Cannot edit fields after first signature"
  }
  ```
</ResponseExample>

## Exemplo

```bash theme={"theme":"catppuccin-latte"}
curl -X PATCH "https://signer.vcc-service.com/v1/envelopes/550e8400-e29b-41d4-a716-446655440000/fields" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "values": [
      {
        "key": "nome_cliente",
        "value": "Empresa XYZ Ltda.",
        "editable": false
      },
      {
        "key": "data_assinatura",
        "value": "2025-12-31",
        "editable": true
      }
    ]
  }'
```

## Relacionado

* [`GET /v1/envelopes/:uuid/fields`](/plataforma/assinatura-digital/api/get-envelope-fields) — listar campos
* [`PATCH /v1/sign/:sessionToken/fields`](/plataforma/assinatura-digital/api/patch-sign-session-fields) — signatário preenche campos
