launch: true when ready.
Create a New Campaign
POST/api/public/v1/campaigns
- Python
- JavaScript
- cURL
Request Parameters
Required Fields
Optional Fields
The sending window supports minute-precision. For example,
sending_window_start: 9 with sending_window_start_minute: 30 starts at 9:30 AM. When sending_window_end is 24, the minute must be 0.Update Campaign
PUT/api/public/v1/campaigns/{campaign_id}
Update any campaign field or activate it. Only include the fields you want to change.
- Python
Updatable Fields
Basic Settings: name, timezone, sending_days, sending_window_start, sending_window_start_minute, sending_window_end, sending_window_end_minute, daily_limit_per_inbox, enable_tracking, enable_unsubscribe, start_date, ramp_up_enabled, ramp_up_increment, ramp_up_max_limitSetting
ramp_up_enabled: true resets the ramp-up counter for all assigned inboxes, so the gradual increase starts fresh.true to activate the campaign
Launch Validation
Whenlaunch: true, the API checks:
- At least one lead exists
- At least one inbox is assigned
- At least one email variant is configured
- Python
Response
Validation Errors
Best Practices
- Use descriptive names — Include goal, target audience, or time period
- Match timezone to audience — Prevents emails from sending at odd hours
- Start conservative with limits — 20-50 emails/inbox/day for new accounts
- Enable tracking — Essential for measuring campaign performance
- Test before launching — Try with a few test leads first
Next Steps
Email Variants
Configure A/B testing and distribution.
Follow-up Sequences
Set up automated follow-up emails.
Personalization
Use variables, spintax, and conditionals.

