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

# Creating a board

Use this request to create boards.

<div class="request_example method_post yfm-clipboard">
    <p>POST</p>
    <pre><code>https://api.tracker.yandex.net/v3/boards/</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 -->

## Query 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 board, use an HTTP `POST` request: In the request body, specify the parameters in JSON format.

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

{
 "name" : "Testing",
 "defaultQueue": {
        "id": 111,
        "key": "test"
        }
}
```

<!-- 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 parameters of a new board.

**Required parameters**

| Parameter | Description | Data type |
-------- | -------- | ----------
| name | Board name | String |
| [defaultQueue](#req-defaultQueue) | Queue | Can be set as an object, a string (if the queue key is provided), or a number (if the queue ID is provided) |

**Additional parameters**

| Parameter | Description | Data type |
-------- | -------- | ----------
| boardType | Board type.<br/>Possible board types:<ul><li>`default`: Basic</li><li>`scrum`: Scrum</li><li>`kanban`: Kanban</li></ul> | String |
| [filter](#req-filter) | Object with information about filter conditions used for selecting issues for the board.<br/>Issue parameters are made up of fields and values.<br/>The `filter`, `orderBy`, and `orderAsc` parameter group is incompatible with the `query` parameter that also describes filter conditions | Map item |
| orderBy | Field key.<br/>The field is used as a parameter for sorting board issues.<br/>The full list of fields: [https://tracker.yandex.com/admin/fields](https://tracker.yandex.com/admin/fields) | String |
| orderAsc | Sort direction:<ul><li>`true`: Ascending</li><li>`false`: Descending</li></ul> | Boolean |
| query | Parameters of the filter used to select issues for the board.<br/>The parameters are specified in the [query language](../../user/query-filter.md).<br/>The `query` parameter is incompatible with the group of parameters that also describe filter conditions, including `filter`, `orderBy`, and `orderAsc` | String |
| useRanking | Shows if you can change the order of issues on the board:<ul><li>`true`: Yes</li><li>`false`: No</li></ul> | Boolean |
| [country](#req-country) | Object with information about the country. Data of a country-specific business calendar is used in the burndown chart.<br/>To get a list of countries, use the HTTP `GET /v3/countries` request | Map item |

`defaultQueue` **object fields** {#req-defaultQueue}

| Parameter | Description | Data type |
-------- | -------- | ----------
| id | Queue ID | String |
| key | Queue key | String |

`filter` **object fields** {#req-filter}

| Parameter | Description | Data type |
-------- | -------- | ----------
| \<parameter_1_key\> | Key of the field that is used as a parameter for selecting issues for the board.<br/>The full list of fields: [https://tracker.yandex.com/admin/fields](https://tracker.yandex.com/admin/fields) | String |
| \<parameter_2_key\> | Array with the keys of the fields that are used as parameters for selecting issues for the board.<br/>The full list of fields: [https://tracker.yandex.com/admin/fields](https://tracker.yandex.com/admin/fields) | Array |

`country` **object fields** {#req-country}

| Parameter | Description | Data type |
-------- | -------- | ----------
| id | Country ID | String |

{% endcut %}

> Example 1: Create a board named `Testing`. Set a filter using the `filter` object.
>
> - An HTTP `POST` method is used.
>
> ```json
> POST /v3/boards/
> Host: api.tracker.yandex.net
> Authorization: OAuth <OAuth_token>
> X-Org-ID: <organization_ID>
>
> {
>  "name": "Testing",
>  "boardType": "default",
>  "defaultQueue": {
>         "id": "111",
>         "key": "test"
>         },
>  "filter": {
>       "assignee": "user1",
>       "priority": [
>           "normal",
>           "critical"
>           ]
>       },
>  "orderBy": "updated",
>  "orderAsc": false,
>  "useRanking": false,
>  "country": {
>      "id": "1"
>      }
> }
> ```

> Example 2: Create a board named `Testing`. Set a filter using the query language.
>
> - An HTTP `POST` method is used.
>
> ```json
> POST /v3/boards/
> Host: api.tracker.yandex.net
> Authorization: OAuth <OAuth_token>
> X-Org-ID: <organization_ID>
>
> {
>  "name": "Testing",
>  "boardType": "default",
>  "defaultQueue": {
>         "id": "111",
>         "key": "test"
>         },
>  "query": "assignee: user1 AND (priority: normal OR priority: critical)",
>  "useRanking": false,
>  "country": {
>      "id": "1"
>      }
> }
> ```

## 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 new board parameters.

    ```json
    {
      "self": "https://api.tracker.yandex.net/v3/boards/1",
      "id": 1,
      "version": 1,
      "name": "Testing",
      "columns":
      [
       {
        "self": "https://api.tracker.yandex.net/v3/boards/1/columns/13874********",
        "id": "13874********",
        "display": "Open"
       },
        ...
      ],
      "filter": {
         "<parameter_1_key>": "<value_1>",
         "<parameter_2_key>": [
              "<value_2>",
                             ...
            ],
             ...
         },
      "orderBy": "updated",
      "orderAsc": false,
      "query": "<parameter_1>: <value_1> AND <parameter_2>: <value_2> OR <parameter_3>: <value_3>...",
      "useRanking": false,

      "country": {
           "self": "https://api.tracker.yandex.net/v3/countries/1",
           "id": "1",
           "display": "Russia"
            }
    }
    ```

    {% cut "Response parameters" %}

    | Parameter | Description | Data type |
    -------- | -------- | ----------
    | self | Address of the API resource with board parameters | String |
    | id | Board ID | Number |
    | version | Board version; each change to the board increases its version number | Number |
    | name | Board name. | String |
    | [columns](#ans-columns) | Object with information about board columns | Map item |
    | [filter](#ans-filter) | Object with information about filter conditions used for selecting issues for the board.<br/>Issue parameters are made up of fields and values | Map item |
    | orderBy | Field key.<br/>The field is used as a parameter for sorting board issues.<br/>The full list of fields: [https://tracker.yandex.com/admin/fields](https://tracker.yandex.com/admin/fields) | String |
    | orderAsc | Sort direction:<ul><li>`true`: Ascending</li><li>`false`: Descending</li></ul> | Boolean |
    | query | Parameters of the filter used to select issues for the board.<br/>The parameters are specified in the [query language](../../user/query-filter.md) | String |
    | useRanking | Shows if you can change the order of issues on the board:<ul><li>`true`: Yes</li><li>`false`: No</li></ul> | Boolean |
    | [country](#ans-country) | Object with information about the country. Data of a country-specific business calendar is used in the burndown chart.<br/>To get a list of countries, use the HTTP `GET /v3/countries` request | Map item |

    `columns` **object fields** {#ans-columns}

    | Parameter | Description | Data type |
    -------- | -------- | ----------
    | self | Address of the API resource with information about the board column | String |
    | id | Column ID | String |
    | display | Column name displayed | String |

    `filter` **object fields** {#ans-filter}

    | Parameter | Description | Data type |
    -------- | -------- | ----------
    | \<parameter_1_key\> | Key of the field that is used as a parameter for selecting issues for the board.<br/>The full list of fields: [https://tracker.yandex.com/admin/fields](https://tracker.yandex.com/admin/fields) | String |
    | \<parameter_2_key\> | Array with the keys of the fields that are used as parameters for selecting issues for the board.<br/>The full list of fields: [https://tracker.yandex.com/admin/fields](https://tracker.yandex.com/admin/fields) | Array |

    `country` **object fields** {#ans-country}

    | Parameter | Description | Data type |
    -------- | -------- | ----------
    | self | Address of the API resource with the country name | String |
    | id | Country ID | String |
    | display | Country name displayed | String |

    {% 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 %}
