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

# Introduction

> Send verification codes, reminders, and urgent alerts via SMS from the dashboard or API, with delivery tracking and replies.

<Tip>
  SMS is the **pocket alarm**: short text that reaches any phone, no internet or app required. Ideal for OTP, reminders, and urgent alerts.
</Tip>

## What is SMS on Notifique?

It's the channel to send **short text** (9 to 160 characters) straight to the recipient's phone. You send from the **dashboard or API**; the platform handles queue, retries, and status for each message.

You can:

* **Send** verification codes (OTP) and one-time passwords
* **Remind** about appointments, deliveries, and deadlines
* **Reach** customers without WhatsApp or without an app installed
* **Schedule** sends for a future date and time
* **Query** history and status for each SMS
* **Receive** customer replies (MO) and track them via webhook

Think of a note on a car windshield: few words, read immediately, no app needed.

<Note>
  Unlike WhatsApp, SMS **does not use an instance** (paired number). You only need an API Key with the right scope and recipients in international format (e.g. `5511999999999`, no `+`).
</Note>

## When to use it?

It works very well for **verification codes**, **urgent reminders**, and **customers without WhatsApp**. For long text with images, prefer [email](/en/emails-api/como-funciona/introducao). Mass campaigns are possible, but SMS uses more credits, weigh cost first.

## How it works in practice

1. **Create** an API Key with `sms:send` (and `sms:read` / `sms:cancel` if querying or canceling)
2. **Send** to one or many numbers with `POST /v1/sms/messages` (up to **100** per call)
3. The platform **queues, sends, and updates status**; your backend gets notifications if you set up [webhooks](/en/sms-api/como-funciona/eventos-do-webhooks)

<Note>
  Each **API Key** belongs to **one** workspace. On v1 **do not send** `x-workspace-id`. If that header is present, the API returns **400** (`WORKSPACE_HEADER_NOT_ALLOWED`).
</Note>

## Message lifecycle

After send, an SMS moves through statuses like `QUEUED` (in queue), `SENT` (at the carrier), `DELIVERED` (confirmed on the phone), or `FAILED` (invalid number, block, etc.). Scheduled sends start as `SCHEDULED`; cancellations become `CANCELLED`.

API cancellation works while status is **`QUEUED`** or **`SCHEDULED`**.

## What you can do

* **Send** to 1 to 100 international numbers per call
* **Schedule** with `schedule.sendAt`
* **Query** history or a send by id
* **Cancel** queued or scheduled sends
* **Read inbound SMS** (MO) with `sms:read`
* **Idempotency** with `Idempotency-Key` header to avoid duplicates
* **Track clicks** on short links (`sms.clicked` webhook)

Each SMS costs **30 credits** (plan) or **R\$ 0.12** (pay-as-you-go). See [Billing](/en/guides/introducao/cobranca-e-pague-pelo-uso).

Field and error details: **API reference** on the SMS tab.

## After your first send

* **Track** delivery and failure via [webhooks](/en/sms-api/como-funciona/eventos-do-webhooks) (`sms.sent`, `sms.delivered`, `sms.failed`)
* **Process replies** with `sms.received` and `sms.replied`, guide: [Inbound messages](/en/guides/webhooks/mensagens-recebidas-e-respostas)
* **Test** in [Sandbox](/en/guides/sandbox/index) with `sk_test_...` before production

## Next steps

* [Quick Start](/en/sms-api/como-funciona/quick-start): first send via API
* [API Key scopes](/en/sms-api/como-funciona/escopos-da-api-key): permissions
* [Webhook events](/en/sms-api/como-funciona/eventos-do-webhooks): what hits your URL
* [Start here](/en/guides/introducao/comece-aqui): general platform integration
