Read a canvas's metadata and cached Markdown body. Use this for a cheap look at a canvas when exact up-to-the-second content is not required. `content` is the Postgres cache refreshed by the in-app editor and by v1UpdateCanvasContent, so it may lag concurrent live edits; `content_version` counts cache refreshes and is not a concurrency token. Before editing, always call v1GetCanvasContent to obtain the live body and its `etag`. `role` is the caller's effective access (EDITOR or VIEWER). Inaccessible or unknown canvases return 404.
getCanvasRead a canvas's metadata and cached Markdown body. Use this for a cheap look at a canvas when exact up-to-the-second content is not required.
content is the Postgres cache refreshed by the in-app editor and by v1UpdateCanvasContent, so it may lag concurrent live edits; content_version counts cache refreshes and is not a concurrency token. Before editing, always call v1GetCanvasContent to obtain the live body and its etag. role is the caller's effective access (EDITOR or VIEWER). Inaccessible or unknown canvases return 404.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Canvas ID |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Unique identifier of the canvas | |
| role | No | Caller's effective role on the canvas: EDITOR or VIEWER | |
| title | No | ||
| content | No | Cached Markdown body. May trail live edits; see /content for the live body. | |
| created_at | No | ||
| updated_at | No | ||
| template_id | No | Template the canvas was created from or last had applied, if any | |
| workspace_id | No | ||
| content_version | No | Number of times the cached body has been refreshed. Not a concurrency token. | |
| owned_by_user_id | No | ID of the user who owns the canvas | |
| created_by_user_id | No | ID of the user who created the canvas | |
| workspace_canvas_role | No | Access granted to every workspace member who is not an explicit collaborator: VIEWER or NOACCESS | |
| content_last_edited_by | No | ID of the user whose edit last refreshed the cache, if known |