Документация LMS версия 2026.09.180

Документация/Проект API/Пользователи и доступ

Это проектная спецификация, а не работающее API: реализации ещё нет, адреса могут измениться.

Пользователи и доступ

Операций в разделе: 31.

у 5 описание выведено из имени операции. Спецификация написана каталогом путей, прозы для них там не было; выдумывать поведение мы не стали. Подробнее — Чего в справочнике ещё нет.

GET /v1/custom-fields #

определения произвольных полей

Параметры:

  • limit — сколько вернуть, 1…1000, по умолчанию 50
  • cursor — позиция продолжения из next_cursor
  • sort — сортировка, минус для убывания
  • expand — развернуть связи
  • fields — вернуть только эти поля
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X GET 'https://school.example.com/api/v1/custom-fields' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Accept: application/json'

Коды ответа: 200, 401, 403, 429, 500, 503.

Чего здесь нет: состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

POST /v1/custom-fields #

Создать произвольное поле. Фраза выведена из имени операции: в спецификации описания нет.

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X POST 'https://school.example.com/api/v1/custom-fields' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Коды ответа: 201, 400, 401, 403, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

GET /v1/groups #

группы и потоки

Параметры:

  • limit — сколько вернуть, 1…1000, по умолчанию 50
  • cursor — позиция продолжения из next_cursor
  • sort — сортировка, минус для убывания
  • expand — развернуть связи
  • fields — вернуть только эти поля
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X GET 'https://school.example.com/api/v1/groups' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Accept: application/json'

Коды ответа: 200, 401, 403, 429, 500, 503.

Чего здесь нет: состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

POST /v1/groups #

Создать группу. Фраза выведена из имени операции: в спецификации описания нет.

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X POST 'https://school.example.com/api/v1/groups' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Коды ответа: 201, 400, 401, 403, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

DELETE /v1/groups/{id} #

только пустую: удаление с составом — потеря данных

В пути: id

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X DELETE 'https://school.example.com/api/v1/groups/{id}' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Вместо {…} подставьте идентификатор объекта — про их формат в разделе Формат.

Коды ответа: 200, 400, 401, 403, 404, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

GET /v1/groups/{id} #

Группа по идентификатору. Фраза выведена из имени операции: в спецификации описания нет.

В пути: id

Параметры:

  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X GET 'https://school.example.com/api/v1/groups/{id}' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Accept: application/json'

Вместо {…} подставьте идентификатор объекта — про их формат в разделе Формат.

Коды ответа: 200, 401, 403, 404, 429, 500, 503.

Чего здесь нет: состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

PATCH /v1/groups/{id} #

имя, описание, куратор, дата старта потока

В пути: id

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X PATCH 'https://school.example.com/api/v1/groups/{id}' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Вместо {…} подставьте идентификатор объекта — про их формат в разделе Формат.

Коды ответа: 200, 400, 401, 403, 404, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

GET /v1/groups/{id}/members #

Список участников группы. Фраза выведена из имени операции: в спецификации описания нет.

В пути: id

Параметры:

  • limit — сколько вернуть, 1…1000, по умолчанию 50
  • cursor — позиция продолжения из next_cursor
  • sort — сортировка, минус для убывания
  • expand — развернуть связи
  • fields — вернуть только эти поля
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X GET 'https://school.example.com/api/v1/groups/{id}/members' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Accept: application/json'

Вместо {…} подставьте идентификатор объекта — про их формат в разделе Формат.

Коды ответа: 200, 401, 403, 404, 429, 500, 503.

Чего здесь нет: состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

POST /v1/groups/{id}/members #

добавить (одного или список)

В пути: id

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X POST 'https://school.example.com/api/v1/groups/{id}/members' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Вместо {…} подставьте идентификатор объекта — про их формат в разделе Формат.

Коды ответа: 201, 400, 401, 403, 404, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

DELETE /v1/groups/{id}/members/{userId} #

Удалить участника группы. Фраза выведена из имени операции: в спецификации описания нет.

В пути: id, userId

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X DELETE 'https://school.example.com/api/v1/groups/{id}/members/{userId}' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Вместо {…} подставьте идентификатор объекта — про их формат в разделе Формат.

Коды ответа: 200, 400, 401, 403, 404, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

GET /v1/groups/{id}/transfer #

Показать, что изменится при переносе ученика в этот поток, не перенося: как сдвинутся даты открытия уроков, что станет с прогрессом и с назначенным куратором.

В пути: id

Параметры:

  • userId — Параметр назван в спецификации; тип и обязательность не заданы.
  • limit — сколько вернуть, 1…1000, по умолчанию 50
  • cursor — позиция продолжения из next_cursor
  • sort — сортировка, минус для убывания
  • expand — развернуть связи
  • fields — вернуть только эти поля
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X GET 'https://school.example.com/api/v1/groups/{id}/transfer' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Accept: application/json'

Вместо {…} подставьте идентификатор объекта — про их формат в разделе Формат.

Коды ответа: 200, 401, 403, 404, 429, 500, 503.

Чего здесь нет: состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

POST /v1/groups/{id}/transfer #

Перенести ученика в поток. Прогресс, ответы и сертификаты сохраняются. Расписание пересчитывается от даты старта нового потока — часть открытых уроков может закрыться, и это показывает предварительный просмотр выше.

В пути: id

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X POST 'https://school.example.com/api/v1/groups/{id}/transfer' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Вместо {…} подставьте идентификатор объекта — про их формат в разделе Формат.

Коды ответа: 201, 400, 401, 403, 404, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

GET /v1/identities #

способы входа

Параметры:

  • limit — сколько вернуть, 1…1000, по умолчанию 50
  • cursor — позиция продолжения из next_cursor
  • sort — сортировка, минус для убывания
  • expand — развернуть связи
  • fields — вернуть только эти поля
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X GET 'https://school.example.com/api/v1/identities' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Accept: application/json'

Коды ответа: 200, 401, 403, 429, 500, 503.

Чего здесь нет: состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

POST /v1/identities #

привязать Telegram / WhatsApp / соцсеть

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X POST 'https://school.example.com/api/v1/identities' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Коды ответа: 201, 400, 401, 403, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

DELETE /v1/identities/{id} #

отвязать

В пути: id

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X DELETE 'https://school.example.com/api/v1/identities/{id}' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Вместо {…} подставьте идентификатор объекта — про их формат в разделе Формат.

Коды ответа: 200, 400, 401, 403, 404, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

GET /v1/roles #

роли и права

Параметры:

  • limit — сколько вернуть, 1…1000, по умолчанию 50
  • cursor — позиция продолжения из next_cursor
  • sort — сортировка, минус для убывания
  • expand — развернуть связи
  • fields — вернуть только эти поля
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X GET 'https://school.example.com/api/v1/roles' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Accept: application/json'

Коды ответа: 200, 401, 403, 429, 500, 503.

Чего здесь нет: состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

GET /v1/users #

список, фильтры, сегменты

Параметры:

  • limit — сколько вернуть, 1…1000, по умолчанию 50
  • cursor — позиция продолжения из next_cursor
  • sort — сортировка, минус для убывания
  • expand — развернуть связи
  • fields — вернуть только эти поля
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X GET 'https://school.example.com/api/v1/users' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Accept: application/json'

Коды ответа: 200, 401, 403, 429, 500, 503.

Чего здесь нет: состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

POST /v1/users #

создать

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X POST 'https://school.example.com/api/v1/users' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Коды ответа: 201, 400, 401, 403, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

DELETE /v1/users/{id} #

мягкое удаление

В пути: id

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X DELETE 'https://school.example.com/api/v1/users/usr_01HQZX3M8K4N2P' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Коды ответа: 200, 400, 401, 403, 404, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

GET /v1/users/{id} #

получить (или по email: /v1/users/by-email/{email})

В пути: id

Параметры:

  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X GET 'https://school.example.com/api/v1/users/usr_01HQZX3M8K4N2P' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Accept: application/json'

Коды ответа: 200, 401, 403, 404, 429, 500, 503.

Чего здесь нет: состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

PATCH /v1/users/{id} #

изменить

В пути: id

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X PATCH 'https://school.example.com/api/v1/users/usr_01HQZX3M8K4N2P' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Коды ответа: 200, 400, 401, 403, 404, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

GET /v1/users/{id}/activity #

лента активности

В пути: id

Параметры:

  • limit — сколько вернуть, 1…1000, по умолчанию 50
  • cursor — позиция продолжения из next_cursor
  • sort — сортировка, минус для убывания
  • expand — развернуть связи
  • fields — вернуть только эти поля
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X GET 'https://school.example.com/api/v1/users/usr_01HQZX3M8K4N2P/activity' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Accept: application/json'

Коды ответа: 200, 401, 403, 404, 429, 500, 503.

Чего здесь нет: состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

POST /v1/users/{id}/anonymize #

Обезличить человека по требованию субъекта. Необратимо. Имя и контакты заменяются на обезличенные, учебные события и денежные документы остаются: их школа обязана хранить по 54-ФЗ и бухгалтерскому учёту. Вход становится невозможен. Само действие — событие в журнале.

В пути: id

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X POST 'https://school.example.com/api/v1/users/usr_01HQZX3M8K4N2P/anonymize' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Коды ответа: 201, 400, 401, 403, 404, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

GET /v1/users/{id}/consents #

Журнал согласий: что, когда, по какой версии документа и каким способом получено, когда отозвано. Отзыв — revokedAt, строки не исчезают: нужно уметь доказать, что до 15 марта согласие было и рассылка 10 марта была законной.

В пути: id

Параметры:

  • limit — сколько вернуть, 1…1000, по умолчанию 50
  • cursor — позиция продолжения из next_cursor
  • sort — сортировка, минус для убывания
  • expand — развернуть связи
  • fields — вернуть только эти поля
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X GET 'https://school.example.com/api/v1/users/usr_01HQZX3M8K4N2P/consents' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Accept: application/json'

Коды ответа: 200, 401, 403, 404, 429, 500, 503.

Чего здесь нет: состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

POST /v1/users/{id}/consents #

Зафиксировать согласие. Одно согласие — одна цель; общего «согласен со всем» не существует. Записываются версия документа, способ и момент. Согласие, привезённое импортом, помечается способом import и юридически является отметкой «утверждается, что оно получено там», а не согласием.

В пути: id

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X POST 'https://school.example.com/api/v1/users/usr_01HQZX3M8K4N2P/consents' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Коды ответа: 201, 400, 401, 403, 404, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

GET /v1/users/{id}/export #

Выгрузить все данные субъекта одним файлом — право на переносимость. Отдаётся то, что относится к человеку: профиль, согласия, зачисления, прогресс, ответы, заказы, платежи, переписка. Не отдаётся ничего о других людях.

В пути: id

Параметры:

  • limit — сколько вернуть, 1…1000, по умолчанию 50
  • cursor — позиция продолжения из next_cursor
  • sort — сортировка, минус для убывания
  • expand — развернуть связи
  • fields — вернуть только эти поля
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X GET 'https://school.example.com/api/v1/users/usr_01HQZX3M8K4N2P/export' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Accept: application/json'

Коды ответа: 200, 401, 403, 404, 429, 500, 503.

Чего здесь нет: состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

POST /v1/users/{id}/login-link #

Выдать одноразовую ссылку входа, действующую 5 минут. Привязывается к первому открывшему её браузеру. Не работает для владельца и администраторов — иначе это обход двухфакторной проверки.

В пути: id

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X POST 'https://school.example.com/api/v1/users/usr_01HQZX3M8K4N2P/login-link' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Коды ответа: 201, 400, 401, 403, 404, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

POST /v1/users/{id}/roles #

Назначить человеку роль сотрудника. Зачисления, прогресс, ответы и сертификаты не затрагиваются никогда — роль отвечает только за права в админке (ADR-049).

В пути: id

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X POST 'https://school.example.com/api/v1/users/usr_01HQZX3M8K4N2P/roles' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Коды ответа: 201, 400, 401, 403, 404, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

DELETE /v1/users/{id}/roles/{role} #

Снять роль. Права в админке пропадают немедленно, её сессии в админке гасятся. Обучение и доступы остаются целиком: человек становится учеником. Ответы, ждавшие проверки именно у него, возвращаются в общую ленту.

В пути: id, role

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X DELETE 'https://school.example.com/api/v1/users/usr_01HQZX3M8K4N2P/roles/{role}' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Вместо {…} подставьте идентификатор объекта — про их формат в разделе Формат.

Коды ответа: 200, 400, 401, 403, 404, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

POST /v1/users/{id}/tags #

проставить теги

В пути: id

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X POST 'https://school.example.com/api/v1/users/usr_01HQZX3M8K4N2P/tags' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Коды ответа: 201, 400, 401, 403, 404, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

DELETE /v1/users/{id}/tags/{tag} #

снять тег

В пути: id, tag

Параметры:

  • Idempotency-Key — заголовок, защита от двойного выполнения
  • X-On-Behalf-Of — заголовок, действие от лица пользователя

Запрос:

curl -X DELETE 'https://school.example.com/api/v1/users/usr_01HQZX3M8K4N2P/tags/{tag}' \
  -H 'Authorization: Bearer lms_live_a8f3c1e9d2b74a5f8e0c1d3b5a7f9e2c' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 6f1e2a34-9c8b-4d7e-a1f0-3b5c7d9e1f2a' \
  -H 'Accept: application/json'

Вместо {…} подставьте идентификатор объекта — про их формат в разделе Формат.

Коды ответа: 200, 400, 401, 403, 404, 409, 422, 429, 500, 503.

Чего здесь нет: тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

Как выглядит ошибка и что делать с каждым кодом — в разделе Ошибки.

Эта страница в Markdown