APIs

Sender Profile API

Sender profiles allow you to group senders (email, LinkedIn, or Twitter) together and assign them to campaigns. You can create profiles, manage senders within profiles, and associate profiles with campaigns.


Get All Sender Profiles

Get a list of all sender profiles for a team with filtering, sorting, and pagination.

Query Parameters:

Required:

  • TeamId - string - Team UUID

Optional:

  • ids - string or array - Filter by specific sender profile IDs (JSON array of UUIDs)
  • name - string - Search in sender profile name (case-insensitive)
  • linkedinIdentityId - string - Filter by LinkedIn identity ID (use "null" to find profiles without LinkedIn identity)
  • twitterIdentityId - string - Filter by Twitter identity ID (use "null" to find profiles without Twitter identity)
  • limit - number - Number of records to return (default: 50, min: 1, max: 100)
  • offset - number - Number of records to skip (default: 0)
curl -X GET 'https://api.supersend.io/v1/sender-profiles?TeamId=team-uuid&limit=50&offset=0&name=Sales' \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"

# Response
{
  "success": true,
  "senderProfiles": [
    {
      "id": "profile-uuid",
      "name": "Sales Team Profile",
      "type": "email_sender",
      "status": "active",
      "TeamId": "team-uuid",
      "OrgId": "org-uuid",
      "UserId": "user-uuid",
      "sender_disable_strategy": false,
      "createdAt": "2025-11-27T10:30:00Z",
      "updatedAt": "2025-11-27T10:30:00Z",
      "Senders": [
        {
          "id": "sender-uuid",
          "email": "sales@example.com",
          "SenderProfileId": "profile-uuid"
        }
      ],
      "twitterIdentity": null,
      "linkedinIdentity": {
        "id": "identity-uuid",
        "username": "sales-team",
        "type": 1,
        "status": 1
      }
    }
  ],
  "total": 1
}

Create Sender Profile

Create a new sender profile. Sender profiles can be of type email_sender, linkedin_sender, or twitter_sender.

Request Body:

Required:

  • name - string - Profile name
  • TeamId - string - Team UUID

Optional:

  • type - string - Sender type: email_sender (default), linkedin_sender, twitter_sender
curl -X POST 'https://api.supersend.io/v1/sender-profile' \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
  "name": "Sales Team Profile",
  "TeamId": "team-uuid",
  "type": "email_sender"
}'

# Response
{
  "success": true,
  "senderProfile": {
    "id": "profile-uuid",
    "name": "Sales Team Profile",
    "type": "email_sender",
    "status": "active",
    "TeamId": "team-uuid",
    "OrgId": "org-uuid",
    "UserId": "user-uuid",
    "createdAt": "2025-11-27T10:30:00Z",
    "updatedAt": "2025-11-27T10:30:00Z"
  }
}

Update Sender Profile

Update a sender profile. You can update the name, add/remove senders, and assign LinkedIn or Twitter identities.

Path Parameters:

  • id - string (required) - Sender profile UUID

Request Body:

Required:

  • TeamId - string - Team UUID

Optional:

  • name - string - Profile name
  • sendersToAdd - array - Array of sender UUIDs to add to the profile
  • sendersToRemove - array - Array of sender UUIDs to remove from the profile
  • twitterIdentityId - string or null - Twitter identity UUID to assign (set to null to remove)
  • linkedinIdentityId - string or null - LinkedIn identity UUID to assign (set to null to remove)
  • sender_disable_strategy - boolean - Sender disable strategy setting
curl -X PUT 'https://api.supersend.io/v1/sender-profile/<id>' \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
  "TeamId": "team-uuid",
  "name": "Updated Sales Team Profile",
  "sendersToAdd": ["sender-uuid-1", "sender-uuid-2"],
  "sendersToRemove": ["sender-uuid-3"],
  "twitterIdentityId": "identity-uuid",
  "linkedinIdentityId": null,
  "sender_disable_strategy": false
}'

# Response
{
  "success": true,
  "senderProfile": {
    "id": "profile-uuid",
    "name": "Updated Sales Team Profile",
    "type": "email_sender",
    "status": "active",
    "TeamId": "team-uuid",
    "sender_disable_strategy": false,
    "Senders": [
      {
        "id": "sender-uuid-1",
        "email": "sales1@example.com"
      },
      {
        "id": "sender-uuid-2",
        "email": "sales2@example.com"
      }
    ],
    "twitterIdentity": {
      "id": "identity-uuid",
      "username": "sales-team",
      "type": 2,
      "status": 1
    },
    "linkedinIdentity": null
  }
}

Note: You cannot include the same sender ID in both sendersToAdd and sendersToRemove arrays. The update will trigger demand calculation for active campaigns.

Delete Sender Profile

Soft delete a sender profile. All senders associated with the profile will have their SenderProfileId set to null.

Path Parameters:

  • id - string (required) - Sender profile UUID
curl -X DELETE 'https://api.supersend.io/v1/sender-profile/<id>' \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"

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

Note: This is a soft delete operation. The profile is marked as deleted but not permanently removed from the database.


Get Campaign Sender Profiles

Get all sender profiles associated with a specific campaign.

Query Parameters:

Required:

  • CampaignId - string - Campaign UUID
curl -X GET 'https://api.supersend.io/v1/campaign-sender-profile?CampaignId=campaign-uuid' \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"

# Response
{
  "success": true,
  "senderProfiles": [
    {
      "id": "profile-uuid",
      "name": "Sales Team Profile",
      "type": "email_sender",
      "status": "active",
      "TeamId": "team-uuid",
      "Senders": [
        {
          "id": "sender-uuid",
          "email": "sales@example.com"
        }
      ],
      "twitterIdentity": null,
      "linkedinIdentity": {
        "id": "identity-uuid",
        "username": "sales-team",
        "type": 1,
        "status": 1
      }
    }
  ]
}

Add Sender Profile to Campaign

Associate a sender profile with a campaign. This allows the campaign to use all senders in the profile.

Request Body:

Required:

  • CampaignId - string - Campaign UUID
  • SenderProfileId - string - Sender profile UUID
curl -X POST 'https://api.supersend.io/v1/campaign-sender-profile' \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
  "CampaignId": "campaign-uuid",
  "SenderProfileId": "profile-uuid"
}'

# Response
{
  "success": true,
  "association": {
    "id": "association-uuid",
    "CampaignId": "campaign-uuid",
    "SenderProfileId": "profile-uuid",
    "createdAt": "2025-11-27T10:30:00Z"
  },
  "name": "Sales Team Profile",
  "senders": [
    {
      "id": "sender-uuid",
      "email": "sales@example.com"
    }
  ]
}

Note: The sender profile must belong to the same team as the campaign. If the campaign is active, this will trigger demand calculation. If the association already exists, the request will return an error.

Remove Sender Profile from Campaign

Remove a sender profile association from a campaign.

Request Body:

Required:

  • CampaignId - string - Campaign UUID
  • SenderProfileId - string - Sender profile UUID
curl -X DELETE 'https://api.supersend.io/v1/campaign-sender-profile' \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
  "CampaignId": "campaign-uuid",
  "SenderProfileId": "profile-uuid"
}'

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

Note: If the campaign is active, this will trigger demand calculation. The association must exist or the request will return an error.

Previous
Senders