---
title: "Create a dashboard"
method: POST
path: "/v1/projects/{project_id}/dashboards"
tags: ["Dashboard"]
---

# Create a dashboard

`POST /v1/projects/{project_id}/dashboards`

## Request

- Base URL: `https://api.telerivet.com`
- URL: `https://api.telerivet.com/v1/projects/{project_id}/dashboards`
- Auth: one of:
  - HTTP basic
  - OAuth 2 (authorization code, authorization URL `https://telerivet.com/oauth/authorize`, token URL `https://api.telerivet.com/oauth/token`)

Creates a new custom dashboard within the given project. After creating the dashboard, add cards to it via dashboard.createCard.

 Each project may have up to 20 dashboards. Custom dashboards require a Telerivet service plan that includes the custom dashboards feature.

## Path parameters

- `project_id` string, required

## Request body

- object
  - `name` string, required: Name of the dashboard (max 100 characters)
  - `solution_id` string: ID of the solution that this dashboard is part of, if applicable
  - `vars` object: Custom variables and values to set for this dashboard. Variable names may be up to 32 characters in length and can contain the characters a-z, A-Z, 0-9, and _. Values may be strings, numbers, or boolean (true/false). String values may be up to 4096 bytes in length when encoded as UTF-8. Up to 100 variables are supported per object. Setting a variable to null will delete the variable.

## Response `200`

Successful response

- Dashboard: Represents a dashboard in a Telerivet project: a page of cards displaying statistics, charts, and summaries of objects within the project. Each project has a primary dashboard (identified by the project's `primary_dashboard_id` property), which is shown by default when opening the project in the Telerivet web app. If the project's dashboards have never been customized, the primary dashboard is generated automatically and has the ID `default`; it is saved with a permanent ID the first time it is updated via the API or web app. To make a different dashboard the primary dashboard, update the project's `primary_dashboard_id` property. The cards on an automatically generated dashboard (whether or not the dashboard itself has been saved) do not have IDs and cannot be updated or deleted individually until the dashboard has been customized, which happens the first time it is updated via the API (e.g. via dashboard.save) or web app, and which assigns an ID to each card.
  - `id` string: ID of the dashboard, or `default` for an automatically generated dashboard that has not been saved yet
  - `name` string: Name of the dashboard
  - `solution_id` string, nullable: ID of the solution that this dashboard belongs to, if any
  - `cards` object[]: Summaries of the cards on this dashboard, in display order. Only returned when retrieving a single dashboard by ID.
    - `id` string: ID of the card
    - `type` string: Type of the card
    - `title` string: Displayed title of the card
  - `vars` object: Custom variables stored for this dashboard. Variable names may be up to 32 characters in length and can contain the characters a-z, A-Z, 0-9, and _. Values may be strings, numbers, or boolean (true/false). String values may be up to 4096 bytes in length when encoded as UTF-8. Up to 100 variables are supported per object. Setting a variable to null will delete the variable.
  - `time_created` integer, nullable: Time the dashboard was created in Telerivet (null for an automatically generated dashboard that has not been saved)
  - `time_updated` integer, nullable: Time the dashboard was last updated in Telerivet
  - `project_id` string: ID of the project this dashboard belongs to
  - `url` string: URL to this dashboard in the Telerivet web app

## Other responses

- `400`: Invalid request parameters
- `401`: Invalid or missing API key or Bearer token
- `404`: Resource not found

---

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