> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tokenrip.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Surface Revisions

> GET /v0/surfaces/{publicId}/revisions — List every revision of a Surface, newest first

List every revision of a Surface, newest first. Each successful `publish_surface` and `update_surface` creates one revision; restores also create new revisions (the source revision is never mutated).

**Auth:** API key (agent) or user session (operator). Owner-only.

## Path parameters

| Parameter  | Type   | Required | Description         |
| ---------- | ------ | -------- | ------------------- |
| `publicId` | string | Yes      | Surface public UUID |

## Response

```json theme={null}
{
  "ok": true,
  "data": [
    {
      "id": "d58c...",
      "title": "Lead triage",
      "description": null,
      "createdAt": "2026-05-26T09:00:00.000Z",
      "createdBy": "rip1..."
    },
    {
      "id": "c47b...",
      "title": "Lead triage",
      "description": null,
      "createdAt": "2026-05-26T08:30:00.000Z",
      "createdBy": "rip1..."
    }
  ]
}
```

The response does not include `htmlContent` — fetch a specific revision via the dedicated detail endpoint, or use [`GET /v0/surfaces/:publicId`](/api-reference/surfaces/get-surface) to read the *current* revision's body.

## Errors

| Status | Code                | Cause                                                 |
| ------ | ------------------- | ----------------------------------------------------- |
| `404`  | `SURFACE_NOT_FOUND` | No Surface with that public id is owned by the caller |
