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

# Notify (multichannel fallback)

> Send with a declared cascade: try WhatsApp, then SMS, email, etc., with waitMinutes between steps.

<Tip>
  **Notify** is the shortcut for **cascades**: declare up to **5** steps in `fallback[]`; Notifique queues the first channel and, when configured, later steps after `waitMinutes`.
</Tip>

## Endpoint

```http theme={null}
POST https://api.notifique.dev/v1/notify
Authorization: Bearer sk_live_...
Content-Type: application/json
```

## Body

| Field      | Required | Description                                      |
| ---------- | -------- | ------------------------------------------------ |
| `to`       | Yes      | 1–500 recipients (phone, email, device ID, etc.) |
| `fallback` | Yes      | 1–5 ordered steps                                |
| `metadata` | No       | Optional JSON object                             |

Each `fallback[]` step:

| Field                                                                     | Description                                                                 |
| ------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| `channel`                                                                 | `whatsapp`, `sms`, `email`, `telegram`, `push`, `rcs`, `instagram`, `voice` |
| `waitMinutes`                                                             | Optional (0–10080). Wait before this step in the cascade                    |
| `type`                                                                    | Optional message type (`text`, `image`, `speak`, …)                         |
| `payload`                                                                 | Optional channel-specific object (merged with flat fields)                  |
| `message`, `subject`, `html`, `text`, `from`, `title`, `body`, `appId`, … | Flat fields per channel                                                     |

## Scopes

Each channel in `fallback` requires its send scope:

| Channel   | Scope            |
| --------- | ---------------- |
| WhatsApp  | `whatsapp:send`  |
| SMS       | `sms:send`       |
| Email     | `email:send`     |
| Telegram  | `telegram:send`  |
| Push      | `push:send`      |
| RCS       | `rcs:send`       |
| Instagram | `instagram:send` |
| Voice     | `voice:call`     |

## **202** response

```json theme={null}
{
  "success": true,
  "data": {
    "steps": [
      { "channel": "whatsapp", "referenceId": "...", "status": "queued" }
    ],
    "sandbox": true
  }
}
```

With `sk_test_...`, the response may include `sandbox: true` (Sandbox inbox).

## Common errors

| HTTP / `code`                 | Situation                                 |
| ----------------------------- | ----------------------------------------- |
| **401** `UNAUTHORIZED`        | Invalid API key                           |
| **402** `WORKSPACE_BLOCKED`   | Blocked plan/trial                        |
| **403** `FORBIDDEN`           | Missing scope for a channel in `fallback` |
| **429** `SANDBOX_DAILY_LIMIT` | Sandbox daily limit                       |
| **400** `BAD_REQUEST`         | Invalid payload or cascade failure        |

Catalog: [Error responses](/en/guides/conceitos/resposta-de-erros).

## Next steps

* \[Template magic]\(/en/guides/simples assim/a-magia-dos-templates)
* [Platform scopes](/en/platform-api/como-funciona/escopos-api-key)
* [Sandbox](/en/guides/sandbox/index)
