AddLeads
Headers
API key header using this scheme. Example: “X-API-KEY: {API_KEY}”
API key header using this scheme. Example: “X-API-KEY: {API_KEY}”
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.