**Version: 202601**

# Render template canvas snapshot

**POST** `/openapi/2026-01/themes/page-builder/summary`

Pass a template id or full canvas data, and get back a text snapshot of the canvas; each node carries a `#path` number that can be used to target it in edit operations.

## Request

**application/json**

**Body | Example**

**Body (required)**

- `schema` object

  Full canvas data (page-builder ProjectData); either `schema` or `id` (prefer `id`)
- `detail_level` string

  Detail level: `minimal`, `tiered`, `verbose`. Defaults to `minimal`
- `detailed_node_ids` string[]

  Node paths to expand details for, e.g. `0.1.2`
- `id` string

  Template id to summarize; the server loads its canvas data. Either `id` or `schema` — prefer `id` so the full canvas data stays out of the request
- `type` string

  Template type when fetching by id: `custom` (default, custom card templates), `global` (public templates). Only honored with id; any other value is rejected. Same values as `origin` when saving a page-builder block

```json
{
  "schema": {},
  "detail_level": "string",
  "detailed_node_ids": [
    "string"
  ],
  "id": "string",
  "type": "string"
}
```

## Responses

**200**

OK

**application/json**

**Schema | Example**

**Schema**

- `code` string

  error code
- `message` string

  error message
- `data` object

  - `text` string

    Canvas text snapshot
  - `timings` object

    Timing metrics

```json
{
  "code": "string",
  "message": "string",
  "data": {
    "text": "string",
    "timings": {}
  }
}
```
