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

Документация/Проект API/Коммерция

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

Коммерция

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

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

GET /v1/offers #

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

Параметры:

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

Запрос:

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

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

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

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

POST /v1/offers #

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

⚠️ Адрес предположительный. В спецификации он не написан прямо — он выведен из сокращённой записи каталога («POST, PATCH, DELETE»). Когда API будет реализовано, адрес может оказаться другим. Не закладывайтесь на него в коде.

Параметры:

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

Запрос:

curl -X POST 'https://school.example.com/api/v1/offers' \
  -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/offers/{id} #

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

⚠️ Адрес предположительный. В спецификации он не написан прямо — он выведен из сокращённой записи каталога («POST, PATCH, DELETE»). Когда API будет реализовано, адрес может оказаться другим. Не закладывайтесь на него в коде.

В пути: id

Параметры:

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

Запрос:

curl -X DELETE 'https://school.example.com/api/v1/offers/off_01HQZX7QGVPR6A' \
  -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 в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

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

PATCH /v1/offers/{id} #

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

⚠️ Адрес предположительный. В спецификации он не написан прямо — он выведен из сокращённой записи каталога («POST, PATCH, DELETE»). Когда API будет реализовано, адрес может оказаться другим. Не закладывайтесь на него в коде.

В пути: id

Параметры:

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

Запрос:

curl -X PATCH 'https://school.example.com/api/v1/offers/off_01HQZX7QGVPR6A' \
  -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/offers/{id}/items #

состав тарифа

В пути: id

Параметры:

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

Запрос:

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

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

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

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

POST /v1/offers/{id}/items #

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

В пути: id

Параметры:

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

Запрос:

curl -X POST 'https://school.example.com/api/v1/offers/off_01HQZX7QGVPR6A/items' \
  -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/orders #

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

Параметры:

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

Запрос:

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

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

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

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

POST /v1/orders #

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

⚠️ Адрес предположительный. В спецификации он не написан прямо — он выведен из сокращённой записи каталога («POST, PATCH, DELETE»). Когда API будет реализовано, адрес может оказаться другим. Не закладывайтесь на него в коде.

Параметры:

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

Запрос:

curl -X POST 'https://school.example.com/api/v1/orders' \
  -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/orders/{id} #

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

В пути: id

Параметры:

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

Запрос:

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

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

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

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

PATCH /v1/orders/{id} #

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

⚠️ Адрес предположительный. В спецификации он не написан прямо — он выведен из сокращённой записи каталога («POST, PATCH, DELETE»). Когда API будет реализовано, адрес может оказаться другим. Не закладывайтесь на него в коде.

В пути: id

Параметры:

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

Запрос:

curl -X PATCH 'https://school.example.com/api/v1/orders/ord_01HQZX68HKYJ1X' \
  -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/orders/{id}/cancel #

Отменить неоплаченный заказ. Оплаченный этой операцией не отменяется — для него возврат платежа. Если доступ был выдан вручную до оплаты, он отзывается по ADR-039: новое перестаёт открываться, созданное учеником остаётся.

В пути: id

Параметры:

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

Запрос:

curl -X POST 'https://school.example.com/api/v1/orders/ord_01HQZX68HKYJ1X/cancel' \
  -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/orders/{id}/items #

добавить позицию

В пути: id

Параметры:

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

Запрос:

curl -X POST 'https://school.example.com/api/v1/orders/ord_01HQZX68HKYJ1X/items' \
  -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/orders/{id}/items/{itemId} #

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

В пути: id, itemId

Параметры:

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

Запрос:

curl -X DELETE 'https://school.example.com/api/v1/orders/ord_01HQZX68HKYJ1X/items/{itemId}' \
  -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/orders/{id}/mark-paid #

отметить оплаченным вручную (для оффлайн-оплат)

В пути: id

Параметры:

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

Запрос:

curl -X POST 'https://school.example.com/api/v1/orders/ord_01HQZX68HKYJ1X/mark-paid' \
  -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 в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

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

ссылка на страницу оплаты

В пути: id

Параметры:

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

Запрос:

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

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

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

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

GET /v1/payment-plans #

планы рассрочки

Параметры:

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

Запрос:

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

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

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

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

GET /v1/payments #

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

Параметры:

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

Запрос:

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

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

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

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

POST /v1/payments #

создать платёж

⚠️ Адрес предположительный. В спецификации он не написан прямо — он выведен из сокращённой записи каталога («POST, PATCH, DELETE»). Когда API будет реализовано, адрес может оказаться другим. Не закладывайтесь на него в коде.

Параметры:

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

Запрос:

curl -X POST 'https://school.example.com/api/v1/payments' \
  -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/payments/{id} #

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

В пути: id

Параметры:

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

Запрос:

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

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

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

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

GET /v1/payments/{id}/receipts #

Фискальные чеки по платежу со своими состояниями. Чек может не пробиться при живой оплате — состояние чека показывается отдельно от состояния оплаты.

В пути: id

Параметры:

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

Запрос:

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

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

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

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

POST /v1/payments/{id}/refund #

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

В пути: id

Параметры:

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

Запрос:

curl -X POST 'https://school.example.com/api/v1/payments/pay_01HQZX6TSCZL8Y/refund' \
  -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/products #

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

Параметры:

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

Запрос:

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

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

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

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

POST /v1/products #

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

⚠️ Адрес предположительный. В спецификации он не написан прямо — он выведен из сокращённой записи каталога («POST, PATCH, DELETE»). Когда API будет реализовано, адрес может оказаться другим. Не закладывайтесь на него в коде.

Параметры:

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

Запрос:

curl -X POST 'https://school.example.com/api/v1/products' \
  -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/products/{id} #

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

⚠️ Адрес предположительный. В спецификации он не написан прямо — он выведен из сокращённой записи каталога («POST, PATCH, DELETE»). Когда API будет реализовано, адрес может оказаться другим. Не закладывайтесь на него в коде.

В пути: id

Параметры:

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

Запрос:

curl -X DELETE 'https://school.example.com/api/v1/products/prd_01HQZX7B4FMN2Z' \
  -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 в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

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

PATCH /v1/products/{id} #

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

⚠️ Адрес предположительный. В спецификации он не написан прямо — он выведен из сокращённой записи каталога («POST, PATCH, DELETE»). Когда API будет реализовано, адрес может оказаться другим. Не закладывайтесь на него в коде.

В пути: id

Параметры:

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

Запрос:

curl -X PATCH 'https://school.example.com/api/v1/products/prd_01HQZX7B4FMN2Z' \
  -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/promo-codes #

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

Параметры:

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

Запрос:

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

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

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

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

POST /v1/promo-codes #

сгенерировать пачку кодов

⚠️ Адрес предположительный. В спецификации он не написан прямо — он выведен из сокращённой записи каталога («POST, PATCH, DELETE»). Когда API будет реализовано, адрес может оказаться другим. Не закладывайтесь на него в коде.

Параметры:

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

Запрос:

curl -X POST 'https://school.example.com/api/v1/promo-codes' \
  -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/promo-codes/{code}/validate #

проверить применимость к заказу

В пути: code

Параметры:

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

Запрос:

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

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

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

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

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

GET /v1/promo-redemptions #

журнал применений

Параметры:

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

Запрос:

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

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

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

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

GET /v1/promos #

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

Параметры:

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

Запрос:

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

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

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

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

POST /v1/promos #

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

⚠️ Адрес предположительный. В спецификации он не написан прямо — он выведен из сокращённой записи каталога («POST, PATCH, DELETE»). Когда API будет реализовано, адрес может оказаться другим. Не закладывайтесь на него в коде.

Параметры:

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

Запрос:

curl -X POST 'https://school.example.com/api/v1/promos' \
  -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/promos/{id} #

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

⚠️ Адрес предположительный. В спецификации он не написан прямо — он выведен из сокращённой записи каталога («POST, PATCH, DELETE»). Когда API будет реализовано, адрес может оказаться другим. Не закладывайтесь на него в коде.

В пути: id

Параметры:

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

Запрос:

curl -X DELETE 'https://school.example.com/api/v1/promos/{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 в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

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

PATCH /v1/promos/{id} #

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

⚠️ Адрес предположительный. В спецификации он не написан прямо — он выведен из сокращённой записи каталога («POST, PATCH, DELETE»). Когда API будет реализовано, адрес может оказаться другим. Не закладывайтесь на него в коде.

В пути: id

Параметры:

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

Запрос:

curl -X PATCH 'https://school.example.com/api/v1/promos/{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/purchases #

выданные доступы

Параметры:

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

Запрос:

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

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

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

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

POST /v1/purchases #

выдать доступ вручную

Параметры:

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

Запрос:

curl -X POST 'https://school.example.com/api/v1/purchases' \
  -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/purchases/{id} #

отозвать

В пути: id

Параметры:

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

Запрос:

curl -X DELETE 'https://school.example.com/api/v1/purchases/{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/receipts #

Все чеки школы четырёх видов: аванс, зачёт аванса, возврат, кредит. Вид чека определяется не желанием школы, а моментом расчёта.

Параметры:

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

Запрос:

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

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

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

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

POST /v1/receipts/{id}/retry #

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

В пути: id

Параметры:

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

Запрос:

curl -X POST 'https://school.example.com/api/v1/receipts/{id}/retry' \
  -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/subscriptions #

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

Параметры:

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

Запрос:

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

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

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

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

POST /v1/subscriptions #

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

⚠️ Адрес предположительный. В спецификации он не написан прямо — он выведен из сокращённой записи каталога («POST, PATCH, DELETE»). Когда API будет реализовано, адрес может оказаться другим. Не закладывайтесь на него в коде.

Параметры:

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

Запрос:

curl -X POST 'https://school.example.com/api/v1/subscriptions' \
  -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 в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

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

PATCH /v1/subscriptions/{id} #

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

⚠️ Адрес предположительный. В спецификации он не написан прямо — он выведен из сокращённой записи каталога («POST, PATCH, DELETE»). Когда API будет реализовано, адрес может оказаться другим. Не закладывайтесь на него в коде.

В пути: id

Параметры:

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

Запрос:

curl -X PATCH 'https://school.example.com/api/v1/subscriptions/{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 в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

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

POST /v1/subscriptions/{id}/cancel #

Отменить подписку. Доступ доживает оплаченный период и гаснет мягко: пройденное остаётся видимым, новое перестаёт открываться (ADR-044). Немедленное отключение — отдельный случай возврата или бана.

В пути: id

Параметры:

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

Запрос:

curl -X POST 'https://school.example.com/api/v1/subscriptions/{id}/cancel' \
  -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/subscriptions/{id}/charge #

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

В пути: id

Параметры:

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

Запрос:

curl -X POST 'https://school.example.com/api/v1/subscriptions/{id}/charge' \
  -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/tax-rates #

ставки налога (международная поставка)

Параметры:

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

Запрос:

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

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

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

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

POST /v1/tax/calculate #

расчёт налога для корзины

Параметры:

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

Запрос:

curl -X POST 'https://school.example.com/api/v1/tax/calculate' \
  -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 в продукте пока нет, выводить состав полей не из чего — см. Чего в справочнике ещё нет.

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

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