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

# Enviar uma mensagem de texto — POST /v1/messages/send

> Envie uma mensagem de texto livre de WhatsApp usando o modo de texto do POST /v1/messages/send com autenticação x-api-key.

# Enviar uma mensagem de texto

Texto livre é um dos três modos mutuamente exclusivos do **único** endpoint de envio — não existe um endpoint separado `/messages/text`:

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

## Requisição

Autentique com sua chave de API **com escopo de número** no header `x-api-key`.

<ParamField body="destinationNumber" type="string" required>
  Telefone de destino em **E.164** com `+` inicial (ex.: `+5511999999999`).
</ParamField>

<ParamField body="text" type="string" required>
  Corpo da mensagem de texto livre. Mutuamente exclusivo com `templateId` e com mídia direta (`media` + `mediaType`).
</ParamField>

<ParamField body="deliverAt" type="string">
  Data e hora ISO 8601 opcional para agendar o envio.
</ParamField>

```bash theme={null}
curl -X POST "https://pilotstatus.com.br/v1/messages/send" \
  -H "Content-Type: application/json" \
  -H "x-api-key: ps_sua_chave_aqui" \
  -d '{
    "destinationNumber": "+5511999999999",
    "text": "Oi! Sua entrega foi confirmada para amanhã."
  }'
```

## Resposta (202)

```json theme={null}
{
  "id": "msg_abc",
  "correlationId": "corr_123",
  "status": "QUEUED"
}
```

O **`id`** do `202` é o mesmo valor de **`data.id`** nos webhooks de entrega (`message.sent`, `message.delivered`, `message.read`, `message.failed`) — veja [Eventos de webhook](/pt-BR/api/webhooks/events). O `correlationId` é gerado pela plataforma e se repete nos eventos correlacionados.

## Observações

* Texto livre **não usa template** — nada precisa ser aprovado antes.
* Em números **Meta Cloud API**, texto livre só funciona dentro da **janela de conversa de 24h** do WhatsApp; fora dela o envio falha de forma assíncrona com `META_OUTSIDE_24H_WINDOW` no webhook `message.failed` — use um template aprovado em vez disso.
* Para a **lista completa de parâmetros** (destinos, agendamento, labels, botões, header/footer), veja [Enviar uma mensagem](/pt-BR/api/messages/send).
