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
Response Format
V2 endpoints return a standardized response with success, data (or message), and request_id. Errors return:
{
"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
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:
| Parameter | Type | Required | Description |
|---|---|---|---|
teamId | string (UUID) | Yes | Team ID to list categories for |
Create Campaign Category
Create a new campaign category (folder) for a team.
V2 API
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:
| Field | Type | Required | Description |
|---|---|---|---|
TeamId | string (UUID) | Yes | Team ID to create the category for |
name | string | Yes | Category name (unique per team) |
Update Campaign Category
Rename an existing campaign category.
V2 API
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:
| Field | Type | Required | Description |
|---|---|---|---|
TeamId | string (UUID) | Yes | Team ID the category belongs to |
categoryId | string (UUID) | Yes | Category ID to update |
name | string | Yes | New 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
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:
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string (UUID) | Yes | Category ID to delete |
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
teamId | string (UUID) | Yes | Team 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:
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.