from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.sessions.create_kyb_party_draft(
"33333333-4444-5555-6666-777777777777",
entity_type="person",
first_name="Ana",
last_name="Lopez",
roles=["ubo", "director"],
date_of_birth="1984-06-12",
email="ana.lopez@example.com",
ownership_percent=60.0,
nationality="MEX",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.sessions.createKybPartyDraft("33333333-4444-5555-6666-777777777777", {
entity_type: "person",
first_name: "Ana",
last_name: "Lopez",
roles: ["ubo", "director"],
date_of_birth: "1984-06-12",
email: "ana.lopez@example.com",
ownership_percent: 60.0,
nationality: "MEX",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Sessions.CreateKYBPartyDraft(ctx, "33333333-4444-5555-6666-777777777777", didit.SessionsCreateKYBPartyDraftParams{
EntityType: "person",
FirstName: didit.String("Ana"),
LastName: didit.String("Lopez"),
Roles: didit.Some([]didit.SessionsCreateKYBPartyDraftParamsRoles{"ubo", "director"}),
DateOfBirth: didit.String("1984-06-12"),
Email: didit.String("ana.lopez@example.com"),
OwnershipPercent: didit.Float(60.0),
Nationality: "MEX",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import java.time.LocalDate;
import java.util.List;
import me.didit.Didit;
import me.didit.types.SessionsCreateKybPartyDraftParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().createKybPartyDraft("33333333-4444-5555-6666-777777777777", SessionsCreateKybPartyDraftParams.builder()
.entityType(SessionsCreateKybPartyDraftParams.EntityType.of("person"))
.firstName("Ana")
.lastName("Lopez")
.roles(List.of(SessionsCreateKybPartyDraftParams.Roles.of("ubo"), SessionsCreateKybPartyDraftParams.Roles.of("director")))
.dateOfBirth(LocalDate.parse("1984-06-12"))
.email("ana.lopez@example.com")
.ownershipPercent(60.0)
.nationality("MEX")
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->createKybPartyDraft('33333333-4444-5555-6666-777777777777', [
'entity_type' => 'person',
'first_name' => 'Ana',
'last_name' => 'Lopez',
'roles' => ['ubo', 'director'],
'date_of_birth' => '1984-06-12',
'email' => 'ana.lopez@example.com',
'ownership_percent' => 60.0,
'nationality' => 'MEX',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.sessions.create_kyb_party_draft(
"33333333-4444-5555-6666-777777777777",
entity_type: "person",
first_name: "Ana",
last_name: "Lopez",
roles: ["ubo", "director"],
date_of_birth: "1984-06-12",
email: "ana.lopez@example.com",
ownership_percent: 60.0,
nationality: "MEX"
)
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.CreateKybPartyDraftAsync("33333333-4444-5555-6666-777777777777", new SessionsCreateKybPartyDraftParams
{
EntityType = "person",
FirstName = "Ana",
LastName = "Lopez",
Roles = new SessionsCreateKybPartyDraftParamsRoles[] { "ubo", "director" },
DateOfBirth = "1984-06-12",
Email = "ana.lopez@example.com",
OwnershipPercent = 60.0,
Nationality = "MEX",
});
Console.WriteLine(JsonSerializer.Serialize(result));curl --request POST \
--url https://verification.didit.me/v3/session/{sessionId}/kyb/parties/drafts/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"entity_type": "person",
"first_name": "Ana",
"last_name": "Lopez",
"roles": [
"ubo",
"director"
],
"ownership_percent": 60,
"nationality": "MEX",
"email": "ana.lopez@example.com",
"date_of_birth": "1984-06-12"
}
'{
"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": 60,
"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.create_kyb_party_draft(
"33333333-4444-5555-6666-777777777777",
entity_type="person",
first_name="Ana",
last_name="Lopez",
roles=["ubo", "director"],
date_of_birth="1984-06-12",
email="ana.lopez@example.com",
ownership_percent=60.0,
nationality="MEX",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.sessions.createKybPartyDraft("33333333-4444-5555-6666-777777777777", {
entity_type: "person",
first_name: "Ana",
last_name: "Lopez",
roles: ["ubo", "director"],
date_of_birth: "1984-06-12",
email: "ana.lopez@example.com",
ownership_percent: 60.0,
nationality: "MEX",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Sessions.CreateKYBPartyDraft(ctx, "33333333-4444-5555-6666-777777777777", didit.SessionsCreateKYBPartyDraftParams{
EntityType: "person",
FirstName: didit.String("Ana"),
LastName: didit.String("Lopez"),
Roles: didit.Some([]didit.SessionsCreateKYBPartyDraftParamsRoles{"ubo", "director"}),
DateOfBirth: didit.String("1984-06-12"),
Email: didit.String("ana.lopez@example.com"),
OwnershipPercent: didit.Float(60.0),
Nationality: "MEX",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import java.time.LocalDate;
import java.util.List;
import me.didit.Didit;
import me.didit.types.SessionsCreateKybPartyDraftParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().createKybPartyDraft("33333333-4444-5555-6666-777777777777", SessionsCreateKybPartyDraftParams.builder()
.entityType(SessionsCreateKybPartyDraftParams.EntityType.of("person"))
.firstName("Ana")
.lastName("Lopez")
.roles(List.of(SessionsCreateKybPartyDraftParams.Roles.of("ubo"), SessionsCreateKybPartyDraftParams.Roles.of("director")))
.dateOfBirth(LocalDate.parse("1984-06-12"))
.email("ana.lopez@example.com")
.ownershipPercent(60.0)
.nationality("MEX")
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->createKybPartyDraft('33333333-4444-5555-6666-777777777777', [
'entity_type' => 'person',
'first_name' => 'Ana',
'last_name' => 'Lopez',
'roles' => ['ubo', 'director'],
'date_of_birth' => '1984-06-12',
'email' => 'ana.lopez@example.com',
'ownership_percent' => 60.0,
'nationality' => 'MEX',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.sessions.create_kyb_party_draft(
"33333333-4444-5555-6666-777777777777",
entity_type: "person",
first_name: "Ana",
last_name: "Lopez",
roles: ["ubo", "director"],
date_of_birth: "1984-06-12",
email: "ana.lopez@example.com",
ownership_percent: 60.0,
nationality: "MEX"
)
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.CreateKybPartyDraftAsync("33333333-4444-5555-6666-777777777777", new SessionsCreateKybPartyDraftParams
{
EntityType = "person",
FirstName = "Ana",
LastName = "Lopez",
Roles = new SessionsCreateKybPartyDraftParamsRoles[] { "ubo", "director" },
DateOfBirth = "1984-06-12",
Email = "ana.lopez@example.com",
OwnershipPercent = 60.0,
Nationality = "MEX",
});
Console.WriteLine(JsonSerializer.Serialize(result));curl --request POST \
--url https://verification.didit.me/v3/session/{sessionId}/kyb/parties/drafts/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"entity_type": "person",
"first_name": "Ana",
"last_name": "Lopez",
"roles": [
"ubo",
"director"
],
"ownership_percent": 60,
"nationality": "MEX",
"email": "ana.lopez@example.com",
"date_of_birth": "1984-06-12"
}
'{
"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": 60,
"nationality": "MEX",
"email": "ana.lopez@example.com",
"date_of_birth": "1984-06-12"
}
}인증
Business Console의 Developers -> API keys에서 발급받은 귀하 애플리케이션의 API 키입니다. 기본 키는 전체 접근 권한을 갖습니다. 이름이 지정된 키는 리소스별 none, read, write 범위로 권한을 제한할 수 있으며 특정 워크플로나 승인된 세션, IP 주소 목록, 만료일 등으로 제한할 수도 있습니다. 401은 키가 잘못되었거나 폐기되었거나 만료되었음을 의미합니다. 403은 키가 전송되지 않았거나, 키에 해당 리소스나 작업에 대한 접근 권한이 없거나, 요청이 허용된 IP 목록 외부 주소에서 발생했음을 의미합니다. 세션 경로에서의 404는 해당 세션이 키의 허용 워크플로 또는 상태 범위를 벗어났음을 의미합니다. 미디어 접근 권한이 없는 키는 이미지, 비디오, PDF URL을 null로 수신하며, 세션 write 권한이 없는 키는 세션 링크와 token을 null로 수신합니다. https://docs.didit.me/console/api-keys 를 참고하십시오.
경로 매개변수
기업 확인(KYB) 세션의 UUID입니다. 해당 API 키의 애플리케이션에 속해 있어야 합니다.
"33333333-4444-5555-6666-777777777777"
쿼리 매개변수
KYB 단계의 워크플로 노드입니다. 워크플로에 둘 이상의 KYB 노드가 있는 경우에만 필요하며, 기본적으로 Didit은 세션 자체의 노드를 사용합니다.
본문
해당 당사자가 개인인지 기업인지 여부입니다.
person, company 개인의 국적 또는 기업의 설립 국가입니다. 모든 당사자에게 필수입니다.
100개인의 성명입니다. 이 값을 전송하거나, 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인증 링크가 전송되는 위치입니다. 당사자가 인증을 완료해야 할 때 필수이며, 이는 워크플로의 역할 설정 및 소유 구조 임계값에 따라 결정됩니다.
해당 주체가 보유한 기업의 지분입니다.
32워크플로에서 정의된 추가 필드입니다.
이 당사자의 인증 건너뛰기를 요청합니다. 워크플로의 주요 인물 설정에서 해당 당사자의 역할에 건너뛰기가 허용된 경우에만 적용됩니다.