Assert Contact
PUT /contacts/assert
Create or update a contact. Matches by work_email, then linkedin_url.
Authorizations
Parameters
Header Parameters
Request Body required
object
When true, any key in custom_fields that matches no existing column is created as a NEW list-scoped custom column (max 100 per request) and then written. Default false preserves the previous behaviour of not creating columns implicitly.
Target list ID
Responses
200
Successful Response
object
object
‘created’ or ‘updated’
How a write path handled the request’s custom (dynamic) column keys.
Shared by every Developer API write surface that accepts custom columns
(POST /contacts, PUT /contacts/assert[/batch],
PUT /companies/assert[/batch]).
Every field defaults to empty, so a client that ignores this object sees no
behavioural change. It exists because these keys were previously dropped
with NO caller-visible signal — the only trace was a server-side
logger.warning in append_to_audience.
object
Caller keys for which a NEW custom column was created by this request.
Caller keys that matched no custom column and were NOT written. Create the column first (POST /fields) or pass create_missing_fields=true.
Caller keys that resolved to a custom column and were written.
422
Validation Error