Creates a new contact or updates an existing one.
Identifiers — either email or linkedin_url must be provided. If only linkedin_url is supplied, you must also provide account_id or domain so the contact can be associated with an account.
Duplicate resolution — the request is matched against existing contacts in the org in this order: (1) exact match on email (case-insensitive), then (2) exact match on linkedin_url. If a match is found, that contact is updated in place with the provided fields and returned; otherwise a new contact is created. Unlike POST /contacts, no 409 is raised on a duplicate identifier — the existing record is updated instead.
Account resolution priority — when creating a new contact, Monaco resolves the contact’s account in this order:
account_id (if provided)domain (if provided)emailEnrichment — when this call creates a new contact (no existing match), Monaco synchronously enriches the contact and, if needed, resolves or creates the associated account. This can make those requests take several seconds to complete; clients should use generous timeouts (10s+) and avoid issuing upserts on hot paths.
Any tags list provided is appended to the existing tags on the contact.
Documentation Index
Fetch the complete documentation index at: https://docs.monaco.com/llms.txt
Use this file to discover all available pages before exploring further.
Request body for creating a contact via POST or upserting via PUT.
Custom fields can be passed as additional keys prefixed with custom_field_.
Email address of the contact. Either email or linkedin_url is required.
"jane@acme.com"
LinkedIn profile URL. Either email or linkedin_url is required.
"https://linkedin.com/in/janesmith"
First name of the contact
"Jane"
Last name of the contact
"Smith"
Job title of the contact
"VP of Engineering"
Phone number of the contact
"+1-555-123-4567"
Location of the contact
"San Francisco, CA"
ID of the account to associate the contact with
Domain of the contact's company (used for account resolution)
"acme.com"
Whether the contact has opted out of outreach
List of tag IDs to associate with the contact