---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
  - property: og:type
    content: article
  - property: article:section
    content: Справочник API
  - property: og:title
    content: Доступ к API
  - property: article:tag
    content: Техническая инструкция
alternate:
  - https://yandex.ru/support/wiki/en/api-ref/access.md
  - https://yandex.ru/support/wiki/ru/api-ref/access.md
  - href: ru/api-ref/access.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/wiki/ru/llms.txt


# Доступ к API

{% note tip "" %}

Если администратор Вики отключил доступ к API, настроить интеграцию не получится.

{% endnote %}

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


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

* По протоколу OAuth 2.0 — используется как в организации Яндекс 360 для бизнеса, так и в Yandex Identity Hub. Подробнее см. [Получить доступ к API по протоколу OAuth](#about_oauth).

* С помощью IAM-токена — используется только в организации Yandex Cloud. Подробнее см. [Получить доступ к API по IAM-токену](#iam-token).

{% note info "" %}

При авторизации в API Яндекс Вики нельзя использовать [сервисный аккаунт](https://yandex.cloud/ru/docs/iam/concepts/users/service-accounts) Yandex Cloud, отправляйте запросы только с аккаунта пользователя.

{% endnote %}


## Заголовки {#headers}

В запросах к API Яндекс Вики указывайте заголовки:

* `Host: api.wiki.yandex.net`

* Заголовок авторизации:

   - `Authorization: OAuth <OAuth-токен>` — при доступе по протоколу OAuth 2.0.

   - `Authorization: Bearer <IAM-токен>` — при доступе с помощью IAM-токена.

* Идентификатор организации:

   - `X-Org-Id` — для организации Яндекс 360 для бизнеса.
   - `X-Cloud-Org-Id` — для организации Yandex Identity Hub.


{% note tip "" %}


Чтобы узнать идентификатор организации, в сервисе [Яндекс Трекер](https://tracker.yandex.ru/admin/orgs) откройте страницу **Администрирование** → [**Организации**](https://tracker.yandex.ru/admin/orgs) и скопируйте значение поля **идентификатор**.

{% endnote %}

> Пример:
>
> ```
> Host: api.wiki.yandex.net
> Authorization: OAuth y0__xAbc*********
> X-Org-Id: 1234******
> ```


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

{% note warning "" %}

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

{% endnote %}


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



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

1. На странице **Ваши приложения** нажмите ![](../_assets/svg/add-icon.svg)</svg> **Создать**.

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

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


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

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

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


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

   ```
   https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор_приложения>
   ```
1. Войдите в аккаунт, от имени которого вы будете работать с API, и перейдите по сформированной ссылке. 

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



Чтобы проверить наличие доступа к API, выполните какой-либо запрос. Если доступ не был получен, запрос вернет ответ с кодом `401 Unauthorized`.

Например, можно выполнить запрос информации о странице `mypage` с помощью curl:

{% list tabs %}

- Unix

   ```bash
   curl -X GET 'https://api.wiki.yandex.net/v1/pages?slug=mypage' \
        -H 'Authorization: OAuth y0__xAbc******' \
        -H 'X-Org-Id: 1234******'
   ```

- Windows

   ```bash
   curl -X GET "https://api.wiki.yandex.net/v1/pages?slug=mypage" ^
        -H "Authorization: OAuth y0__xAbc******" ^
        -H "X-Org-Id: 1234******"
   ```

{% endlist %}


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

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

IAM-токен — уникальная последовательность символов, которая выдается пользователю после прохождения аутентификации. С помощью этого токена пользователь авторизуется в API Яндекс Вики и выполняет операции с ресурсами. Подробнее об этом способе аутентификации читайте в [документации сервиса идентификации и контроля доступа](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-federation)

{% note info "" %}

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

{% endnote %}


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

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

