Common Use Cases
Send an immediate transactional message
Send an immediate transactional message
Schedule a marketing campaign
Schedule a marketing campaign
Send with custom sender ID
Send with custom sender ID
Send via specific channel
Send via specific channel
Error Handling
The Notify API returns specific error codes for different scenarios:| Error Code | Description | Action |
|---|---|---|
unsubscribed | Recipient has opted out of marketing messages | Update your records and don’t retry |
template_not_found | Template ID doesn’t exist | Check template ID with your CSM |
invalid_phone_number | Phone number format is invalid | Validate phone number format |
insufficient_balance | Account balance is too low | Top up your account |
template_not_validated | Marketing template not approved | Contact your CSM |
category_forbidden | Message category forbidden in country | Use a different template |
Related Documentation
- Webhooks - Receive delivery updates and subscription events
- Marketing Compliance - Understand compliance rules by country
- Subscription Management - Handle opt-out/opt-in flows
- Scheduling - Advanced scheduling and timezone handling
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The recipient's phone number in E.164 format.
"+33612345678"
The template identifier configured by your Customer Success team.
"template_01k8ap1btqf5r9fq2c8ax5fhc9"
The Sender ID. Must be approved for your account.
A BCP-47 formatted locale string with the language the text message will be sent to. If there's no locale set, the language will be determined by the country code of the phone number. If the language specified doesn't exist, the default set on the template will be used.
"el-GR"
"fr-FR"
The variables to be replaced in the template.
{ "order_id": "12345", "amount": "$49.99" }The message expiration date in RFC3339 format. The message will not be sent if this time is reached.
"2025-12-25T18:00:00Z"
Schedule the message for future delivery in RFC3339 format. Marketing messages can be scheduled up to 90 days in advance and will be automatically adjusted for compliance with local time window restrictions.
"2025-12-25T10:00:00Z"
The URL where webhooks will be sent for message delivery events.
"https://your-app.com/webhooks/notify"
A user-defined identifier to correlate this message with your internal systems. It is returned in the response and any webhook events that refer to this message.
80"order-12345"
The preferred channel to be used in priority for message delivery. If the channel is unavailable, the system will fallback to other available channels.
sms, whatsapp "whatsapp"
Response
OK
The message identifier.
"tx_01k8ap1btqf5r9fq2c8ax5fhc9"
The recipient's phone number in E.164 format.
"+33612345678"
The template identifier.
"template_01k8ap1btqf5r9fq2c8ax5fhc9"
The variables to be replaced in the template.
{ "order_id": "12345", "amount": "$49.99" }The message expiration date in RFC3339 format.
"2025-12-25T18:00:00Z"
The message creation date in RFC3339 format.
"2025-10-24T12:00:00Z"
The Sender ID used for this message.
"YourBrand"
The callback URL where webhooks will be sent.
"https://your-app.com/webhooks/notify"
A user-defined identifier to correlate this message with your internal systems.
80"order-12345"
When the message will actually be sent in RFC3339 format with timezone offset. For marketing messages, this may differ from the requested schedule_at due to automatic compliance adjustments.
"2025-12-25T08:00:00-05:00"