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). - 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 Contact Properties guide in the API reference. 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: Sendnull
as the value to clear or reset any contact property. Reserved Names: Field names likeemail
,firstName
,lastName
,userId
,source
,subscribed
, andsubscriptionGroups
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
}