curl -X DELETE \
https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/delete/ \
-H 'x-api-key: YOUR_API_KEY'{
"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
}API para eliminar sessão: direito ao apagamento RGPD
Elimine uma sessão KYC ou KYB e respetivos dados na Didit. Por defeito, o embedding facial é apagado; pode manter um template biométrico sem imagem.
curl -X DELETE \
https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/delete/ \
-H 'x-api-key: YOUR_API_KEY'{
"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
}Suporte a KYC e KYB
Funciona para sessões de Verificação de utilizadores (KYC) e de Verificação de empresas (KYB). Osession_id é resolvido nos dois tipos de sessão, e o comportamento de eliminação é o mesmo para ambos. A retenção do template biométrico aplica-se apenas às sessões KYC, porque só estas incluem um embedding facial.
Comportamento
- A sessão é eliminada juntamente com todas as tentativas de verificação que contém, incluindo os resultados substituídos por uma nova submissão: a sua decisão, os dados extraídos, os registos das funcionalidades associadas (verificações de identidade, consultas a registos de empresas, documentos, AML, análise de IP e assim por diante), as respetivas revisões e o registo de atividade, e todos os ficheiros armazenados.
- Eliminar uma sessão de Verificação de empresas (KYB) elimina também, de forma recursiva, as verificações que esta criou para as suas pessoas-chave (KYC) e para os seus proprietários da empresa (KYB). A resposta indica o número de verificações eliminadas em
deleted_child_verifications. Uma verificação à qual a sessão apenas está ligada, como um KYC aprovado já existente que foi reutilizado, não é eliminada. - Os dados de assinatura eletrónica são eliminados em conjunto: os documentos a assinar e os respetivos ficheiros Word originais, os PDF assinados, os PDF de prova, as imagens de assinatura e todos os valores dos campos. Os respetivos caminhos de transferência devolvem
404. - A sessão deixa de aparecer imediatamente nas respostas de listagem e de decisão, e os URLs de multimédia emitidos antes da chamada deixam de funcionar.
- As entregas de webhook ainda em fila para a sessão, bem como as respetivas novas tentativas, são descartadas.
- A monitorização AML contínua e a monitorização do registo de empresas KYB iniciadas pelas verificações eliminadas terminam.
- A eliminação é permanente e irreversível. Não existe endpoint de restauro, por isso exporte tudo o que precisar, como um PDF de decisão, antes de chamar este endpoint.
- A resposta é
200 OK, enviada apenas depois de a eliminação estar concluída, com um corpo JSON que indica o que aconteceu aos dados biométricos faciais da sessão. Consulte a Migração se o seu cliente ainda esperar204.
Dados num relatório regulatório finalizado
Se a sessão fizer parte de um caso com um relatório regulatório finalizado, o pedido devolve409 e nada é eliminado. A resposta usa code: in_filed_report e indica cada relatório:
{
"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"
}
]
}
Dados biométricos faciais: eliminar ou conservar
Cada sessão KYC com uma selfie de prova de vida contém um embedding facial que alimenta a Pesquisa facial 1:N e a deteção de duplicados. Por predefinição, esse embedding é eliminado com a sessão (face_retention_policy: delete_with_session), para que uma pessoa cuja sessão tenha sido eliminada possa voltar a verificar-se sem ser sinalizada como duplicado.
As aplicações que precisem de manter a deteção de duplicados após a eliminação de uma sessão podem optar pela conservação do template biométrico. Nesse caso, a Didit elimina a sessão e todos os seus dados, como habitualmente, e mantém um único template biométrico facial, sem imagens e gerido em separado, associado ao Utilizador da sessão.
| Conservado | Nunca conservado |
|---|---|
| O template facial numérico usado para correspondência | A imagem facial, o vídeo de prova de vida, as imagens do documento, os recortes de retrato e qualquer outro conteúdo multimédia |
Um novo id aleatório do template e um provenance_reference opaco | O id, o número, a decisão, os campos de identidade extraídos ou os payloads das funcionalidades da sessão eliminada |
O Utilizador proprietário (vendor_user_uuid, vendor_data atual) | O estado de lista de bloqueio, correspondências anteriores, rótulos de fraude ou alegações de identidade entre organizações |
Metadados de conservação: retained_at, expires_at, política, substituição, classe de instrução, instruction_id e o id da entidade que atua | Endereços de e-mail dos autores das ações |
- Política da aplicação em Business Console → App Settings → Data retention ou através de
PATCH /v3/webhook/(face_retention_policy,face_retention_days). Consulte Conservação de dados. - Substituição por pedido com
retain_face_embeddingsneste endpoint e em Batch Delete Sessions. - Classe de instrução com
deletion_instruction. Uma instruçãoprivacy_erasuretem sempre prioridade: purga todos os templates conservados desse Utilizador e nunca conserva um novo.
Corpo do pedido
Todos os campos são opcionais. Omita o corpo para seguir a política da aplicação.| Campo | Tipo | Descrição |
|---|---|---|
retain_face_embeddings | boolean ou null | Substitui a política da aplicação para esta eliminação. true conserva um template, false elimina o embedding com a sessão, null ou omitido segue a política. |
face_retention_days | integer (1-3650) | Duração finita de conservação do template. Obrigatório quando um template é conservado, a menos que a aplicação já defina face_retention_days. |
face_retention_deadline | datetime (ISO 8601) | Data limite rígida de expiração, opcional. Tem de ser futura. |
deletion_instruction | operational_session_delete (predefinido) ou privacy_erasure | A classe da instrução que está a dar. privacy_erasure purga todos os templates conservados do Utilizador da sessão antes de eliminar a sessão e não pode ser combinado com retain_face_embeddings: true. |
instruction_id | string (máximo 255) | A sua referência duradoura para esta instrução, por exemplo o id do seu pedido de eliminação. Fica registada no registo de auditoria e em qualquer template conservado. Se a omitir, a Didit gera uma, visível nos detalhes do template. |
Resposta
{
"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 eliminada. |
session_number | O número da sessão eliminada. |
face_retention_outcome | O que aconteceu aos dados biométricos faciais da sessão. Consulte a tabela abaixo. |
biometric_template_uuid | Id do template biométrico conservado quando face_retention_outcome é retained_with_user; null nos restantes casos. |
biometric_template_expires_at | Momento em que o template biométrico conservado é eliminado; null quando nenhum template é conservado. |
deleted_child_verifications | Para uma sessão KYB, o número de verificações que criou (as sessões KYC das suas pessoas-chave e as sessões KYB dos seus proprietários empresariais, recursivamente) e que foram eliminadas com ela. É sempre 0 numa sessão KYC. |
face_retention_outcome | Significado |
|---|---|
deleted | A sessão e o seu embedding facial são eliminados. Comportamento predefinido. |
retained_with_user | A sessão é eliminada. Um único template biométrico sem imagens mantém-se associado ao Utilizador; o seu id é biometric_template_uuid. Faça a gestão através da Biometric Templates API. |
none | A sessão não tinha embedding facial para eliminar ou conservar (por exemplo, uma sessão KYB ou uma sessão KYC sem selfie de prova de vida). |
ineligible_no_vendor_user | A conservação foi pedida, mas a sessão não está associada a um Utilizador (foi criada sem vendor_data), pelo que nada pode servir de âncora a um template. A sessão e o seu embedding são eliminados. O resultado de inelegibilidade fica registado no registo de auditoria. |
instruction_id no seu próprio registo de eliminações para poder correlacionar mais tarde o registo de auditoria.
Duração da conservação e expiração
Cada template conservado tem umexpires_at finito. A Didit define-o como o prazo mais curto de entre os seguintes:
face_retention_daysdo pedido ou, quando o pedido o omite, oface_retention_daysda aplicação;- a janela geral de conservação de dados da aplicação, quando estiver configurada;
face_retention_deadlinedo pedido, quando for fornecido.
400 e nada é eliminado. Os templates conservados não podem ultrapassar o que ocorrer primeiro entre a instrução aplicável do cliente, o fim da finalidade, a expiração configurada, a instrução de eliminação do titular dos dados e o prazo legal aplicável aos dados biométricos. É responsável por escolher uma duração que cumpra as leis aplicáveis aos seus utilizadores; escolha uma mais curta sempre que uma regra aplicável o exija.
Eliminação por motivos de privacidade
Enviedeletion_instruction: "privacy_erasure" quando estiver a agir sobre um pedido do titular dos dados. A Didit purga todos os templates biométricos conservados associados ao utilizador da sessão e, em seguida, elimina a sessão e o seu embedding facial. A política de conservação da aplicação não pode sobrepor-se a uma instrução de eliminação por motivos de privacidade, e retain_face_embeddings: true é rejeitado com 400.
Eliminar o utilizador com Eliminar utilizadores em lote também purga os templates conservados associados.
O que não é afetado
Eliminar uma sessão não limpa estes dados por si. Se estiver a tratar um pedido de direito ao apagamento, trate-os separadamente.- Entradas da lista de bloqueio criadas a partir da sessão (facial ou de documento) permanecem no lugar. Remova-as da lista de bloqueio. Uma entrada facial na lista de bloqueio mantém a sua própria entrada biométrica, independente de qualquer template conservado.
- Tokens de partilha já emitidos para a sessão não são revogados, mas não há nada que possam importar: uma importação com um desses tokens devolve
400com{"share_token": ["Original session does not exist."]}. - Webhooks já entregues para a sessão não são afetados. As entregas ainda em fila, e as respetivas tentativas, são descartadas. Não é emitido nenhum webhook pela própria eliminação.
- Créditos já consumidos pela verificação não são reembolsados.
- Cópias assinadas já enviadas por e-mail a um signatário através de um passo de Assinatura eletrónica estão na caixa de correio do signatário e não são afetadas.
- A entidade principal Utilizador ou Empresa não é eliminada. Use Eliminar utilizadores ou Eliminar empresas para as eliminar. Se o retrato de perfil do utilizador tiver vindo da sessão eliminada, o retrato é removido.
- Um template biométrico conservado (apenas se tiver optado por isso) mantém-se até expirar ou até o purgar. Purgue-o com a API de templates biométricos, eliminando o utilizador, ou repetindo a eliminação de outra sessão do mesmo utilizador com
deletion_instruction: "privacy_erasure".
Exemplos
- Predefinido (política da aplicação)
- Conservar um template biométrico
- Forçar a eliminação numa aplicação que optou por conservar
- Eliminação por motivos de privacidade
- Sessão sem utilizador
- Sessão de verificação de empresas (KYB)
curl -X DELETE https://verification.didit.me/v3/session/4c5c7f3a-.../delete/ \
-H "x-api-key: YOUR_API_KEY"
{
"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
}
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"}'
{
"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
}
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}'
{
"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
}
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"}'
{
"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
}
vendor_data não tem utilizador ao qual associar um template: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}'
{
"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
}
curl -X DELETE https://verification.didit.me/v3/session/bs-01HJX1.../delete/ \
-H "x-api-key: YOUR_API_KEY"
{
"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
| Estado | Quando | Corpo |
|---|---|---|
400 | privacy_erasure combinado com retain_face_embeddings: true | {"retain_face_embeddings": ["Privacy erasure cannot retain biometric templates."]} |
400 | Conservação pedida sem uma duração finita, no pedido 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á eliminada | {"detail": "Not found."} |
503 | Um serviço de armazenamento ou um fornecedor de monitorização esteve indisponível durante a eliminaçã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 armazenamento biométrico esteve indisponível ao conservar ou purgar um template. 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."} |
400, nada é eliminado. Com 503, a sessão continua no lugar: repita o mesmo pedido até devolver 200. Alguns dos seus ficheiros armazenados ou o seu embedding facial podem já ter sido eliminados, por isso não dependa deles após um 503.
Permissão
É necessária a permissãodelete:sessions. A mesma permissão abrange as sessões de Verificação de utilizadores (KYC) e de Verificação de empresas (KYB), bem como a substituição da política de conservação.
Eliminação em lote
Para operações em massa sobre sessões KYC, usePOST /v3/sessions/delete/. Aceita os mesmos campos de conservação e de instrução. Até 20 sessões correspondentes são eliminadas no pedido, com um resultado por sessão; as restantes são processadas através de uma tarefa de eliminação. Consulte Eliminar sessões em lote.
Migração das respostas 204
Até esta versão, o endpoint devolvia204 No Content. Passa agora a devolver 200 OK com o corpo JSON documentado acima, para que cada eliminação reporte o seu face_retention_outcome. Atualize os clientes que validam 204.
O comportamento predefinido mantém-se: as aplicações existentes continuam em delete_with_session, e nenhuma migração ativa a conservação em seu nome. Ative-a explicitamente na Consola ou através de PATCH /v3/webhook/.
Relacionados
Autorizações
A chave de API da sua aplicação, a partir de Programadores -> Chaves de API na Business Console. A chave principal tem acesso total. Uma chave nomeada pode ter o âmbito definido: nenhum, 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á incorreta, 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 o pedido veio de um endereço fora da sua lista de IP; 404 numa rota de sessão significa que a sessão está fora dos fluxos ou estados da chave. Uma chave sem acesso a multimédia recebe URLs de imagens, vídeos e PDFs como nulos, e uma chave sem permissão de escrita em sessões recebe ligações de sessão e tokens como nulos. Consulte https://docs.didit.me/console/api-keys.
Parâmetros de caminho
UUID (session_id) da sessão de Verificação de utilizadores (KYC) ou de Verificação de empresas (KYB) a eliminar, conforme retornado aquando da criação da sessão. Tem de ser um UUID canónico com hífenes — um valor que não seja UUID não corresponde à rota e devolve 404.
"11111111-2222-3333-4444-555555555555"
Corpo
Opcional. Omita totalmente o corpo para seguir a política de conservação da aplicação com uma eliminação operacional.
Substitui a face_retention_policy da aplicação para esta eliminação. true mantém um template biométrico facial sem imagem associado ao utilizador da sessão após a sessão ser eliminada; false elimina o embedding facial 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.
true
Duração finita de conservação, em dias, para um modelo conservado. Obrigatória quando um modelo é conservado, a menos que a aplicação já defina face_retention_days. O expires_at do modelo é determinado pelo limite mais cedo entre esta duração, a janela geral de conservação de dados da aplicação e face_retention_deadline.
1 <= x <= 3650365
Data de expiração definitiva opcional para um modelo retido. Tem de ser no futuro.
"2027-08-28T00:00:00Z"
A classe de instrução que está a fornecer. operational_session_delete elimina a sessão e retém um modelo apenas quando a política ou retain_face_embeddings o determinar. privacy_erasure elimina permanentemente todos os templates biométricos retidos associados ao utilizador da sessão antes de eliminar 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).
operational_session_delete, privacy_erasure "operational_session_delete"
A sua referência duradoura para esta instrução de eliminação (por exemplo, o id de um pedido de eliminação). Registada no registo de auditoria e em qualquer modelo retido. Gerada pela Didit quando omitida.
255"dsar-2026-0142"
Resposta
Sessão eliminada. O corpo indica o que aconteceu aos dados biométricos faciais da sessão e, para uma sessão KYB, quantas verificações criadas por esta foram eliminadas em conjunto.
A sessão eliminada.
O número da sessão eliminada.
O que aconteceu aos dados biométricos faciais da sessão. deleted: o embedding facial foi eliminado com a sessão (predefinição). retained_with_user: a sessão é eliminada e um template biométrico sem imagem permanece associado ao Utilizador; consulte biometric_template_uuid. none: a sessão não tinha nenhum 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 conservação foi solicitada, mas a sessão não tem nenhum Utilizador associado, pelo que o embedding foi eliminado com a sessão. Uma falha no armazenamento biométrico nunca é comunicada através deste campo neste endpoint: devolve 503 e a sessão não é eliminada.
retained_with_user, deleted, none, ineligible_no_vendor_user ID do template biométrico retido quando face_retention_outcome é retained_with_user; null caso contrário. Faça a sua gestão através de /v3/biometric-templates/{template_uuid}/.
Quando o template biométrico retido é eliminado, quando face_retention_outcome é retained_with_user; null quando nenhum template é retido.
Para uma sessão de Verificação de empresas (KYB): quantas verificações que ela criou (as sessões de KYC das suas pessoas-chave e as sessões de KYB dos seus proprietários empresariais, recursivamente) foram eliminadas juntamente com ela. Sempre 0 para uma sessão de KYC.