---
title: "List saved logins"
method: GET
path: "/v1/recorder-sessions"
tags: ["AI Recorder"]
---

# List saved logins

`GET /v1/recorder-sessions`

## Request

- Base URL: `https://api.vidocu.ai`
- URL: `https://api.vidocu.ai/v1/recorder-sessions`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://vidocu.ai/oauth/authorize`, token URL `https://api.vidocu.ai/oauth/token`)

A site can have several saved sessions (e.g. "Sandbox" and "Admin user"). Each item has an id, a name, createdBy, and isDefault: exactly one per domain is the default, used when a recording names no sessionId. Each also carries its setupPrompt (off-camera setup run before every recording and screenshot on that site, or null), its context (who the login is and what it sees, or null) and ttlDays. Stored cookies are never returned.

**Scope:** `recordings:read`

## Response `200`

Success

- object: Saved logins, most recently refreshed first.
  - `sessions` object[], required
    - `id` string, required: Session id. Use it in /v1/recorder-sessions/{session} and as sessionId on POST /v1/recordings.
    - `domain` string, required
    - `name` string, required: Label, e.g. "Sandbox". The domain for sessions saved before names existed.
    - `isDefault` boolean, required: The session a recording on this site uses when it names no sessionId. Exactly one per domain.
    - `createdBy` string, nullable, required: User id of whoever saved it. null for older sessions.
    - `setupPrompt` string, nullable, required
    - `context` string, nullable, required: Who this login is and what it sees, e.g. "Teacher account: manages classes". Descriptive only, never performed. null when unset.
    - `ttlDays` integer, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required: When the login was last refreshed (saved, or used by a recording).
    - `expiresAt` string, date-time, required

## Other responses

- `400`: Validation error
- `401`: Invalid or missing credentials
- `403`: Missing scope (`insufficient_scope`) or quota exhausted (`limit_exceeded`)
- `429`: Rate limit exceeded (60 req/min)
- `500`: Server error

---

[API](https://skmtc.dev/vidocu/apis/vidocu-api.md) · [All operations](https://skmtc.dev/vidocu/apis/vidocu-api/llms.txt) · [OpenAPI document](https://skmtc.dev/vidocu/apis/vidocu-api/revisions/cc813d2ca5d2?raw)
