The consent management functionality allows you to manage the registration of opt-in and opt-out mobile originated messages sent by your end-users.
Any opt-out data recorded by the consent management functionality is stored in list format, and these lists control whether messages can be sent to specific recipients.
The consent lists each correspond to a specific type of opt-out, and they are detailed below:
OPT_OUT_ALL: This is the standard opt-out, and it blocks sending for all message types.OPT_OUT_MARKETING: This opt-out type only blocks marketing messages. Marketing messages are defined as messages that have themessage_content_typefield set toCONTENT_MARKETING.OPT_OUT_NOTIFICATION: This opt-out type only blocks notification messages. Notification messages are defined as messages that have themessage_content_typefield set toCONTENT_NOTIFICATION.
The message_content_type field is optional. However, to classify messages accurately, it's considered a best practice to populate the message_content_type field. This allows the system to identify whether a message is marketing or notification-related.
If no content type is passed on the messages, the consent management functionality will assign the message to the OPT_OUT_ALL list.
To enable consent management:
Navigate to the corresponding Conversation API app's details page. Then, accept the terms and conditions:

Then, enable the functionality:

Finally, select your Consent processing type:

There are two consent processing (or restriction) types available with the consent management functionality:
In Primary mode, Sinch will block any mobile-terminated messages sent to the opted-out recipients.
Note the following:- An autoreply message still will be sent.
- The blocklist is refreshed every 10 minutes. Therefore, there may be a delay of up to 10 minutes before active MT message blocking starts for an opted-out subscriber.
In Secondary mode, no blocking by Sinch is performed. The presence of an opt-in or opt-out keyword triggers the functionality when it is the sole element within an inbound, mobile-originated message. The notification will then be sent via the Opt-out, Opt-in webhook triggers. Customers are required to take actions in their triggering application to prevent it from sending future messages to recipients that asked for opt-out.
Once enabled, the consent management functionality will start processing mobile originated messages.
For the sake of simplicity, this section explains the functionality operating in Primary mode, in which Sinch blocks messages after opt-out. For more information on the difference between the Primary and Secondary modes, see the Consent processing types explanation section.
For all mobile originated messages, the consent management functionality will check for the presence of keywords that identify the message is an opt-in or opt-out message, and associate the message with one of the list categories.
Note the following:
The system checks for an exact match. So, for example, if the keyword stop is set as the opt-out keyword, a message containing the text
stopwill trigger the consent management functionality. However, message containing the textstop now pleasewill not trigger the functionality.The consent management matching process is case insensitive, so text like
Stop,STOP,stoP, etc. would all trigger the functionality in this example case.The blocklist is refreshed every 10 minutes. Therefore (in Primary mode), there may be a delay of up to 10 minutes between the detection of an opt-out keyword and the moment when active MT message blocking starts for an opted-out subscriber. There is no delay for removing users from the blocklist when opt-in keywords are detected.
If no keywords are provided, a default keyword list is provided. For more information about how to customize keywords or auto-replies, see the Customization section.
After a message is matched, an opt-out/in auto-reply message is sent to the user, as shown in the example below:

The auto-reply messages are also customizable. If no custom auto-reply message is provided, a default auto-reply is sent to the end-user.
Once the consent management has recorded the opt-in or opt-out and sent an auto-reply message, an opt-in callback or opt-out callback is delivered to your system via webhook trigger.
WhatsApp Usernames is a Meta feature that lets WhatsApp users identify themselves with a username, in addition to or instead of a phone number, in some scenarios.
As part of this rollout, WhatsApp introduces business-scoped user IDs, which are identifiers tied to a business context.
In Conversation API callbacks, these identifiers are represented through identity fields such as user_id and parent_user_id. Depending on the scenario, phone_number may also be present.
The core consent management logic does not change with WhatsApp Usernames. What changes is the set of WhatsApp identities that may be present when a contact message with a consent keyword is processed.
For WhatsApp, consent management can process these identity fields when they are present:
phone_number: The contact's phone number.user_id: The contact's business-scoped user ID.parent_user_id: The contact's parent business-scoped user ID.
When a WhatsApp opt-in or opt-out keyword is detected, consent management processes each present identity as an individual identity.
- If
phone_number,user_id, andparent_user_idare present, all three are registered for the same opt-in or opt-out event. - If
phone_numberis missing, consent management still registers consent foruser_idandparent_user_idwhen present.
This behavior is the same in both restriction modes:
- In Primary mode, sending is blocked after opt-out for every identity registered by that event.
- In Secondary mode, Sinch performs no blocking; opt-in and opt-out callbacks are triggered for each identity, and your application is responsible for applying your policy.
Payload field presence/absence and rollout milestones are maintained on the Business-scoped user IDs page.
Refer to that page for updates.
Both auto-replies and trigger keywords have defaults for the English, Spanish, and Portuguese languages. The defaults are as follows:
| Language | Opt-out type | Opt-out keywords | Opt-in keywords | Opt-out auto-reply | Opt-in auto-reply |
|---|---|---|---|---|---|
| English | ALL | "STOP", "UNSUBSCRIBE", "OptOut_All_EN" | "START", "SUBSCRIBE", "OptIn_All_EN" | "Your request to leave has been accomplished." | "Your request to get back has been accomplished." |
| English | MARKETING | "STOP MARKETING", "UNSUBSCRIBE MARKETING", "OptOut_Marketing_EN" | "START MARKETING", "SUBSCRIBE MARKETING", "OptIn_Marketing_EN" | "Your request to leave has been accomplished." | "Your request to get back has been accomplished." |
| English | NOTIFICATION | "STOP NOTIFICATION", "UNSUBSCRIBE NOTIFICATION", "OptOut_Notification_EN" | "START NOTIFICATION", "SUBSCRIBE NOTIFICATION", "OptIn_Notification_EN" | "Your request to leave has been accomplished." | "Your request to get back has been accomplished." |
| Spanish | ALL | "DETENER", "SALIR", "OptOut_All_ES" | "VOLVER", "RECIBIR", "OptIn_All_ES" | "Su solicitud de salida se ha cumplido." | "Su solicitud de regreso ha sido concedida." |
| Spanish | MARKETING | "DETENER MARKETING", "SALIR MARKETING", "OptOut_Marketing_ES" | "VOLVER MARKETING", "RECIBIR MARKETING", "OptIn_Marketing_ES" | "Su solicitud de salida se ha cumplido." | "Su solicitud de regreso ha sido concedida." |
| Spanish | NOTIFICATION | "DETENER NOTIFICACIÓN", "SALIR NOTIFICACIÓN", "OptOut_Notification_ES" | "VOLVER NOTIFICACIÓN", "RECIBIR NOTIFICACIÓN", "OptIn_Notification_ES" | "Su solicitud de salida se ha cumplido." | "Su solicitud de regreso ha sido concedida." |
| Portuguese | ALL | "PARAR", "CANCELAR", "OptOut_All_PT" | "VOLTAR", "RECEBER", "OptIn_All_PT" | "Seu pedido de saída foi atendido." | "Seu pedido de voltar foi atendido." |
| Portuguese | MARKETING | "PARAR MARKETING", "CANCELAR MARKETING", "OptOut_Marketing_PT" | "VOLTAR MARKETING", "RECEBER MARKETING", "OptIn_Marketing_PT" | "Seu pedido de saída foi atendido." | "Seu pedido de voltar foi atendido." |
| Portuguese | NOTIFICATION | "PARAR NOTIFICAÇÃO", "CANCELAR NOTIFICAÇÃO", "OptOut_Notification_PT" | "VOLTAR NOTIFICAÇÃO", "RECEBER NOTIFICAÇÃO", "OptIn_Notification_PT" | "Seu pedido de saída foi atendido." | "Seu pedido de voltar foi atendido." |
After enabling consent management, it is also possible to customize the keywords and auto-replies used for consent.
The customization list can be seen next to consent management settings after it is enabled. To create new customizations, click the Create new button:

Keywords and auto-reply messages can be configured per language using the dropdown list on ISO format (see below):

After selecting a language, populate the form with the required information:

When using Consent Management, there are no extra charges for any Mobile Originated (MO) messages processed.
All auto-response messages are charged as normal Mobile Terminated (MT) messages.
Consent management has some public API endpoints for querying information regarding the consent lists. For more information, please see the Conversation API reference page.