---
title: "Accessibility snapshot of a running profile's page, with [id=N] per element."
method: GET
path: "/v1/profiles/{id}/snapshot"
---

# Accessibility snapshot of a running profile's page, with \[id=N\] per element.

`GET /v1/profiles/{id}/snapshot`

## Request

- Base URL: `http://127.0.0.1:10108`
- URL: `http://127.0.0.1:10108/v1/profiles/{id}/snapshot`
- Auth: HTTP bearer

Reads the running profile's page as an accessibility tree, one element per line with an [id=N] that click, type and set-file take. Nothing on the page changes. Stops at 150 elements or 64 KiB.

## Path parameters

- `id` string, required

## Response `200`

The accessibility tree as text, one element per line with [id=N]; `truncated` past 150 elements or 64 KiB.

- object
  - `dialogs` object[]
    - `accepted` boolean, required
    - `kind` 'alert' | 'confirm' | 'prompt' | 'beforeunload', required
    - `message` string, required
  - `text` string, required
  - `truncated` boolean, required

## Other responses

- `400`: The id is not a uuid.
- `401`: No bearer token, or not a token this app issued. The body is empty: it never says which.
- `403`: Refused by the plan: it no longer includes the local API (checked on every request), or it does not allow this action (profile or schedule limit, parallel runs). A request whose Host header is not loopback is also 403, with an empty body.
- `409`: The profile is not running, its tab is gone, or the page did not answer in time.
- `500`: Veilus failed: storage could not be read or written, or a task panicked. The message says what failed; retrying rarely helps.

---

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