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"
}
}Editar borrador de parte KYB: API
Con la API de Didit, cambia los campos de un borrador de persona clave en una sesión KYB; la parte combinada se valida en conjunto.
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"
}
}Autorizaciones
La clave de API de tu aplicación, que encontrarás en Developers -> API keys en la Business Console. La clave principal tiene acceso completo. Una clave con nombre puede tener un alcance limitado: ninguno, lectura o escritura por recurso, limitada a algunos flujos o a sesiones aprobadas, a una lista de direcciones IP y a una fecha de caducidad. 401 significa que la clave es incorrecta, se revocó o expiró; 403 significa que no se envió ninguna clave, que la clave no tiene acceso a este recurso o acción, o que la solicitud provino de una dirección fuera de su lista de IP; 404 en una ruta de sesión significa que la sesión está fuera de los flujos o estados de la clave. Una clave sin acceso a contenido multimedia recibe las URL de imágenes, videos y PDF como null, y una clave sin permiso de escritura en sesiones recibe los enlaces y tokens de sesión como null. Consulta https://docs.didit.me/console/api-keys.
Parámetros de ruta
UUID de la sesión de Verificación de empresas (KYB). Debe pertenecer a la aplicación de la clave de API.
"33333333-4444-5555-6666-777777777777"
UUID del borrador de la parte (el draft_id que se devolvió al crearlo).
"5b0d7a52-9d3e-4f0c-8c6a-0e5f3a1b2c4d"
Parámetros de consulta
Nodo del flujo correspondiente al paso KYB. Solo es necesario cuando el flujo tiene más de un nodo KYB; de forma predeterminada, Didit usa el propio nodo de la sesión.
Cuerpo
Cualquier subconjunto de los campos de la parte. La edición se combina con el borrador almacenado y la parte resultante se valida en su conjunto, de modo que un borrador que podía enviarse antes de una edición sigue pudiendo enviarse después.
Si la parte es una persona física o una empresa.
person, company Nombre completo de una persona. Envíalo, o bien first_name y last_name.
255128128Rol que tiene la parte. Equivalente a roles; si se envían ambos, se combinan.
director, non_executive_director, secretary, chairman, ubo, shareholder, representative, founder, legal_advisor, authorized_signatory, trustee, beneficiary, settlor, protector, company_officer, investor, other Todos los roles que tiene la parte. Una persona necesita al menos un rol (aquí o en role).
director, non_executive_director, secretary, chairman, ubo, shareholder, representative, founder, legal_advisor, authorized_signatory, trustee, beneficiary, settlor, protector, company_officer, investor, other Cargo de una persona.
128Nombre de una parte que es una empresa. Obligatorio cuando entity_type es company.
255Número de registro de una parte que es una empresa.
100Destino al que se envía el enlace de verificación. Obligatorio cuando la parte tiene que completar la verificación, lo que depende de la configuración de roles y de los umbrales de propiedad del flujo.
Participación de la empresa que posee la parte.
Nacionalidad de una persona o país de constitución de una empresa. Obligatorio para cada parte.
10032Campos adicionales definidos en el flujo.
Solicita omitir la verificación de esta parte. Solo se aplica cuando el rol de la parte permite omitirla en la configuración de Personas clave del flujo.