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

# Пакетное удаление пользователей через API: GDPR-удаление

> Удаляйте пользователей Didit пакетно по vendor_data или все пользователи приложения. Соответствует требованиям GDPR и CCPA о праве на забвение.



Промпт пакетного удаления пользователей
        Скопировать промпт в буфер обмена



      
      

\<pre>

\`Goal: Permanently delete one or many Didit User entities. The matching user records, their tag links, their comment history, and every retained biometric template anchored to them are removed permanently. Verification sessions are NOT removed by this endpoint; delete those separately with POST /v3/sessions/delete/.

Endpoint: POST https://verification.didit.me/v3/users/delete/
Auth header: x-api-key: <DIDIT_API_KEY>
Content-Type: application/json

Request body — provide at least one selector:
\- vendor_data_list: string[] — your own identifiers (case-insensitive after normalisation).
\- didit_internal_id_list: string[] — Didit internal user IDs, the didit_internal_id returned by the create and get endpoints. Can be combined with vendor_data_list; the two are OR'd.
\- delete_all: true — wipe every user in this application. No confirmation, no undo. Takes precedence: when delete_all is true, the two lists are ignored.

\- retain_face_embeddings: boolean, default false — your explicit choice to keep one image-free biometric template of each deleted person for duplicate detection. Everything else about the person is deleted. Requires face_retention_days.
\- face_retention_days: integer 1 to 3650 — how many days that template is kept. Sent without retain_face_embeddings: true it returns 400 on face_retention_days.

This endpoint never narrows delete_all with filters. The Console's filter_* batch params (filter_search, filter_status, filter_country, filter_date_from, filter_date_to, filter_tag, filter_latest_verification_status, filter_risk, filter_has_sessions, filter_has_open_alerts, filter_aml_monitoring, filter_can_sign_in, filter_auth_status, filter_auth_method, filter_auth_mfa_enabled) are NOT supported here. Any of them sent with a value, even false, is rejected with a 400 keyed by that field, and any other unknown filter_* key with "Unknown filter.", so a narrowed intent does not wipe the whole application. Exception: filter_has_approved_sessions and filter_has_declined_sessions are neither rejected nor applied, so with delete_all they still delete every user. Do not send them.

curl:
curl -X POST 'https://verification.didit.me/v3/users/delete/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"vendor_data_list": ["user-123", "user-456"]}'

Response 200:
\{
"deleted": <int — number of users actually deleted; excludes vendor_data values that didn't match>
}

Biometric templates: unless you set retain_face_embeddings to true, if the application retained image-free biometric templates for these users after session deletion (see /management-api/biometric-templates/overview), Didit purges every one of them before the user is deleted, so the person stops matching in duplicate detection and Face Search. The purge is audited with instruction_source: vendor_user_delete.

Idempotency: re-sending the same list returns deleted: 0 after the first run (unmatched IDs are silently skipped). There is no undo.

Failure modes:
\- 400 — no selector supplied, or a Console-only filter_* param was sent.
No selector: {"vendor_data_list": ["This field is required unless delete_all is true."]}. An unknown filter_* key: {"filter_<name>": ["Unknown filter."]}.
\- 401 — missing/invalid x-api-key.
\- 403 — the API key is revoked or is not valid for this application.
\- 409 — the selection includes a person in a finalized regulatory report. Nothing is deleted. The body has code: in_filed_report and reports[] with uuid, report_number, report_type and case_uuid. Delete the reports, then repeat the request.
\- 409 — code: subject_deletion_in_progress: another request is still deleting one of the selected people. This request deleted nothing; repeat it once that deletion has finished.
\- 429 — rate-limited.
\- 503 — {"detail": "The biometric-template operation could not finish because an external store is unavailable. The operation is retryable."} A retained biometric template could not be purged. No user in the request is deleted; the affected template is already excluded from matching. Repeat the same request.

WARNING — delete_all: true: there is no confirmation step and no undo. Restrict to API keys you intentionally provision for batch maintenance.

When to prefer status change instead:
\- For day-to-day blocking, use PATCH /v3/users/{vendor_data}/update-status/ with {"status": "BLOCKED"} — it keeps the audit trail intact while rejecting future sessions for the same identifier.

For end-to-end Didit integration, paste in the full prompt at /integration/integration-prompt.`

\</pre>



      
      

Вставьте в

## ОбзорУдаляет одну или несколько [сущностей пользователей](https://docs.didit.me/ru/entities/users/overview.md). Записи пользователей удаляются безвозвратно. Их сессии верификации этот endpoint не затрагивает: они сохраняются, а связь с пользователем удаляется. Удалите их с помощью [Delete Session](https://docs.didit.me/ru/sessions-api/delete-session.md) или [Batch Delete Sessions](https://docs.didit.me/ru/management-api/sessions/batch-delete.md). Транзакции также не затрагиваются: удалите их с помощью [Batch Delete Transactions](https://docs.didit.me/ru/management-api/transactions/delete.md).## Когда использовать- Запросы на **реализацию права на забвение** (GDPR / CCPA).
- **Удаление** тестовых пользователей во время QA.
- **Деактивация** пользователей, удалённых с вашей платформы.## Примечания- Принимает список значений `vendor_data`, список значений `didit_internal_id` или `delete_all: true`. Два списка можно комбинировать, и они объединяются по логике OR.
- Этот endpoint никогда не ограничивает `delete_all` фильтрами. Пакетные параметры `filter_*` из Консоли отклоняются с кодом `400`, поэтому сужение выборки не приводит к удалению всех пользователей приложения.
  Исключения: `filter_has_approved_sessions` и `filter_has_declined_sessions` не отклоняются и не применяются, поэтому не отправляйте их вместе с `delete_all`.
- Принцип «всё или ничего»: если удаление не может быть завершено для выбранных пользователей, ни один из них не удаляется, и вы можете безопасно повторить тот же запрос.
- Идемпотентность: повторная отправка того же списка возвращает `deleted: 0` после первого выполнения.
- Возвращает только количество удалённых записей, а не отчёт по каждому элементу. Значения, которым ничего не соответствует, пропускаются без уведомления. Если вы хотите сравнить `deleted` с количеством отправленных идентификаторов, отправьте список без дубликатов, поскольку повторяющийся идентификатор учитывается только один раз.
- Для удаления webhook не отправляется. webhook-события срабатывают при изменении статуса и данных пользователя, но не при удалении, поэтому интеграция, которой нужен сигнал об удалении, должна фиксировать его на своей стороне.
- Сессии верификации, связанные с пользователем, этим endpoint НЕ удаляются. Они сохраняются со снятой связью с пользователем, поэтому их документы, лица и медиафайлы удаляются только тогда, когда вы удалите сами сессии.
- `retain_face_embeddings` (логическое значение, по умолчанию `false`) и `face_retention_days` (от 1 до 3650) — это ваш явный выбор сохранить один биометрический шаблон без изображения для каждого удалённого человека, для обнаружения дубликатов, на указанное количество дней. Больше ничего о человеке не сохраняется. Если не указывать оба параметра, шаблоны будут удалены вместе с пользователями. `face_retention_days` без `retain_face_embeddings: true` или `retain_face_embeddings: true` без `face_retention_days` возвращает `400` с ошибкой в поле `face_retention_days`.
- Если вы не установите `retain_face_embeddings` в `true`, сохранённые [биометрические шаблоны](https://docs.didit.me/ru/management-api/biometric-templates/overview.md), привязанные к пользователю, УДАЛЯЮТСЯ до удаления самого пользователя. Если шаблон не может быть удалён из-за недоступности биометрического хранилища, вызов возвращает `503`, ни один пользователь из запроса не удаляется, а повтор запроса завершает операцию.## Данные в завершённом регуляторном отчётеЕсли какой-либо из выбранных людей входит в кейс с завершённым регуляторным отчётом, запрос завершается с кодом `409`, и ничего не удаляется. Ответ содержит `code: in_filed_report` и называет каждый отчёт, чтобы его можно было открыть в Консоли:```json theme={null}
{
  "detail": "A case about this person or company has a filed regulatory report, so it cannot be deleted.",
  "code": "in_filed_report",
  "reports": [
    {
      "uuid": "5ec00000-0000-4000-8000-000000000007",
      "report_number": "SAR-0001",
      "report_type": "SAR",
      "case_uuid": "c1a5e000-0000-4000-8000-000000000001"
    }
  ]
}
```Удалите каждый отчёт с помощью [Delete Report](https://docs.didit.me/ru/management-api/regulatory-reports/delete.md), а затем повторите тот же запрос. **Исключение** одного человека из списка недостаточно, если другой выбранный человек всё ещё находится в отчёте.## Удаление, которое уже выполняетсяОдновременно человека может удалять только один запрос. Если другой запрос ещё удаляет одного из выбранных людей, этот запрос ожидает не более нескольких секунд, затем возвращает `409` с `code: subject_deletion_in_progress` и ничего не удаляет:```json theme={null}
{
  "detail": "This person or company is being deleted. Retry after deletion completes.",
  "code": "subject_deletion_in_progress"
}
```Повторите тот же запрос после завершения другого удаления. Человек, которого уже удалил предыдущий запрос, больше не соответствует запросу, поэтому повтор удалит только оставшихся.## РазрешенияВызывать этот endpoint может любой активный API-ключ приложения. API-ключи Didit **привязаны к приложению, а не к роли**: [роли и разрешения](https://docs.didit.me/ru/console/roles-permissions.md) в Консоли (`delete:users` и другие) определяют, что может делать *человек* в Консоли, и не проверяются для трафика Management API. Контролируйте, кто может вызывать этот endpoint, ограничивая доступ к чтению API-ключа приложения.## Связанные материалы- [Хранение данных](https://docs.didit.me/ru/console/data-retention.md)
- [Журналы аудита](https://docs.didit.me/ru/console/audit-logs.md)
- [Операции с пользователями](https://docs.didit.me/ru/entities/users/operations.md)
- [Биометрические шаблоны](https://docs.didit.me/ru/management-api/biometric-templates/overview.md)


## OpenAPI

````yaml ru/openapi-25.json POST /v3/users/delete/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: >-
    API верификации личности. Аутентификация выполняется с помощью заголовка
    x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/users/delete/:
    post:
      tags:
        - Users
      summary: Пакетное удаление пользователей
      description: >-
        **Удалить пользователей навсегда**: записи пользователей удаляются
        безвозвратно. Для обычной блокировки используйте [Update User
        Status](#patch-/v3/users/-vendor_data-/update-status/) со статусом
        `BLOCKED`. Выберите пользователей с помощью `vendor_data_list`,
        `didit_internal_id_list` или обоих параметров одновременно, либо
        передайте `delete_all: true`. Этот endpoint никогда не сужает действие
        `delete_all` фильтрами. Фильтры раздела People в Console отклоняются с
        ошибкой `400` (см. ответ `400`), чтобы намерение сузить выборку не
        привело к полному удалению. Два исключения:
        `filter_has_approved_sessions` и `filter_has_declined_sessions` не
        отклоняются и не применяются, поэтому при `delete_all: true` они всё
        равно приведут к удалению каждого пользователя; не передавайте их.


        **Биометрические шаблоны:** если не установить `retain_face_embeddings`
        в `true`, каждый биометрический шаблон без изображений, сохранённый для
        этих пользователей после удаления сессии (см.
        `/v3/biometric-templates/`), удаляется перед удалением пользователя,
        поэтому совпадения с этим человеком перестают определяться при
        обнаружении дубликатов и в Поиске по лицу. При установке
        `retain_face_embeddings: true` и `face_retention_days` вы сохраняете по
        одному биометрическому шаблону без изображений на человека на указанное
        количество дней, при этом никакие другие данные о человеке не
        сохраняются. Если шаблон не удаётся очистить из-за недоступности
        биометрического хранилища, вызов возвращает `503`, ни один пользователь
        из запроса не удаляется, а повторный запрос завершит операцию.


        **Поданные регуляторные отчёты:** если выбранные данные входят в
        утверждённый регуляторный отчёт, весь запрос отклоняется с ошибкой
        `409`, и ничего не удаляется. Тело ответа содержит `code:
        in_filed_report` и указывает каждый отчёт с полями `uuid`,
        `report_number`, `report_type` и `case_uuid`. Удалите отчёты, затем
        повторите запрос.
      operationId: batch_delete_users
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: >-
                Укажите `vendor_data_list`, `didit_internal_id_list` или
                `delete_all: true`. Эти два списка можно комбинировать, они
                объединяются по условию «ИЛИ». Если `delete_all` равен `true`,
                он имеет приоритет, и оба списка игнорируются.
              properties:
                vendor_data_list:
                  type: array
                  items:
                    type: string
                  description: >-
                    Ваши собственные идентификаторы для удаления, сопоставляемые
                    в точности с переданными.
                didit_internal_id_list:
                  type: array
                  items:
                    type: string
                    format: uuid
                  description: >-
                    Внутренние идентификаторы пользователей Didit для удаления:
                    `didit_internal_id`, возвращаемый endpoints создания и
                    получения.
                delete_all:
                  type: boolean
                  default: false
                  description: Если `true`, удаляет всех пользователей в приложении.
                retain_face_embeddings:
                  type: boolean
                  default: false
                  description: >-
                    Ваш явный выбор сохранить один биометрический шаблон без
                    изображений для каждого удалённого человека для обнаружения
                    дубликатов в течение `face_retention_days`. Все остальные
                    данные о человеке удаляются. Опустите его или отправьте
                    `false`, чтобы удалить шаблоны вместе с пользователями. Если
                    `true`, параметр `face_retention_days` обязателен.
                face_retention_days:
                  type: integer
                  minimum: 1
                  maximum: 3650
                  description: >-
                    Количество дней хранения биометрического шаблона без
                    изображения, если параметр `retain_face_embeddings` равен
                    `true`. Обязателен при его наличии; без него запрос
                    отклоняется с кодом `400` для `face_retention_days`.
                  example: 365
            examples:
              Specific users:
                summary: Удалить пользователей по vendor_data
                value:
                  vendor_data_list:
                    - user-123
                    - user-456
              By Didit internal ID:
                summary: Удалить пользователей по didit_internal_id
                value:
                  didit_internal_id_list:
                    - 3f1c0d3e-8f0a-4c2e-9a3d-9b1f5f4a2c11
              All users:
                summary: Удалить всех пользователей в этом приложении
                value:
                  delete_all: true
              Keep face templates:
                summary: >-
                  Удалить пользователей и сохранить анонимные шаблоны лиц на 365
                  дней
                value:
                  vendor_data_list:
                    - user-123
                  retain_face_embeddings: true
                  face_retention_days: 365
      responses:
        '200':
          description: >-
            Пользователи удалены. Возвращает количество фактически удалённых
            пользователей.
          content:
            application/json:
              schema:
                type: object
                properties:
                  deleted:
                    type: integer
                    description: >-
                      Количество удалённых пользователей (исключает значения
                      vendor_data, которым ничего не соответствовало).
              examples:
                Deleted some:
                  value:
                    deleted: 2
                Nothing matched:
                  value:
                    deleted: 0
        '400':
          description: >-
            Ошибка валидации; ничего не удалено. Ошибки указаны под ключами с
            именами полей. При отсутствии селектора (ни один из списков не
            указан и `delete_all` не равен `true`) тело ответа имеет вид
            `{"vendor_data_list": ["This field is required unless delete_all is
            true."]}`; пустой список отклоняется под собственным ключом с
            сообщением `"This list may not be empty."`. Фильтр, предназначенный
            только для Console (`filter_search`, `filter_status`,
            `filter_country`, `filter_date_from`, `filter_date_to`,
            `filter_tag`, `filter_latest_verification_status`, `filter_risk`,
            `filter_has_sessions`, `filter_has_open_alerts`,
            `filter_aml_monitoring`, `filter_can_sign_in`, `filter_auth_status`,
            `filter_auth_method` или `filter_auth_mfa_enabled`), отклоняется
            всякий раз, когда содержит значение, даже `false`, возвращая объект
            с ключами для каждого такого поля. Любой другой неизвестный ключ
            `filter_*` отклоняется с сообщением `"Unknown filter."`.
          content:
            application/json:
              examples:
                Missing selector:
                  summary: Не указаны ни list, ни delete_all
                  value:
                    vendor_data_list:
                      - This field is required unless delete_all is true.
                Console-only filter:
                  value:
                    filter_has_sessions: >-
                      This filter is Console-only and is not supported by this
                      endpoint.
        '401':
          description: >-
            Учетные данные не переданы. Запросы к путям `/v3/users/*` без
            заголовка `x-api-key` (или токена `Authorization: Bearer`)
            отклоняются промежуточным ПО аутентификации до попадания в API.
          content:
            application/json:
              examples:
                Missing credentials:
                  value:
                    detail: >-
                      You must be authenticated with a valid access token to
                      access this endpoint.
        '403':
          description: >-
            Недействительный или отозванный API-ключ, либо ключ не может удалять
            пользователей для этого приложения. При отсутствии ключа
            возвращается `403`; при неверном, отозванном или истёкшем ключе
            возвращается `401`.
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '409':
          description: >-
            Ничего не удалено. `code` указывает причину: `in_filed_report`, если
            в выборку входит человек из окончательного регуляторного отчёта,
            `subject_deletion_in_progress`, если другой запрос всё ещё удаляет
            одного из выбранных людей. Повторите запрос после завершения этого
            удаления.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/InFiledReportError'
                  - $ref: '#/components/schemas/SubjectDeletionInProgressError'
        '429':
          description: >-
            Лимит запросов превышен; снизьте частоту запросов и повторите
            попытку через интервал, указанный в `Retry-After`.
          content:
            application/json:
              examples:
                Rate limited:
                  value:
                    detail: Request was throttled. Expected available in 30 seconds.
        '503':
          description: >-
            Хранилище биометрии было недоступно при сохранении или удалении
            биометрического шаблона. Ничего не удалено; повторите тот же запрос.
            Повторные попытки идемпотентны и сходятся к одному шаблону.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Retryable:
                  value:
                    detail: >-
                      The biometric-template operation could not finish because
                      an external store is unavailable. The operation is
                      retryable.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X POST 'https://verification.didit.me/v3/users/delete/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"vendor_data_list": ["user-123", "user-456"]}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.users.batch_delete(
                vendor_data_list=["user-123", "user-456"],
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            const result = await didit.users.batchDelete({
              vendor_data_list: ["user-123", "user-456"],
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Users.BatchDelete(ctx, didit.UsersBatchDeleteParams{\n\tVendorDataList: didit.Some([]string{\"user-123\", \"user-456\"}),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import java.util.List;

            import me.didit.Didit;

            import me.didit.types.UsersBatchDeleteParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.users().batchDelete(UsersBatchDeleteParams.builder()
                    .vendorDataList(List.of("user-123", "user-456"))
                    .build());
            System.out.println(result);
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            $result = $didit->users->batchDelete([
                'vendor_data_list' => ['user-123', 'user-456'],
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: >-
            require "didit"


            # Reads DIDIT_API_KEY.

            didit = Didit::Client.new


            result = didit.users.batch_delete(vendor_data_list: ["user-123",
            "user-456"])

            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var result = await client.Users.BatchDeleteAsync(new
            UsersBatchDeleteParams

            {
                VendorDataList = new string[] { "user-123", "user-456" },
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    InFiledReportError:
      type: object
      description: >-
        В удалении отказано, поскольку выбранные данные включены в
        сформированный регуляторный отчёт. Ничего не удалено. Удалите отчёт,
        затем повторите запрос.
      required:
        - detail
        - code
      properties:
        detail:
          type: string
        code:
          type: string
          enum:
            - in_filed_report
          description: >-
            Постоянный код ошибки для удаления, заблокированного завершённым
            регуляторным отчётом.
        reports:
          type: array
          items:
            $ref: '#/components/schemas/FiledRegulatoryReport'
          description: Отчёты, блокирующие удаление лица, компании, кейса или сессии.
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/FiledReportTransaction'
          description: >-
            Транзакции, блокирующие удаление транзакции, каждая со списком
            отчётов, в которых она фигурирует.
    SubjectDeletionInProgressError:
      type: object
      description: >-
        Другой запрос всё ещё удаляет это физическое лицо или компанию. Этот
        запрос ничего не удалил и может быть повторён после завершения того
        удаления; при повторе будет удалено всё, что осталось выбранным.
      required:
        - detail
        - code
      properties:
        detail:
          type: string
        code:
          type: string
          enum:
            - subject_deletion_in_progress
          description: >-
            Постоянный код ошибки для физического лица или компании, которых
            другой запрос всё ещё удаляет.
    FiledRegulatoryReport:
      type: object
      description: Завершённый регуляторный отчёт, препятствующий запрошенному удалению.
      required:
        - uuid
        - report_number
        - report_type
        - case_uuid
      properties:
        uuid:
          type: string
          format: uuid
          description: UUID отчёта.
        report_number:
          type: string
          description: Номер отчёта, отображаемый в Console (например, SAR-0001).
        report_type:
          type: string
          enum:
            - SAR
            - STR
            - CTR
            - TTR
            - UTR
            - IFT
            - CBR
            - TFR
          description: Тип регуляторного отчёта.
        case_uuid:
          type: string
          format: uuid
          description: Кейс, к которому относится отчёт.
    FiledReportTransaction:
      type: object
      description: >-
        Транзакция не может быть удалена, так как она включена в завершённый
        регуляторный отчёт.
      required:
        - uuid
        - transaction_id
        - reports
      properties:
        uuid:
          type: string
          format: uuid
          description: UUID транзакции Didit.
        transaction_id:
          type: string
          description: Идентификатор транзакции, переданный при ее создании.
        reports:
          type: array
          items:
            $ref: '#/components/schemas/FiledRegulatoryReport'
          description: Финализированные отчёты, содержащие эту транзакцию.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        API-ключ вашего приложения из раздела «Разработчикам» -> «API-ключи» в
        Business Console. Основной ключ имеет полный доступ. Именованный ключ
        может иметь ограниченную область действия: без доступа, чтение или
        запись для каждого ресурса, ограничение определенными сценариями или
        одобренными сессиями, списком IP-адресов и сроком действия. 401
        означает, что ключ неверен, отозван или его срок действия истек; 403
        означает, что ключ не был передан, у ключа нет доступа к этому ресурсу
        или действию, либо запрос поступил с адреса вне его списка IP-адресов;
        404 на маршруте сессии означает, что сессия не входит в сценарии или
        статусы ключа. Ключ без доступа к медиа получает URL изображений, видео
        и PDF как null, а ключ без прав на запись сессий получает ссылки на
        сессии и токены как null. См. https://docs.didit.me/console/api-keys.

````

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