---
title: "Update a saved login"
method: PATCH
path: "/v1/recorder-sessions/{session}"
tags: ["AI Recorder"]
---

# Update a saved login

`PATCH /v1/recorder-sessions/{session}`

## Request

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

`session` is a session id, or a domain meaning that site's default session. Rename it, make it the site's default (isDefault: true), set its setup instructions or its context (who the login is and what it sees; null clears either) or change how long it is kept. Send at least one field. 404 when there is no such session.

**Scope:** `recordings:write`

**Role permission:** `canEdit` (OAuth only — API keys carry full workspace permissions)

## Path parameters

- `session` string, required

## Request body

- object
  - `name` string: A label for the session, e.g. "Sandbox" or "Admin user". Up to 80 characters. An empty string resets it to the domain.
  - `isDefault` true: true makes this the site's default session: the one a recording uses when it names no session. Only true is accepted. A site always has a default, so to change it, make another session the default.
  - `setupPrompt` string, nullable: Steps the recorder performs on this site before every recording and screenshot, off camera (e.g. "Switch to the Acme workspace and close the welcome banner"). null clears it. A recording request's own setupPrompt takes precedence.
  - `context` string, nullable: Who this login is and what it can see and do, e.g. "Teacher account: manages classes, assigns lessons, sees grades". Descriptive only: it is never performed as steps. Pulse uses it to write docs for the right audience, and recordings with this session read it as background. null clears it.
  - `ttlDays` integer: How many days the saved login is kept after it was last used: 14 (default), 30, 90, 180 or 365. The expiry is recomputed from the last use, so shortening it can expire an old session right away. The site's own sign-out rules still apply.

## Response `200`

Updated

## Other responses

- `400`: Validation error
- `401`: Invalid or missing credentials
- `403`: Missing scope (`insufficient_scope`), insufficient role (`insufficient_role`), or quota exhausted (`limit_exceeded`)
- `404`: Not found
- `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)
