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

# Recusar assinatura

> Signatário recusa assinar o documento, indicando o motivo.

Permite que o signatário recuse a assinatura do documento. A recusa deve incluir um motivo textual (5–500 caracteres). O envelope passa para estado `REFUSED` e um webhook `EXPIRED` é disparado.

**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="reason" type="string" required>
  Motivo da recusa (texto, 5–500 caracteres). Exemplos: `"Documento não está claro"`, `"Preciso revisar com meu advogado"`.
</ParamField>

## Respostas

<ResponseField name="envelopeUuid" type="string">
  UUID do envelope.
</ResponseField>

<ResponseField name="state" type="string">
  Novo estado: `REFUSED`.
</ResponseField>

<ResponseField name="refusedAt" type="string">
  Timestamp da recusa (ISO 8601).
</ResponseField>

<ResponseField name="refusalReason" type="string">
  Motivo da recusa (texto fornecido).
</ResponseField>

<ResponseField name="redirectUrl" type="string">
  URL sugerida para redirecionar o signatário (ex: página de agradecimento).
</ResponseField>

## Erros

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

* **400**: Motivo ausente, com menos de 5 caracteres ou com mais de 500 caracteres.
* **404**: Session token inválido.
* **410**: Session token expirado.
* **409**: Envelope já foi assinado (ou está em outro estado terminal).

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

  {
    "envelopeUuid": "550e8400-e29b-41d4-a716-446655440000",
    "state": "REFUSED",
    "refusedAt": "2025-07-27T15:30:00.000Z",
    "refusalReason": "Documento precisa de revisão antes de assinar",
    "redirectUrl": "https://seu-app.com/assinatura/recusado"
  }
  ```

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

  {
    "statusCode": 400,
    "message": "Reason must be between 5 and 500 characters"
  }
  ```

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

  {
    "statusCode": 409,
    "message": "Cannot refuse: envelope is not in a pending state"
  }
  ```
</ResponseExample>

## Exemplo

```bash theme={"theme":"catppuccin-latte"}
curl -X POST "https://signer.vcc-service.com/v1/sign/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.../refuse" \
  -H "Content-Type: application/json" \
  -d '{
    "reason": "Preciso revisar este documento com meu advogado antes de assinar"
  }'
```

## Relacionado

* [`GET /v1/sign/:sessionToken`](/plataforma/assinatura-digital/api/get-sign-session) — obter estado da sessão
* [`GET /v1/envelopes/:uuid`](/plataforma/assinatura-digital/api/get-envelope-by-id) — verificar estado do envelope e motivo
* [`GET /v1/envelopes/:uuid/history`](/plataforma/assinatura-digital/api/get-envelope-history) — histórico de ações (inclui recusa)
