Edit Dashboard

Rename a dashboard and manage who can view or edit it with the editDashboard mutation.


Use the editDashboard mutation to rename a dashboard and manage its access list in a single call. It updates the dashboard title and replaces the set of users granted VIEWER or EDITOR access. There is no separate renameDashboard mutation — renaming is done by passing a new title here.

Dashboards are Dashboard objects in the API. Each shared user is a DashboardUser linking a User to a DashboardRole.

dashboardUsers is a full replacement set

When you pass dashboardUsers, it becomes the complete access list. Any user currently on the dashboard who is not included in the array is removed. To keep an existing user, include them in every call that passes dashboardUsers. Omit dashboardUsers entirely to leave the access list untouched.

Request

Rename a dashboard. Pass only id and the new title.

mutation EditDashboard {
  editDashboard(input: { id: "dashboard_123", title: "Q4 Sales Dashboard" }) {
    id
    title
    updatedAt
  }
}

Parameters

EditDashboardInput

ParameterTypeRequiredDescription
idString!YesID of the dashboard to edit.
titleStringNoNew title. Omit to leave the title unchanged. Changing the title requires being the dashboard creator (see Permissions).
dashboardUsers[EditDashboardUserInput!]NoFull desired access list. Users present are added or updated; existing users omitted from the array are removed. Omit to leave the access list unchanged.

EditDashboardUserInput

ParameterTypeRequiredDescription
userIdString!YesID of the user to grant access. Must belong to the dashboard’s organization.
roleDashboardRole!YesAccess level to assign.

DashboardRole

ValueDescription
EDITORCan view the dashboard and edit its charts, filters, and layout. Can also call editDashboard to manage the access list.
VIEWERCan view the dashboard only.

Response

{
  "data": {
    "editDashboard": {
      "id": "clm4n8qwx000008l0g4oxdqn7",
      "title": "Q4 Sales Dashboard",
      "updatedAt": "2026-05-29T14:22:08.000Z"
    }
  }
}

Returns

editDashboard returns the updated Dashboard.

FieldTypeDescription
idID!Unique identifier for the dashboard.
titleString!Current dashboard title.
createdByUser!User who created the dashboard.
dashboardUsers[DashboardUser!]Users granted access to the dashboard.
createdAtDateTime!When the dashboard was created.
updatedAtDateTime!When the dashboard was last modified.

Each DashboardUser exposes id (ID!), uid (String!), user (User!), role (DashboardRole!), createdAt (DateTime!), and updatedAt (DateTime!).

Full example

Rename the dashboard and set its access list. After this call the dashboard’s shared users are exactly user_123 (as EDITOR) and user_456 (as VIEWER); any previously shared user not listed here is removed.

mutation EditDashboardWithUsers {
  editDashboard(
    input: {
      id: "dashboard_123"
      title: "Revenue Overview"
      dashboardUsers: [{ userId: "user_123", role: EDITOR }, { userId: "user_456", role: VIEWER }]
    }
  ) {
    id
    title
    dashboardUsers {
      id
      role
      user {
        id
        email
        firstName
        lastName
      }
    }
    updatedAt
  }
}

Errors

CodeWhen
DASHBOARD_NOT_FOUNDNo dashboard with the given id is modifiable by the caller. The caller must be the creator or a current EDITOR. VIEWERs and unrelated users get this code — the dashboard is treated as not found. Message: Dashboard was not found.
FORBIDDENA non-creator tried to change the title to a new value. Editors can manage dashboardUsers but cannot rename. The error is only raised when title differs from the current title. Message: You are not authorized.
USER_NOT_IN_COMPANYA userId in dashboardUsers does not belong to the dashboard’s organization. Message: User is not in the company.

Permissions

editDashboard requires modify access to the dashboard: the caller must be the dashboard’s creator or a DashboardUser with the EDITOR role. Callers without modify access (including VIEWERs) receive DASHBOARD_NOT_FOUND.

Within that access:

  • Managing dashboardUsers — any caller with modify access (creator or EDITOR) can add, update, or remove shared users.
  • Renaming (title) — only the dashboard creator can change the title. An EDITOR who passes a different title is rejected with FORBIDDEN. Passing the current title (or omitting title) is always allowed, so an editor can include the unchanged title alongside a dashboardUsers update.