Skip to main content
Questions or issues? Contact us at api-support@manus.ai. This walkthrough creates a full data export for one user and downloads the archive. Replace <your-api-key> with an enterprise API key from the Compliance API settings (see Authentication).

Step 1 — Preview the user’s tasks (optional)

curl --location --request POST 'https://api.manus.im/dataexport.v1.EnterpriseDataExportService/ListTasks' \
  --header 'X-API-Key: <your-api-key>' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "user": "user@example.com",
    "page": 1,
    "page_size": 10
  }'

Step 2 — Create the export task

curl --location --request POST 'https://api.manus.im/dataexport.v1.EnterpriseDataExportService/CreateExport' \
  --header 'X-API-Key: <your-api-key>' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "user_id": "114504",
    "scope": "ENTERPRISE_EXPORT_SCOPE_FULL",
    "include_files": true,
    "reason": "compliance audit"
  }'
Save the returned uid for the next steps.

Step 3 — Poll until the export is ready

curl --location --request POST 'https://api.manus.im/dataexport.v1.EnterpriseDataExportService/GetExport' \
  --header 'X-API-Key: <your-api-key>' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "uid": "<export-uid>"
  }'
Repeat until record.status is EXPORT_STATUS_COMPLETED. If it becomes EXPORT_STATUS_FAILED, inspect record.error_message. (EXPORT_STATUS_CANCELLED indicates the export was cancelled.)

Step 4 — Mint a download URL

curl --location --request POST 'https://api.manus.im/dataexport.v1.EnterpriseDataExportService/GetDownloadURL' \
  --header 'X-API-Key: <your-api-key>' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "uid": "<export-uid>"
  }'

Step 5 — Download the archive

curl -o export.zip "<download-url>"
The archive contents are described in Overview → Export file structure. The download URL is valid for 10 minutes — re-run step 4 to mint a new one if it expires.