Projects are the core resource in QA Flow. Each project represents a visual test flow composed of a graph of nodes (individual test actions) and edges (the connections between them). Projects also carry an optionalDocumentation 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.
config object for settings such as execution mode and worker count. All project endpoints require authentication; write operations additionally enforce ownership — only the project owner or an admin can update or delete a project.
Project Object
Every project endpoint returns one or more project objects with the following shape.UUID uniquely identifying the project.
Human-readable project name.
Optional description of what the project tests.
JSON-serialized array of node definitions that make up the test flow graph.
JSON-serialized array of edge definitions describing the connections between nodes.
JSON-serialized
ProjectConfig object containing execution settings (e.g. parallel workers, browser, timeouts). null when no config has been set.ISO 8601 timestamp of when the project was created.
ISO 8601 timestamp of the most recent update.
GET /api/projects
List all projects accessible to the authenticated user. Admin users receive all projects in the system; regular users see only the projects they own or are a member of. Authentication required: YesResponse
An array of project objects.POST /api/projects
Create a new project. The authenticated user becomes the project owner (stored as aProjectMember with the OWNER role).
Authentication required: Yes
Request Body
The project name. Must be a non-empty string.
Array of node definition objects representing the flow graph nodes.
Array of edge objects describing connections between nodes.
Optional human-readable description of the project.
Optional project configuration object (serialized as JSON). Controls execution behaviour such as parallel workers, browser selection, and timeouts.
Response
Returns the newly created project object with status201 Created.
GET /api/projects/:id
Retrieve a single project by its UUID. Admins can access any project; regular users can only access projects they own or are a member of. Authentication required: YesPath Parameters
The UUID of the project to retrieve.
Response
Returns the matching project object, or404 Not Found if the project does not exist or is not accessible to the user.
PUT /api/projects/:id
Update an existing project. Only the project owner or an admin can perform updates. Partial updates are supported — supply only the fields you want to change. Authentication required: Yes (owner or admin)Path Parameters
The UUID of the project to update.
Request Body
Updated project name.
Updated description.
Replacement nodes array. Overwrites the existing nodes entirely.
Replacement edges array. Overwrites the existing edges entirely.
Updated project configuration.
Response
Returns the updated project object on success. Returns403 Forbidden if the user lacks permission to update the project.
- 403 Forbidden
- 404 Not Found
The authenticated user does not own the project and is not an admin.
DELETE /api/projects/:id
Permanently delete a project and all its associated test runs, results, and reports. Only the project owner or an admin can delete a project. Authentication required: Yes (owner or admin)Path Parameters
The UUID of the project to delete.
Response
Returns204 No Content on success. Returns 403 Forbidden if the user does not have permission.
GET /api/projects/:id/flow
Retrieve the project converted into aTestFlow object — the internal representation consumed by the Playwright execution engine. This is useful when integrating external tooling that needs the parsed, structured form of the flow rather than the raw JSON strings.
Authentication required: Yes
Path Parameters
The UUID of the project whose flow representation to retrieve.
Response
Project UUID.
Project name.
Parsed array of node objects (deserialized from the stored JSON string).
Parsed array of edge objects (deserialized from the stored JSON string).
Parsed
ProjectConfig object, or null if no config is set.The
/flow endpoint differs from GET /api/projects/:id in that nodes, edges, and config are returned as parsed JavaScript objects rather than raw JSON strings. Use this endpoint when you need to inspect or forward the flow to the execution engine directly.