Add a contact
Authentication required. Agency administrators and staff; a project user cannot add contacts by API.
Adds one lead to a sub-account that keeps its contacts on the platform, which is a sub-account with no CRM connected. The body is the lead: phone is required; first_name, last_name (or name), email, timezone, address1, city, state and postalCode are optional, and so is any of the sub-account’s custom fields, by its key or its name.
A number already in the sub-account updates that contact instead of adding it twice, and a blank never erases a value. A new contact starts any campaign whose trigger is “New contact”. The response is 201 for a new contact and 200 for an update.
A sub-account with a CRM keeps its contacts there and answers 400. This is the same import as the sub-account’s lead link, which exists for forms, Zapier and Make steps that cannot set a header; when your sender can set one, use this endpoint and your API key.
Cookie-auth callers must send the x-csrf-token header.
Required API key scope: contacts:write.
Authorizations
Send your API key as Authorization: Bearer YOUR_API_KEY.
Path Parameters
The sub-account's stable location id.
1Body
The lead.
One lead. phone is required; everything else is optional. Fields nested one level under contact, data or lead are read as well, for senders that wrap the lead. Arrays and deeper objects are ignored.
The lead's number. E.164 preferred; a North American number without a country code is completed. phone_number and mobile are read as this field.
"+13125550142"
"Ana"
"Diaz"
A full name, split into first and last when the two are not sent.
"Ana Diaz"
"ana@example.com"
IANA zone. Decides when the lead may be called.
"America/Chicago"
"1 Main St"
"Chicago"
"IL"
"60601"
Any of the sub-account's custom fields, by its key or its name. A field the sub-account does not have is ignored and named in ignoredFields.
