Read the Markdown body of a canvas together with its ETag. Use this immediately before rewriting a canvas so the update can be guarded against concurrent edits. Returns the stored body as Markdown plus a strong `etag` (also in the `ETag` header) derived from that body. Pass the `etag` unchanged as `If-Match` on v1UpdateCanvasContent; the same body always yields the same ETag. A 502 means a backend dependency was unavailable — retry later. Viewers can read; only editors can replace.
getCanvasContentRead the Markdown body of a canvas together with its ETag. Use this immediately before rewriting a canvas so the update can be guarded against concurrent edits.
Returns the stored body as Markdown plus a strong etag (also in the ETag header) derived from that body. Pass the etag unchanged as If-Match on v1UpdateCanvasContent; the same body always yields the same ETag. A 502 means a backend dependency was unavailable — retry later. Viewers can read; only editors can replace.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"id": "<id>"
},
"name": "getCanvasContent"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Canvas ID |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Unique identifier of the canvas | |
| etag | No | Strong ETag of the body. Echo it in If-Match on PUT /content; also sent as the ETag response header. | |
| content | No | Canvas body as Markdown |