Less boo. More booked. Halloween offer: 30 days free on any paid plan. Claim 30 days freeEvery new account gets one free mailbox for warmup and replies. No domain to buy. See how it works

Skip to content

List campaigns

API referenceCampaigns

From the Campaigns API reference. Requests use the base URL https://app.warmerly.com/api/v1 and an API key, see Authentication.

text
GET /campaigns

Requires X-Project-Id. Returns every campaign in the project with live counters joined in (lead/email totals), most recently created first, plus the project's dashboard roll-up: summary (counts across campaigns that are not archived), period (the last 30 days against the 30 before), activity (daily sends, replies and bounces for the last 30 days), funnel, sparklines (daily sends per campaign) and topCampaigns. Archived campaigns are included in campaigns but not counted in the roll-up.

bash
curl https://app.warmerly.com/api/v1/campaigns \
  -H "X-Api-Key: wmv_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "X-Project-Id: 8f14e45f-ceea-4c6a-8c8d-6b1a5b5c9c1a"
json
{
  "campaigns": [
    {
      "id": "b6a1e7b0-2f2b-4b7a-8e2a-1a2b3c4d5e6f",
      "name": "Q3 outbound - agencies",
      "status": "active",
      "createdAt": "2026-06-01T09:00:00.000Z",
      "startedAt": "2026-06-02T09:00:00.000Z",
      "completedAt": null,
      "assignedToUserId": null,
      "assignedToName": null,
      "assignedToEmail": null,
      "totalLeads": 240,
      "completedLeads": 51,
      "sentCount": 312,
      "repliedCount": 9,
      "bouncedCount": 4,
      "failedCount": 1,
      "recentFailedCount": 0,
      "recentSentCount": 140,
      "senderCount": 2,
      "nextRunAt": "2026-07-03T09:00:00.000Z"
    }
  ],
  "summary": { "totalCampaigns": 1, "activeCampaigns": 1, "leads": 240, "sent": 312, "replies": 9, "replyRate": 0.029 },
  "period": { "current": { "sent": 312, "replies": 9, "bounced": 4, "replyRate": 0.029 }, "previous": { "sent": 0, "replies": 0, "bounced": 0, "replyRate": 0 } },
  "activity": [ { "date": "2026-07-02", "sent": 40, "replies": 1, "bounced": 0 } ],
  "funnel": { "sent": 312, "replied": 9, "bounced": 4 },
  "sparklines": { "b6a1e7b0-2f2b-4b7a-8e2a-1a2b3c4d5e6f": [0, 12, 30] },
  "topCampaigns": [ { "id": "b6a1e7b0-2f2b-4b7a-8e2a-1a2b3c4d5e6f", "name": "Q3 outbound - agencies", "replies": 9 } ]
}

Each campaign row has no click counts or goal targets; read GET /campaigns/{id} for the full campaign and GET /campaigns/{id}/stats for clicks. replyRate values are fractions between 0 and 1. nextRunAt is the earliest scheduled send among queued and active leads, or null.

Was this page helpful?