---
title: "List browser profiles"
method: GET
path: "/contexts"
tags: ["Browser"]
---

# List browser profiles

`GET /contexts`

## Request

- Base URL: `https://request.usestring.ai/v1`
- URL: `https://request.usestring.ai/v1/contexts`
- Auth: HTTP bearer

List your organization's browser profiles, newest first, without deleted profiles. Use it to find a `contextId`.

## Query parameters

- `limit` integer
- `offset` integer

## Response `200`

Profiles returned.

- ContextList
  - `contexts` Context[], required: Newest first, without deleted profiles.
    - `id` string, uuid, required: Opaque UUID used to reconnect (`/wss?contextId=`), inspect, or delete.
    - `name` string, nullable, required: Optional label.
    - `status` 'EMPTY' | 'IN_USE' | 'UPLOADING' | 'READY' | 'FAILED' | 'DELETING', required: `EMPTY`: no saved data. `IN_USE`: a saving session is using the profile. `UPLOADING`: a save is finishing. `READY`: saved data is available. `FAILED`: a save failed; earlier saved data remains. `DELETING`: returned only by DELETE.
    - `sizeBytes` integer, nullable, required: Compressed size of the saved profile. Null before the first successful save.
    - `failureReason` string, nullable, required: Most recent save failure, cleared by a successful save.
    - `latestSaveOperation` ContextSaveOperation, required: The most recent save.
      - `id` string
      - `status` 'PENDING' | 'COMMITTED' | 'FAILED' | 'EXPIRED' | 'SUPERSEDED': `PENDING`: not finished. `COMMITTED`: succeeded. `FAILED`: failed; read `failureReason`. `EXPIRED`: the session ended before anything was saved. `SUPERSEDED`: another session saved first; not a success.
      - `failureReason` string, nullable
      - `completedAt` string, nullable
    - `lastSavedAt` string, date-time, nullable, required: Time of the last successful save.
    - `lastUsedAt` string, date-time, nullable, required: Last connection, saving or read-only. Reading status does not update it.
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required

## Other responses

- `401`: Missing or invalid Authorization header.
- `429`: Rate limit exceeded. The default limit is 60 requests per second per organization, averaged over a rolling window. Back off and retry with exponential backoff and jitter.
- `500`: Internal server error.

---

[API](https://skmtc.dev/usestring/apis/string-web-access-api.md) · [All operations](https://skmtc.dev/usestring/apis/string-web-access-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usestring/apis/string-web-access-api/revisions/fd336960036e?raw)
