> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pilotstatus.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# DELETE /v1/messages/cancel — Cancelar Envios Agendados

> Cancele o agendamento de mensagens ainda na fila para envio futuro.

# Cancelar Envios Agendados

```text theme={null}
DELETE https://pilotstatus.com.br/v1/messages/cancel
```

Cancela o **agendamento** de uma ou mais mensagens que ainda estão na **fila** para envio futuro (`QUEUED` com `deliverAt` / `deliverBy` no futuro). A linha da mensagem **não** é excluída: o status passa a ser **`CANCELED`**, e os Logs + o histórico de rastreamento permanecem.

<Note>
  `CANCELED` **não** é `FAILED` e não é um dos valores de `errorCode` de erro de entrega listados em [Códigos de Erro de Log](/pt-BR/api/messages/log-error-codes).
</Note>

## Cabeçalhos

* `Content-Type: application/json`
* `x-api-key: ps_...` (ou `x-api-key-id`) — a mesma chave de `POST /v1/messages/send`

## Corpo

<ParamField body="messageIds" type="string[]" required>
  Até **100** IDs de mensagem por requisição.
</ParamField>

```json theme={null}
{ "messageIds": ["<id1>", "<id2>"] }
```

## Exemplo

```bash theme={null}
curl -X DELETE "https://pilotstatus.com.br/v1/messages/cancel" \
  -H "Content-Type: application/json" \
  -H "x-api-key: ps_your_key_here" \
  -d '{ "messageIds": ["msg_abc", "msg_def"] }'
```

<Note>
  Este endpoint usa `DELETE` com um **corpo JSON**; `curl`, `fetch` e a maioria dos clientes HTTP oferecem suporte a isso.
</Note>

## Resposta (200)

* Apenas mensagens que ainda podem ser agendadas aparecem em `cancelled`; as demais são listadas em `failed` com um `reason`.
* Após o cancelamento, `GET /v1/messages/{messageId}` retorna `"status": "CANCELED"`.
* A página de **Logs** oferece suporte ao mesmo fluxo por meio da seleção em massa de linhas agendadas.

## Erros comuns

* `400` — validação do corpo (por exemplo, `messageIds` ausente, mais de 100 IDs).
* `401` — cabeçalho de chave de API ausente/inválido.
* `403` — por exemplo, uma chave com escopo de tenant em um endpoint com escopo de número.
