API/Update Email Contact API

Update Email Contact API

Update an email contact identity and custom fields by email address.

Update a subscriber's email, first name, last name, or custom fields. The target subscriber is selected by the email address in the URL.

Request

PATCH /api/v1/email/contacts/:email

Body:

FieldTypeRequiredDescription
emailstringNoNew email address. Must be unique in the organization.
firstNamestringNoFirst name, capped at 120 characters.
lastNamestringNoLast name, capped at 120 characters.
customFieldsRecord<string, string>NoReplaces the current custom fields after sanitization.
curl -X PATCH https://growth.example.com/api/v1/email/contacts/lead%40example.com \
  -H "x-api-key: org_api_key" \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]","firstName":"Jane","customFields":{"plan":"pro"}}'

Response

{
  "contact": {
    "id": "m57...",
    "email": "[email protected]",
    "firstName": "Jane",
    "lastName": null,
    "status": "subscribed",
    "source": "api",
    "customFields": { "plan": "pro" },
    "tags": ["newsletter"],
    "createdAt": 1783528574709,
    "updatedAt": 1783528600000
  }
}

Error responses:

StatusMeaning
400Invalid JSON body or invalid email.
401Missing or invalid API key.
404Contact not found.
409Another contact already uses the requested email.

Notes

  • If the email changes, suppression records move to the new address so unsubscribe/bounce/complaint state is preserved.
  • Missing fields are left unchanged.