APIs

Campaign API

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


Create Campaign

Create a new campaign with a team ID and name.

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"
  }
}

Get Campaigns Overview

Get a list of campaigns with performance metrics. This endpoint provides an optimized overview of all campaigns in a team.

Query Parameters:

Required:

  • TeamId - string - Team identifier

Optional:

  • limit - number - Number of campaigns to return (default: 50)
  • offset - number - Number of campaigns to skip (default: 0)
  • search - string - Search in campaign name or track domain
  • order_by - string - Column to sort by: id, name, track_domain, status, createdAt, updatedAt, disabled, is_draft (default: createdAt)
  • order - string - Sort direction: ASC or DESC (default: DESC)
  • user_id - string - Filter by campaign creator
  • status - number - Filter by status: 1 (active) or 2 (inactive)
  • archived - boolean - Include archived campaigns (default: false)
  • includeMetrics - boolean - Include performance metrics (default: true, set to false for faster loading)
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
  }
}

Update Campaign

Update campaign settings, schedule, and configuration.

All fields are optional except TeamId and CampaignId.

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"
}

Clone Campaign

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

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",
    ...
  }
}

Delete Campaign

Delete a campaign.

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"
}
Previous
Contacts