The Recording API wraps Playwright’s built-in Codegen tool, letting you capture real browser interactions and instantly convert them into importable QA Flow nodes. You can start a recording session from any URL, stop it when done, and then either retrieve the raw TypeScript code or get the interactions as structured node definitions ready to drop into a project. Alternatively, if you already have Playwright TypeScript test code, theDocumentation 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.
/parse-code endpoint converts it to nodes without a live browser session.
Recording sessions use an external browser process. If you are running QA Flow inside Docker, use the interactive picker endpoints (
/picker/interactive/*) rather than /record/start, which requires a display server or GUI environment.POST /api/record/start
Start a new Playwright Codegen recording session. Opens a browser at the specified URL and begins recording all user interactions. Returns asessionId used to reference the session in subsequent calls.
Authentication required: No
Request Body
The starting URL the browser will navigate to when the recording session opens.
Response
A unique identifier for the recording session. Pass this to all other
/record/* endpoints.GET /api/record/status/:sessionId
Check the current status of an active recording session. Authentication required: NoPath Parameters
The session identifier returned by
POST /api/record/start.Response
The session identifier.
Current state of the recording session. One of:
recording, stopped.POST /api/record/stop/:sessionId
Stop an active recording session. The browser is closed and the recorded Playwright code is finalized and saved for retrieval. Authentication required: NoPath Parameters
The session identifier to stop.
Response
A success confirmation that the session has been stopped.GET /api/record/code/:sessionId
Retrieve the raw Playwright TypeScript code generated by the recording session. Available after the session has been stopped. Authentication required: NoPath Parameters
The session identifier whose generated code to retrieve.
Response
The Playwright TypeScript test code captured during the recording session.
GET /api/record/nodes/:sessionId
Convert the recorded session into QA Flow node definitions ready to import into a project. This is the primary endpoint for turning a recording into a reusable test flow without manually building the node graph. Authentication required: NoPath Parameters
The session identifier whose interactions to convert to nodes.
Response
Array of node definition objects ready for import into a QA Flow project.
POST /api/parse-code
Parse existing Playwright TypeScript test code into QA Flow node definitions without starting a browser session. Useful for importing existing Playwright tests you’ve written manually or copied from another source. Authentication required: NoRequest Body
Valid Playwright TypeScript test code to parse. Must follow Playwright’s standard
test(...) and page.*() API patterns.Response
Array of node definition objects derived from the parsed Playwright code.
GET /api/recordings
List all recording sessions stored on the server, including both active and stopped sessions. Authentication required: NoResponse
An array of recording session metadata objects.DELETE /api/recordings/:sessionId
Delete a specific recording session and its associated data from the server. Authentication required: NoPath Parameters
The session identifier to delete.
Response
Returns204 No Content on success.
DELETE /api/recordings
Delete all recording sessions and their associated data from the server. Use with caution — this operation is irreversible. Authentication required: NoResponse
Returns204 No Content on success.
POST /api/recordings/cleanup
Remove stale or orphaned recording sessions — sessions where the browser process has exited or crashed but the session record was not properly cleaned up. Returns the number of sessions that were removed. Authentication required: NoResponse
The number of stale sessions that were removed.