Skip to main content
Create and configure cold email campaigns programmatically. Campaign activation follows a component-based approach where you provide the fields you want, then set launch: true when ready.

Create a New Campaign

POST /api/public/v1/campaigns

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.

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_limit
Setting ramp_up_enabled: true resets the ramp-up counter for all assigned inboxes, so the gradual increase starts fresh.
Inboxes: inbox_ids — Array of inbox UUIDs to assign Email Content: variants — Array of email variant objects for A/B testing Follow-ups: sequences — Array of follow-up sequence objects Launch Control: launch — Set to true to activate the campaign

Launch Validation

When launch: true, the API checks:
  • At least one lead exists
  • At least one inbox is assigned
  • At least one email variant is configured
Response
If requirements are missing, the campaign remains in DRAFT. The missing_requirements field tells you exactly what’s needed.

Validation Errors

Best Practices

  1. Use descriptive names — Include goal, target audience, or time period
  2. Match timezone to audience — Prevents emails from sending at odd hours
  3. Start conservative with limits — 20-50 emails/inbox/day for new accounts
  4. Enable tracking — Essential for measuring campaign performance
  5. 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.