Campaigns
List Campaigns
List email campaigns
GET
/
api
/
v1
/
campaigns
List Campaigns
curl --request GET \
--url https://api.sequenzy.com/api/v1/campaigns \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sequenzy.com/api/v1/campaigns"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sequenzy.com/api/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.sequenzy.com/api/v1/campaigns",
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.sequenzy.com/api/v1/campaigns"
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.sequenzy.com/api/v1/campaigns")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/campaigns")
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,
"campaigns": [
{
"id": "camp_abc123",
"name": "April Launch",
"subject": "A quick update",
"emailId": "email_abc123",
"emailPreset": "branded",
"status": "draft",
"rejectionComment": null,
"labels": ["edm"],
"scheduledAt": null,
"sentAt": null,
"createdAt": "2026-05-01T10:30:00Z",
"url": "https://sequenzy.com/dashboard/company/comp_abc123/campaign/camp_abc123",
"previewUrl": "https://sequenzy.com/dashboard/company/comp_abc123/campaign/camp_abc123?step=review"
}
],
"pagination": {
"limit": 100,
"offset": 0,
"count": 1,
"total": 1,
"hasMore": false
}
}
{
"success": false,
"error": "Invalid status filter. Valid values: draft, scheduled, sent, sending, cancelled, paused, waiting_approval, rejected"
}
{
"success": false,
"error": "Unauthorized"
}
List campaigns for the authenticated company. You can filter by status or label.
Results are ordered newest first. The default page size is 50, and
limit is
capped at 100.
Request
string
Optional status filter:
draft, scheduled, sent, sending, cancelled,
paused, waiting_approval, or rejected.string
Optional label name filter. Only campaigns assigned this label are returned.
integer
Optional page size. Defaults to
50; maximum 100.integer
Optional zero-based row offset. Defaults to
0.curl "https://api.sequenzy.com/api/v1/campaigns?status=draft&label=edm&limit=100&offset=0" \
-H "Authorization: Bearer YOUR_API_KEY"
Responses
{
"success": true,
"campaigns": [
{
"id": "camp_abc123",
"name": "April Launch",
"subject": "A quick update",
"emailId": "email_abc123",
"emailPreset": "branded",
"status": "draft",
"rejectionComment": null,
"labels": ["edm"],
"scheduledAt": null,
"sentAt": null,
"createdAt": "2026-05-01T10:30:00Z",
"url": "https://sequenzy.com/dashboard/company/comp_abc123/campaign/camp_abc123",
"previewUrl": "https://sequenzy.com/dashboard/company/comp_abc123/campaign/camp_abc123?step=review"
}
],
"pagination": {
"limit": 100,
"offset": 0,
"count": 1,
"total": 1,
"hasMore": false
}
}
{
"success": false,
"error": "Invalid status filter. Valid values: draft, scheduled, sent, sending, cancelled, paused, waiting_approval, rejected"
}
{
"success": false,
"error": "Unauthorized"
}
emailPreset is the linked email’s Style > Format: branded (company logo
and full footer), minimal (no logo, simple footer), or null for SMS
campaigns and emails stored as a single raw HTML block. Use it to check chrome
consistency across campaigns without fetching each one.⌘I
List Campaigns
curl --request GET \
--url https://api.sequenzy.com/api/v1/campaigns \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sequenzy.com/api/v1/campaigns"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sequenzy.com/api/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.sequenzy.com/api/v1/campaigns",
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.sequenzy.com/api/v1/campaigns"
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.sequenzy.com/api/v1/campaigns")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/campaigns")
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,
"campaigns": [
{
"id": "camp_abc123",
"name": "April Launch",
"subject": "A quick update",
"emailId": "email_abc123",
"emailPreset": "branded",
"status": "draft",
"rejectionComment": null,
"labels": ["edm"],
"scheduledAt": null,
"sentAt": null,
"createdAt": "2026-05-01T10:30:00Z",
"url": "https://sequenzy.com/dashboard/company/comp_abc123/campaign/camp_abc123",
"previewUrl": "https://sequenzy.com/dashboard/company/comp_abc123/campaign/camp_abc123?step=review"
}
],
"pagination": {
"limit": 100,
"offset": 0,
"count": 1,
"total": 1,
"hasMore": false
}
}
{
"success": false,
"error": "Invalid status filter. Valid values: draft, scheduled, sent, sending, cancelled, paused, waiting_approval, rejected"
}
{
"success": false,
"error": "Unauthorized"
}