---
title: "Create a dashboard"
method: POST
path: "/api/dashboards/create"
tags: ["Dashboards"]
---

# Create a dashboard

`POST /api/dashboards/create`

## Request

- Base URL: `https://pluto-api.trainy.ai`
- URL: `https://pluto-api.trainy.ai/api/dashboards/create`
- Auth: HTTP bearer

Creates a new dashboard view in a project. Names are unique per project. Only org admins/owners may set isDefault.

## Request body

- CreateDashboardRequest
  - `projectName` string, required: Name of the project
  - `name` string, required: Dashboard name
  - `config` object: Full dashboard config. Defaults to an empty dashboard when omitted.
  - `isDefault` boolean: Make this the project's default dashboard (admins/owners only)

## Response `200`

Dashboard created successfully

- CreateDashboardResponse
  - `id` string, required
  - `name` string, required
  - `projectName` string, required
  - `isDefault` boolean, required
  - `currentVersion` integer, required
  - `sectionCount` number, required
  - `widgetCount` number, required
  - `createdAt` string, required
  - `updatedAt` string, required
  - `url` string, required

## Other responses

- `400`: Invalid request body or dashboard config
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Project not found
- `409`: A dashboard with this name already exists

---

[API](https://skmtc.dev/trainy/apis/mlop-api.md) - [All operations](https://skmtc.dev/trainy/apis/mlop-api/llms.txt) - [OpenAPI document](https://skmtc.dev/trainy/apis/mlop-api/revisions/5d2c0b0baecb?raw)
