Create or update contact

Add a person or update them when you already know their email - set field values, tags, preferences, and subscription status in one call.

Matching is by email on your contact list. Returns 201 when created, 200 when updated.

If the account has double opt-in enabled, requesting subscribed may leave the contact pending confirmation and send a confirmation email. Blocklisted emails cannot be added or updated (422). Restricted contacts cannot be updated (423). 423 if the account is locked for processing or has reached its contact limit.

Body Params
string
enum
required
Defaults to unconfirmed

Contact status.

Allowed:
info
object
required

Default contact fields keyed by field tag (e.g. EMAIL, FIRST_NAME, BIRTHDAY, COUNTRY). Keys are case-insensitive. EMAIL is required; other tags must exist on your mail list. COUNTRY accepts an ISO country code. BIRTHDAY must be a date that is not in the future.

custom
array of strings | null
Defaults to []

Mail-list custom fields keyed by tag (e.g. CUSTOM_1). Keys are case-insensitive; values are validated against each field's type (text, number, date, boolean).

custom
tags
array of strings | null, unique
Defaults to []

Tag names to assign to the contact. Include this key to replace all tags; omit it to leave existing tags unchanged.

tags
preferences
array of strings | null, unique
Defaults to []

Subscription preference names to assign. Include this key to replace preferences; omit it to leave them unchanged. Unknown names are rejected.

preferences
Responses

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json