Как отметил Джей, аутентифицированный POST-запрос к /export_csv/export_entity.json можно использовать для создания архива. Для этого необходимо использовать глобальный API-ключ для всех пользователей. Установите имя пользователя API в запросе равным имени пользователя, для которого нужно создать архив. В запросе необходимо указать параметр entity. Значение параметра entity должно быть user_archive. При таком подходе для пользователя будет создана уведомление. Для большинства пользователей это также отправит им электронное письмо со ссылкой для скачивания, но я не думаю, что на это можно положиться — это зависит от того, как пользователь настроил свои предпочтения в отношении электронной почты.
Пример запроса curl для создания архива. В запросе я заменил $api_key на глобальный API-ключ для всех пользователей:
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, который возвращает нужную информацию. Затем этот запрос к Data Explorer можно выполнить через API. Недостаток такого подхода заключается в том, что если запрос возвращает более 10 000 строк данных, потребуется выполнить несколько запросов для получения всех данных. Подробнее о подходе с использованием Data Explorer см.: Как выполнять запросы к Data Explorer с помощью API Discourse.