Campaign API

A campaign is the configuration for sending out messages. Campaigns need senders, messages, and contacts in order to work properly.

Create Campaign

Update campaign settings, schedule, and configuration.

bash
curl -X POST 'https://api.supersend.io/v1/auto/campaign' -H "Authorization: Bearer <API_KEY>" -H "Content-Type: application/json" -d '{
  "name": "Q4 Outreach Campaign",
  "TeamId": "team-uuid"
}'

# Response
{
  "success": true,
  "campaign": {
    "id": "campaign-uuid",
    "name": "Q4 Outreach Campaign",
    "TeamId": "team-uuid",
    "status": 1,
    "disabled": false,
    "createdAt": "2025-11-27T10:00:00Z",
    "updatedAt": "2025-11-27T10:00:00Z"
  }
}
bash
curl -X GET 'https://api.supersend.io/v1/campaigns/overview?TeamId=xxx&limit=50&offset=0&includeMetrics=true' -H "Authorization: Bearer <API_KEY>" -H "Content-Type: application/json"

# Response
{
  "success": true,
  "campaigns": [
    {
      "id": "campaign-uuid",
      "name": "Q4 Outreach Campaign",
      "track_domain": "track.example.com",
      "status": 1,
      "disabled": false,
      "is_draft": false,
      "createdAt": "2025-11-01T10:00:00Z",
      "updatedAt": "2025-11-27T15:30:00Z",
      "User": {
        "id": "user-uuid",
        "firstName": "John",
        "lastName": "Doe"
      },
      "contactedCount": 150,
      "openCount": 75,
      "replyCount": 12,
      "emailSentCount": 200,
      "linkedInSentCount": 50,
      "twitterSentCount": 25,
      "bounces": 5,
      "opt_outs": 2,
      "contactCount": 300,
      "verifiedContactCount": 280
    }
  ],
  "total": 1,
  "meta": {
    "limit": 50,
    "offset": 0,
    "hasMore": false
  }
}

Get Campaigns Overview

All fields are optional except TeamId and CampaignId.

bash
curl -X PUT 'https://api.supersend.io/v1/campaign/<CampaignId>' -H "Authorization: Bearer <API_KEY>" -H "Content-Type: application/json" -d '{
  "name": "Updated Campaign Name",
  "status": 1,
  "warm": false,
  "unsubscribe": true,
  "max_per_day": 25,
  "max_per_day_twitter": 50,
  "unsubscribe_message": "Click here to unsubscribe",
  "hours": [
    { "start": "09:00", "end": "12:00" },
    { "start": "14:00", "end": "17:00" }
  ],
  "days": {
    "monday": true,
    "tuesday": true,
    "wednesday": true,
    "thursday": true,
    "friday": true,
    "saturday": false,
    "sunday": false
  },
  "LinkedinId": "linkedin-account-id",
  "TwitterId": "twitter-account-id",
  "SenderIds": ["sender-id-1", "sender-id-2"],
  "TeamId": "team-uuid",
  "CampaignId": "campaign-uuid"
}'

# Response
{
  "success": true,
  "message": "Campaign updated successfully"
}
bash
curl -X POST 'https://api.supersend.io/v1/campaign/<campaignId>/clone' -H "Authorization: Bearer <API_KEY>" -H "Content-Type: application/json" -d '{
  "TeamId": "team-uuid"
}'

# Response
{
  "success": true,
  "campaign": {
    "id": "new-campaign-uuid",
    "name": "Copy of Original Campaign",
    ...
  }
}
bash
curl -X DELETE 'https://api.supersend.io/v1/auto/campaign/<CampaignId>' -H "Authorization: Bearer <API_KEY>" -H "Content-Type: application/json"

# Response
{
  "success": true,
  "message": "Campaign deleted successfully"
}

Update Campaign

Create a copy of an existing campaign with all its messages and settings.

Clone Campaign

Delete Campaign