Get campaign by ID
curl --request GET \
--url https://api.stardex.ai/v1/campaigns/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.stardex.ai/v1/campaigns/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.stardex.ai/v1/campaigns/{id}', 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/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.stardex.ai/v1/campaigns/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.stardex.ai/v1/campaigns/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v1/campaigns/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
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": [
{
"file_name": "Monzo backend engineering role.pdf",
"content_type": "application/pdf",
"size_bytes": 184320
}
],
"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": 42,
"running": 27,
"awaiting_task": 2,
"replied": 6,
"meeting_booked": 3,
"bounced": 1,
"completed": 4,
"stopped": 1
},
"engagement": {
"responded": 9,
"interested": 5,
"neutral": 2,
"not_interested": 2,
"opened": 0,
"clicked": 7,
"reply_rate": 22,
"open_rate": null,
"click_rate": 17
}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}Campaigns
Get campaign by ID
One campaign with its settings, ordered steps, the manual and AI variables it needs when enrolling people, how many people are in it by status, and its reply, open and click rates as shown on the campaign card. Needs campaigns:read.
GET
/
v1
/
campaigns
/
{id}
Get campaign by ID
curl --request GET \
--url https://api.stardex.ai/v1/campaigns/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.stardex.ai/v1/campaigns/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.stardex.ai/v1/campaigns/{id}', 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/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.stardex.ai/v1/campaigns/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.stardex.ai/v1/campaigns/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v1/campaigns/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
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": [
{
"file_name": "Monzo backend engineering role.pdf",
"content_type": "application/pdf",
"size_bytes": 184320
}
],
"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": 42,
"running": 27,
"awaiting_task": 2,
"replied": 6,
"meeting_booked": 3,
"bounced": 1,
"completed": 4,
"stopped": 1
},
"engagement": {
"responded": 9,
"interested": 5,
"neutral": 2,
"not_interested": 2,
"opened": 0,
"clicked": 7,
"reply_rate": 22,
"open_rate": null,
"click_rate": 17
}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}Was this page helpful?