Skip to content
View as Markdown
Enter your site to enable Send. Requests are sent from your browser, so the site must allow cross-origin calls (CORS).

POST Send Subscriber SMS​

POST
/messaging/subscribers/{id}/send

Send a one-off SMS to a contact's phone number immediately (controller method sendCustomSMS). The send runs inline and the response reflects the real outcome rather than "queued". A Custom SMS to {name} campaign record is created and referenced so the send appears in campaign reporting; the message is recorded in the contact's SMS thread.

This endpoint is SMS only: it does not read a channel parameter. WhatsApp sends go through POST /whatsapp/subscribers/{id}/send (templates, 24-hour session) or, for an existing conversation, POST /messaging/threads/{id}/messages.

Checks, in order: SMS channel enabled, contact exists, message present, contact has a phone, contact is subscribed for SMS (consent lives on threads), message at most 1600 characters. Every one of these failures is returned as HTTP 422; the body carries {message, code} where code is 400 (or 404 for a missing contact), so branch on the body code, not the HTTP status. If the provider rejects the message the response is 422 with the provider's text. If the message is still claimable (another worker owns it) the response is 200 with Queued - it will be sent as soon as its queue worker runs. Replaces POST /sms/subscribers/{id}/send. PRO (FluentCampaign Pro Messaging module).

Required capability: fcrm_read_emails or fcrm_manage_emails — which one applies depends on the action being performed.

Enforced by MessagePolicy::verifyRequest(), the policy default for this route group.

Requires: FluentCampaign Pro with the Messaging module enabled. While no messaging channel (SMS or WhatsApp) is switched on the route is not registered at all and returns a 404.

Authorizations​

ApplicationPasswords

WordPress Application Passwords — use Basic auth with your WordPress username and an application password in the format: username:application_password

Type
API Key (header: Authorization)

Parameters​

Path Parameters

id*

Subscriber (contact) ID.

Type
integer
Required

Request Body​

application/json
JSON
{
"message": "string",
"from_number": "string"
}

Responses​

SMS sent (or queued).

application/json
JSON
{
"message": "string"
}

Playground​

Authorization
Variables
Key
Value
Body

Samples​

Powered by VitePress OpenAPI