Send a message to a contact or a WhatsApp group
Send a message to a contact via WhatsApp, Instagram, or Facebook, or to a WhatsApp group.
Important Notes
Sending to a WhatsApp group
Set to to group:<id> using the group id from GET /v2/groups, for example group:123.
{ "to": "group:123", "channel": "whatsapp", "content": { "type": "text", "text": { "body": "Call summary attached" } } }
- Groups accept text, image, video, audio, document and template content.
- Media must be a public https URL in link. Groups cannot resolve an uploaded media id.
- Templates are billed by Meta as one conversation per delivered participant.
- Meta does not accept QUICK_REPLY, LIST, PRODUCT_LIST, CATALOG or FLOW components in groups. URL, phone number and copy code buttons are fine.
- Groups are WhatsApp only, and a group is always messaged from the channel that owns it, so omit options.from.
- A group send never changes who the conversation is assigned to. DeliveryBoost does not apply, since it retries a single recipient.
- The per-contact marketing opt-out is not applied to groups, because a group has many participants and no single opt-out state. Check your own audience before sending marketing templates to a group.
Channel Selection (options.from)
⚠️ If you have multiple WhatsApp channels connected, you MUST specify options.from with the phone number of the channel you want to send from. Otherwise, messages may be routed through the wrong channel.
Template Messages
- Template name must be EXACT: The template name must exactly match what's approved in your WhatsApp Business Manager. Typos will cause "template not found" errors.
- All template variables are MANDATORY: Every placeholder in your template must have a corresponding parameter. Empty or null values will cause the message to fail. Use fallback values like "User" or "Customer" if you don't have the actual data.
- Template must be approved: The template must be approved in the specific WhatsApp Business Account you're sending from.
Content Format
For WhatsApp, the content follows the WhatsApp Cloud API format. You can omit to and messaging_product fields as they are populated automatically.
DeliveryBoost (Marketing Sends)
Marketing template messages are automatically retried when they fail due to WhatsApp's per-user marketing limit (Meta error 131049). The first retry fires 10 hours after the failure, then every 5 hours, for up to 12 attempts across a 72-hour window.
DeliveryBoost is ON by default for marketing sends. When enabled and the message is a marketing template, the response includes a deliveryBoost object confirming retries are scheduled.
To disable retries, pass "deliveryBoost": false in the request body. See the "Marketing send with DeliveryBoost disabled" example below. This is useful for time-sensitive campaigns where a delayed delivery would be worse than no delivery.
Request
- Base URLhttps://api.spurnow.com
- AuthHTTP bearer
Request body
Example request
{
"to": "919876543210",
"channel": "whatsapp",
"options": {
"from": "919876543210"
},
"deliveryBoost": true
}Response
Message accepted and persisted.
Example response
{
"id": 981273,
"metaMessageId": "wamid.HBgMOTE5ODc2NTQzMjEwFQIAERgSNkQ5MjhEMUE5QkQ0NTM0RkI1AA==",
"sentDateTime": "2026-02-14T10:20:30.000Z",
"deliveryPath": "plain",
"warning": "Marketing messages are not guaranteed delivery due to WhatsApp per-user marketing limits."
}Changes
No recorded changes to this operation across all 1 revision of this API.