---
metadata:
  - name: generator
    content: Diplodoc Platform v5.48.2
alternate:
  - https://admin.contest.yandex.ru/docs/en/api-access.md
  - https://admin.contest.yandex.ru/docs/ru/api-access.md
---
> **Documentation Index:** Fetch the complete configuration index at https://admin.contest.yandex.ru/docs/ru/llms.txt

# API Яндекс Контеста

Помимо интерфейса панели администратора, Яндекс&nbsp;Контест предоставляет публичный API, с помощью которого можно:

* регистрировать участников соревнований;

* управлять группами пользователей;

* получать информацию о соревнованиях и задачах;

* отправлять и пересуживать посылки;

* выгружать значения мониторов и многое другое.

Актуальные методы публичного API доступны на [интерактивной странице Swagger UI](https://api.contest.yandex.net/api/public/swagger-ui.html).

## Создание приложения Яндекс&nbsp;ID {#create-app}

OAuth-токен позволяет взаимодействовать с сервисами Яндекса от имени определенного пользователя. Чтобы вызывать методы публичного API Контеста, создайте приложение в Яндекс ID и получите OAuth-токен:

1. Войдите на [страницу создания нового приложения](https://oauth.yandex.ru/client/new/) с Яндекс&nbsp;ID.

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

    Укажите свою почту для связи. Мы напишем, если в АPI будут внесены изменения, которые повлияют на&nbsp;работу вашего приложения.

1. Выберите права доступа для приложения.

    У Яндекс&nbsp;Контеста есть два типа прав:

    * **Отправка и тестирование решений на соревнованиях** (`contest:submit`)&nbsp;— действия от имени участника, например:
        * отправка посылок;
        * просмотр своей позиции в мониторе.

    * **Управление соревнованиями и участниками** (`contest:manage`)&nbsp;— действия от имени администратора, например:
        * просмотр всех посылок;
        * пересуживание решений;
        * управление группами.

1. Запомните `client_id` созданного приложения, он понадобится в&nbsp;процессе получения OAuth-токена.

## Получение OAuth-токена в Яндекс&nbsp;ID {#get-oauth-token}

Процесс получения токена зависит от платформы и способа доступа к API&nbsp;Контеста через авторизацию Яндекс&nbsp;ID. Подробнее см. в разделах [Регистрация приложения](https://yandex.ru/dev/id/doc/ru/register-client) и [Получение OAuth-токена](https://yandex.ru/dev/id/doc/ru/access) Справки API Яндекс&nbsp;ID.

## Использование методов API {#use-api}

Для авторизации передайте заголовок `Authorization` со значением `OAuth <token>`, где `<token>` — это полученный OAuth-токен без скобок и кавычек.

Пример запроса:

```bash
# Замените ABCD_some_imaginary_oauth_token_for_example_XYZ на ваш реальный токен
curl -X GET "https://api.contest.yandex.net/api/public/v2/service/capacity" -H "accept: application/json" -H "Authorization: OAuth ABCD_some_imaginary_oauth_token_for_example_XYZ"
```

### Тестирование методов API {#debug-api}

Для создания тестовых запросов перейдите на [интерактивную страницу Swagger UI](https://api.contest.yandex.net/api/public/swagger-ui.html). Чтобы отправить запрос:

1. [Создайте приложение в Яндекс&nbsp;ID](#create-app) и [получите OAuth-токен](https://yandex.ru/dev/id/doc/ru/access). Для тестирования можно использовать [отладочный токен](https://yandex.ru/dev/id/doc/ru/tokens/debug-token).

1. Вверху страницы нажмите **Authorize**.

1. В окне **Available authorizations** в поле **Value** введите OAuth-токен.

1. Нажмите кнопку **Authorize**.

1. Нажмите **Try it out** внутри любого метода и заполните параметры запроса.

1. Нажмите **Execute**.

Далее вы можете работать с методами публичного API&nbsp;Контеста и изменять параметры запросов, чтобы получать нужные данные.

## Полезные ссылки

* [О сервисе Яндекс ID](https://yandex.ru/dev/id/doc/ru/)
