Overview
The Reports API provides endpoints to list, download, and manage execution reports. AutoMFlows supports multiple report formats including HTML, Allure, JSON, JUnit XML, CSV, and Markdown.
List Report Folders
Retrieve a list of all report folders with metadata including report types and files.
Endpoint
Example Request
curl http://localhost:3003/api/reports/list
Response
Returns an array of report folder objects, sorted by creation time (newest first).
Report folder name (format: workflowName-timestamp)
ISO 8601 timestamp when report was created
Array of report types available in this folder: html, allure, json, junit, csv, markdown
Array of files in the report folder Relative path within report folder
Report type: html, allure, json, junit, csv, markdown, screenshots
Response Example
[
{
"folderName" : "example-workflow-1709856234567" ,
"createdAt" : "2024-03-07T15:30:34.567Z" ,
"reportTypes" : [ "html" , "json" ],
"files" : [
{
"name" : "report.html" ,
"path" : "html/report.html" ,
"type" : "html"
},
{
"name" : "execution.json" ,
"path" : "json/execution.json" ,
"type" : "json"
},
{
"name" : "screenshot-1.png" ,
"path" : "screenshots/screenshot-1.png" ,
"type" : "screenshots"
}
]
},
{
"folderName" : "sample-workflow-1709856123456" ,
"createdAt" : "2024-03-07T15:28:43.456Z" ,
"reportTypes" : [ "html" , "allure" , "junit" ],
"files" : [
{
"name" : "index.html" ,
"path" : "html/index.html" ,
"type" : "html"
},
{
"name" : "allure-report.html" ,
"path" : "allure/allure-report.html" ,
"type" : "allure"
},
{
"name" : "junit.xml" ,
"path" : "junit/junit.xml" ,
"type" : "junit"
}
]
}
]
Get Report Folder Files
Retrieve a list of all files in a specific report folder.
Endpoint
GET /api/reports/{folderName}/files
Path Parameters
Example Request
curl http://localhost:3003/api/reports/example-workflow-1709856234567/files
Response
[
{
"name" : "report.html" ,
"path" : "html/report.html" ,
"type" : "html" ,
"fullPath" : "/absolute/path/to/output/example-workflow-1709856234567/html/report.html"
},
{
"name" : "execution.json" ,
"path" : "json/execution.json" ,
"type" : "json" ,
"fullPath" : "/absolute/path/to/output/example-workflow-1709856234567/json/execution.json"
},
{
"name" : "screenshot-1.png" ,
"path" : "screenshots/screenshot-1.png" ,
"type" : "screenshots" ,
"fullPath" : "/absolute/path/to/output/example-workflow-1709856234567/screenshots/screenshot-1.png"
}
]
Get Report File
Download or view a specific report file.
Endpoint
GET /api/reports/{folderName}/{reportType}/{filename}
Path Parameters
Report type directory: html, allure, json, junit, csv, markdown
Example Requests
HTML Report
JSON Report
JUnit XML
CSV Report
# View HTML report in browser
curl http://localhost:3003/api/reports/example-workflow-1709856234567/html/report.html
# Or open in browser
open http://localhost:3003/api/reports/example-workflow-1709856234567/html/report.html
# Download JSON report
curl http://localhost:3003/api/reports/example-workflow-1709856234567/json/execution.json \
-o execution.json
# Download JUnit XML
curl http://localhost:3003/api/reports/example-workflow-1709856234567/junit/results.xml \
-o results.xml
# Download CSV report
curl http://localhost:3003/api/reports/example-workflow-1709856234567/csv/report.csv \
-o report.csv
Response
The file content is returned with the appropriate Content-Type header:
File Extension Content-Type .htmltext/html.jsonapplication/json.xmlapplication/xml.csvtext/csv.mdtext/markdown.pngimage/png.jpg, .jpegimage/jpeg
Get Screenshot
Retrieve a screenshot image from a report folder.
Endpoint
GET /api/reports/{folderName}/screenshots/{filename}
Path Parameters
Screenshot filename (e.g., screenshot-1.png)
Example Request
# Download screenshot
curl http://localhost:3003/api/reports/example-workflow-1709856234567/screenshots/screenshot-1.png \
-o screenshot.png
# View in browser
open http://localhost:3003/api/reports/example-workflow-1709856234567/screenshots/screenshot-1.png
Response
The screenshot image is returned with Content-Type: image/png.
Delete Report Folder
Delete a specific report folder and all its contents.
This action cannot be undone. The report folder and all files will be permanently deleted.
Endpoint
DELETE /api/reports/{folderName}
Path Parameters
Report folder name to delete
Example Request
curl -X DELETE http://localhost:3003/api/reports/example-workflow-1709856234567
Response
Whether the deletion succeeded
{
"success" : true ,
"message" : "Report folder example-workflow-1709856234567 deleted"
}
Error Response (404)
{
"error" : "Report folder not found"
}
Delete All Reports
Delete all report folders and their contents.
This action cannot be undone. All report folders and files will be permanently deleted.
Endpoint
Example Request
curl -X DELETE http://localhost:3003/api/reports/
Response
Whether the deletion succeeded
Success message with count of deleted folders
{
"success" : true ,
"message" : "Deleted 15 report folder(s)"
}
Report Types
AutoMFlows supports multiple report formats:
HTML
Allure
JSON
JUnit
CSV
Markdown
HTML Report Interactive HTML report with execution details, node logs, and screenshots. Features:
Execution timeline
Node-by-node breakdown
Embedded screenshots
Error highlighting
Responsive design
Location: {folderName}/html/report.htmlAllure Report Allure framework-compatible report for advanced test reporting. Features:
Rich visualizations
Trend analysis
Categories and tags
Test history
Multiple export formats
Location: {folderName}/allure/JSON Report Machine-readable JSON format for programmatic analysis. Features:
Complete execution data
Node results
Timing information
Error details
Custom metadata
Location: {folderName}/json/execution.jsonExample: {
"executionId" : "exec-1709856234567" ,
"workflowFileName" : "example-workflow.json" ,
"status" : "completed" ,
"startTime" : 1709856234567 ,
"endTime" : 1709856240123 ,
"duration" : 5556 ,
"nodes" : [
{
"nodeId" : "start-1" ,
"type" : "start" ,
"status" : "completed" ,
"duration" : 234
}
]
}
JUnit XML JUnit-compatible XML format for CI/CD integration. Features:
Test suite structure
Pass/fail status
Execution time
Error messages
CI/CD compatible
Location: {folderName}/junit/results.xmlExample: <? xml version = "1.0" encoding = "UTF-8" ?>
< testsuites >
< testsuite name = "example-workflow" tests = "5" failures = "0" time = "5.556" >
< testcase name = "start-1" classname = "start" time = "0.234" />
< testcase name = "click-1" classname = "click" time = "1.123" />
</ testsuite >
</ testsuites >
CSV Report Comma-separated values format for spreadsheet analysis. Features:
Tabular format
Excel compatible
Easy filtering
Statistical analysis
Location: {folderName}/csv/report.csvExample: nodeId, type, status, duration, error
start-1, start, completed, 234,
click-1, click, completed, 1123,
navigate-1, navigate, error, 567, "Navigation timeout"
Markdown Report Human-readable Markdown format for documentation. Features:
Readable format
GitHub compatible
Easy sharing
Documentation ready
Location: {folderName}/markdown/report.mdExample: # Execution Report: example-workflow
**Status:** Completed
**Duration:** 5.556s
**Started:** 2024-03-07T15:30:34.567Z
## Nodes
### 1. start-1 (start)
- Status: ✓ Completed
- Duration: 234ms
### 2. click-1 (click)
- Status: ✓ Completed
- Duration: 1123ms
Report Folder Structure
Report folders follow a consistent structure:
output/
└── example-workflow-1709856234567/
├── html/
│ └── report.html
├── json/
│ └── execution.json
├── junit/
│ └── results.xml
├── csv/
│ └── report.csv
├── markdown/
│ └── report.md
├── allure/
│ ├── index.html
│ └── data/
└── screenshots/
├── screenshot-1.png
├── screenshot-2.png
└── screenshot-3.png
Static File Access
Reports can also be accessed via static file serving:
# Direct file access
http://localhost:3003/reports/ {folderName} /html/report.html
http://localhost:3003/reports/ {folderName} /screenshots/screenshot-1.png
This is useful for:
Opening reports directly in a browser
Embedding screenshots in other pages
Linking to reports from external tools
Report Retention
Configure automatic report cleanup using the reportRetention setting:
{
"reportConfig" : {
"enabled" : true ,
"reportTypes" : [ "html" ],
"reportRetention" : 10
}
}
When reportRetention is set, older reports are automatically deleted when the limit is exceeded, keeping only the most recent N reports.
Next Steps
Generate Reports Learn how to generate reports during execution
CI/CD Integration Integrate reports with CI/CD pipelines