Pular para o conteúdo principal
POST
curl

Comportamento

Cada sessão correspondente é excluída exatamente como em Excluir sessão: a sessão, todas as tentativas de verificação que ela contém, sua decisão e seus dados extraídos, seus registros de recursos e todos os seus arquivos armazenados são excluídos, ela desaparece de todos os endpoints de leitura e as URLs de mídia emitidas anteriormente deixam de funcionar. As entregas de webhook ainda na fila para uma sessão excluída, e suas novas tentativas, são descartadas; os webhooks já entregues não são afetados. A exclusão é permanente e irreversível. Se alguma sessão selecionada fizer parte de um relatório regulatório finalizado, a requisição inteira retorna 409 e nada é excluído. A resposta usa code: in_filed_report e indica cada relatório. Exclua cada relatório com Excluir relatório e repita a requisição. Excluir o relatório não exclui a sessão; a sessão permanece até você repetir esta requisição. O número de sessões correspondentes define como a requisição é respondida, quer você as selecione com session_numbers ou com delete_all: Um resultado confirma que a sessão foi excluída, exceto quando seu face_retention_outcome é failed_retryable: essa sessão não foi excluída e continua existindo, portanto trate esse resultado como uma falha que exige nova tentativa, nunca como confirmação de exclusão. Números que não correspondem a uma sessão de KYC ativa na sua aplicação são ignorados e não aparecem em results.

Como restringir delete_all com filtros

Com delete_all: true, você pode restringir a seleção com os filtros de Listar sessões, cada um com o prefixo filter_. Eles aceitam os mesmos valores dos parâmetros de consulta. Um filtro que aceita vários valores (status, workflow_id, country, region, document_type, document_name, session_type, warning, organization_name) aceita uma string separada por vírgulas ou um array:
  • Os filtros só se aplicam em conjunto com delete_all; com session_numbers, eles são validados, mas não alteram a seleção.
  • Todos os outros filtros aceitam um único valor. Um array é unido em um único valor separado por vírgulas, então várias datas, UUIDs ou valores de api_service retornam 400, e vários textos de vendor_data, search ou screened_full_name não são tratados como alternativas.
  • Um filtro com valor vazio é ignorado e, portanto, não restringe a seleção.
  • Uma chave filter_* desconhecida retorna 400 {"filter_reviewer": "Unknown filter."}, e um valor que não pode ser interpretado retorna 400 com a chave filter_* correspondente, como {"filter_date_from": ["Enter a valid date."]}. Nada é excluído em nenhum dos casos, então um filtro digitado errado nunca amplia a exclusão para todas as sessões.
  • Um job de exclusão aplica os mesmos filtros e, como todo delete_all, abrange apenas as sessões criadas antes da requisição.

Campos de retenção e de instrução

O endpoint aceita os mesmos campos opcionais do endpoint de sessão única e os aplica a cada sessão correspondente: Consulte Excluir sessão para saber o que um modelo retido contém e o que não contém, como expires_at é calculado e o que faz uma instrução de apagamento por privacidade.

Resultados por sessão

Para até 20 sessões correspondentes, 200 OK retorna um resultado por sessão:
Cada resultado traz os mesmos campos da resposta de Excluir sessão. biometric_template_expires_at indica quando um template retido é excluído, e deleted_child_verifications é sempre 0 aqui, porque este endpoint exclui apenas sessões de KYC. As sessões são excluídas em grupos. Quando um grupo não pode ser excluído, todas as sessões dele são retornadas como failed_retryable; os outros grupos não são afetados e permanecem excluídos.

Seleções grandes são executadas como um job

Quando mais de 20 sessões correspondem, a resposta é 202 Accepted com um job de exclusão em vez de results:
Consulte Get Session Deletion Job a cada poucos segundos até que status seja COMPLETED ou FAILED.
  • O job informa quantas sessões foram concluídas com cada resultado, nunca quais sessões ele excluiu.
  • Um job delete_all exclui apenas as sessões criadas antes da sua requisição. Sessões iniciadas enquanto ele é executado não são excluídas.
  • Os campos de retenção e de instrução da sua requisição se aplicam a todas as sessões que o job excluir.
  • Se um grupo ainda não puder ser excluído, o job tenta excluí-lo novamente por conta própria.
  • Um job FAILED explica o motivo em error. As sessões que ele ainda não havia alcançado permanecem intactas: repita a requisição para excluí-las.

Exemplos

Migração das respostas 204

Até esta versão, o endpoint retornava 204 No Content. Agora ele retorna 200 OK com results[], ou 202 Accepted com um job de exclusão quando mais de 20 sessões correspondentes. Atualize os clientes que verificam 204. O comportamento padrão de exclusão não mudou: as aplicações existentes continuam em delete_with_session até que você altere a política explicitamente.

Conteúdos relacionados

Autorizações

x-api-key
string
header
obrigatório

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.

Corpo

application/json
session_numbers
string[]

Valores numéricos de session_number das sessões de KYC a excluir, como strings contendo apenas dígitos (números JSON também são aceitos e convertidos). Obrigatório, a menos que delete_all seja true; uma lista vazia retorna 400. Qualquer entrada que não seja composta apenas de dígitos rejeita a requisição inteira com 400 (a menos que delete_all seja true; nesse caso, a validação é ignorada e as entradas são desconsideradas). Números que não correspondem a uma sessão ativa na sua aplicação são ignorados silenciosamente.

Minimum array length: 1
Pattern: ^[0-9]+$
Exemplo:
delete_all
boolean
padrão:false

Quando true, todas as sessões de KYC restantes na aplicação que faz a chamada são excluídas e session_numbers é ignorado, a menos que você restrinja a seleção com chaves filter_*. Mais de 20 sessões correspondentes são processadas como um job de exclusão (202) que abrange apenas as sessões criadas antes da requisição. O padrão é false. Irreversível; não há etapa de confirmação.

Exemplo:

false

retain_face_embeddings
boolean | null

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.

Exemplo:

true

face_retention_days
integer

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.

Intervalo obrigatório: 1 <= x <= 3650
Exemplo:

365

face_retention_deadline
string<date-time>

Expiração definitiva opcional para um template retido. Deve estar no futuro.

Exemplo:

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

deletion_instruction
enum<string>
padrão:operational_session_delete

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).

Opções disponíveis:
operational_session_delete,
privacy_erasure
Exemplo:

"operational_session_delete"

instruction_id
string

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.

Maximum string length: 255
Exemplo:

"dsar-2026-0142"

filter_status

Restringe um delete_all às sessões que correspondem ao filtro status de List Sessions, com os mesmos valores. Uma string separada por vírgulas ou um array. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

filter_vendor_data
string

Restringe um delete_all às sessões que correspondem ao filtro vendor_data de List Sessions, com o mesmo valor. Um único valor, não uma lista: um array é unido em um único texto separado por vírgulas, portanto vários valores não são tratados como alternativas. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

Restringe um delete_all às sessões que correspondem ao filtro search de List Sessions, com o mesmo valor. Um único valor, não uma lista: um array é unido em um único texto separado por vírgulas, portanto vários valores não são tratados como alternativas. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

filter_workflow_id

Restringe um delete_all às sessões que correspondem ao filtro workflow_id de List Sessions, com os mesmos valores. Uma string separada por vírgulas ou um array. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

filter_date_from
string<date>

Restringe um delete_all às sessões que correspondem ao filtro date_from de List Sessions, com o mesmo valor. Um único valor, não uma lista: um array é unido em um único valor separado por vírgulas, então vários valores são recusados com 400. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

filter_date_to
string<date>

Restringe um delete_all às sessões que correspondem ao filtro date_to de List Sessions, com o mesmo valor. Um único valor, não uma lista: um array é unido em um único valor separado por vírgulas, então vários valores são recusados com 400. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

filter_country

Restringe um delete_all às sessões que correspondem ao filtro country de List Sessions, com os mesmos valores. Uma string separada por vírgulas ou um array. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

filter_document_type

Restringe um delete_all às sessões que correspondem ao filtro document_type de List Sessions, com os mesmos valores. Uma string separada por vírgulas ou um array. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

filter_document_name

Restringe um delete_all às sessões que correspondem ao filtro document_name de List Sessions, com os mesmos valores. Uma string separada por vírgulas ou um array. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

filter_region

Restringe um delete_all às sessões que correspondem ao filtro region de List Sessions, com os mesmos valores. Uma string separada por vírgulas ou um array. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

filter_didit_internal_id
string<uuid>

Restringe um delete_all às sessões que correspondem ao filtro didit_internal_id de List Sessions, com o mesmo valor. Um único valor, não uma lista: um array é unido em um único valor separado por vírgulas, então vários valores são recusados com 400. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

filter_session_type

Restringe um delete_all às sessões que correspondem ao filtro session_type de List Sessions, com os mesmos valores. Uma string separada por vírgulas ou um array. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

filter_api_service
string

Restringe um delete_all às sessões que correspondem ao filtro api_service de List Sessions, com o mesmo valor. Um único valor, não uma lista: um array é unido em um único valor separado por vírgulas, então vários valores são recusados com 400. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

filter_screened_full_name
string

Restringe um delete_all às sessões que correspondem ao filtro screened_full_name de List Sessions, com o mesmo valor. Um único valor, não uma lista: um array é unido em um único texto separado por vírgulas, portanto vários valores não são tratados como alternativas. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

filter_warning

Restringe um delete_all às sessões que correspondem ao filtro warning de List Sessions, com os mesmos valores. Uma string separada por vírgulas ou um array. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

filter_status_initialized_as_in_review
boolean

Restringe um delete_all às sessões que correspondem ao filtro status_initialized_as_in_review de List Sessions, com os mesmos valores. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

filter_is_kyc_to_be_reviewed
boolean

Restringe um delete_all às sessões que correspondem ao filtro is_kyc_to_be_reviewed de List Sessions, com os mesmos valores. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

filter_euuid
string<uuid>

Restringe um delete_all às sessões que correspondem ao filtro euuid de List Sessions, com o mesmo valor. Um único valor, não uma lista: um array é unido em um único valor separado por vírgulas, então vários valores são recusados com 400. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

filter_organization_name

Restringe um delete_all às sessões que correspondem ao filtro organization_name de List Sessions, com os mesmos valores. Uma string separada por vírgulas ou um array. Com uma chave de API, ele só pode corresponder ao nome da sua própria organização, portanto seleciona todas as suas sessões ou nenhuma. Ignorado sem delete_all. Um valor vazio é ignorado e não restringe a seleção.

Resposta

Até 20 sessões corresponderam e foram processadas na requisição. Há um resultado por sessão correspondente; números que não corresponderam a nada (desconhecidos ou já excluídos) são ignorados e não aparecem. Um resultado confirma a exclusão, exceto quando face_retention_outcome é failed_retryable: essa sessão NÃO foi excluída e a operação deve ser tentada novamente.

results
object[]
Última modificação em 1 de novembro de 2026