> ## Documentation Index
> Fetch the complete documentation index at: https://claudescope.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Settings API — Get and Update Preferences

> Read and update your Claude Scope account preferences — default agent, screenshot inclusion, ARIA tree output, and recording length — via the API.

The Settings API lets you read and update per-account preferences that control how Claude Scope processes recordings and formats generated prompts. These are the same preferences available in the Claude Scope dashboard under **Settings**. Changes take effect immediately on the next recording upload.

***

## GET /api/settings — Get current settings

Returns the settings object for the currently authenticated account.

### Request

No parameters required.

### Response

Returns a [Settings object](#settings-object).

### Example

```bash theme={null}
curl https://api.claudescope.ai/api/settings \
  -H "Authorization: Bearer <token>"
```

```json theme={null}
{
  "defaultAgent": "CLAUDE_CODE",
  "includeScreenshots": true,
  "inlineAriaTree": true,
  "includeRawDiff": false,
  "maxRecordingLength": 10
}
```

***

## PATCH /api/settings — Update settings

Updates one or more settings on your account. Only the fields you include are changed; all other settings remain at their current values.

### Request body (all fields optional)

<ParamField body="defaultAgent" type="string">
  Default agent target applied when you upload a recording without specifying `agentTarget`. One of: `CLAUDE_CODE`, `CODEX`, `CURSOR`, `RAW`.
</ParamField>

<ParamField body="includeScreenshots" type="boolean">
  When `true`, frame thumbnails are embedded in the generated prompt as base64 images. Disable this to reduce prompt size if your agent has a limited context window.
</ParamField>

<ParamField body="inlineAriaTree" type="boolean">
  When `true`, the ARIA accessibility tree is included inline in the generated prompt. This gives the agent a structured view of every interactive element on the page.
</ParamField>

<ParamField body="includeRawDiff" type="boolean">
  When `true`, the raw DOM diff between frames is appended to the generated prompt. Useful for agents that benefit from seeing exact node-level changes.
</ParamField>

<ParamField body="maxRecordingLength" type="number">
  Maximum allowed recording duration in minutes. Accepted values: `5`, `10`, `15`, `30`. The recording interface enforces this limit and stops automatically when reached.
</ParamField>

### Response

Returns the updated [Settings object](#settings-object).

### Example

```bash theme={null}
curl -X PATCH https://api.claudescope.ai/api/settings \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"defaultAgent": "CURSOR", "includeScreenshots": false}'
```

```json theme={null}
{
  "defaultAgent": "CURSOR",
  "includeScreenshots": false,
  "inlineAriaTree": true,
  "includeRawDiff": false,
  "maxRecordingLength": 10
}
```

***

## Settings object

<ResponseField name="defaultAgent" type="string" required>
  The default agent target for new recording uploads. One of: `CLAUDE_CODE`, `CODEX`, `CURSOR`, `RAW`. Overridden on a per-upload basis if you pass `agentTarget` to `POST /recordings`.
</ResponseField>

<ResponseField name="includeScreenshots" type="boolean" required>
  Whether frame thumbnails are included in the generated prompt. Thumbnails are base64-encoded JPEG images.
</ResponseField>

<ResponseField name="inlineAriaTree" type="boolean" required>
  Whether the ARIA accessibility tree is included in the generated prompt.
</ResponseField>

<ResponseField name="includeRawDiff" type="boolean" required>
  Whether the raw DOM diff between consecutive frames is included in the generated prompt.
</ResponseField>

<ResponseField name="maxRecordingLength" type="number" required>
  Maximum recording duration enforced by the recording interface, in minutes. One of: `5`, `10`, `15`, `30`.
</ResponseField>
