Skip to content

Send an email or SMS

Use this guide to queue an email or SMS to clients and follow its processing status.

Both channels use POST /api/v2/management/communications/. In the reference, select the email or SMS request variant; channel identifies which contract you are sending. Use the authentication and JSON headers shown in the class booking example.

An email requires a non-blank subject and accepts up to 10,000 message characters.

{"channel":"email","client_ids":[123],"subject":"Your next visit","message":"Hello {firstname}, we look forward to seeing you."}

An SMS accepts up to 1,000 message characters and must omit subject entirely.

{"channel":"sms","client_ids":[123],"message":"Hello {firstname}, your session starts at 10:00."}

Each request accepts 1 to 100 distinct client IDs. Recipient placeholders in message text include {firstname}, {lastname} and {unsubscribe_link}. Names come from the recipient's client profile; an empty name supplies an empty value. Company placeholders include {company_name} and {currency}. The request does not accept a custom placeholder map. Avoid unrecognised placeholders: they are not a supported way to supply application data.

The client list is not an exclusive delivery list

Shared-contact and household relationships can add recipients beyond client_ids. Do not use this endpoint for content that must go exclusively to the listed people. recipient_count counts associated recipient records, not confirmed deliveries.

A 202 response returns id, channel and status=queued. Save that ID and retrieve /communications/{id}/ to follow processing. The available states have these meanings.

Status Meaning
queued Processing is pending.
processed Processing finished; delivery to each recipient is not confirmed.
failed Processing failed. This does not establish that no recipient received a message.
unknown A processing status cannot be provided.
sent Reserved; currently not returned.

There is no idempotency key. After a lost response, the API provides no correlation filter to identify that attempt conclusively. Do not automatically resend: that can duplicate messages. Reads only return messages queued through this API, not Back Office or automation sends.

Sending has a separate limit of 10 requests per minute per company and franchise context, shared across API keys and managers. See Rate limits.