Only Meta-approved message templates can be used in campaigns. Ensure your template has
status: "approved" before referencing it in a campaign. See the Templates API for details on submitting and checking template status.GET /workspaces//campaigns
List all broadcast campaigns in a workspace, with optional filtering by status and pagination.Path Parameters
string
required
The unique ID of the workspace whose campaigns you want to list.
Query Parameters
string
Filter campaigns by their current status. Accepted values:
draft, scheduled, running, completed, failed.integer
Page number to retrieve. Defaults to
1.integer
Number of results per page. Defaults to
20. Maximum is 100.Request
List campaigns
Response
POST /workspaces//campaigns
Create a new broadcast campaign. Ifscheduled_at is provided the campaign is saved with status: "scheduled". If omitted the campaign is saved as "draft" and can be launched manually using the launch endpoint.
Path Parameters
string
required
The unique ID of the workspace to create the campaign in.
Body Parameters
string
required
A human-readable name for the campaign (e.g.
"June Summer Sale").string
required
The ID of the WhatsApp channel (connected number) to send the campaign from.
string
required
The exact name of the approved template to use (e.g.
summer_sale_announcement). The template must have status: "approved".string
required
The language code of the template to use (e.g.
en, es, pt_BR).object
required
Defines the audience for the campaign. Provide exactly one of the following:
string
An ISO 8601 datetime string for when to send the campaign (e.g.
"2024-07-15T10:00:00Z"). If omitted, the campaign is saved as a draft and must be launched manually.object
Maps template variable numbers to contact field names, so each message is personalised with the recipient’s data. For example,
{"1": "first_name", "2": "order_number"} replaces {{1}} in the template with the contact’s first_name field.Request
Create a campaign
Response
POST /workspaces//campaigns//launch
Immediately launch a campaign that is indraft status. Use this endpoint when you want to send a campaign right now without setting a scheduled_at time.
Path Parameters
string
required
The unique ID of the workspace.
string
required
The unique ID of the draft campaign to launch.
Request
Create and immediately launch a campaign
Response
GET /workspaces//campaigns//stats
Retrieve real-time delivery and engagement statistics for a campaign.Path Parameters
string
required
The unique ID of the workspace.
string
required
The unique ID of the campaign.
Request
Get campaign stats

