Use this procedure to retrieve user activity data as a downloadable report via the iManage Threat Manager API. The API processes the request asynchronously; the initial call returns a job ID, which you use to check status and retrieve results.
Details | |
|---|---|
Before starting | You must have a valid access token. Refer to Authentication using the iManage Threat Manager API. |
Service impact | None. |
After completion | Activity report data for the specified users is returned in the requested file format. |
Request Summary
Endpoint path | POST https://<tm-host-or-ip-address>/tm-api/async/activity-logs/documents |
|---|---|
Headers | "X-Auth-Token": Set value to Access Token string |
Request parameters
Parameters | Details |
|---|---|
"startdate" |
|
"enddate" |
|
"timezone" |
|
"file_type" |
|
"users" |
|
"captions" |
|
"job_id" |
|
“dmsCodes” |
|
Making a curl request and obtaining a job ID
Curl request example:
curl --location --request POST 'http://*IP address goes here*/imcc/tm-api/async/activity-logs/documents' \--header 'X-Auth-Token: "access token from above step goes here "' \--header 'Content-Type: application/json' \--data-raw '{ "dmsCodes": "[]", "timezone": "America/Chicago", "users": "[\"SRGSUPPORT\",\"ACASE\",\"AADENMARTIN\"]", "file_type": "csv", "startdate": "02/05/2026", "enddate": "02/25/2026", "captions": " "}'Response with the job ID:
{ "job_id": "63bda5ea8a01462cf3d72e80"}Sample GET request to check the status, passing the job ID:
The request URL is https://<tm-host-or-ip-address>/tm-api/async/status/[job_id] (where [job_id] is the job ID returned, for example 63c6dc531a2787893e5ecea5).
Possible return values, if a job is either in progress, or completed:
{ "job_id": "63c6dc531a2787893e5ecea5", "status": "in_progress"}{ "job_id": "63c6dc531a2787893e5ecea5", "status": "completed"} When the job completes, make the original curl request but pass the job ID and you'll get the results.
Sample curl request to get the activity results of a completed job:
curl --location --request POST 'http://imcc/tm-api/async/activity-logs/documents' \--header 'X-Auth-Token: " "' \--header 'Content-Type: application/json' \--data-raw '{ "dmsCodes": "[]", "timezone": "America/Chicago", "users": "[\"SRGSUPPORT\"]", "file_type": "csv", "startdate": "02/05/2026", "enddate": "02/25/2026", "captions": " ", "job_id": "63bda4488a01462cf3d72e7e"}'Possible sample responses
Sample response with results when a job is complete and successful:
{ "name": "SRGSUPPORT Documents Activity for 02/05/2026 12:00:00 AM CDT to 02/25/2026 11:59:59 PM CST.csv", "data": "..."}Sample response when an invalid user ID is specified:
{ "job_id": "Async API Call with job_id '63bda4488a01462cf3d72e7e' has different scope parameters. Please rerun Async API Call with new parameters."} Sample response when there's no data for a user:
{ "name": "1231 Documents Activity for 01/19/2026 12:00:00 AM CST to 01/19/2026 11:59:59 PM CST.csv", "data": "'There are no items in this Report.\r\n"}