Campaigns

Get a campaign

GET/campaigns/{campaignId}Scope campaigns:read

Returns a broadcast you started with Start a campaign: whether it is scheduled, sending or done, and where its recipients have got to.

The counts only ever narrow: every delivered message was sent, and every read one was delivered, even when WhatsApp never sent the delivered receipt.

Path parameters

  • campaignIdstringrequired

    The campaignId Start a campaign returned.

Good to know

  • status is scheduled, sending, paused, completed, failed or cancelled.
  • recipients.pending are still waiting to go. failed ones have WhatsApp's reason in the campaign report in the dashboard.
  • Counts follow delivery receipts, so delivered and read keep rising for a while after completed.

Errors

StatusCodeWhen
404NOT_FOUNDNo broadcast with that id in your workspace. An API campaign is not a broadcast and is not shown here.

Plus the errors any endpoint can return, such as a missing key or scope. See Errors.

# macOS, Linux or Git Bash, with WAMAFY_API_KEY set. The quoting does not work in Windows cmd or PowerShell.
curl "https://api.wamafy.com/api/v1/public/campaigns/3c5e7a9b-1d2f-4a6c-8e0b-2d4f6a8c0e13" \
  -H "Authorization: Bearer $WAMAFY_API_KEY"
Response 200
{
  "success": true,
  "data": {
    "campaignId": "3c5e7a9b-1d2f-4a6c-8e0b-2d4f6a8c0e13",
    "name": "Diwali VIP",
    "templateName": "diwali_offer",
    "status": "completed",
    "scheduledAt": null,
    "startedAt": "2026-10-07T10:00:00.000Z",
    "completedAt": "2026-10-07T10:02:11.000Z",
    "recipients": {
      "total": 1240,
      "pending": 0,
      "sent": 1218,
      "delivered": 1190,
      "read": 802,
      "failed": 22
    }
  }
}

Base URL https://api.wamafy.com/api/v1/public

    Get a campaign - Wamafy API