---
title: "Put Workflow Dashboard"
method: PUT
path: "/api/workflows/{workflow_id}/dashboard"
tags: ["Workflows"]
---

# Put Workflow Dashboard

`PUT /api/workflows/{workflow_id}/dashboard`

## Request

- Base URL: `https://api.qomplement.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.qomplement.com/api/workflows/{workflow_id}/dashboard`
- Auth: HTTP bearer

Replace the workflow's dashboard spec, or clear it when ``spec``
is None. Called by the Kirbi ``build_dashboard_spec`` tool (with a
full spec) and by the UI reset button (with spec=None).

The frontend never writes a hand-edited spec in Phase 1; the only
valid human write is ``spec=None`` to reset.

## Path parameters

- `workflow_id` string, required

## Query parameters

- `organization_id` string, nullable

## Request body

- DashboardSpecPayload: PUT body for the dashboard spec endpoint. ``spec`` is either a full spec dict (set/replace) or ``None`` to clear the dashboard back to the empty state. The Kirbi tool always sends a full spec; the UI reset button sends ``None``.
  - `spec` object, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-09** `6fe617c112ef`: 1 info
  - endpoint added
- **2026-08-29** `7a7c8e2b5afc`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/qomplement/apis/qomplement-api/changes/api/workflows/:workflow_id/dashboard/put.md)

---

[API](https://skmtc.dev/qomplement/apis/qomplement-api.md) - [All operations](https://skmtc.dev/qomplement/apis/qomplement-api/llms.txt) - [OpenAPI document](https://skmtc.dev/qomplement/apis/qomplement-api/revisions/6fe617c112ef?raw)
