curl
curl -s 'https://verification.didit.me/v3/sessions/8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d/reviews/?limit=50' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
for item in client.sessions.reviews.list(
"8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d",
):
print(item)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
for await (const item of didit.sessions.reviews.list("8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d")) {
console.log(item);
}ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
iter := client.Sessions.Reviews.ListAutoPaging(ctx, "8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d", didit.SessionsReviewsListParams{})
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().reviews().list("8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d")) {
System.out.println(item);
}<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
foreach ($didit->sessions->reviews->list('8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d') as $item) {
print_r($item->toArray());
}require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.sessions.reviews.list("8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d").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.Reviews.ListAsync("8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d"))
{
Console.WriteLine(JsonSerializer.Serialize(item));
}{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"uuid": "de0561bc-5583-4409-9171-1a31a4c8a5f4",
"activity_type": "STATUS_UPDATED",
"actor_display": "API Client",
"actor_email": null,
"actor_type": "API_KEY",
"new_status": "Approved",
"previous_status": "In Review",
"comment": "Document re-checked manually; address matches.",
"mentioned_emails": [],
"previous_value": {
"status": "In Review"
},
"new_value": {
"status": "Approved"
},
"changed_fields": [
"status"
],
"metadata": null,
"created_at": "2026-06-12T00:19:31.918735Z"
},
{
"uuid": "35370f58-5098-44ee-8a06-8c9af80b2455",
"activity_type": "STATUS_UPDATED",
"actor_display": "Unknown",
"actor_email": null,
"actor_type": "CONSOLE_USER",
"new_status": null,
"previous_status": null,
"comment": "Note without status.",
"mentioned_emails": [],
"previous_value": null,
"new_value": null,
"changed_fields": [],
"metadata": null,
"created_at": "2026-06-12T00:18:44.504157Z"
},
{
"uuid": "00338f82-f1c5-4f57-8614-c49bb258af1a",
"activity_type": "STATUS_UPDATED",
"actor_display": "Unknown",
"actor_email": null,
"actor_type": "CONSOLE_USER",
"new_status": "In Review",
"previous_status": null,
"comment": "Flagging for manual document re-check.",
"mentioned_emails": [],
"previous_value": null,
"new_value": null,
"changed_fields": [],
"metadata": null,
"created_at": "2026-06-12T00:18:44.466537Z"
}
]
}会话操作
会话审核列表 API:KYC 审计日志
获取 Didit 验证会话的每条人工审核备注和每次状态变更记录,可作为审计就绪的合规日志使用,按每次调用计费,无需签约。
GET
/
v3
/
sessions
/
{session_id}
/
reviews
/
curl
curl -s 'https://verification.didit.me/v3/sessions/8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d/reviews/?limit=50' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
for item in client.sessions.reviews.list(
"8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d",
):
print(item)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
for await (const item of didit.sessions.reviews.list("8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d")) {
console.log(item);
}ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
iter := client.Sessions.Reviews.ListAutoPaging(ctx, "8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d", didit.SessionsReviewsListParams{})
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().reviews().list("8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d")) {
System.out.println(item);
}<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
foreach ($didit->sessions->reviews->list('8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d') as $item) {
print_r($item->toArray());
}require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.sessions.reviews.list("8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d").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.Reviews.ListAsync("8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d"))
{
Console.WriteLine(JsonSerializer.Serialize(item));
}{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"uuid": "de0561bc-5583-4409-9171-1a31a4c8a5f4",
"activity_type": "STATUS_UPDATED",
"actor_display": "API Client",
"actor_email": null,
"actor_type": "API_KEY",
"new_status": "Approved",
"previous_status": "In Review",
"comment": "Document re-checked manually; address matches.",
"mentioned_emails": [],
"previous_value": {
"status": "In Review"
},
"new_value": {
"status": "Approved"
},
"changed_fields": [
"status"
],
"metadata": null,
"created_at": "2026-06-12T00:19:31.918735Z"
},
{
"uuid": "35370f58-5098-44ee-8a06-8c9af80b2455",
"activity_type": "STATUS_UPDATED",
"actor_display": "Unknown",
"actor_email": null,
"actor_type": "CONSOLE_USER",
"new_status": null,
"previous_status": null,
"comment": "Note without status.",
"mentioned_emails": [],
"previous_value": null,
"new_value": null,
"changed_fields": [],
"metadata": null,
"created_at": "2026-06-12T00:18:44.504157Z"
},
{
"uuid": "00338f82-f1c5-4f57-8614-c49bb258af1a",
"activity_type": "STATUS_UPDATED",
"actor_display": "Unknown",
"actor_email": null,
"actor_type": "CONSOLE_USER",
"new_status": "In Review",
"previous_status": null,
"comment": "Flagging for manual document re-check.",
"mentioned_emails": [],
"previous_value": null,
"new_value": null,
"changed_fields": [],
"metadata": null,
"created_at": "2026-06-12T00:18:44.466537Z"
}
]
}授权
您的应用 API 密钥,可在 Business Console 的“开发者 -> API 密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域:针对每个资源设为无权限、只读或读写,限定于特定工作流或已通过的会话、限定于 IP 地址列表,以及设置到期日期。401 表示密钥错误、已撤销或已过期;403 表示未发送密钥、密钥无权访问该资源或操作,或请求来自其 IP 列表之外的地址;在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF URL 将为 null;没有会话写入权限的密钥获取到的会话链接和 token 将为 null。请参阅 https://docs.didit.me/console/api-keys。
路径参数
用户验证(KYC)会话的 UUID。必须属于与 API 密钥相同的应用 — 跨应用 UUID、已删除会话以及企业验证(KYB)会话 ID 均返回 404。
示例:
"8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d"
查询参数
页面大小。默认为 50。
示例:
50
从(有序)数据流开头跳过的条目数量。默认为 0。响应中的 next / previous URL 包含遍历数据流的正确值。
示例:
0
排序顺序。feed 默认按从新到旧排序(-created_at);传入 created_at 可按从旧到新读取。无法识别的值会被静默忽略(采用默认顺序);也支持其他序列化器字段名称。
示例:
"created_at"
最后修改于 2026年11月7日