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

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

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

## GET /v1/custom-fields

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

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

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

**Запрос:**

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

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

## POST /v1/custom-fields

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

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

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

**Запрос:**

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

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

## GET /v1/groups

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

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

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

**Запрос:**

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

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

## POST /v1/groups

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

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

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

**Запрос:**

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

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

## DELETE /v1/groups/{id}

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

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

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

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

**Запрос:**

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

Вместо `{…}` подставьте идентификатор объекта — про их формат в разделе [Формат](/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/groups/{id}

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

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

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

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

**Запрос:**

```bash
curl -X GET 'https://school.example.com/api/v1/groups/{id}' \
  -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/).

## PATCH /v1/groups/{id}

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

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

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

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

**Запрос:**

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

Вместо `{…}` подставьте идентификатор объекта — про их формат в разделе [Формат](/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/groups/{id}/members

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

**В пути:** `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/groups/{id}/members' \
  -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/).

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

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

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

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

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

**Запрос:**

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

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

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

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

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

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

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

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

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

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

**Запрос:**

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

Вместо `{…}` подставьте идентификатор объекта — про их формат в разделе [Формат](/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/groups/{id}/transfer

что изменится при переносе в этот поток

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

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

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

**Запрос:**

```bash
curl -X GET 'https://school.example.com/api/v1/groups/{id}/transfer' \
  -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/).

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

перенести ученика в этот поток

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

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

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

**Запрос:**

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

Вместо `{…}` подставьте идентификатор объекта — про их формат в разделе [Формат](/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/identities

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

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

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

**Запрос:**

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

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

## POST /v1/identities

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

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

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

**Запрос:**

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

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

## DELETE /v1/identities/{id}

отвязать

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

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

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

**Запрос:**

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

Вместо `{…}` подставьте идентификатор объекта — про их формат в разделе [Формат](/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/roles

роли и права

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

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

**Запрос:**

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

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

## GET /v1/users

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

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

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

**Запрос:**

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

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

## POST /v1/users

создать

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

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

**Запрос:**

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

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

## DELETE /v1/users/{id}

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

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

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

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

**Запрос:**

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

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

## GET /v1/users/{id}

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

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

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

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

**Запрос:**

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

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

## PATCH /v1/users/{id}

изменить

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

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

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

**Запрос:**

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

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

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

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

**В пути:** `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/users/usr_01HQZX3M8K4N2P/activity' \
  -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/users/{id}/anonymize

удаление ПДн по требованию субъекта

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

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

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

**Запрос:**

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

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

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

журнал согласий

**В пути:** `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/users/usr_01HQZX3M8K4N2P/consents' \
  -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/users/{id}/consents

зафиксировать согласие

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

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

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

**Запрос:**

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

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

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

выгрузка всех данных субъекта (GDPR Art. 20)

**В пути:** `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/users/usr_01HQZX3M8K4N2P/export' \
  -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/users/{id}/login-link

ссылка автовхода

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

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

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

**Запрос:**

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

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

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

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

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

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

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

**Запрос:**

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

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

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

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

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

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

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

**Запрос:**

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

Вместо `{…}` подставьте идентификатор объекта — про их формат в разделе [Формат](/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/users/{id}/tags

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

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

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

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

**Запрос:**

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

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

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

снять тег

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

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

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

**Запрос:**

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

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

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

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

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