Skip to main content

Add a contact to a list

POST 

/lists/list/:listId/contacts

Adds a single contact to a list from a flat JSON object — field names as keys, values as strings, numbers or booleans. This is the simplest way to push contacts from your automations (Zapier, Make, n8n...).

If the list is used by one or several campaigns, the contact is automatically added to those campaigns.

Keys are resolved automatically, with the same detection as a file import (by name, then by content):

  • contact fields (firstName, email, phone, linkedinUrlProfile... — human-readable names like First Name work too),
  • company fields (companyName, websiteUrl, industry...),
  • your existing custom variables (by technical or display name).

Any unrecognized key automatically creates a new custom variable on your account and stores the value in it.

Duplicate detection

If the list already contains a contact with the same email or the same linkedinUrlProfile, nothing is created: the response returns the existing contact's leadId with duplicate: true. A criterion only applies when both the payload and the existing contact have a value for it — so a retry of the same call is always safe.

With updateIfExists=true, a duplicate is updated instead of ignored: the fields of the payload overwrite the existing contact's values (fields you don't send are left untouched), and the response carries updated: true. This makes the endpoint a full add-or-update.

Request

Responses

Contact added