Authorizations
Include your Brew API key as a Bearer token in the Authorization header.
Example: Authorization: Bearer bw_api_your_key_here
Path Parameters
Either the contact's email address or their userId. When using an email address, you must URI-encode it (replace @ with %40). Examples:
- Email:
user%40example.com
(for user@example.com) - User ID:
user_12345
Body
Provide the fields you want to update. You can include custom contact properties as top-level fields.
For compliance reasons, you can only set subscribed
to false
(not true
).
Important: This endpoint only updates existing contacts - it will not create new contacts. To create contacts, use the Create Contact endpoint.
Updating Email Addresses: You can update a contact's email address, but you must use their
userId
as the path identifier (not their current email) since email is the primary identifier.
Custom Properties: Add any custom contact properties as top-level fields in your request. Custom properties can be strings, numbers, booleans, or dates.
For detailed information about creating and managing custom properties, see our Custom Properties documentation.
Data Types:
string
- Text values (e.g., "Enterprise", "Product Manager")number
- Numeric values (e.g., 50, 99.99, -10)boolean
- True/false values (true, false)date
- Unix timestamps in seconds (e.g., 1704067200 for 2024-01-01)
Resetting Properties: Send null
as the value to clear or reset any contact property.
Reserved Names: Field names like email
, firstName
, lastName
, userId
, source
, subscribed
, and subscriptionGroups
are reserved and cannot be used for custom properties.
Request body for updating an existing contact
Updated email address (requires using userId as path identifier)
"new.email@example.com"
Updated first name
"Jane Marie"
Updated last name
"Smith-Johnson"
Updated external user ID
"user_67890"
Updated source value
"Mobile app"
Subscription status (can only be set to false for compliance)
false
Updated subscription group memberships
{
"sg_newsletter": true,
"sg_promotions": false
}