Topics
Set a contact's topic choice
PUT/v1/contacts/{id}/topics/{topicId}
Requires an API key with the contacts:write scope. About keys and scopes
Any member, or a key with contacts:write (never an agent key), as for consent. Recorded in consent history with the member or key as actor. With channel, the choice is for that channel only (keep Product updates by email, not by push); without it, it holds for every channel and clears channel choices.
Path parameters
idstringrequireduuid
topicIdstringrequireduuid
Request body
subscribedbooleanrequiredTrue to join the topic, false to leave it.
channelstringoptionalOne channel's choice; omitted, the choice holds for every channel.
one of
email,push
Returns
Returns 200 OK. Otherwise returns an error; Errors lists every code and which to retry.
idstringrequireduuid
namestringrequireddescriptionstring | nullrequiredmodestringrequiredopt_outreaches everyone who has not left;opt_inonly those who joined.one of
opt_out,opt_increatedAtstringrequireddate-time
updatedAtstringrequireddate-time
subscribedbooleanrequiredWhether campaigns and journey steps on this topic reach the contact.
channelsobjectrequiredThe same per channel: a channel's own choice wins over
subscribedthere.2 child attributes
emailbooleanrequiredpushbooleanrequired