---
metadata:
  - name: generator
    content: Diplodoc Platform v5.57.3
  - 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/import/import-links.md
  - https://yandex.ru/support/tracker/ru/api/import/import-links.md
  - href: ru/api/import/import-links.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
title: Как импортировать связи
description: В данной статье описаны особенности импорта связей.
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/tracker/ru/llms.txt


# Импортировать связи

С помощью запроса вы можете импортировать в Трекер связи задачи с другими задачами.

<div class="request_example yfm-code-floating-container method_post">
    <p>POST</p>
    <pre><code>https://api.tracker.yandex.net/v3/issues/&lt;id_задачи>/links/_import</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: ru/api/_assets/style/methods.md -->

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

{% note warning "" %}

Запрос может быть выполнен только от имени [администратора](https://yandex.ru/support/tracker/role-model.html).


{% endnote %}

## Формат запроса {#query}

Чтобы импортировать связь, используйте HTTP-запрос с методом `POST`. Параметры связи передаются в теле запроса в формате JSON:

```json translate=no
POST /v3/issues/<id_задачи>/links/_import
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth-токен>
Content-Type: application/json
X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>

{
  "relationship": "relates",
  "issue": "TEST-2",
  "createdAt": "2017-08-29T12:34:41.740+0000",
  "createdBy": 11********,
  "updatedAt": "2017-09-07T11:24:31.140+0000",
  "updatedBy": 11********
}
```

<!-- source: ru/api/_includes/headings.md -->
{% cut "Заголовки" %}

* `Host`: адрес узла, предоставляющего API.

* <!-- source: ru/api/_includes/authorization.md -->
  `Authorization`: токен для авторизации в одном из форматов:

    - `OAuth <OAuth-токен>` при авторизации по протоколу OAuth 2.0. [Читать подробнее](https://yandex.ru/support/tracker/ru/api/access.md#about_OAuth)

    - `Bearer <IAM-токен>` при авторизации с помощью IAM-токена — если к Трекеру привязана организация Yandex Identity Hub. [Читать подробнее](https://yandex.ru/support/tracker/ru/api/access.md#iam-token)
  <!-- endsource: ru/api/_includes/authorization.md -->

* <!-- source: ru/api/_includes/content-type-json.md -->
  `Content-Type`: формат тела запроса. Должен иметь значение `application/json`.
  <!-- endsource: ru/api/_includes/content-type-json.md -->


* <!-- source: ru/api/_includes/org-id.md -->
  `X-Org-ID` или `X-Cloud-Org-ID`: идентификатор организации.

  - если к Трекеру привязана организация Яндекс 360 для бизнеса, используйте заголовок `X-Org-ID`,

  - если к Трекеру привязана организация Yandex Identity Hub, используйте заголовок `X-Cloud-Org-ID`.
  <!-- endsource: ru/api/_includes/org-id.md -->

  <!-- source: ru/api/_includes/org-id.md -->
  Чтобы узнать идентификатор организации, перейдите на страницу **Администрирование** → [**Организации**](https://tracker.yandex.ru/admin/orgs) и скопируйте значение поля **идентификатор**.
  <!-- endsource: ru/api/_includes/org-id.md -->


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

{% cut "Ресурс" %}

Параметр | Описание | Тип данных
--- | --- | ---
\<id_задачи\> | Ключ задачи, к которой будет прикреплен файл. | Строка

{% endcut %}

{% cut "Параметры тела запроса" %}

**Обязательные параметры**

Параметр | Описание | Тип данных
-------- | -------- | ----------
relationship | Тип связи между задачами:<ul><li>`relates` — простая связь.</li><li>`is dependent by` — текущая задача является блокером.</li><li>`depends on` — текущая задача зависит от связываемой</li><li>`is subtask for` — текущая задача является подзадачей связываемой.</li><li>`is parent task for` — текущая задача является родительской для связываемой задачи.</li><li>`duplicates` — текущая задача дублирует связываемую.</li><li>`is duplicated by` — связываемая задача дублирует текущую.</li><li>`is epic of` — текущая задача является эпиком связываемой. Связь такого типа можно установить только для задач типа "Эпик".</li><li>`has epic` — связываемая задача является эпиком текущей. Связь такого типа можно установить только для задач типа "Эпик".</li><li>`clone` — связываемая задача является копией текущей.</li><li>`original` — текущая задача является копией связанной.</li></ul> | Строка
issue | Идентификатор или ключ связываемой задачи. | Строка
createdAt | Дата и время создания связи. формате `YYYY-MM-DDThh:mm:ss.sss±hhmm`. Вы можете указать время в интервале от создания до последнего обновления задач, между которыми устанавливается связь. | Строка
createdBy | Логин или идентификатор создателя связи. | <ul><li>Строка для логина</li><li>Число для идентификатора</li></ul>

**Дополнительные параметры**

Параметр | Описание | Тип данных
-------- | -------- | ----------
updatedAt | Дата и время последнего изменения связи. формате `YYYY-MM-DDThh:mm:ss.sss±hhmm`. Вы можете указать время в интервале от создания до последнего обновления задач, между которыми устанавливается связь.<br/><br/>Параметр указывается только вместе с параметром `updatedBy`. | Строка
updatedBy | Логин или идентификатор пользователя, который редактировал связь последним.<br/><br/>Параметр указывается только вместе с параметром `updatedAt`. | <ul><li>Строка для логина</li><li>Число для идентификатора</li></ul>

{% endcut %}

## Формат ответа {#answer}

{% list tabs %}

- Запрос выполнен успешно

    <!-- source: ru/api/_includes/answer-200.md -->
    В случае успешного выполнения запроса API возвращает ответ с кодом `200 OK`.
    <!-- endsource: ru/api/_includes/answer-200.md -->

    Тело ответа содержит параметры прикрепленного файла в формате JSON:

    ```json translate=no
    {
            "self": "https://api.tracker.yandex.net/v3/issues/JUNE-2/links/47*****",
            "id": 47*****,
            "type": {
                "self": "https://api.tracker.yandex.net/v3/linktypes/subtask",
                "id": "subtask",
                "inward": "Подзадача",
                "outward": "Родительская задача"
            },
            "direction": "outward",
            "object": {
                "self": "https://api.tracker.yandex.net/v3/issues/TREK-9844",
                "id": "593cd211ef7e8a33********",
                "key": "TREK-9844",
                "display": "subtask"
            },
            "createdBy": {
                "self": "https://api.tracker.yandex.net/v3/users/11********",
                "id": "11********",
                "display": "Имя Фамилия"
            },
            "updatedBy": {
                "self": "https://api.tracker.yandex.net/v3/users/11********",
                "id": "11********",
                "display": "Имя Фамилия"
            },
            "createdAt": "2017-06-11T05:16:01.421+0000",
            "updatedAt": "2017-06-11T05:16:01.421+0000",
            "assignee": {
                "self": "https://api.tracker.yandex.net/v3/users/11********",
                "id": "11********",
                "display": "Имя Фамилия"
            },
            "status": {
                "self": "https://api.tracker.yandex.net/v3/statuses/1",
                "id": "1",
                "key": "open",
                "display": "Открыт"
            }
        }
    ```
    {% cut "Параметры ответа" %}

    Параметр | Описание | Тип данных
    -------- | -------- | ----------
    self | Адрес ресурса API, который содержит информацию о связи. | Строка
    id | Идентификатор связи. | Число
    [type](#type) | Блок с информацией о типе связи. | Объект
    sdirection | Тип связи задачи, указанной в запросе, по отношению к задаче в поле [object](#resp-object-param). Возможны следующие значения:<ul><li>`outward` — задача, указанная в запросе, является основной для задачи в поле [object](#resp-object-param).</li><li>`inward` — задача в поле [object](#resp-object-param) является основной для задачи, указанной в запросе.</li></ul> | Строка
    [object](#object) | Блок с информацией о связанной задаче. | Объект
    [createdBy](#createdBy) | Блок с информацией о создателе связи. | Объект
    [updatedBy](#updatedBy) | Блок с информацией о последнем изменившем связанную задачу пользователе. | Объект
    createdAt | Дата и время создания связи. | Строка
    updatedAt | Дата и время изменения связи. | Строка
    [assignee](#assignee) | Исполнитель связанной задачи. | Объект
    [status](#status) | Статус связанной задачи. | Объект

    **Поля объекта** `type` {#type}

    Параметр | Описание | Тип данных
    -------- | -------- | ----------
    self | Ссылка на тип связи. | Строка
    id | Идентификатор типа связи. | Строка
    inward | Название типа связи задачи в поле [object](#resp-object-param) по отношению к задаче, указанной в запросе. | Строка
    outward | Название типа связи задачи, указанной в запросе, по отношению к задаче в поле [object](#resp-object-param). | Строка

    **Поля объекта** `object` {#object}

    Параметр | Описание | Тип данных
    -------- | -------- | ----------
    self | Адрес ресурса API, который содержит информацию о задаче. | Строка
    id | Идентификатор задачи. | Строка
    key | Ключ задачи. | Строка
    display | Отображаемое название задачи. | Строка

    **Поля объекта** `createdBy` {#createBy}

    Параметр | Описание | Тип данных
    -------- | -------- | ----------
    self | Ссылка на пользователя. | Строка
    id | Идентификатор пользователя. | Строка
    display | Отображаемое имя пользователя. | Строка

    **Поля объекта** `updatedBy` {#updatedBy}

    Параметр | Описание | Тип данных
    -------- | -------- | ----------
    self | Ссылка на пользователя. | Строка
    id | Идентификатор пользователя. | Строка
    display | Отображаемое имя пользователя. | Строка

    **Поля объекта** `assignee` {#asignee}

    Параметр | Описание | Тип данных
    -------- | -------- | ----------
    self | Ссылка на пользователя. | Строка
    id | Идентификатор пользователя. | Строка
    display | Отображаемое имя пользователя. | Строка

    **Поля объекта** `status` {#status}

    Параметр | Описание | Тип данных
    -------- | -------- | ----------
    self | Ссылка на статус. | Строка
    id | Идентификатор статуса. | Строка
    key | Ключ статуса. | Строка
    display | Отображаемое название статуса. | Строка

    {% endcut %}

- Запрос выполнен с ошибкой

    Если запрос не был успешно обработан, ответное сообщение содержит информацию о возникших ошибках:

    <!-- source: ru/api/_includes/answer-error-400.md -->
    400
    :   Один или несколько параметров запроса имеют недопустимое значение.
    <!-- endsource: ru/api/_includes/answer-error-400.md -->

    <!-- source: ru/api/_includes/answer-error-403.md -->
    403
    :   У вас не хватает прав на выполнение этого действия. Наличие прав можно перепроверить в интерфейсе Трекера — для выполнения действия при помощи API и через интерфейс требуются одинаковые права.
    <!-- endsource: ru/api/_includes/answer-error-403.md -->

    <!-- source: ru/api/_includes/answer-error-404.md -->
    404
    :   Запрошенный объект не был найден. Возможно, вы указали неверное значение идентификатора или ключа объекта.
    <!-- endsource: ru/api/_includes/answer-error-404.md -->

    <!-- source: ru/api/_includes/answer-error-422.md -->
    422 
    :   Ошибка валидации JSON, запрос отклонен.
    <!-- endsource: ru/api/_includes/answer-error-422.md -->

    <!-- source: ru/api/_includes/answer-error-500.md -->
    500
    :   Внутренняя ошибка сервиса. Попробуйте повторно отправить запрос через некоторое время.
    <!-- endsource: ru/api/_includes/answer-error-500.md -->

    <!-- source: ru/api/_includes/answer-error-503.md -->
    503
    :   Сервис API временно недоступен.    
    <!-- endsource: ru/api/_includes/answer-error-503.md -->

{% endlist %}
