Delete a campaign
Deprecated. This endpoint is replaced by /v3/sender-profiles and will be removed in a future release. It still behaves exactly as before, so nothing needs to change today — but new integrations should use /v3/sender-profiles, which models a profile's markets, compliance, brand, campaigns and billing explicitly.
Deletes a campaign by ID from the brand of the specified profile. The profile must belong to the authenticated organization.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Sandbox flag - when true, the operation is simulated without side effects Useful for testing integrations without actual execution
Response Body
application/json
application/json
application/json
curl -X DELETE "https://example.com/v3/profiles/770e8400-e29b-41d4-a716-446655440002/campaigns/b2c3d4e5-f6a7-8901-bcde-f12345678901" \ -H "Content-Type: application/json" \ -d '{ "sandbox": false }'{
"success": false,
"data": null,
"error": {
"code": "VALIDATION_001",
"message": "Invalid profile or campaign ID format",
"details": null,
"doc_url": "https://docs.sent.dm/reference/api/error-catalog"
},
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-09-11T11:33:06.1506026+00:00",
"version": "v3"
}
}{
"success": false,
"data": null,
"error": {
"code": "RESOURCE_010",
"message": "Campaign not found for this profile",
"details": null,
"doc_url": "https://docs.sent.dm/reference/api/error-catalog"
},
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-09-11T11:33:06.1506039+00:00",
"version": "v3"
}
}{
"success": false,
"data": null,
"error": {
"code": "INTERNAL_001",
"message": "Failed to delete campaign. Please contact support with request ID: req_7X9zKp2jDw",
"details": null,
"doc_url": "https://docs.sent.dm/reference/api/error-catalog"
},
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-09-11T11:33:06.1506043+00:00",
"version": "v3"
}
}Update a campaign PUT
**Deprecated.** This endpoint is replaced by `/v3/sender-profiles` and will be removed in a future release. It still behaves exactly as before, so nothing needs to change today — but new integrations should use `/v3/sender-profiles`, which models a profile's markets, compliance, brand, campaigns and billing explicitly. Updates an existing campaign under the brand of the specified profile. Cannot update campaigns that have already been submitted to TCR.
List users GET
Retrieves all users who have access to the organization or profile identified by the API key, including their roles and status. Shows invited users (pending acceptance) and active users. Requires developer role or higher.