from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.sessions.update_kyb_party_draft(
"33333333-4444-5555-6666-777777777777",
"5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d",
ownership_percent=55.0,
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.sessions.updateKybPartyDraft(
"33333333-4444-5555-6666-777777777777",
"5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d",
{
ownership_percent: 55.0,
},
);
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Sessions.UpdateKYBPartyDraft(ctx, "33333333-4444-5555-6666-777777777777", "5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d", didit.SessionsUpdateKYBPartyDraftParams{
OwnershipPercent: didit.Float(55.0),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.SessionsUpdateKybPartyDraftParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().updateKybPartyDraft("33333333-4444-5555-6666-777777777777", "5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d", SessionsUpdateKybPartyDraftParams.builder()
.ownershipPercent(55.0)
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->updateKybPartyDraft('33333333-4444-5555-6666-777777777777', '5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d', [
'ownership_percent' => 55.0,
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.sessions.update_kyb_party_draft(
"33333333-4444-5555-6666-777777777777",
"5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d",
ownership_percent: 55.0
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Sessions.UpdateKybPartyDraftAsync("33333333-4444-5555-6666-777777777777", "5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d", new SessionsUpdateKybPartyDraftParams
{
OwnershipPercent = 55.0,
});
Console.WriteLine(JsonSerializer.Serialize(result));curl --request PATCH \
--url https://verification.didit.me/v3/session/{sessionId}/kyb/parties/drafts/{draftId}/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"ownership_percent": 55
}
'{
"draft_id": "5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d",
"created_at": "2026-10-31T10:00:00Z",
"updated_at": "2026-10-31T10:00:00Z",
"party": {
"entity_type": "person",
"first_name": "Ana",
"last_name": "Lopez",
"roles": [
"ubo",
"director"
],
"ownership_percent": 55,
"nationality": "MEX",
"email": "ana.lopez@example.com",
"date_of_birth": "1984-06-12"
}
}编辑 KYB 关键人员草稿 API
在 Didit 的 KYB 会话中修改一位关键人员草稿的字段;合并后的人员信息将作为整体进行校验。
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.sessions.update_kyb_party_draft(
"33333333-4444-5555-6666-777777777777",
"5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d",
ownership_percent=55.0,
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.sessions.updateKybPartyDraft(
"33333333-4444-5555-6666-777777777777",
"5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d",
{
ownership_percent: 55.0,
},
);
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Sessions.UpdateKYBPartyDraft(ctx, "33333333-4444-5555-6666-777777777777", "5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d", didit.SessionsUpdateKYBPartyDraftParams{
OwnershipPercent: didit.Float(55.0),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.SessionsUpdateKybPartyDraftParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().updateKybPartyDraft("33333333-4444-5555-6666-777777777777", "5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d", SessionsUpdateKybPartyDraftParams.builder()
.ownershipPercent(55.0)
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->updateKybPartyDraft('33333333-4444-5555-6666-777777777777', '5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d', [
'ownership_percent' => 55.0,
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.sessions.update_kyb_party_draft(
"33333333-4444-5555-6666-777777777777",
"5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d",
ownership_percent: 55.0
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Sessions.UpdateKybPartyDraftAsync("33333333-4444-5555-6666-777777777777", "5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d", new SessionsUpdateKybPartyDraftParams
{
OwnershipPercent = 55.0,
});
Console.WriteLine(JsonSerializer.Serialize(result));curl --request PATCH \
--url https://verification.didit.me/v3/session/{sessionId}/kyb/parties/drafts/{draftId}/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"ownership_percent": 55
}
'{
"draft_id": "5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d",
"created_at": "2026-10-31T10:00:00Z",
"updated_at": "2026-10-31T10:00:00Z",
"party": {
"entity_type": "person",
"first_name": "Ana",
"last_name": "Lopez",
"roles": [
"ubo",
"director"
],
"ownership_percent": 55,
"nationality": "MEX",
"email": "ana.lopez@example.com",
"date_of_birth": "1984-06-12"
}
}授权
您的应用 API 密钥,可在 Business Console 的“开发者 -> API 密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域:针对每个资源设为无权限、只读或读写,限定于特定工作流或已通过的会话、限定于 IP 地址列表,以及设置到期日期。401 表示密钥错误、已撤销或已过期;403 表示未发送密钥、密钥无权访问该资源或操作,或请求来自其 IP 列表之外的地址;在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF URL 将为 null;没有会话写入权限的密钥获取到的会话链接和 token 将为 null。请参阅 https://docs.didit.me/console/api-keys。
路径参数
企业验证(KYB)会话的 UUID。它必须属于 API 密钥所属的应用。
"33333333-4444-5555-6666-777777777777"
参与方草稿的 UUID(创建时返回的 draft_id)。
"5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d"
查询参数
KYB 步骤的工作流节点。仅在工作流具有多个 KYB 节点时需要;默认情况下,Didit 会使用会话自身的节点。
请求体
参与方字段的任意子集。编辑内容将合并到已存储的草稿中,合并后的参与方会作为整体进行验证,因此编辑前能够提交的草稿在编辑后依然可以提交。
该主体是个人还是公司。
person, company 个人的姓名。发送此字段,或者发送 first_name 和 last_name。
255128128当事方持有的角色。可与 roles 互换;两者都发送时将被合并。
director, non_executive_director, secretary, chairman, ubo, shareholder, representative, founder, legal_advisor, authorized_signatory, trustee, beneficiary, settlor, protector, company_officer, investor, other 该主体拥有的每个角色。人员至少需要一个角色(在此处或在 role 中)。
director, non_executive_director, secretary, chairman, ubo, shareholder, representative, founder, legal_advisor, authorized_signatory, trustee, beneficiary, settlor, protector, company_officer, investor, other 个人的职位头衔。
128企业相关方的名称。当 entity_type 为 company 时必填。
255企业关联方的注册号。
100验证链接发送到的位置。当当事方必须完成验证时为必填项,这取决于工作流的角色设置和股权结构阈值。
该方拥有的公司股份比例。
个人的国籍,或企业的注册国家/地区。每个当事方都必须提供此信息。
10032工作流定义的附加字段。
请求跳过此主体的验证。仅当主体的角色在工作流的“关键人员”设置中允许跳过时才有效。