Use UpdateContactMessageCategoryPreference to opt a contact out of or back into a Message Category.
Contacts are available for all Message Categories by default unless an active category-level opt-out exists. Other suppression, unsubscribe, bounce, compliance, or targeting rules can still prevent sending.
This action updates one Message Category preference only.
Notes
Provide one contact identifier:
ContactId,Email, orID. If more than one is supplied, resolution prefersContactId, thenID, thenEmail.IDis the remote key. Element text is the remote ID; optionalsourceis the remote system name.MessageCategoryIdmust be an active (non-archived) Message Category in the authenticated brand.PreferenceActionis case-insensitive (OptOut/OptIn).When using
PostInformzMessage, place the ActionRequest XML in the SOAP<x>CDATA body.
Node | Type | Description |
|---|---|---|
| Integer | Informz subscriber/contact ID |
| String | Contact email address |
| String (+ optional | Remote ID; optional |
| Integer | Message Category ID |
| String |
|
Opt Out
Opts a contact out of a Message Category. Idempotent if already opted out.
Request
<ActionRequest xmlns="http://partner.informz.net/aapi/2009/08/"> <Brand id="2001">Example Brand</Brand> <User>apiuser</User> <Password>password</Password> <Actions> <UpdateContactMessageCategoryPreference> <Contact> <ContactId>10001</ContactId> </Contact> <MessageCategoryId>11</MessageCategoryId> <PreferenceAction>OptOut</PreferenceAction> </UpdateContactMessageCategoryPreference> </Actions> </ActionRequest>
Alternate contact identifiers:
<Contact> <Email>user@example.com</Email> </Contact>
<Contact> <ID source="PartnerSystem">REMOTE-42</ID> </Contact>
Response
<ActionResponse xmlns="http://partner.informz.net/aapi/2009/08/"> <Brand id="2001">Example Brand</Brand> <User>apiuser</User> <Responses> <UpdateContactMessageCategoryPreference> <ActionStatus> <Status>success</Status> </ActionStatus> <ContactId>10001</ContactId> <Email>user@example.com</Email> <MessageCategoryId>11</MessageCategoryId> <MessageCategoryName>Promotions</MessageCategoryName> <PreferenceStatus>OptedOut</PreferenceStatus> <LastModifiedDate>2026-08-04T20:15:00</LastModifiedDate> </UpdateContactMessageCategoryPreference> </Responses> </ActionResponse>
Notes
PreferenceStatusisOptedOut.Optional
ID(withsource) may be returned when a remote key is present.If already opted out, no additional opt-out is created;
LastModifiedDateremains the existing modification time.
Opt In
Opts a contact back into a Message Category by deactivating the category-level opt-out (does not create a separate opt-in record). Idempotent if already available.
Request
<ActionRequest xmlns="http://partner.informz.net/aapi/2009/08/"> <Brand id="2001">Example Brand</Brand> <User>apiuser</User> <Password>password</Password> <Actions> <UpdateContactMessageCategoryPreference> <Contact> <ContactId>10001</ContactId> </Contact> <MessageCategoryId>11</MessageCategoryId> <PreferenceAction>OptIn</PreferenceAction> </UpdateContactMessageCategoryPreference> </Actions> </ActionRequest>
Response
<ActionResponse xmlns="http://partner.informz.net/aapi/2009/08/"> <Brand id="2001">Example Brand</Brand> <User>apiuser</User> <Responses> <UpdateContactMessageCategoryPreference> <ActionStatus> <Status>success</Status> </ActionStatus> <ContactId>10001</ContactId> <Email>user@example.com</Email> <MessageCategoryId>11</MessageCategoryId> <MessageCategoryName>Promotions</MessageCategoryName> <PreferenceStatus>Available</PreferenceStatus> <LastModifiedDate>2026-08-05T14:30:00</LastModifiedDate> </UpdateContactMessageCategoryPreference> </Responses> </ActionResponse>
Notes
PreferenceStatusisAvailable.If an inactive opt-out row already exists,
LastModifiedDateis that row's existingmodified_date.If no opt-out row exists,
LastModifiedDateis the current server time for the successful no-op.
Errors
Error | Description |
|---|---|
|
|
| Unsupported |
| Contact not found, or Message Category does not exist for the authenticated brand |