---
metadata:
  - name: generator
    content: Diplodoc Platform v5.47.3
alternate:
  - https://yandex.com.tr/support/tracker/en/api-ref/dashboards/create-dashboard.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com.tr/support/tracker/en/llms.txt

# Creating a dashboard

Use this request to create a dashboard. Use the [Creating a "Cycle time" widget](https://yandex.com.tr/support/tracker/en/api-ref/dashboards/create-widget.md) request to add the "Cycle time" widget.

<div class="request_example method_post yfm-clipboard">
    <p>POST</p>
    <pre><code>https://api.tracker.yandex.net/v3/dashboards/</code></pre>
    <button class="yfm-clipboard-button"><svg width="16" height="16" viewBox="0 0 24 24" class="yfm-clipboard-icon" data-animation="15">
    <path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path>
    <path stroke="currentColor" fill="transparent" strokewidth="1.5" d="M9.5 13l3 3l5 -5" visibility="hidden">
        <animate id="visibileAnimation-15" attributeName="visibility" from="hidden" to="visible" dur="0.2s" fill="freeze" begin=""></animate>
        <animate id="hideAnimation-15" attributeName="visibility" from="visible" to="hidden" dur="1s" begin="visibileAnimation-15.end+1" fill="freeze"></animate>
    </path>
</svg>
</button>
</div>

<!-- source: en/_assets/style/methods.md -->

<!-- endsource: en/_assets/style/methods.md -->

## Request format {#query}

Before making a request, [get permission to access the API](https://yandex.com.tr/support/tracker/en/api-ref/access.md).

To create a widget, use an HTTP `POST` request. In the request body, specify the parameters in JSON format.

```json
POST /v3/dashboards/
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth_token>
X-Org-ID or X-Cloud-Org-ID: <organization_ID>

{
    "name": "<dashboard_name>",
    "layout": "<widget_display_mode>",
    "owner": {
       "id": "<user's_username_or_ID>"
       }
}
```

<!-- source: en/_includes/api/headings.md -->
{% cut "Headers" %}

* `Host`: address of the node that provides the API.

* <!-- source: en/_includes/api/authorization.md -->
  `Authorization`: Authorization token about these formats:

    - `OAuth <OAuth_token>`: For authorization using the OAuth 2.0 protocol. [Learn more](https://yandex.com.tr/support/tracker/en/api-ref/access.md#about_OAuth)

    - `Bearer <IAM_token>`: For authorization using an IAM token, if a Yandex Cloud Organization organization is linked to Tracker. [Learn more](https://yandex.com.tr/support/tracker/en/api-ref/access.md#iam-token)
  <!-- endsource: en/_includes/api/authorization.md -->


* <!-- source: en/_includes/api/org-id.md -->
  `X-Org-ID` or `X-Cloud-Org-ID`: Organization ID.

  - Use the `X-Org-ID` header if a Tracker organization is linked to Yandex 360 for Business.

  - Use the `X-Cloud-Org-ID` header if a Tracker organization is linked to Yandex Cloud Organization.

  To get the organization ID, go to **Administration** → [**Organizations**](https://tracker.yandex.com/admin/orgs) and copy the value from the **ID** field. {#find-id}
  <!-- endsource: en/_includes/api/org-id.md -->


{% endcut %}
<!-- endsource: en/_includes/api/headings.md -->

{% cut "Request body parameters" %}

The request body contains the dashboard parameters.

**Required parameters**

| Parameter | Description | Data type |
-------- | -------- | ----------
| name | Dashboard name. | String |

**Additional parameters**

| Parameter | Description | Data type |
-------- | -------- | ----------
| layout | Widget display mode on the dashboard.<br/>Available modes:<ul><li>`one-column`: Default mode.</li><li>`two-columns`.</li><li>`three-columns`.</li><li>`narrow-left-wide-right`: The left column is narrow and the right column is wide.</li><li>`one-top-two-bottom`: One column at the top and two columns at the bottom.</li></ul> | String |
| owner | Username or ID of the dashboard owner. If the parameter is omitted, the user who created the dashboard is considered its owner. | String |

{% endcut %}

## Response format {#answer}

{% list tabs %}

- Request executed successfully

    <!-- source: en/_includes/api/answer-201.md -->
    If the request is successful, the API returns a response with code `201 Created`.
    <!-- endsource: en/_includes/api/answer-201.md -->

    The response body contains a JSON object with the new dashboard's parameters.

    ```json
    {
       "id": 10,
       "version": 1,
       "name": "New Dashboard",
       "createdBy": {
          "self": "https://api.tracker.yandex.net/v3/users/44********",
          "id": "44********",
          "display": "Ivan Ivanov",
          "passportUid": 12********
       },
       "createdAt": "2024-04-15T19:38:42.074+0000",
       "layout": "one-column",
       "owner": {
          "self": "https://api.tracker.yandex.net/v3/users/44********",
          "id": "44********",
          "display": "Ivan Ivanov",
          "passportUid": 12********
       },
       "self": "https://api.tracker.yandex.net/v3/dashboards/10"
    }
    ```

    {% cut "Response parameters" %}

    | Parameter | Description | Data type |
    -------- | -------- | ----------
    | id | Dashboard ID. | Number |
    | version | Dashboard version. The version number goes up whenever the dashboard is changed. | Number |
    | name | Dashboard name. | String |
    | [createdBy](#user) | Object with the dashboard author's details. | Map item |
    | createdAt | Dashboard creation date and time in ```YYYY-MM-DDThh:mm:ss.sss±hhmm``` format. | String |
    | layout | Widget display mode on the dashboard. | String |
    | [owner](#user) | Object with the dashboard owner's details. | Map item |
    | self | Address of the API resource that contains the dashboard parameters. | String |

    `createdBy` and `owner` **object fields** {#user}

    <!-- source: en/_includes/api/user.md -->
    | Parameter | Description | Data type |
    ----- | ----- | -----
    | self | Address of the API resource with information about the user | String |
    | id | User ID. | String |
    | display | Displayed user name | String |
    | passportUid | Unique ID of the user account in the Yandex 360 for Business organization and Yandex ID. | Number |
    | cloudUid | Unique user ID in Yandex Cloud Organization | String |
    <!-- endsource: en/_includes/api/user.md -->

    {% endcut %}

- Request failed

    If the request is processed incorrectly, the API returns a response with an error code:

    <!-- source: en/_includes/api/answer-error-400.md -->
    400
    :   One or more request parameters have an invalid value.
    <!-- endsource: en/_includes/api/answer-error-400.md -->

    <!-- source: en/_includes/api/answer-error-403.md -->
    403
    :   You are not authorized to perform this action. You can check what rights you have in the Tracker interface. The same rights are required to perform an action via the API and interface.
    <!-- endsource: en/_includes/api/answer-error-403.md -->

    <!-- source: en/_includes/api/answer-error-404.md -->
    404
    :   The requested object was not found. You may have specified an invalid object ID or key.
    <!-- endsource: en/_includes/api/answer-error-404.md -->

    <!-- source: en/_includes/api/answer-error-422.md -->
    422
    :   JSON validation error, the request is rejected.
    <!-- endsource: en/_includes/api/answer-error-422.md -->

    <!-- source: en/_includes/api/answer-error-500.md -->
    500
    :   Internal service error. Try again later.
    <!-- endsource: en/_includes/api/answer-error-500.md -->

    <!-- source: en/_includes/api/answer-error-503.md -->
    503
    :   The API service is temporarily unavailable.
    <!-- endsource: en/_includes/api/answer-error-503.md -->

{% endlist %}
