Skip to main content
PATCH
/
entities
/
{id}
/
attributes
Actualizar atributos de entidad
curl --request PATCH \
  --url http://api.gu1.ai/entities/{id}/attributes \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "attributes": {},
  "mode": "<string>",
  "skipRulesExecution": true
}
'

Resumen

Actualiza solo attributes sin modificar el resto del perfil. Dos modos:
ModoComportamiento
merge (default)Merge superficial: las claves enviadas pisan o crean valores; las no enviadas se conservan
replaceReemplazo total: el objeto attributes del body es el mapa completo ({} borra todo)
Los atributos se almacenan tal cual — los objetos anidados actúan como categorías y se devuelven como se enviaron, igual que Actualizar entidad:
{
  "mode": "merge",
  "attributes": {
    "contact": { "phone": "+54..." },
    "otro_grupo": { "branchCode": "AR-01" }
  }
}
El merge es superficial en el primer nivel: enviar un objeto de categoría (p. ej. contact) reemplaza toda esa categoría. Las claves internas no incluidas se pierden. Usá replace para reescribir todo.
Si la matriz asignada incluye trigger entity_updated, corren reglas tras el patch (respeta skipRulesExecution y watchFields). Se emite webhook entity.updated con changes.attributes.

Endpoint

PATCH http://api.gu1.ai/entities/{id}/attributes

Autenticación

Requiere entities:edit (fallback legacy: entities:write).
Authorization: Bearer YOUR_API_KEY

Parámetros de ruta

id
string
required
UUID de la entidad.

Body

attributes
object
required
Mapa de atributos. Se almacena tal cual: valores escalares/array en la raíz quedan sin categoría; los objetos anidados actúan como categorías.
mode
string
default:"merge"
merge — patch aditivo (default). replace — reemplazo completo.
skipRulesExecution
boolean
Con true, omite ejecución de matrices de riesgo tras la actualización.

Respuesta

CampoTipoDescripción
data.entityIdstringUUID de la entidad
data.modestringmerge o replace aplicado
data.attributesobjectAtributos finales
data.updatedAtstringTimestamp ISO 8601
data.rulesExecutionSummaryobjectResumen de ejecución de reglas

Ejemplos

Merge (default)

curl -X PATCH "https://api.gu1.ai/entities/{id}/attributes" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "attributes": {
      "contact": { "phone": "+54115550000" }
    }
  }'
Las claves existentes que no envíes no cambian.

Reemplazo total

curl -X PATCH "https://api.gu1.ai/entities/{id}/attributes" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "replace",
    "attributes": {
      "commercial": { "mcc": "5411" }
    }
  }'
Las claves que no estén en attributes se eliminan.

Errores

HTTPCódigoCuándo
404ENTITY_NOT_FOUNDEntidad inexistente u otra org
400validationBody inválido