Jay が指摘した通り、/export_csv/export_entity.json への認証済みの POST リクエストを使用することで、アーカイブを生成できます。これを行うには、全ユーザー向けグローバル API キーを使用する必要があります。リクエストの API ユーザー名には、アーカイブを作成したいユーザーのユーザー名を設定してください。また、リクエストには entity パラメータを必須として提供する必要があります。この entity パラメータは user_archive に設定します。この方法では、対象ユーザーに対して通知が生成されます。ほとんどのユーザーの場合、ダウンロードリンクを含むメールも送信されますが、これはユーザーのメール設定に依存するため、確実な手段とは言えません。
アーカイブを生成する例として、以下に curl リクエストを示します。ここでは、全ユーザー向けグローバル API キーを $api_key に置き換えています。
curl -X POST "http://localhost:3000/export_csv/export_entity.json" -H "Api-Username: Ben" -H "Api-Key: $api_key" -F "entity=user_archive"
ユーザーが通知にアクセスしてダウンロードリンクをクリックしなくても、アーカイブを生成して共有できる方法があるかどうかは現時点では不明です。もしかすると、必要な情報を返す Data Explorer クエリを開発し、それを API 経由で実行する手法が考えられるかもしれません。ただし、この方法の欠点として、クエリで返されるデータが 10,000 行を超える場合、データを取得するために複数のリクエストを行う必要がある点が挙げられます。Data Explorer 手法の詳細については、「Discourse API を使用した Data Explorer クエリの実行方法」を参照してください:How to run Data Explorer queries with the Discourse API。