Replace email campaign steps
Deprecated
PATCH
Replaces the full ordered list of steps (the sequence). The campaign must not be RUNNING or ARCHIVED. Steps after the first must have delay.amount > 0, and a step may have at most one disabled version. Changing the step count resets the cached stats. New integrations should use the multichannel /advanced campaign endpoints instead.
Authorization
apiKey Authorization<token>
Your 48 character API key, sent as is (a Bearer prefix is tolerated). Create it at https://v3.emelia.io/settings/api.
In: header
Path Parameters
campaignId*string
Mongo ObjectId of the campaign.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X PATCH "https://example.com/emails/campaigns/65f1a2b3c4d5e6f73478765e/steps" \ -H "Authorization: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "steps": [ { "delay": { "amount": 0, "unit": "DAYS" }, "versions": [ { "subject": "Quick question, {{firstName}}", "message": "<p>Hi {{firstName}},</p>" } ] }, { "delay": { "amount": 2, "unit": "DAYS" }, "versions": [ { "subject": "", "message": "<p>Following up.</p>" } ] } ] }'{ "success": true, "campaign": { "_id": "6650f1a2b839d8000b13890b", "userId": "6650f1a2b839d800555fdeb3", "name": "Q4 outreach: SaaS founders", "status": "DRAFT", "provider": "6650f1a2b839d800d6193fc9", "useManyProviders": true, "providersUsed": [ "6650f1a2b839d800c15749e7" ], "schedule": { "bcc": "", "dailyContact": 35, "dailyLimit": 100, "minInterval": 60, "maxInterval": 180, "blacklistUnsub": true, "trackLinks": true, "trackOpens": true, "timeZone": "Europe/Paris", "days": [ 1 ], "start": "08:00", "end": "17:00", "eventToStopMails": [] }, "steps": [ { "_id": "6650f1a2b839d8004d4acc0a", "delay": { "amount": 1, "unit": "DAYS" }, "versions": [ { "_id": "6650f1a2b839d800ef395699", "subject": "Quick question about Nexora", "message": "Hi Claire, thanks for your reply. Are you free for a call on Thursday?", "disabled": false, "rawHtml": true, "attachments": [], "options": {} } ] } ], "recipients": { "lists": [ {} ], "contacts": [ "6650f1a2b839d800cdc683a1" ], "processing": true }, "zapierData": [ { "webhookUrl": "https://hooks.yourcompany.com/emelia", "events": [] } ], "createdAt": "2026-10-06T09:30:00.000Z", "startAt": "2026-10-06T09:30:00.000Z", "estimatedEnd": "2026-10-06T09:30:00.000Z", "plannedStart": "2026-10-06T09:30:00.000Z" }}