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 likeFirst Namework 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
- 200
- 404
- 422
Contact added
List not found
Invalid body (empty contact, or a field value is not a string/number/boolean)