特定のアクションを実行するための適切な API 呼び出しを確認するには、Discourse のユーザーインターフェースを通じてそのアクションを実行しつつ、ウェブインスペクタのネットワークタブを監視して、行われているリクエストの詳細を確認するのが良いアプローチです。この方法の詳細については、「Discourse API のリバースエンジニアリング方法」をご覧ください。
ユーザーのアバターをシステムアバターに更新するには、以下の API PUT リクエストを送信します。
http://forum.example.com/u/<discourse_username>/preferences/avatar/pick
リクエストのフォームデータに type=system を設定してください。URL には、お使いのフォーラムの URL と更新したい Discourse ユーザー名を置き換えてください。
以下は、私のローカルサイトからの curl リクエストの例です。$api_key には「全ユーザー用 API キー」を設定しています。
curl -X PUT "http://localhost:3000/u/scossar/preferences/avatar/pick" \
-H "Api-Key: $api_key" \
-H "Api-Username: system" \
-H "Content-Type: multipart/form-data;" \
-F "type=system"
注意点として、サイト設定で sso overrides avatar が有効になっている場合、このリクエストは失敗します。