Перейти к основному содержанию
POST
curl

Поведение

Каждая подходящая сессия удаляется точно так же, как при Удалении сессии: удаляются сама сессия, каждая попытка верификации, которая к ней относится, её решение и извлечённые данные, её записи о функциях и все её сохранённые файлы. Сессия исчезает из каждого endpoint чтения, а ранее выданные URL медиафайлов перестают открываться. Webhook-доставки, которые ещё стоят в очереди для удалённой сессии, и их повторные попытки отменяются. Webhook, которые уже доставлены, не затрагиваются. Удаление необратимо и окончательно. Если какая-либо выбранная сессия включена в завершённый регуляторный отчёт, весь запрос возвращает 409, и ничего не удаляется. В ответе указаны code: in_filed_report и название каждого отчёта. Удалите каждый отчёт с помощью Удаления отчёта, затем повторите запрос. Удаление отчёта не удаляет сессию: сессия остаётся на месте, пока вы не повторите этот запрос. От количества подходящих сессий зависит ответ на запрос, независимо от того, выбираете ли вы их через session_numbers или через delete_all: Результат подтверждает удаление сессии, за исключением случая, когда её face_retention_outcome равен failed_retryable: такая сессия не удалена и остаётся на месте. Поэтому такой результат нужно считать ошибкой, требующей повторной попытки, а не подтверждением удаления. Номера, которые не соответствуют действующей KYC-сессии в вашем приложении, пропускаются и не появляются в results.

Сужение delete_all с помощью фильтров

С delete_all: true можно сузить выборку с помощью фильтров Списка сессий, каждый с префиксом filter_. Они принимают те же значения, что и параметры запроса. Фильтр, который принимает несколько значений (status, workflow_id, country, region, document_type, document_name, session_type, warning, organization_name), принимает строку, разделённую запятыми, или массив:
  • Фильтры применяются только вместе с delete_all. С session_numbers они проверяются, но не меняют выборку.
  • Каждый другой фильтр принимает одно значение. Массив объединяется в одно значение через запятую, поэтому несколько дат, UUID или значений api_service возвращают 400, а несколько текстов vendor_data, search или screened_full_name не сопоставляются как альтернативы.
  • Фильтр с пустым значением игнорируется и не сужает выборку.
  • Неизвестный ключ filter_* возвращает 400 {"filter_reviewer": "Unknown filter."}, а значение, которое невозможно прочитать, возвращает 400 с ключом этого filter_*, например {"filter_date_from": ["Enter a valid date."]}. В обоих случаях ничего не удаляется, поэтому ошибка в фильтре никогда не расширит удаление на все сессии.
  • Задание на удаление применяет те же фильтры и, как и любой delete_all, охватывает только сессии, созданные до запроса.

Поля хранения и инструкций

Endpoint принимает те же необязательные поля, что и endpoint удаления одной сессии, и применяет их к каждой подходящей сессии: Подробнее о том, что сохранённый шаблон содержит и чего не содержит, как вычисляется expires_at и что делает инструкция на стирание персональных данных, см. в Удалении сессии.

Результаты по сессиям

Для не более 20 подходящих сессий 200 OK возвращает один результат на каждую сессию:
Каждый результат содержит те же поля, что и ответ Удаления сессии. Поле biometric_template_expires_at задаёт момент удаления сохранённого шаблона, а deleted_child_verifications здесь всегда равен 0, поскольку этот endpoint удаляет только KYC-сессии. Сессии удаляются группами. Если группу не удалось удалить, каждая сессия в ней помечается как failed_retryable. Остальные группы не затрагиваются и остаются удалёнными.

Крупные выборки обрабатываются как задача

Если условиям соответствуют более 20 сессий, ответ имеет статус 202 Accepted и содержит задачу удаления вместо results:
Опрашивайте Получить задачу удаления сессий каждые несколько секунд, пока status не примет значение COMPLETED или FAILED.
  • Задача сообщает, сколько сессий пришлось на каждый исход, но никогда не сообщает, какие именно сессии она удалила.
  • Задача с delete_all удаляет только сессии, созданные до вашего запроса. Сессии, начатые во время её выполнения, не удаляются.
  • Поля хранения данных и инструкций из вашего запроса применяются к каждой сессии, которую удаляет задача.
  • Если группу пока нельзя удалить, задача повторяет попытку самостоятельно.
  • Задача со статусом FAILED объясняет причину в error. Сессии, до которых она не дошла, остаются на месте: повторите запрос, чтобы удалить их.

Примеры

Миграция с ответов со статусом 204

До этого релиза endpoint возвращал 204 No Content. Теперь он возвращает 200 OK с results[] или 202 Accepted с задачей удаления, если условиям соответствуют более 20 сессий. Обновите клиенты, которые проверяют статус 204. Поведение удаления по умолчанию не изменилось: существующие приложения остаются на delete_with_session, пока вы явно не измените политику.

Связанные материалы

Авторизации

x-api-key
string
header
обязательно

API-ключ вашего приложения из раздела «Разработчикам» -> «API-ключи» в Business Console. Основной ключ имеет полный доступ. Именованный ключ может иметь ограниченную область действия: без доступа, чтение или запись для каждого ресурса, ограничение определенными сценариями или одобренными сессиями, списком IP-адресов и сроком действия. 401 означает, что ключ неверен, отозван или его срок действия истек; 403 означает, что ключ не был передан, у ключа нет доступа к этому ресурсу или действию, либо запрос поступил с адреса вне его списка IP-адресов; 404 на маршруте сессии означает, что сессия не входит в сценарии или статусы ключа. Ключ без доступа к медиа получает URL изображений, видео и PDF как null, а ключ без прав на запись сессий получает ссылки на сессии и токены как null. См. https://docs.didit.me/console/api-keys.

Тело

application/json
session_numbers
string[]

Числовые значения session_number удаляемых KYC-сессий в виде строк, состоящих только из цифр (числа JSON также принимаются и приводятся к нужному типу). Обязательно, если delete_all не равен true; пустой список возвращает 400. Любой элемент, содержащий не только цифры, отклоняет весь запрос с кодом 400 (если только delete_all не равен true, и в этом случае валидация пропускается, а элементы игнорируются). Номера, которые не соответствуют активной сессии в вашем приложении, молча пропускаются.

Minimum array length: 1
Pattern: ^[0-9]+$
Пример:
delete_all
boolean
по умолчанию:false

Когда true, все оставшиеся KYC-сессии в вызывающем приложении удаляются, а session_numbers игнорируется, если вы не сузите выборку с помощью ключей filter_*. Если совпадает более 20 сессий, они обрабатываются как задача удаления (202), охватывающая только сессии, созданные до момента запроса. По умолчанию false. Действие необратимо; шаг подтверждения отсутствует.

Пример:

false

retain_face_embeddings
boolean | null

Переопределить face_retention_policy приложения для этого удаления. При значении true после удаления сессии сохраняется один биометрический шаблон лица без изображения, привязанный к пользователю сессии; при false эмбеддинг лица удаляется вместе с сессией; опустите или укажите null, чтобы использовать политику приложения. Игнорируется для KYB-сессий и сессий без эмбеддинга лица.

Пример:

true

face_retention_days
integer

Ограниченный срок хранения в днях для сохраняемого шаблона. Обязателен при сохранении шаблона, если в приложении ещё не задан face_retention_days. Значение expires_at шаблона является наименьшим из этого срока, общего окна хранения данных приложения и face_retention_deadline.

Требуемый диапазон: 1 <= x <= 3650
Пример:

365

face_retention_deadline
string<date-time>

Необязательный точный срок действия сохранённого шаблона. Должен быть в будущем.

Пример:

"2027-08-28T00:00:00Z"

deletion_instruction
enum<string>
по умолчанию:operational_session_delete

Класс передаваемой инструкции. operational_session_delete удаляет сессию и сохраняет шаблон только тогда, когда это предусмотрено политикой или параметром retain_face_embeddings. privacy_erasure полностью удаляет каждый сохранённый биометрический шаблон, привязанный к пользователю сессии, перед удалением самой сессии, не может быть переопределён политикой приложения и не может сочетаться с retain_face_embeddings: true (400).

Доступные опции:
operational_session_delete,
privacy_erasure
Пример:

"operational_session_delete"

instruction_id
string

Ваш постоянный идентификатор для этой инструкции по удалению (например, id тикета на удаление). Фиксируется в журнале аудита и на любом сохраненном шаблоне. Генерируется Didit, если опущен.

Maximum string length: 255
Пример:

"dsar-2026-0142"

filter_status

Ограничивает действие delete_all сессиями, соответствующими фильтру status метода List Sessions, с теми же значениями. Строка с разделителями-запятыми или массив. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

filter_vendor_data
string

Ограничивает действие delete_all сессиями, соответствующими фильтру vendor_data метода List Sessions, с тем же значением. Одно значение, не список: массив объединяется в одну строку через запятую, поэтому несколько значений не сопоставляются как альтернативы. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

Ограничивает действие delete_all сессиями, соответствующими фильтру search метода List Sessions, с тем же значением. Одно значение, не список: массив объединяется в одну строку через запятую, поэтому несколько значений не сопоставляются как альтернативы. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

filter_workflow_id

Ограничивает действие delete_all сессиями, соответствующими фильтру workflow_id метода List Sessions, с теми же значениями. Строка с разделителями-запятыми или массив. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

filter_date_from
string<date>

Ограничивает операцию delete_all сессиями, которые соответствуют фильтру date_from метода List Sessions с тем же значением. Одно значение, не список: массив объединяется в одну строку через запятую, поэтому несколько значений отклоняются с ошибкой 400. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

filter_date_to
string<date>

Ограничивает операцию delete_all сессиями, которые соответствуют фильтру date_to метода List Sessions с тем же значением. Одно значение, не список: массив объединяется в одну строку через запятую, поэтому несколько значений отклоняются с ошибкой 400. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

filter_country

Ограничивает операцию delete_all сессиями, которые соответствуют фильтру country метода List Sessions с теми же значениями. Строка со значениями через запятую или массив. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

filter_document_type

Ограничивает операцию delete_all сессиями, которые соответствуют фильтру document_type метода List Sessions с теми же значениями. Строка со значениями через запятую или массив. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

filter_document_name

Ограничивает операцию delete_all сессиями, которые соответствуют фильтру document_name метода List Sessions с теми же значениями. Строка со значениями через запятую или массив. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

filter_region

Ограничивает действие delete_all сессиями, соответствующими фильтру region метода List Sessions, с теми же значениями. Строка с разделителями-запятыми или массив. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

filter_didit_internal_id
string<uuid>

Ограничивает операцию delete_all сессиями, которые соответствуют фильтру didit_internal_id метода List Sessions с тем же значением. Одно значение, не список: массив объединяется в одну строку через запятую, поэтому несколько значений отклоняются с ошибкой 400. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

filter_session_type

Ограничивает действие delete_all сессиями, соответствующими фильтру session_type метода List Sessions, с теми же значениями. Строка с разделителями-запятыми или массив. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

filter_api_service
string

Ограничивает операцию delete_all сессиями, которые соответствуют фильтру api_service метода List Sessions с тем же значением. Одно значение, не список: массив объединяется в одну строку через запятую, поэтому несколько значений отклоняются с ошибкой 400. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

filter_screened_full_name
string

Ограничивает действие delete_all сессиями, соответствующими фильтру screened_full_name метода List Sessions, с тем же значением. Одно значение, не список: массив объединяется в одну строку через запятую, поэтому несколько значений не сопоставляются как альтернативы. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

filter_warning

Ограничивает действие delete_all сессиями, соответствующими фильтру warning метода List Sessions, с теми же значениями. Строка с разделителями-запятыми или массив. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

filter_status_initialized_as_in_review
boolean

Ограничивает действие delete_all сессиями, соответствующими фильтру status_initialized_as_in_review метода List Sessions, с теми же значениями. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

filter_is_kyc_to_be_reviewed
boolean

Ограничивает операцию delete_all сессиями, которые соответствуют фильтру is_kyc_to_be_reviewed метода List Sessions с теми же значениями. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

filter_euuid
string<uuid>

Ограничивает операцию delete_all сессиями, которые соответствуют фильтру euuid метода List Sessions с тем же значением. Одно значение, не список: массив объединяется в одну строку через запятую, поэтому несколько значений отклоняются с ошибкой 400. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

filter_organization_name

Ограничивает действие delete_all сессиями, соответствующими фильтру organization_name метода List Sessions, с теми же значениями. Строка с разделителями-запятыми или массив. При использовании API-ключа может совпадать только с названием вашей собственной организации, поэтому выбираются либо все ваши сессии, либо ни одной. Игнорируется без delete_all. Пустое значение игнорируется и не сужает выборку.

Ответ

До 20 сессий совпали и были обработаны в запросе. По одному результату на каждую совпавшую сессию; номера без совпадений (неизвестные или уже удалённые) пропускаются и не отображаются. Результат подтверждает удаление, за исключением случаев, когда face_retention_outcome имеет значение failed_retryable: такая сессия НЕ была удалена, и попытку следует повторить.

results
object[]
Последнее изменение 7 ноября 2026 г.