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

# Notify

> Shared transactional messaging with locked business attribution.

Notify is a separate shared-sender product for transactional Utility messages. You do not need to rent or connect a dedicated number, and you do not receive shared-number management access.

### 1. Create an attributed template

Your organization identity must be verified by platform administration. Then call `POST /notify/templates` with `templates:write`:

```json theme={null}
{
  "projectId": "<project-uuid>",
  "name": "order_ready",
  "language": "en_US",
  "body": "Your order {{1}} is ready for collection.",
  "examples": ["001"]
}
```

The server uses the already verified organization name and produces:

```text theme={null}
Message from Verified Business

Your order {{1}} is ready for collection.

Sent via Sweefta Konnect
```

Customers edit only their message body. There is no organization-name field, footer override or arbitrary category. The final attributed body is limited to 1,024 characters; the editable body is limited to 800. Changes require a new draft. Platform-generated provider names prevent collisions between organizations sharing a WABA.

Preview the general format using `/templates/notify-preview` or inspect the actual saved draft through `/notify/templates/{id}`. After identity changes, create and approve a new template; the server will not silently send an old identity.

### 2. Submit and wait for review

`POST /notify/templates/{id}/submit` requires enabled, approved shared service infrastructure. Approval is asynchronous through Meta webhook updates. Drafts can be exercised in Sandbox without submission. `Submitting` with an unknown external outcome requires operator reconciliation rather than an automatic repeated submission.

### 3. Send

Record genuine contact opt-in first. Call `POST /notify/messages` with `notify:send`, a stable `Idempotency-Key` and:

```json theme={null}
{
  "projectId": "<project-uuid>",
  "environmentId": "<environment-uuid>",
  "templateId": "<notify-template-uuid>",
  "recipient": "+2348031234568",
  "variables": ["001"]
}
```

Live sends require the approved template on the currently enabled shared Notify sender. Sandbox creates a `Simulated` message without Meta delivery or a debit. HTTP 202 is durable acceptance, not delivery. Use `/notify/messages/{id}` and `notify.message-status` events to track progress. `messages:read` grants this metadata access; no shared sender grant is needed.

Accepted Live sends finalize the published Notify price plus one 7.5% VAT. Later receipts do not charge again. Shared numbers do not provide automatic inbound routing, conversations or AI responders. See [availability](https://docs.sendlyy.app/guides/availability.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.