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).

GET List Messaging Campaigns​

GET
/messaging/campaigns

Paginated list of campaigns of type = campaign, newest first by default. Unlike most messaging routes, channel here is a filter: omit it to list campaigns of every channel, pass sms or whatsapp to narrow. Any other value is used as-is as a filter and matches nothing. With with[]=stats each row also carries next_step and its labels. PRO — requires the FluentCampaign Pro Messaging module with at least one channel (SMS or WhatsApp) active.

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​

Query Parameters

searchBy

Substring match on the campaign title.

Type
string
statuses

Only campaigns in these statuses (e.g. statuses[]=draft&statuses[]=working).

Type
array
channel

Filter by channel: sms or whatsapp. Omit for all channels.

Type
string
Valid values
"sms""whatsapp"
labels

Only campaigns carrying any of these label (term) ids.

Type
array
with

Extra data to load. stats adds next_step and labels to every row.

Type
array
Valid values
"stats"
sort_by

Column to sort by: id, parent_id, type, title, slug, status, message_content, sender_number, recipients_count, sent_count, failed_count, delay, scheduled_at, settings, channel, created_by, created_at, updated_at. Unknown values fall back to id.

Type
string
Default
"id"
sort_type

Sort direction. Anything other than ASC is treated as DESC.

Type
string
Valid values
"ASC""DESC"
Default
"DESC"
page

Page number to return.

Type
integer
Default
1
per_page

Rows per page.

Type
integer
Default
15

Responses​

Paginated campaigns.

application/json
JSON
{
"campaigns": {
"total": 0,
"per_page": 0,
"current_page": 0,
"last_page": 0,
"from": 0,
"to": 0,
"next_page_url": "string",
"prev_page_url": "string",
"data": [
{
"id": 0,
"parent_id": 0,
"type": "string",
"title": "string",
"slug": "string",
"status": "string",
"message_content": "string",
"sender_number": "string",
"recipients_count": 0,
"sent_count": 0,
"failed_count": 0,
"delay": 0,
"scheduled_at": "string",
"settings": {
"sending_filter": "string",
"sending_type": "string",
"is_transactional": "string",
"subscribers": [
{
"list": "string",
"tag": "string"
}
],
"excludedSubscribers": [
{
"list": "string",
"tag": "string"
}
],
"dynamic_segment": {
"id": "string",
"slug": "string"
},
"advanced_filters": [
[
]
],
"template_id": 0,
"template_variables": {
"additionalProperties": "string"
},
"one_time_audience": {
"active_batch_id": "string",
"accepted_count": 0,
"default_country": "string",
"consent_user_id": 0,
"consent_channel": "string",
"consent_confirmed": "string"
}
},
"channel": "string",
"created_by": 0,
"created_at": "string",
"updated_at": "string",
"next_step": "string",
"labels": [
{
"id": 0,
"slug": "string",
"title": "string",
"color": "string"
}
],
"server_time": "string"
}
]
}
}

Playground​

Authorization
Variables
Key
Value

Samples​

Powered by VitePress OpenAPI