Campaigns API
GET /api/v1/campaigns
Returns the workspace's campaigns, newest first. Requires the read:campaigns scope.
Request
GET /api/v1/campaigns?status=DRAFT HTTP/1.1
Host: agentlyleads.com
Authorization: Bearer alk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxQuery parameters
| Parameter | Description |
|---|---|
status | DRAFT, SCHEDULED, SENDING, SENT, CANCELED or OUTREACH |
offeringId | Only campaigns promoting this product |
q | Free text: matches the name or subject |
updatedSince | ISO 8601 datetime. Only campaigns updated at or after this moment |
limit | Page size, 1 to 1000 (default 100) |
cursor | The nextCursor value from the previous page |
Response (200)
{
"campaigns": [
{
"id": "cmq2camp0alk34567890",
"name": "Spring restock",
"subject": "Restocking for spring, {{firstName}}?",
"bodyHtml": "<p>Hi {{firstName}},</p><p>...</p>",
"status": "DRAFT",
"segment": { "type": "tag", "tagId": "cmq2tag00alk34567890", "contactIds": null },
"fromEmail": null,
"offering": { "id": "cmq2offr0alk34567890", "name": "Lick salt" },
"scheduledAt": null,
"recipientCount": 0,
"createdAt": "2026-09-20T10:00:00.000Z",
"updatedAt": "2026-09-20T10:00:00.000Z"
}
],
"nextCursor": null
}