curl --request POST \ --url https://api.stardex.ai/v1/campaigns \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data @- <<EOF{ "name": "Senior Backend Engineer, Monzo", "sequence_type": "candidate", "owner_team_member_id": "7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20", "enable_sequence_automation": true, "stop_on_response": true, "link_tracking": true, "open_tracking": false, "steps": [ { "type": "email", "send_after_days": 0, "subject": "{{search_name}} role at {{search_client}}", "body_html": "<div>Hi {{first_name}},</div><div><br></div><div>{{ai:opening_line}} I'm hiring a <strong>{{search_name}}</strong> at {{search_client}}. {{personalization_line}}</div><div><br></div><div>You can see the role <a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"{{application_link}}\">here</a>. Open to a chat?</div><div><br></div><div>{{sender_first_name}}</div>", "timezone": "Europe/London", "time_window_start": "09:00", "time_window_end": "17:00", "include_signature": true, "ai_variables": [ { "name": "opening_line", "description": "One sentence on the most relevant thing they have built or led recently." } ] }, { "type": "email", "send_after_days": 3, "body_html": "<div>Hi {{first_name}}, following up on my note. {{custom}}</div><div><br></div><div>{{sender_first_name}}</div>", "timezone": "Europe/London", "time_window_start": "09:00", "time_window_end": "17:00", "include_signature": true }, { "type": "manual", "send_after_days": 2, "body_html": "<div>Call {{first_name}} if they opened but did not reply.</div>", "block_until_task_complete": true } ]}EOF
import requests
url = "https://api.stardex.ai/v1/campaigns"
payload = {
"name": "Senior Backend Engineer, Monzo",
"sequence_type": "candidate",
"owner_team_member_id": "7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20",
"enable_sequence_automation": True,
"stop_on_response": True,
"link_tracking": True,
"open_tracking": False,
"steps": [
{
"type": "email",
"send_after_days": 0,
"subject": "{{search_name}} role at {{search_client}}",
"body_html": "<div>Hi {{first_name}},</div><div><br></div><div>{{ai:opening_line}} I'm hiring a <strong>{{search_name}}</strong> at {{search_client}}. {{personalization_line}}</div><div><br></div><div>You can see the role <a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"{{application_link}}\">here</a>. Open to a chat?</div><div><br></div><div>{{sender_first_name}}</div>",
"timezone": "Europe/London",
"time_window_start": "09:00",
"time_window_end": "17:00",
"include_signature": True,
"ai_variables": [
{
"name": "opening_line",
"description": "One sentence on the most relevant thing they have built or led recently."
}
]
},
{
"type": "email",
"send_after_days": 3,
"body_html": "<div>Hi {{first_name}}, following up on my note. {{custom}}</div><div><br></div><div>{{sender_first_name}}</div>",
"timezone": "Europe/London",
"time_window_start": "09:00",
"time_window_end": "17:00",
"include_signature": True
},
{
"type": "manual",
"send_after_days": 2,
"body_html": "<div>Call {{first_name}} if they opened but did not reply.</div>",
"block_until_task_complete": True
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Senior Backend Engineer, Monzo',
sequence_type: 'candidate',
owner_team_member_id: '7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20',
enable_sequence_automation: true,
stop_on_response: true,
link_tracking: true,
open_tracking: false,
steps: [
{
type: 'email',
send_after_days: 0,
subject: '{{search_name}} role at {{search_client}}',
body_html: '<div>Hi {{first_name}},</div><div><br></div><div>{{ai:opening_line}} I\'m hiring a <strong>{{search_name}}</strong> at {{search_client}}. {{personalization_line}}</div><div><br></div><div>You can see the role <a target="_blank" rel="noopener noreferrer nofollow" href="{{application_link}}">here</a>. Open to a chat?</div><div><br></div><div>{{sender_first_name}}</div>',
timezone: 'Europe/London',
time_window_start: '09:00',
time_window_end: '17:00',
include_signature: true,
ai_variables: [
{
name: 'opening_line',
description: 'One sentence on the most relevant thing they have built or led recently.'
}
]
},
{
type: 'email',
send_after_days: 3,
body_html: '<div>Hi {{first_name}}, following up on my note. {{custom}}</div><div><br></div><div>{{sender_first_name}}</div>',
timezone: 'Europe/London',
time_window_start: '09:00',
time_window_end: '17:00',
include_signature: true
},
{
type: 'manual',
send_after_days: 2,
body_html: '<div>Call {{first_name}} if they opened but did not reply.</div>',
block_until_task_complete: true
}
]
})
};
fetch('https://api.stardex.ai/v1/campaigns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.stardex.ai/v1/campaigns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Senior Backend Engineer, Monzo',
'sequence_type' => 'candidate',
'owner_team_member_id' => '7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20',
'enable_sequence_automation' => true,
'stop_on_response' => true,
'link_tracking' => true,
'open_tracking' => false,
'steps' => [
[
'type' => 'email',
'send_after_days' => 0,
'subject' => '{{search_name}} role at {{search_client}}',
'body_html' => '<div>Hi {{first_name}},</div><div><br></div><div>{{ai:opening_line}} I\'m hiring a <strong>{{search_name}}</strong> at {{search_client}}. {{personalization_line}}</div><div><br></div><div>You can see the role <a target="_blank" rel="noopener noreferrer nofollow" href="{{application_link}}">here</a>. Open to a chat?</div><div><br></div><div>{{sender_first_name}}</div>',
'timezone' => 'Europe/London',
'time_window_start' => '09:00',
'time_window_end' => '17:00',
'include_signature' => true,
'ai_variables' => [
[
'name' => 'opening_line',
'description' => 'One sentence on the most relevant thing they have built or led recently.'
]
]
],
[
'type' => 'email',
'send_after_days' => 3,
'body_html' => '<div>Hi {{first_name}}, following up on my note. {{custom}}</div><div><br></div><div>{{sender_first_name}}</div>',
'timezone' => 'Europe/London',
'time_window_start' => '09:00',
'time_window_end' => '17:00',
'include_signature' => true
],
[
'type' => 'manual',
'send_after_days' => 2,
'body_html' => '<div>Call {{first_name}} if they opened but did not reply.</div>',
'block_until_task_complete' => true
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.stardex.ai/v1/campaigns"
payload := strings.NewReader("{\n \"name\": \"Senior Backend Engineer, Monzo\",\n \"sequence_type\": \"candidate\",\n \"owner_team_member_id\": \"7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20\",\n \"enable_sequence_automation\": true,\n \"stop_on_response\": true,\n \"link_tracking\": true,\n \"open_tracking\": false,\n \"steps\": [\n {\n \"type\": \"email\",\n \"send_after_days\": 0,\n \"subject\": \"{{search_name}} role at {{search_client}}\",\n \"body_html\": \"<div>Hi {{first_name}},</div><div><br></div><div>{{ai:opening_line}} I'm hiring a <strong>{{search_name}}</strong> at {{search_client}}. {{personalization_line}}</div><div><br></div><div>You can see the role <a target=\\\"_blank\\\" rel=\\\"noopener noreferrer nofollow\\\" href=\\\"{{application_link}}\\\">here</a>. Open to a chat?</div><div><br></div><div>{{sender_first_name}}</div>\",\n \"timezone\": \"Europe/London\",\n \"time_window_start\": \"09:00\",\n \"time_window_end\": \"17:00\",\n \"include_signature\": true,\n \"ai_variables\": [\n {\n \"name\": \"opening_line\",\n \"description\": \"One sentence on the most relevant thing they have built or led recently.\"\n }\n ]\n },\n {\n \"type\": \"email\",\n \"send_after_days\": 3,\n \"body_html\": \"<div>Hi {{first_name}}, following up on my note. {{custom}}</div><div><br></div><div>{{sender_first_name}}</div>\",\n \"timezone\": \"Europe/London\",\n \"time_window_start\": \"09:00\",\n \"time_window_end\": \"17:00\",\n \"include_signature\": true\n },\n {\n \"type\": \"manual\",\n \"send_after_days\": 2,\n \"body_html\": \"<div>Call {{first_name}} if they opened but did not reply.</div>\",\n \"block_until_task_complete\": true\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpResponse<String> response = Unirest.post("https://api.stardex.ai/v1/campaigns")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Senior Backend Engineer, Monzo\",\n \"sequence_type\": \"candidate\",\n \"owner_team_member_id\": \"7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20\",\n \"enable_sequence_automation\": true,\n \"stop_on_response\": true,\n \"link_tracking\": true,\n \"open_tracking\": false,\n \"steps\": [\n {\n \"type\": \"email\",\n \"send_after_days\": 0,\n \"subject\": \"{{search_name}} role at {{search_client}}\",\n \"body_html\": \"<div>Hi {{first_name}},</div><div><br></div><div>{{ai:opening_line}} I'm hiring a <strong>{{search_name}}</strong> at {{search_client}}. {{personalization_line}}</div><div><br></div><div>You can see the role <a target=\\\"_blank\\\" rel=\\\"noopener noreferrer nofollow\\\" href=\\\"{{application_link}}\\\">here</a>. Open to a chat?</div><div><br></div><div>{{sender_first_name}}</div>\",\n \"timezone\": \"Europe/London\",\n \"time_window_start\": \"09:00\",\n \"time_window_end\": \"17:00\",\n \"include_signature\": true,\n \"ai_variables\": [\n {\n \"name\": \"opening_line\",\n \"description\": \"One sentence on the most relevant thing they have built or led recently.\"\n }\n ]\n },\n {\n \"type\": \"email\",\n \"send_after_days\": 3,\n \"body_html\": \"<div>Hi {{first_name}}, following up on my note. {{custom}}</div><div><br></div><div>{{sender_first_name}}</div>\",\n \"timezone\": \"Europe/London\",\n \"time_window_start\": \"09:00\",\n \"time_window_end\": \"17:00\",\n \"include_signature\": true\n },\n {\n \"type\": \"manual\",\n \"send_after_days\": 2,\n \"body_html\": \"<div>Call {{first_name}} if they opened but did not reply.</div>\",\n \"block_until_task_complete\": true\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v1/campaigns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Senior Backend Engineer, Monzo\",\n \"sequence_type\": \"candidate\",\n \"owner_team_member_id\": \"7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20\",\n \"enable_sequence_automation\": true,\n \"stop_on_response\": true,\n \"link_tracking\": true,\n \"open_tracking\": false,\n \"steps\": [\n {\n \"type\": \"email\",\n \"send_after_days\": 0,\n \"subject\": \"{{search_name}} role at {{search_client}}\",\n \"body_html\": \"<div>Hi {{first_name}},</div><div><br></div><div>{{ai:opening_line}} I'm hiring a <strong>{{search_name}}</strong> at {{search_client}}. {{personalization_line}}</div><div><br></div><div>You can see the role <a target=\\\"_blank\\\" rel=\\\"noopener noreferrer nofollow\\\" href=\\\"{{application_link}}\\\">here</a>. Open to a chat?</div><div><br></div><div>{{sender_first_name}}</div>\",\n \"timezone\": \"Europe/London\",\n \"time_window_start\": \"09:00\",\n \"time_window_end\": \"17:00\",\n \"include_signature\": true,\n \"ai_variables\": [\n {\n \"name\": \"opening_line\",\n \"description\": \"One sentence on the most relevant thing they have built or led recently.\"\n }\n ]\n },\n {\n \"type\": \"email\",\n \"send_after_days\": 3,\n \"body_html\": \"<div>Hi {{first_name}}, following up on my note. {{custom}}</div><div><br></div><div>{{sender_first_name}}</div>\",\n \"timezone\": \"Europe/London\",\n \"time_window_start\": \"09:00\",\n \"time_window_end\": \"17:00\",\n \"include_signature\": true\n },\n {\n \"type\": \"manual\",\n \"send_after_days\": 2,\n \"body_html\": \"<div>Call {{first_name}} if they opened but did not reply.</div>\",\n \"block_until_task_complete\": true\n }\n ]\n}"
response = http.request(request)
puts response.read_body
{ "success": true, "data": { "id": "3f9a1c27-8e4b-4d2a-b6f0-7c1e5a9d2b84", "name": "Senior Backend Engineer, Monzo", "sequence_type": "candidate", "is_archived": false, "created_by": "7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20", "step_count": 3, "created_at": "2026-10-13T10:15:00.000Z", "updated_at": "2026-10-13T10:15:00.000Z", "enable_sequence_automation": true, "stop_on_response": true, "send_on_weekends": false, "send_on_holidays": false, "link_tracking": true, "open_tracking": false, "include_unsubscribe_link": false, "steps": [ { "id": "5b0f3c8e-2a71-4d0e-9a51-6f0c2d7e1a43", "order": 1, "type": "email", "send_after_days": 0, "subject": "{{search_name}} role at {{search_client}}", "body_html": "<div>Hi {{first_name}},</div><div><br></div><div>{{ai:opening_line}} I'm hiring a <strong>{{search_name}}</strong> at {{search_client}}. {{personalization_line}}</div><div><br></div><div>You can see the role <a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"{{application_link}}\">here</a>. Open to a chat?</div><div><br></div><div>{{sender_first_name}}</div>", "timezone": "Europe/London", "time_window_start": "09:00", "time_window_end": "17:00", "include_signature": true, "block_until_task_complete": false, "ai_variables": [ { "name": "opening_line", "description": "One sentence on the most relevant thing they have built or led recently." } ], "attachments": [], "created_at": "2026-10-13T10:15:00.000Z", "updated_at": "2026-10-13T10:15:00.000Z" }, { "id": "9d2e7a14-61c3-4b8f-8f0e-3a5c9b2d4e17", "order": 2, "type": "email", "send_after_days": 3, "subject": "Re: {{search_name}} role at {{search_client}}", "body_html": "<div>Hi {{first_name}}, following up on my note. {{custom}}</div><div><br></div><div>{{sender_first_name}}</div>", "timezone": "Europe/London", "time_window_start": "09:00", "time_window_end": "17:00", "include_signature": true, "block_until_task_complete": false, "ai_variables": [], "attachments": [], "created_at": "2026-10-13T10:15:00.000Z", "updated_at": "2026-10-13T10:15:00.000Z" }, { "id": "c4a8e2f1-7b3d-4e6a-9c1f-2d8b5a7e3f90", "order": 3, "type": "manual", "send_after_days": 2, "subject": null, "body_html": "<div>Call {{first_name}} if they opened but did not reply.</div>", "timezone": "Europe/London", "time_window_start": null, "time_window_end": null, "include_signature": false, "block_until_task_complete": true, "ai_variables": [], "attachments": [], "created_at": "2026-10-13T10:15:00.000Z", "updated_at": null } ], "manual_variables": [ "personalization_line", "custom" ], "ai_variables": [ { "name": "opening_line", "description": "One sentence on the most relevant thing they have built or led recently.", "step_ids": [ "5b0f3c8e-2a71-4d0e-9a51-6f0c2d7e1a43" ] } ], "enrollment_counts": { "total": 0, "running": 0, "awaiting_task": 0, "replied": 0, "meeting_booked": 0, "bounced": 0, "completed": 0, "stopped": 0 }, "engagement": { "responded": 0, "interested": 0, "neutral": 0, "not_interested": 0, "opened": 0, "clicked": 0, "reply_rate": null, "open_rate": null, "click_rate": null } }}
Create a campaign and its steps in one request. Creating a campaign sends nothing.
Subjects: only the first email step needs a subject. Later email steps reply in the same thread, so their subject is set to Re: <first subject>.
Variables: use names from GET /v1/campaigns/variables, your own manual names, or {{ai:name}} with a description in the step ai_variables.
Nurture campaigns (candidate_nurture, client_nurture) keep going after a reply and never move people through a pipeline, so stop_on_response and enable_sequence_automation are always false for them.
Owner: signed-in users own what they create. API keys can set owner_team_member_id; otherwise the admin who created the key owns it. Needs campaigns:write.
POST
/
v1
/
campaigns
Create campaign
curl --request POST \ --url https://api.stardex.ai/v1/campaigns \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data @- <<EOF{ "name": "Senior Backend Engineer, Monzo", "sequence_type": "candidate", "owner_team_member_id": "7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20", "enable_sequence_automation": true, "stop_on_response": true, "link_tracking": true, "open_tracking": false, "steps": [ { "type": "email", "send_after_days": 0, "subject": "{{search_name}} role at {{search_client}}", "body_html": "<div>Hi {{first_name}},</div><div><br></div><div>{{ai:opening_line}} I'm hiring a <strong>{{search_name}}</strong> at {{search_client}}. {{personalization_line}}</div><div><br></div><div>You can see the role <a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"{{application_link}}\">here</a>. Open to a chat?</div><div><br></div><div>{{sender_first_name}}</div>", "timezone": "Europe/London", "time_window_start": "09:00", "time_window_end": "17:00", "include_signature": true, "ai_variables": [ { "name": "opening_line", "description": "One sentence on the most relevant thing they have built or led recently." } ] }, { "type": "email", "send_after_days": 3, "body_html": "<div>Hi {{first_name}}, following up on my note. {{custom}}</div><div><br></div><div>{{sender_first_name}}</div>", "timezone": "Europe/London", "time_window_start": "09:00", "time_window_end": "17:00", "include_signature": true }, { "type": "manual", "send_after_days": 2, "body_html": "<div>Call {{first_name}} if they opened but did not reply.</div>", "block_until_task_complete": true } ]}EOF
import requests
url = "https://api.stardex.ai/v1/campaigns"
payload = {
"name": "Senior Backend Engineer, Monzo",
"sequence_type": "candidate",
"owner_team_member_id": "7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20",
"enable_sequence_automation": True,
"stop_on_response": True,
"link_tracking": True,
"open_tracking": False,
"steps": [
{
"type": "email",
"send_after_days": 0,
"subject": "{{search_name}} role at {{search_client}}",
"body_html": "<div>Hi {{first_name}},</div><div><br></div><div>{{ai:opening_line}} I'm hiring a <strong>{{search_name}}</strong> at {{search_client}}. {{personalization_line}}</div><div><br></div><div>You can see the role <a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"{{application_link}}\">here</a>. Open to a chat?</div><div><br></div><div>{{sender_first_name}}</div>",
"timezone": "Europe/London",
"time_window_start": "09:00",
"time_window_end": "17:00",
"include_signature": True,
"ai_variables": [
{
"name": "opening_line",
"description": "One sentence on the most relevant thing they have built or led recently."
}
]
},
{
"type": "email",
"send_after_days": 3,
"body_html": "<div>Hi {{first_name}}, following up on my note. {{custom}}</div><div><br></div><div>{{sender_first_name}}</div>",
"timezone": "Europe/London",
"time_window_start": "09:00",
"time_window_end": "17:00",
"include_signature": True
},
{
"type": "manual",
"send_after_days": 2,
"body_html": "<div>Call {{first_name}} if they opened but did not reply.</div>",
"block_until_task_complete": True
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Senior Backend Engineer, Monzo',
sequence_type: 'candidate',
owner_team_member_id: '7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20',
enable_sequence_automation: true,
stop_on_response: true,
link_tracking: true,
open_tracking: false,
steps: [
{
type: 'email',
send_after_days: 0,
subject: '{{search_name}} role at {{search_client}}',
body_html: '<div>Hi {{first_name}},</div><div><br></div><div>{{ai:opening_line}} I\'m hiring a <strong>{{search_name}}</strong> at {{search_client}}. {{personalization_line}}</div><div><br></div><div>You can see the role <a target="_blank" rel="noopener noreferrer nofollow" href="{{application_link}}">here</a>. Open to a chat?</div><div><br></div><div>{{sender_first_name}}</div>',
timezone: 'Europe/London',
time_window_start: '09:00',
time_window_end: '17:00',
include_signature: true,
ai_variables: [
{
name: 'opening_line',
description: 'One sentence on the most relevant thing they have built or led recently.'
}
]
},
{
type: 'email',
send_after_days: 3,
body_html: '<div>Hi {{first_name}}, following up on my note. {{custom}}</div><div><br></div><div>{{sender_first_name}}</div>',
timezone: 'Europe/London',
time_window_start: '09:00',
time_window_end: '17:00',
include_signature: true
},
{
type: 'manual',
send_after_days: 2,
body_html: '<div>Call {{first_name}} if they opened but did not reply.</div>',
block_until_task_complete: true
}
]
})
};
fetch('https://api.stardex.ai/v1/campaigns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.stardex.ai/v1/campaigns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Senior Backend Engineer, Monzo',
'sequence_type' => 'candidate',
'owner_team_member_id' => '7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20',
'enable_sequence_automation' => true,
'stop_on_response' => true,
'link_tracking' => true,
'open_tracking' => false,
'steps' => [
[
'type' => 'email',
'send_after_days' => 0,
'subject' => '{{search_name}} role at {{search_client}}',
'body_html' => '<div>Hi {{first_name}},</div><div><br></div><div>{{ai:opening_line}} I\'m hiring a <strong>{{search_name}}</strong> at {{search_client}}. {{personalization_line}}</div><div><br></div><div>You can see the role <a target="_blank" rel="noopener noreferrer nofollow" href="{{application_link}}">here</a>. Open to a chat?</div><div><br></div><div>{{sender_first_name}}</div>',
'timezone' => 'Europe/London',
'time_window_start' => '09:00',
'time_window_end' => '17:00',
'include_signature' => true,
'ai_variables' => [
[
'name' => 'opening_line',
'description' => 'One sentence on the most relevant thing they have built or led recently.'
]
]
],
[
'type' => 'email',
'send_after_days' => 3,
'body_html' => '<div>Hi {{first_name}}, following up on my note. {{custom}}</div><div><br></div><div>{{sender_first_name}}</div>',
'timezone' => 'Europe/London',
'time_window_start' => '09:00',
'time_window_end' => '17:00',
'include_signature' => true
],
[
'type' => 'manual',
'send_after_days' => 2,
'body_html' => '<div>Call {{first_name}} if they opened but did not reply.</div>',
'block_until_task_complete' => true
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.stardex.ai/v1/campaigns"
payload := strings.NewReader("{\n \"name\": \"Senior Backend Engineer, Monzo\",\n \"sequence_type\": \"candidate\",\n \"owner_team_member_id\": \"7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20\",\n \"enable_sequence_automation\": true,\n \"stop_on_response\": true,\n \"link_tracking\": true,\n \"open_tracking\": false,\n \"steps\": [\n {\n \"type\": \"email\",\n \"send_after_days\": 0,\n \"subject\": \"{{search_name}} role at {{search_client}}\",\n \"body_html\": \"<div>Hi {{first_name}},</div><div><br></div><div>{{ai:opening_line}} I'm hiring a <strong>{{search_name}}</strong> at {{search_client}}. {{personalization_line}}</div><div><br></div><div>You can see the role <a target=\\\"_blank\\\" rel=\\\"noopener noreferrer nofollow\\\" href=\\\"{{application_link}}\\\">here</a>. Open to a chat?</div><div><br></div><div>{{sender_first_name}}</div>\",\n \"timezone\": \"Europe/London\",\n \"time_window_start\": \"09:00\",\n \"time_window_end\": \"17:00\",\n \"include_signature\": true,\n \"ai_variables\": [\n {\n \"name\": \"opening_line\",\n \"description\": \"One sentence on the most relevant thing they have built or led recently.\"\n }\n ]\n },\n {\n \"type\": \"email\",\n \"send_after_days\": 3,\n \"body_html\": \"<div>Hi {{first_name}}, following up on my note. {{custom}}</div><div><br></div><div>{{sender_first_name}}</div>\",\n \"timezone\": \"Europe/London\",\n \"time_window_start\": \"09:00\",\n \"time_window_end\": \"17:00\",\n \"include_signature\": true\n },\n {\n \"type\": \"manual\",\n \"send_after_days\": 2,\n \"body_html\": \"<div>Call {{first_name}} if they opened but did not reply.</div>\",\n \"block_until_task_complete\": true\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpResponse<String> response = Unirest.post("https://api.stardex.ai/v1/campaigns")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Senior Backend Engineer, Monzo\",\n \"sequence_type\": \"candidate\",\n \"owner_team_member_id\": \"7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20\",\n \"enable_sequence_automation\": true,\n \"stop_on_response\": true,\n \"link_tracking\": true,\n \"open_tracking\": false,\n \"steps\": [\n {\n \"type\": \"email\",\n \"send_after_days\": 0,\n \"subject\": \"{{search_name}} role at {{search_client}}\",\n \"body_html\": \"<div>Hi {{first_name}},</div><div><br></div><div>{{ai:opening_line}} I'm hiring a <strong>{{search_name}}</strong> at {{search_client}}. {{personalization_line}}</div><div><br></div><div>You can see the role <a target=\\\"_blank\\\" rel=\\\"noopener noreferrer nofollow\\\" href=\\\"{{application_link}}\\\">here</a>. Open to a chat?</div><div><br></div><div>{{sender_first_name}}</div>\",\n \"timezone\": \"Europe/London\",\n \"time_window_start\": \"09:00\",\n \"time_window_end\": \"17:00\",\n \"include_signature\": true,\n \"ai_variables\": [\n {\n \"name\": \"opening_line\",\n \"description\": \"One sentence on the most relevant thing they have built or led recently.\"\n }\n ]\n },\n {\n \"type\": \"email\",\n \"send_after_days\": 3,\n \"body_html\": \"<div>Hi {{first_name}}, following up on my note. {{custom}}</div><div><br></div><div>{{sender_first_name}}</div>\",\n \"timezone\": \"Europe/London\",\n \"time_window_start\": \"09:00\",\n \"time_window_end\": \"17:00\",\n \"include_signature\": true\n },\n {\n \"type\": \"manual\",\n \"send_after_days\": 2,\n \"body_html\": \"<div>Call {{first_name}} if they opened but did not reply.</div>\",\n \"block_until_task_complete\": true\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v1/campaigns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Senior Backend Engineer, Monzo\",\n \"sequence_type\": \"candidate\",\n \"owner_team_member_id\": \"7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20\",\n \"enable_sequence_automation\": true,\n \"stop_on_response\": true,\n \"link_tracking\": true,\n \"open_tracking\": false,\n \"steps\": [\n {\n \"type\": \"email\",\n \"send_after_days\": 0,\n \"subject\": \"{{search_name}} role at {{search_client}}\",\n \"body_html\": \"<div>Hi {{first_name}},</div><div><br></div><div>{{ai:opening_line}} I'm hiring a <strong>{{search_name}}</strong> at {{search_client}}. {{personalization_line}}</div><div><br></div><div>You can see the role <a target=\\\"_blank\\\" rel=\\\"noopener noreferrer nofollow\\\" href=\\\"{{application_link}}\\\">here</a>. Open to a chat?</div><div><br></div><div>{{sender_first_name}}</div>\",\n \"timezone\": \"Europe/London\",\n \"time_window_start\": \"09:00\",\n \"time_window_end\": \"17:00\",\n \"include_signature\": true,\n \"ai_variables\": [\n {\n \"name\": \"opening_line\",\n \"description\": \"One sentence on the most relevant thing they have built or led recently.\"\n }\n ]\n },\n {\n \"type\": \"email\",\n \"send_after_days\": 3,\n \"body_html\": \"<div>Hi {{first_name}}, following up on my note. {{custom}}</div><div><br></div><div>{{sender_first_name}}</div>\",\n \"timezone\": \"Europe/London\",\n \"time_window_start\": \"09:00\",\n \"time_window_end\": \"17:00\",\n \"include_signature\": true\n },\n {\n \"type\": \"manual\",\n \"send_after_days\": 2,\n \"body_html\": \"<div>Call {{first_name}} if they opened but did not reply.</div>\",\n \"block_until_task_complete\": true\n }\n ]\n}"
response = http.request(request)
puts response.read_body
{ "success": true, "data": { "id": "3f9a1c27-8e4b-4d2a-b6f0-7c1e5a9d2b84", "name": "Senior Backend Engineer, Monzo", "sequence_type": "candidate", "is_archived": false, "created_by": "7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20", "step_count": 3, "created_at": "2026-10-13T10:15:00.000Z", "updated_at": "2026-10-13T10:15:00.000Z", "enable_sequence_automation": true, "stop_on_response": true, "send_on_weekends": false, "send_on_holidays": false, "link_tracking": true, "open_tracking": false, "include_unsubscribe_link": false, "steps": [ { "id": "5b0f3c8e-2a71-4d0e-9a51-6f0c2d7e1a43", "order": 1, "type": "email", "send_after_days": 0, "subject": "{{search_name}} role at {{search_client}}", "body_html": "<div>Hi {{first_name}},</div><div><br></div><div>{{ai:opening_line}} I'm hiring a <strong>{{search_name}}</strong> at {{search_client}}. {{personalization_line}}</div><div><br></div><div>You can see the role <a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"{{application_link}}\">here</a>. Open to a chat?</div><div><br></div><div>{{sender_first_name}}</div>", "timezone": "Europe/London", "time_window_start": "09:00", "time_window_end": "17:00", "include_signature": true, "block_until_task_complete": false, "ai_variables": [ { "name": "opening_line", "description": "One sentence on the most relevant thing they have built or led recently." } ], "attachments": [], "created_at": "2026-10-13T10:15:00.000Z", "updated_at": "2026-10-13T10:15:00.000Z" }, { "id": "9d2e7a14-61c3-4b8f-8f0e-3a5c9b2d4e17", "order": 2, "type": "email", "send_after_days": 3, "subject": "Re: {{search_name}} role at {{search_client}}", "body_html": "<div>Hi {{first_name}}, following up on my note. {{custom}}</div><div><br></div><div>{{sender_first_name}}</div>", "timezone": "Europe/London", "time_window_start": "09:00", "time_window_end": "17:00", "include_signature": true, "block_until_task_complete": false, "ai_variables": [], "attachments": [], "created_at": "2026-10-13T10:15:00.000Z", "updated_at": "2026-10-13T10:15:00.000Z" }, { "id": "c4a8e2f1-7b3d-4e6a-9c1f-2d8b5a7e3f90", "order": 3, "type": "manual", "send_after_days": 2, "subject": null, "body_html": "<div>Call {{first_name}} if they opened but did not reply.</div>", "timezone": "Europe/London", "time_window_start": null, "time_window_end": null, "include_signature": false, "block_until_task_complete": true, "ai_variables": [], "attachments": [], "created_at": "2026-10-13T10:15:00.000Z", "updated_at": null } ], "manual_variables": [ "personalization_line", "custom" ], "ai_variables": [ { "name": "opening_line", "description": "One sentence on the most relevant thing they have built or led recently.", "step_ids": [ "5b0f3c8e-2a71-4d0e-9a51-6f0c2d7e1a43" ] } ], "enrollment_counts": { "total": 0, "running": 0, "awaiting_task": 0, "replied": 0, "meeting_booked": 0, "bounced": 0, "completed": 0, "stopped": 0 }, "engagement": { "responded": 0, "interested": 0, "neutral": 0, "not_interested": 0, "opened": 0, "clicked": 0, "reply_rate": null, "open_rate": null, "click_rate": null } }}
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Stardex Help Docs","description":"AI native ATS \u0026 CRM for search firms","colors":{"primary":"#5853f7","light":"#5853f7","dark":"#EDF3F9"},"logo":{"light":"https://mintcdn.com/stardex/Unebva7RlCeyAgPy/logo/light.svg?fit=max\u0026auto=format\u0026n=Unebva7RlCeyAgPy\u0026q=85\u0026s=6a32bc87265a1562f0ee3793cb4c66e7","dark":"https://mintcdn.com/stardex/Unebva7RlCeyAgPy/logo/dark.svg?fit=max\u0026auto=format\u0026n=Unebva7RlCeyAgPy\u0026q=85\u0026s=000def45485b23628fc81f156a6306cd"},"favicon":"https://mintcdn.com/stardex/Unebva7RlCeyAgPy/favicon.svg?fit=max\u0026auto=format\u0026n=Unebva7RlCeyAgPy\u0026q=85\u0026s=dbebacabd3552482bc8b3f787e61888d","api":{"mdx":{"auth":{"method":"bearer","name":"Authorization"},"server":"https://api.stardex.ai"}},"navbar":{"links":[{"href":"mailto:support@stardex.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://stardex.com/jobs"}},"footer":{"socials":{"x":"https://x.com/stardexhq","linkedin":"https://linkedin.com/company/stardexhq"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Home page","icon":"book-open-cover","href":"https://www.stardex.com"},{"anchor":"Blog","icon":"newspaper","href":"https://www.stardex.com/blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"stardex","hasAudioNarration":false,"actualSubdomain":"stardex","customDomains":["docs.stardex.com"],"gitSource":{"type":"github","owner":"dotshq","repo":"ats-plus","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adc22bb47d1fc97ca4d909a","collectionId":"ec4ca445-ecb9-4c0a-a762-4ff8472e33d8","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adc22bb47d1fc97ca4d909a"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{},"buildId":"6ade7b00b7bed53c17af21c3","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"API Reference","count":162},{"language":"default","tag":"Help Center","count":86},{"language":"default","tag":"Core Features","count":35},{"language":"default","tag":"Settings \u0026 Customization","count":27},{"language":"default","tag":"Campaigns","count":23},{"language":"default","tag":"Persons","count":23},{"language":"default","tag":"Integrations","count":16},{"language":"default","tag":"Jobs","count":15},{"language":"default","tag":"Email \u0026 other integrations","count":10},{"language":"default","tag":"Automations","count":10}]},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/campaigns/create-campaign","slug":"/api-reference/campaigns/create-campaign","pageMetadata":{"title":"Create campaign","description":"Create a campaign and its steps in one request. Creating a campaign sends nothing.\n\n**Subjects**: only the first email step needs a subject. Later email steps reply in the same thread, so their subject is set to `Re: \u003cfirst subject>`.\n\n**Variables**: use names from `GET /v1/campaigns/variables`, your own manual names, or `{{ai:name}}` with a description in the step `ai_variables`.\n\n**Nurture campaigns** (`candidate_nurture`, `client_nurture`) keep going after a reply and never move people through a pipeline, so `stop_on_response` and `enable_sequence_automation` are always false for them.\n\n**Owner**: signed-in users own what they create. API keys can set `owner_team_member_id`; otherwise the admin who created the key owns it. Needs `campaigns:write`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns","href":"/api-reference/campaigns/create-campaign","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Create a campaign and its steps in one request. Creating a campaign sends nothing.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Subjects\"\n }), \": only the first email step needs a subject. Later email steps reply in the same thread, so their subject is set to \", _jsx(_components.code, {\n children: \"Re: \u003cfirst subject>\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Variables\"\n }), \": use names from \", _jsx(_components.code, {\n children: \"GET /v1/campaigns/variables\"\n }), \", your own manual names, or \", _jsx(_components.code, {\n children: \"{{ai:name}}\"\n }), \" with a description in the step \", _jsx(_components.code, {\n children: \"ai_variables\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Nurture campaigns\"\n }), \" (\", _jsx(_components.code, {\n children: \"candidate_nurture\"\n }), \", \", _jsx(_components.code, {\n children: \"client_nurture\"\n }), \") keep going after a reply and never move people through a pipeline, so \", _jsx(_components.code, {\n children: \"stop_on_response\"\n }), \" and \", _jsx(_components.code, {\n children: \"enable_sequence_automation\"\n }), \" are always false for them.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Owner\"\n }), \": signed-in users own what they create. API keys can set \", _jsx(_components.code, {\n children: \"owner_team_member_id\"\n }), \"; otherwise the admin who created the key owns it. Needs \", _jsx(_components.code, {\n children: \"campaigns:write\"\n }), \".\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create campaign","description":"Create a campaign and its steps in one request. Creating a campaign sends nothing.\n\n**Subjects**: only the first email step needs a subject. Later email steps reply in the same thread, so their subject is set to `Re: \u003cfirst subject>`.\n\n**Variables**: use names from `GET /v1/campaigns/variables`, your own manual names, or `{{ai:name}}` with a description in the step `ai_variables`.\n\n**Nurture campaigns** (`candidate_nurture`, `client_nurture`) keep going after a reply and never move people through a pipeline, so `stop_on_response` and `enable_sequence_automation` are always false for them.\n\n**Owner**: signed-in users own what they create. API keys can set `owner_team_member_id`; otherwise the admin who created the key owns it. Needs `campaigns:write`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns","href":"/api-reference/campaigns/create-campaign","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createCampaign","summary":"Create campaign","description":"Create a campaign and its steps in one request. Creating a campaign sends nothing.\n\n**Subjects**: only the first email step needs a subject. Later email steps reply in the same thread, so their subject is set to `Re: \u003cfirst subject>`.\n\n**Variables**: use names from `GET /v1/campaigns/variables`, your own manual names, or `{{ai:name}}` with a description in the step `ai_variables`.\n\n**Nurture campaigns** (`candidate_nurture`, `client_nurture`) keep going after a reply and never move people through a pipeline, so `stop_on_response` and `enable_sequence_automation` are always false for them.\n\n**Owner**: signed-in users own what they create. API keys can set `owner_team_member_id`; otherwise the admin who created the key owns it. Needs `campaigns:write`.","tags":["Campaigns"],"requestBody":"c1f56d0c-792e-4458-83b1-f405f1fff48a","responses":{"201":"bfbca619-c1d2-4391-831c-0f8b363ed604","400":"b4ca4543-e6e9-4ca8-b1c1-44da8fdee54e","403":"1cf3b434-6273-4821-a7e2-c10049af4dd8","404":"c3b18b4e-d27c-4e05-9b5c-8c680c7deb28","500":"2bbb3bfd-a6c1-416c-8b4a-9b552f68bcb8"},"method":"post","type":"path","servers":["20e81692-0e88-4037-93ca-f9780d101506"],"security":["5625a650-543e-4dde-bdd4-529bc2359650"],"path":"/v1/campaigns","baseUrlOptions":["https://api.stardex.ai"],"title":"Create campaign","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200,"description":"Campaign name.","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"steps":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["email","manual","text","linkedin_message","linkedin_connection","call"],"description":"Step type. Email steps are sent automatically; the others create tasks.","isRequired":true,"uniqueKey":"steps.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"send_after_days":{"type":"integer","minimum":0,"maximum":365,"description":"Days to wait after the previous step (or after enrollment, for the first step).","isRequired":true,"uniqueKey":"steps.items.[INDEX].send_after_days","typeLabel":"integer"},"subject":{"oneOf":[{"type":"string","maxLength":998,"description":"Email subject, or the InMail subject for LinkedIn message steps. Only the first email step has its own subject: later email steps always use \"Re: \u003cfirst subject>\" so they land in the same thread (a \"Re:\" on the first email is removed). Editing a later email's subject is rejected. Can use {{variables}}.","uniqueKey":"steps.items.[INDEX].subject.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":998,"description":"Email subject, or the InMail subject for LinkedIn message steps. Only the first email step has its own subject: later email steps always use \"Re: \u003cfirst subject>\" so they land in the same thread (a \"Re:\" on the first email is removed). Editing a later email's subject is rejected. Can use {{variables}}.","uniqueKey":"steps.items.[INDEX].subject.oneOf.1","typeLabel":"null"}],"uniqueKey":"steps.items.[INDEX].subject","typeLabel":"string | null"},"body_html":{"type":"string","maxLength":100000,"description":"Step body as HTML (paragraphs, headings, line breaks, bold, italic, underline, strikethrough, highlight, links, lists and images). Each \u003cp> is followed by an empty line, as in the campaign builder; use \u003cbr> for a line break without a gap. Images need a public https URL and are shown as their own block. Can use {{variables}}, including inside link URLs. For non-email steps this is the task or message text; LinkedIn connection notes are limited to 300 characters.","uniqueKey":"steps.items.[INDEX].body_html","typeLabel":"string"},"timezone":{"oneOf":[{"type":"string","description":"IANA timezone for the sending window, for example Europe/London. Defaults to the timezone of the campaign owner's first connected mailbox. Without one, the step sends in New York business hours (America/New_York).","uniqueKey":"steps.items.[INDEX].timezone.oneOf.0","typeLabel":"string"},{"type":"null","description":"IANA timezone for the sending window, for example Europe/London. Defaults to the timezone of the campaign owner's first connected mailbox. Without one, the step sends in New York business hours (America/New_York).","uniqueKey":"steps.items.[INDEX].timezone.oneOf.1","typeLabel":"null"}],"uniqueKey":"steps.items.[INDEX].timezone","typeLabel":"string | null"},"time_window_start":{"oneOf":[{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","description":"Start of the sending window for email steps, in 24-hour HH:MM. Left empty, the step sends between 09:00 and 17:00 in its timezone.","uniqueKey":"steps.items.[INDEX].time_window_start.oneOf.0","typeLabel":"string"},{"type":"null","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","description":"Start of the sending window for email steps, in 24-hour HH:MM. Left empty, the step sends between 09:00 and 17:00 in its timezone.","uniqueKey":"steps.items.[INDEX].time_window_start.oneOf.1","typeLabel":"null"}],"uniqueKey":"steps.items.[INDEX].time_window_start","typeLabel":"string | null"},"time_window_end":{"oneOf":[{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","description":"End of the sending window for email steps, in 24-hour HH:MM. Must differ from time_window_start.","uniqueKey":"steps.items.[INDEX].time_window_end.oneOf.0","typeLabel":"string"},{"type":"null","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","description":"End of the sending window for email steps, in 24-hour HH:MM. Must differ from time_window_start.","uniqueKey":"steps.items.[INDEX].time_window_end.oneOf.1","typeLabel":"null"}],"uniqueKey":"steps.items.[INDEX].time_window_end","typeLabel":"string | null"},"include_signature":{"type":"boolean","description":"Add the sender's email signature to this email step.","uniqueKey":"steps.items.[INDEX].include_signature","typeLabel":"boolean"},"block_until_task_complete":{"type":"boolean","description":"For task steps (not emails): hold the rest of the campaign until this task is marked complete. Turning it off releases anyone already waiting on the step.","uniqueKey":"steps.items.[INDEX].block_until_task_complete","typeLabel":"boolean"},"ai_variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":64,"description":"The name used in the template, without the ai: prefix. {{ai:opening_line}} has the name opening_line.","isRequired":true,"uniqueKey":"steps.items.[INDEX].ai_variables.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","minLength":1,"maxLength":1000,"description":"What the AI should write for each person, for example \"One sentence on their most relevant recent work\". The value is inserted exactly as written, so use the variable only where that text fits: a sentence on its own, never mid-sentence.","isRequired":true,"uniqueKey":"steps.items.[INDEX].ai_variables.items.[INDEX].description","typeLabel":"string"}},"required":["name","description"],"uniqueKey":"steps.items.[INDEX].ai_variables.items.[INDEX]","typeLabel":"object"},"maxItems":20,"description":"A description for every {{ai:name}} used in this step. Descriptions for names not used in the step are ignored.","uniqueKey":"steps.items.[INDEX].ai_variables","typeLabel":"object[]"}},"required":["type","send_after_days"],"uniqueKey":"steps.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":20,"description":"Steps in the order they run, up to 20.","isRequired":true,"uniqueKey":"steps","typeLabel":"object[]"},"sequence_type":{"type":"string","enum":["candidate","business_development","candidate_nurture","client_nurture"],"default":"candidate","description":"Who the campaign is for. See GET /v1/campaigns/types. Defaults to candidate.","uniqueKey":"sequence_type","typeLabel":"enum\u003cstring>"},"enable_sequence_automation":{"type":"boolean","description":"Move people through the linked job pipeline as they reply. Always off for nurture campaigns.","uniqueKey":"enable_sequence_automation","typeLabel":"boolean"},"stop_on_response":{"type":"boolean","description":"Stop emailing a person once they reply. Always off for nurture campaigns.","uniqueKey":"stop_on_response","typeLabel":"boolean"},"send_on_weekends":{"type":"boolean","default":false,"description":"Allow emails to go out on Saturdays and Sundays.","uniqueKey":"send_on_weekends","typeLabel":"boolean"},"send_on_holidays":{"type":"boolean","default":false,"description":"Allow emails to go out on public holidays. When off, the campaign skips the holidays in your workspace's holiday calendar.","uniqueKey":"send_on_holidays","typeLabel":"boolean"},"link_tracking":{"type":"boolean","default":true,"description":"Track link clicks.","uniqueKey":"link_tracking","typeLabel":"boolean"},"open_tracking":{"type":"boolean","default":false,"description":"Track email opens.","uniqueKey":"open_tracking","typeLabel":"boolean"},"include_unsubscribe_link":{"type":"boolean","default":false,"description":"Add an unsubscribe link to every email.","uniqueKey":"include_unsubscribe_link","typeLabel":"boolean"},"owner_team_member_id":{"type":"string","format":"uuid","description":"API keys only: the team member who owns the campaign. Defaults to the admin who created the key. Signed-in users always own the campaigns they create.","uniqueKey":"owner_team_member_id","typeLabel":"string\u003cuuid>"}},"required":["name","steps"],"uniqueKey":"","typeLabel":"object"},"example":{"name":"Senior Backend Engineer, Monzo","sequence_type":"candidate","owner_team_member_id":"7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20","enable_sequence_automation":true,"stop_on_response":true,"link_tracking":true,"open_tracking":false,"steps":[{"type":"email","send_after_days":0,"subject":"{{search_name}} role at {{search_client}}","body_html":"\u003cdiv>Hi {{first_name}},\u003c/div>\u003cdiv>\u003cbr>\u003c/div>\u003cdiv>{{ai:opening_line}} I'm hiring a \u003cstrong>{{search_name}}\u003c/strong> at {{search_client}}. {{personalization_line}}\u003c/div>\u003cdiv>\u003cbr>\u003c/div>\u003cdiv>You can see the role \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"{{application_link}}\">here\u003c/a>. Open to a chat?\u003c/div>\u003cdiv>\u003cbr>\u003c/div>\u003cdiv>{{sender_first_name}}\u003c/div>","timezone":"Europe/London","time_window_start":"09:00","time_window_end":"17:00","include_signature":true,"ai_variables":[{"name":"opening_line","description":"One sentence on the most relevant thing they have built or led recently."}]},{"type":"email","send_after_days":3,"body_html":"\u003cdiv>Hi {{first_name}}, following up on my note. {{custom}}\u003c/div>\u003cdiv>\u003cbr>\u003c/div>\u003cdiv>{{sender_first_name}}\u003c/div>","timezone":"Europe/London","time_window_start":"09:00","time_window_end":"17:00","include_signature":true},{"type":"manual","send_after_days":2,"body_html":"\u003cdiv>Call {{first_name}} if they opened but did not reply.\u003c/div>","block_until_task_complete":true}]},"examples":{"Example":{"title":"Example","value":{"name":"Senior Backend Engineer, Monzo","sequence_type":"candidate","owner_team_member_id":"7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20","enable_sequence_automation":true,"stop_on_response":true,"link_tracking":true,"open_tracking":false,"steps":[{"type":"email","send_after_days":0,"subject":"{{search_name}} role at {{search_client}}","body_html":"\u003cdiv>Hi {{first_name}},\u003c/div>\u003cdiv>\u003cbr>\u003c/div>\u003cdiv>{{ai:opening_line}} I'm hiring a \u003cstrong>{{search_name}}\u003c/strong> at {{search_client}}. {{personalization_line}}\u003c/div>\u003cdiv>\u003cbr>\u003c/div>\u003cdiv>You can see the role \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"{{application_link}}\">here\u003c/a>. Open to a chat?\u003c/div>\u003cdiv>\u003cbr>\u003c/div>\u003cdiv>{{sender_first_name}}\u003c/div>","timezone":"Europe/London","time_window_start":"09:00","time_window_end":"17:00","include_signature":true,"ai_variables":[{"name":"opening_line","description":"One sentence on the most relevant thing they have built or led recently."}]},{"type":"email","send_after_days":3,"body_html":"\u003cdiv>Hi {{first_name}}, following up on my note. {{custom}}\u003c/div>\u003cdiv>\u003cbr>\u003c/div>\u003cdiv>{{sender_first_name}}\u003c/div>","timezone":"Europe/London","time_window_start":"09:00","time_window_end":"17:00","include_signature":true},{"type":"manual","send_after_days":2,"body_html":"\u003cdiv>Call {{first_name}} if they opened but did not reply.\u003c/div>","block_until_task_complete":true}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"bfbca619-c1d2-4391-831c-0f8b363ed604":{"description":"Campaign created","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"data":{"type":"object","required":["enable_sequence_automation","stop_on_response","send_on_weekends","send_on_holidays","link_tracking","open_tracking","include_unsubscribe_link","steps","manual_variables","ai_variables","enrollment_counts","engagement","id","name","sequence_type","is_archived","created_by","step_count","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","isRequired":true,"uniqueKey":"data.name","typeLabel":"string"},"sequence_type":{"type":"string","enum":["candidate","business_development","candidate_nurture","client_nurture"],"isRequired":true,"uniqueKey":"data.sequence_type","typeLabel":"enum\u003cstring>"},"is_archived":{"type":"boolean","isRequired":true,"uniqueKey":"data.is_archived","typeLabel":"boolean"},"created_by":{"type":"string","format":"uuid","description":"Team member who owns the campaign.","isRequired":true,"uniqueKey":"data.created_by","typeLabel":"string\u003cuuid>"},"step_count":{"type":"integer","isRequired":true,"uniqueKey":"data.step_count","typeLabel":"integer"},"created_at":{"type":"string","isRequired":true,"uniqueKey":"data.created_at","typeLabel":"string"},"updated_at":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.updated_at.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.updated_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.updated_at","typeLabel":"string | null"},"enable_sequence_automation":{"type":"boolean","isRequired":true,"uniqueKey":"data.enable_sequence_automation","typeLabel":"boolean"},"stop_on_response":{"type":"boolean","isRequired":true,"uniqueKey":"data.stop_on_response","typeLabel":"boolean"},"send_on_weekends":{"type":"boolean","isRequired":true,"uniqueKey":"data.send_on_weekends","typeLabel":"boolean"},"send_on_holidays":{"type":"boolean","isRequired":true,"uniqueKey":"data.send_on_holidays","typeLabel":"boolean"},"link_tracking":{"type":"boolean","isRequired":true,"uniqueKey":"data.link_tracking","typeLabel":"boolean"},"open_tracking":{"type":"boolean","isRequired":true,"uniqueKey":"data.open_tracking","typeLabel":"boolean"},"include_unsubscribe_link":{"type":"boolean","isRequired":true,"uniqueKey":"data.include_unsubscribe_link","typeLabel":"boolean"},"steps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"order":{"type":"integer","description":"1-based position in the campaign.","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].order","typeLabel":"integer"},"type":{"type":"string","enum":["email","manual","text","linkedin_message","linkedin_connection","call"],"isRequired":true,"uniqueKey":"data.steps.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"send_after_days":{"type":"integer","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].send_after_days","typeLabel":"integer"},"subject":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].subject.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].subject.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.steps.items.[INDEX].subject","typeLabel":"string | null"},"body_html":{"type":"string","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].body_html","typeLabel":"string"},"timezone":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].timezone.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].timezone.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.steps.items.[INDEX].timezone","typeLabel":"string | null"},"time_window_start":{"oneOf":[{"type":"string","description":"HH:MM. null means the default sending hours, 09:00–17:00 in the step's timezone.","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].time_window_start.oneOf.0","typeLabel":"string"},{"type":"null","description":"HH:MM. null means the default sending hours, 09:00–17:00 in the step's timezone.","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].time_window_start.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.steps.items.[INDEX].time_window_start","typeLabel":"string | null"},"time_window_end":{"oneOf":[{"type":"string","description":"HH:MM. null means the default sending hours, 09:00–17:00 in the step's timezone.","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].time_window_end.oneOf.0","typeLabel":"string"},{"type":"null","description":"HH:MM. null means the default sending hours, 09:00–17:00 in the step's timezone.","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].time_window_end.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.steps.items.[INDEX].time_window_end","typeLabel":"string | null"},"include_signature":{"type":"boolean","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].include_signature","typeLabel":"boolean"},"block_until_task_complete":{"type":"boolean","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].block_until_task_complete","typeLabel":"boolean"},"ai_variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":64,"description":"The name used in the template, without the ai: prefix. {{ai:opening_line}} has the name opening_line.","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].ai_variables.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","minLength":1,"maxLength":1000,"description":"What the AI should write for each person, for example \"One sentence on their most relevant recent work\". The value is inserted exactly as written, so use the variable only where that text fits: a sentence on its own, never mid-sentence.","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].ai_variables.items.[INDEX].description","typeLabel":"string"}},"required":["name","description"],"uniqueKey":"data.steps.items.[INDEX].ai_variables.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.steps.items.[INDEX].ai_variables","typeLabel":"object[]"},"attachments":{"type":"array","items":{"type":"object","properties":{"file_name":{"type":"string","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].attachments.items.[INDEX].file_name","typeLabel":"string"},"content_type":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].attachments.items.[INDEX].content_type.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].attachments.items.[INDEX].content_type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.steps.items.[INDEX].attachments.items.[INDEX].content_type","typeLabel":"string | null"},"size_bytes":{"type":"integer","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].attachments.items.[INDEX].size_bytes","typeLabel":"integer"}},"required":["file_name","content_type","size_bytes"],"uniqueKey":"data.steps.items.[INDEX].attachments.items.[INDEX]","typeLabel":"object"},"description":"Files sent with this step, added in the campaign builder. Attachments cannot be added through the API.","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].attachments","typeLabel":"object[]"},"created_at":{"type":"string","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].created_at","typeLabel":"string"},"updated_at":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].updated_at.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.steps.items.[INDEX].updated_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.steps.items.[INDEX].updated_at","typeLabel":"string | null"}},"required":["id","order","type","send_after_days","subject","body_html","timezone","time_window_start","time_window_end","include_signature","block_until_task_complete","ai_variables","attachments","created_at","updated_at"],"uniqueKey":"data.steps.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.steps","typeLabel":"object[]"},"manual_variables":{"type":"array","items":{"type":"string","uniqueKey":"data.manual_variables.items.[INDEX]","typeLabel":"string"},"description":"Variables you fill in for each enrollment, such as personalization_line or your own names.","isRequired":true,"uniqueKey":"data.manual_variables","typeLabel":"string[]"},"ai_variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":64,"description":"The name used in the template, without the ai: prefix. {{ai:opening_line}} has the name opening_line.","isRequired":true,"uniqueKey":"data.ai_variables.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","minLength":1,"maxLength":1000,"description":"What the AI should write for each person, for example \"One sentence on their most relevant recent work\". The value is inserted exactly as written, so use the variable only where that text fits: a sentence on its own, never mid-sentence.","isRequired":true,"uniqueKey":"data.ai_variables.items.[INDEX].description","typeLabel":"string"},"step_ids":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"data.ai_variables.items.[INDEX].step_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Steps that use this AI variable.","isRequired":true,"uniqueKey":"data.ai_variables.items.[INDEX].step_ids","typeLabel":"string\u003cuuid>[]"}},"required":["name","description","step_ids"],"uniqueKey":"data.ai_variables.items.[INDEX]","typeLabel":"object"},"description":"Variables the AI writes for each person.","isRequired":true,"uniqueKey":"data.ai_variables","typeLabel":"object[]"},"enrollment_counts":{"type":"object","properties":{"total":{"type":"integer","isRequired":true,"uniqueKey":"data.enrollment_counts.total","typeLabel":"integer"},"running":{"type":"integer","isRequired":true,"uniqueKey":"data.enrollment_counts.running","typeLabel":"integer"},"awaiting_task":{"type":"integer","description":"People held until a task step is marked complete. They are also counted in running or bounced, so the groups can add up to more than total.","isRequired":true,"uniqueKey":"data.enrollment_counts.awaiting_task","typeLabel":"integer"},"replied":{"type":"integer","isRequired":true,"uniqueKey":"data.enrollment_counts.replied","typeLabel":"integer"},"meeting_booked":{"type":"integer","isRequired":true,"uniqueKey":"data.enrollment_counts.meeting_booked","typeLabel":"integer"},"bounced":{"type":"integer","isRequired":true,"uniqueKey":"data.enrollment_counts.bounced","typeLabel":"integer"},"completed":{"type":"integer","isRequired":true,"uniqueKey":"data.enrollment_counts.completed","typeLabel":"integer"},"stopped":{"type":"integer","isRequired":true,"uniqueKey":"data.enrollment_counts.stopped","typeLabel":"integer"}},"required":["total","running","awaiting_task","replied","meeting_booked","bounced","completed","stopped"],"description":"People in this campaign by status.","isRequired":true,"uniqueKey":"data.enrollment_counts","typeLabel":"object"},"engagement":{"type":"object","properties":{"responded":{"type":"integer","description":"People who replied or booked a meeting.","isRequired":true,"uniqueKey":"data.engagement.responded","typeLabel":"integer"},"interested":{"type":"integer","description":"People whose reply was read as interested, not counting bounced people.","isRequired":true,"uniqueKey":"data.engagement.interested","typeLabel":"integer"},"neutral":{"type":"integer","description":"People whose reply was read as neutral, not counting bounced people.","isRequired":true,"uniqueKey":"data.engagement.neutral","typeLabel":"integer"},"not_interested":{"type":"integer","description":"People whose reply was read as not interested, not counting bounced people.","isRequired":true,"uniqueKey":"data.engagement.not_interested","typeLabel":"integer"},"opened":{"type":"integer","description":"People who opened at least one email, not counting bounced people.","isRequired":true,"uniqueKey":"data.engagement.opened","typeLabel":"integer"},"clicked":{"type":"integer","description":"People who clicked at least one link, not counting bounced people.","isRequired":true,"uniqueKey":"data.engagement.clicked","typeLabel":"integer"},"reply_rate":{"oneOf":[{"type":"number","description":"responded out of everyone enrolled except bounced people, as a percent with one decimal. null when nobody is enrolled or everyone bounced.","isRequired":true,"uniqueKey":"data.engagement.reply_rate.oneOf.0","typeLabel":"number"},{"type":"null","description":"responded out of everyone enrolled except bounced people, as a percent with one decimal. null when nobody is enrolled or everyone bounced.","isRequired":true,"uniqueKey":"data.engagement.reply_rate.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.engagement.reply_rate","typeLabel":"number | null"},"open_rate":{"oneOf":[{"type":"integer","description":"opened out of everyone enrolled except bounced people, as a whole percent. null when open tracking is off, nobody is enrolled or everyone bounced.","isRequired":true,"uniqueKey":"data.engagement.open_rate.oneOf.0","typeLabel":"integer"},{"type":"null","description":"opened out of everyone enrolled except bounced people, as a whole percent. null when open tracking is off, nobody is enrolled or everyone bounced.","isRequired":true,"uniqueKey":"data.engagement.open_rate.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.engagement.open_rate","typeLabel":"integer | null"},"click_rate":{"oneOf":[{"type":"integer","description":"clicked out of everyone enrolled except bounced people, as a whole percent. null when link tracking is off, nobody is enrolled or everyone bounced.","isRequired":true,"uniqueKey":"data.engagement.click_rate.oneOf.0","typeLabel":"integer"},{"type":"null","description":"clicked out of everyone enrolled except bounced people, as a whole percent. null when link tracking is off, nobody is enrolled or everyone bounced.","isRequired":true,"uniqueKey":"data.engagement.click_rate.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.engagement.click_rate","typeLabel":"integer | null"}},"required":["responded","interested","neutral","not_interested","opened","clicked","reply_rate","open_rate","click_rate"],"description":"Replies, opens and clicks, as on the campaign card.","isRequired":true,"uniqueKey":"data.engagement","typeLabel":"object"}},"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["success","data"],"uniqueKey":"","typeLabel":"object"},"example":{"success":true,"data":{"id":"3f9a1c27-8e4b-4d2a-b6f0-7c1e5a9d2b84","name":"Senior Backend Engineer, Monzo","sequence_type":"candidate","is_archived":false,"created_by":"7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20","step_count":3,"created_at":"2026-10-13T10:15:00.000Z","updated_at":"2026-10-13T10:15:00.000Z","enable_sequence_automation":true,"stop_on_response":true,"send_on_weekends":false,"send_on_holidays":false,"link_tracking":true,"open_tracking":false,"include_unsubscribe_link":false,"steps":[{"id":"5b0f3c8e-2a71-4d0e-9a51-6f0c2d7e1a43","order":1,"type":"email","send_after_days":0,"subject":"{{search_name}} role at {{search_client}}","body_html":"\u003cdiv>Hi {{first_name}},\u003c/div>\u003cdiv>\u003cbr>\u003c/div>\u003cdiv>{{ai:opening_line}} I'm hiring a \u003cstrong>{{search_name}}\u003c/strong> at {{search_client}}. {{personalization_line}}\u003c/div>\u003cdiv>\u003cbr>\u003c/div>\u003cdiv>You can see the role \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"{{application_link}}\">here\u003c/a>. Open to a chat?\u003c/div>\u003cdiv>\u003cbr>\u003c/div>\u003cdiv>{{sender_first_name}}\u003c/div>","timezone":"Europe/London","time_window_start":"09:00","time_window_end":"17:00","include_signature":true,"block_until_task_complete":false,"ai_variables":[{"name":"opening_line","description":"One sentence on the most relevant thing they have built or led recently."}],"attachments":[],"created_at":"2026-10-13T10:15:00.000Z","updated_at":"2026-10-13T10:15:00.000Z"},{"id":"9d2e7a14-61c3-4b8f-8f0e-3a5c9b2d4e17","order":2,"type":"email","send_after_days":3,"subject":"Re: {{search_name}} role at {{search_client}}","body_html":"\u003cdiv>Hi {{first_name}}, following up on my note. {{custom}}\u003c/div>\u003cdiv>\u003cbr>\u003c/div>\u003cdiv>{{sender_first_name}}\u003c/div>","timezone":"Europe/London","time_window_start":"09:00","time_window_end":"17:00","include_signature":true,"block_until_task_complete":false,"ai_variables":[],"attachments":[],"created_at":"2026-10-13T10:15:00.000Z","updated_at":"2026-10-13T10:15:00.000Z"},{"id":"c4a8e2f1-7b3d-4e6a-9c1f-2d8b5a7e3f90","order":3,"type":"manual","send_after_days":2,"subject":null,"body_html":"\u003cdiv>Call {{first_name}} if they opened but did not reply.\u003c/div>","timezone":"Europe/London","time_window_start":null,"time_window_end":null,"include_signature":false,"block_until_task_complete":true,"ai_variables":[],"attachments":[],"created_at":"2026-10-13T10:15:00.000Z","updated_at":null}],"manual_variables":["personalization_line","custom"],"ai_variables":[{"name":"opening_line","description":"One sentence on the most relevant thing they have built or led recently.","step_ids":["5b0f3c8e-2a71-4d0e-9a51-6f0c2d7e1a43"]}],"enrollment_counts":{"total":0,"running":0,"awaiting_task":0,"replied":0,"meeting_booked":0,"bounced":0,"completed":0,"stopped":0},"engagement":{"responded":0,"interested":0,"neutral":0,"not_interested":0,"opened":0,"clicked":0,"reply_rate":null,"open_rate":null,"click_rate":null}}},"examples":{"Example":{"title":"Example","value":{"success":true,"data":{"id":"3f9a1c27-8e4b-4d2a-b6f0-7c1e5a9d2b84","name":"Senior Backend Engineer, Monzo","sequence_type":"candidate","is_archived":false,"created_by":"7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20","step_count":3,"created_at":"2026-10-13T10:15:00.000Z","updated_at":"2026-10-13T10:15:00.000Z","enable_sequence_automation":true,"stop_on_response":true,"send_on_weekends":false,"send_on_holidays":false,"link_tracking":true,"open_tracking":false,"include_unsubscribe_link":false,"steps":[{"id":"5b0f3c8e-2a71-4d0e-9a51-6f0c2d7e1a43","order":1,"type":"email","send_after_days":0,"subject":"{{search_name}} role at {{search_client}}","body_html":"\u003cdiv>Hi {{first_name}},\u003c/div>\u003cdiv>\u003cbr>\u003c/div>\u003cdiv>{{ai:opening_line}} I'm hiring a \u003cstrong>{{search_name}}\u003c/strong> at {{search_client}}. {{personalization_line}}\u003c/div>\u003cdiv>\u003cbr>\u003c/div>\u003cdiv>You can see the role \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"{{application_link}}\">here\u003c/a>. Open to a chat?\u003c/div>\u003cdiv>\u003cbr>\u003c/div>\u003cdiv>{{sender_first_name}}\u003c/div>","timezone":"Europe/London","time_window_start":"09:00","time_window_end":"17:00","include_signature":true,"block_until_task_complete":false,"ai_variables":[{"name":"opening_line","description":"One sentence on the most relevant thing they have built or led recently."}],"attachments":[],"created_at":"2026-10-13T10:15:00.000Z","updated_at":"2026-10-13T10:15:00.000Z"},{"id":"9d2e7a14-61c3-4b8f-8f0e-3a5c9b2d4e17","order":2,"type":"email","send_after_days":3,"subject":"Re: {{search_name}} role at {{search_client}}","body_html":"\u003cdiv>Hi {{first_name}}, following up on my note. {{custom}}\u003c/div>\u003cdiv>\u003cbr>\u003c/div>\u003cdiv>{{sender_first_name}}\u003c/div>","timezone":"Europe/London","time_window_start":"09:00","time_window_end":"17:00","include_signature":true,"block_until_task_complete":false,"ai_variables":[],"attachments":[],"created_at":"2026-10-13T10:15:00.000Z","updated_at":"2026-10-13T10:15:00.000Z"},{"id":"c4a8e2f1-7b3d-4e6a-9c1f-2d8b5a7e3f90","order":3,"type":"manual","send_after_days":2,"subject":null,"body_html":"\u003cdiv>Call {{first_name}} if they opened but did not reply.\u003c/div>","timezone":"Europe/London","time_window_start":null,"time_window_end":null,"include_signature":false,"block_until_task_complete":true,"ai_variables":[],"attachments":[],"created_at":"2026-10-13T10:15:00.000Z","updated_at":null}],"manual_variables":["personalization_line","custom"],"ai_variables":[{"name":"opening_line","description":"One sentence on the most relevant thing they have built or led recently.","step_ids":["5b0f3c8e-2a71-4d0e-9a51-6f0c2d7e1a43"]}],"enrollment_counts":{"total":0,"running":0,"awaiting_task":0,"replied":0,"meeting_booked":0,"bounced":0,"completed":0,"stopped":0},"engagement":{"responded":0,"interested":0,"neutral":0,"not_interested":0,"opened":0,"clicked":0,"reply_rate":null,"open_rate":null,"click_rate":null}}}}},"exampleType":"examples"}},"exampleType":"examples"},"b4ca4543-e6e9-4ca8-b1c1-44da8fdee54e":{"description":"Validation error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses.","isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code (e.g. \"VALIDATION_ERROR\", \"NOT_FOUND\").","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"description":"Extra facts about the error when they help you fix it, such as a limit and when it resets.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["success","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"1cf3b434-6273-4821-a7e2-c10049af4dd8":{"description":"No access to campaigns, or the API key lacks the permission","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses.","isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code (e.g. \"VALIDATION_ERROR\", \"NOT_FOUND\").","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"description":"Extra facts about the error when they help you fix it, such as a limit and when it resets.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["success","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"c3b18b4e-d27c-4e05-9b5c-8c680c7deb28":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses.","isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code (e.g. \"VALIDATION_ERROR\", \"NOT_FOUND\").","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"description":"Extra facts about the error when they help you fix it, such as a limit and when it resets.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["success","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"2bbb3bfd-a6c1-416c-8b4a-9b552f68bcb8":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses.","isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code (e.g. \"VALIDATION_ERROR\", \"NOT_FOUND\").","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"description":"Extra facts about the error when they help you fix it, such as a limit and when it resets.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["success","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"5625a650-543e-4dde-bdd4-529bc2359650":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Authenticate with a Bearer token: API key, OAuth token, or session token.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"20e81692-0e88-4037-93ca-f9780d101506":{"url":"https://api.stardex.ai","description":"Production API server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Authenticate with a Bearer token: API key, OAuth token, or session token.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Authenticate with a Bearer token: API key, OAuth token, or session token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi-v1.json"},"subdomain":"stardex","siteName":"Stardex Help Docs","title":"Create campaign - Stardex Help Docs","navMaps":{"firstHrefInVersion":{"v1":{"href":"/api-reference/campaigns/create-campaign","matchLevel":0},"v0 (Deprecated)":{"href":"/api-reference/introduction","matchLevel":3}},"firstHrefInLanguage":{}},"lastModified":"2026-10-25T21:56:34.315Z","originalFileLocation":"api-reference/campaigns/create-campaign.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create a campaign and its steps in one request. Creating a campaign sends nothing. Subjects: only the first email step needs a subject. Later email steps reply in the same thread, so their subject is set to Re: . Variables: use names from GET /v1/campaigns/variables, your own manual names, or {{ai:name}} with a description in the step ai_variables. Nurture campaigns (candidate_nurture, client_nurture) keep going after a reply and never move people through a pipeline, so stop_on_response and enable_sequence_automation are always false for them. Owner: signed-in users own what they create. API keys can set owner_team_member_id; otherwise the admin who created the key owns it. Needs campaigns:write.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Stardex Help Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/stardex/joPRbrJhRInrO3yB/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/stardex/joPRbrJhRInrO3yB/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/stardex/joPRbrJhRInrO3yB/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/stardex/joPRbrJhRInrO3yB/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/stardex/joPRbrJhRInrO3yB/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/stardex/joPRbrJhRInrO3yB/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/stardex/joPRbrJhRInrO3yB/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/stardex/joPRbrJhRInrO3yB/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/stardex/joPRbrJhRInrO3yB/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create campaign - Stardex Help Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a campaign and its steps in one request. Creating a campaign sends nothing. Subjects: only the first email step needs a subject. Later email steps reply in the same thread, so their subject is set to Re: . Variables: use names from GET /v1/campaigns/variables, your own manual names, or {{ai:name}} with a description in the step ai_variables. Nurture campaigns (candidate_nurture, client_nurture) keep going after a reply and never move people through a pipeline, so stop_on_response and enable_sequence_automation are always false for them. Owner: signed-in users own what they create. API keys can set owner_team_member_id; otherwise the admin who created the key owns it. Needs campaigns:write.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Stardex Help Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.stardex.com/api-reference/campaigns/create-campaign\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://stardex.mintlify.app/_mintlify/api/og/v2?division=Campaigns\u0026amp;title=Create+campaign\u0026amp;description=Create+a+campaign+and+its+steps+in+one+request.+Creating+a+campaign+sends+nothing.%0A%0A**Subjects**%3A+only+the+first+email+step+needs+a+subject.+Later+email+steps+r\u0026amp;theme=2ff938ec1d7da32d63cb34ec\u0026amp;signature=47b3a556730b6b7ee29f3cfb17540f7fc9b1ae1d8971cddbb0604dfab5134825\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create campaign - Stardex Help Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a campaign and its steps in one request. Creating a campaign sends nothing. Subjects: only the first email step needs a subject. Later email steps reply in the same thread, so their subject is set to Re: . Variables: use names from GET /v1/campaigns/variables, your own manual names, or {{ai:name}} with a description in the step ai_variables. Nurture campaigns (candidate_nurture, client_nurture) keep going after a reply and never move people through a pipeline, so stop_on_response and enable_sequence_automation are always false for them. Owner: signed-in users own what they create. API keys can set owner_team_member_id; otherwise the admin who created the key owns it. Needs campaigns:write.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://stardex.mintlify.app/_mintlify/api/og/v2?division=Campaigns\u0026amp;title=Create+campaign\u0026amp;description=Create+a+campaign+and+its+steps+in+one+request.+Creating+a+campaign+sends+nothing.%0A%0A**Subjects**%3A+only+the+first+email+step+needs+a+subject.+Later+email+steps+r\u0026amp;theme=2ff938ec1d7da32d63cb34ec\u0026amp;signature=47b3a556730b6b7ee29f3cfb17540f7fc9b1ae1d8971cddbb0604dfab5134825\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/stardex/joPRbrJhRInrO3yB/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Stardex Help Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5853f7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.stardex.com/api-reference/campaigns/create-campaign\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/campaigns/create-campaign.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.stardex.com/#organization\",\"name\":\"Stardex Help Docs\",\"url\":\"https://docs.stardex.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/stardex/Unebva7RlCeyAgPy/logo/light.svg?fit=max\u0026auto=format\u0026n=Unebva7RlCeyAgPy\u0026q=85\u0026s=6a32bc87265a1562f0ee3793cb4c66e7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.stardex.com#website\",\"name\":\"Stardex Help Docs\",\"url\":\"https://docs.stardex.com\",\"publisher\":{\"@id\":\"https://docs.stardex.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.stardex.com/api-reference/campaigns/create-campaign#webpage\",\"url\":\"https://docs.stardex.com/api-reference/campaigns/create-campaign\",\"name\":\"Create campaign\",\"description\":\"Create a campaign and its steps in one request. Creating a campaign sends nothing. Subjects: only the first email step needs a subject. Later email steps reply in the same thread, so their subject is set to Re: . Variables: use names from GET /v1/campaigns/variables, your own manual names, or {{ai:name}} with a description in the step ai_variables. Nurture campaigns (candidate_nurture, client_nurture) keep going after a reply and never move people through a pipeline, so stop_on_response and enable_sequence_automation are always false for them. Owner: signed-in users own what they create. API keys can set owner_team_member_id; otherwise the admin who created the key owns it. Needs campaigns:write.\",\"dateModified\":\"2026-10-25T21:56:34.315Z\",\"isPartOf\":{\"@id\":\"https://docs.stardex.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.stardex.com/api-reference/campaigns/create-campaign#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.stardex.com/api-reference/campaigns/create-campaign#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Campaigns\",\"item\":\"https://docs.stardex.com/api-reference/campaigns/search-campaigns\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create campaign\",\"item\":\"https://docs.stardex.com/api-reference/campaigns/create-campaign\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.stardex.com/api-reference/campaigns/create-campaign#apireference\",\"headline\":\"Create campaign\",\"name\":\"Create campaign\",\"description\":\"Create a campaign and its steps in one request. Creating a campaign sends nothing. Subjects: only the first email step needs a subject. Later email steps reply in the same thread, so their subject is set to Re: . Variables: use names from GET /v1/campaigns/variables, your own manual names, or {{ai:name}} with a description in the step ai_variables. Nurture campaigns (candidate_nurture, client_nurture) keep going after a reply and never move people through a pipeline, so stop_on_response and enable_sequence_automation are always false for them. Owner: signed-in users own what they create. API keys can set owner_team_member_id; otherwise the admin who created the key owns it. Needs campaigns:write.\",\"url\":\"https://docs.stardex.com/api-reference/campaigns/create-campaign\",\"mainEntityOfPage\":{\"@id\":\"https://docs.stardex.com/api-reference/campaigns/create-campaign#webpage\"},\"dateModified\":\"2026-10-25T21:56:34.315Z\",\"publisher\":{\"@id\":\"https://docs.stardex.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.stardex.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Stardex Help Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Stardex Help Docs","nav":{"global":{"anchors":[{"anchor":"Home page","icon":"book-open-cover","href":"https://www.stardex.com"},{"anchor":"Blog","icon":"newspaper","href":"https://www.stardex.com/blog"}]},"tabs":[{"tab":"Guides","hidden":true,"pages":[{"title":"Guides","href":"/help-center/ai-activity-updates"}]},{"tab":"Help Center","pages":[{"title":"Help Center","href":"/help-center"}]},{"tab":"Changelog","hidden":true,"pages":[{"title":"Changelog","href":"/changelog-stardex"}]},{"tab":"API Reference","versions":[{"version":"v1","groups":[{"group":"API Documentation","pages":[{"title":"Introduction","href":"/api-reference/introduction-v1"},{"title":"Enrolling people in campaigns","href":"/api-reference/campaigns-guide"}]},{"group":"Activity Reports","pages":[{"title":"Generate an activity \u0026 stage-change report","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/activity-reports","href":"/api-reference/activity-reports/generate-an-activity-\u0026-stage-change-report"}]},{"group":"Automations","pages":[{"title":"Search automations","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/automations/search","href":"/api-reference/automations/search-automations"},{"title":"List automation trigger types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/automations/trigger-types","href":"/api-reference/automations/list-automation-trigger-types"},{"title":"List automation action types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/automations/action-types","href":"/api-reference/automations/list-automation-action-types"},{"title":"List automation run statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/automations/run-statuses","href":"/api-reference/automations/list-automation-run-statuses"},{"title":"Get automation by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/automations/{id}","href":"/api-reference/automations/get-automation-by-id"},{"title":"Archive automation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/automations/{id}","href":"/api-reference/automations/archive-automation"},{"title":"Update automation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/automations/{id}","href":"/api-reference/automations/update-automation"},{"title":"Create automation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/automations","href":"/api-reference/automations/create-automation"},{"title":"Search automation runs","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/automations/{id}/runs/search","href":"/api-reference/automations/search-automation-runs"},{"title":"Get automation run by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/automations/runs/{runId}","href":"/api-reference/automations/get-automation-run-by-id"}]},{"group":"Calendar Meetings","pages":[{"title":"List calendar meetings","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/calendar-meetings","href":"/api-reference/calendar-meetings/list-calendar-meetings"},{"title":"Get calendar meeting by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/calendar-meetings/{id}","href":"/api-reference/calendar-meetings/get-calendar-meeting-by-id"}]},{"group":"Campaigns","pages":[{"title":"Search campaigns","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/search","href":"/api-reference/campaigns/search-campaigns"},{"title":"List campaign types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/types","href":"/api-reference/campaigns/list-campaign-types"},{"title":"List campaign variables","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/variables","href":"/api-reference/campaigns/list-campaign-variables"},{"title":"List sending mailboxes","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/mailboxes","href":"/api-reference/campaigns/list-sending-mailboxes"},{"title":"Get campaign by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/{id}","href":"/api-reference/campaigns/get-campaign-by-id"},{"title":"Update campaign","description":"Change only the fields you send. Signed-in users must be admins to change `sequence_type` or `enable_sequence_automation`. Setting `is_archived` to true stops everyone still in the campaign and returns how many were stopped; sending it again finishes a stop that was interrupted. Archiving also needs `campaigns:enroll`, because it stops email. Unarchiving restarts nobody. Needs `campaigns:write`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/campaigns/{id}","href":"/api-reference/campaigns/update-campaign"},{"title":"Create campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns","href":"/api-reference/campaigns/create-campaign"},{"title":"Add campaign step","description":"Add a step to the end of the campaign. People already enrolled keep the steps they were enrolled with and will not get this one, which the `existing_enrollees_will_not_receive_this_step` warning tells you. Needs `campaigns:write`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/steps","href":"/api-reference/campaigns/add-campaign-step"},{"title":"Delete campaign step","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/campaigns/{id}/steps/{step_id}","href":"/api-reference/campaigns/delete-campaign-step"},{"title":"Update campaign step","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/campaigns/{id}/steps/{step_id}","href":"/api-reference/campaigns/update-campaign-step"},{"title":"Reorder campaign steps","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/steps/reorder","href":"/api-reference/campaigns/reorder-campaign-steps"},{"title":"List enrollment status groups","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/enrollment-statuses","href":"/api-reference/campaigns/list-enrollment-status-groups"},{"title":"Prepare an enrollment","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollment-batches","href":"/api-reference/campaigns/prepare-an-enrollment"},{"title":"Get an enrollment batch","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/{id}/enrollment-batches/{batch_id}","href":"/api-reference/campaigns/get-an-enrollment-batch"},{"title":"Get one person in a batch","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/{id}/enrollment-batches/{batch_id}/recipients/{recipient_id}","href":"/api-reference/campaigns/get-one-person-in-a-batch"},{"title":"Change one person in a batch","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/campaigns/{id}/enrollment-batches/{batch_id}/recipients/{recipient_id}","href":"/api-reference/campaigns/change-one-person-in-a-batch"},{"title":"Add people to a batch","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollment-batches/{batch_id}/recipients","href":"/api-reference/campaigns/add-people-to-a-batch"},{"title":"Start an enrollment","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollment-batches/{batch_id}/start","href":"/api-reference/campaigns/start-an-enrollment"},{"title":"Discard an enrollment batch","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollment-batches/{batch_id}/discard","href":"/api-reference/campaigns/discard-an-enrollment-batch"},{"title":"Search enrollees","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollments/search","href":"/api-reference/campaigns/search-enrollees"},{"title":"Get an enrollee","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/{id}/enrollments/{enrollment_id}","href":"/api-reference/campaigns/get-an-enrollee"},{"title":"Edit an enrollee's upcoming step","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/campaigns/{id}/enrollments/{enrollment_id}/steps/{step_id}","href":"/api-reference/campaigns/edit-an-enrollees-upcoming-step"},{"title":"Stop enrollees","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollments/stop","href":"/api-reference/campaigns/stop-enrollees"}]},{"group":"Candidates","pages":[{"title":"Update candidate stage","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/candidates/update-stage","href":"/api-reference/candidates/update-candidate-stage"},{"title":"List rejection reasons","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/candidates/rejection-reasons","href":"/api-reference/candidates/list-rejection-reasons"},{"title":"Get candidate by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/candidates/{id}","href":"/api-reference/candidates/get-candidate-by-id"},{"title":"Remove candidate from job","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/candidates/{id}","href":"/api-reference/candidates/remove-candidate-from-job"}]},{"group":"Client Contacts","pages":[{"title":"List client contact statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/client-contacts/statuses","href":"/api-reference/client-contacts/list-client-contact-statuses"},{"title":"List client contacts","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/client-contacts","href":"/api-reference/client-contacts/list-client-contacts"},{"title":"Create client contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/client-contacts","href":"/api-reference/client-contacts/create-client-contact"},{"title":"Get client contact by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/client-contacts/{id}","href":"/api-reference/client-contacts/get-client-contact-by-id"},{"title":"Update client contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/client-contacts/{id}","href":"/api-reference/client-contacts/update-client-contact"}]},{"group":"Companies","pages":[{"title":"List company client statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/companies/statuses","href":"/api-reference/companies/list-company-client-statuses"},{"title":"Search companies","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/companies/search","href":"/api-reference/companies/search-companies"},{"title":"Create or update company","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/companies","href":"/api-reference/companies/create-or-update-company"},{"title":"Get company by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/companies/{id}","href":"/api-reference/companies/get-company-by-id"},{"title":"Update company","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/companies/{id}","href":"/api-reference/companies/update-company"},{"title":"List company document types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/companies/document-types","href":"/api-reference/companies/list-company-document-types"},{"title":"Get company documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/companies/{id}/documents","href":"/api-reference/companies/get-company-documents"},{"title":"Upload company document","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/companies/{id}/documents","href":"/api-reference/companies/upload-company-document"}]},{"group":"Company Activities","pages":[{"title":"List company activity types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/company-activities/types","href":"/api-reference/company-activities/list-company-activity-types"},{"title":"List company activities","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/company-activities","href":"/api-reference/company-activities/list-company-activities"},{"title":"Create company activity (note)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/company-activities","href":"/api-reference/company-activities/create-company-activity-note"},{"title":"Get company activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/company-activities/{id}","href":"/api-reference/company-activities/get-company-activity-by-id"},{"title":"Update company activity (note) by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/company-activities/{id}","href":"/api-reference/company-activities/update-company-activity-note-by-id"}]},{"group":"Company Insights","pages":[{"title":"List AI-extracted insights for a company","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/company-insights","href":"/api-reference/company-insights/list-ai-extracted-insights-for-a-company"},{"title":"Edit content or dismiss/restore an insight","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/company-insights/{id}","href":"/api-reference/company-insights/edit-content-or-dismissrestore-an-insight"},{"title":"Dismiss multiple insights at once","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/company-insights/bulk-dismiss","href":"/api-reference/company-insights/dismiss-multiple-insights-at-once"},{"title":"Manually extract insights from an activity","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/company-insights/trigger","href":"/api-reference/company-insights/manually-extract-insights-from-an-activity"}]},{"group":"Custom Fields","pages":[{"title":"Get person custom field definitions","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/custom-fields/persons","href":"/api-reference/custom-fields/get-person-custom-field-definitions"},{"title":"Get company custom field definitions","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/custom-fields/companies","href":"/api-reference/custom-fields/get-company-custom-field-definitions"},{"title":"Get job custom field definitions","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/custom-fields/jobs","href":"/api-reference/custom-fields/get-job-custom-field-definitions"},{"title":"Get deal custom field definitions","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/custom-fields/deals","href":"/api-reference/custom-fields/get-deal-custom-field-definitions"}]},{"group":"Deal Activities","pages":[{"title":"List deal activities","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/deal-activities","href":"/api-reference/deal-activities/list-deal-activities"},{"title":"Create deal activity (note)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/deal-activities","href":"/api-reference/deal-activities/create-deal-activity-note"},{"title":"Get deal activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/deal-activities/{id}","href":"/api-reference/deal-activities/get-deal-activity-by-id"},{"title":"Update deal activity (note) by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/deal-activities/{id}","href":"/api-reference/deal-activities/update-deal-activity-note-by-id"}]},{"group":"Deals","pages":[{"title":"List deal statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/deals/statuses","href":"/api-reference/deals/list-deal-statuses"},{"title":"Search deals","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/deals/search","href":"/api-reference/deals/search-deals"},{"title":"Get deal by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/deals/{id}","href":"/api-reference/deals/get-deal-by-id"},{"title":"Archive deal","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/deals/{id}","href":"/api-reference/deals/archive-deal"},{"title":"Update deal","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/deals/{id}","href":"/api-reference/deals/update-deal"},{"title":"Create deal","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/deals","href":"/api-reference/deals/create-deal"}]},{"group":"Job Activities","pages":[{"title":"List job activities","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/job-activities","href":"/api-reference/job-activities/list-job-activities"},{"title":"Create job activity (note)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/job-activities","href":"/api-reference/job-activities/create-job-activity-note"},{"title":"Get job activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/job-activities/{id}","href":"/api-reference/job-activities/get-job-activity-by-id"},{"title":"Update job activity (note) by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/job-activities/{id}","href":"/api-reference/job-activities/update-job-activity-note-by-id"}]},{"group":"Job Offers","pages":[{"title":"List job offer statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/job-offers/statuses","href":"/api-reference/job-offers/list-job-offer-statuses"},{"title":"List job offers","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/job-offers","href":"/api-reference/job-offers/list-job-offers"}]},{"group":"Jobs","pages":[{"title":"List jobs (deprecated)","deprecated":true,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs","href":"/api-reference/jobs/list-jobs-deprecated"},{"title":"Create job","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/jobs","href":"/api-reference/jobs/create-job"},{"title":"Search jobs","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/jobs/search","href":"/api-reference/jobs/search-jobs"},{"title":"Get job by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/{id}","href":"/api-reference/jobs/get-job-by-id"},{"title":"Update job","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/jobs/{id}","href":"/api-reference/jobs/update-job"},{"title":"List job candidates","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/{id}/candidates","href":"/api-reference/jobs/list-job-candidates"},{"title":"List job applicants","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/{id}/applicants","href":"/api-reference/jobs/list-job-applicants"},{"title":"List job document types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/document-types","href":"/api-reference/jobs/list-job-document-types"},{"title":"Get job documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/{id}/documents","href":"/api-reference/jobs/get-job-documents"},{"title":"Upload job document","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/jobs/{id}/documents","href":"/api-reference/jobs/upload-job-document"},{"title":"Add job target companies","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/jobs/{id}/target-companies","href":"/api-reference/jobs/add-job-target-companies"},{"title":"Remove job target companies","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/jobs/{id}/target-companies","href":"/api-reference/jobs/remove-job-target-companies"},{"title":"List job team member roles","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/team-member-roles","href":"/api-reference/jobs/list-job-team-member-roles"},{"title":"List job statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/statuses","href":"/api-reference/jobs/list-job-statuses"},{"title":"List pipeline stages","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/pipeline-stages","href":"/api-reference/jobs/list-pipeline-stages"}]},{"group":"Lists","pages":[{"title":"Search lists","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/lists/search","href":"/api-reference/lists/search-lists"},{"title":"Get list by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/lists/{id}","href":"/api-reference/lists/get-list-by-id"},{"title":"Create list","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/lists","href":"/api-reference/lists/create-list"},{"title":"Add list items","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/lists/{id}/items","href":"/api-reference/lists/add-list-items"},{"title":"Remove list items","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/lists/{id}/items","href":"/api-reference/lists/remove-list-items"}]},{"group":"Meeting Recordings","pages":[{"title":"List meeting recordings","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/meeting-recordings","href":"/api-reference/meeting-recordings/list-meeting-recordings"},{"title":"Get meeting recording by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/meeting-recordings/{id}","href":"/api-reference/meeting-recordings/get-meeting-recording-by-id"}]},{"group":"Person Activities","pages":[{"title":"List person activity types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/person-activities/types","href":"/api-reference/person-activities/list-person-activity-types"},{"title":"Create person activity","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/person-activities","href":"/api-reference/person-activities/create-person-activity"},{"title":"Get person activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/person-activities/{id}","href":"/api-reference/person-activities/get-person-activity-by-id"},{"title":"Delete person activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/person-activities/{id}","href":"/api-reference/person-activities/delete-person-activity-by-id"},{"title":"Update person activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/person-activities/{id}","href":"/api-reference/person-activities/update-person-activity-by-id"}]},{"group":"Persons","pages":[{"title":"List person reference types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons/reference-types","href":"/api-reference/persons/list-person-reference-types"},{"title":"Create person reference","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/references","href":"/api-reference/persons/create-person-reference"},{"title":"Delete person reference","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/persons/{id}/references/{reference_id}","href":"/api-reference/persons/delete-person-reference"},{"title":"Update person reference","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/persons/{id}/references/{reference_id}","href":"/api-reference/persons/update-person-reference"},{"title":"List persons (deprecated)","deprecated":true,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons","href":"/api-reference/persons/list-persons-deprecated"},{"title":"Create person","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons","href":"/api-reference/persons/create-person"},{"title":"Advanced person search","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/search","href":"/api-reference/persons/advanced-person-search"},{"title":"Get person by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons/{id}","href":"/api-reference/persons/get-person-by-id"},{"title":"Update person","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/persons/{id}","href":"/api-reference/persons/update-person"},{"title":"Create person compensation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/compensations","href":"/api-reference/persons/create-person-compensation"},{"title":"Delete person compensation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/persons/{id}/compensations/{compensation_id}","href":"/api-reference/persons/delete-person-compensation"},{"title":"Update person compensation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/persons/{id}/compensations/{compensation_id}","href":"/api-reference/persons/update-person-compensation"},{"title":"Get unified person activities","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons/{id}/activities","href":"/api-reference/persons/get-unified-person-activities"},{"title":"Get person documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons/{id}/documents","href":"/api-reference/persons/get-person-documents"},{"title":"Upload person document","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/documents","href":"/api-reference/persons/upload-person-document"},{"title":"List person document types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons/document-types","href":"/api-reference/persons/list-person-document-types"},{"title":"Set preferred email (bulk)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/preferred-email","href":"/api-reference/persons/set-preferred-email-bulk"},{"title":"Set preferred phone (bulk)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/preferred-phone","href":"/api-reference/persons/set-preferred-phone-bulk"},{"title":"Mark emails as bounced (bulk)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/email-bounced","href":"/api-reference/persons/mark-emails-as-bounced-bulk"},{"title":"Remove emails (bulk)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/emails/delete","href":"/api-reference/persons/remove-emails-bulk"},{"title":"Set preferred email","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/preferred-email","href":"/api-reference/persons/set-preferred-email"},{"title":"Set preferred phone","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/preferred-phone","href":"/api-reference/persons/set-preferred-phone"},{"title":"Enrich person contact details","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/enrich","href":"/api-reference/persons/enrich-person-contact-details"}]},{"group":"Scorecards","pages":[{"title":"Search scorecard templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/scorecard-templates/search","href":"/api-reference/scorecards/search-scorecard-templates"},{"title":"Get scorecard template by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/scorecard-templates/{id}","href":"/api-reference/scorecards/get-scorecard-template-by-id"},{"title":"Archive scorecard template","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/scorecard-templates/{id}","href":"/api-reference/scorecards/archive-scorecard-template"},{"title":"Update scorecard template","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/scorecard-templates/{id}","href":"/api-reference/scorecards/update-scorecard-template"},{"title":"Create scorecard template","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/scorecard-templates","href":"/api-reference/scorecards/create-scorecard-template"},{"title":"Search scorecards","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/scorecards/search","href":"/api-reference/scorecards/search-scorecards"},{"title":"Get scorecard by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/scorecards/{id}","href":"/api-reference/scorecards/get-scorecard-by-id"},{"title":"Delete scorecard","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/scorecards/{id}","href":"/api-reference/scorecards/delete-scorecard"},{"title":"Update scorecard","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/scorecards/{id}","href":"/api-reference/scorecards/update-scorecard"},{"title":"Create scorecard","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/scorecards","href":"/api-reference/scorecards/create-scorecard"}]},{"group":"Tasks","pages":[{"title":"Search tasks","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/tasks/search","href":"/api-reference/tasks/search-tasks"},{"title":"Get task by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/tasks/{id}","href":"/api-reference/tasks/get-task-by-id"},{"title":"Delete task","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/tasks/{id}","href":"/api-reference/tasks/delete-task"},{"title":"Update task","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/tasks/{id}","href":"/api-reference/tasks/update-task"},{"title":"Create task","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/tasks","href":"/api-reference/tasks/create-task"}]},{"group":"Team Capacity","pages":[{"title":"Get the Team Capacity report","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/team-capacity","href":"/api-reference/team-capacity/get-the-team-capacity-report"},{"title":"Update Team Capacity settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/team-capacity/settings","href":"/api-reference/team-capacity/update-team-capacity-settings"}]},{"group":"Team Members","pages":[{"title":"List team members","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/team-members","href":"/api-reference/team-members/list-team-members"},{"title":"Get team member by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/team-members/{id}","href":"/api-reference/team-members/get-team-member-by-id"}]},{"group":"Webhooks","pages":[{"title":"Get webhook management portal URL","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/webhooks/portal","href":"/api-reference/webhooks/get-webhook-management-portal-url"}]}]},{"version":"v0 (Deprecated)","pages":[{"title":"v0 (Deprecated)","href":"/api-reference/introduction"}]}]},{"tab":"Zapier API Reference","hidden":true,"pages":[{"title":"Zapier API Reference","href":"/api-reference/zapier-introduction"}]}]},"title":"Create campaign - Stardex Help Docs","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DKJwRUt2.js","utils-CWD_VS3u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-oFjciODD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C76WsxC3.js","snippetPresets-DvPMxpX_.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CuNQfndH.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BVFpVUoF.js","shallow-t59Jg5Kr.js","getApiPlaygroundDisplay-C_JZ4amX.js","CodeSnippet-CLRDnx_h.js","CodeSnippets-C2myU4kc.js","Page-7TwLLapg.js","getPastedJson-B-JaVXw7.js","icon-BA-iDhH3.js","MethodPill-D4qZABFp.js","DuplicateIcon-THIDKO1O.js","createIcon-CYYJwgFd.js","DynamicMarkdown-UGQuxDKp.js","SectionHeading-jYELb23h.js","axios-vUo_bRtp.js","Markdown-DKsLa3wy.js","clsx-CefdjKz2.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BaREnp3o.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sgx_0XzF.js"]}