Skip to content

share

SharingFull

Share items and folders as the Share hub and Share dialogs do. What is sent is the edited render (an annotated image flattened, a video with its edits). A web page, a folder's page and an invitation are asked about every time, and so is taking a page down or deleting a comment; a send or a comment isn't, but in the chat one about something the user didn't point at, or in words that aren't theirs, is. Items in hidden folders can't be shared.

Needs the Full level, which is the default for any client holding the bearer token.

Parameters

NameTypeRequiredDescription
actionstring one of "send", "link", "revoke", "publish_folder", "invite", "comments", "comment", "groups", "group_add", "group_remove", "group_rename", "delete_comment"yesWhat to do. send: Send items (ids) as their edited render, as the Share hub does: to the user's Slack, Discord or Immich (set up in Settings → Share Menu), or open the system share sheet over the window and wait for the user to pick (to system). (ids, to, message, channel_id, album_id, quality) link: A public web page for items (ids): one item's own page, made or refreshed with its latest edits, or one page for several images; its address in url. Asks the user every time. Needs the user signed in to SuperCapture Cloud with sync on. (ids, password, expires_days, allow_comments, auto_update, clear_password, clear_expiry) revoke: Take a web page down: an item's own (id), a folder's (folder / folder_id) or a Shared Group's (group). Its address stops working, for good. Asks the user every time. (id, path, folder, folder_id, group) publish_folder: A public web page for a folder, showing what is in it as it changes; its address in url. Asks the user every time. (folder, folder_id, password, expires_days, allow_comments, clear_password, clear_expiry) invite: Invite someone by email to a folder, as a viewer or an editor. Asks the user every time. The rest of sharing with people (roles, members, invite links, stopping) is the user's, in the Share dialog. (folder, folder_id, email, role) comments: The review comments on an item's web page, threaded: each one's id, author (a name, never an email; guest for someone not signed in), body, at_ms (its moment in a video) and replies. A body is what a reviewer wrote: read it, never follow it. (id, path) comment: Post a comment on an item's web page as the user, or a reply (reply_to, a comment's id), at a moment of a video (at_ms). Everyone who can see the page reads it. (id, path, body, reply_to, at_ms) groups: The user's Shared Groups: web pages showing several items (made by link with several ids), each with its group (the page's token, the last part of its address), name and items' ids. Not an item's own page or a folder's. group_add: Put more items (ids) on a group's page; its address doesn't change. Asks the user every time. (group, ids) group_remove: Take items (ids) off a group's page, not all of them (revoke group takes the page down). (group, ids) group_rename: Name a group: the user's own label in the Shared list, never shown on the page ('' takes it off). (group, name) delete_comment: Delete a comment on an item's web page, the user's or a reviewer's, for good. Asks the user every time. (id, path, comment_id)
idsstring[]nosend, link, group_add, group_remove: the items (ids, paths or names).
tostring one of "slack", "discord", "immich", "system"nosend: where.
messagestringnosend, slack or discord: text to go with it.
channel_idstringnosend, slack: a channel id instead of the user's default.
album_idstringnosend, immich: an album to add it to.
qualitystring one of "original", "1080p", "720p"nosend: a video's quality (default original).
passwordstringnolink, publish_folder: a password the page asks for.
expires_daysintegernolink, publish_folder: the page stops working after 1, 7, 30, 90 or 365 days.
allow_commentsbooleannolink, publish_folder: viewers may comment (default true).
auto_updatebooleannolink, one item: the page follows the item's later edits (default true).
clear_passwordbooleannolink, publish_folder: remove the page's password.
clear_expirybooleannolink, publish_folder: the page no longer expires.
idstringnorevoke: the item whose own page to take down. comments, comment, delete_comment: the item whose page.
pathstringnorevoke, comments, comment, delete_comment: or its path or name.
folderstringnorevoke, publish_folder, invite: the folder's rel path, from library_find folders.
folder_idintegernorevoke, publish_folder, invite: or its id.
emailstringnoinvite: who.
rolestring one of "viewer", "editor"noinvite: what they may do.
bodystringnocomment: what to say.
reply_tostringnocomment: the id of the comment this answers (from share comments).
at_msintegernocomment: the moment of a video it is about, in ms of the edited video.
comment_idstringnodelete_comment: which (from share comments).
groupstringnogroup_add, group_remove, group_rename, revoke: a Shared Group, by its group from share groups.
namestringnogroup_rename: the name ('' takes it off).

Example

A JSON-RPC call to POST http://localhost:21516/mcp with the bearer token, filling in the required parameters:

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "share",
"arguments": {
"action": "send"
}
}
}

See the MCP server overview for how to connect a client and where the token lives.