> ## 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.

# Claude Scope REST API Overview

> Explore the full Claude Scope REST API — base URL, authentication, request format, status codes, and a table of every available endpoint.

The Claude Scope REST API lets you integrate recording uploads, session management, and settings control directly into your own tools and workflows. Every endpoint is available under a single base URL, accepts JSON (or multipart for file uploads), and responds with standard HTTP status codes. All requests must include a valid JWT Bearer token — see [Authentication](/api/authentication) for details.

## Base URL

```
https://api.claudescope.ai/api
```

All endpoints are relative to this base URL. Include it as the prefix for every request path shown in this reference.

## Authentication

Every endpoint requires a Bearer token passed in the `Authorization` header.

```
Authorization: Bearer <your-access-token>
```

<Note>
  Obtain your access token by signing in through the Claude Scope web app. After sign-in, the token is available in your browser's `localStorage` under the key `cs-auth`. See [Authentication](/api/authentication) for step-by-step instructions.
</Note>

## Request and response format

All request and response bodies use `application/json`, except for `POST /recordings` which uses `multipart/form-data` because it carries a video file alongside text fields. Always include `Content-Type: application/json` on JSON requests; omit the header on multipart requests and let your HTTP client set the boundary automatically.

## HTTP status codes

| Status                      | Meaning                                                                   |
| --------------------------- | ------------------------------------------------------------------------- |
| `200 OK`                    | Request succeeded. Response body contains the result.                     |
| `201 Created`               | Resource was created.                                                     |
| `204 No Content`            | Request succeeded. No response body (used by DELETE).                     |
| `400 Bad Request`           | Validation failed. Check the `message` field in the response body.        |
| `401 Unauthorized`          | Token is missing, expired, or invalid. Re-authenticate and retry.         |
| `404 Not Found`             | The requested resource does not exist or does not belong to your account. |
| `500 Internal Server Error` | Unexpected server-side error.                                             |

## Rate limiting

Rate limiting details are not currently published. Apply standard back-off strategies — if you receive unexpected `429` or `503` responses, wait before retrying.

## Endpoints

| Method   | Path                   | Description                                                     |
| -------- | ---------------------- | --------------------------------------------------------------- |
| `POST`   | `/recordings`          | Upload a recording for dual-lane analysis and prompt generation |
| `POST`   | `/sessions`            | Create a session manually                                       |
| `GET`    | `/sessions`            | List all sessions belonging to your account                     |
| `GET`    | `/sessions/stats`      | Get aggregate statistics across your sessions                   |
| `GET`    | `/sessions/:id`        | Get a single session with its extracted frames                  |
| `GET`    | `/sessions/:id/status` | Poll the processing status of a session                         |
| `PATCH`  | `/sessions/:id`        | Update session fields                                           |
| `DELETE` | `/sessions/:id`        | Delete a session and its frames                                 |
| `GET`    | `/settings`            | Get your current account settings                               |
| `PATCH`  | `/settings`            | Update account settings                                         |
| `GET`    | `/auth/me`             | Get the currently authenticated user                            |

## Explore the API

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/api/authentication">
    Obtain and use JWT Bearer tokens to authenticate your requests.
  </Card>

  <Card title="Recordings" icon="circle-dot" href="/api/recordings">
    Upload a browser recording and receive a fully generated agent prompt.
  </Card>

  <Card title="Sessions" icon="list" href="/api/sessions">
    Create, list, update, delete, and poll sessions and their frames.
  </Card>

  <Card title="Settings" icon="sliders" href="/api/settings">
    Read and update per-account preferences like default agent and screenshot inclusion.
  </Card>
</CardGroup>
