> ## 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 para excluir sessão: direito ao esquecimento do GDPR

> A API do Didit exclui a sessão KYC/KYB e seus dados, incluindo o embedding facial; aplicações habilitadas podem reter template biométrico sem imagem.



Prompt para excluir sessão
        Copiar o prompt para a área de transferência



      
      

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



      
      

Colar em

## Suporte a KYC e KYBFunciona tanto para sessões de **Verificação de Usuário (KYC)** quanto de **Verificação de Empresas (KYB)**. O `session_id` é buscado nos dois tipos de sessão, e o mesmo comportamento de exclusão se aplica a ambos. A retenção do template biométrico se aplica apenas a sessões KYC, porque somente sessões KYC contêm um embedding facial.## Comportamento- A sessão é excluída junto com todas as tentativas de verificação que ela contém, incluindo resultados substituídos por um reenvio: sua decisão, seus dados extraídos, os registros dos recursos associados (verificações de identidade, consultas a registros, documentos, AML, análise de IP etc.), suas revisões e seu registro de atividades, além de todos os arquivos armazenados.
- Excluir uma sessão de **Verificação de Empresas (KYB)** também exclui, de forma recursiva, as verificações que ela criou para suas pessoas-chave (KYC) e para seus proprietários corporativos (KYB). A resposta informa quantas foram excluídas em `deleted_child_verifications`. Uma verificação à qual ela apenas faz referência, como um KYC aprovado já existente que foi reutilizado, não é excluída.
- Os dados de assinatura eletrônica também são excluídos: os documentos a assinar e seus arquivos Word originais, os PDFs assinados, os PDFs de evidências, as imagens das assinaturas e o valor de cada campo. Os caminhos de download desses arquivos retornam `404`.
- A sessão desaparece imediatamente das respostas de listagem e de decisão, e as URLs de mídia emitidas antes da chamada deixam de funcionar.
- As entregas de webhook ainda na fila para a sessão, assim como suas novas tentativas, são descartadas.
- O monitoramento AML contínuo e o monitoramento de registros KYB iniciados pelas verificações excluídas são interrompidos.
- A exclusão é permanente e irreversível. Não existe endpoint de restauração, então exporte tudo de que você precisar, como o PDF de uma decisão, antes de fazer a chamada.
- A resposta é `200 OK`, enviada quando a exclusão é concluída, com um corpo JSON que informa o que aconteceu com os dados biométricos faciais da sessão. Consulte [Migração](#migração-das-respostas-204) se o seu cliente ainda espera `204`.## Dados em um relatório regulatório finalizadoSe a sessão fizer parte de um caso com um relatório regulatório finalizado, a requisição retorna `409` e nada é excluído. A resposta usa `code: in_filed_report` e identifica cada relatório:```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"
    }
  ]
}
```Exclua cada relatório com [Excluir relatório](https://docs.didit.me/pt-br/management-api/regulatory-reports/delete.md) e, em seguida, repita a exclusão. Excluir o relatório não exclui a sessão: ela permanece até que você chame este endpoint novamente.## Dados biométricos faciais: excluir ou reterToda sessão de KYC com uma selfie de prova de vida contém um embedding facial que alimenta a [Busca facial 1:N](https://docs.didit.me/pt-br/core-technology/face-search/overview.md) e a detecção de duplicatas. Por padrão, esse embedding é excluído junto com a sessão (`face_retention_policy: delete_with_session`), para que uma pessoa cuja sessão você excluiu possa se verificar novamente sem ser sinalizada como duplicata.Aplicações que precisam que a detecção de duplicatas continue funcionando após a exclusão da sessão podem optar pela **retenção de template biométrico**. Nesse caso, a Didit exclui a sessão e todos os seus dados normalmente, e mantém um template biométrico facial sem imagem, gerenciado separadamente e vinculado ao [Usuário](https://docs.didit.me/pt-br/entities/users/overview.md) da sessão.> [!WARNING]
>
> Um template biométrico retido é um dado biométrico. Ele não é anônimo, não é temporário e não é excluído junto com a sessão. Ele permanece até a expiração programada, até um prazo anterior exigido pela legislação aplicável, até a exclusão do Usuário, até uma solicitação de apagamento por privacidade ou até uma eliminação explícita. Ative a retenção somente quando a instrução do controlador e o seu aviso de privacidade a cobrirem.O que um template retido contém e o que não contém:| Retido | Nunca retido |
| - | - |
| O template facial numérico usado para correspondência | A imagem do rosto, o vídeo de prova de vida, as imagens do documento, os recortes do retrato e qualquer outra mídia |
| Um novo id aleatório de template e um `provenance_reference` opaco | O id, o número, a decisão, os campos de identidade extraídos ou os payloads de recursos da sessão excluída |
| O Usuário proprietário (`vendor_user_uuid`, `vendor_data` atual) | Status na lista de bloqueio, correspondências anteriores, rótulos de fraude ou declarações de identidade entre organizações |
| Metadados de retenção: `retained_at`, `expires_at`, política, substituição, classe de instrução, `instruction_id` e o id do principal que executou a ação | Endereços de e-mail de quem executou a ação |A retenção é configurada em três lugares, do mais amplo ao mais específico:1) **Política da aplicação** em **Business Console → App Settings → Data retention** ou por meio de `PATCH /v3/webhook/` (`face_retention_policy`, `face_retention_days`). Consulte [Retenção de dados](https://docs.didit.me/pt-br/console/data-retention.md#retenção-de-template-biométrico).
2) **Substituição por requisição** com `retain_face_embeddings` neste endpoint e em [Excluir sessões em lote](https://docs.didit.me/pt-br/management-api/sessions/batch-delete.md).
3) **Classe de instrução** com `deletion_instruction`. Uma instrução `privacy_erasure` sempre prevalece: ela remove todos os templates retidos desse Usuário e nunca retém um novo.### Corpo da requisiçãoTodos os campos são opcionais. Omita o corpo para seguir a política da aplicação.| Campo | Tipo | Descrição |
| - | - | - |
| `retain_face_embeddings` | booleano ou null | Substitui a política da aplicação nesta exclusão. `true` retém um template, `false` exclui o embedding junto com a sessão, `null` ou a omissão segue a política. |
| `face_retention_days` | inteiro (1-3650) | Duração finita da retenção do template. Obrigatório quando um template é retido, a menos que a aplicação já defina `face_retention_days`. |
| `face_retention_deadline` | datetime (ISO 8601) | Data-limite de expiração opcional. Deve estar no futuro. |
| `deletion_instruction` | `operational_session_delete` (padrão) ou `privacy_erasure` | A classe da instrução que você está dando. `privacy_erasure` remove todos os templates retidos do Usuário da sessão antes de excluir a sessão e não pode ser combinado com `retain_face_embeddings: true`. |
| `instruction_id` | string (máx. 255) | Sua referência permanente para esta instrução, por exemplo o id do seu ticket de apagamento. Fica registrado na trilha de auditoria e em qualquer template retido. Se você o omitir, a Didit gera um, que pode ser consultado no detalhe do template. |### Resposta```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
}
```| Campo | Descrição |
| - | - |
| `session_id` | A sessão excluída. |
| `session_number` | O número da sessão excluída. |
| `face_retention_outcome` | O que aconteceu com os dados biométricos faciais da sessão. Consulte a tabela abaixo. |
| `biometric_template_uuid` | Id do template biométrico retido quando `face_retention_outcome` é `retained_with_user`; `null` nos demais casos. |
| `biometric_template_expires_at` | Quando o template biométrico retido será excluído; `null` quando nenhum template é retido. |
| `deleted_child_verifications` | Para uma sessão de KYB, quantas verificações criadas por ela (as sessões de KYC das suas pessoas-chave e as sessões de KYB dos seus proprietários corporativos, de forma recursiva) foram excluídas junto com ela. Sempre `0` para uma sessão de KYC. || `face_retention_outcome` | Significado |
| - | - |
| `deleted` | A sessão e o seu embedding facial são excluídos. Comportamento padrão. |
| `retained_with_user` | A sessão é excluída. Um template biométrico sem imagem permanece vinculado ao Usuário; o id dele é `biometric_template_uuid`. Gerencie-o com a [API de templates biométricos](https://docs.didit.me/pt-br/management-api/biometric-templates/overview.md). |
| `none` | A sessão não tinha embedding facial para excluir ou reter (por exemplo, uma sessão de KYB ou uma sessão de KYC sem selfie de prova de vida). |
| `ineligible_no_vendor_user` | A retenção foi solicitada, mas a sessão não está vinculada a um Usuário (foi criada sem `vendor_data`), portanto não há onde vincular um template. A sessão e o seu embedding são excluídos. O resultado de inelegibilidade fica registrado na trilha de auditoria. |A resposta confirma que a Didit aceitou e aplicou a sua instrução de exclusão. Ela não é um certificado de apagamento: guarde o `instruction_id` no seu próprio registro de apagamentos para poder correlacioná-lo com a trilha de auditoria depois.### Duração e expiração da retençãoTodo template retido tem um `expires_at` finito. A Didit o define como a data mais próxima entre:1) o `face_retention_days` da requisição, ou o `face_retention_days` da aplicação quando a requisição o omite;
2) a janela geral de retenção de dados da aplicação, quando houver uma configurada;
3) o `face_retention_deadline` da requisição, quando informado.Uma requisição que reteria um template sem nenhuma duração finita é rejeitada com `400` e nada é excluído. Os templates retidos não podem ultrapassar o primeiro dos seguintes marcos: instrução aplicável do cliente, fim da finalidade, expiração configurada, instrução de apagamento do titular dos dados ou prazo legal para dados biométricos. Você é responsável por escolher uma duração que atenda às leis aplicáveis aos seus usuários; escolha uma mais curta sempre que uma regra aplicável exigir.### Apagamento por privacidadeEnvie `deletion_instruction: "privacy_erasure"` quando estiver atendendo a uma solicitação de um titular de dados. A Didit elimina todos os templates biométricos retidos vinculados ao Usuário da sessão e, em seguida, exclui a sessão e o seu embedding. A política de retenção da aplicação não pode se sobrepor a uma instrução de apagamento por privacidade, e `retain_face_embeddings: true` é rejeitado com `400`.Excluir o Usuário com [Excluir usuários em lote](https://docs.didit.me/pt-br/management-api/users/delete.md) também elimina os templates retidos dele.## O que não é afetadoExcluir uma sessão não remove os itens abaixo por você. Se você estiver atendendo a uma solicitação de exercício do direito ao apagamento, trate-os separadamente.- As **entradas da lista de bloqueio** criadas a partir da sessão (de rosto ou de documento) permanecem. Remova-as da [lista de bloqueio](https://docs.didit.me/pt-br/entities/users/blocklist.md). Uma entrada de rosto na lista de bloqueio mantém o seu próprio registro biométrico, independente de qualquer template retido.
- Os **tokens de compartilhamento** já emitidos para a sessão não são revogados, mas não resta nada para eles importarem: uma [importação](https://docs.didit.me/pt-br/sessions-api/share-session/import.md) com um deles retorna `400` com `{"share_token": ["Original session does not exist."]}`.
- Os **webhooks já entregues** para a sessão não são afetados. As entregas ainda na fila e suas tentativas de reenvio são descartadas. Nenhum webhook é emitido para a exclusão em si.
- Os **créditos já consumidos** pela verificação não são reembolsados.
- As **cópias assinadas já enviadas por e-mail** a um signatário por uma etapa de Assinatura eletrônica estão na caixa de correio do signatário e não são afetadas.
- A entidade **Usuário** ou **Empresa** à qual a sessão pertence não é excluída. Use [Excluir usuários](https://docs.didit.me/pt-br/management-api/users/delete.md) ou [Excluir empresas](https://docs.didit.me/pt-br/management-api/businesses/delete.md) para isso. Se o retrato do perfil do Usuário veio da sessão excluída, o retrato é removido.
- Um **template biométrico retido** (somente quando você optou por isso) permanece até expirar ou até você eliminá-lo. Elimine-o com a [API de templates biométricos](https://docs.didit.me/pt-br/management-api/biometric-templates/purge.md), excluindo o Usuário ou repetindo a exclusão de outra sessão do mesmo Usuário com `deletion_instruction: "privacy_erasure"`.## Exemplos> [tab] Padrão (política da aplicação)
>
> ```bash theme={null}
> curl -X DELETE https://verification.didit.me/v3/session/4c5c7f3a-.../delete/ \
>   -H "x-api-key: YOUR_API_KEY"
> ```
>
> Resposta para uma aplicação que não optou pela retenção:
>
> ```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] Reter um template biométrico
>
> ```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] Forçar a exclusão em uma aplicação com retenção ativada
>
> ```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] Eliminação por privacidade
>
> ```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"}'
> ```
>
> Todos os templates retidos do Usuário da sessão são eliminados primeiro e, em seguida, a sessão é excluída:
>
> ```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] Sessão sem Usuário
>
> Uma sessão criada sem `vendor_data` não tem um Usuário ao qual vincular um template:
>
> ```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] Sessão de Verificação de empresa (KYB)
>
> ```bash theme={null}
> curl -X DELETE https://verification.didit.me/v3/session/bs-01HJX1.../delete/ \
>   -H "x-api-key: YOUR_API_KEY"
> ```
>
> A verificação de empresa é excluída junto com as três verificações que ela criou para as suas pessoas-chave:
>
> ```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
> }
> ```## Erros| Status | Quando | Corpo |
| - | - | - |
| `400` | `privacy_erasure` combinado com `retain_face_embeddings: true` | `{"retain_face_embeddings": ["Privacy erasure cannot retain biometric templates."]}` |
| `400` | Retenção solicitada sem uma duração finita na requisição ou na aplicação | `{"detail": "A finite biometric-template retention duration is required."}` |
| `403` | A credencial não tem `delete:sessions` ou não é proprietária da sessão | `{"detail": "You do not have permission to perform this action."}` |
| `404` | Sessão desconhecida ou já excluída | `{"detail": "Not found."}` |
| `503` | Um serviço de armazenamento ou um provedor de monitoramento estava indisponível durante a exclusão da sessão. | `{"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` | Um repositório biométrico estava indisponível ao reter ou eliminar um modelo. As novas tentativas convergem para um único template. | `{"detail": "The biometric-template operation could not finish because an external store is unavailable. The operation is retryable."}` |Com `400`, nada é excluído. Com `503`, a sessão ainda existe: repita a mesma requisição até ela retornar `200`. Alguns dos arquivos armazenados da sessão ou o embedding facial dela podem já ter sido excluídos, então não dependa deles após um `503`.## PermissãoRequer `delete:sessions`. A mesma permissão abrange as sessões de Verificação de Usuários (KYC) e de Verificação de Empresas (KYB), além da substituição da retenção.## Exclusão em lotePara operações em massa em sessões de KYC, use `POST /v3/sessions/delete/`. Ele aceita os mesmos campos de retenção e de instrução. Até 20 sessões correspondentes são excluídas na própria requisição, com um resultado por sessão; acima disso, a exclusão é executada como um [job de exclusão](https://docs.didit.me/pt-br/management-api/sessions/get-deletion-job.md). Consulte [Excluir sessões em lote](https://docs.didit.me/pt-br/management-api/sessions/batch-delete.md).## Migração das respostas 204Até esta versão, o endpoint retornava `204 No Content`. Agora ele retorna `200 OK` com o corpo JSON documentado acima, para que toda exclusão informe o seu `face_retention_outcome`. Atualize os clientes que verificam `204`.O comportamento padrão não mudou: as aplicações existentes continuam em `delete_with_session`, e nenhuma migração ativa a retenção por você. Ative-a explicitamente no Console ou por meio de `PATCH /v3/webhook/`.## Relacionados- [Templates biométricos](https://docs.didit.me/pt-br/management-api/biometric-templates/overview.md)
- [Retenção de dados](https://docs.didit.me/pt-br/console/data-retention.md)
- [Visão geral de sessões](https://docs.didit.me/pt-br/sessions-api/overview.md)


## OpenAPI

````yaml pt-br/openapi-25.json DELETE /v3/session/{sessionId}/delete/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de verificação de identidade. Autentique-se com o cabeçalho x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/session/{sessionId}/delete/:
    delete:
      tags:
        - Sessions
      summary: Excluir uma sessão de verificação (KYC ou KYB)
      description: >-
        Exclua uma única sessão de verificação, de Verificação de usuários (KYC)
        ou de Verificação de empresas (KYB), pelo seu `session_id`. O id é
        procurado primeiro entre as sessões KYC e depois entre as sessões KYB,
        então os dois tipos são excluídos por esta mesma URL.


        **O que é excluído:**

        - A sessão e todas as tentativas de verificação que ela contém,
        incluindo resultados substituídos por um reenvio: a decisão, os dados
        extraídos, todos os registros de recursos relacionados (verificação de
        identidade, rosto, prova de vida, correspondência facial, AML, consultas
        a registros, análise de IP etc.), suas revisões e seu registro de
        atividades.

        - Todos os arquivos armazenados que pertencem à sessão: fotos da frente
        e do verso do documento (versões completa, recortada e desfocada para
        privacidade), vídeos de captura do documento, recortes de retrato,
        imagens do retrato e da assinatura do chip NFC, imagens faciais de
        referência, vídeos de prova de vida, imagens de origem e de destino da
        correspondência facial, documentos de Comprovante de endereço e
        quaisquer arquivos extras enviados (KYC); documentos da empresa enviados
        e arquivos extras (KYB). Documentos de assinatura eletrônica, PDFs
        assinados, PDFs de evidências e imagens de assinatura (KYC e KYB): seus
        caminhos de download deixam de funcionar. URLs de mídia emitidas
        anteriormente (`https://<media-host>/...`) deixam de ser resolvidas.

        - Os dados faciais da sessão. O embedding facial também é excluído, a
        menos que você opte por manter um template biométrico sem imagem
        (consulte **Dados biométricos faciais**).

        - Entregas de webhook ainda na fila para a sessão e suas novas
        tentativas. Webhooks já entregues não são afetados.

        - Para uma sessão de Verificação de empresas (KYB): as verificações que
        ela criou para suas pessoas-chave (KYC) e seus proprietários
        corporativos (KYB), de forma recursiva, informadas como
        `deleted_child_verifications`. Uma verificação à qual ela apenas se
        vincula, como um KYC aprovado existente que foi reutilizado, não é
        excluída.


        A sessão desaparece imediatamente de todos os endpoints de leitura: `GET
        /v3/session/{sessionId}/decision/` retorna `404` e `GET /v3/sessions/`
        deixa de listá-la. O monitoramento AML contínuo e o monitoramento de
        registro KYB iniciados pelas verificações excluídas são interrompidos.


        **O que não é afetado:** as entradas da lista de bloqueio criadas a
        partir desta sessão (rosto ou documento) **não** são removidas;
        gerencie-as com os endpoints da lista de bloqueio. Os tokens de
        compartilhamento emitidos para a sessão não são revogados, mas não resta
        nada para eles importarem: uma importação com um deles retorna `400` com
        `{"share_token": ["Original session does not exist."]}`. Os créditos já
        consumidos **não** são reembolsados. A entidade pai, de usuário ou de
        empresa, **não** é excluída; para isso, use `POST /v3/users/delete/` ou
        `POST /v3/businesses/delete/`. Se o retrato do perfil do usuário veio
        desta sessão, o retrato é removido junto com ela.


        **Dados biométricos faciais:** por padrão, o embedding facial da sessão
        é excluído com a sessão (`face_retention_outcome: deleted`). Uma
        aplicação que aderiu à retenção de templates biométricos
        (`face_retention_policy: retain_until_user_deleted` em `PATCH
        /v3/webhook/`), ou uma requisição com `retain_face_embeddings: true`,
        mantém um template biométrico facial sem imagem, gerenciado
        separadamente e vinculado ao usuário da sessão (`retained_with_user`),
        para que a detecção de duplicatas, a Busca facial e a autenticação
        biométrica continuem funcionando. O template nunca contém a imagem do
        rosto, mídias, campos de identidade, a decisão nem o id da sessão
        excluída; ele é um dado biométrico excluído em
        `biometric_template_expires_at`, ou antes disso, na exclusão do usuário,
        em um apagamento por privacidade ou em uma remoção explícita por meio de
        `/v3/biometric-templates/`. Uma sessão sem usuário vinculado não pode
        reter um template (`ineligible_no_vendor_user`). Envie
        `deletion_instruction: privacy_erasure` para solicitações de titulares
        de dados: isso remove todos os templates retidos desse usuário e nunca
        retém um novo.


        **Irreversível:** a exclusão é permanente e não existe endpoint de
        restauração. Exporte tudo o que precisar (por exemplo, um PDF da
        decisão) antes de chamá-lo.


        **Efeitos colaterais:** nenhum webhook é emitido para exclusões.


        **Resposta:** `200 OK` assim que a exclusão é concluída, com um corpo
        JSON que informa o `face_retention_outcome`, a validade do template
        retido e, para uma sessão KYB, `deleted_child_verifications`. Versões
        anteriores deste endpoint retornavam `204 No Content`; atualize os
        clientes que verificam `204`. Guarde o seu `instruction_id` no seu
        próprio registro de apagamentos.


        **Idempotência:** não é idempotente no nível HTTP: a primeira chamada
        retorna `200`; repeti-la retorna `404`, porque a sessão não é mais
        encontrada. Após um `503`, a sessão continua existindo; repita a mesma
        requisição para concluir a exclusão.


        **Autenticação:** envie a chave de API da sua aplicação no cabeçalho
        `x-api-key`; a sessão deve pertencer a essa aplicação. Tokens de acesso
        de usuários do console (`Authorization: Bearer ...`) também podem chamar
        este endpoint quando tiverem a permissão `delete:sessions`. Falhas de
        autenticação e de permissão retornam `403`; esta API nunca retorna
        `401`.


        **Limite de requisições:** cota de escrita compartilhada de 300
        requisições/min por chave de API em todos os endpoints
        POST/PATCH/DELETE; ultrapassá-la retorna `429`.


        Para excluir sessões KYC em massa pelo seu `session_number` numérico,
        use `POST /v3/sessions/delete/`.


        **Relatórios regulatórios registrados:** se os dados selecionados
        estiverem em um relatório regulatório finalizado, toda a requisição é
        recusada com `409` e nada é excluído. O corpo usa `code:
        in_filed_report` e identifica cada relatório com `uuid`,
        `report_number`, `report_type` e `case_uuid`. Exclua os relatórios e
        depois repita a requisição.
      operationId: delete_v3_session_by_id
      parameters:
        - in: path
          name: sessionId
          required: true
          description: >-
            UUID (`session_id`) da sessão de Verificação de usuários (KYC) ou de
            Verificação de empresas (KYB) a ser excluída, conforme retornado na
            criação da sessão. Deve ser um UUID canônico com hifens: um valor
            que não seja UUID não corresponde à rota e retorna `404`.
          schema:
            type: string
            format: uuid
            example: 11111111-2222-3333-4444-555555555555
      requestBody:
        required: false
        description: >-
          Opcional. Omita o corpo inteiro para seguir a política de retenção da
          aplicação com uma exclusão operacional.
        content:
          application/json:
            schema:
              type: object
              properties:
                retain_face_embeddings:
                  type: boolean
                  nullable: true
                  description: >-
                    Substitui a `face_retention_policy` da aplicação para esta
                    exclusão. `true` mantém um template biométrico facial sem
                    imagem vinculado ao User da sessão após a exclusão da
                    sessão; `false` exclui o embedding facial junto com a
                    sessão; omita ou use `null` para seguir a política da
                    aplicação. Ignorado para sessões KYB e para sessões sem
                    embedding facial.
                  example: true
                face_retention_days:
                  type: integer
                  minimum: 1
                  maximum: 3650
                  description: >-
                    Duração finita de retenção, em dias, de um template
                    biométrico retido. Obrigatório quando um template é retido,
                    a menos que a aplicação já defina `face_retention_days`. O
                    `expires_at` do template é o mais próximo entre essa
                    duração, o período geral de retenção de dados da aplicação e
                    `face_retention_deadline`.
                  example: 365
                face_retention_deadline:
                  type: string
                  format: date-time
                  description: >-
                    Expiração definitiva opcional para um template retido. Deve
                    estar no futuro.
                  example: '2027-08-28T00:00:00Z'
                deletion_instruction:
                  type: string
                  enum:
                    - operational_session_delete
                    - privacy_erasure
                  default: operational_session_delete
                  description: >-
                    A classe de instrução que você está dando.
                    `operational_session_delete` exclui a sessão e retém um
                    template apenas quando a política ou
                    `retain_face_embeddings` assim determina. `privacy_erasure`
                    elimina todos os templates biométricos retidos vinculados ao
                    User da sessão antes de excluir a sessão, não pode ser
                    substituído pela política da aplicação e não pode ser
                    combinado com `retain_face_embeddings: true` (`400`).
                  example: operational_session_delete
                instruction_id:
                  type: string
                  maxLength: 255
                  description: >-
                    Sua referência permanente para esta instrução de exclusão
                    (por exemplo, o ID de um ticket de apagamento). Registrada
                    na trilha de auditoria e em qualquer template retido. Gerada
                    pela Didit quando omitida.
                  example: dsar-2026-0142
            examples:
              Retain a biometric template:
                summary: Excluir a sessão e manter um template sem imagens por 365 dias
                value:
                  retain_face_embeddings: true
                  face_retention_days: 365
                  instruction_id: post-approval-cleanup-2026-08
              Force deletion on an opted-in application:
                summary: >-
                  Excluir o embedding facial independentemente da política da
                  aplicação
                value:
                  retain_face_embeddings: false
              Privacy erasure:
                summary: >-
                  Solicitação do titular dos dados: excluir a sessão e eliminar
                  todos os modelos retidos dessa pessoa
                value:
                  deletion_instruction: privacy_erasure
                  instruction_id: dsar-2026-0142
      responses:
        '200':
          description: >-
            Sessão excluída. O corpo informa o que aconteceu com os dados
            biométricos faciais da sessão e, para uma sessão KYB, quantas
            verificações criadas por ela foram excluídas junto.
          content:
            application/json:
              schema:
                type: object
                properties:
                  session_id:
                    type: string
                    format: uuid
                    description: A sessão excluída.
                  session_number:
                    type: integer
                    nullable: true
                    description: O número da sessão excluída.
                  face_retention_outcome:
                    type: string
                    enum:
                      - retained_with_user
                      - deleted
                      - none
                      - ineligible_no_vendor_user
                    description: >-
                      O que aconteceu com os dados biométricos faciais da
                      sessão. `deleted`: o embedding facial foi excluído junto
                      com a sessão (padrão). `retained_with_user`: a sessão é
                      excluída e um template biométrico sem imagem permanece
                      vinculado ao User; veja `biometric_template_uuid`. `none`:
                      a sessão não tinha embedding facial (por exemplo, uma
                      sessão de KYB ou uma sessão de KYC sem selfie de prova de
                      vida). `ineligible_no_vendor_user`: a retenção foi
                      solicitada, mas a sessão não tem um User vinculado, então
                      o embedding foi excluído junto com a sessão. Uma falha no
                      armazenamento biométrico nunca é informada por este campo
                      neste endpoint: ele retorna `503` e a sessão não é
                      excluída.
                  biometric_template_uuid:
                    type: string
                    format: uuid
                    nullable: true
                    description: >-
                      Id do template biométrico retido quando
                      `face_retention_outcome` é `retained_with_user`; caso
                      contrário, `null`. Gerencie-o por meio de
                      `/v3/biometric-templates/{template_uuid}/`.
                  biometric_template_expires_at:
                    type: string
                    format: date-time
                    nullable: true
                    description: >-
                      Quando o template biométrico retido é excluído, quando
                      `face_retention_outcome` é `retained_with_user`; `null`
                      quando nenhum template é retido.
                  deleted_child_verifications:
                    type: integer
                    description: >-
                      Para uma sessão de Verificação de empresas (KYB): quantas
                      verificações criadas por ela (as sessões de KYC das suas
                      pessoas-chave e as sessões de KYB dos seus proprietários
                      corporativos, recursivamente) foram excluídas junto com
                      ela. Sempre `0` para uma sessão de 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: Retenção solicitada em uma sessão criada sem 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: >-
                    Uma verificação de empresa excluída junto com as três
                    verificações que ela criou para suas pessoas-chave
        '400':
          description: 'Erro de validação: nada é excluído.'
          content:
            application/json:
              examples:
                Privacy erasure cannot retain:
                  value:
                    retain_face_embeddings:
                      - Privacy erasure cannot retain biometric templates.
                No finite retention duration:
                  summary: >-
                    Retenção solicitada sem face_retention_days na requisição ou
                    na aplicação
                  value:
                    detail: >-
                      A finite biometric-template retention duration is
                      required.
        '403':
          description: >-
            Falha de autenticação ou de permissão. Uma chave ausente também
            retorna `403`; uma chave incorreta, revogada ou expirada retorna
            `401`. Exceção: quando o `sessionId` não corresponde a uma sessão
            ativa, a busca do proprietário feita antes da autenticação retorna
            `404` primeiro, mesmo com credenciais ausentes ou inválidas.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Missing or invalid API key:
                  summary: Cabeçalho x-api-key ausente, ou a chave é inválida
                  value:
                    detail: >-
                      Authentication credentials were not provided or are
                      invalid.
                Insufficient permission:
                  summary: >-
                    Token de usuário sem delete:sessions, ou credenciais de uma
                    aplicação que não é proprietária da sessão
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: >-
            Não existe nenhuma sessão de KYC ou KYB ativa com este `session_id`:
            o id é desconhecido ou a sessão já foi excluída (repetir uma
            exclusão bem-sucedida cai aqui).
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Not Found:
                  summary: Sessão desconhecida ou já excluída
                  value:
                    detail: Not found.
        '409':
          description: >-
            A sessão faz parte de um relatório regulatório finalizado. Nada é
            excluído.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InFiledReportError'
        '429':
          description: >-
            Limite de requisições de escrita compartilhado excedido (300
            requisições POST/PATCH/DELETE por minuto por chave de API).
            Verifique o `Retry-After` e os cabeçalhos de resposta
            `X-RateLimit-*` antes de tentar novamente.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Rate limited:
                  summary: Orçamento de escrita esgotado
                  value:
                    detail: >-
                      Write request rate limit exceeded. You can make up to 300
                      requests per minute.
        '503':
          description: >-
            A exclusão não pôde ser concluída porque um serviço de
            armazenamento, um repositório biométrico ou um provedor de
            monitoramento estava indisponível. A sessão continua existindo;
            repita a mesma requisição até que ela retorne `200`. Alguns dos
            arquivos armazenados ou o embedding facial dela podem já ter sido
            excluídos, então não dependa deles após um `503`. As novas
            tentativas convergem para um único template.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Session deletion unavailable:
                  summary: >-
                    Um serviço de armazenamento ou um provedor de monitoramento
                    estava indisponível
                  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: >-
                    Um armazenamento biométrico ficou indisponível durante a
                    retenção ou a exclusão de um template
                  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: >-
        A exclusão é recusada porque os dados selecionados estão em um relatório
        regulatório finalizado. Nada é excluído. Exclua o relatório e repita a
        requisição.
      required:
        - detail
        - code
      properties:
        detail:
          type: string
        code:
          type: string
          enum:
            - in_filed_report
          description: >-
            Código de erro estável para uma exclusão bloqueada por um relatório
            regulatório finalizado.
        reports:
          type: array
          items:
            $ref: '#/components/schemas/FiledRegulatoryReport'
          description: >-
            Relatórios que bloqueiam a exclusão de uma pessoa, empresa, caso ou
            sessão.
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/FiledReportTransaction'
          description: >-
            Transações que impedem a exclusão de uma transação, cada uma com os
            relatórios que a listam.
    FiledRegulatoryReport:
      type: object
      description: Um relatório regulatório finalizado que impede a exclusão solicitada.
      required:
        - uuid
        - report_number
        - report_type
        - case_uuid
      properties:
        uuid:
          type: string
          format: uuid
          description: UUID do relatório.
        report_number:
          type: string
          description: Número do relatório exibido no Console (por exemplo, SAR-0001).
        report_type:
          type: string
          enum:
            - SAR
            - STR
            - CTR
            - TTR
            - UTR
            - IFT
            - CBR
            - TFR
          description: Tipo de relatório regulatório.
        case_uuid:
          type: string
          format: uuid
          description: Caso ao qual o relatório pertence.
    FiledReportTransaction:
      type: object
      description: >-
        Uma transação que não pode ser excluída porque um relatório regulatório
        finalizado a inclui.
      required:
        - uuid
        - transaction_id
        - reports
      properties:
        uuid:
          type: string
          format: uuid
          description: UUID da transação na Didit.
        transaction_id:
          type: string
          description: >-
            O identificador da transação informado quando a transação foi
            criada.
        reports:
          type: array
          items:
            $ref: '#/components/schemas/FiledRegulatoryReport'
          description: Relatórios finalizados que incluem esta transação.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Chave de API da sua aplicação, em Developers -> API keys no Business
        Console. A chave principal tem acesso total. Uma chave nomeada pode ter
        escopo restrito: nenhum acesso, leitura ou escrita por recurso, limitada
        a alguns fluxos ou a sessões aprovadas, a uma lista de endereços IP e a
        uma data de validade. 401 significa que a chave está errada, revogada ou
        expirada; 403 significa que nenhuma chave foi enviada, que a chave não
        tem acesso a este recurso ou ação, ou que a requisição veio de um
        endereço fora da sua lista de IPs; 404 em uma rota de sessão significa
        que a sessão está fora dos fluxos ou status da chave. Uma chave sem
        acesso a mídia recebe URLs de imagem, vídeo e PDF como null, e uma chave
        sem permissão de escrita em sessões recebe links e tokens de sessão como
        null. Consulte https://docs.didit.me/console/api-keys.

````

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