---
metadata:
  - name: generator
    content: Diplodoc Platform v5.70.0
  - property: og:type
    content: article
  - property: article:section
    content: API reference
  - property: og:title
    content: Creating a board
  - property: article:tag
    content: Technical instructions
alternate:
  - https://yandex.ru/support/tracker/en/api/boards/post-board.md
  - https://yandex.ru/support/tracker/ru/api/boards/post-board.md
  - href: https://yandex.ru/support/tracker/en/api/boards/post-board.md
    type: text/markdown
    title: Markdown version
  - href: https://yandex.ru/support/tracker/en/llms.txt?revision=r22105730
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/tracker/en/llms.txt?revision=r22105730


# Creating a board

Use this request to create an [issue board](*board).

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

{% note info "" %}

The `POST /v3/boards/` method was previously used to create boards. It is deprecated. When you call this method, it creates a board with default settings and ignores the parameters in the request body.

{% endnote %}

## Query format {#query}

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

To create a board, use an HTTP request with the `POST` method. Specify the parameters in JSON format in the request body.

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

{
 "name": "My board",
 "owner": "username",
 "columns": [
    {
      "name": "To Do",
      "statuses": ["new", "open"]
    },
    {
      "name": "In Progress",
      "statuses": ["inProgress"]
    }
  ]
}
```

<!-- 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.ru/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.ru/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 "Request body parameters" %}

The request body contains the parameters of the new board.

**Required parameters**

Parameter | Description | Data type
-------- | -------- | ----------
name | Board name | String

**Additional parameters**

#|
|| Parameter | Description | Data type ||
|| owner | User login or UID | String or number ||
|| boardPermissionsTemplate | Defines board access permissions:
* `private`: The board is only available to its owner.
* `public`: The board is available to all employees.

By default, the board is available to all employees. | String ||
|| backlogAvailable
sprintsAvailable
| Options for enabling the backlog and sprints on the issue board:
* If both parameters are set to `true`, the backlog and sprints are enabled.
* If both parameters are set to `false`, the backlog and sprints are disabled.

[What are backlogs and sprints](https://yandex.com/support/tracker/manager/boards-instruments.html) | Boolean ||
|| [columns](#cols) | List of board columns | Array of objects ||
|| [backlogColumns](#backlog-cols) | List of additional columns in the backlog. [What are backlog columns](https://yandex.com/support/tracker/manager/backlog.html#columns) | Array of objects ||
|| [nonParametrizedColumns](#nonparam-cols) | List of custom columns that are not associated with issue statuses. [What are custom columns](https://yandex.com/support/tracker/manager/agile-columns.html#user-columns) | Array of objects ||
|| [autoFilters](#autofilters) | Object with settings for filters that automatically add issues to and remove issues from the board. [How to configure adding and removing issues](https://yandex.com/support/tracker/manager/agile-set-board.html) | Object ||
|#


**Object fields** `columns` {#cols}
Parameter | Description | Data type
-------- | -------- | ----------
name | Column name | String
statuses | List of statuses for issues displayed in the column.<br/>You can view status names and keys on the [Tracker settings](https://tracker.yandex.com/admin/statuses) page. | Array of strings or numbers
limit | Maximum number of issues in the column | Number

**Object fields** `backlogColumns` {#backlog-cols}
Parameter | Description | Data type
-------- | -------- | ----------
name | Backlog column name | String
limit | Maximum number of issues in the column | Number

**Object fields** `nonParametrizedColumns` {#nonparam-cols}
Parameter | Description | Data type
-------- | -------- | ----------
name | Column name | String
limit | Maximum number of issues in the column | Number

**Object fields** `autoFilters` {#autofilters}
Parameter | Description | Data type
-------- | -------- | ----------
[addFilter](#addfilter) | Object with settings for a filter that automatically adds issues to the board | Object
[removeFilter](#removefilter) | Object with settings for a filter that automatically removes issues from the board | Object

**Object fields** `addFilter` {#addfilter}

#|
|| Parameter | Description | Data type ||
|| liveFilter | Contains the nested `fieldValues` object, which lists issue parameters and their values for filtering in the following format:
```json
"parameter_key": [
   {"fixed": "value_1"},
   {"fixed": "value_2"},
   ...
]
```
You can view the list of existing parameters on the [Tracker settings](https://tracker.yandex.com/admin/fields) page.

For example:

```json
"liveFilter": {
  "fieldValues": {
    "queue": [
      {
        "fixed": "DEV"
      }
    ],
    "assignee": [
      {
        "fixed": "username"
      }
    ]
  }
}

```
| Object ||
|| enabled | If the parameter is set to `true`, the filter is enabled. | Boolean ||
|#

**Object fields** `removeFilter` {#removefilter}

#|
|| Parameter | Description | Data type ||
|| statuses | List of statuses that will be the condition for removing issues from the board.
You can view status names and keys on the [Tracker settings](https://tracker.yandex.com/admin/statuses) page. | Array of strings ||
|| checkResolutionPresence | Specifies whether to consider the resolution when removing issues:
* `true`: Remove only issues with a resolution.
* `false`: Remove any issues. | Boolean ||
|| maxTimeInToRemoveState | The time spent in the specified statuses after which issues are removed, in the `PnYnMnDTnHnMnS` or `PnW` format in accordance with ISO 8601. [ISO 8601 text](http://dotat.at/tmp/ISO_8601-2004_E.pdf)

For example, `P6W` corresponds to an interval of 6 weeks (30 working days), and `P2M` corresponds to an interval of 2 months. | String ||
|| enabled | If the parameter is set to `true`, the filter is enabled. | Boolean ||
|#


{% endcut %}

> Example 1: Create a board with the following settings:
>  - name: `Testing`;
>  - owner: `username`;
>  - sprints and the backlog are enabled.
>
> ```json translate=no
> POST /v3/liveBoards/
> Host: api.tracker.yandex.net
> Authorization: OAuth API_TOKEN
> Content-Type: application/json
> X-Org-ID: 1234******
>
> {
>   "name": "Testing",
>   "owner": "username",
>   "backlogAvailable": true,
>   "sprintsAvailable": true
> }
> ```

>Example 2: Create a board with the following settings:
> - name: `Testing`;
> - a filter is enabled that automatically adds issues with the following parameters: queue with the `DEV` key and assignee with the `username` login.
>
>```json translate=no
>POST /v3/liveBoards/
>Host: api.tracker.yandex.net
>Authorization: OAuth API_TOKEN
>Content-Type: application/json
>X-Org-ID: 1234******
>
>{
>  "name": "Testing",
>  "autoFilters": {
>    "addFilter": {
>      "liveFilter": {
>        "fieldValues": {
>          "queue": [
>            {
>              "fixed": "DEV"
>            }
>          ],
>          "assignee": [
>            {
>              "fixed": "username"
>            }
>          ]
>        }
>      },
>      "enabled": true
>    }
>  }
>}
>```

## Response format {#answer}

{% list tabs %}

- Request executed successfully

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

  The response body contains a JSON object with the parameters of the new board.

  <!-- source: en/api/_includes/board-fields.md -->
  ```json translate=no
  {
      "self": "https://api.tracker.yandex.net/v3/boards/1",
      "id": 1,
      "version": 1,
      "name": "My board",
      "createdAt": "2026-01-22T09:02:18.647+0000",
      "updatedAt": "2026-01-22T09:02:18.647+0000",
      "createdBy": {
          "self": "https://api.tracker.yandex.net/v3/users/112000***",
          "id": "username",
          "display": "User Name",
          "cloudUid": "ajevuhegoggfk*******",
          "passportUid": 112000***
      },
      "columns": [
        {
          "self": "https://api.tracker.yandex.net/v3/boards/1/columns/1",
          "id": "1",
          "display": "Open"
        },
        ...
      ],
      "useRanking": false,
      "estimateBy": {
          "self": "https://api.tracker.yandex.net/v3/fields/storyPoints",
          "id": "storyPoints",
          "display": "Story Points"
      },
      "country": {
          "self": "https://api.tracker.yandex.net/v3/countries/1",
          "id": "1",
          "display": "Russia"
      },
      "calendar": {
          "id": 6
      }
  }
  ```
  <!-- endsource: en/api/_includes/board-fields.md -->

  {% cut "Response parameters" %}

  #|
  || Parameter | Description | Data type ||
  || self | Address of the API resource that contains the board parameters | String ||
  || id | Board ID | Number ||
  || version | Board version. Each board update increases the version number. | Number ||
  || name | Board name | String ||
  || createdAt | Board creation date in the `YYYY-MM-DDThh:mm:ss.sss±hhmm` format | String ||
  || updatedAt | Date of the last board update in the `YYYY-MM-DDThh:mm:ss.sss±hhmm` format | String ||
  || [createdBy](#createdby) | Information about the user who created the board | Object ||
  || [columns](#ans-columns) | Information about board columns | Array of objects ||
  || useRanking | *The parameter is deprecated and does not affect how the board works.*

    Specifies whether you can change the order of issues on the board:<ul><li>`true`: Allowed.</li><li>`false`: Not allowed.</li></ul> | Boolean ||
  || estimateBy | *The parameter is deprecated and does not affect how the board works.*

  Information about the issue field used to estimate effort | Object ||
  || country | *The parameter is deprecated and does not affect how the board works.*

    Information about the country. | Object ||
  || calendar | Object that contains the calendar ID. Calendar data is used in the burndown chart. | Object ||
  || [autoFilterSettings](#autofilterset) | Information about filter settings that automatically add issues to and remove issues from the board | Object ||
  |#

  **Object fields** `createdBy` {#createdby}

  <!-- source: en/api/_includes/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 Identity Hub | String |
  <!-- endsource: en/api/_includes/user.md -->

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

  <!-- source: en/api/_includes/board-fields.md -->
  Parameter | Description | Data type
  -------- | -------- | ----------
  self | Address of the API resource with information about the issue parameter | String
  id | Issue parameter ID | String
  display | Displayed parameter name | String
  <!-- endsource: en/api/_includes/board-fields.md -->

  **Object fields** `autoFilterSettings` {#autofilterset}

  <!-- source: en/api/_includes/board-fields.md -->
  Parameter | Description | Data type
  -------- | -------- | ----------
  addFilterSettings | Object with filter settings for automatically adding issues to the board | Object
  removeFilterSettings | Object with filter settings for automatically removing issues from the board | Object
  <!-- endsource: en/api/_includes/board-fields.md -->


  {% endcut %}

- Request failed

    If the request was not processed successfully, the API returns a response with an error code:

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

    <!-- 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 -->

    <!-- 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 -->

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

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

{% endlist %}

[*board]: An issue board is a visual representation of issues arranged in columns. Each column corresponds to a status, for example ![](../../_assets/svg/initial.svg), ![](../../_assets/svg/progress.svg), ![](../../_assets/svg/end.svg).