Como señaló Jay, una solicitud POST autenticada a /export_csv/export_entity.json se puede utilizar para generar el archivo comprimido. Para ello, necesitas usar una clave de API global de «Todos los usuarios». Establece el nombre de usuario de la API en la solicitud con el nombre de usuario del usuario para el cual deseas crear el archivo. Debes proporcionar un parámetro entity en la solicitud. El parámetro entity debe establecerse en user_archive. Con este enfoque, se generará una notificación para el usuario. Para la mayoría de los usuarios, esto también les enviará un correo electrónico que contiene un enlace de descarga, pero no creo que se pueda confiar en ello; depende de cómo el usuario haya configurado sus preferencias de correo electrónico.
Un ejemplo de solicitud curl para generar el archivo. He sustituido $api_key por una clave de API global de «Todos los usuarios» en la solicitud:
curl -X POST "http://localhost:3000/export_csv/export_entity.json" -H "Api-Username: Ben" -H "Api-Key: $api_key" -F "entity=user_archive"
No estoy seguro de si existe alguna manera de generar el archivo de forma que permita compartirlo sin que el usuario tenga que acceder a la notificación y hacer clic en su enlace de descarga. Posiblemente se podría desarrollar una consulta de Data Explorer que devuelva la información. Luego, podrías ejecutar la consulta de Data Explorer mediante la API. La desventaja de este enfoque es que si la consulta devuelve más de 10 000 filas de datos, necesitarías realizar múltiples solicitudes para obtener los datos. Para más detalles sobre el enfoque de Data Explorer, consulta: Cómo ejecutar consultas de Data Explorer con la API de Discourse.