Delete Contact
curl --request DELETE \
--url https://api.lemlist.com/api/contacts/{idOrEmail} \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.lemlist.com/api/contacts/{idOrEmail}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.lemlist.com/api/contacts/{idOrEmail}', 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/contacts/{idOrEmail}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lemlist.com/api/contacts/{idOrEmail}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"success": true,
"deletedContactId": "ctc_xW8Ou6C03Csv8vatp"
}The authentication you supplied is incorrect{
"success": false,
"error": {
"code": "CONTACT_NOT_FOUND",
"message": "No contact found with the provided id or email"
}
}{
"success": false,
"error": {
"code": "CONTACT_DELETE_BLOCKED",
"message": "Contact cannot be removed if an enrichment is in progress"
}
}Contacts
Delete Contact
Deletes a lemlist contact by id or email. Cascades to leads, opportunities, lists, inbox and activities.
DELETE
/
contacts
/
{idOrEmail}
Delete Contact
curl --request DELETE \
--url https://api.lemlist.com/api/contacts/{idOrEmail} \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.lemlist.com/api/contacts/{idOrEmail}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.lemlist.com/api/contacts/{idOrEmail}', 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/contacts/{idOrEmail}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lemlist.com/api/contacts/{idOrEmail}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"success": true,
"deletedContactId": "ctc_xW8Ou6C03Csv8vatp"
}The authentication you supplied is incorrect{
"success": false,
"error": {
"code": "CONTACT_NOT_FOUND",
"message": "No contact found with the provided id or email"
}
}{
"success": false,
"error": {
"code": "CONTACT_DELETE_BLOCKED",
"message": "Contact cannot be removed if an enrichment is in progress"
}
}Removes a lemlist contact resolved by its id (
ctc_xxx) or email. Only the lemlist record is deleted — no CRM-side propagation is performed.
Deletion cascades: the contact’s leads, opportunities, contact-list associations, inbox conversations and activities are removed alongside it.
The request fails with 409 CONTACT_DELETE_BLOCKED when the contact cannot be deleted right now — for example while an enrichment is still running on it (retry once it finishes); the response error.message states the specific reason. A missing contact returns 404 CONTACT_NOT_FOUND.
There is no soft-delete or undo. Once deleted, the contact and its associated leads, opportunities, list memberships, inbox conversations and activities are gone.
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 or email of the contact
Was this page helpful?