curl -X GET 'https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/events/?limit=50' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
for item in client.sessions.list_events(
"11111111-2222-3333-4444-555555555555",
):
print(item)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
for await (const item of didit.sessions.listEvents("11111111-2222-3333-4444-555555555555")) {
console.log(item);
}ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
iter := client.Sessions.ListEventsAutoPaging(ctx, "11111111-2222-3333-4444-555555555555", didit.SessionsListEventsParams{})
for iter.Next() {
fmt.Printf("%+v\n", iter.Current())
}
if err := iter.Err(); err != nil {
log.Fatal(err)
}import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
for (var item : client.sessions().listEvents("11111111-2222-3333-4444-555555555555")) {
System.out.println(item);
}<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
foreach ($didit->sessions->listEvents('11111111-2222-3333-4444-555555555555') as $item) {
print_r($item->toArray());
}require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.sessions.list_events("11111111-2222-3333-4444-555555555555").auto_paging_each do |item|
puts item.to_h
endusing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
await foreach (var item in await client.Sessions.ListEventsAsync("11111111-2222-3333-4444-555555555555"))
{
Console.WriteLine(JsonSerializer.Serialize(item));
}{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"uuid": "aaaaaaaa-1111-2222-3333-444444444444",
"event_type": "SESSION_STATUS_CHANGED",
"created_at": "2026-09-14T10:02:13.904512Z",
"component": null,
"feature_step": null,
"step": null,
"details": {
"old_status": "In Progress",
"current_status": "Approved"
},
"ip_address": null,
"user_agent": null,
"device_info": null,
"file_url": null,
"sent_at": 1789380131482
},
{
"uuid": "bbbbbbbb-1111-2222-3333-444444444444",
"event_type": "FEATURE_STEP_CHANGED",
"created_at": "2026-09-14T10:01:49.210377Z",
"component": null,
"feature_step": null,
"step": null,
"details": {
"old_feature_step": "OCR",
"current_feature_step": "LIVENESS"
},
"ip_address": null,
"user_agent": null,
"device_info": null,
"file_url": null,
"sent_at": 1789380107103
},
{
"uuid": "cccccccc-1111-2222-3333-444444444444",
"event_type": "STEP_RENDERED",
"created_at": "2026-09-14T10:01:00.581930Z",
"component": "DocumentCapture",
"feature_step": "OCR",
"step": "DOCUMENT_CAPTURE_FRONT",
"details": {},
"ip_address": "203.0.113.24",
"user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1",
"device_info": {
"device_model": "iPhone"
},
"file_url": null,
"sent_at": 1789380058776
}
]
}Listar eventos de sessão da API
Consulte na Didit a cronologia de eventos de uma sessão: passos do dispositivo, alterações de estado e fluxo, do mais recente, com paginação.
curl -X GET 'https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/events/?limit=50' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
for item in client.sessions.list_events(
"11111111-2222-3333-4444-555555555555",
):
print(item)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
for await (const item of didit.sessions.listEvents("11111111-2222-3333-4444-555555555555")) {
console.log(item);
}ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
iter := client.Sessions.ListEventsAutoPaging(ctx, "11111111-2222-3333-4444-555555555555", didit.SessionsListEventsParams{})
for iter.Next() {
fmt.Printf("%+v\n", iter.Current())
}
if err := iter.Err(); err != nil {
log.Fatal(err)
}import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
for (var item : client.sessions().listEvents("11111111-2222-3333-4444-555555555555")) {
System.out.println(item);
}<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
foreach ($didit->sessions->listEvents('11111111-2222-3333-4444-555555555555') as $item) {
print_r($item->toArray());
}require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.sessions.list_events("11111111-2222-3333-4444-555555555555").auto_paging_each do |item|
puts item.to_h
endusing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
await foreach (var item in await client.Sessions.ListEventsAsync("11111111-2222-3333-4444-555555555555"))
{
Console.WriteLine(JsonSerializer.Serialize(item));
}{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"uuid": "aaaaaaaa-1111-2222-3333-444444444444",
"event_type": "SESSION_STATUS_CHANGED",
"created_at": "2026-09-14T10:02:13.904512Z",
"component": null,
"feature_step": null,
"step": null,
"details": {
"old_status": "In Progress",
"current_status": "Approved"
},
"ip_address": null,
"user_agent": null,
"device_info": null,
"file_url": null,
"sent_at": 1789380131482
},
{
"uuid": "bbbbbbbb-1111-2222-3333-444444444444",
"event_type": "FEATURE_STEP_CHANGED",
"created_at": "2026-09-14T10:01:49.210377Z",
"component": null,
"feature_step": null,
"step": null,
"details": {
"old_feature_step": "OCR",
"current_feature_step": "LIVENESS"
},
"ip_address": null,
"user_agent": null,
"device_info": null,
"file_url": null,
"sent_at": 1789380107103
},
{
"uuid": "cccccccc-1111-2222-3333-444444444444",
"event_type": "STEP_RENDERED",
"created_at": "2026-09-14T10:01:00.581930Z",
"component": "DocumentCapture",
"feature_step": "OCR",
"step": "DOCUMENT_CAPTURE_FRONT",
"details": {},
"ip_address": "203.0.113.24",
"user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1",
"device_info": {
"device_model": "iPhone"
},
"file_url": null,
"sent_at": 1789380058776
}
]
}WORKFLOW_BRANCH_EVALUATED, WORKFLOW_STATUS_NODE_REACHED) e os respetivos details são descritos em Obter sessão, que também pode devolver a cronologia de uma sessão de Verificação de utilizadores (KYC) na respetiva decisão com ?include=events.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 da sessão de verificação (o session_id retornado por POST /v3/session/). Aceita IDs de sessão de Verificação de utilizadores (KYC) e de Verificação de empresas (KYB): o servidor resolve o ID em ambos os tipos de sessão. Deve ser um UUID bem formatado; um valor mal formatado não corresponde à rota e retorna um 404 em HTML.
"11111111-2222-3333-4444-555555555555"
Parâmetros de consulta
Número máximo de eventos por página. O valor predefinido é 50. Um valor inferior a 1 ou um valor não numérico reverte para 50; um valor acima de 1,000,000 devolve 400.
1 <= x <= 100000050
Número de resultados a ignorar antes do primeiro devolvido. O valor predefinido é 0; um valor negativo ou não numérico reverte para 0, um valor acima de 1,000,000 devolve 400. Prefira seguir os URLs next e previous.
0 <= x <= 10000000
Substituição opcional da ordenação. A ordem predefinida é -sent_at. Indique o nome de um campo de resultado (por exemplo sent_at, created_at, event_type, feature_step ou step) para ordenar ascendentemente, use o prefixo - para ordenar descendentemente e separe múltiplos campos com vírgulas. Campos desconhecidos são ignorados.
"sent_at"
Resposta
Uma página de eventos da sessão, os mais recentes primeiro.