---
title: "Update a dashboard"
method: PATCH
path: "/api/workspaces/{workspaceId}/dashboards/{dashboardId}"
tags: ["Dashboards"]
---

# Update a dashboard

`PATCH /api/workspaces/{workspaceId}/dashboards/{dashboardId}`

## Request

- Base URL: `https://hiveship.app/api`
- URL: `https://hiveship.app/api/api/workspaces/{workspaceId}/dashboards/{dashboardId}`
- Auth: API key in cookie `hiveship_access`

## Path parameters

- `workspaceId` string, required
- `dashboardId` string, required

## Request body

- object
  - `name` string
  - `archetype` 'STRATEGY' | 'OPERATIONS' | 'CUSTOM'
  - `layout` object
    - `rows` object[], required
      - `metricKey` 'agent-share' | 'throughput' | 'assignee-load' | 'agent-ops' | 'attention' | 'token-usage'
      - `density` 'glance' | 'annotated', required
      - `display` 'chart' | 'kpi'
      - `insight` object
        - `measure` 'count' | 'sum_points', required
        - `slice` 'status' | 'priority' | 'delegateType' | 'assignee' | 'project' | 'label', required
        - `segment` 'status' | 'priority' | 'delegateType' | 'assignee' | 'project' | 'label'
        - `chart` 'bar' | 'stacked_bar' | 'donut' | 'table' | 'number', required
    - `columns` union[], required
      - union
        - object
          - `kind` 'workspace', required
        - object
          - `kind` 'project', required
          - `projectId` string, cuid, required
    - `timeframe` 'default' | '4w' | '12w' | '26w' | '52w'
    - `filters` object
      - `priorities` string[]
      - `assigneeIds` string[]
      - `labelIds` string[]
  - `visibility` 'WORKSPACE' | 'PRIVATE'
  - `markReviewed` boolean

## Response `200`

Dashboard updated

- object
  - `success` boolean, required
  - `data` object, required
    - `id` string, cuid, required
    - `name` string, required
    - `archetype` 'STRATEGY' | 'OPERATIONS' | 'CUSTOM', required
    - `layout` object, required
      - `rows` object[], required
        - `metricKey` 'agent-share' | 'throughput' | 'assignee-load' | 'agent-ops' | 'attention' | 'token-usage'
        - `density` 'glance' | 'annotated', required
        - `display` 'chart' | 'kpi'
        - `insight` object
          - `measure` 'count' | 'sum_points', required
          - `slice` 'status' | 'priority' | 'delegateType' | 'assignee' | 'project' | 'label', required
          - `segment` 'status' | 'priority' | 'delegateType' | 'assignee' | 'project' | 'label'
          - `chart` 'bar' | 'stacked_bar' | 'donut' | 'table' | 'number', required
      - `columns` union[], required
        - union
          - object
            - `kind` 'workspace', required
          - object
            - `kind` 'project', required
            - `projectId` string, cuid, required
      - `timeframe` 'default' | '4w' | '12w' | '26w' | '52w'
      - `filters` object
        - `priorities` string[]
        - `assigneeIds` string[]
        - `labelIds` string[]
    - `visibility` 'WORKSPACE' | 'PRIVATE', required
    - `ownerId` string, cuid, nullable, required
    - `ownerName` string, nullable, required
    - `lastReviewedAt` string, date-time, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required

## Other responses

- `400`: Validation error
- `403`: Feature unavailable on plan, caller lacks OWNER/ADMIN role (PLAT-105), or non-owner changing visibility
- `404`: Dashboard not found
- `409`: Duplicate dashboard name

---

[API](https://skmtc.dev/hiveship/apis/hiveship-api.md) · [All operations](https://skmtc.dev/hiveship/apis/hiveship-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hiveship/apis/hiveship-api/revisions/73d3e26544e4?raw)
