Skip to main content
PATCH
Update a contact

Authorizations

Authorization
string
header
required

Tenant API key (vdx_live_…) as Authorization: Bearer.

Path Parameters

id
string<uuid>
required

Body

application/json

Only whitelisted columns may be written; anything else in the body is a 400, not a shrug.

externalRef
string
accountNumber
string
firstName
string
lastName
string
email
string
timezone
string
dateOfBirth
string
ssnLast4
string

Four digits. A full nine-digit SSN is rejected, not truncated.

Pattern: ^[0-9]{4}$
address
object
status
string
assignedTo
string<uuid>
tags
string[]
notes
string
attributes
object

Values keyed by attribute key.

channels
object[]

Create only.

Response

Updated.

id
string<uuid>
externalRef
string | null

An integrator's own key. Only ever compared, never interpreted.

accountNumber
string | null
firstName
string | null
lastName
string | null
displayName
string | null
email
string | null
timezone
string | null

IANA zone. Injected as tz on every campaign row.

dateOfBirth
string | null
ssnMasked
string | null

Always masked, e.g. ***-**-1234. Only four digits are stored; one place decides how to present them.

address
object
status
string | null
assignedTo
string<uuid> | null
tags
string[]
notes
string | null
lastContactedAt
string<date-time> | null
lastContactChannel
string | null
doNotContact
boolean

The person-level decision. Distinct from the address suppression list.

dncReason
string | null
dncSetAt
string<date-time> | null
createdAt
string<date-time>
updatedAt
string<date-time> | null
channels
object[]