Los cuatro aceptan tu clave de API de cliente o un encabezado de autorización de usuario, y los cuatro emiten un webhook
data.updated cuando la operación se completa correctamente, para que tu sistema y tus sistemas de análisis posteriores se mantengan sincronizados.
Requisitos comunes
- Autorización: clave de API de cliente (
x-api-keyestándar o bearer enAuthorization) o token de autenticación de usuario. - Privilegio:
- KYC y POA:
write:sessions - Empresa KYB y parte de Personas clave:
write:businesses
- KYC y POA:
- Estado de la sesión (solo KYC / POA): debe ser
APPROVED,DECLINED,IN_REVIEWoKYC_EXPIRED. Las sesiones que no han llegado a un estado revisable no se pueden modificar. Las actualizaciones de empresas KYB no tienen restricción de estado. - Debe existir un registro de la función: solo puedes modificar campos KYC si la sesión capturó un KYC, campos POA si capturó un POA y campos de empresa KYB si la sesión tiene una comprobación del registro de empresas.
- Actualizaciones parciales: solo cambian los campos que incluyas. Omite un campo para dejarlo como está. Envía
nullpara eliminar una clave deextra_fields. - Webhooks: una actualización exitosa dispara
data.updatedconsession_kind: "user"o"business", y el historial de auditoría de la sesión registra qué campos concretos cambiaron y quién los cambió.
Actualizar los datos de identidad KYC
PATCH /v3/session/{sessionId}/update-data/
Modifica cualquier campo extraído del documento de identidad. Admite flujos de verificación (workflows) basados en grafos con varias instancias mediante un parámetro de consulta o campo del cuerpo node_id opcional: apunta a un registro KYC concreto cuando una misma sesión tiene varios pasos KYC.
Campos modificables
parsed_address solo acepta estas claves anidadas: address_type, city, region, street_1, street_2, postal_code, country (ISO 3166-1 alfa-2).
Ejemplo
?node_id=feature_ocr_2 a la URL (o pasa "node_id": "feature_ocr_2" en el cuerpo) para seleccionar un registro KYC concreto.
Actualizar los datos de Prueba de domicilio (POA)
PATCH /v3/session/{sessionId}/update-poa-data/
Modifica los campos extraídos de un documento de prueba de domicilio. Se aplican las mismas restricciones de estado y el mismo privilegio que en las actualizaciones KYC. También admite node_id para flujos con varias instancias.
Campos modificables
Ejemplo
Actualizar los datos de empresa de KYB
PATCH /v3/session/{sessionId}/kyb/{companyUuid}/update-data/
Corrige los campos extraídos del registro de una empresa de KYB. El endpoint edita tanto las columnas canónicas de la empresa como registry_data, de modo que la vista “Extracted from Registry” de la consola refleja tus correcciones. user_provided_data (lo que el usuario final confirmó en el flujo alojado) no se modifica. Se registra last_console_edit_at y se envía un webhook data.updated con trigger: "console_registry_edit".
Requisitos
- Permiso:
write:businesses(distinto del permiso de KYC / POA). - El
companyUuidde la URL debe pertenecer alsessionIdindicado; de lo contrario, recibes un 404. - No hay restricción por estado de la sesión: los datos de empresa de KYB se pueden corregir en cualquier momento.
Campos modificables
Los campos que omitas no se modifican. Los campos que envíes se escriben en la columna canónica (cuando existe) y se combinan en
registry_data. Las fechas se serializan como cadenas ISO 8601 al combinarse en registry_data.
Ejemplo
registry_checks[].company en la decisión de la sesión.
Omitir a una parte de Personas clave
PATCH /v3/session/{sessionId}/kyb/parties/{partyUuid}/
Exime de la verificación a una parte de Personas clave: es la vía de escape para una parte que nunca podrá completar su propia comprobación. La causa habitual es una sesión hija eliminada: una vez eliminado el KYC individual asignado a un UBO o a un director, su estado queda congelado y nunca puede resolverse, por lo que el KYB no tiene nada que pueda sacarlo de Awaiting User. Al omitir la parte, esta sale de la agregación de Personas clave, la comprobación se recalcula en el acto y la sesión puede resolverse y ser aprobada o rechazada.
Requisitos
- Permiso:
write:businesses. - El
partyUuidde la URL debe pertenecer alsessionIdindicado; de lo contrario, recibes un 404. - No depende de
allow_skip. Esa configuración del rol limita lo que el solicitante puede omitir mientras completa la pantalla alojada de Personas clave; este endpoint es la anulación del operador, por lo que funciona incluso en roles que el solicitante no podría haber omitido.
Cuerpo
requires_verification se deja intacto de forma deliberada, de modo que una parte excluida aparece con requires_verification: true y is_skipped: true: el registro sigue mostrando que las reglas exigían una comprobación.
Ejemplo
key_people_checks[].submitted.parties[] en la decisión de la sesión.
Se envía un webhook data.updated con trigger: "console_key_people_skip".
Una parte cuya sesión hija se eliminó aparece marcada en el payload de la decisión con
kyc_session_deleted: true (o kyb_sub_session_deleted: true en el caso de partes
corporativas), y su kyc_session_url / kyb_sub_session_url se devuelve como
null porque el enlace ya no se resuelve. Eliminar una sesión hija nunca
aprueba a la parte por sí solo: la comprobación de Personas clave pasa a In Review para que
una persona tome la decisión.Qué ocurre después de una actualización
- Webhook: se activa
data.updateden la sesión, con elsession_kindde la sesión en el payload ("user"o"business"). Suscríbete una sola vez a nivel de destino y enruta segúnsession_kind. - Registro de auditoría: la sesión registra exactamente qué campos cambiaron, los valores anteriores y nuevos y (en las llamadas autenticadas como usuario) el correo electrónico de quien hizo el cambio. Se puede ver en la pestaña Events de la consola.
- Nueva geocodificación de la dirección: en las actualizaciones de KYC y POA que cambian
address/poa_address, Didit vuelve a ejecutar la geocodificación en segundo plano. Los fallos se ignoran, de modo que la actualización nunca falla por un problema de geocodificación. - Nueva evaluación AML: las actualizaciones de KYC que cambian el nombre, la fecha de nacimiento o la nacionalidad pueden volver a disparar el análisis AML si este no había terminado en la sesión. Los resultados aparecen en la decisión de la sesión.
Cuándo no usar estos endpoints
- Volver a ejecutar toda la verificación: si el cliente tiene que volver a tomar la foto de su documento de identidad o volver a subir un documento, usa update-status para pasar la sesión a
Resubmitted. - Cambiar campos del perfil de la entidad User o Business: usa
PATCH /v3/users/{vendor_data}/oPATCH /v3/businesses/{vendor_data}/; esos endpoints actualizan datos a nivel de entidad, no a nivel de sesión. - Editar los datos de Personas clave: no existe una API pública para modificar el nombre, los roles o la propiedad de una parte; esos datos se envían a través del flujo alojado. El único campo modificable es
is_skipped(consulta Omitir a una parte de Personas clave).
Errores
Próximos pasos
Obtener sesión
Obtén la decisión completa para ver los campos actualizados.
Actualizar estado
Aprueba, rechaza o reabre una sesión después de corregir datos.
Webhooks
Suscríbete a los eventos
data.updated.