Update a Contact

Partially updates an existing contact.

PATCHhttps://api.audienceful.com/v2/people/{id}
curl --location --request PATCH 'https://api.audienceful.com/v2/people/jQKdwqp3YRRtTrwqUJEp7d' \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <your-api-key>' \
--data-raw '{
    "tags": ["vip"],
    "extra_data": { "plan": "enterprise" }
}'
{
  "id": "jQKdwqp3YRRtTrwqUJEp7d",
  "email": "person@example.com",
  "tags": ["vip"],
  "notes": "",
  "extra_data": {
    "plan": "pro"
  },
  "created_at": "2026-07-04T12:00:00Z",
  "updated_at": "2026-07-04T12:00:00Z",
  "last_activity": "2026-07-04T12:00:00Z",
  "country": "US",
  "status": "active",
  "source": "api",
  "open_rate": 0.42,
  "click_rate": 0.11
}

Requires the people:write scope. This is a partial update — send only the fields you want to change.

Path parameters

idstringrequired
The contact's id or email address (either identifier works).

Body

emailstring
A new email address for the contact. Changing email to one already used by another contact in the workspace returns a 409 (conflict_error).
tagsarray[string]
A list of tag names that replaces the contact's current tags. Tags that don't exist yet are created.
notesstring
Notes associated with this contact.
extra_dataobject
Custom field values to update, keyed by each field's data_name. Custom fields may also be sent as top-level keys.
Properties
custom_fieldstring | boolean | number
An example of a custom field you may have for your audience. The data_name for each field is used as the key.
double_opt_instring
Update the contact's double opt-in status (not_required, required, or complete).

Response

Returns the updated contact.

idstring
The contact's opaque, unique identifier. Use this value to address the contact in the URL of the retrieve, update, and delete endpoints. The sequential integer primary key is never exposed.
emailstring
The contact's email address.
tagsarray[string]
The names of the tags applied to this contact — a flat list of strings.
notesstring
Notes associated with this contact. HTML string or plain string.
extra_dataobject
All custom field values for the contact, keyed by each field's data_name (never the internal field id).
Properties
custom_fieldstring | boolean | number
An example of a custom field you may have for your audience. The data_name for each field is listed here. See Fields.
created_atstring
The datetime (UTC) at which the contact was created.
updated_atstring
The datetime (UTC) at which the contact was last updated.
last_activitystring or null
The datetime (UTC) of this contact's last activity. Example activities that update this field are: creation, opening an email, clicking an email, and unsubscribing.
countrystring or null
The contact's two-letter country code, if known.
statusstring
The single subscription/deliverability indicator for the contact.
Values
active
The contact is active and subscribed.
unconfirmed
The contact has not confirmed their double opt-in email.
bounced
The contact's email failed to deliver (permanent).
unsubscribed
The contact has unsubscribed.
not_subscribed
The contact is not subscribed to marketing.
cleaned
The contact was cleaned from the list (repeatedly undeliverable).
sourcestring
How the contact entered your audience (e.g. api, import, form).
open_ratenumber
The contact's historical email open rate, from 0 to 1.
click_ratenumber
The contact's historical email click rate, from 0 to 1.
Last updated: July 11, 2026