logo
CampaignsCreate campaign
Campaigns

Create campaign

Create a new campaign in draft status. Mailboxes can be assigned using any combination of:

  • mailboxes or mailboxIds — direct mailbox IDs
  • mailboxEmails — resolve mailboxes by email address
  • mailboxTags — all mailboxes matching any of these tags
  • mailboxProvider — all mailboxes with this provider (e.g. "gmail", "outlook")
curl -X POST "https://api.sendkit.ai/v1/campaigns" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
  "name": "Q1 Outreach Campaign",
  "sequence": [
    {
      "type": "email",
      "name": "Initial Email",
      "order": 0,
      "subject": "Quick question, {{firstName}}",
      "body": "<p>Hi {{firstName}},</p><p>I noticed {{company}} is growing fast...</p>"
    },
    {
      "type": "wait",
      "name": "Wait 3 days",
      "order": 1,
      "waitDays": 3
    },
    {
      "type": "email",
      "name": "Follow-up",
      "order": 2,
      "subject": "Re: Quick question",
      "body": "<p>Just following up on my last email...</p>"
    }
  ],
  "schedule": {
    "timezone": "America/New_York",
    "startTime": "09:00",
    "endTime": "17:00",
    "workingDays": [
      1,
      2,
      3,
      4,
      5
    ]
  },
  "settings": {
    "trackOpens": true,
    "trackClicks": true,
    "stopOnReply": true,
    "dailySendLimit": 50
  },
  "mailboxTags": [
    "outreach"
  ]
}'
{
  "success": true,
  "data": {
    "_id": "665a1b2c3d4e5f6a7b8c9d0e",
    "name": "Q1 Outreach Campaign",
    "userId": "664f0a1b2c3d4e5f6a7b8c9d",
    "workspaceId": "664f0a1b2c3d4e5f6a7b8c9e",
    "status": "draft",
    "mailboxes": [
      "665b1c2d3e4f5a6b7c8d9e0f"
    ],
    "sequence": [
      {
        "type": "email",
        "name": "Initial Email",
        "order": 0,
        "subject": "Quick question, {{firstName}}",
        "body": "<p>Hi {{firstName}},</p><p>I noticed {{company}} is growing fast...</p>"
      },
      {
        "type": "wait",
        "name": "Wait 3 days",
        "order": 1,
        "waitDays": 3
      },
      {
        "type": "email",
        "name": "Follow-up",
        "order": 2,
        "subject": "Re: Quick question",
        "body": "<p>Just following up on my last email...</p>"
      }
    ],
    "sendingSchedule": {
      "timezone": "America/New_York",
      "startTime": "09:00",
      "endTime": "17:00",
      "workingDays": [
        1,
        2,
        3,
        4,
        5
      ]
    },
    "trackOpens": true,
    "trackClicks": true,
    "stopOnReply": true,
    "stats": {
      "sent": 0,
      "delivered": 0,
      "opened": 0,
      "clicked": 0,
      "replied": 0,
      "bounced": 0,
      "unsubscribed": 0
    },
    "createdAt": "2025-06-10T10:30:00.000Z",
    "updatedAt": "2025-06-10T10:30:00.000Z"
  }
}
POST
/v1/campaigns
POST
API Key (header: X-Api-Key)
X-Api-Keystring
Required

Platform API key (sk_user_...) or Workspace API key (sk_...)

Platform API key (sk_user_...) or Workspace API key (sk_...)
Bearer Token
Bearer Tokenstring
Required

API key as Bearer token

API key as Bearer token
Content-Typestring
Required

The media type of the request body

Options: application/json
namestring
Required

Campaign name

sequencearray

Email sequence steps

scheduleobject

Sending schedule configuration

settingsobject

Campaign tracking and sending settings

mailboxesarray

Mailbox IDs (legacy field)

mailboxIdsarray

Mailbox IDs to use for sending

mailboxEmailsarray

Resolve mailboxes by email address

mailboxTagsarray

Use all mailboxes matching any of these tags

mailboxProviderstring

Use all mailboxes with this provider

Request Preview
Response

Response will appear here after sending the request

Authentication

header
X-Api-Keystring
Required

API Key for authentication. Platform API key (sk_user_...) or Workspace API key (sk_...)

header
Authorizationstring
Required

Bearer token. API key as Bearer token

Body

application/json
namestring
Required

Campaign name

sequencearray

Email sequence steps

scheduleobject

Sending schedule configuration

settingsobject

Campaign tracking and sending settings

mailboxesarray

Mailbox IDs (legacy field)

mailboxIdsarray

Mailbox IDs to use for sending

mailboxEmailsarray

Resolve mailboxes by email address

mailboxTagsarray

Use all mailboxes matching any of these tags

mailboxProviderstring

Use all mailboxes with this provider

Responses