curl --request POST \
--url https://intentleads.si/api/v1/exclusions/people \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"emails": [
"jordan.lee@example.com"
],
"email_sha256": [],
"linkedin": [
"https://www.linkedin.com/in/sam-rivera-example"
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
emails: ['jordan.lee@example.com'],
email_sha256: [],
linkedin: ['https://www.linkedin.com/in/sam-rivera-example']
})
};
fetch('https://intentleads.si/api/v1/exclusions/people', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://intentleads.si/api/v1/exclusions/people"
payload = {
"emails": ["jordan.lee@example.com"],
"email_sha256": [],
"linkedin": ["https://www.linkedin.com/in/sam-rivera-example"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Leave out people
Adds people to leave out of every lane: contacts already in your CRM, current customers, people who opted out with you. Send JSON {"emails": [...], "email_sha256": [...], "linkedin": [...]}, or a CSV or plain list: every cell that’s an email, a sha256 of a lowercased email or a LinkedIn profile URL counts.
Only a sha256 of each email or profile is kept, never the value itself. Up to 50,000.
How it works
- Every lane leaves these out: they’re excluded from the audience before anything is bought, and anyone who still comes back (for example under another email) is dropped before they’re written or counted against your plan.
- Lane counts and “available now” leave them out from each lane’s next check (daily, or queue one with
POST /api/v1/checks). - People already exported stay in your leads; exclusions apply to future exports.
Free. This doesn’t use any contacts from your plan.
curl --request POST \
--url https://intentleads.si/api/v1/exclusions/people \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"emails": [
"jordan.lee@example.com"
],
"email_sha256": [],
"linkedin": [
"https://www.linkedin.com/in/sam-rivera-example"
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
emails: ['jordan.lee@example.com'],
email_sha256: [],
linkedin: ['https://www.linkedin.com/in/sam-rivera-example']
})
};
fetch('https://intentleads.si/api/v1/exclusions/people', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://intentleads.si/api/v1/exclusions/people"
payload = {
"emails": ["jordan.lee@example.com"],
"email_sha256": [],
"linkedin": ["https://www.linkedin.com/in/sam-rivera-example"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Authorizations
An Intent Leads API key, e.g. il_live_ followed by 32 letters and digits. Create one on the API and CLI page of the dashboard.
Body
Response
The change, and the total now.
People added or removed by this call.
Values that weren't an email, email hash or LinkedIn profile.
Hashes held now.
Present and true after ?all=true.