Contacts

Create or update a contact

Creates a new contact or updates an existing one (upsert).

Lookup order:

  1. If _id is provided, finds by ID.
  2. Otherwise finds by first email address.
  3. If no match is found, creates a new contact.

Body formats — either native or legacy (capitalized keys) are accepted:

Native: firstname, lastname, email (string or array), phone (array of {number, type}), typeId, contactType, isCompany, title, company, imageUrl, customFields

Legacy: "First Name", "Last Name", Email, "Mobile Phone", "Work Phone", "Home Phone", "Contact Type", Title, Company

Returns the enriched contact with custom fields populated by their type definitions.

post/api/contacts

Request

Request body

_idstring

Existing contact ID — when provided, updates that contact.

firstnamestring
lastnamestring
typeIdstring

Contact type ID.

contactTypestring

Contact type name (alternative to typeId — resolved to an ID automatically).

isCompanyboolean
titlestring
companystring
imageUrlstring

Absolute URL to a JPG or PNG photo.

customFieldsobject

Map of custom field ID to value. Unknown field IDs are rejected.

Response

Contact created or updated.

_idstring

MongoDB ObjectId of the contact.

uuidstring
firstnamestring
lastnamestring
fullNamestring

Computed display name (first + last, or company name for org records).

duogramstring

Two-letter initials derived from first and last name.

photoIdstring nullable
imageUrlstring nullable

CDN thumbnail URL for the contact's photo, or null if none.

emailstring
phonestring
typeIdstring
companyIdstring
addressobject
titlestring
alertsobject[]
companystring

Company name — populated when isCompany is true.

isCompanyboolean

Changes

No recorded changes to this operation across all 1 revision of this API.