Share a dashboard
Grants access to a dashboard for one or more recipients. Each share entry specifies a scope (who) and a role (what level of access).
| Role | Permissions |
|---|---|
VIEWER | View the dashboard |
EDITOR | View and edit the dashboard |
CONTRIBUTOR | View, edit, and share the dashboard |
Role ceiling: A user's platform role (Viewer, Power User, Author, Admin)
acts as a ceiling on effective permissions. For example, a tenant user with
the Viewer role will only have view access even if shared with EDITOR.
Linked visual auto-sharing: When you share a dashboard, any saved visuals linked in the dashboard template are automatically shared with the same recipients. This ensures recipients can view all visual components.
Organization Admin bootstrap: An Admin project token can grant or
correct org_users_only access on a dashboard in the same project and
organization, even before the Admin has dashboard access. This applies
to tenant-created, organization-created, and private dashboards; the
dashboard creator is not an authorization boundary. Mint the project
token with the Admin's orgUserId using the
Token API. This exception applies only
when every submitted share uses org_users_only; mixed requests and
all other scopes still require the caller to already have sharing
permission.
Repeating the request updates the matching share role, so an existing
EDITOR grant can be promoted to CONTRIBUTOR. Dashboard ownership is
unchanged. Organization users with the Viewer platform role remain
read-only because the platform role is the effective-permission ceiling.
Authorization
BearerAuth A project-scoped or dashboard-scoped access token. Generate one via the Token API using your project ID and project secret.
In: header
Path Parameters
Dashboard identifier.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X post "https://semaphor.cloud/api/management/v1/dashboards/string/share" \ -H "Content-Type: application/json" \ -d '{ "shares": [ { "scope": "specific_tenant_user", "role": "VIEWER" } ] }'{
"message": "string",
"shares": [
{}
]
}{
"error": "string",
"code": "string",
"errorCode": "string",
"details": {},
"success": true
}{
"error": "string",
"code": "string",
"errorCode": "string",
"details": {},
"success": true
}{
"error": "string",
"code": "string",
"errorCode": "string",
"details": {},
"success": true
}{
"error": "string",
"code": "string",
"errorCode": "string",
"details": {},
"success": true
}{
"error": "string",
"code": "string",
"errorCode": "string",
"details": {},
"success": true
}{
"error": "string",
"code": "string",
"errorCode": "string",
"details": {},
"success": true
}