Docs/Snapshots

Snapshots

Capture high-quality frames from a live session and retrieve them later.

Upload a snapshot

POST/agent-view/snapshots

From a custom agent viewer, upload a captured frame using the agent token — the fragment after # in agentViewUrl. The upload is authenticated by the token itself, not a dashboard login.

FieldDescription
codeThe 6–10 character invite code — the path segment of agentViewUrl, before the # fragment.
tokenThe agent-view token — the URL fragment after # in agentViewUrl. Rejected if the link wasn't issued with snapshot capture enabled.
imageThe captured frame as a PNG data URL (data:image/png;base64,…).
curl -X POST https://api.seeitlive.io/v1/agent-view/snapshots \
  -H "Content-Type: application/json" \
  -d '{ "code": "xyz789", "token": "<agent token>", "image": "data:image/png;base64,iVBORw0K..." }'
json
{
  "id": "3f9a2b71-8c4d-4e2a-9b1f-1234567890ab"
}
Rate limited
Limited to 30 requests per minute per IP.
Three ways to authenticate
Listing and fetching snapshots accept a dashboard JWT, a team API key, or an OAuth token scoped sessions:read. Both also require the account's Snapshot history & export plan feature — without it you get a 402.

List snapshots

GET/sessions/:id/snapshots

Returns the session's captured snapshots, most recent first. Each entry includes the pixel dimensions read from the PNG header and a url to fetch the bytes. Requires the view_snapshots permission on a dashboard JWT.

# List a session's snapshots, then download one:
curl https://api.seeitlive.io/v1/sessions/$SESSION_ID/snapshots \
  -H "Authorization: Bearer $SEEITLIVE_KEY"

curl https://api.seeitlive.io/v1/snapshots/$SNAPSHOT_ID \
  -H "Authorization: Bearer $SEEITLIVE_KEY" \
  -o snapshot.png
json
[
  {
    "id": "3f9a2b71-8c4d-4e2a-9b1f-1234567890ab",
    "width": 1280,
    "height": 720,
    "capturedAt": "2026-07-07T09:15:12.000Z",
    "url": "/api/v1/snapshots/3f9a2b71-8c4d-4e2a-9b1f-1234567890ab"
  }
]

Get snapshot bytes

GET/snapshots/:id

Streams the raw PNG bytes for a single snapshot (content-type: image/png). Requires the same view_snapshots permission as listing snapshots.

Add ?format=base64 to receive JSON instead: {id, contentType, width, height, capturedAt, data}, where data is the base64-encoded PNG. Any other format value returns 400. Intended for callers that cannot receive binary responses, such as Freshworks request templates.

Authenticated image requests
This endpoint requires an Authorization header (dashboard JWT, API key, or OAuth token), so a plain img tag can't load it — fetch the bytes with the header and render them from a blob URL instead.
Snapshots