Create campaign
Create a new cold email campaign
Initialize a new campaign with core configuration including schedule, sending limits, and tracking preferences.
Campaign Setup Workflow
Creating and launching a campaign follows a structured process:
- Create Campaign (this endpoint) - Set name, schedule, and basic configuration
- Upload Leads - Add recipients via CSV upload
- Configure Inboxes - Select which sender email accounts will be used
- Design Emails - Create email variants and automated follow-up sequences
- Launch - Review and activate your campaign to start sending
Example Usage
import requests
response = requests.post(
"https://api.coldsend.io/api/public/v1/campaigns",
headers={"X-API-Key": "your-api-key"},
json={
"name": "Q1 2024 Product Launch",
"timezone": "America/New_York",
"sending_days": [1, 2, 3, 4, 5],
"sending_window_start": 9,
"sending_window_start_minute": 30,
"sending_window_end": 17,
"sending_window_end_minute": 15,
"daily_limit_per_inbox": 50,
"enable_tracking": True
}
)
print(response.json())
Authorizations
API key with format cs_live_xxx
Body
Request schema for public campaign creation.
Campaign name (minimum 8 characters). Use descriptive names like 'Q1 2024 Product Launch'.
8 - 255Maximum emails per inbox per day for this campaign. Recommended: 20-30 for new accounts, 50-80 for warmed accounts, 80-100 for established accounts. Set to null for no campaign-specific limit.
1 <= x <= 100Campaign start date and time (ISO 8601 format). If not specified, campaign starts immediately upon activation. All times are interpreted in the specified timezone.
Timezone for campaign scheduling (IANA timezone format). Common values: America/New_York, Europe/London, America/Los_Angeles, Asia/Tokyo. All sending windows are interpreted in this timezone.
100Days of the week to send emails where 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday, 7=Sunday. Best practice for B2B is [1,2,3,4,5] (Monday-Friday).
1 - 7 elementsStart hour for sending window in 24-hour format (0-23). Emails are only sent during the window. Example: 9 = 9:00 AM. Recommended for B2B: 9 (9 AM).
0 <= x <= 23Start minute for sending window (0-59). Example: 30 = half past the hour.
0 <= x <= 59End hour for sending window in 24-hour format (1-24). Must be after sending_window_start. Example: 17 = 5:00 PM. Recommended for B2B: 17 (5 PM).
1 <= x <= 24End minute for sending window (0-59). Must be 0 when sending_window_end is 24.
0 <= x <= 59Enable email open tracking via tracking pixels. When enabled, inserts invisible 1x1 pixel to detect opens. Requires HTML email format. Note: Blocked by some privacy-focused email clients. Replies are always tracked regardless of this setting.
Automatically insert unsubscribe link in email footer. Strongly recommended to keep enabled for compliance with CAN-SPAM (US), CASL (Canada), and GDPR (EU). Adds one-click unsubscribe and honors List-Unsubscribe header.
Enable gradual ramp-up of daily sending volume per inbox. When enabled, the system starts at a low daily limit and incrementally increases it to ramp_up_max_limit over successive sending days. Recommended for new domains or inboxes to build sender reputation.
Additional emails per inbox per day added on each ramp-up day (1-100). Defaults to the system-configured value when omitted. Example: 5 means the daily limit grows by 5 each day.
1 <= x <= 100Maximum daily emails per inbox once fully ramped (1-1000). Defaults to the system-configured value when omitted. The ramp-up plateaus at this value and stays there.
1 <= x <= 1000Response
Campaign created successfully
Response for campaign creation.

