Request
Path Parameters
The campaign’s unique ID (UUID)
Authorization: Bearer wbk_your_api_key_here
Content-Type: application/json
Requires an API key with the campaigns:write permission. New steps are appended to the end of the sequence. Fires the campaign.step_created webhook event.
Body Parameters
Email subject line. Supports merge variables: {{first_name}}, {{last_name}}, {{company_name}}, {{job_title}}.
Email body. Plain text or HTML.
Days to wait after the previous step before sending this one.
Additional hours on top of delay_days (0–23).
When to send: always, if_no_reply, if_no_open, if_opened, if_clicked.
Response
Full step object (same shape as GET /v1/campaigns/{id}/steps).
curl -X POST https://data.leadlex.com/functions/v1/api-gateway/v1/campaigns/cmp_abc123/steps \
-H "Authorization: Bearer wbk_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"subject": "Re: {{company_name}}",
"body": "Just circling back on my note from last week...",
"delay_days": 3,
"send_condition": "if_no_reply"
}'
Example Response
{
"data" : {
"step" : {
"id" : "step_2" ,
"index" : 1 ,
"subject" : "Re: {{company_name}}" ,
"body" : "Just circling back on my note from last week..." ,
"delay_days" : 3 ,
"delay_hours" : 0 ,
"send_condition" : "if_no_reply" ,
"created_at" : "2026-04-17T14:30:00Z"
}
}
}
Errors
Status Code Description 400 missing_required_fieldsubject or body missing400 invalid_send_conditionsend_condition is not a recognized value401 invalid_keyInvalid or expired API key 403 insufficient_permissionsMissing campaigns:write permission 404 campaign_not_foundNo campaign with this ID 429 rate_limitedRate limit exceeded