---
metadata:
  - name: generator
    content: Diplodoc Platform v5.64.0
  - property: og:type
    content: article
  - property: article:section
    content: API reference
  - property: og:title
    content: Copying a dashboard
alternate:
  - https://yandex.com.tr/support/tracker/en/api/dashboards/copy-dashboard.md
  - href: https://yandex.com.tr/support/tracker/en/api/dashboards/copy-dashboard.md
    type: text/markdown
    title: Markdown version
  - href: https://yandex.com.tr/support/tracker/en/llms.txt?revision=r21825371
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com.tr/support/tracker/en/llms.txt?revision=r21825371


# Copying a dashboard

Use this request to create a copy of a dashboard together with its widgets and layout. The user making the request becomes the owner of the copy.

<div class="request_example yfm-code-floating-container method_post">
    <p>POST</p>
    <pre><code>https://api.tracker.yandex.net/v3/dashboards/{dashboard_ID}/_copy</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/api/_assets/style/methods.md -->

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

## Request format {#request}

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

```json translate=no
POST /v3/dashboards/{dashboard_ID}/_copy
Host: api.tracker.yandex.net
Authorization: OAuth API_TOKEN
Content-Type: application/json
X-Org-ID or X-Cloud-Org-ID: ORGANIZATION_ID

{
  "name": "Copy of team plans"
}
```

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

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

* <!-- source: en/api/_includes/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/access.md#about_OAuth)

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


* <!-- source: en/api/_includes/org-id.md -->
  # ID types {#types}


  `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 Identity Hub.


  # Finding the ID {#find-id}


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


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

{% cut "Resource" %}

#|
|| **Parameter** | **Description** | **Data type** ||
|| dashboard_ID | Dashboard ID. | Number ||
|#

{% endcut %}

{% cut "Request body parameters" %}

**Additional parameters**

#|
|| **Parameter** | **Description** | **Data type** ||
|| name | Copy name. If omitted, the copy receives the source dashboard name. | String ||
|#

{% endcut %}

## Response format {#response}

{% list tabs %}

- Request executed successfully

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

    On success, the API returns the copied dashboard parameters and references to its widgets.

    ```json translate=no
    {
      "id": 123,
      "self": "https://api.tracker.yandex.net/v3/dashboards/123",
      "version": 4,
      "name": "Copy of team plans",
      "layout": "one-column",
      "widgets": [
        {"id": "456", "self": "https://api.tracker.yandex.net/v3/widgets/456"}
      ]
    }
    ```

    {% cut "Response parameters" %}

    #|
    || **Parameter** | **Description** | **Data type** ||
    || id | Dashboard ID. | Number ||
    || self | URL of the API resource with dashboard parameters. | String ||
    || version | Dashboard version. Pass it when [updating a dashboard](https://yandex.com.tr/support/tracker/en/api/dashboards/update-dashboard.md). | Number ||
    || name | Dashboard name. | String ||
    || createdBy | Dashboard creator. [User object fields](https://yandex.com.tr/support/tracker/en/api/dashboards/create-dashboard.md#user). | Object ||
    || createdAt | Dashboard creation date and time. | String ||
    || layout | Widget display mode. | String ||
    || widgets | Dashboard widget references. | Array of objects ||
    || temp | Indicates a temporary dashboard. | Boolean ||
    || owner | Dashboard owner. [User object fields](https://yandex.com.tr/support/tracker/en/api/dashboards/create-dashboard.md#user). | Object ||
    |#

    **Fields of the** `widgets` **array elements**

    #|
    || **Parameter** | **Description** | **Data type** ||
    || id | Widget ID. | String ||
    || self | URL of the API resource with widget parameters. | String ||
    || display | Widget name. | String ||
    |#

    {% endcut %}

- Request failed

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

    <!-- source: en/api/_includes/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/api/_includes/answer-error-403.md -->

    No `READ` permission for the source dashboard.

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

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

    The main page (a dashboard of type `MAIN_PAGE`) cannot be copied.

{% endlist %}
