curl -X GET 'https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/aml-screening-history/' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
for item in client.sessions.list_aml_screening_history(
"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.listAmlScreeningHistory("11111111-2222-3333-4444-555555555555")) {
console.log(item);
}ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
iter := client.Sessions.ListAMLScreeningHistoryAutoPaging(ctx, "11111111-2222-3333-4444-555555555555", didit.SessionsListAMLScreeningHistoryParams{})
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().listAmlScreeningHistory("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->listAmlScreeningHistory('11111111-2222-3333-4444-555555555555') as $item) {
print_r($item->toArray());
}require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.sessions.list_aml_screening_history("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.ListAmlScreeningHistoryAsync("11111111-2222-3333-4444-555555555555"))
{
Console.WriteLine(JsonSerializer.Serialize(item));
}{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"uuid": "dddddddd-1111-2222-3333-444444444444",
"run_id": "aaaaaaaa-1111-2222-3333-444444444444",
"completed_at": "2026-09-14T04:12:33.481207Z",
"started_at": "2026-09-14T04:00:01.002311Z",
"outcome": "NO_CHANGE",
"trigger": "ONGOING_MONITORING",
"provider": "aml_data_source",
"status": "Approved",
"score": 0,
"total_hits": 0,
"new_hits": 0,
"entities_screened": 1,
"dataset_freshness": {
"captured_at": "2026-09-14T03:58:02.114820+00:00",
"provider": "aml_data_source",
"catalog_version": "2026-09-13",
"sources": {
"sanctions": {
"last_updated_at": "2026-09-13T21:10:00+00:00",
"oldest_updated_at": "2026-09-11T06:00:00+00:00",
"dataset_count": 120,
"dated_dataset_count": 120
},
"pep": {
"last_updated_at": "2026-09-13T08:00:00+00:00",
"oldest_updated_at": null,
"dataset_count": 45,
"dated_dataset_count": 44
},
"warnings": {
"last_updated_at": "2026-09-12T18:45:00+00:00",
"oldest_updated_at": "2026-09-01T00:00:00+00:00",
"dataset_count": 30,
"dated_dataset_count": 30
}
}
}
},
{
"uuid": "eeeeeeee-1111-2222-3333-444444444444",
"run_id": "bbbbbbbb-1111-2222-3333-444444444444",
"completed_at": "2026-09-13T04:11:58.020914Z",
"started_at": "2026-09-13T04:00:00.871022Z",
"outcome": "FAILED",
"trigger": "ONGOING_MONITORING",
"provider": "aml_data_source",
"status": "Approved",
"score": 0,
"total_hits": 0,
"new_hits": null,
"entities_screened": 0,
"dataset_freshness": null
}
]
}AML 筛查历史 API 列表
Didit 可列出会话的每一次持续 AML 监控复筛运行记录,包括没有任何变化的运行,并附上每次运行的结果、评分以及数据集新鲜度。
curl -X GET 'https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/aml-screening-history/' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
for item in client.sessions.list_aml_screening_history(
"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.listAmlScreeningHistory("11111111-2222-3333-4444-555555555555")) {
console.log(item);
}ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
iter := client.Sessions.ListAMLScreeningHistoryAutoPaging(ctx, "11111111-2222-3333-4444-555555555555", didit.SessionsListAMLScreeningHistoryParams{})
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().listAmlScreeningHistory("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->listAmlScreeningHistory('11111111-2222-3333-4444-555555555555') as $item) {
print_r($item->toArray());
}require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.sessions.list_aml_screening_history("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.ListAmlScreeningHistoryAsync("11111111-2222-3333-4444-555555555555"))
{
Console.WriteLine(JsonSerializer.Serialize(item));
}{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"uuid": "dddddddd-1111-2222-3333-444444444444",
"run_id": "aaaaaaaa-1111-2222-3333-444444444444",
"completed_at": "2026-09-14T04:12:33.481207Z",
"started_at": "2026-09-14T04:00:01.002311Z",
"outcome": "NO_CHANGE",
"trigger": "ONGOING_MONITORING",
"provider": "aml_data_source",
"status": "Approved",
"score": 0,
"total_hits": 0,
"new_hits": 0,
"entities_screened": 1,
"dataset_freshness": {
"captured_at": "2026-09-14T03:58:02.114820+00:00",
"provider": "aml_data_source",
"catalog_version": "2026-09-13",
"sources": {
"sanctions": {
"last_updated_at": "2026-09-13T21:10:00+00:00",
"oldest_updated_at": "2026-09-11T06:00:00+00:00",
"dataset_count": 120,
"dated_dataset_count": 120
},
"pep": {
"last_updated_at": "2026-09-13T08:00:00+00:00",
"oldest_updated_at": null,
"dataset_count": 45,
"dated_dataset_count": 44
},
"warnings": {
"last_updated_at": "2026-09-12T18:45:00+00:00",
"oldest_updated_at": "2026-09-01T00:00:00+00:00",
"dataset_count": 30,
"dated_dataset_count": 30
}
}
}
},
{
"uuid": "eeeeeeee-1111-2222-3333-444444444444",
"run_id": "bbbbbbbb-1111-2222-3333-444444444444",
"completed_at": "2026-09-13T04:11:58.020914Z",
"started_at": "2026-09-13T04:00:00.871022Z",
"outcome": "FAILED",
"trigger": "ONGOING_MONITORING",
"provider": "aml_data_source",
"status": "Approved",
"score": 0,
"total_hits": 0,
"new_hits": null,
"entities_screened": 0,
"dataset_freshness": null
}
]
}授权
您的应用 API 密钥,可在 Business Console 的“开发者 -> API 密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域:针对每个资源设为无权限、只读或读写,限定于特定工作流或已通过的会话、限定于 IP 地址列表,以及设置到期日期。401 表示密钥错误、已撤销或已过期;403 表示未发送密钥、密钥无权访问该资源或操作,或请求来自其 IP 列表之外的地址;在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF URL 将为 null;没有会话写入权限的密钥获取到的会话链接和 token 将为 null。请参阅 https://docs.didit.me/console/api-keys。
路径参数
验证会话的 UUID(由 POST /v3/session/ 返回的 session_id)。支持用户验证(KYC)和企业验证(KYB)会话 ID:服务器会跨两种会话类型解析该 ID。必须是格式正确的 UUID;格式不正确的值无法匹配路由并返回 HTML 404。
"11111111-2222-3333-4444-555555555555"
查询参数
AML 检查的工作流图谱节点 ID。仅在会话运行了多个 AML 步骤时需要;若不提供,则使用最新的 AML 检查。未知的节点将返回 404。
"feature_aml_1"
格式为 YYYY-MM 的 UTC 日历月份。仅返回在该月份完成的筛查;若不指定则返回所有月份。格式错误的月份将返回 400。
^\d{4}-(0[1-9]|1[0-2])$"2026-09"
每页最大筛查运行次数。默认值为 50。小于 1 的值或非数值将回退至 50;超过 1,000,000 的值将返回 400。
1 <= x <= 100000050
返回第一条结果前跳过的结果数量。默认为 0;负数或非数字值将回退为 0,大于 1,000,000 的值将返回 400。建议优先使用 next 和 previous URL。
0 <= x <= 10000000
可选的排序覆盖设置。默认顺序为 -completed_at。传入结果字段名称(例如 completed_at、started_at、outcome 或 score)进行升序排序,添加 - 前缀进行降序排序,多个字段之间用逗号分隔。未知字段将被忽略。
"completed_at"