16 actions: 16 on the command line, 16 as MCP tools, 16 as HTTP endpoints and 16 in the page.
comment.add
Comment. Starts a thread at an anchor (the deck, a slide, a block, a text range, a table cell or the notes) with a plain text body whose {@n} tokens name its mentions, optionally assigned; server side.
| Field | Type | Required | Description |
|---|---|---|---|
anchor | object | object | object | object | object | object | yes | deck, slide:<id>, <slide>#<block>, <slide>#<block>/<path>:<start>-<end>, <slide>#<block>/cell:<r>,<c> or notes:<slide> on the CLI; the anchor object elsewhere |
body | object | yes | |
assignee | object | object | no | |
baseRevision | integer | no | The comments revision the caller read; a stale value never refuses (SPEC-3 5.2) |
- Command line:
turboslide comment add <anchor> -m <text> --mention <who> --assign <who> - MCP tool:
deck_add_comment - HTTP:
POST /api/actions/comment.add - Runs on: command line, MCP, HTTP, page.
- Changes the presentation: yes; send the
baseRevisionyou read.
comment.reply
Reply. Appends a reply to a thread; server side.
| Field | Type | Required | Description |
|---|---|---|---|
threadId | string | yes | |
body | object | yes | |
baseRevision | integer | no | The comments revision after the write, the number comment.list { since } takes |
- Command line:
turboslide comment reply <threadId> -m <text> --mention <who> - MCP tool:
deck_reply_comment - HTTP:
POST /api/actions/comment.reply - Runs on: command line, MCP, HTTP, page.
- Changes the presentation: yes; send the
baseRevisionyou read.
comment.edit
Edit comment. Rewrites a comment’s body, its author only; 409 with the current thread when the thread moved since expectedUpdatedAt.
| Field | Type | Required | Description |
|---|---|---|---|
threadId | string | yes | |
commentId | string | yes | |
body | object | yes | |
expectedUpdatedAt | string | yes | The thread’s updatedAt the caller read |
baseRevision | integer | no | The comments revision after the write, the number comment.list { since } takes |
- Command line:
turboslide comment edit <threadId> <commentId> -m <text> - MCP tool:
deck_edit_comment - HTTP:
POST /api/actions/comment.edit - Runs on: command line, MCP, HTTP, page.
- Changes the presentation: yes; send the
baseRevisionyou read.
comment.delete
Delete comment. Tombstones a comment, keeping its replies; the first comment’s tombstone keeps the thread; restore brings it back within 30 days.
| Field | Type | Required | Description |
|---|---|---|---|
threadId | string | yes | |
commentId | string | yes | |
restore | boolean | no | Undo a deletion within 30 days |
baseRevision | integer | no | The comments revision after the write, the number comment.list { since } takes |
- Command line:
turboslide comment delete <threadId> <commentId> --restore - MCP tool:
deck_delete_comment - HTTP:
POST /api/actions/comment.delete - Runs on: command line, MCP, HTTP, page.
- Changes the presentation: yes; send the
baseRevisionyou read.
comment.resolve
Resolve. Marks a thread resolved; last writer wins.
| Field | Type | Required | Description |
|---|---|---|---|
threadId | string | yes | |
baseRevision | integer | no | The comments revision after the write, the number comment.list { since } takes |
- Command line:
turboslide comment resolve <threadId> - MCP tool:
deck_resolve_comment - HTTP:
POST /api/actions/comment.resolve - Runs on: command line, MCP, HTTP, page.
- Changes the presentation: yes; send the
baseRevisionyou read.
comment.reopen
Re-open. Reopens a resolved thread; last writer wins.
| Field | Type | Required | Description |
|---|---|---|---|
threadId | string | yes | |
baseRevision | integer | no | The comments revision after the write, the number comment.list { since } takes |
- Command line:
turboslide comment reopen <threadId> - MCP tool:
deck_reopen_comment - HTTP:
POST /api/actions/comment.reopen - Runs on: command line, MCP, HTTP, page.
- Changes the presentation: yes; send the
baseRevisionyou read.
comment.assign
Assign. Assigns a thread to a principal or an invitation (an agent principal is assignable), or clears the assignment with null; last writer wins.
| Field | Type | Required | Description |
|---|---|---|---|
threadId | string | yes | |
assignee | object | object | null | yes | |
baseRevision | integer | no | The comments revision after the write, the number comment.list { since } takes |
- Command line:
turboslide comment assign <threadId> <who> --clear - MCP tool:
deck_assign_comment - HTTP:
POST /api/actions/comment.assign - Runs on: command line, MCP, HTTP, page.
- Changes the presentation: yes; send the
baseRevisionyou read.
comment.done
Mark as done. The assignee marks the thread done; last writer wins.
| Field | Type | Required | Description |
|---|---|---|---|
threadId | string | yes | |
baseRevision | integer | no | The comments revision after the write, the number comment.list { since } takes |
- Command line:
turboslide comment done <threadId> - MCP tool:
deck_done_comment - HTTP:
POST /api/actions/comment.done - Runs on: command line, MCP, HTTP, page.
- Changes the presentation: yes; send the
baseRevisionyou read.
comment.react
React. Toggles the caller’s reaction on a comment from the 24 emoji palette; reactions are a set per emoji keyed by principal.
| Field | Type | Required | Description |
|---|---|---|---|
threadId | string | yes | |
commentId | string | yes | |
emoji | one of 24 values | yes | |
on | boolean | yes | |
baseRevision | integer | no | The comments revision after the write, the number comment.list { since } takes |
- Command line:
turboslide comment react <threadId> <commentId> <emoji> --off - MCP tool:
deck_react_comment - HTTP:
POST /api/actions/comment.react - Runs on: command line, MCP, HTTP, page.
- Changes the presentation: yes; send the
baseRevisionyou read.
comment.list
Comments. The threads of the deck or a slide with their anchors resolved against the current document, filtered by block, state, assignment to the caller, author, search text or revision; 403 without readComments.
| Field | Type | Required | Description |
|---|---|---|---|
slideId | string | no | |
blockId | string | no | |
state | "open" | "resolved" | "all" | no | open unless set |
forMe | boolean | no | Threads that mention or are assigned to the caller |
author | string | no | |
search | string | no | |
includeDeleted | boolean | no | Keep the tombstones in the answer |
since | integer | no | Threads touched after this comments revision |
limit | integer | no |
- Command line:
turboslide comments <slideId> --block <blockId> --state <state> --for-me --author <author> --search <search> --since <since> - MCP tool:
deck_list_comments - HTTP:
POST /api/actions/comment.list - Runs on: command line, MCP, HTTP, page.
- Changes the presentation: no.
comment.get
Comment thread. One thread with its anchor resolved against the current document.
| Field | Type | Required | Description |
|---|---|---|---|
threadId | string | yes |
- Command line:
turboslide comment get <threadId> - MCP tool:
deck_get_comment - HTTP:
POST /api/actions/comment.get - Runs on: command line, MCP, HTTP, page.
- Changes the presentation: no.
comment.link
Link to comment. The editor and the view URLs that open the deck on the thread’s slide with its card expanded; runs in the page on the window transport.
| Field | Type | Required | Description |
|---|---|---|---|
threadId | string | yes |
- Command line:
turboslide comment link <threadId> - MCP tool:
deck_comment_link - HTTP:
POST /api/actions/comment.link - Runs on: command line, MCP, HTTP, page.
- Changes the presentation: no.
notification.list
Notifications. The caller’s inbox, newest first: mentions, replies, assignments, resolutions, reactions, access requests and grants, coalesced per thread inside a 15 minute window.
| Field | Type | Required | Description |
|---|---|---|---|
unread | boolean | no | Unread records only |
since | string | no | An ISO time; records updated after it |
limit | integer | no |
- Command line:
turboslide notifications --unread --since <since> - MCP tool:
deck_list_notifications - HTTP:
POST /api/actions/notification.list - Runs on: command line, MCP, HTTP, page.
- Changes the presentation: no.
notification.markRead
Mark as read. Marks the named notifications read, or every one; answers the unread count.
| Field | Type | Required | Description |
|---|---|---|---|
ids | string[] | no | |
all | true | no |
- Command line:
turboslide notifications read <ids> --all - MCP tool:
deck_mark_notifications_read - HTTP:
POST /api/actions/notification.markRead - Runs on: command line, MCP, HTTP, page.
- Changes the presentation: yes.
notification.settings
Notification settings. Reads or writes the caller’s per deck level (All comments, Comments for you, None), the email switch and, for the owner, whether commenters read the Activity panel; a read when every field is absent.
| Field | Type | Required | Description |
|---|---|---|---|
level | "all" | "forYou" | "none" | no | |
email | boolean | no | |
activityForCommenters | boolean | no |
- Command line:
turboslide notifications settings --level <level> --email --activity-for-commenters - MCP tool:
deck_notification_settings - HTTP:
POST /api/actions/notification.settings - Runs on: command line, MCP, HTTP, page.
- Changes the presentation: yes.
activity.list
Activity. The merged activity feed of the deck: version windows, comment events, share events, requests, role changes, renames, restores, named versions, exports, imports and trash; editors and the owner, commenters when allowed.
| Field | Type | Required | Description |
|---|---|---|---|
since | string | no | An ISO time |
kinds | "version" | "comment" | "share" | "request" | "role" | "rename" | "restore" | "named" | "export" | "import" | "trash"[] | no | |
limit | integer | no |
- Command line:
turboslide activity --since <since> --kind <kinds> - MCP tool:
deck_list_activity - HTTP:
POST /api/actions/activity.list - Runs on: command line, MCP, HTTP, page.
- Changes the presentation: no.