REST API

Campaigns, runs & send

Campaign CRUD plus run history and the send endpoint (queues delivery like “Send now” in the app).

Campaign CRUD

  • GET|POST /api/v1/campaigns
  • GET|PATCH|DELETE /api/v1/campaigns/{id}

schedule_type: manual, scheduled_once, recurring, recurring_new_contacts. For scheduled_once set scheduled_at (ISO 8601). For recurring, set recurrence_interval (≥1) and recurrence_unit: day | week | month.

POST /api/v1/campaigns
{
  "title": "April newsletter",
  "description": "Internal note",
  "segment_id": "uuid",
  "template_id": "uuid",
  "schedule_type": "manual"
}

GET /api/v1/campaigns/{id}/runs

List runs for the campaign, newest first. Each item includes aggregate counts from mail logs: total, sent, failed, pending, etc.

POST /api/v1/campaigns/{id}/send

Requires campaign with segment and template configured. Queues messages to the segment audience.

Body
{
  "send_now": true,
  "sender_account_ids": ["uuid-account-1"]
}

JSON aliases: sendNow, senderAccountIds. Omit sender_account_ids for default account selection.

200 ok, campaign_id, contacts_messaged, etc.