Campaign Categories API

Manage campaign categories (folders) for organizing campaigns


Campaign categories are folders that help you organize campaigns within a team. Each team has its own set of categories. Campaigns can be assigned to at most one category.

ℹ️

V2 API

Campaign categories are available in the V2 API. Use the endpoints below to create, list, update, and delete categories.


Response Format

V2 endpoints return a standardized response with success, data (or message), and request_id. Errors return:

json
{
"error": {
"type": "invalid_request_error",
"code": "missing_required_parameter",
"message": "Team ID is required (use teamId query parameter)",
"param": "teamId",
"doc_url": "https://docs.supersend.io/docs/errors#missing_required_parameter"
},
"request_id": "req_a1b2c3d4e5f6789012345678"
}


List Campaign Categories

List all campaign categories (folders) for a team.

V2 API

bash
curl -X GET 'https://api.supersend.io/v2/campaign-categories?teamId=team-uuid' \
-H "Authorization: Bearer YOUR_API_KEY"

# Response (200 OK)
{
"success": true,
"data": [
{
"id": "category-uuid",
"name": "Q1 Outreach",
"team_id": "team-uuid",
"org_id": "org-uuid",
"campaign_count": 5,
"created_at": "2025-01-15T00:00:00Z",
"updated_at": "2025-01-15T00:00:00Z"
}
],
"pagination": {
"total": 1,
"limit": 1,
"offset": 0
},
"request_id": "req_a1b2c3d4e5f6789012345678"
}

Query Parameters:

ParameterTypeRequiredDescription
teamIdstring (UUID)YesTeam ID to list categories for



Create Campaign Category

Create a new campaign category (folder) for a team.

V2 API

bash
curl -X POST 'https://api.supersend.io/v2/campaign-categories' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"TeamId": "team-uuid",
"name": "Q1 Outreach"
}'

# Response (201 Created)
{
"success": true,
"data": {
"id": "category-uuid",
"name": "Q1 Outreach",
"team_id": "team-uuid",
"org_id": "org-uuid",
"created_at": "2025-01-15T00:00:00Z",
"updated_at": "2025-01-15T00:00:00Z"
},
"request_id": "req_a1b2c3d4e5f6789012345678"
}

Request Body:

FieldTypeRequiredDescription
TeamIdstring (UUID)YesTeam ID to create the category for
namestringYesCategory name (unique per team)



Update Campaign Category

Rename an existing campaign category.

V2 API

bash
curl -X PATCH 'https://api.supersend.io/v2/campaign-categories' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"TeamId": "team-uuid",
"categoryId": "category-uuid",
"name": "Q1 Outreach (Updated)"
}'

# Response (200 OK)
{
"success": true,
"data": {
"id": "category-uuid",
"name": "Q1 Outreach (Updated)",
"team_id": "team-uuid",
"org_id": "org-uuid",
"created_at": "2025-01-15T00:00:00Z",
"updated_at": "2025-01-15T12:00:00Z"
},
"request_id": "req_a1b2c3d4e5f6789012345678"
}

Request Body:

FieldTypeRequiredDescription
TeamIdstring (UUID)YesTeam ID the category belongs to
categoryIdstring (UUID)YesCategory ID to update
namestringYesNew category name (unique per team)



Delete Campaign Category

Delete a campaign category. Campaigns in this category become uncategorized (category_id set to null).

V2 API

bash
curl -X DELETE 'https://api.supersend.io/v2/campaign-categories/category-uuid?teamId=team-uuid' \
-H "Authorization: Bearer YOUR_API_KEY"

# Response (200 OK)
{
"success": true,
"message": "Campaign category deleted successfully",
"request_id": "req_a1b2c3d4e5f6789012345678"
}

Path Parameters:

ParameterTypeRequiredDescription
idstring (UUID)YesCategory ID to delete


Query Parameters:

ParameterTypeRequiredDescription
teamIdstring (UUID)YesTeam ID the category belongs to



Assigning Campaigns to Categories

To assign a campaign to a category, use the Update Campaign endpoint with category_id in the request body:

bash
curl -X PATCH 'https://api.supersend.io/v2/campaigns/campaign-uuid' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"category_id": "category-uuid"
}'

Set category_id to null to remove a campaign from its category.