---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
  - property: og:type
    content: article
  - property: article:section
    content: Справочник API
  - property: og:title
    content: Доступ к API
  - property: article:tag
    content: Техническая инструкция
alternate:
  - https://yandex.ru/support/tracker/en/api-ref/access.md
  - https://yandex.ru/support/tracker/ru/api-ref/access.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/tracker/ru/llms.txt


# Доступ к API


При работе с API Яндекс Трекера запросы выполняются от имени пользователя Трекера. Чтобы выполнять те или иные действия через API, пользователь, от имени которого выполняется запрос, должен иметь соответствующие права в Трекере. Например, если у пользователя нет прав на изменение настроек очереди, соответствующие запросы к API будут недоступны. Подробнее о правах доступа пользователей читайте в разделе [Роли и права доступа](https://yandex.ru/support/tracker/role-model.html).


Для доступа к API Яндекс Трекера можно использовать один из способов авторизации:

* По протоколу OAuth 2.0. Используется как в организациях Яндекс 360, так и в организациях Yandex Cloud. В этом случае в запросах к API Трекера указывайте заголовок:

  `Authorization: OAuth <OAuth-токен>`

  Подробнее в разделе [Получить доступ к API по протоколу OAuth 2.0](#about_OAuth).

* С помощью IAM-токена. Доступен только в организациях Yandex Cloud, в том числе с использованием [сервисных аккаунтов](https://yandex.cloud/ru/docs/iam/concepts/users/service-accounts). В этом случае в запросах к API Трекера указывайте заголовок:

  `Authorization: Bearer <IAM-токен>`

  Подробнее в разделе [Получить доступ к API по IAM-токену](#iam-token).


{% note warning "" %}

Помимо токена, в заголовках запроса нужно указать идентификатор вашей организации. Формат заголовков описан в разделе [Заголовки](https://yandex.ru/support/tracker/ru/api-ref/common-format.md#headings).

{% endnote %}

   Если вы используете для вызова API Python-клиент, укажите данные для авторизации при инициализации клиента: [Как использовать Python-клиент](#about-python-client).


## Получить доступ к API по протоколу OAuth 2.0 {#about_OAuth}

{% note warning "" %}

Если вы используете федеративный или сервисный аккаунт, авторизуйтесь с помощью [IAM-токена](#iam-token).

{% endnote %}


Чтобы получить токен:



1. Перейдите по ссылке [https://oauth.yandex.ru](https://oauth.yandex.ru).

1. На странице **Ваши приложения** нажмите <svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" fill="currentColor" aria-hidden="true" class="yc-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 14"><path fill="currentColor" fill-rule="evenodd" d="M7.873 13.125a.875.875 0 1 1-1.75 0V7.87H.875a.875.875 0 0 1 0-1.75h5.248V.874a.875.875 0 1 1 1.75 0V6.12h5.249a.875.875 0 0 1 0 1.751H7.873v5.255z" clip-rule="evenodd"/></svg></svg> **Создать**.

1. В открывшемся окне выберите вариант **Для доступа к API или отладки** и нажмите **Перейти к созданию**.

1. Укажите название приложения и почту для связи.


1. Добавьте разрешения для доступа к данным пользователя. Чтобы выбрать разрешение, начните вводить его название в поле **Название доступа**:
   * **Запись в трекер (tracker:write)** — все операции с данными: создание, удаление, редактирование.
   * **Чтение из трекера (tracker:read)** — только чтение данных.

1. Нажмите **Создать приложение**.

1. В личном кабинете [Яндекс OAuth](https://oauth.yandex.ru) выберите созданное ранее приложение и скопируйте его идентификатор из поля **ClientID**.


1. Сформируйте ссылку для запроса токена:

   ```
   https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор_приложения>
   ```

1. Войдите в аккаунт, от имени которого вы будете работать с API, и перейдите по сформированной ссылке. 

   На странице появится последовательность символов — это OAuth-токен. Скопируйте его и сохраните.



Чтобы проверить наличие доступа к API, выполните [запрос информации о текущем пользователе](https://yandex.ru/support/tracker/ru/api-ref/users/get-user-info.md). Если доступ не был получен, запрос вернет ответ с кодом `401 Unauthorized`.

Пример запроса информации о текущем пользователе с помощью curl:

<!-- source: ru/api-ref/_includes/curl-request.md -->
{% list tabs %}

- Unix

   ```bash
   curl -X GET 'https://api.tracker.yandex.net/v3/myself' \
        -H 'Authorization: OAuth y0__xAbc******' \
        -H 'X-Org-ID: 1234******'
   ```

- Windows

   ```bash
   curl -X GET "https://api.tracker.yandex.net/v3/myself" ^
        -H "Authorization: OAuth y0__xAbc******" ^
        -H "X-Org-ID: 1234******"
   ```

{% endlist %}
<!-- endsource: ru/api-ref/_includes/curl-request.md -->



## Получить доступ к API по IAM-токену {#iam-token}

Если вы используете Трекер в составе организации Yandex Cloud, для авторизации в API можно использовать IAM-токен.

IAM-токен — уникальная последовательность символов, которая выдается пользователю после прохождения аутентификации. С помощью этого токена пользователь авторизуется в API Яндекс Трекера и выполняет операции с ресурсами.

Чтобы отправлять запросы к API Трекера от имени сервисного аккаунта, сначала обратитесь в [службу поддержки](https://yandex.ru/support/tracker/ru/feedback.md) с указанием id облачной организации и id сервисного аккаунта. В противном случае запросы к API будут завершаться ошибкой с кодом `401 Unauthorized`.

Подробнее об этом способе аутентификации читайте в [документации сервиса идентификации и контроля доступа](https://yandex.cloud/ru/docs/iam/concepts/authorization/iam-token).

* [Как получить IAM-токен для аккаунта на Яндексе](https://yandex.cloud/ru/docs/iam/operations/iam-token/create)
* [Как получить IAM-токен для сервисного аккаунта](https://yandex.cloud/ru/docs/iam/operations/iam-token/create-for-sa)
* [Как получить IAM-токен для федеративного аккаунта](https://yandex.cloud/ru/docs/iam/operations/iam-token/create-for-federation)

{% note info "" %}

IAM-токен действует не больше 12 часов и ограничен временем жизни куки у [федерации](https://yandex.cloud/ru/docs/organization/concepts/add-federation). После истечения срока жизни токена вернется ошибка с кодом `401 Unauthorized`.

{% endnote %}



## Как использовать Python-клиент {#about-python-client}

При разработке приложений на языке Python вы можете использовать пакет [yandex_tracker_client](https://github.com/yandex/yandex_tracker_client) — клиент, который облегчает работу с API Трекера.

Чтобы начать пользоваться клиентом:

1. Скачайте и установите на свой компьютер актуальную версию Python с сайта [https://www.python.org/downloads/](https://www.python.org/downloads/).

1. В командной строке вашей ОС выполните команду:


    ```
    pip install yandex_tracker_client
    ```



1. Получите [OAuth-токен](#about_OAuth) или [IAM-токен](#iam-token) для авторизации.

1. Узнайте идентификатор вашей организации.

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

1. Инициализируйте клиент в коде вашей программы:

   <!-- source: ru/api-ref/_includes/python-init.md -->
   {% list tabs %}

   - В организации Яндекс 360 для бизнеса

       ```
       from yandex_tracker_client import TrackerClient
       client = TrackerClient(token='<OAuth-токен>', org_id='<идентификатор_организации>')
       ```
   - В организации Yandex Cloud

       ```
       from yandex_tracker_client import TrackerClient
       client = TrackerClient(token='<OAuth-токен>', cloud_org_id='<идентификатор_организации>')
       ```

   {% endlist %}


   Здесь `<OAuth-токен>` — ваш OAuth-токен, а `<идентификатор_организации>` — идентификатор организации.
   <!-- endsource: ru/api-ref/_includes/python-init.md -->

В клиенте используйте такой же формат данных, как в API Яндекс Трекера.

Подробнее о работе клиента и условиях использования читайте на его странице в GitHub: [https://github.com/yandex/yandex_tracker_client](https://github.com/yandex/yandex_tracker_client).


<!-- source: ru/_assets/style/image.md -->

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