# Recordings

Synced multi-device recordings.

Synced multi-device recordings.

## startRecording

`POST /v1/recordings`

Record several devices on one clock

Records each device's screen into its own .mp4 under a new folder on this Mac (the response's `folder`). Every frame is masked like the pictures sent to the model. A frame the engine cannot check in time repeats the last checked frame, or is black when the device locked or showed something hidden in between. One recording per device at a time; it stops by itself after `maxSeconds`, at 500 MB, when the caller lets go of a device it held, when the device goes away, when the MCP session ends and when the engine stops.

Request body: `application/json`.

| Field | Type | What it is |
|---|---|---|
| `deviceIds` | array of string |  |
| `maxSeconds` | integer |  |

| Response | Means |
|---|---|
| 201 | Recording. `Recording` |
| 4XX | Error (RFC 9457). |
| 5XX | Error (RFC 9457). |

MCP tools on this operation: [`start_recording`](/reference/mcp/start-recording/).

## getRecording

`GET /v1/recordings/{recordingId}`

Recording status and files

| Parameter | In | Required | Type | What it is |
|---|---|---|---|---|
| `recordingId` | path | yes | string |  |

| Response | Means |
|---|---|
| 200 | Recording. `Recording` |
| 4XX | Error (RFC 9457). |
| 5XX | Error (RFC 9457). |

## stopRecording

`DELETE /v1/recordings/{recordingId}`

Stop and finalize a recording

| Parameter | In | Required | Type | What it is |
|---|---|---|---|---|
| `recordingId` | path | yes | string |  |

| Response | Means |
|---|---|
| 200 | Final recording. `Recording` |
| 4XX | Error (RFC 9457). |
| 5XX | Error (RFC 9457). |

MCP tools on this operation: [`stop_recording`](/reference/mcp/stop-recording/).