API呼び出しでユーザーの全メールを購読解除できますか?

私が管理しているサイトは SSO を通じて Discourse を使用しています。私のサイトのユーザーがサイトから生成されたメールの購読を解除した場合、Discourse のメールからの購読も解除したいと考えています。UI を通じてユーザーのメール設定を変更する際に行われる 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 が false であるため、‘mailing_list_mode_frequency’ はおそらく除外できるでしょう。
その後、このペイロードを https://DISCOURSEHOST/u/USERNAME.json?api_key=DISCOURSE_SYSTEM_API_KEY&api_username=system へ PUT します。

同じロジックを実装しましたが、値がウェブサイトのユーザーメール設定に反映されません。

api_keyおよびapi_usernameをクエリパラメータで渡す方法は現在非推奨となりました。現在Api-KeyおよびApi-Usernameヘッダーを使用してください。