---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
  - 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/add-external-link.md
  - https://yandex.ru/support/tracker/ru/api-ref/issues/add-external-link.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/tracker/ru/llms.txt


# Добавить внешнюю связь

Запрос позволяет создать связь для работы с [объектом внешнего приложения](https://yandex.ru/support/tracker/external-links.html).

<div class="request_example method_post yfm-clipboard">
    <p>POST</p>
    <pre><code>https://api.tracker.yandex.net/v3/issues/&lt;id_задачи>/remotelinks?backlink=true</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-ref/_assets/style/methods.md -->

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

## Формат запроса {#rec-format}

Перед выполнением запроса [получите доступ к API](https://yandex.ru/support/tracker/ru/api-ref/access.md).

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

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

{
    "relationship": "RELATES",
    "key": "<ключ_объекта>",
    "origin": "<идентификатор_приложения>"
}
```


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

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

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

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

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

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


* <!-- source: ru/api-ref/_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-ref/_includes/org-id.md -->

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


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

<!-- source: ru/api-ref/_includes/resource-issue-id.md -->
{% cut "Ресурс" %}

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

{% endcut %} 
<!-- endsource: ru/api-ref/_includes/resource-issue-id.md -->

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

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

Параметр | Описание | Тип данных
----- | ----- | -----
backlink |Значение `true` следует указать, чтобы при добавлении связи выполнить [запрос из Трекера для создания дублирующей связи во внешнем приложении](https://yandex.ru/support/tracker/ext-app-setup.html#create). | Логический

{% endcut %}

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

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

Параметр | Описание | Тип данных
----- | ----- | -----
relationship |Тип связи. Рекомендуем использовать значение `RELATES` — связан. | Строка
key |   Ключ объекта во внешнем приложении. | Строка
origin | Идентификатор приложения, с объектом которого нужно создать связь. | Строка

{% endcut %}

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

{% list tabs %}

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

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

  Тело запроса содержит информацию о созданной связи в формате JSON.

   ```json translate=no
    {
        "self": "https://api.tracker.yandex.net/v3/issues/<id_задачи>/remotelinks/51******",
        "id": 51******,
        "type": {
            "self": "https://api.tracker.yandex.net/v3/linktypes/relates",
            "id": "relates",
            "inward": "Связана",
            "outward": "Связана"
        },
        "direction": "outward",
        "object": {
            "self": "https://api.tracker.yandex.net/v3/applications/ru.yandex.bitbucket/objects/13570010********",
            "id": "13570010********",
            "key": "TEST-17",
            "application": {
                "self": "https://api.tracker.yandex.net/v3/applications/25811000********",
                "id": "25811000********",
                "type": "app",
                "name": "test-app"
            }
        },
        "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": "2021-07-19T06:18:09.327+0000",
        "updatedAt": "2021-07-19T06:18:09.327+0000"
    }

    ```

    {% cut "Параметры ответа" %}

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


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

    Параметр | Описание | Тип данных
    ----- | ----- | -----
    self | Адрес ресурса API, который содержит информацию о типе связи. | Строка
    id | Идентификатор типа связи. | Строка
    inward | Название типа связи в зависимости от [«направления»](#direction). | Строка
    outward | Название типа связи в зависимости от [«направления»](#direction). | Строка


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

    Параметр | Описание | Тип данных
    ----- | ----- | -----
    self | Адрес ресурса API, который содержит информацию об объекте внешнего приложения. | Строка
    id | Идентификатор объекта. | Строка
    key | Ключ объекта. | Строка
    [application](#application) | Блок с информацией о внешнем приложении. | Объект

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

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


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

    <!-- source: ru/api-ref/_includes/user.md -->
    Параметр | Описание | Тип данных
    ----- | ----- | -----
    self | Адрес ресурса API, который содержит информацию о пользователе. | Строка
    id | Идентификатор пользователя. | Строка
    display | Отображаемое имя пользователя. | Строка
    passportUid | Уникальный идентификатор аккаунта пользователя в организации Яндекс 360 для бизнеса и Яндекс ID. | Число
    cloudUid | Уникальный идентификатор пользователя в Yandex Identity Hub. | Строка
    <!-- endsource: ru/api-ref/_includes/user.md -->


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

    <!-- source: ru/api-ref/_includes/user.md -->
    Параметр | Описание | Тип данных
    ----- | ----- | -----
    self | Адрес ресурса API, который содержит информацию о пользователе. | Строка
    id | Идентификатор пользователя. | Строка
    display | Отображаемое имя пользователя. | Строка
    passportUid | Уникальный идентификатор аккаунта пользователя в организации Яндекс 360 для бизнеса и Яндекс ID. | Число
    cloudUid | Уникальный идентификатор пользователя в Yandex Identity Hub. | Строка
    <!-- endsource: ru/api-ref/_includes/user.md -->

    {% endcut %}

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

  Если запрос не был успешно обработан, API возвращает ответ с кодом ошибки:

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

    <!-- source: ru/api-ref/_includes/answer-error-401.md -->
    401
    :   Пользователь не авторизован. Проверьте, были ли выполнены действия, описанные в разделе [Доступ к API](https://yandex.ru/support/tracker/ru/api-ref/access.md).
    <!-- endsource: ru/api-ref/_includes/answer-error-401.md -->

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

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

{% endlist %}

