Subscribers

Update subscriber by external ID path

Compatibility route for external IDs that do not contain path separators. Use /subscribers/external?externalId=... for IDs containing slashes.

patch/subscribers/external/{externalId}

Path parameters

externalIdstring required

URL-encoded external ID without path separators

Request body

emailstring email

New delivery email. Fails with 409 if another subscriber owns it.

externalIdstring

New external ID. Fails with 409 if another subscriber owns it.

firstNamestring
lastNamestring
status'active' | 'unsubscribed' | 'bounced'

Setting unsubscribed performs the unsubscribe workflow.

tagsstring[]
customAttributesobject

Custom attributes to update. Defaults to replacing the existing public custom-attribute map.

customAttributesStrategy'replace' | 'merge'

How to apply customAttributes. replace replaces the existing public custom-attribute map. merge overwrites only provided keys and retains unspecified existing keys.

Response

Subscriber updated

successboolean

Example response

{
  "subscriber": {
    "id": "sub_abc123",
    "email": "user@example.com",
    "externalId": "user_123",
    "firstName": "John",
    "lastName": "Doe",
    "status": "active",
    "emailProvider": "gmail",
    "tags": [
      "premium",
      "newsletter"
    ],
    "customAttributes": {
      "plan": "pro",
      "signupSource": "website"
    }
  }
}

Changes