---
title: "Replace dashboard settings"
method: PUT
path: "/api/v1/dashboard/settings"
tags: ["Dashboard"]
---

# Replace dashboard settings

`PUT /api/v1/dashboard/settings`

Full replacement (no partial merge). Validation is strict — unknown enum ids are rejected via 422. First write creates the row.

## Request body

- DashboardSettingsDTO
  - `defaultPeriod` 'today' | 'last_24h' | 'last_7d' | 'this_week' | 'last_30d' | 'this_month' | 'last_90d' | 'this_year'
  - `kpi` DashboardSettingsKpiDTO, required
    - `visible` boolean
    - `enabled` string[], required
    - `order` string[], required
  - `chart` DashboardSettingsChartDTO, required
    - `visible` boolean
    - `metrics` string[], required
  - `breakdown` DashboardSettingsBreakdownDTO, required
    - `visible` boolean
    - `enabled` string[], required
    - `order` string[]
  - `recentActivity` DashboardSettingsRecentActivityDTO, required
    - `visible` boolean
    - `limit` integer
    - `entityTypes` string[], required
  - `resources` DashboardSettingsResourcesDTO, required
    - `visible` boolean
    - `enabled` string[], required
    - `order` string[], required
  - `pushSummary` DashboardSettingsPushSummaryDTO
    - `visible` boolean
    - `enabled` string[]
    - `order` string[]
  - `recommendations` DashboardSettingsRecommendationsDTO
    - `dismissed` string[]

## Response `200`

Successful Response

- DashboardSettingsDTO
  - `defaultPeriod` 'today' | 'last_24h' | 'last_7d' | 'this_week' | 'last_30d' | 'this_month' | 'last_90d' | 'this_year'
  - `kpi` DashboardSettingsKpiDTO, required
    - `visible` boolean
    - `enabled` string[], required
    - `order` string[], required
  - `chart` DashboardSettingsChartDTO, required
    - `visible` boolean
    - `metrics` string[], required
  - `breakdown` DashboardSettingsBreakdownDTO, required
    - `visible` boolean
    - `enabled` string[], required
    - `order` string[]
  - `recentActivity` DashboardSettingsRecentActivityDTO, required
    - `visible` boolean
    - `limit` integer
    - `entityTypes` string[], required
  - `resources` DashboardSettingsResourcesDTO, required
    - `visible` boolean
    - `enabled` string[], required
    - `order` string[], required
  - `pushSummary` DashboardSettingsPushSummaryDTO
    - `visible` boolean
    - `enabled` string[]
    - `order` string[]
  - `recommendations` DashboardSettingsRecommendationsDTO
    - `dismissed` string[]

## Other responses

- `400` — The request is invalid.
- `401` — Authentication required.
- `422` — Validation Error

---

[API](https://skmtc.dev/pwapps/apis/curie-api.md) · [All operations](https://skmtc.dev/pwapps/apis/curie-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pwapps/curie-api/revisions/b0af9064dfef/schema)
