PlatformDocs

Email campaigns

Send email sequences to your leads from your own mailboxes, on the days and hours you choose.

Create, list, change, pause and clone your email campaigns from your own code or scripts.

Authenticated with ?privateKey=YOUR_KEY (see Authentication).

GET/admin/email-campaignsGet all email campaigns for a website
POST/admin/email-campaignsCreate new email campaign
GET/admin/email-campaigns/{id}Get single email campaign details
PUT/admin/email-campaigns/{id}Update email campaign settings
DELETE/admin/email-campaigns/{id}Delete email campaign
POST/admin/email-campaigns/cloneClone existing email campaign
GET
Try:
Parameters
Website IdID of the website
PagePage number, from 1. Below 1 or not a number counts as 1.
LimitCampaigns per page, 1–100 (default 100). Larger values are capped at 100.
Sort PropertyField to sort by (default createdAt)
OrderSort order
curl -X GET "https://rest-dash.revealid.xyz/admin/email-campaigns?privateKey=YOUR_KEY&websiteId=64b7f0a1c2d3e4f5a6b7c8d9&page=1&limit=100&order=desc"
Response
Press Send request to try it with sample data.

What each field accepts

FieldTypeLimits and formatAccepted values
websiteId*stringpattern ^[0-9a-fA-F]{24}$any
pageintegermin 1 · whole number · default 1any
limitinteger1–100 · whole number · default 100any
sortPropertystringdefault "createdAt"createdAtupdatedAtnameisActive
orderstringdefault "desc"ascdesc

Use case: List your campaigns

GET /admin/email-campaigns?websiteId=… answers totalDocs (campaigns on the website), remaining (campaigns after this page; 0 or less means the last page) and emailCampaigns. Each campaign has its _id, name, isActive, its steps (emailCampaignTemplates), stats, a health status and summary, and user, who created it (id, name and email). Pages hold 1–100 campaigns (limit, default 100) from page 1; sort with sortProperty (createdAt, updatedAt, name, isActive) and order (asc or desc, default newest first).

Use case: Pause a campaign

PUT /admin/email-campaigns/{id} with { "status": "paused" }; "active" starts it again (isActive: false/true does the same; any other status answers 405). Paused contacts keep their place; when the campaign starts again, contacts that went overdue are spread out from today instead of all sending at once.

Use case: Change the sending schedule

Send timeSlot as hours in the campaign's timezone: { "start": 8, "end": 18 } sends from 08:00 until 18:00 (start 0–23, end 1–24). daysRange lists the sending days as numbers, 0 = Sunday to 6 = Saturday, so [1, 2, 3, 4, 5] is Monday to Friday. timezone is one of the listed zones (default America/Los_Angeles).

On this page