Update Lead in a Campaign
curl --request PATCH \
--url https://api.lemlist.com/api/campaigns/{campaignId}/leads/{leadId} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"preferredContactMethod": "email"
}
'import requests
url = "https://api.lemlist.com/api/campaigns/{campaignId}/leads/{leadId}"
payload = { "preferredContactMethod": "email" }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({preferredContactMethod: 'email'})
};
fetch('https://api.lemlist.com/api/campaigns/{campaignId}/leads/{leadId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));require 'uri'
require 'net/http'
url = URI("https://api.lemlist.com/api/campaigns/{campaignId}/leads/{leadId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"preferredContactMethod\": \"email\"\n}"
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lemlist.com/api/campaigns/{campaignId}/leads/{leadId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'preferredContactMethod' => 'email'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"campaignId": "cam_bSn8EORHQxbWPjHvu",
"campaignName": "NEW TO DELETE",
"leadUrl": "https://api.lemlist.com/api/leads/alex.doe%40example.com",
"firstName": "John",
"lastName": "Doe",
"companyName": "Acme Inc",
"jobTitle": "Growth Engineer",
"companyDomain": "example.com",
"email": "support@lemlist.com",
"preferredContactMethod": "email",
"_id": "lea_fiDpiGV585wy3Oii2",
"isPaused": false,
"contactId": "ctc_xW8Ou6C03Csv8vatp",
"emailStatus": "deliverable"
}"Bad team""Lead not found"Leads
Update Lead in a Campaign
Updates an existing lead’s information in a specific campaign.
PATCH
/
campaigns
/
{campaignId}
/
leads
/
{leadId}
Update Lead in a Campaign
curl --request PATCH \
--url https://api.lemlist.com/api/campaigns/{campaignId}/leads/{leadId} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"preferredContactMethod": "email"
}
'import requests
url = "https://api.lemlist.com/api/campaigns/{campaignId}/leads/{leadId}"
payload = { "preferredContactMethod": "email" }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({preferredContactMethod: 'email'})
};
fetch('https://api.lemlist.com/api/campaigns/{campaignId}/leads/{leadId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));require 'uri'
require 'net/http'
url = URI("https://api.lemlist.com/api/campaigns/{campaignId}/leads/{leadId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"preferredContactMethod\": \"email\"\n}"
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lemlist.com/api/campaigns/{campaignId}/leads/{leadId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'preferredContactMethod' => 'email'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"campaignId": "cam_bSn8EORHQxbWPjHvu",
"campaignName": "NEW TO DELETE",
"leadUrl": "https://api.lemlist.com/api/leads/alex.doe%40example.com",
"firstName": "John",
"lastName": "Doe",
"companyName": "Acme Inc",
"jobTitle": "Growth Engineer",
"companyDomain": "example.com",
"email": "support@lemlist.com",
"preferredContactMethod": "email",
"_id": "lea_fiDpiGV585wy3Oii2",
"isPaused": false,
"contactId": "ctc_xW8Ou6C03Csv8vatp",
"emailStatus": "deliverable"
}"Bad team""Lead not found"This endpoint uses the Lead object. Make sure to also check the Contact object to understand the distinction between the two.
Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Path Parameters
The unique identifier of the campaign
The unique identifier of the lead
Body
application/json
Response
Success
URL to access the lead
Whether the lead is paused in the campaign
Associated contact ID
Email verification status
Was this page helpful?