Collab actions
10 actions. Each action calls the same API route with the same scopes on every surface.
canvas_elements_event
Section titled “canvas_elements_event”Update complete Canvas elements or its font choice. Higher element versions win; equal versions use the lower versionNonce. Keep removed elements as tombstones.. Body fields: elements, font..
| Route | POST /api/v1/collab/notes/{id}/events |
| Tool name | calternal_api_canvas_elements_event |
| Surfaces | cli, mcp, webmcp |
| Scopes | data |
| Effect | destructive, needs --confirm |
| Encoding | request json, response json |
path
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes |
body
| Field | Type | Required | Description |
|---|---|---|---|
elements |
array of any |
yes | |
font |
string | null |
no | Shared text style; omitted during ordinary drawing edits (§60). |
calternal action run canvas_elements_event --input '{"path":{"id":"<id>"}}' --confirm --jsoncollab_history_points
Section titled “collab_history_points”List live document history Continuation: Request a smaller limit..
| Route | GET /api/v1/collab/history/{item_id} |
| Tool name | calternal_api_history_points |
| Surfaces | cli, mcp, webmcp |
| Scopes | data |
| Effect | read only |
| Encoding | request none, response json |
path
| Field | Type | Required | Description |
|---|---|---|---|
item_id |
string |
yes |
query
| Field | Type | Required | Description |
|---|---|---|---|
after |
integer, int64 (0–) |
no | |
before |
integer, int64 (0–) |
no | |
limit |
integer, int32 (0–) |
no |
calternal action run collab_history_points --input '{"path":{"item_id":"<item_id>"}}' --jsoncollab_history_preview
Section titled “collab_history_preview”Preview a saved document state.
| Route | GET /api/v1/collab/history/{item_id}/points/{point}/preview |
| Tool name | calternal_api_history_preview |
| Surfaces | cli, mcp, webmcp |
| Scopes | data |
| Effect | read only |
| Encoding | request none, response base64 |
path
| Field | Type | Required | Description |
|---|---|---|---|
item_id |
string |
yes | |
point |
string |
yes |
calternal action run collab_history_preview --input '{"path":{"item_id":"<item_id>","point":"<point>"}}' --jsoncollab_history_restore
Section titled “collab_history_restore”Restore a live document version.
| Route | POST /api/v1/collab/history/{item_id}/points/{point}/restore |
| Tool name | calternal_api_history_restore |
| Surfaces | cli, mcp, webmcp |
| Scopes | data |
| Effect | destructive, needs --confirm |
| Encoding | request none, response json |
path
| Field | Type | Required | Description |
|---|---|---|---|
item_id |
string |
yes | |
point |
string |
yes |
calternal action run collab_history_restore --input '{"path":{"item_id":"<item_id>","point":"<point>"}}' --confirm --jsoncollab_history_undo
Section titled “collab_history_undo”Undo one author’s changes. Body fields: author, from, to..
| Route | POST /api/v1/collab/history/{item_id}/undo |
| Tool name | calternal_api_history_undo |
| Surfaces | cli, mcp, webmcp |
| Scopes | data |
| Effect | destructive, needs --confirm |
| Encoding | request json, response json |
path
| Field | Type | Required | Description |
|---|---|---|---|
item_id |
string |
yes |
body
| Field | Type | Required | Description |
|---|---|---|---|
author |
object or object or object |
yes | Author whose update range the owner wants to reverse. |
from |
integer, int64 (0–) |
yes | First point in the inclusive target range. |
to |
integer, int64 (0–) |
yes | Last point in the inclusive target range. |
calternal action run collab_history_undo --input '{"path":{"item_id":"<item_id>"}}' --confirm --jsoncollab_history_undo_preflight
Section titled “collab_history_undo_preflight”Review an author’s changes before undo. Body fields: author, from, to..
| Route | POST /api/v1/collab/history/{item_id}/undo/preflight |
| Tool name | calternal_api_history_undo_preflight |
| Surfaces | cli, mcp, webmcp |
| Scopes | data |
| Effect | read only |
| Encoding | request json, response json |
path
| Field | Type | Required | Description |
|---|---|---|---|
item_id |
string |
yes |
body
| Field | Type | Required | Description |
|---|---|---|---|
author |
object or object or object |
yes | Author whose update range the owner wants to reverse. |
from |
integer, int64 (0–) |
yes | First point in the inclusive target range. |
to |
integer, int64 (0–) |
yes | Last point in the inclusive target range. |
calternal action run collab_history_undo_preflight --input '{"path":{"item_id":"<item_id>"}}' --jsoncollab_note_session
Section titled “collab_note_session”Open a Note collaboration session.
| Route | GET /api/v1/collab/notes/{id} |
| Tool name | calternal_api_collab_note_session |
| Surfaces | none (browser flow only) |
| Scopes | data |
| Effect | destructive, needs --confirm |
| Encoding | request none, response json |
path
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes |
collab_public_edit_session
Section titled “collab_public_edit_session”Open a public Note collaboration session.
| Route | GET /api/v1/collab/public/{slug} |
| Tool name | calternal_api_collab_public_edit_session |
| Surfaces | none (browser flow only) |
| Scopes | none |
| Effect | destructive, needs --confirm |
| Encoding | request none, response json |
path
| Field | Type | Required | Description |
|---|---|---|---|
slug |
string |
yes |
collab_shared_note_session
Section titled “collab_shared_note_session”Open a shared Note collaboration session.
| Route | GET /api/v1/collab/shared/{owner}/notes/{id} |
| Tool name | calternal_api_collab_shared_note_session |
| Surfaces | none (browser flow only) |
| Scopes | data |
| Effect | destructive, needs --confirm |
| Encoding | request none, response json |
path
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | |
owner |
string |
yes |
shared_canvas_export
Section titled “shared_canvas_export”Export a Canvas shared with you as PNG or SVG. Use the owner and Canvas Note identities from its collaboration link. Use offset and limit for byte chunks; check that ETags match before joining chunks..
| Route | GET /api/v1/collab/shared/{owner}/notes/{id}/export |
| Tool name | calternal_api_shared_canvas_export |
| Surfaces | cli, mcp, webmcp |
| Scopes | data |
| Effect | read only |
| Encoding | request none, response base64 |
path
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | |
owner |
string |
yes |
query
| Field | Type | Required | Description |
|---|---|---|---|
format |
"png" | "svg" |
yes | The format is fixed; callers cannot select a program, path or browser flag. |
limit |
integer (1–524288) |
no | |
offset |
integer (0–) |
no |
calternal action run shared_canvas_export --input '{"path":{"owner":"<owner>","id":"<id>"},"query":{"format":"<format>"}}' --json