¿Cancelar la suscripción de un usuario a todos los correos electrónicos mediante una llamada a la API?

El sitio que administro utiliza Discourse a través de SSO. Cuando un usuario de mi sitio se da de baja de los correos electrónicos generados por el sitio, también me gustaría darse de baja de los correos electrónicos de Discourse. Debería ser posible determinar qué se requiere al examinar las llamadas a la API que se realizan cuando se cambian la configuración de correo electrónico del usuario a través de la interfaz, pero me preguntaba si hay una manera más fácil.

¿Será siempre el caso de que no quieran ver correos electrónicos del sitio ni de la comunidad?

Si existe la posibilidad de que quieran darse de baja de uno y no de ambos, ¿por qué no simplemente enlazar a una página donde puedan gestionar sus preferencias de correo electrónico para Discourse?

Sí. La gerencia me ha indicado que desuscriba a los usuarios de los correos electrónicos de Discourse cuando el usuario se desuscriba de los correos electrónicos del sitio.

Para cualquier persona interesada en un seguimiento:
Mi necesidad fue atendida siguiendo la guía de ingeniería inversa. Fue un proceso bastante directo para recopilar el contenido de la carga PUT.

En Ruby, la carga con la que terminé fue:
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 }

Probablemente se pueda excluir ‘mailing_list_mode_frequency’ ya que mailing_list_mode es false.
Luego, la carga se envía mediante PUT a https://DISCOURSEHOST/u/USERNAME.json?api_key=DISCOURSE_SYSTEM_API_KEY&api_username=system

He implementado la misma lógica, pero los valores no se reflejan en las preferencias de correo electrónico del usuario en el sitio web.

Tenga en cuenta que el método de pasar api_key y api_username mediante parámetros de consulta está ahora obsoleto; debe utilizar los encabezados Api-Key y Api-Username actualmente.