Send or schedule an email campaign

Send a draft email campaign now or schedule it for a day and time.

POST https://cotlet.dev/api/v1/privy/campaigns/{campaign_id}/email-campaigns

write Confirm

Returns the campaign status, scheduled when send_at is set. With recipient_timezone on, delivery spreads over about 24 hours, and contacts with no known time zone get it at the chosen time in your business time zone. The audience is fixed when you approve, and Privy may send a scheduled email a couple of minutes early. Sent emails cannot be recalled. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: send_email_campaign
NameTypeDescription
campaign_id string required string Draft campaign (id from list_campaigns)
send_at string string ISO 8601 time in your business time zone. Leave out to send now
recipient_timezone boolean boolean Send in recipient's timezone

Request

cURL
curl -X POST https://cotlet.dev/api/v1/privy/campaigns/cmp_5b92/email-campaigns \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"send_at":"2026-10-22T10:00:00-04:00"}'
Python
result = client.call("privy", "send_email_campaign", {"campaign_id":"cmp_5b92","send_at":"2026-10-22T10:00:00-04:00"})
Node.js
const result = await cotlet.call('privy', 'send_email_campaign', {"campaign_id":"cmp_5b92","send_at":"2026-10-22T10:00:00-04:00"});
CLI
cotlet call privy send_email_campaign --data '{"campaign_id":"cmp_5b92","send_at":"2026-10-22T10:00:00-04:00"}'

Example response

JSON

{
  "campaign_id": "cmp_5b92",
  "status": "scheduled",
  "send_at": "2026-10-22T10:00:00-04:00",
  "send_in_recipient_timezone": false
}

Sign in once. Your agent does the rest.

Sign up and add the apps you need. Free 7-day trial with 2,000 credits, no card needed.