---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.2
  - property: og:type
    content: article
  - property: article:section
    content: Справочник API
  - property: og:title
    content: Создать поле задачи
  - property: article:tag
    content: Техническая инструкция
alternate:
  - https://yandex.ru/support/tracker/en/api-ref/issues/create-field.md
  - https://yandex.ru/support/tracker/ru/api-ref/issues/create-field.md
  - href: en/api-ref/issues/create-field.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/tracker/en/llms.txt


# Creating an issue field

Use this request to create an issue [global field](https://yandex.ru/support/tracker/en/user/create-param.md#global-field) of issue.

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

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

## Query format {#query}

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

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

```json translate=no
POST /v3/fields
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth token>
X-Org-ID or X-Cloud-Org-ID: <organization_ID>

{
    "name":
    {
        "en": "Name in English",
        "ru": "Name in Russian"
    },
    "id": "global_field_key",
    "category": "0000000000000001********",
    "type": "ru.yandex.startrek.core.fields.StringFieldType"
}
```

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

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

* <!-- source: en/api-ref/_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-ref/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-ref/access.md#iam-token)
  <!-- endsource: en/api-ref/_includes/authorization.md -->


* <!-- source: en/api-ref/_includes/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 Identity Hub.

  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/api-ref/_includes/org-id.md -->


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

{% cut "Request body parameters" %}

**Required parameters**

| Parameter | Description | Data type |
----- | ----- | -----
| name | Field name:<ul><li>`en`: In English.</li><li>`ru`: In Russian</li></ul> | String |
| id | Field ID | String |
| category | Object with information about the field category.<br/>To get a list of all categories, use the HTTP request:<br/>`GET /v3/fields/categories` | String |
| type | Field type:<ul><li>`ru.yandex.startrek.core.fields.DateFieldType`: Date</li><li>`ru.yandex.startrek.core.fields.DateTimeFieldType`: Date/time</li><li>`ru.yandex.startrek.core.fields.StringFieldType`: One-line text field</li><li>`ru.yandex.startrek.core.fields.TextFieldType`: Multi-line text field</li><li>`ru.yandex.startrek.core.fields.FloatFieldType`: Fractional number</li><li>`ru.yandex.startrek.core.fields.IntegerFieldType`: Integer</li><li>`ru.yandex.startrek.core.fields.UserFieldType`: User's name</li><li>`ru.yandex.startrek.core.fields.UriFieldType`: Link</li> | String |

**Additional parameters**

| Parameter | Description | Data type |
----- | ----- | -----
| [optionsProvider](#optionsProvider1) | Object with information about the list items. | Map object |
| order | Sequence number in the list of organization fields: [https://tracker.yandex.com/admin/fields](https://tracker.yandex.com/admin/fields). | Number |
| description | Field description. | String |
| readonly | Shows if the field value is editable:<ul><li>`true`: Non-editable.</li><li>`false`: Editable.</li></ul> | Boolean |
| visible | Indicates if the field is visible in the interface:<ul><li>`true`: Always visible</li><li>`false`: Not visible</li></ul> | Boolean |
| hidden | Indicates if the field should be hidden in the interface:<ul><li>`true`: Hide the field even if it is not empty</li><li>`false`: Keep the field visible.</li></ul> | Boolean |
| container | Indicates if you can specify multiple values in the field (like in the **Tags** field):<ul><li>`true`: You can specify multiple values in the field.</li><li>`false`: You can only specify one value in the field.</li></ul>This parameter can be used for the following types of fields:<ul><li>`ru.yandex.startrek.core.fields.StringFieldType`: One-line text field</li><li>`ru.yandex.startrek.core.fields.UserFieldType`: User's name</li><li>Drop-down list (see the `optionsProvider` description)</li></ul> | Boolean |

`optionsProvider` **object fields** {#optionsProvider1}

| Parameter | Description | Data type |
-------- | -------- | ----------
| type | Drop-down list type: <ul><li>`FixedListOptionsProvider`: List of strings or numbers (for the `ru.yandex.startrek.core.fields.StringFieldType` or `ru.yandex.startrek.core.fields.IntegerFieldType` field types).</li><li>`FixedUserListOptionsProvider`: List of users (for the `ru.yandex.startrek.core.fields.UserFieldType` field type).</li></ul> | String |
| values | Drop-down list values. You can add up to 3000 values to a "Drop-down list" field. Clicking the field displays up to 10 items at a time. | Array of strings |

{% endcut %}

> Example: Create a local field of the **Drop-down list** type with a fixed set of string values.
>
> - An HTTP POST method is used.
> - Field type: `FixedListOptionsProvider`.
> - Drop-down list values: list item 1, list item 2, list item 3.
>
> ```json
> POST /v3/fields
> Host: api.tracker.yandex.net
> Authorization: OAuth <OAuth_token>
> X-Org-Id: <organization_ID>
>
> {
>    "name":
>    {
>        "en": "Name in English",
>        "ru": "Name in Russian"
>    },
>    "id": "myglobalfield",
>    "category": "0000000000000003********",
>    "type": "ru.yandex.startrek.core.fields.StringFieldType",
>    "optionsProvider": {
>        "type": "FixedListOptionsProvider",
>        "values": [
>            "list item 1",
>            "list item 2",
>            "list item 3"
>        ]
>    }
> }
> ```


## Response format {#answer}

{% list tabs %}

- Request executed successfully

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

    The response body contains information about the created issue field in JSON format.

    ```json translate=no
     {
      "self": "https://api.tracker.yandex.net/v3/fields/global_field_key",
      "id": "global_field_key",
      "name": "Field name",
      "description": "Field description",
      "key": "global_field_key",
      "version": 1,
      "schema": {
          "type": "array",
          "items": "string",
          "required": false
      },
      "readonly": false,
      "options": true,
      "suggest": false,
      "optionsProvider": {
          "type": "FixedListOptionsProvider",
          "needValidation": true,
          "values": [
              "First item",
              "Second item",
              "Third item"
          ]
      },
      "queryProvider": {
          "type": "StringOptionalQueryProvider"
      },
      "order": 5,
      "category": {
          "self": "https://api.tracker.yandex.net/v3/fields/categories/0000000000000001********",
          "id": "0000000000000001********",
          "display": "System"
      },
      "type": "standard"
  }
    ```

    {% cut "Response parameters" %}

    | Parameter | Description | Data type |
    ----- | ----- | -----
    | type | Field type | String |
    | self | Address of the API resource with information about the field. | String |
    | id | Unique field ID. | String |
    | name | Field name. | String |
    | description | Field description. | String |
    | key | Field key. | String |
    | version | Field version. each change to the field increases the version number | Number |
    | [schema](#schema) | Object with information about the field value's data type. | Map object |
    | readonly | Shows if the field value is editable:<ul><li>`true`: Non-editable.</li><li>`false`: Editable.</li></ul> | Boolean |
    | options | Shows if the list of values is restricted:<ul><li>`true`: The list of values is not restricted, you can set any value.</li><li>`false`: The list of values is restricted by the organization's settings.</li></ul> | Boolean |
    | suggest | Enables/disables search suggestions when entering field values:<ul><li>`true`: Enabled.</li><li>`false`: Disabled.</li></ul> | Boolean |
    | [optionsProvider](#optionsProvider) | Object with information about the drop-down list items | Map object |
    | [queryProvider](#queryProvider) | Object with information about the query language class.<br/>You cannot change the class using the API. | Map object |
    | order | Sequence number in the list of organization fields: [https://tracker.yandex.com/admin/fields](https://tracker.yandex.com/admin/fields) | Number |
    | [category](#category) | Object with information about the field category.<br/>To get a list of all categories, use the HTTP request:<br/>`GET /v3/fields/categories` | Map object |


    `schema` **object fields** {#schema}

    | Parameter | Description | Data type |
    -------- | -------- | ----------
    | type | Field value type. Possible data types:<ul><li>`string`: String; available for fields with a single value.</li><li>`array`: Array; available for fields with multiple values</li></ul> | String |
    | items | Value type; available for fields with multiple values | String |
    | required | Shows if the field is required:<ul><li>`true`: Required.</li><li>`false`: Optional.</li></ul> | Boolean |

     `optionsProvider` **object fields** {#optionsProvider}

    | Parameter | Description | Data type |
    -------- | -------- | ----------
    | type | Drop-down list type. | String |
    | needValidation | Indicates if a list value requires validation:<ul><li>`true`: Yes.</li><li>`false`: Do not validate the field value.</li></ul> | Boolean |
    | values | List items | Array of strings |

    `queryProvider` **object fields** {#queryProvider}

    | Parameter | Description | Data type |
    -------- | -------- | ----------
    | type | Query language type. | String |

    `category` **object fields** {#category}

    | Parameter | Description | Data type |
    -------- | -------- | ----------
    | self | Address of the API resource with information about the field category. | String |
    | id | Field category ID. | String |
    | display | Display name of the category. | String |

    {% endcut %}

 - Request failed

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

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

    <!-- source: en/api-ref/_includes/answer-error-401.md -->
    401
    :   The user is not authorized. Make sure that actions described in the [API access](https://yandex.ru/support/tracker/en/api-ref/access.md) section are performed.
    <!-- endsource: en/api-ref/_includes/answer-error-401.md -->

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

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

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

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

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

{% endlist %}
