> ## 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

> Удаление сессии KYC или KYB и всех её данных в Didit. По умолчанию удаляется эмбеддинг лица; при согласии можно сохранить шаблон без изображения.



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



      
      

\<pre>

\`Delete a single Didit verification session and all of its data, and control what happens to the face biometric data.

Endpoint:
DELETE https://verification.didit.me/v3/session/{session_id}/delete/

Authentication:
Use the x-api-key header with your Didit API key. Privilege: delete:sessions.

Path parameter:
\- session_id (UUID) — works for both User Verification (KYC) and Business Verification (KYB) sessions. Didit resolves the id against both session types.

Optional JSON body (send Content-Type: application/json; omit the body entirely for the default behavior):
\- retain_face_embeddings (boolean | null) — override the application's face_retention_policy for this deletion. true keeps an image-free biometric template anchored to the session's User; false deletes the face embedding with the session; omit or null to follow the application policy.
\- face_retention_days (integer 1-3650) — finite retention duration for the template. Required when retaining unless the application already sets face_retention_days.
\- face_retention_deadline (ISO 8601 datetime, future) — optional hard expiry. The template expires at the earliest of face_retention_days, the application's data-retention window, and this deadline.
\- deletion_instruction ("operational_session_delete" default | "privacy_erasure") — privacy_erasure purges every retained biometric template for the session's User and never retains a new one, regardless of the application policy. Combining privacy_erasure with retain_face_embeddings: true is rejected with 400.
\- instruction_id (string, max 255) — your own durable reference for this deletion instruction (for example your erasure-ticket id). Stored on the audit trail and on any retained template.

curl examples:
Default (follow the application policy; delete_with_session unless you opted in):
curl -X DELETE https://verification.didit.me/v3/session/<SESSION_ID>/delete/ \
-H "x-api-key: <API_KEY>"

Delete the session but keep an image-free biometric template for 365 days:
curl -X DELETE https://verification.didit.me/v3/session/<SESSION_ID>/delete/ \
-H "x-api-key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{"retain_face_embeddings": true, "face_retention_days": 365}'

Right-to-erasure request (delete the session AND purge every retained template for that person):
curl -X DELETE https://verification.didit.me/v3/session/<SESSION_ID>/delete/ \
-H "x-api-key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{"deletion_instruction": "privacy_erasure", "instruction_id": "dsar-2026-0142"}'

Response: 200 OK with a JSON body once the deletion has completed (this endpoint no longer returns 204):
\{
"session_id": "<uuid>",
"session_number": 1024,
"face_retention_outcome": "deleted" | "retained_with_user" | "none" | "ineligible_no_vendor_user",
"biometric_template_uuid": "<uuid>" | null,
"biometric_template_expires_at": "<ISO 8601 datetime>" | null,
"deleted_child_verifications": 0
}
\- deleted: the session and its face embedding are deleted (default behavior).
\- retained_with_user: the session is deleted; an image-free biometric template with the returned biometric_template_uuid stays anchored to the User until biometric_template_expires_at, User deletion, privacy erasure, or explicit purge. Manage it with GET/DELETE /v3/biometric-templates/{uuid}/.
\- none: the session had no face embedding (for example a KYB session or a document-only KYC session).
\- ineligible_no_vendor_user: retention was requested but the session has no linked User (no vendor_data), so nothing can anchor the template. The session and its embedding are deleted.
\- biometric_template_expires_at: when the retained template is deleted; null when no template is retained.
\- deleted_child_verifications: for a KYB session, how many verifications it created (its key people's KYC sessions and its corporate owners' KYB sessions, recursively) were deleted with it. Always 0 for a KYC session.

Behavior:
\- The session and every verification attempt it holds are deleted, including results a resubmission replaced: the decision, the extracted data, the associated feature records (ID verification, registry checks, documents, AML, IP, etc.), its reviews and activity log, and all stored files (document images, videos, portraits, selfies, POA documents, extra uploads, and E-signature documents, signed PDFs, evidence PDFs and signature images).
\- A KYB session is deleted together with the verifications it created for its key people and corporate owners. A verification it only links to (for example a reused, already approved KYC) is not deleted.
\- The session disappears immediately from /v3/sessions/ and /v3/session/{id}/decision/, and media URLs issued before the call stop resolving.
\- Webhook deliveries still queued for the session, and their retries, are dropped. Webhooks already delivered are not affected.
\- Ongoing AML monitoring and KYB registry monitoring started by the deleted verifications stop.
\- A retained biometric template never contains the face image, liveness video, document data, extracted identity fields, the decision, or the deleted session's id. It is biometric data, tenant-scoped, used only for your duplicate-face, multi-account, biometric-authentication, and list matching, and it is never used for model training or cross-customer fraud processing.
\- Share tokens issued for the session are NOT revoked, but there is nothing left for them to import: an import with one returns 400 {"share_token": ["Original session does not exist."]}.
\- Blocklist entries created from the session are NOT removed; manage those with the Lists endpoints.
\- Credits already consumed by the verification are NOT refunded.
\- The parent User or Business entity is NOT deleted; use POST /v3/users/delete/ or POST /v3/businesses/delete/ for those. Deleting the User also purges its retained biometric templates. If the User's profile portrait came from this session, the portrait is removed.
\- No webhook fires for the deletion itself.

Idempotency:
Idempotent in effect: the second call to the same session returns 404 because the session no longer exists. Deletion is permanent and cannot be undone.

Failure modes:
\- 400: {"retain_face_embeddings": ["Privacy erasure cannot retain biometric templates."]} or {"detail": "A finite biometric-template retention duration is required."} (retention requested without face_retention_days on the request or the application). Nothing is deleted.
\- 403: {"detail": "You do not have permission to perform this action."} when the key lacks delete:sessions.
\- 404: {"detail": "Not found."} when the session does not exist (or was already deleted).
\- 409: {"detail": "...", "code": "in_filed_report", "reports": [{"uuid": "...", "report_number": "SAR-0001", "report_type": "SAR", "case_uuid": "..."}]} when the session is part of a finalized regulatory report. Nothing is deleted. Delete the reports, then repeat the request.
\- 503: {"detail": "The session could not be deleted because a storage service or a monitoring provider is unavailable. The session is still in place; repeat the request to finish deleting it."} or {"detail": "The biometric-template operation could not finish because an external store is unavailable. The operation is retryable."} The session is still in place; repeat the same request until it returns 200. Some of its stored files or its face embedding may already be deleted. Retries converge on a single template.

Bulk delete:
For many KYC sessions at once, use POST /v3/sessions/delete/ with body {"session_numbers": ["1001", "1002"]} or {"delete_all": true}; it accepts the same retention and instruction fields. Up to 20 matching sessions return 200 with a per-session outcome; more return 202 with a job to poll at GET /v3/sessions/delete/{job_id}/.

Migration note:
Until this release the endpoint returned 204 No Content. It now returns 200 OK with the JSON body above. Update clients that assert on 204. The default deletion behavior is unchanged: existing applications stay on delete_with_session until you explicitly change the policy.

When to call:
\- Customer requests data erasure (GDPR Article 17): use deletion_instruction: "privacy_erasure".
\- Operational clean-up after approval while keeping duplicate detection: retain_face_embeddings: true with a finite face_retention_days.
\- Cleaning up test sessions from a staging application.
\- After exporting a decision PDF for long-term archival outside Didit.

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

\</pre>



      
      

Вставьте в

## Поддержка KYC и KYBРаботает как для сессий **Проверка пользователей (KYC)**, так и для сессий **Верификация бизнеса (KYB)**. `session_id` сопоставляется с сессиями обоих типов, и поведение удаления одинаково для обоих. Хранение биометрического шаблона применяется только к сессиям KYC, поскольку только они содержат эмбеддинг лица.## Поведение- Сессия удаляется вместе со всеми попытками верификации, которые она содержит, включая результаты, замененные повторной отправкой: её решение, извлечённые данные, связанные записи функций (верификации личности, проверки реестров, документы, AML, анализ IP и так далее), её ручные проверки и журнал активности, а также все её сохранённые файлы.
- Удаление сессии **Верификация бизнеса (KYB)** также удаляет верификации, созданные для её ключевых лиц (KYC) и корпоративных владельцев (KYB), рекурсивно. В ответе количество таких верификаций указано в `deleted_child_verifications`. Верификация, на которую сессия только ссылается, например уже одобренный KYC, который был повторно использован, не удаляется.
- Данные электронной подписи удаляются вместе с сессией: документы для подписания и их исходные файлы Word, подписанные PDF, PDF с доказательствами, изображения подписей и значения всех полей. Пути их загрузки возвращают `404`.
- Сессия сразу исчезает из ответов списка и решений, а URL медиафайлов, выданные до вызова, перестают открываться.
- Доставки webhook, которые ещё стоят в очереди для сессии, и их повторные попытки отбрасываются.
- Постоянный AML-мониторинг и мониторинг реестров KYB, запущенные верификациями, которые были удалены, останавливаются.
- Удаление окончательное и необратимое. Эндпоинта для восстановления нет, поэтому экспортируйте всё необходимое, например PDF с решением, до вызова этого endpoint.
- Ответ имеет статус `200 OK`, отправляется после завершения удаления и содержит JSON-тело, которое сообщает, что произошло с биометрическими данными лица сессии. См. [Миграция](#миграция-с-ответов-204), если ваш клиент всё ещё ожидает `204`.## Данные в окончательно оформленном регуляторном отчётеЕсли сессия входит в кейс с окончательно оформленным регуляторным отчётом, запрос возвращает `409`, и ничего не удаляется. Ответ содержит `code: in_filed_report` и перечисляет каждый отчёт:```json theme={null}
{
  "detail": "This session is part of a finalized 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"
    }
  ]
}
```Удалите каждый отчёт с помощью [Удаление отчёта](https://docs.didit.me/ru/management-api/regulatory-reports/delete.md), затем повторите удаление. Удаление отчёта не удаляет сессию: она остаётся, пока вы снова не вызовете этот эндпоинт.## Биометрические данные лица: удалить или сохранитьКаждая KYC-сессия с селфи для проверки живости содержит эмбеддинг лица, который используется для [Поиск по лицу 1:N](https://docs.didit.me/ru/core-technology/face-search/overview.md) и обнаружения дубликатов. По умолчанию эмбеддинг удаляется вместе с сессией (`face_retention_policy: delete_with_session`), поэтому человек, чью сессию вы удалили, может пройти верификацию повторно без пометки как дубликат.Приложения, которым нужно сохранять обнаружение дубликатов после удаления сессии, могут включить **сохранение биометрического шаблона**. Didit удаляет сессию и все её данные, как обычно, но сохраняет один отдельно управляемый биометрический шаблон лица без изображений, привязанный к [пользователю](https://docs.didit.me/ru/entities/users/overview.md) этой сессии.> [!WARNING]
>
> Сохранённый биометрический шаблон является биометрическими данными. Он не анонимен, не является временным и не удаляется вместе с сессией. Он хранится до наступления запланированного срока истечения, более раннего срока, установленного применимым законодательством, удаления пользователя, запроса на удаление данных в целях защиты конфиденциальности или явного удаления. Включайте сохранение, только если ваша инструкция оператора данных и уведомление о конфиденциальности это предусматривают.Что содержит и чего не содержит сохранённый шаблон:| Сохраняется | Никогда не сохраняется |
| - | - |
| Числовой шаблон лица, используемый для сравнения | Изображение лица, видео проверки живости, изображения документов, фрагменты портрета и любые другие медиафайлы |
| Новый случайный идентификатор шаблона и непрозрачный `provenance_reference` | Идентификатор, номер, решение, извлечённые поля личности или payload признаков удалённой сессии |
| Пользователь-владелец (`vendor_user_uuid`, текущий `vendor_data`) | Состояние списка блокировки, прошлые совпадения, метки мошенничества или утверждения о личности в других организациях |
| Метаданные сохранения: `retained_at`, `expires_at`, политика, переопределение, класс инструкции, `instruction_id` и идентификатор действующего лица | Адреса электронной почты действующих лиц |Сохранение настраивается в трёх местах, от общего к частному:1) **Политика приложения** в **Business Console → App Settings → Data retention** или через `PATCH /v3/webhook/` (`face_retention_policy`, `face_retention_days`). См. [Хранение данных](https://docs.didit.me/ru/console/data-retention.md#хранение-биометрических-шаблонов).
2) **Переопределение для отдельного вызова** с помощью `retain_face_embeddings` в этом endpoint и в [Пакетное удаление сессий](https://docs.didit.me/ru/management-api/sessions/batch-delete.md).
3) **Класс инструкции** с помощью `deletion_instruction`. Инструкция `privacy_erasure` всегда имеет приоритет: она удаляет все сохранённые шаблоны этого пользователя и никогда не сохраняет новый.### Тело запросаВсе поля необязательны. Если не передавать тело, будет применяться политика приложения.| Поле | Тип | Описание |
| - | - | - |
| `retain_face_embeddings` | boolean или null | Переопределяет политику приложения для этого удаления. `true` сохраняет шаблон, `false` удаляет эмбеддинг вместе с сессией, `null` или отсутствие поля означает, что применяется политика. |
| `face_retention_days` | integer (1-3650) | Конечный срок хранения шаблона. Обязателен при сохранении шаблона, если приложение не задаёт `face_retention_days`. |
| `face_retention_deadline` | datetime (ISO 8601) | Необязательный жёсткий срок истечения. Должен быть в будущем. |
| `deletion_instruction` | `operational_session_delete` (по умолчанию) или `privacy_erasure` | Класс передаваемой инструкции. `privacy_erasure` удаляет все сохранённые шаблоны пользователя сессии перед удалением сессии и не может использоваться вместе с `retain_face_embeddings: true`. |
| `instruction_id` | string (не более 255) | Ваш долговременный идентификатор этой инструкции, например номер тикета на удаление. Записывается в журнал аудита и в любой сохранённый шаблон. Если вы его не укажете, Didit сгенерирует его, и его можно будет увидеть в описании шаблона. |### Ответ```json theme={null}
{
  "session_id": "4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02",
  "session_number": 1024,
  "face_retention_outcome": "retained_with_user",
  "biometric_template_uuid": "9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b",
  "biometric_template_expires_at": "2027-10-09T10:15:00Z",
  "deleted_child_verifications": 0
}
```| Поле | Описание |
| - | - |
| `session_id` | Удалённая сессия. |
| `session_number` | Номер удалённой сессии. |
| `face_retention_outcome` | Что произошло с биометрическими данными лица в сессии. См. таблицу ниже. |
| `biometric_template_uuid` | Идентификатор сохранённого биометрического шаблона, если `face_retention_outcome` равен `retained_with_user`; иначе `null`. |
| `biometric_template_expires_at` | Когда будет удалён сохранённый биометрический шаблон; `null`, если шаблон не сохранён. |
| `deleted_child_verifications` | Для KYB-сессии: сколько верификаций, созданных ею (KYC-сессии её ключевых лиц и KYB-сессии её корпоративных владельцев, рекурсивно), были удалены вместе с ней. Для KYC-сессии всегда `0`. || `face_retention_outcome` | Значение |
| - | - |
| `deleted` | Сессия и её эмбеддинг лица удалены. Поведение по умолчанию. |
| `retained_with_user` | Сессия удалена. Один биометрический шаблон без изображений остаётся привязанным к пользователю; его идентификатор: `biometric_template_uuid`. Управляйте им через [API биометрических шаблонов](https://docs.didit.me/ru/management-api/biometric-templates/overview.md). |
| `none` | В сессии не было эмбеддинга лица для удаления или сохранения (например, KYB-сессия или KYC-сессия без селфи для проверки живости). |
| `ineligible_no_vendor_user` | Сохранение было запрошено, но сессия не привязана к пользователю (она создана без `vendor_data`), поэтому привязать шаблон не к чему. Сессия и её эмбеддинг удалены. Результат невозможности сохранения записывается в журнал аудита. |Ответ подтверждает, что Didit принял и применил вашу инструкцию на удаление. Это не подтверждение удаления данных. Сохраняйте `instruction_id` в собственном журнале стирания данных, чтобы позже сопоставить его с журналом аудита.### Срок хранения и истечениеКаждый сохранённый шаблон имеет конечное значение `expires_at`. Didit устанавливает его как самый ранний из следующих сроков:1) `face_retention_days` из запроса или `face_retention_days` приложения, если запрос его не содержит;
2) общий срок хранения данных, установленный для приложения, если он настроен;
3) `face_retention_deadline` из запроса, если он передан.Запрос, который сохранил бы шаблон без какого-либо конечного срока, отклоняется с ошибкой `400`, и ничего не удаляется. Сохранённые шаблоны не могут пережить самую раннюю из применимых инструкций клиента, окончание цели обработки, настроенный срок истечения, инструкцию субъекта данных на удаление или установленный законом предельный срок хранения биометрических данных. Вы отвечаете за выбор срока, который соответствует законам, применимым к вашим пользователям. Выбирайте более короткий срок всякий раз, когда этого требует применимое правило.### Удаление данных в целях защиты конфиденциальностиОтправьте `deletion_instruction: "privacy_erasure"`, когда действуете по запросу субъекта данных. Didit удаляет все сохранённые биометрические шаблоны, привязанные к пользователю сессии, затем удаляет саму сессию и её эмбеддинг. Политика хранения приложения не может отменить инструкцию на удаление в целях конфиденциальности, а `retain_face_embeddings: true` отклоняется с ошибкой `400`.Удаление пользователя с помощью [пакетного удаления пользователей](https://docs.didit.me/ru/management-api/users/delete.md) также удаляет его сохранённые шаблоны.## Что не затрагиваетсяУдаление сессии не очищает эти данные автоматически. Если вы обрабатываете запрос на удаление данных (право на забвение), учитывайте их отдельно.- **Записи блокировки**, созданные из сессии (по лицу или по документу), остаются на месте. Удалите их в [списке блокировки](https://docs.didit.me/ru/entities/users/blocklist.md). Запись блокировки по лицу хранит собственную биометрическую запись, не зависящую от любого сохранённого шаблона.
- **Токены общего доступа**, уже выданные для сессии, не отзываются, но импортировать по ним больше нечего: [импорт](https://docs.didit.me/ru/sessions-api/share-session/import.md) с таким токеном возвращает `400` с `{"share_token": ["Original session does not exist."]}`.
- **Webhook-уведомления, уже доставленные** для сессии, не затрагиваются. Доставки, которые ещё стоят в очереди, и их повторные попытки отбрасываются. Webhook для самого удаления не отправляется.
- **Кредиты, уже списанные** за верификацию, не возвращаются.
- **Подписанные копии, уже отправленные** подписанту по электронной почте на шаге «Электронная подпись», находятся в его почтовом ящике и не затрагиваются.
- Родительские сущности **пользователь** и **компания** не удаляются. Для них используйте [удаление пользователей](https://docs.didit.me/ru/management-api/users/delete.md) или [удаление компаний](https://docs.didit.me/ru/management-api/businesses/delete.md). Если портрет профиля пользователя был получен из удаляемой сессии, портрет удаляется.
- **Сохранённый биометрический шаблон** (только если вы включили сохранение) остаётся до истечения срока или до очистки. Очистите его через [API биометрических шаблонов](https://docs.didit.me/ru/management-api/biometric-templates/purge.md), удалив пользователя или повторив удаление другой сессии того же пользователя с `deletion_instruction: "privacy_erasure"`.## Примеры> [tab] По умолчанию (политика приложения)
>
> ```bash theme={null}
> curl -X DELETE https://verification.didit.me/v3/session/4c5c7f3a-.../delete/ \
>   -H "x-api-key: YOUR_API_KEY"
> ```
>
> Ответ для приложения, которое не включило сохранение:
>
> ```json theme={null}
> {
>   "session_id": "4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02",
>   "session_number": 1024,
>   "face_retention_outcome": "deleted",
>   "biometric_template_uuid": null,
>   "biometric_template_expires_at": null,
>   "deleted_child_verifications": 0
> }
> ```> [tab] Сохранение биометрического шаблона
>
> ```bash theme={null}
> curl -X DELETE https://verification.didit.me/v3/session/4c5c7f3a-.../delete/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   -H "Content-Type: application/json" \
>   -d '{"retain_face_embeddings": true, "face_retention_days": 365, "instruction_id": "cleanup-2026-08-0142"}'
> ```
>
> ```json theme={null}
> {
>   "session_id": "4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02",
>   "session_number": 1024,
>   "face_retention_outcome": "retained_with_user",
>   "biometric_template_uuid": "9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b",
>   "biometric_template_expires_at": "2027-10-09T10:15:00Z",
>   "deleted_child_verifications": 0
> }
> ```> [tab] Принудительное удаление в приложении с включённым сохранением
>
> ```bash theme={null}
> curl -X DELETE https://verification.didit.me/v3/session/4c5c7f3a-.../delete/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   -H "Content-Type: application/json" \
>   -d '{"retain_face_embeddings": false}'
> ```
>
> ```json theme={null}
> {
>   "session_id": "4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02",
>   "session_number": 1024,
>   "face_retention_outcome": "deleted",
>   "biometric_template_uuid": null,
>   "biometric_template_expires_at": null,
>   "deleted_child_verifications": 0
> }
> ```> [tab] Удаление по запросу о конфиденциальности
>
> ```bash theme={null}
> curl -X DELETE https://verification.didit.me/v3/session/4c5c7f3a-.../delete/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   -H "Content-Type: application/json" \
>   -d '{"deletion_instruction": "privacy_erasure", "instruction_id": "dsar-2026-0142"}'
> ```
>
> Сначала удаляются все сохранённые шаблоны пользователя сессии, затем удаляется сама сессия:
>
> ```json theme={null}
> {
>   "session_id": "4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02",
>   "session_number": 1024,
>   "face_retention_outcome": "deleted",
>   "biometric_template_uuid": null,
>   "biometric_template_expires_at": null,
>   "deleted_child_verifications": 0
> }
> ```> [tab] Сессия без пользователя
>
> Сессия, созданная без `vendor_data`, не имеет пользователя, к которому можно привязать шаблон:
>
> ```bash theme={null}
> curl -X DELETE https://verification.didit.me/v3/session/7a1e9c2d-.../delete/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   -H "Content-Type: application/json" \
>   -d '{"retain_face_embeddings": true, "face_retention_days": 365}'
> ```
>
> ```json theme={null}
> {
>   "session_id": "7a1e9c2d-5f4b-4c3a-8e2d-1b0a9f8e7d6c",
>   "session_number": 1031,
>   "face_retention_outcome": "ineligible_no_vendor_user",
>   "biometric_template_uuid": null,
>   "biometric_template_expires_at": null,
>   "deleted_child_verifications": 0
> }
> ```> [tab] Сессия верификации бизнеса (KYB)
>
> ```bash theme={null}
> curl -X DELETE https://verification.didit.me/v3/session/bs-01HJX1.../delete/ \
>   -H "x-api-key: YOUR_API_KEY"
> ```
>
> Верификация бизнеса удаляется вместе с тремя верификациями, которые были созданы для её ключевых лиц:
>
> ```json theme={null}
> {
>   "session_id": "0f3c9b7e-2d1a-4e5f-8c6b-7a9d8e1f2c3b",
>   "session_number": 88,
>   "face_retention_outcome": "none",
>   "biometric_template_uuid": null,
>   "biometric_template_expires_at": null,
>   "deleted_child_verifications": 3
> }
> ```## Ошибки| Статус | Когда | Тело ответа |
| - | - | - |
| `400` | `privacy_erasure` указан вместе с `retain_face_embeddings: true` | `{"retain_face_embeddings": ["Privacy erasure cannot retain biometric templates."]}` |
| `400` | Сохранение запрошено без конечного срока в запросе или в приложении | `{"detail": "A finite biometric-template retention duration is required."}` |
| `403` | У учётных данных нет `delete:sessions` или сессия им не принадлежит | `{"detail": "You do not have permission to perform this action."}` |
| `404` | Сессия не найдена или уже удалена | `{"detail": "Not found."}` |
| `503` | Сервис хранения или провайдер мониторинга были недоступны во время удаления сессии. | `{"detail": "The session could not be deleted because a storage service or a monitoring provider is unavailable. The session is still in place; repeat the request to finish deleting it."}` |
| `503` | Биометрическое хранилище было недоступно при сохранении или удалении шаблона. При повторных попытках создаётся только один шаблон. | `{"detail": "The biometric-template operation could not finish because an external store is unavailable. The operation is retryable."}` |При `400` ничего не удаляется. При `503` сессия остаётся на месте: повторяйте тот же запрос, пока не получите `200`. Часть её сохранённых файлов или эмбеддинг лица могут быть уже удалены, поэтому после `503` на них нельзя полагаться.## РазрешенияТребуется `delete:sessions`. Это же разрешение требуется для сессий типа «Проверка пользователей» (KYC) и «Верификация бизнеса» (KYB), а также для переопределения хранения.## Пакетное удалениеДля массовых операций с сессиями KYC используйте `POST /v3/sessions/delete/`. Этот метод принимает те же поля, относящиеся к хранению и инструкции. В одном запросе удаляется до 20 подходящих сессий с результатом по каждой; для остальных создаётся [задание на удаление](https://docs.didit.me/ru/management-api/sessions/get-deletion-job.md). См. [Пакетное удаление сессий](https://docs.didit.me/ru/management-api/sessions/batch-delete.md).## Миграция с ответов 204До этого релиза эндпоинт возвращал `204 No Content`. Теперь он возвращает `200 OK` с JSON-телом, описанным выше, чтобы каждое удаление сообщало свой `face_retention_outcome`. Обновите клиенты, которые проверяют `204`.Поведение по умолчанию не изменилось: существующие приложения остаются на `delete_with_session`, и никакая миграция не включает сохранение за вас. Включите его явно в Console или через `PATCH /v3/webhook/`.## Связанные материалы- [Биометрические шаблоны](https://docs.didit.me/ru/management-api/biometric-templates/overview.md)
- [Хранение данных](https://docs.didit.me/ru/console/data-retention.md)
- [Обзор сессий](https://docs.didit.me/ru/sessions-api/overview.md)


## OpenAPI

````yaml ru/openapi-25.json DELETE /v3/session/{sessionId}/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/session/{sessionId}/delete/:
    delete:
      tags:
        - Sessions
      summary: Удалить сессию верификации (KYC или KYB)
      description: >-
        Удаляет отдельную сессию верификации типа «Проверка пользователей (KYC)»
        или «Верификация бизнеса (KYB)» по её `session_id`. Идентификатор
        сначала сопоставляется с сессиями KYC, затем с сессиями KYB, поэтому оба
        типа удаляются через этот единый URL.


        **Что удаляется:**

        - Сессия и каждая содержащаяся в ней попытка верификации, включая
        результаты, заменённые при повторной отправке: решение, извлечённые
        данные, все связанные записи функций (верификация личности, лицо,
        проверка живости, сравнение лиц, AML, проверки по реестрам, анализ IP и
        так далее), её проверки и журнал активности.

        - Все сохранённые файлы, принадлежащие сессии: фотографии лицевой и
        оборотной сторон документа (полные, обрезанные и варианты с размытием в
        целях конфиденциальности), видео захвата документа, обрезанные
        портретные фото, портреты и изображения подписи из NFC-чипа, эталонные
        изображения лица, видео проверки живости, исходные и целевые изображения
        сравнения лиц, документы подтверждения адреса и любые дополнительные
        загруженные файлы (KYC); загруженные документы компании и дополнительные
        файлы (KYB). Документы электронной подписи, подписанные PDF-файлы,
        PDF-файлы с подтверждающими материалами и изображения подписи (KYC и
        KYB): пути для их скачивания перестают действовать. Ранее выданные URL
        медиафайлов (`https://<media-host>/...`) перестают открываться.

        - Данные лица сессии. Эмбеддинг лица также удаляется, если вы не решите
        сохранить шаблон без изображений (см. **Биометрические данные лица**).

        - Доставки webhook, всё ещё находящиеся в очереди для этой сессии, и их
        повторные попытки. Уже доставленные webhook не затрагиваются.

        - Для сессии Верификации бизнеса (KYB): верификации, созданные для её
        ключевых лиц (KYC) и её корпоративных владельцев (KYB), рекурсивно,
        возвращаемые в поле `deleted_child_verifications`. Верификация, на
        которую она лишь ссылается (например, повторно использованная
        существующая одобренная верификация KYC), не удаляется.


        Сессия мгновенно исчезает из всех endpoint для чтения: `GET
        /v3/session/{sessionId}/decision/` возвращает `404`, а `GET
        /v3/sessions/` перестаёт отображать её в списке. Постоянный
        AML-мониторинг и мониторинг реестров KYB, запущенные удалёнными
        верификациями, прекращаются.


        **Что не затрагивается:** записи списка блокировки, созданные на основе
        этой сессии (по лицу или документу), **не** удаляются; управляйте ими с
        помощью endpoint списка блокировки. Выпущенные для сессии токены общего
        доступа не отзываются, однако для них больше нет данных для импорта:
        импорт с таким token вернёт `400` с `{"share_token": ["Original session
        does not exist."]}`. Уже израсходованные кредиты **не** возвращаются.
        Родительская сущность пользователя или компании **не** удаляется; для их
        удаления используйте `POST /v3/users/delete/` или `POST
        /v3/businesses/delete/`. Если фото профиля пользователя было получено из
        этой сессии, оно удаляется вместе с ней.


        **Биометрические данные лица:** по умолчанию эмбеддинг лица сессии
        удаляется вместе с сессией (`face_retention_outcome: deleted`). Если
        приложение согласилось на сохранение биометрического шаблона
        (`face_retention_policy: retain_until_user_deleted` в `PATCH
        /v3/webhook/`), или если передан запрос с `retain_face_embeddings:
        true`, сохраняется один отдельно управляемый биометрический шаблон лица
        без изображений, привязанный к пользователю, связанному с сессией
        (`retained_with_user`), чтобы обнаружение дубликатов, Поиск по лицу и
        биометрическая аутентификация продолжали работать. Шаблон никогда не
        содержит изображение лица, медиафайлы, поля удостоверения личности,
        решение или идентификатор удалённой сессии; это биометрические данные,
        удаляемые в момент `biometric_template_expires_at` или раньше (при
        удалении пользователя, стирании данных в рамках конфиденциальности или
        явной очистке через `/v3/biometric-templates/`). Сессия без привязанного
        пользователя не может сохранить шаблон (`ineligible_no_vendor_user`).
        Отправляйте `deletion_instruction: privacy_erasure` для запросов
        субъектов персональных данных: это очищает все сохранённые шаблоны для
        этого пользователя и гарантирует, что новый шаблон сохранён не будет.


        **Необратимо:** удаление является окончательным, и endpoint для
        восстановления отсутствует. Экспортируйте всё необходимое (например,
        PDF-файл с решением) до вызова.


        **Побочные эффекты:** при удалении webhook не отправляется.


        **Ответ:** `200 OK` после завершения удаления с телом JSON, содержащим
        `face_retention_outcome`, срок действия сохранённого шаблона и, для
        сессии KYB, `deleted_child_verifications`. Более ранние версии этого
        endpoint возвращали `204 No Content`; обновите клиенты, ожидающие `204`.
        Сохраняйте ваш `instruction_id` в собственном журнале удаления данных.


        **Идемпотентность:** операция не идемпотентна на уровне HTTP: первый
        вызов возвращает `200`; повторный вызов возвращает `404`, так как сессия
        больше не существует. После ошибки `503` сессия остаётся на месте;
        повторите тот же запрос, чтобы завершить её удаление.


        **Аутентификация:** передавайте API-ключ вашего приложения в заголовке
        `x-api-key`; сессия должна принадлежать этому приложению.
        Пользовательские токены доступа Консоли (`Authorization: Bearer ...`)
        также могут вызывать этот endpoint при наличии разрешения
        `delete:sessions`. Ошибки аутентификации и разрешений возвращают `403`;
        этот API никогда не возвращает `401`.


        **Лимит запросов:** общий лимит на запись 300 запросов/мин на API-ключ
        для всех endpoint POST/PATCH/DELETE; при его превышении возвращается
        `429`.


        Для массового удаления сессий KYC по их числовому `session_number`
        используйте вместо этого `POST /v3/sessions/delete/`.


        **Поданные регуляторные отчёты:** если выбранные данные входят в
        окончательно оформленный регуляторный отчёт, весь запрос отклоняется с
        ошибкой `409` и ничего не удаляется. В теле ответа возвращается `code:
        in_filed_report` с указанием каждого отчёта через `uuid`,
        `report_number`, `report_type` и `case_uuid`. Удалите отчёты, затем
        повторите запрос.
      operationId: delete_v3_session_by_id
      parameters:
        - in: path
          name: sessionId
          required: true
          description: >-
            UUID (`session_id`) удаляемой сессии Проверки пользователей (KYC)
            или Верификации бизнеса (KYB), возвращённый при создании сессии.
            Должен быть каноническим UUID с дефисами — значение, не являющееся
            UUID, не совпадает с маршрутом и возвращает `404`.
          schema:
            type: string
            format: uuid
            example: 11111111-2222-3333-4444-555555555555
      requestBody:
        required: false
        description: >-
          Необязательно. Полностью опустите тело запроса, чтобы следовать
          политике хранения приложения с выполнением удаления в рамках
          операционной деятельности.
        content:
          application/json:
            schema:
              type: object
              properties:
                retain_face_embeddings:
                  type: boolean
                  nullable: true
                  description: >-
                    Переопределить `face_retention_policy` приложения для этого
                    удаления. При значении `true` после удаления сессии
                    сохраняется один биометрический шаблон лица без изображения,
                    привязанный к пользователю сессии; при `false` эмбеддинг
                    лица удаляется вместе с сессией; опустите или укажите
                    `null`, чтобы использовать политику приложения. Игнорируется
                    для KYB-сессий и сессий без эмбеддинга лица.
                  example: true
                face_retention_days:
                  type: integer
                  minimum: 1
                  maximum: 3650
                  description: >-
                    Ограниченный срок хранения в днях для сохраняемого шаблона.
                    Обязателен при сохранении шаблона, если в приложении ещё не
                    задан `face_retention_days`. Значение `expires_at` шаблона
                    является наименьшим из этого срока, общего окна хранения
                    данных приложения и `face_retention_deadline`.
                  example: 365
                face_retention_deadline:
                  type: string
                  format: date-time
                  description: >-
                    Необязательный точный срок действия сохранённого шаблона.
                    Должен быть в будущем.
                  example: '2027-08-28T00:00:00Z'
                deletion_instruction:
                  type: string
                  enum:
                    - operational_session_delete
                    - privacy_erasure
                  default: operational_session_delete
                  description: >-
                    Класс передаваемой инструкции. `operational_session_delete`
                    удаляет сессию и сохраняет шаблон только тогда, когда это
                    предусмотрено политикой или параметром
                    `retain_face_embeddings`. `privacy_erasure` полностью
                    удаляет каждый сохранённый биометрический шаблон,
                    привязанный к пользователю сессии, перед удалением самой
                    сессии, не может быть переопределён политикой приложения и
                    не может сочетаться с `retain_face_embeddings: true`
                    (`400`).
                  example: operational_session_delete
                instruction_id:
                  type: string
                  maxLength: 255
                  description: >-
                    Ваш постоянный идентификатор для этой инструкции по удалению
                    (например, id тикета на удаление). Фиксируется в журнале
                    аудита и на любом сохраненном шаблоне. Генерируется Didit,
                    если опущен.
                  example: dsar-2026-0142
            examples:
              Retain a biometric template:
                summary: Удалить сессию, сохранив шаблон без изображений на 365 дней
                value:
                  retain_face_embeddings: true
                  face_retention_days: 365
                  instruction_id: post-approval-cleanup-2026-08
              Force deletion on an opted-in application:
                summary: Удалить эмбеддинг лица независимо от политики приложения
                value:
                  retain_face_embeddings: false
              Privacy erasure:
                summary: >-
                  Запрос субъекта данных: удалить сессию и стереть все
                  сохранённые шаблоны для этого человека
                value:
                  deletion_instruction: privacy_erasure
                  instruction_id: dsar-2026-0142
      responses:
        '200':
          description: >-
            Сессия удалена. В теле ответа сообщается, что произошло с
            биометрическими данными лица из сессии, а для сессии KYB, сколько
            созданных ею верификаций было удалено вместе с ней.
          content:
            application/json:
              schema:
                type: object
                properties:
                  session_id:
                    type: string
                    format: uuid
                    description: Удалённая сессия.
                  session_number:
                    type: integer
                    nullable: true
                    description: Номер удалённой сессии.
                  face_retention_outcome:
                    type: string
                    enum:
                      - retained_with_user
                      - deleted
                      - none
                      - ineligible_no_vendor_user
                    description: >-
                      Что произошло с лицевыми биометрическими данными сессии.
                      `deleted`: эмбеддинг лица был удалён вместе с сессией (по
                      умолчанию). `retained_with_user`: сессия удалена, а один
                      биометрический шаблон без изображения остаётся привязанным
                      к пользователю; см. `biometric_template_uuid`. `none`: в
                      сессии не было эмбеддинга лица (например, сессия KYB или
                      сессия KYC без селфи для проверки живости).
                      `ineligible_no_vendor_user`: было запрошено сохранение, но
                      у сессии нет связанного пользователя, поэтому эмбеддинг
                      был удалён вместе с сессией. Сбой биометрического
                      хранилища никогда не возвращается через это поле на данном
                      endpoint: возвращается `503`, и сессия не удаляется.
                  biometric_template_uuid:
                    type: string
                    format: uuid
                    nullable: true
                    description: >-
                      Идентификатор сохранённого биометрического шаблона, если
                      `face_retention_outcome` имеет значение
                      `retained_with_user`; в противном случае `null`.
                      Управляется через
                      `/v3/biometric-templates/{template_uuid}/`.
                  biometric_template_expires_at:
                    type: string
                    format: date-time
                    nullable: true
                    description: >-
                      Время удаления сохранённого биометрического шаблона, когда
                      `face_retention_outcome` имеет значение
                      `retained_with_user`; `null`, если шаблон не сохраняется.
                  deleted_child_verifications:
                    type: integer
                    description: >-
                      Для сессии Верификации бизнеса (KYB): сколько созданных ею
                      верификаций (KYC-сессии её ключевых лиц и KYB-сессии её
                      корпоративных владельцев рекурсивно) было удалено вместе с
                      ней. Всегда `0` для KYC-сессии.
              examples:
                Deleted (default):
                  value:
                    session_id: 4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02
                    session_number: 1024
                    face_retention_outcome: deleted
                    biometric_template_uuid: null
                    biometric_template_expires_at: null
                    deleted_child_verifications: 0
                Retained with User:
                  value:
                    session_id: 4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02
                    session_number: 1024
                    face_retention_outcome: retained_with_user
                    biometric_template_uuid: 9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b
                    biometric_template_expires_at: '2027-10-09T10:15:00Z'
                    deleted_child_verifications: 0
                'Ineligible: no User':
                  summary: Запрошено хранение для сессии, созданной без vendor_data
                  value:
                    session_id: 7a1e9c2d-5f4b-4c3a-8e2d-1b0a9f8e7d6c
                    session_number: 1031
                    face_retention_outcome: ineligible_no_vendor_user
                    biometric_template_uuid: null
                    biometric_template_expires_at: null
                    deleted_child_verifications: 0
                KYB session:
                  value:
                    session_id: 0f3c9b7e-2d1a-4e5f-8c6b-7a9d8e1f2c3b
                    session_number: 88
                    face_retention_outcome: none
                    biometric_template_uuid: null
                    biometric_template_expires_at: null
                    deleted_child_verifications: 3
                  summary: >-
                    Верификация бизнеса, удалённая вместе с тремя верификациями,
                    созданными для её ключевых лиц
        '400':
          description: Ошибка валидации — ничего не удалено.
          content:
            application/json:
              examples:
                Privacy erasure cannot retain:
                  value:
                    retain_face_embeddings:
                      - Privacy erasure cannot retain biometric templates.
                No finite retention duration:
                  summary: >-
                    Запрошено хранение без указания face_retention_days в
                    запросе или приложении
                  value:
                    detail: >-
                      A finite biometric-template retention duration is
                      required.
        '403':
          description: >-
            Ошибка аутентификации или разрешения. Отсутствующий ключ также
            возвращает `403`; неверный, отозванный или истекший ключ возвращает
            `401`. Исключение: если `sessionId` не соответствует активной
            сессии, предварительная проверка владельца возвращает `404` раньше,
            даже при отсутствии или недействительности учетных данных.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Missing or invalid API key:
                  summary: Заголовок x-api-key отсутствует, либо ключ недействителен
                  value:
                    detail: >-
                      Authentication credentials were not provided or are
                      invalid.
                Insufficient permission:
                  summary: >-
                    token пользователя без разрешения delete:sessions или
                    учётные данные приложения, которому не принадлежит эта
                    сессия
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: >-
            Активной сессии KYC или KYB с таким `session_id` не существует — id
            неизвестен или сессия уже была удалена (повторное успешное удаление
            приводит сюда).
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Not Found:
                  summary: Неизвестная или уже удалённая сессия
                  value:
                    detail: Not found.
        '409':
          description: >-
            Сессия является частью завершенного регуляторного отчета. Ничего не
            удалено.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InFiledReportError'
        '429':
          description: >-
            Превышен общий лимит запросов на запись (300 запросов
            POST/PATCH/DELETE в минуту на один API-ключ). Проверьте заголовок
            `Retry-After` и заголовки ответа `X-RateLimit-*` перед повторной
            попыткой.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Rate limited:
                  summary: Исчерпан бюджет на запись
                  value:
                    detail: >-
                      Write request rate limit exceeded. You can make up to 300
                      requests per minute.
        '503':
          description: >-
            Удаление не удалось завершить, так как служба хранения,
            биометрическое хранилище или поставщик мониторинга были недоступны.
            Сессия осталась на месте; повторяйте тот же запрос, пока он не
            вернёт `200`. Некоторые из сохранённых файлов или эмбеддинг лица уже
            могут быть удалены, поэтому не полагайтесь на них после `503`.
            Повторные попытки сходятся к единому шаблону.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Session deletion unavailable:
                  summary: Сервис хранения или поставщик мониторинга был недоступен
                  value:
                    detail: >-
                      The session could not be deleted because a storage service
                      or a monitoring provider is unavailable. The session is
                      still in place; repeat the request to finish deleting it.
                Biometric store unavailable:
                  summary: >-
                    Хранилище биометрии было недоступно при сохранении или
                    удалении шаблона
                  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 (default policy)
          source: |-
            curl -X DELETE \
              https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/delete/ \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: curl
          label: curl (retain template)
          source: |-
            curl -X DELETE \
              https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/delete/ \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"retain_face_embeddings": true, "face_retention_days": 365}'
        - lang: curl
          label: curl (privacy erasure)
          source: |-
            curl -X DELETE \
              https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/delete/ \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"deletion_instruction": "privacy_erasure", "instruction_id": "dsar-2026-0142"}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.sessions.delete(
                "11111111-2222-3333-4444-555555555555",
                retain_face_embeddings=True,
                face_retention_days=365,
                instruction_id="post-approval-cleanup-2026-08",
            )
            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.sessions.delete("11111111-2222-3333-4444-555555555555", {
              retain_face_embeddings: true,
              face_retention_days: 365,
              instruction_id: "post-approval-cleanup-2026-08",
            });

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Sessions.Delete(ctx, \"11111111-2222-3333-4444-555555555555\", didit.SessionsDeleteParams{\n\tRetainFaceEmbeddings: didit.Bool(true),\n\tFaceRetentionDays:    didit.Int(365),\n\tInstructionID:        didit.String(\"post-approval-cleanup-2026-08\"),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;

            import me.didit.types.SessionsDeleteParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.sessions().delete("11111111-2222-3333-4444-555555555555",
            SessionsDeleteParams.builder()
                    .retainFaceEmbeddings(true)
                    .faceRetentionDays(365L)
                    .instructionId("post-approval-cleanup-2026-08")
                    .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->sessions->delete('11111111-2222-3333-4444-555555555555', [
                'retain_face_embeddings' => true,
                'face_retention_days' => 365,
                'instruction_id' => 'post-approval-cleanup-2026-08',
            ]);

            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            result = didit.sessions.delete(
              "11111111-2222-3333-4444-555555555555",
              retain_face_embeddings: true,
              face_retention_days: 365,
              instruction_id: "post-approval-cleanup-2026-08"
            )
            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.Sessions.DeleteAsync("11111111-2222-3333-4444-555555555555",
            new SessionsDeleteParams

            {
                RetainFaceEmbeddings = true,
                FaceRetentionDays = 365,
                InstructionId = "post-approval-cleanup-2026-08",
            });

            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: >-
            Транзакции, блокирующие удаление транзакции, каждая со списком
            отчётов, в которых она фигурирует.
    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.