Skip to main content
POST

Authorizations

X-API-Key
string
header
required

Your Conversion API key. Found in Settings > Integrations in the dashboard. Format: sk_live_<key_id>_<secret>.

Body

application/json
email
string<email>

The contact's email address. At least one of email or cnvContactId is required. When both are provided, cnvContactId identifies the contact and email updates the contact's email address.

Example:

"jane@example.com"

cnvContactId
string<uuid>

The Conversion contact ID. Use this to identify an existing contact by its internal ID instead of email. At least one of email or cnvContactId is required.

Example:

"a1b2c3d4-e5f6-7890-abcd-ef1234567890"

subscriptionStatus
enum<string>

The contact's email subscription status. System-managed statuses (BOUNCED, COMPLAINED, etc.) cannot be set through the API.

Available options:
SUBSCRIBED,
UNSUBSCRIBED,
NO_STATUS
fields
object

A map of contact field keys to values. Keys must match existing field definitions in your Conversion account.

Example:
companyFields
object

A map of company field keys to values for the contact's associated company.

Example:
updateOnly
boolean
default:false

When true, restricts the operation to updates only. Returns a contact_not_found error if no existing contact matches the provided identifier.

syncToCRM
boolean
default:false

When true, syncs the contact to the connected CRM (e.g., Salesforce) if the contact does not already have an external CRM record.

preserveExistingFields
boolean
default:false

When true, prevents overwriting existing non-empty field values. New values are only written to fields that are currently empty or unset. Useful for enrichment workflows.

Response

Contact upserted successfully.

data
object