Skip to main content
PATCH
Actualizar una entidad por ID

Descripción General

Actualiza los atributos y datos de una entidad existente. Si la entidad tiene alguna matriz asignada con trigger entity_updated, el motor de reglas puede ejecutarse tras la actualización (respetando watchFields opcionales en la matriz y skipRulesExecution). Siempre se registran auditoría y eventos en tiempo real.

Endpoint

Autenticación

Requiere una clave API válida en el encabezado Authorization:

Parámetros de Ruta

string
required
El ID gu1 de la entidad a actualizar

Cuerpo de la Solicitud

Todos los campos del esquema de creación están disponibles excepto type (el tipo de entidad no se puede cambiar). Todos los campos son opcionales - solo incluye los campos que deseas actualizar.
string
Actualizar el nombre visible de la entidad
El ID externo no se actualiza con este endpoint. Usa Cambiar ID externo (POST /entities/change-external-id) con un reason obligatorio (mín. 5 caracteres). Las rutas PATCH de actualización ignoran externalId en el cuerpo.
string
Actualizar número de identificación fiscal
string | null
Actualizar el correo de contacto en la raíz de la entidad. Omite el campo para no cambiar; envía null para borrarlo.
string | null
Actualizar el teléfono de contacto en la raíz de la entidad. Omite el campo para no cambiar; envía null para borrarlo.
string | null
Nacionalidad en raíz (ISO 3166-1 alfa-2 al persistir). Omite para no cambiar; null la borra. Si actualizas nationality en entityData persona/empresa, la raíz puede recalcularse cuando vaya en el mismo request.
string
Actualizar código de país ISO 3166-1 alpha-2
object
Actualizar atributos personalizados (se fusiona con las claves de primer nivel existentes).Los atributos se almacenan tal cual: la forma que enviás es la forma que recibís al leer.Sin categoría (plano): valores escalares o arrays en el primer nivel.
Categorizado (anidado): un objeto de primer nivel agrupa sus claves internas bajo esa categoría. La clave del objeto es la categoría — usá claves identificador-seguras (p. ej. contact, category_billing) para que funcionen en rutas de reglas.
Las reglas y webhooks leen la forma almacenada: claves planas como attributes.phone, anidadas como attributes.contact.phone.
string
Estado del ciclo de vida (active, inactive, blocked, under_review, suspended, pending_verification, expired, rejected, deleted).Obligatorio con reason: cualquier cambio de estado debe incluir reason para auditoría.
string
Motivo de la actualización (especialmente al cambiar el estado a blocked o rejected).Obligatorio cuando: se cambia el estado a blocked, rejected o suspended.
boolean
default:"false"
Con true, se desactivan las actualizaciones automáticas de status: las reglas de matrices de riesgo y acciones de automatización como set_entity_status no modifican el estado. Las actualizaciones manuales por este endpoint (o la UI) sí aplican.
  • Por defecto: false.
  • Enviar false explícitamente quita el bloqueo.
  • No desactiva el cálculo de riesgo ni otros efectos de reglas; solo escrituras de estado desde reglas/automatizaciones.
Obligatorio con reason: si cambia changeStatusManual (activar o desactivar), enviar reason en el mismo PATCH para auditoría.

Matrices de riesgo

Asignar o reemplazar las matrices de riesgo de la entidad. Misma semántica que Crear entidad (riskMatrixId / riskMatrixIds).
string | string[] | null
Legacy: un UUID, un array de UUIDs, o null para quitar todas las matrices asignadas. Si enviás riskMatrixIds no vacío, tiene precedencia sobre este campo.
string[]
Forma preferida para varias matrices: lista ordenada de UUIDs de tu organización. Enviá [] (o riskMatrixId: null) para desasignar todas. Cada UUID debe existir en la org; si no, la API responde 400 con código INVALID_RISK_MATRIX.
boolean
default:"false"
Con true, omite la evaluación automática de matrices en la actualización aunque haya matrices con trigger entity_updated.
Actualizar matrices solo persiste la asignación; la asignación sola no ejecuta reglas.Reglas en actualización: si la entidad tiene al menos una matriz asignada con trigger entity_updated y skipRulesExecution no es true, la API ejecuta el motor tras un cambio de campos. Las matrices pueden restringir con watchFields (solo si cambian paths listados, p. ej. email, attributes.clientTypes). El webhook entity.updated incluye rulesExecutionSummary cuando corrieron reglas o se omitieron con motivo.Los mismos campos aplican en Actualizar por ID externo y PATCH /entities/by-tax-id/{taxId}.
object
Actualizar datos específicos del tipo (se fusiona con entityData existente)

Respuesta

object
El objeto de entidad actualizado con todos los valores actuales
object
El estado de la entidad antes de la actualización (para auditoría/comparación)
El cuerpo HTTP no incluye rulesExecutionSummary. Cuando se ejecutan u omiten reglas, el resumen va en el webhook entity.updated.

Comportamiento

Cuando actualizas una entidad, el sistema:
  1. Registra el cambio en auditoría con valores antes/después
  2. Ejecuta matrices de riesgo cuando hay matrices asignadas con entity_updated, skipRulesExecution no es true, y los watchFields opcionales coinciden con los campos cambiados
  3. Emite evento en tiempo real a clientes conectados
  4. Dispara webhook entity.updated con changes y opcional rulesExecutionSummary
  5. Mantiene registro de auditoría para cumplimiento y propósitos de revisión

Ejemplos

Actualizar Ingresos de Persona

Actualizar Información de Empresa

Actualizar Solo Atributos Personalizados

Actualizar Estado de Transacción

Ejemplo de Respuesta

Respuestas de Error

404 No Encontrado

400 Solicitud Incorrecta - Datos Inválidos

401 No Autorizado

500 Error Interno del Servidor

Casos de Uso

Actualizar Después de Verificación KYC

Enriquecimiento Progresivo de Perfil

Resolución de Transacción

Mejores Prácticas

  1. Actualizaciones Parciales: Solo envía los campos que deseas cambiar - no es necesario enviar la entidad completa
  2. Monitorear Re-evaluaciones: Verifica el ID de evaluación devuelto para rastrear el recálculo de la puntuación de riesgo
  3. Registro de Auditoría: Usa previousEntity en la respuesta para mantener el historial de cambios
  4. Sincronización en Tiempo Real: Las actualizaciones emiten eventos WebSocket para sincronización de UI en tiempo real
  5. Idempotencia: Seguro para reintentar - actualizaciones con los mismos datos no crearán eventos duplicados

Próximos Pasos