Semaphor

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).

RolePermissions
VIEWERView the dashboard
EDITORView and edit the dashboard
CONTRIBUTORView, 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.

POST
/api/management/v1/dashboards/{dashboardId}/share

Authorization

BearerAuth
AuthorizationBearer <token>

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

dashboardId*string

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
}