curl
curl -X POST 'https://verification.didit.me/v3/businesses/delete/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"vendor_data_list": ["company-123", "company-456"]}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.businesses.batch_delete(
vendor_data_list=["company-123", "company-456"],
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.businesses.batchDelete({
vendor_data_list: ["company-123", "company-456"],
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Businesses.BatchDelete(ctx, didit.BusinessesBatchDeleteParams{
VendorDataList: didit.Some([]string{"company-123", "company-456"}),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import java.util.List;
import me.didit.Didit;
import me.didit.types.BusinessesBatchDeleteParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.businesses().batchDelete(BusinessesBatchDeleteParams.builder()
.vendorDataList(List.of("company-123", "company-456"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->businesses->batchDelete([
'vendor_data_list' => ['company-123', 'company-456'],
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.businesses.batch_delete(vendor_data_list: ["company-123", "company-456"])
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Businesses.BatchDeleteAsync(new BusinessesBatchDeleteParams
{
VendorDataList = new string[] { "company-123", "company-456" },
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"deleted": 2
}企业
批量删除企业 API:KYB 数据擦除
通过 vendor_data 或 didit_internal_id 批量删除 Didit 企业(KYB)实体,符合 GDPR/CCPA 合规要求。
POST
/
v3
/
businesses
/
delete
/
curl
curl -X POST 'https://verification.didit.me/v3/businesses/delete/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"vendor_data_list": ["company-123", "company-456"]}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.businesses.batch_delete(
vendor_data_list=["company-123", "company-456"],
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.businesses.batchDelete({
vendor_data_list: ["company-123", "company-456"],
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Businesses.BatchDelete(ctx, didit.BusinessesBatchDeleteParams{
VendorDataList: didit.Some([]string{"company-123", "company-456"}),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import java.util.List;
import me.didit.Didit;
import me.didit.types.BusinessesBatchDeleteParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.businesses().batchDelete(BusinessesBatchDeleteParams.builder()
.vendorDataList(List.of("company-123", "company-456"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->businesses->batchDelete([
'vendor_data_list' => ['company-123', 'company-456'],
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.businesses.batch_delete(vendor_data_list: ["company-123", "company-456"])
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Businesses.BatchDeleteAsync(new BusinessesBatchDeleteParams
{
VendorDataList = new string[] { "company-123", "company-456" },
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"deleted": 2
}概述
删除一个或多个企业实体。企业记录将被永久删除。此端点不处理企业验证(KYB)会话,这些会话会保留,但与企业的关联会被清除;请使用删除会话删除它们。交易同样不在此端点的处理范围内;请使用批量删除交易删除交易。使用场景
- 被遗忘权请求。
- QA 期间清理测试企业。
- 取消配置:从您自己的平台中移除的企业。
注意事项
- 接受
vendor_data值或didit_internal_id值的列表。 - 幂等:删除已删除的企业不产生任何效果。
- 仅返回已删除的数量,不返回逐项报告。与任何记录都不匹配的值会被静默跳过。
- 触发
business.data.updated事件,其中deleted_at已设置。 - 企业实体自身拥有的记录会随之删除:其标签关联、评论历史,以及其自有的设备和网络记录。
- 企业验证(KYB)会话产生的记录不会被删除:公司登记数据、上传的证件、AML 命中结果、实际受益人和关键人员检查均归属于会话,并会一直保留,直到您删除会话本身。
已定稿监管报告中的数据
如果所选企业中有任一企业属于已定稿监管报告所在的案件,则整个请求返回409,且不删除任何数据。响应使用 code: in_filed_report,并列出每份报告:
{
"detail": "A case about this person or company has a filed 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"
}
]
}
正在进行的删除操作
同一时间,一家企业只能由一个请求删除。如果另一个请求仍在删除所选企业中的某一家,此请求最多等待数秒,然后返回409,并附带 code: subject_deletion_in_progress,且不删除任何数据:
{
"detail": "This person or company is being deleted. Retry after deletion completes.",
"code": "subject_deletion_in_progress"
}
权限
角色必须授予delete:businesses 权限。通常仅保留给 OWNER 和 ADMIN。
相关内容
授权
您的应用 API 密钥,可在 Business Console 的“开发者 -> API 密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域:针对每个资源设为无权限、只读或读写,限定于特定工作流或已通过的会话、限定于 IP 地址列表,以及设置到期日期。401 表示密钥错误、已撤销或已过期;403 表示未发送密钥、密钥无权访问该资源或操作,或请求来自其 IP 列表之外的地址;在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF URL 将为 null;没有会话写入权限的密钥获取到的会话链接和 token 将为 null。请参阅 https://docs.didit.me/console/api-keys。
请求体
application/json
提供 vendor_data_list、didit_internal_id_list 或 delete_all: true。传入多项时的优先级:delete_all > vendor_data_list > didit_internal_id_list(仅使用优先级最高的一个选择器)。
响应
企业已删除。返回实际移除的行数。
已删除的企业数量(不包括未匹配任何内容的 vendor_data 值)。
最后修改于 2026年11月7日