Skip to main content
PUT
Update a canvas's sharing settings

Authorizations

authorization
string
header
required

Path Parameters

projectId
string<uuid>
required

The project in the URL. The caller's project user is read from it.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
workspaceId
string<uuid>
required

PUT /v2/api/projects/:projectId/workspaces/:workspaceId/canvases/:canvasId/share Parameter

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
canvasId
string<uuid>
required

PUT /v2/api/projects/:projectId/workspaces/:workspaceId/canvases/:canvasId/share Parameter

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$

Body

application/json

PUT /v2/api/projects/:projectId/workspaces/:workspaceId/canvases/:canvasId/share Request body

visibility
enum<string>
required

Who beyond the people in people can open the canvas: private or users (nobody else), organization (everyone in the owner's project organization, with organizationRole), or workspace (everyone in the workspace, view-only). public is read as private: a link to the canvas is each owner's own, at …/canvases/:canvasId/link.

Available options:
private,
organization,
users,
public,
workspace
apiKey
string

Upsolve API key, generated under Account → Developer settings in the Upsolve Hub. Keys are user-scoped: pass organizationId alongside the key to select which org to act on.

Minimum string length: 1
organizationId
string

The ID of the organization. Required when using Supabase JWT authentication.

connectionId
string

The ID of the connection a guest has access to

organizationRole
enum<string> | null

The role everyone in the owner's project organization gets. With organization visibility it defaults to editor; with workspace visibility it can raise them above viewer, and null or absent leaves them viewers. Refused with any other visibility.

Available options:
viewer,
editor,
owner
people
object[]

Everyone the canvas is shared with by name, each with a role; replaces the whole list. They must be in the owner's project organization, and the canvas's creator, always its owner, is not one of them. Sent with sharedWithUserIds, the two must name the same people.

sharedWithUserIds
string<uuid>[]

Deprecated: the people the canvas is shared with, all as editors. Use people.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$

Response

PUT /v2/api/projects/:projectId/workspaces/:workspaceId/canvases/:canvasId/share Positive response

status
string
required
Allowed value: "success"
data
object
required