Skip to content

Bulk Remove Campaign Leads

Remove many leads from a campaign that is not active.

POST/api/v1/campaigns/{campaign_id}/leads/bulk-remove

Requires an API key with the write scope.

Removes up to 5,000 leads from the campaign in one call and cancels their pending sends. The leads stay in your lead list. Ids that are not in the campaign are ignored. The campaign must not be active: pause it first. The request runs inside the call; send larger lists in batches.

Path Parameters#

campaign_idstringpathrequired
The campaign.

Request Body#

leadIdsstring[]bodyrequired
1 to 5,000 lead ids.

Response#

dataobject
Show Result
removedinteger
How many leads were in the campaign and are now removed.

Errors#

StatusDescription
401Missing, invalid, revoked or expired API key
403API key does not have the required scope: write
400The campaign is active
404Campaign not found in this workspace
422Empty list or more than 5,000 ids

Rate Limit#

  • 100 requests per minute, shared by every bulk call in your workspace. Fixed 60-second window.
  • Every response includes X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (unix epoch seconds) and X-RateLimit-Bucket (bulk).
  • A 429 response includes a Retry-After header (seconds until the bucket resets).

For client-side patterns (Retry-After, exponential backoff, monitoring X-RateLimit-Remaining), see Rate Limiting.

Was this page helpful?
View as MarkdownLast updated November 4, 2026