Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/davidG97/qa-flow/llms.txt

Use this file to discover all available pages before exploring further.

The Execution API lets you kick off a Playwright test run for any saved project, poll the status of an in-flight execution, and retrieve a list of all past executions. Under the hood, QA Flow compiles the project’s node graph into a Playwright test suite, runs it in a headless browser, and persists the results as a TestRun record with associated TestResult entries for each node.
Real-time progress during execution is streamed over WebSocket. The REST status endpoint is suitable for polling, but for live progress updates in a UI connect to the WebSocket server at ws://localhost:3001.

POST /api/run

Trigger a new test execution for the specified project. QA Flow resolves the project’s node graph, generates a Playwright test suite, and executes it asynchronously. The response returns an executionId that you can use to poll for status. Authentication required: No

Request Body

projectId
string
required
The UUID of the project to execute. The project must exist and be accessible to the authenticated user.

Response

executionId
string
A unique identifier for this execution run. Use it with GET /api/status/:executionId to poll for results.
curl -X POST http://localhost:3001/api/run \
  -H 'Content-Type: application/json' \
  -d '{"projectId": "proj-abc-123"}'
After receiving the executionId, poll GET /api/status/:executionId every second or two until the status field is completed or failed. Alternatively, subscribe to the WebSocket channel for push-based progress updates without polling.

GET /api/status/:executionId

Retrieve the current status and results of an execution. While the run is in progress the results array is populated incrementally as each node finishes. When the run completes (or fails), the full result set is available. Authentication required: No

Path Parameters

executionId
string
required
The execution identifier returned by POST /api/run.

Response

status
string
Current state of the execution. One of: pending, running, completed, failed.
results
array
Array of per-node result objects accumulated so far.
error
string
Top-level error message present only when status is failed and the entire run could not complete.
curl http://localhost:3001/api/status/exec-7f8g9h

GET /api/executions

List all past executions recorded in the system. Returns a summary array ordered by most recent first, allowing you to review historical run data without fetching the full result set for each one. Authentication required: No

Response

An array of execution summary objects.
executionId
string
The execution identifier.
projectId
string
The UUID of the project that was executed.
status
string
Final status of the execution: pending, running, completed, or failed.
startedAt
string | null
ISO 8601 timestamp when the execution started, or null if it never began.
completedAt
string | null
ISO 8601 timestamp when the execution finished, or null if still running.
totalTests
number
Total number of nodes executed.
passedTests
number
Number of nodes that passed.
failedTests
number
Number of nodes that failed.
duration
number | null
Total execution duration in milliseconds, or null if not yet complete.
curl http://localhost:3001/api/executions
For richer per-node result data and associated HTML reports, use the Test Runs API which stores the same information in the persistent database with full TestResult records attached.

Build docs developers (and LLMs) love