Get the recording
A JPEG frame is kept whenever the screen changed (checked every 2 s), on plans with recordings.
GET
/v1/sessions/{id}/recordingRequest
| Method and path | GET/v1/sessions/{id}/recording |
|---|---|
| Base URL | https://api.boxline.dev |
| Authentication | Your API key in the x-api-key header (or Authorization: Bearer). The examples read it from BOXLINE_API_KEY. |
Path parameters
| Name | Type | Default | Allowed values | Description |
|---|---|---|---|---|
idrequired | string | – | – |
curl "https://api.boxline.dev/v1/sessions/$SESSION_ID/recording" \ -H "x-api-key: $BOXLINE_API_KEY"import { Boxline } from "@boxline/sdk";const bx = new Boxline(); // reads BOXLINE_API_KEY and BOXLINE_API_URLconst { frames, durationMs } = await bx.sessions.recording("SESSION_ID");console.log(frames.length, "frames over", durationMs, "ms");from boxline import Boxlinebx = Boxline() # reads BOXLINE_API_KEY and BOXLINE_API_URLrecording = bx.sessions.recording("SESSION_ID")print(len(recording["frames"]), "frames over", recording["durationMs"], "ms")Responses
200 OK
Frame list.
Fields
| Name | Type | Default | Allowed values | Description |
|---|---|---|---|---|
frames | object[] | – | – | |
frames[].index | integer | – | – | |
frames[].at | string | – | – | Format: date-time. |
frames[].url | string | null | – | – | |
durationMs | integer | – | – |
{ "frames": [ { "index": 0, "at": "2026-09-29T10:00:00.000Z", "url": "https://example.com/" } ], "durationMs": 0}Errors
Errors have a matching HTTP status and the same body. code is stable, so check it in your code; message is for people. See Errors and request ids.
| Status | Codes | When |
|---|---|---|
| 401 Unauthorized | unauthorized | Missing or invalid API key. |
| 404 Not Found | not_found, invite_not_found, provider_unavailable | No such thing in this project (or organization), or no such route. |
{ "error": { "code": "not_found", "message": "session not found", "requestId": "req_4fJx0aQm2Lk9Pz7N" }}Learn more
These docs describe a beta API. Endpoints, fields and SDK methods may change before general availability; breaking changes will be listed in the changelog.