# List superseded values

Returns the record's superseded entries of the last 30 days, oldest first, each with its sealed payload. It works for a deleted record too.

#### Path Parameters

**`store`** string required

The store: `aitronos-browser`. Up to 64 characters; an unknown store is `404 SEALED_STORE_NOT_FOUND`.

**`record_id`** string required

The record's id, as the client minted it: 16 to 128 characters of `A-Z a-z 0-9 _ -`.

#### Query Parameters

**`cursor`** string optional

The `next_cursor` of an earlier page, up to 512 characters.

**`limit`** integer optional

The most entries in this page, 1 to 500. Defaults to 100.

#### Headers

**`Authorization`** string required

`Bearer <access token>` from the person's own sign-in. API keys and service accounts are refused with `403 SEALED_STORE_PERSONAL_SESSION_REQUIRED`.

## Returns

`200 OK`:

- **`object`** string — `list`.
- **`data`** array — the entries, oldest first:
  - **`object`** string — `sealed_superseded_entry`.
  - **`id`** string — the entry's id.
  - **`record_id`** string — the record it belongs to.
  - **`idempotency_key`** string — as appended.
  - **`schema_version`** integer — as appended.
  - **`device_id`** string — the device that appended it.
  - **`created_at`** string — when it was kept (ISO 8601 UTC).
  - **`payload_bytes`** integer — the decoded size of its payload.
  - **`wrapped_dek`** object or null — the entry's own wrapped data key (`v` always `1`), or `null` when it is sealed under its record's data key.
  - **`payload`** string — the sealed value, standard padded base64.
- **`has_more`** boolean — whether more entries follow this page.
- **`next_cursor`** string or null — send it as `cursor` for the next page; `null` when there is none. Opaque.


## Errors

| Status | Code | When |
|  --- | --- | --- |
| 401 | `AUTHENTICATION_REQUIRED` | No access token, or one that is not valid. |
| 403 | `SEALED_STORE_PERSONAL_SESSION_REQUIRED` | The call used an API key or a service account. Only a person's own sign-in session reaches a sealed store. |
| 404 | `SEALED_STORE_NOT_FOUND` | No store with that name (`details.store`). |
| 404 | `SEALED_RECORD_NOT_FOUND` | No record with that id in the caller's store, or its tombstone has passed the 30-day retention. |
| 422 | `SEALED_CURSOR_INVALID` | The cursor was not issued by this store. |
| 422 | `VALIDATION_ERROR` | `limit` is outside 1 to 500, `cursor` is too long, or `record_id` does not match its pattern. |



```bash cURL
curl "https://api.aitronos.com/v1/sealed-stores/aitronos-browser/records/vSWmWbg9sDur336pnYgYzQ/superseded?limit=100" \
  -H "Authorization: Bearer $ACCESS_TOKEN"
```


```python Python
import os

import requests

URL = "https://api.aitronos.com/v1/sealed-stores/aitronos-browser/records/vSWmWbg9sDur336pnYgYzQ/superseded"
headers = {"Authorization": f"Bearer {os.environ['AITRONOS_TOKEN']}"}
params = {"limit": 100}

while True:
    page = requests.get(URL, headers=headers, params=params, timeout=30).json()
    for entry in page["data"]:
        # wrapped_dek None: the entry opens with the record's own data key.
        key = entry["wrapped_dek"] or "record key"
        print(entry["id"], entry["created_at"], entry["payload_bytes"], key)
    if not page["has_more"]:
        break
    params["cursor"] = page["next_cursor"]
```


```javascript JavaScript
const URL = "https://api.aitronos.com/v1/sealed-stores/aitronos-browser/records/vSWmWbg9sDur336pnYgYzQ/superseded";
const headers = { Authorization: `Bearer ${process.env.AITRONOS_TOKEN}` };
const params = new URLSearchParams({ limit: "100" });

while (true) {
  const page = await (await fetch(`${URL}?${params}`, { headers })).json();
  for (const entry of page.data) {
    // wrapped_dek null: the entry opens with the record's own data key.
    console.log(entry.id, entry.created_at, entry.payload_bytes, entry.wrapped_dek ?? "record key");
  }
  if (!page.has_more) break;
  params.set("cursor", page.next_cursor);
}
```

**Response:**

200 OK

```json
{
  "object": "list",
  "data": [
    {
      "object": "sealed_superseded_entry",
      "id": "sealsup_3f3a0c50a8b1db8814d48a98ada6a0d1",
      "record_id": "vSWmWbg9sDur336pnYgYzQ",
      "idempotency_key": "_L-GAnevXC-zPLB0ZuEDXbvnEAUx-Xu3qqUsPYEptYo",
      "schema_version": 1,
      "device_id": "1aee2c02-ccac-4ede-b017-1334be895e2e",
      "created_at": "2026-10-10T09:02:45.120774Z",
      "payload_bytes": 40,
      "wrapped_dek": null,
      "payload": "kwzYjhH7rTGITjOzIhiW8zdwJbbx/yp8+Sb5pCJ3FLqWaw66/CGT5Q=="
    },
    {
      "object": "sealed_superseded_entry",
      "id": "sealsup_b59a99361bb04956ebe39b432bb49ddd",
      "record_id": "vSWmWbg9sDur336pnYgYzQ",
      "idempotency_key": "5GN4qMgzG3CjkCC0NFz13xuJwcKFc-gLrsw5Fp-08z0",
      "schema_version": 1,
      "device_id": "1f783def-2aa1-4b44-9c73-3c6b9102c06b",
      "created_at": "2026-10-10T09:05:10.448201Z",
      "payload_bytes": 44,
      "wrapped_dek": {
        "v": 1,
        "aead": "aes-256-gcm",
        "nonce": "J34q5R6mCWdmMA5u",
        "ct": "luakGbRwoVDJI/8CRNPsfHagOXytA46KXnNwulQM/d2K4aRHNXcBKRd7yAYsoH2k",
        "epk": "dMSvuBYYnYefK+wU4HSuaXYNDicdViPIODKWionKLmw="
      },
      "payload": "2iyg39Q4Bvjqx89nM3ffvj+IfzN6w9j6VRAWtFJyX+43zXKTw6GKDDYjMkw="
    }
  ],
  "has_more": false,
  "next_cursor": null
}
```

422 Unknown cursor

```json
{
  "success": false,
  "error": {
    "code": "SEALED_CURSOR_INVALID",
    "message": "Sync position not recognised. Syncing everything.",
    "system_message": "the cursor was not issued by this store",
    "type": "validation_error",
    "status": 422,
    "details": {},
    "trace_id": "acfcfc70-1ff6-4215-afe5-b4f9effa7c27",
    "timestamp": "2026-10-10T09:08:44.661935Z"
  }
}
```

## Related Resources

- [Sealed stores](/docs/api-reference/sealed-stores/introduction)
- [Append a superseded value](/docs/api-reference/sealed-stores/append-superseded)
- [Get a sealed record](/docs/api-reference/sealed-stores/get-record)
- [Update a sealed record](/docs/api-reference/sealed-stores/update-record)