Skip to main content
POST
/
campaigns
/
{campaignId}
/
leads
Create Lead in Campaign
curl --request POST \
  --url https://api.lemlist.com/api/campaigns/{campaignId}/leads/ \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "email": "[email protected]",
  "firstName": "John",
  "lastName": "Doe",
  "companyName": "lemlist",
  "jobTitle": "Developer",
  "linkedinUrl": "https://www.linkedin.com/in/johndoe",
  "phone": "+33 123456789",
  "timezone": "Europe/Paris",
  "contactOwner": "[email protected]"
}
'
{
  "campaignId": "cam_9NsHPnykWESTncCW8",
  "campaignName": "NEW TO DELETE",
  "firstName": "Bastien",
  "lastName": "Velitchkine",
  "companyName": "lemlist",
  "jobTitle": "GTM Engineer",
  "companyDomain": "bvelitchkine.com",
  "email": "[email protected]",
  "_id": "lea_mizMsAEkRrJuhouYe",
  "isPaused": false,
  "contactId": "ctc_Rofmb6uNGyaPNZ2ni"
}
This endpoint uses the Lead object. Make sure to also check the Contact object to understand the distinction between the two.

Authorizations

Authorization
string
header
required

Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.

Path Parameters

campaignId
string
required

The unique identifier of the campaign

Query Parameters

deduplicate
boolean

Search email address in other campaigns. Will not insert the lead if email address already exists. Default: false

linkedinEnrichment
boolean

Run the LinkedIn enrichment. Default: false

findEmail
boolean

Find verified email. Default: false

verifyEmail
boolean

Verify existing email (debounce). Default: false

findPhone
boolean

Find phone number. Default: false

Body

application/json
email
string

Email of the lead

firstName
string

First name of the lead

lastName
string

Last name of the lead

companyName
string

Company name

jobTitle
string

Job title

linkedinUrl
string

LinkedIn profile URL

picture
string

Profile picture URL

phone
string

Phone number

companyDomain
string

Company domain

icebreaker
string

Personalized icebreaker message

timezone
string

Lead's timezone in IANA format (e.g., Europe/Paris, America/New_York)

contactOwner
string

Contact owner (user ID or user login email)

Response

Success

campaignId
string
campaignName
string
email
string<email>
firstName
string
lastName
string
companyName
string
jobTitle
string
companyDomain
string
_id
string
isPaused
boolean

Whether the lead is paused in the campaign

contactId
string

Associated contact ID