Sharing
ℹ️

BETA access for managing dashboard permissions is available now!

Sharing dashboards

With Vizzly, you are given the tools to enable dashboard sharing. Custom reporting dashboards (also known as child dashboards) (opens in a new tab) belong to a user reference which is provided in the dashboard access token created by your identity logic.

If you would like a dashboard to be shared between multiple users or groups of users, you can send an HTTP request to the Vizzly API, from your servers, to manage permissions for any dashboard.

Endpoint and authentication

Endpoint

To grant and revoke access, you will make a request to this endpoint with varying HTTP methods;

https://api.vizzly.co/api/v3/project/end-user/permissions

Authentication

To authenticate requests, you will need to use your project API key obtained from your project page on app.vizzly.co (opens in a new tab). Once you have it, set the request header auth with the value in this format;

Api-Key << Project API key >>

Your project API Key should be protected and not published or shared.

Sharing dashboards

To grant access to a dashboard for one or more users, you can send a PUT HTTP request with a body that provides the dashboard IDs to grant access on, the scope of the access and the user reference to grant the access too.

Request Method

PUT

Request Body

{
  "permissions": [
    {
      // ID of the dashboard to grant access on
      "dashboard_id" => "dsh_....",
      // Are you granting read or read write access?
      "scope" => "read_write" | "read",
      // For which user reference are you granting access?
      "user_reference" => "<< user reference to grant the permission on >>"
    }
  ]
}

Examples

const fetch = require('fetch');
 
await fetch('https://api.vizzly.co/api/v3/project/end-user/permissions', {
    method: "PUT",
    headers: {
      'Content-Type': 'application/json',
      'auth': 'Api-Key vizzly_project_api_key_a481e4a9d5:::rest-of-the-content-here'
    },
    body: JSON.stringify({
      permissions: [
        {
            dashboard_id: 'dsh_...',
            scope: "read_write" | "read",
            user_reference: "<< user reference >>"
        }
      ]
    }),
})

Revoking shared access

To revoke access to a dashboard for one or more users, you can send a DELETE HTTP request with a body that provides the dashboard IDs to revoke access on, the scope of the access to revoke and the user reference this applies too.

Request Method

DELETE

Request Body

{
  "permissions": [
    {
      // ID of the dashboard to revoke access on
      "dashboard_id" => "dsh_....",
      // Are you revoking read or read write access?
      "scope" => "read_write" | "read",
      // For which user reference are you revoking access?
      "user_reference" => "<< user reference to grant the permission on >>"
    }
  ]
}

Examples

const fetch = require('fetch');
 
await fetch('https://api.vizzly.co/api/v3/project/end-user/permissions', {
    method: "DELETE",
    headers: {
      'Content-Type': 'application/json',
      'auth': 'Api-Key vizzly_project_api_key_a481e4a9d5:::rest-of-the-content-here'
    },
    body: JSON.stringify({
      permissions: [
        {
            dashboard_id: 'dsh_...',
            scope: "read_write" | "read",
            user_reference: "<< user reference >>"
        }
      ]
    }),
})