Skip to main content
POST
/
api
/
v1
/
campaigns
/
{campaign_id}
/
leads
curl -X POST "https://server.smartlead.ai/api/v1/campaigns/123/leads?api_key=YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "lead_list": [
      {
        "email": "john@example.com",
        "first_name": "John",
        "last_name": "Doe",
        "company_name": "Acme Corp",
        "custom_fields": {
          "job_title": "CEO"
        }
      }
    ]
  }'
{
  "success": true,
  "message": "Leads added successfully",
  "added_count": 1,
  "skipped_count": 0,
  "skipped_leads": []
}
Max 400 leads per request. Validates against block lists and duplicates. Returns added/skipped counts with reasons.

Path Parameters

campaign_id
number
required
The ID of the campaign to add leads to

Query Parameters

api_key
string
required
Your SmartLead API key

Request Body

lead_list
array
required
Array of lead objects to add (maximum 400 leads per request)
settings
object
Lead import settings
curl -X POST "https://server.smartlead.ai/api/v1/campaigns/123/leads?api_key=YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "lead_list": [
      {
        "email": "john@example.com",
        "first_name": "John",
        "last_name": "Doe",
        "company_name": "Acme Corp",
        "custom_fields": {
          "job_title": "CEO"
        }
      }
    ]
  }'

Response Codes

200
Success
Leads added successfully
400
Bad Request
Invalid request parameters or malformed request body
401
Unauthorized
Invalid or missing API key
404
Not Found
Campaign not found or no access
422
Validation Error
Lead validation failed - check email format, required fields
429
Rate Limit Exceeded
Too many requests
500
Internal Server Error
Server error occurred
{
  "success": true,
  "message": "Leads added successfully",
  "added_count": 1,
  "skipped_count": 0,
  "skipped_leads": []
}