Skip to content

Collab actions

10 actions. Each action calls the same API route with the same scopes on every surface.

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).
Terminal window
calternal action run canvas_elements_event --input '{"path":{"id":"<id>"}}' --confirm --json

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
Terminal window
calternal action run collab_history_points --input '{"path":{"item_id":"<item_id>"}}' --json

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
Terminal window
calternal action run collab_history_preview --input '{"path":{"item_id":"<item_id>","point":"<point>"}}' --json

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
Terminal window
calternal action run collab_history_restore --input '{"path":{"item_id":"<item_id>","point":"<point>"}}' --confirm --json

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.
Terminal window
calternal action run collab_history_undo --input '{"path":{"item_id":"<item_id>"}}' --confirm --json

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.
Terminal window
calternal action run collab_history_undo_preflight --input '{"path":{"item_id":"<item_id>"}}' --json

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

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

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

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
Terminal window
calternal action run shared_canvas_export --input '{"path":{"owner":"<owner>","id":"<id>"},"query":{"format":"<format>"}}' --json