> ## Documentation Index
> Fetch the complete documentation index at: https://faq.exode.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# API

> API школы для интеграций: как выпустить API-ключ, настроить его права, авторизоваться и какие ограничения действуют. Полный справочник методов — на docs.exode.biz.

API школы позволяет внешним системам работать с данными школы без участия сотрудников: создавать и находить пользователей, записывать их на курсы, читать прогресс, доступы и счета, синхронизировать сотрудников, запускать выгрузки. API построено по принципу REST и работает по HTTPS.

Эта статья — обзор: как получить ключ и какие правила действуют. Описание всех методов, параметров и ответов — в документации для разработчиков: [docs.exode.biz](https://docs.exode.biz).

## API-ключи

Запросы к API выполняются от имени служебного пользователя — API-ключа. У каждого ключа свой токен и свой набор прав.

Ключи находятся в разделе **Панель управления → Моя школа → Для разработчиков → API-ключи** (в корпоративной школе — **Панель управления → Компания → Для разработчиков → API-ключи**).

* Просматривать, выпускать и перевыпускать ключи может только владелец школы.
* В школе может быть не больше 5 ключей.

В списке ключей для каждого ключа показаны адрес служебного пользователя, начало и конец токена, число прав, состояние **Активен** или **Не активен** и дата выпуска.

### Как выпустить ключ

**1. Нажмите «Создать API-ключ»**

Платформа создаст служебного пользователя и выпустит для него токен.

**2. Сохраните токен**

В окне **API-ключ** скопируйте токен и сохраните его в надёжном месте. Токен показывается целиком только один раз. Потом в списке видно только его начало и конец.

**3. Скопируйте идентификаторы**

Ниже списка ключей, в блоке **Данные для интеграции**, нажмите карточку **Идентификаторы**. В буфер попадут оба идентификатора, которые нужны в каждом запросе: Seller-Id и School-Id.

**4. Проверьте права**

В меню ключа выберите **Редактировать**, отметьте нужные права и нажмите **Сохранить**.

### Права ключа

Новый ключ сразу получает права, которые нужны методам API: управление пользователями, курсами, учениками, формами и базой заданий. Коммерческие школы дополнительно получают права **Продажи школы** и **Возвраты школы**, школы для корпоративного обучения — права на управление и просмотр персонала.

Права сгруппированы по разделам: **Управление школой**, **Управление курсами**, **Управление формами** и другие. Оставьте ключу только те права, которые нужны интеграции. Если у ключа нет нужного права, метод вернёт ошибку доступа. Какие права нужны каждому методу, описано в [документации API](https://docs.exode.biz/ru/exode-api/permissions).

### Выключение и перевыпуск

* Чтобы временно остановить интеграцию, выключите ключ переключателем в списке. Запросы с его токеном перестанут проходить, пока ключ не включат снова.
* Если токен потерян или мог попасть к посторонним, выберите в меню ключа **Перевыпустить API-ключ** и подтвердите. Старый токен перестаёт работать сразу, новый показывается один раз.

У токена нет срока действия: он работает, пока ключ не перевыпустят.

> [!WARNING]
>
> Токен даёт доступ к данным школы в объёме прав ключа. Храните его только на своём сервере. Не вставляйте токен в кастомный код школы, мобильные приложения и код, который выполняется в браузере.

## Как отправлять запросы

Адрес методов строится так: `https://api.exode.biz/saas/v2/` плюс путь метода из документации. В каждом запросе передайте три заголовка:

| Заголовок | Значение |
| - | - |
| `Authorization` | `Bearer` и токен API-ключа через пробел |
| `Seller-Id` | Seller-Id из блока **Идентификаторы** |
| `School-Id` | School-Id из блока **Идентификаторы** |

```bash theme={null}
curl 'https://api.exode.biz/saas/v2/user/find?extId=crm_12345' \
  --header 'Authorization: Bearer YOUR_TOKEN' \
  --header 'Seller-Id: 123' \
  --header 'School-Id: 456'
```

Ответ приходит в формате JSON. В успешном ответе поле `success` равно `true`, а данные лежат в поле `payload`. В ответе с ошибкой `success` равно `false`, а причина — в полях `cause` и `message`.

Для сервера на Node.js есть готовый клиент — пакет `@exode-team/sdk`. Подробнее — в разделе [Exode SDK](https://docs.exode.biz/ru/exode-sdk/overview).

## Что можно делать через API

| Раздел | Возможности |
| - | - |
| Пользователи | Создание, обновление, поиск, список, удаление, служебные состояния, токен для входа |
| Сотрудники | Отделы, должности, сотрудники и отсутствия — только для корпоративного обучения, см. [API и синхронизация оргструктуры](https://faq.exode.biz/ru/corporate/api.md) |
| Группы | Список групп, добавление и удаление участников |
| Курсы | Список, получение, создание и изменение курса, запись на курс, прогресс учеников, сертификаты |
| Доступы и продажи | Доступы к продуктам и счета (счета — только в коммерческой школе) |
| Выгрузки | Запуск выгрузок таблиц и получение готового файла |
| Формы | Макеты форм и значения дополнительных полей |

Вебхуки через API не настраиваются — только в кабинете. См. [Вебхуки](https://faq.exode.biz/ru/general/developers/webhooks.md).

## Ограничения

| Ограничение | Значение |
| - | - |
| API-ключей в школе | Не больше 5 |
| Запуск выгрузок | Не больше 100 в час на один ключ |
| Размер страницы в списках | До 1000 записей, по умолчанию 100 |
| Превышение лимита запросов | Ответ с кодом 429 и временем, когда можно повторить запрос |

Лимиты отдельных методов указаны в [документации API](https://docs.exode.biz/ru/exode-api/setup).

## Частые вопросы

> **Я потерял токен. Как его посмотреть?**
>
> Посмотреть токен повторно нельзя: целиком он показывается только при выпуске. Перевыпустите ключ через **Перевыпустить API-ключ** и обновите токен в своей интеграции.

> **Почему у сотрудника не получается создать API-ключ?**
>
> Работать с API-ключами может только владелец школы — даже сотрудник со всеми правами не сможет выпустить или перевыпустить ключ. Попросите владельца выпустить ключ и передать токен разработчику по защищённому каналу.

> **Почему при создании ключа появляется «Лимит API-ключей - 5»?**
>
> В школе уже 5 ключей. Перевыпустите один из существующих ключей вместо создания нового. Если ключей действительно не хватает, напишите в поддержку.

> **Запрос возвращает ошибку доступа. Что проверить?**
>
> Проверьте, что ключ включён, токен передан в заголовке `Authorization` после слова `Bearer`, а заголовки `Seller-Id` и `School-Id` взяты из блока **Идентификаторы** вашей школы. Затем проверьте права ключа: у метода должно быть нужное право.

> **Как долго действует токен?**
>
> Токен не истекает. Он перестаёт работать, только если ключ перевыпустили или выключили.

> **Можно ли использовать токен в браузере или в мобильном приложении?**
>
> Нет. Любой, кто получит токен, сможет работать с данными школы. Отправляйте запросы к API только со своего сервера.

> **Изменятся ли Seller-Id и School-Id после перевыпуска ключа?**
>
> Нет. Идентификаторы относятся к школе и не меняются при перевыпуске токена.

> **Как получить уведомление о событии без постоянных запросов к API?**
>
> Используйте вебхуки: платформа сама отправит запрос на ваш адрес, когда произойдёт событие. См. [Вебхуки](https://faq.exode.biz/ru/general/developers/webhooks.md).

***

*Обновлено: 2026-10-15 18:08 UTC*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.