# List a session's changes

`GET /v1/history/sessions/{sessionId}`

Lists every operation a session applied, oldest first.

Scope: `docs:read`.

## Request

```bash
curl "https://api.lydie.co/v1/history/sessions/01JCQ3V5MZ8G4ZK2X7T9R6N1PB" \
  -H "Authorization: Bearer $LYDIE_TOKEN"
```

## Path parameters

- `sessionId` (string, required): (≥ 1 chars)

## Query parameters

- `limit` (integer, optional): Default: `200`. (1–1000)

## Response

- `entries` (HistoryEntry[], required)
  - `id` (ULID, required)
  - `operation` (string, required)
  - `input` (any, required)
  - `inverse` (InverseStep[], required, nullable): Operations that undo it, in the order to run them; null if it cannot be undone.
    - `op` (string, required)
    - `input` (any, required)
    - `rewrite` (SchemaRewrite, optional)
      - `databaseId` (ULID, required)
      - `propertyId` (ULID, required)
      - `reason` (string, required): One of: `option`, `key`, `type`, `relation`, `uniqueId`.
  - `actor` (Actor, required)
  - `sessionId` (string, required, nullable)
  - `groupId` (ULID, required): Operations applied together (one transaction) share a group.
  - `workspaceId` (string, required, nullable): (1–64 chars)
  - `createdAt` (timestamp, required)
  - `undoneAt` (timestamp, required, nullable)

```json
{
  "entries": [
    {
      "id": "01JCQ3V5MZ8G4ZK2X7T9R6N1PB",
      "operation": "string",
      "input": "string",
      "inverse": null,
      "actor": {
        "type": "user",
        "id": null
      },
      "sessionId": null,
      "groupId": "01JCQ3V5MZ8G4ZK2X7T9R6N1PB",
      "workspaceId": null,
      "createdAt": "2026-11-12T09:30:00.000Z",
      "undoneAt": null
    }
  ]
}
```

Errors use the envelope described at https://developers.lydie.co/errors.md.
