Skip to main content
PATCH
Update Subscriber
Update a subscriber’s first name, last name, status, tags, or custom attributes. When you set status to unsubscribed, Sequenzy runs the full unsubscribe workflow: it unsubscribes the contact from all lists and cancels their active sequence enrollments. You can also update by external ID with PATCH /api/v1/subscribers/external?externalId={externalId}.

Path Parameters

string
required
Subscriber email (URL encoded)

Query Parameters

string
External ID to use with /subscribers/external. Use this route for IDs that contain /.

Request Body

string
First name
string
New delivery email address. This is most useful on the external ID route.
string
New customer-owned external ID. The update fails with 409 if another subscriber owns it.
string
Last name
string
Phone number in E.164 format (+15551234567) or national format. Stored normalized to E.164 on the native phone field, not as a custom attribute. An invalid phone returns 400 VALIDATION_ERROR. Setting a phone does NOT subscribe the contact to SMS - use smsConsent for that, and note that changing the number resets SMS consent unless smsConsent is sent in the same request. null or "" clears the phone, except on a phone-only (SMS) contact - clearing the only identity it has returns 400 VALIDATION_ERROR.
string
ISO 3166-1 alpha-2 country used to read a national-format phone, such as IT or US. Defaults to US. This is a parsing hint only: the stored phoneCountry always comes from the parsed number, so it can never disagree with the phone it belongs to. Sending it without phone returns 400 VALIDATION_ERROR.
SMS marketing consent. true sets the subscriber’s SMS status to subscribed with consent source api - only send true when you have express written consent. false sets it to unsubscribed. When omitted, SMS status stays unchanged unless phone changes, which resets consent because it belonged to the old number. Consent is never inferred from phone presence. See SMS & MMS for the full consent model.
string
Status: active, unsubscribed, or bounced. Setting active resubscribes the contact. Setting unsubscribed performs a full global unsubscribe.
string[]
Replace all tags with this array
object
Custom attributes to update. By default this replaces the existing public custom-attribute map.
string
default:"replace"
How to apply customAttributes: replace replaces the existing public custom-attribute map, while merge overwrites only the provided keys and retains unspecified existing keys.
With customAttributesStrategy: "merge", a subscriber whose existing customAttributes are {"arr":["1","2"],"letter":"X","val":true,"other":"abc"} and whose PATCH payload is {"customAttributesStrategy":"merge","customAttributes":{"arr":["3"],"letter":"Z","number":3}} ends with {"arr":["3"],"letter":"Z","number":3,"val":true,"other":"abc"}.

Responses