Skip to main content
POST
http://api.gu1.ai
/
entities
Crear
curl --request POST \
  --url http://api.gu1.ai/entities \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "type": "<string>",
  "externalId": "<string>",
  "name": "<string>",
  "countryCode": "<string>",
  "taxId": "<string>",
  "attributes": {},
  "entityData": {},
  "registrationDate": "<string>",
  "isClient": true,
  "riskMatrixId": "<string>",
  "skipRulesExecution": true,
  "status": "<string>",
  "autoExecuteIntegrations": {}
}
'
{
  "success": true,
  "entity": {}
}

Descripción general

Crea una nueva entidad de empresa con los atributos especificados. Las entidades de empresa representan organizaciones comerciales que deseas analizar en términos de riesgo y cumplimiento (KYB).

Endpoint

POST http://api.gu1.ai/entities

Autenticación

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

Cuerpo de la solicitud

type
string
required
Debe ser company para crear una entidad de empresa
externalId
string
required
Tu identificador único para esta empresa en tu sistema
name
string
required
Nombre para mostrar de la empresa
countryCode
string
required
Código de país ISO 3166-1 alpha-2 (ej., “US”, “BR”, “AR”)
taxId
string
Número de identificación fiscal (validado según el país)
📋 Ver Formatos de Tax ID por País para formatos aceptados y reglas de validación para cada país.
attributes
object
Atributos personalizados como pares clave-valor
entityData
object
required
Estructura de datos específica de la empresa (ver abajo)
registrationDate
string
Fecha de registro de la empresa en formato ISO 8601 datetime (ej., “2024-01-15T10:30:00Z”)
isClient
boolean
default:"false"
Marcar esta empresa como cliente para fines de seguimiento
riskMatrixId
string
UUID de la matriz de riesgo para ejecutar reglas automáticamente. Ver sección Ejecución de Matriz de Riesgo abajo para más detalles.
skipRulesExecution
boolean
default:"false"
Omitir la ejecución automática de reglas después de la creación de la empresa. Use esto para crear la entidad primero y activar las reglas manualmente más tarde.
status
string
default:"under_review"
Estado inicial de la empresa. Opciones:
  • active - Empresa activa
  • inactive - Empresa inactiva
  • blocked - Empresa bloqueada
  • under_review - Empresa bajo revisión (predeterminado)
  • suspended - Empresa suspendida
  • pending_verification - Pendiente de verificación
  • expired - Registro de empresa expirado
  • deleted - Eliminación lógica
  • rejected - Empresa rechazada
autoExecuteIntegrations
object
Configurar la ejecución automática de integraciones (enriquecimientos y verificaciones) al crear la empresa.Estructura:
{
  "executeAllActiveEnrichments": false,
  "executeAllActiveChecks": false,
  "enrichments": ["NOSIS", "REPET"],
  "checks": ["COMPLY_ADVANTAGE", "WORLDCHECK"]
}
Propiedades:
  • executeAllActiveEnrichments (boolean) - Ejecutar todas las integraciones de enriquecimiento activas configuradas en su organización
  • executeAllActiveChecks (boolean) - Ejecutar todas las integraciones de verificación activas configuradas en su organización
  • enrichments (string[]) - Array de códigos específicos de proveedores de enriquecimiento a ejecutar
  • checks (string[]) - Array de códigos específicos de proveedores de verificación a ejecutar
Códigos de Proveedores Comunes:
  • NOSIS - NOSIS Argentina (enriquecimiento de datos de empresas)
  • REPET - REPET Argentina (verificación de listas de vigilancia)
  • COMPLY_ADVANTAGE - ComplyAdvantage (verificación de sanciones y PEP)
  • WORLDCHECK - Refinitiv World-Check (verificación de cumplimiento)
Ver Referencia de Códigos de Proveedores para lista completa.

Estructura de datos de la entidad empresa

El objeto entityData.company debe contener:
{
  "company": {
    "legalName": "string",
    "tradeName": "string",
    "incorporationDate": "YYYY-MM-DD",
    "companySubtype": "merchant | investment_fund | holding | bank | payment_processor | other",
    "industry": "string",
    "websiteUrl": "string",
    "employeeCount": number,
    "revenue": number,
    "revenueCurrency": "string",
    "contactInfo": {
      "email": "string",
      "phone": "string",
      "alternativePhone": "string"
    },
    "address": "string | object (ver nota de Formato de dirección)",
    "city": "string",
    "state": "string",
    "country": "string",
    "postalCode": "string"
  }
}
Formato de dirección: El campo address admite ambos formatos:
  • Formato de cadena (simple): "Av. Paulista, 1000, São Paulo, SP, Brazil"
  • Formato de objeto (estructurado):
    {
      "street": "Av. Paulista",
      "number": "1000",
      "complement": "Suite 200",
      "neighborhood": "Bela Vista",
      "city": "São Paulo",
      "state": "SP",
      "country": "Brazil",
      "postalCode": "01310-100"
    }
    

Ejecución de Matriz de Riesgo

Puede ejecutar automáticamente una matriz de riesgo (reglas de cumplimiento KYB) al crear una empresa proporcionando el parámetro riskMatrixId.

Cómo funciona

  1. Obtenga su ID de Matriz de Riesgo desde el panel de gu1 (formato: UUID)
  2. Incluya riskMatrixId en su solicitud de creación
  3. El sistema automáticamente:
    • Crea la entidad empresa
    • Ejecuta todas las reglas KYB en la matriz
    • Calcula el puntaje de riesgo
    • Genera alertas de cumplimiento si es necesario
    • Actualiza el estado de la empresa según los resultados

Ejemplo con Matriz de Riesgo

{
  "type": "company",
  "name": "Tech Solutions S.A.",
  "taxId": "30-12345678-9",
  "countryCode": "AR",
  "riskMatrixId": "550e8400-e29b-41d4-a716-446655440000",
  "entityData": {
    "company": {
      "legalName": "Tech Solutions S.A.",
      "industry": "fintech",
      "revenue": 5000000
    }
  }
}

Combinado con Enriquecimientos

Para mejores resultados, combine la ejecución de matriz con enriquecimientos automáticos:
{
  "type": "company",
  "name": "Tech Solutions S.A.",
  "taxId": "30-12345678-9",
  "countryCode": "AR",
  "riskMatrixId": "550e8400-e29b-41d4-a716-446655440000",
  "autoExecuteIntegrations": {
    "enrichments": ["NOSIS", "REPET"],
    "checks": ["COMPLY_ADVANTAGE"]
  },
  "entityData": {
    "company": {
      "legalName": "Tech Solutions S.A.",
      "industry": "fintech"
    }
  }
}
Flujo de Ejecución:
  1. Se crea la entidad empresa
  2. El enriquecimiento NOSIS obtiene datos oficiales de la empresa
  3. REPET verifica listas de vigilancia
  4. ComplyAdvantage verifica sanciones
  5. Las reglas de la matriz de riesgo evalúan todos los datos recopilados
  6. Se calcula el puntaje de riesgo final
  7. Se generan alertas de cumplimiento si las reglas se activan

Respuesta

success
boolean
Indica si la empresa se creó exitosamente
entity
object
El objeto de empresa creado incluyendo:
  • id - ID interno de gu1
  • externalId - Tu ID externo
  • organizationId - ID de tu organización
  • type - Siempre “company”
  • name - Nombre de la empresa
  • riskScore - Puntuación de riesgo inicial (0-100)
  • status - Estado de la empresa
  • entityData - Datos específicos de la empresa
  • attributes - Atributos personalizados
  • createdAt - Marca de tiempo de creación
  • updatedAt - Marca de tiempo de última actualización

Ejemplo de solicitud

curl -X POST http://api.gu1.ai/entities \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "company",
    "externalId": "company_789",
    "name": "Tech Solutions S.A.",
    "countryCode": "BR",
    "taxId": "12.345.678/0001-90",
    "entityData": {
      "company": {
        "legalName": "Tech Solutions Sociedade Anônima",
        "tradeName": "Tech Solutions",
        "incorporationDate": "2020-06-15",
        "industry": "Software Development",
        "employeeCount": 50,
        "revenue": 5000000,
        "revenueCurrency": "BRL",
        "contactInfo": {
          "email": "contact@techsolutions.com.br",
          "phone": "+55 11 3456-7890"
        },
        "address": "Av. Paulista, 1000",
        "city": "São Paulo",
        "state": "SP",
        "country": "Brazil",
        "postalCode": "01310-100"
      }
    },
    "attributes": {
      "website": "https://techsolutions.com.br",
      "partnershipTier": "gold"
    }
  }'

Ejemplo de respuesta

{
  "success": true,
  "entity": {
    "id": "660e9511-f39c-52e5-b827-557766551111",
    "externalId": "company_789",
    "organizationId": "8e2f89ab-c216-4eb4-90eb-ca5d44499aaa",
    "type": "company",
    "name": "Tech Solutions S.A.",
    "taxId": "12.345.678/0001-90",
    "countryCode": "BR",
    "riskScore": 35,
    "status": "active",
    "entityData": {
      "company": {
        "legalName": "Tech Solutions Sociedade Anônima",
        "tradeName": "Tech Solutions",
        "incorporationDate": "2020-06-15",
        "industry": "Software Development",
        "employeeCount": 50,
        "revenue": 5000000,
        "revenueCurrency": "BRL"
      }
    },
    "attributes": {
      "website": "https://techsolutions.com.br",
      "partnershipTier": "gold"
    },
    "createdAt": "2024-10-03T15:00:00.000Z",
    "updatedAt": "2024-10-03T15:00:00.000Z"
  }
}

Respuestas de error

400 Bad Request - Tax ID inválido

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid CNPJ format. Please check the format and try again.",
    "details": {
      "field": "taxId",
      "taxIdName": "CNPJ",
      "providedValue": "12.345.678/0001-90"
    }
  },
  "entity": null
}

400 Bad Request - Campos requeridos faltantes

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Missing required fields for company creation",
    "details": {
      "missingFields": ["legalName", "industry"],
      "requiredFields": ["legalName", "tradeName", "industry", "incorporationDate"],
      "countryCode": "BR"
    }
  },
  "entity": null
}

409 Conflict - Entidad duplicada

{
  "success": false,
  "error": {
    "code": "DUPLICATE_ENTITY",
    "message": "Entity with this external_id already exists",
    "details": {
      "field": "external_id",
      "value": "company_789",
      "constraint": "entities_organization_external_id_unique"
    }
  },
  "entity": null
}

401 Unauthorized

{
  "error": "Invalid or missing API key",
  "code": "INVALID_KEY"
}

Próximos pasos

Después de crear una empresa, puedes:
  1. Obtener detalles de empresa - Recuperar información completa de la empresa
  2. Listar empresas - Consultar tus empresas
  3. Actualizar empresa - Modificar datos de la empresa
  4. Crear validación KYB - Iniciar proceso de verificación KYB