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


# Как получить доступ к API Яндекс Форм

При работе с API Яндекс Форм запросы выполняются от имени пользователя. Чтобы выполнять те или иные действия через API, пользователь, от имени которого выполняется запрос, должен иметь соответствующие права в Формах. Например, если у пользователя нет прав на получение ответов формы, соответствующие запросы к API будут недоступны.


Возможность использовать API Яндекс Форм есть у пользователей Форм для бизнеса. Подробнее см. [Возможности Форм для бизнеса](https://yandex.ru/support/forms/ru/go-to-forms.md#business-features).

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

* По протоколу OAuth 2.0 — используется как в организации Яндекс 360 для бизнеса, так и в Yandex Identity Hub. Подробнее см. [Получить доступ к API по протоколу OAuth 2.0](#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}

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

* `Host: api.forms.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.forms.yandex.net
> Authorization: OAuth y0__xAbc*********
> X-Org-Id: 1234******
> ```


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

{% note warning "" %}

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

{% endnote %}


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



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

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

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

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


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

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

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


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

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

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


Инструкции по настройке приложения в Справке Яндекс ID:

* [Как создать OAuth-приложение для доступа к API](https://yandex.ru/dev/id/doc/ru/register-api).
* [Как получить токен](https://yandex.ru/dev/id/doc/ru/tokens/debug-token).


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

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

{% list tabs %}

- Unix

   ```bash
   curl -X GET 'https://api.forms.yandex.net/v1/users/me/' \
        -H 'Authorization: OAuth y0__xAbc******' \
        -H 'X-Org-Id: 1234******'
   ```

- Windows

   ```bash
   curl -X GET "https://api.forms.yandex.net/v1/users/me/" ^
        -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 %}

