Docs / Developer Hub / API / Orchestrate API / List run reports The /run-reports endpoint returns recent runs on your account, each with the automation name, status, description, and timestamps. Use it to check whether a recently triggered run has finished, to build a run-history view in your own dashboard, or to audit what your integration has been doing.
Request POST /api/v3/run-reports
Parameter Type Required Description keystring Yes Your API key. See Authentication . countnumber No Number of reports to return. Defaults to 5.
Request payload {
"key" : "<API_KEY>" ,
"count" : 10
}
Response {
"status" : "success" ,
"data" : {
"reports" : [
{
"task_name" : "Automation Name" ,
"status" : "Success" ,
"description" : "Execution started with Axiom cloud version 4.6.0 (remotely triggered) \n\n Axiom run completed successfully!" ,
"created_at" : "2025-04-10T15:14:51.000000Z" ,
"updated_at" : "2025-04-10T15:15:00.000000Z"
}
]
}
}
Field Type Description statusstring success on a successful call, otherwise an error string.data.reportsarray Array of run reports, most recent first. reports[].task_namestring Name of the automation that ran, matching the name passed to /trigger. reports[].statusstring The run's outcome. See Status values . reports[].descriptionstring Human-readable run summary, including the cloud version and any failure details. reports[].created_atstring ISO 8601 UTC timestamp of when the run started. reports[].updated_atstring ISO 8601 UTC timestamp of the most recent status change.
Status values Value Meaning In ProgressThe run is still executing. A report is created with this status when the run starts. SuccessThe run completed without errors. FailureThe run hit an error inside the automation and stopped. FailedThe run stopped responding and was closed by the server. Its description ends with Task unresponsive.
Example curl -X POST https://lar.axiom.ai/api/v3/run-reports \
-H "Content-Type: application/json" \
-d '{"key": "your-api-key-here"}'
A common pattern is to trigger a run, then poll /run-reports until your task's most recent report is no longer In Progress:
const KEY = process.env. AXIOM_API_KEY ;
const TASK = "My First Automation" ;
await fetch ( "https://lar.axiom.ai/api/v3/trigger" , {
method: "POST" ,
headers: { "Content-Type" : "application/json" },
body: JSON . stringify ({ key: KEY , name: TASK }),
});
while ( true ) {
await new Promise ( r => setTimeout (r, 10000 ));
const res = await fetch ( "https://lar.axiom.ai/api/v3/run-reports" , {
method: "POST" ,
headers: { "Content-Type" : "application/json" },
body: JSON . stringify ({ key: KEY }),
});
const { data } = await res. json ();
const latest = data.reports. find ( r => r.task_name === TASK );
if (latest && latest.status !== "In Progress" ) {
console. log ( `Run finished with status: ${ latest . status }` );
break ;
}
}
Notes Reports are returned most-recent first based on created_at. Each call to /run-reports counts against the 100-per-minute rate limit . Don't poll faster than once every 5 to 15 seconds. description can contain multi-line text including stack traces for failed runs. Render it as preformatted text, not HTML, to preserve formatting.The endpoint returns recent runs only. There's no historical archive accessible over the API today.