Skip to main content
Leads are the recipients of your cold email campaigns. ColdSend supports uploading leads via CSV, adding them individually, and tracking their engagement.

Lead Status

Lead Upload via CSV

POST /api/public/v1/campaigns/{campaign_id}/leads Upload leads asynchronously via CSV file. The file must include an email column.

CSV Requirements

  • Must include an email column (required)
  • Additional supported columns: first_name, last_name, company
  • Custom columns are mapped automatically and available as {{custom_column_name}} in your email templates
  • Max CSV size: 50MB
  • Max leads per upload: 10,000

Upload Progress

The upload runs asynchronously. Check progress with:

Manual Lead Addition

POST /api/public/v1/campaigns/{campaign_id}/leads/manual Add a single lead:

Listing Leads

GET /api/public/v1/campaigns/{campaign_id}/leads List leads with pagination and filtering:

Query Parameters

Deleting Leads

DELETE /api/public/v1/campaigns/{campaign_id}/leads Only PENDING leads (not yet sent) can be deleted:
Leads that have already received emails cannot be deleted. This ensures compliance and prevents data gaps in campaign analytics.

Get a Single Lead

GET /api/public/v1/campaigns/{campaign_id}/leads/{lead_id} Returns full lead data including email interaction history and any replies received from the lead.

Update a Lead

PUT /api/public/v1/campaigns/{campaign_id}/leads/{lead_id} Update mutable fields on a lead. Only the fields you provide are changed — custom_fields uses merge patch semantics: existing keys are preserved, keys you send are added or updated, and keys explicitly set to null are removed. Updatable fields: first_name, last_name, company, custom_fields.
Requires the leads:update scope.

Export Leads as CSV

GET /api/public/v1/campaigns/{campaign_id}/leads/export Downloads all leads for a campaign as a CSV file — bypasses pagination limits, so every lead is included in a single download. The exported columns are: email, first_name, last_name, company, status, custom_fields (JSON-encoded), created_at
The response Content-Type is text/csv and the Content-Disposition header sets the suggested filename.
Use this endpoint to sync your ColdSend lead data into external CRMs, data warehouses, or spreadsheets without having to page through the list endpoint.

Next Steps

Create Campaign

Set up your campaign with lead mapping configuration.

Personalization

Use lead data in personalized email content.