# Коммерция

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

> у 24 описание выведено из имени операции, у 2 описания пока нет вовсе. Спецификация написана каталогом путей, прозы для них там не было; выдумывать поведение мы не стали. Подробнее — [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

## GET /v1/offers

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## POST /v1/offers

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

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## DELETE /v1/offers/{id}

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

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

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## PATCH /v1/offers/{id}

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

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

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

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

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

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

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

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

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## GET /v1/orders

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## POST /v1/orders

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

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## GET /v1/orders/{id}

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

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## PATCH /v1/orders/{id}

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

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

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

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

_Назначение пока не описано: из имени операции оно не следует, а в спецификации его нет. Описание пишется отдельно._

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

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

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

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## DELETE /v1/orders/{id}/items/{itemId}

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

**В пути:** `id`, `itemId`

**Параметры:**

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

**Запрос:**

```bash
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'
```

Вместо `{…}` подставьте идентификатор объекта — про их формат в разделе [Формат](/api/format/#identifikatory).

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

> **Чего здесь нет:** тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## POST /v1/orders/{id}/mark-paid

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

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## GET /v1/orders/{id}/payment-link

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

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## GET /v1/payment-plans

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## GET /v1/payments

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## POST /v1/payments

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

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## GET /v1/payments/{id}

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

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

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

фискальные чеки по платежу

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

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

полный или частичный возврат

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## GET /v1/products

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## POST /v1/products

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

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## DELETE /v1/products/{id}

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

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

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## PATCH /v1/products/{id}

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

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

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## GET /v1/promo-codes

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## POST /v1/promo-codes

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

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## GET /v1/promo-codes/{code}/validate

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

**В пути:** `code`

**Параметры:**

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

**Запрос:**

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

Вместо `{…}` подставьте идентификатор объекта — про их формат в разделе [Формат](/api/format/#identifikatory).

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

> **Чего здесь нет:** состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## GET /v1/promo-redemptions

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## GET /v1/promos

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## POST /v1/promos

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

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## DELETE /v1/promos/{id}

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

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

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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'
```

Вместо `{…}` подставьте идентификатор объекта — про их формат в разделе [Формат](/api/format/#identifikatory).

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

> **Чего здесь нет:** тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## PATCH /v1/promos/{id}

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

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

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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'
```

Вместо `{…}` подставьте идентификатор объекта — про их формат в разделе [Формат](/api/format/#identifikatory).

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

> **Чего здесь нет:** тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## GET /v1/purchases

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## POST /v1/purchases

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## DELETE /v1/purchases/{id}

отозвать

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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'
```

Вместо `{…}` подставьте идентификатор объекта — про их формат в разделе [Формат](/api/format/#identifikatory).

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

> **Чего здесь нет:** тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## GET /v1/receipts

чеки: аванс, зачёт, возврат, кредит

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

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

повторить неудавшуюся фискализацию

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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'
```

Вместо `{…}` подставьте идентификатор объекта — про их формат в разделе [Формат](/api/format/#identifikatory).

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

> **Чего здесь нет:** тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## GET /v1/subscriptions

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## POST /v1/subscriptions

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

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## PATCH /v1/subscriptions/{id}

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

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

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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'
```

Вместо `{…}` подставьте идентификатор объекта — про их формат в разделе [Формат](/api/format/#identifikatory).

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

> **Чего здесь нет:** тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

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

_Назначение пока не описано: из имени операции оно не следует, а в спецификации его нет. Описание пишется отдельно._

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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'
```

Вместо `{…}` подставьте идентификатор объекта — про их формат в разделе [Формат](/api/format/#identifikatory).

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

> **Чего здесь нет:** тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

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

принудительное списание

**В пути:** `id`

**Параметры:**

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

**Запрос:**

```bash
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'
```

Вместо `{…}` подставьте идентификатор объекта — про их формат в разделе [Формат](/api/format/#identifikatory).

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

> **Чего здесь нет:** тело запроса и состав полей ответа. Публичного API в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## GET /v1/tax-rates

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).

## POST /v1/tax/calculate

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

**Параметры:**

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

**Запрос:**

```bash
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 в продукте пока нет, выводить состав полей не из чего — см. [Чего в справочнике ещё нет](/api/reference/#chego-v-spravochnike-eshhe-net).

Как выглядит ошибка и что делать с каждым кодом — в разделе [Ошибки](/api/errors/).
