Saltar al contenido principal
PATCH
curl

Descripción general

Actualiza los campos modificables de una entidad User. Los campos que provienen de sesiones verificadas de verificación de usuarios (KYC) (full_name, date_of_birth, portrait_image, los contadores agregados y features) son de solo lectura.

Cuándo usarlo

  • Actualizar tus propios metadatos: mover a un usuario de un nivel a otro, cambiar etiquetas o registrar una nota interna.
  • Renombrar: asignar un display_name más claro para las vistas internas de la consola.
  • Sobrescribir datos verificados (con precaución): se permiten las sobrescrituras manuales, pero quedan registradas en el registro de auditoría.

Notas

  • El vendor_data de la URL no se puede cambiar con este endpoint. Si necesitas cambiar el identificador, crea un usuario nuevo y elimina el anterior.
  • Emite un webhook user.data.updated con un array changed_fields para que los consumidores puedan sincronizarse de forma eficiente.
  • Un cambio de status aquí funciona igual que Actualizar el estado del usuario. Se registra en la actividad de la persona, con el reason opcional (hasta 1000 caracteres) como comentario, y BLOCKED añade el vendor_data a la lista de bloqueo del sistema. El webhook user.status.updated no incluye reason.
  • Si aplicas PATCH a un campo que actualmente está gestionado por una sesión verificada, la sobrescritura se aceptará, pero se marcará en el registro de auditoría.

Permisos

El secreto principal y las claves de API con acceso completo siempre pueden invocar este endpoint. Una clave con acceso personalizado necesita permiso de escritura en Personas (users). Una clave limitada a algunos flujos o a sesiones aprobadas no puede acceder a este endpoint. Los roles y permisos de la consola determinan lo que un miembro del equipo puede hacer en la consola. No se evalúan en las solicitudes hechas con clave de API.

Relacionado

Autorizaciones

x-api-key
string
header
requerido

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

vendor_data
string
requerido

Tu identificador único del usuario (cadena de texto libre, NO un UUID).

Cuerpo

application/json
full_name
string | null

Nombre completo del usuario

Maximum string length: 512
display_name
string | null

Nombre visible personalizado para este usuario

date_of_birth
string<date> | null

Fecha de nacimiento en formato YYYY-MM-DD

status
enum<string>

Estado del ciclo de vida del usuario. Cada cambio se registra como una actividad STATUS_CHANGED, y BLOCKED añade el vendor_data a la lista de bloqueo del sistema (salir de BLOCKED elimina esa entrada).

Opciones disponibles:
ACTIVE,
FLAGGED,
BLOCKED
metadata
object | null

Objeto JSON arbitrario que adjuntas al usuario. Reemplaza por completo los metadatos existentes al actualizar: combínalos en el cliente si solo quieres añadir claves.

approved_emails
string[]

Direcciones de correo electrónico verificadas de este usuario, p. ej., ["john@example.com"]. Reemplaza por completo la lista almacenada.

approved_phones
string[]

Números de teléfono verificados de este usuario. Reemplaza por completo la lista almacenada.

issuing_states
string[]

Países emisores (ISO 3166-1 alfa-3), p. ej., ["USA"]. Reemplaza por completo la lista almacenada.

reason
string | null

Por qué cambió el estado. Se registra en la entrada de cambio de estado de la actividad del usuario (comments[].comment y Activity en Business Console), solo cuando el estado cambia realmente. Los webhooks no lo incluyen.

Maximum string length: 1000

Respuesta

Usuario actualizado. Se devuelve el registro completo y actualizado del usuario (con la misma estructura que Get User).

Detalle completo del usuario. Amplía UserListItem con metadatos, comentarios y updated_at.

didit_internal_id
string<uuid>

UUID interno estable de Didit para este usuario.

vendor_data
string | null

Tu identificador único de este usuario (el que se envía al crear sesiones). Puede ser null si no se proporcionó ningún identificador propio.

display_name
string | null

Nombre visible personalizado que has definido

full_name
string | null

Nombre completo extraído de los documentos verificados

date_of_birth
string<date> | null
effective_name
string | null

Mejor nombre disponible: display_name si está definido; si no, full_name

status
enum<string>

Estado del ciclo de vida del registro del usuario (NO es un estado de sesión). ACTIVE es el valor predeterminado, FLAGGED marca al usuario para atención manual y BLOCKED impide nuevas sesiones para este vendor_data.

Opciones disponibles:
ACTIVE,
FLAGGED,
BLOCKED
portrait_image_url
string | null

URL prefirmada de la foto de retrato del usuario (caduca al cabo de unas horas)

session_count
integer

Número total de sesiones de verificación de este usuario

approved_count
integer

Número de sesiones aprobadas

declined_count
integer

Número de sesiones rechazadas

in_review_count
integer

Número de sesiones en revisión

issuing_states
string[]

Códigos ISO 3166-1 alpha-3 de los países emisores que figuran en los documentos de identidad aprobados de este usuario, p. ej., ["USA", "ESP"]. Array vacío si no hay ninguno.

approved_emails
string[]

Direcciones de correo electrónico verificadas obtenidas de las sesiones aprobadas de este usuario, p. ej., ["john@example.com"].

approved_phones
string[]

Números de teléfono verificados obtenidos de las sesiones aprobadas de este usuario, p. ej., ["+14155551234"].

features
object

Estado agregado por función de todas las sesiones de este usuario. Claves posibles: ID_VERIFICATION, NFC, LIVENESS, FACE_MATCH, POA, QUESTIONNAIRE, EMAIL_VERIFICATION, PHONE, AML, IP_ANALYSIS, AGE_ESTIMATION, DATABASE_VALIDATION. Valores posibles: Approved, Declined, In Review, Not Finished, Resub Requested.

features_list
object[]

Los mismos datos que features, como un array ordenado de objetos {feature, status}.

last_session_at
string<date-time> | null

Marca de tiempo de la sesión más reciente

first_session_at
string<date-time> | null

Marca de tiempo de la primera sesión

last_activity_at
string<date-time> | null

Marca de tiempo de la actividad más reciente de este usuario (sesión, transacción, cambio de estado, edición de datos, etc.).

tags
object[]

Asignaciones de etiquetas. NOTA: en las respuestas de detalle, cada entrada es un objeto de vínculo de etiqueta ({uuid, tag: {...}, added_by_email, added_by_name, created_at}), a diferencia de la forma plana {uuid, name, color} que se usa en las respuestas de listado.

created_at
string<date-time>
metadata
object

JSON de metadatos personalizados que adjuntaste a este usuario. Valor predeterminado: {}.

comments
object[]

Registro de actividad y comentarios de este usuario (cambios de estado, ediciones del perfil, notas manuales).

updated_at
string<date-time>
Última modificación el 1 de noviembre de 2026