Отписка пользователя от всех писем через вызов API?

Сайт, который я поддерживаю, использует Discourse через SSO. Когда пользователь моего сайта отписывается от сгенерированных сайтом писем, я также хотел бы отписать этого пользователя от писем Discourse. Должно быть возможно определить, что требуется, изучив вызовы API, которые выполняются при изменении настроек электронной почты пользователя через интерфейс, но я хотел бы узнать, есть ли более простой способ?

Всегда ли будет так, что они не хотят получать ни письма от сайта, ни письма от сообщества?

Если существует возможность, что они захотят отказаться от одного, но не от обоих, почему бы просто не предоставить ссылку на страницу, где они смогут управлять своими настройками получения писем в Discourse?

Да. Руководство поручило мне отписывать пользователей от писем Discourse, когда пользователь отписывается от писем с сайта.

Для тех, кто заинтересован в продолжении:
Моя задача была решена с помощью руководства по реверс-инжинирингу. Сбор содержимого полезной нагрузки PUT был довольно простым процессом.

В Ruby итоговая полезная нагрузка выглядит так:
payload = {mailing_list_mode: false, mailing_list_mode_frequency: 1, email_digests: false, email_in_reply_to: false, email_messages_level: 2, email_level: 2, email_previous_replies: 2 }

Параметр ‘mailing_list_mode_frequency’, вероятно, можно исключить, так как ‘mailing_list_mode’ установлен в false.
Затем эта полезная нагрузка отправляется методом PUT по адресу https://DISCOURSEHOST/u/USERNAME.json?api_key=DISCOURSE_SYSTEM_API_KEY&api_username=system

Я реализовал ту же логику, но значения не отображаются в настройках электронной почты пользователя на веб-сайте.

Обратите внимание, что способ передачи api_key и api_username через параметры запроса теперь устарел; вместо этого следует использовать заголовки Api-Key и Api-Username в настоящее время.