AddLeads

View as Markdown
Add up to **100** leads to your workspace's blacklist in one call. A blacklisted lead is excluded from your campaigns. Each entry takes one or more identifiers, and **at least one is required**: - **linkedInProfileId** *(optional)*: the member id of a lead HeyReach already holds - the value returned as `linkedin_id` by endpoints such as '/api/public/lead/GetLead'. The preferred identifier when you have one: it matches exactly and skips resolution entirely, so the entry is never in a `Matching` state. An id we do not hold is reported in `validationErrors` and creates no entry. - **profileUrl** *(optional)*: a LinkedIn profile URL. Accepted forms are `linkedin.com/in/...` and Sales Navigator `linkedin.com/sales/people/...` / `linkedin.com/sales/lead/...`, with or without `https://` and `www.`. The legacy `/pub/` form, company URLs and bare domains are rejected. Scheme, host, query string, fragment and trailing slash are all normalized away, so every spelling of the same profile resolves to a single entry. - **email** *(optional)*: an email address. When your workspace has reverse email lookup enabled and we do not already hold that email together with its profile URL, resolving it spends one reverse-lookup credit. Adding by profile URL, by name, or adding any company never costs a credit. - **fullName** *(optional)*: a name-only entry. It is never sent to a resolution vendor; it excludes by exact, case-insensitive name comparison and is always returned as `BroadMatch`. A name is an exclusion rule in its own right, so a name-only entry lives alongside the profile entry for the same person rather than merging into it. **The call returns 200 even when some entries do not land.** Read the result per entry rather than relying on the status code: - **added**: how many entries were newly created. - **entries**: one reference per input that produced a stored entry, correlated by **inputIndex** (its position in the list you submitted). **id** is what you pass to 'RemoveLeads', and **created** is `false` when the lead was already blacklisted. Entries that were already on the list are included deliberately, so you always have an id to undo with. - **duplicates**: identifiers that were already blacklisted, or repeated within this batch. - **validationErrors**: one message per entry that was skipped, for example an invalid URL or an entry with no identifier at all.

Headers

X-API-KEYstringOptional

API key header using this scheme. Example: “X-API-KEY: {API_KEY}

Request

This endpoint expects an object.
leadslist of objectsRequired

Response

OK
addedinteger
duplicateslist of strings
validationErrorslist of strings
entrieslist of objects