Visão Geral
Cria uma nova entidade com o tipo e atributos especificados. Entidades representam os objetos de dados principais que você deseja analisar para risco e conformidade.
Endpoint
POST http://api.gu1.ai/entities
Autenticação
Requer uma chave de API válida no cabeçalho Authorization:
Authorization: Bearer YOUR_API_KEY
Corpo da Requisição
O tipo de entidade a ser criada. Tipos disponíveis:
person - Pessoa física/cliente
company - Entidade empresarial
transaction - Transação financeira
device - Identificador de dispositivo
payment_method - Instrumento de pagamento
location - Localização geográfica
document - Documento legal
account - Conta/carteira
card - Informações de cartão
alert - Alerta/sinalização
custom - Tipo de entidade personalizada
other - Outros tipos
Seu identificador único para esta entidade em seu sistema
Nome de exibição para a entidade
Código de país ISO 3166-1 alpha-2 (ex: “US”, “BR”, “AR”)
Número de identificação fiscal (validado com base no país)
Atributos personalizados como pares chave-valor
Estrutura de dados específica do tipo. Veja exemplos abaixo para cada tipo de entidade.
Estruturas de Dados de Entidade
Entidade Person
{
"person": {
"firstName": "string",
"lastName": "string",
"dateOfBirth": "YYYY-MM-DD",
"nationality": "string",
"occupation": "string",
"income": number
}
}
Entidade Company
{
"company": {
"legalName": "string",
"tradeName": "string",
"incorporationDate": "YYYY-MM-DD",
"industry": "string",
"employeeCount": number,
"revenue": number
}
}
Entidade Transaction
{
"transaction": {
"transactionId": "string",
"type": "string",
"status": "string",
"amount": number,
"currency": "string",
"paymentMethod": "string",
"originEntityId": "string",
"destinationEntityId": "string",
"transactedAt": "ISO8601 timestamp",
"riskScore": number,
"flagged": boolean,
"category": "string",
"description": "string"
}
}
Entidade Alert
{
"alert": {
"alertNumber": "string",
"alertType": "RISK | COMPLIANCE | FRAUD | REGULATORY | SYSTEM",
"severity": "INFO | WARNING | HIGH | CRITICAL",
"status": "NEW | ACKNOWLEDGED | INVESTIGATING | RESOLVED | FALSE_POSITIVE",
"sourceSystem": "string",
"triggerRuleId": "string",
"triggerCondition": "string",
"affectedEntityId": "string",
"relatedEntityIds": ["string"],
"alertedAt": "ISO8601 timestamp",
"acknowledgedAt": "ISO8601 timestamp",
"acknowledgedBy": "string",
"resolvedAt": "ISO8601 timestamp",
"resolvedBy": "string",
"resolutionNotes": "string",
"falsePositiveReason": "string"
}
}
Resposta
Indica se a entidade foi criada com sucesso
O objeto de entidade criado incluindo:
id - ID interno do gu1
externalId - Seu ID externo
organizationId - ID da sua organização
type - Tipo de entidade
name - Nome da entidade
riskScore - Pontuação de risco inicial (0-100)
status - Status da entidade
entityData - Dados específicos do tipo
attributes - Atributos personalizados
createdAt - Data/hora de criação
updatedAt - Data/hora da última atualização
Exemplos
Criar Entidade Person (KYC)
curl -X POST http://api.gu1.ai/entities \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "person",
"externalId": "customer_12345",
"name": "María González",
"countryCode": "AR",
"taxId": "20-12345678-9",
"entityData": {
"person": {
"firstName": "María",
"lastName": "González",
"dateOfBirth": "1985-03-15",
"nationality": "AR",
"occupation": "Software Engineer",
"income": 85000
}
},
"attributes": {
"email": "[email protected]",
"phone": "+54 11 1234-5678",
"customerSince": "2024-01-15"
}
}'
Criar Entidade Company (KYB)
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
}
},
"attributes": {
"website": "https://techsolutions.com.br",
"registeredAddress": "Av. Paulista, 1000, São Paulo",
"partnershipTier": "gold"
}
}'
Criar Entidade Transaction (Detecção de Fraude)
curl -X POST http://api.gu1.ai/entities \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "transaction",
"externalId": "txn_98765",
"name": "Wire Transfer - $50,000",
"countryCode": "US",
"entityData": {
"transaction": {
"transactionId": "txn_98765",
"type": "wire_transfer",
"status": "completed",
"amount": 50000,
"currency": "USD",
"paymentMethod": "bank_transfer",
"originEntityId": "customer_12345",
"destinationEntityId": "merchant_456",
"transactedAt": "2024-10-03T14:30:00Z",
"category": "business_payment",
"description": "Payment for professional services"
}
}
}'
Exemplo de Resposta
{
"success": true,
"entity": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"externalId": "customer_12345",
"organizationId": "8e2f89ab-c216-4eb4-90eb-ca5d44499aaa",
"type": "person",
"name": "María González",
"taxId": "20-12345678-9",
"countryCode": "AR",
"riskScore": 25,
"status": "active",
"entityData": {
"person": {
"firstName": "María",
"lastName": "González",
"dateOfBirth": "1985-03-15",
"nationality": "AR",
"occupation": "Software Engineer",
"income": 85000
}
},
"attributes": {
"email": "[email protected]",
"phone": "+54 11 1234-5678",
"customerSince": "2024-01-15"
},
"createdAt": "2024-10-03T14:30:00.000Z",
"updatedAt": "2024-10-03T14:30:00.000Z"
}
}
Respostas de Erro
400 Bad Request - ID Fiscal Inválido
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Formato de CUIT inválido. Por favor verifique o formato e tente novamente.",
"details": {
"field": "taxId",
"taxIdName": "CUIT",
"providedValue": "20-12345678-9"
}
},
"entity": null
}
400 Bad Request - Campos Obrigatórios Ausentes
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Faltam campos obrigatórios para criação da empresa",
"details": {
"missingFields": ["legalName", "industry"],
"requiredFields": ["legalName", "tradeName", "industry", "incorporationDate"],
"countryCode": "BR"
}
},
"entity": null
}
409 Conflict - Entidade Duplicada
{
"success": false,
"error": {
"code": "DUPLICATE_ENTITY",
"message": "Entidade com este external_id já existe",
"details": {
"field": "external_id",
"value": "customer_12345",
"constraint": "entities_organization_external_id_unique"
}
},
"entity": null
}
401 Unauthorized
{
"error": "Invalid or missing API key",
"code": "INVALID_KEY"
}
429 Too Many Requests
{
"error": "Rate limit exceeded",
"code": "RATE_LIMIT_EXCEEDED",
"message": "Você excedeu o limite de taxa da API. Por favor aguarde antes de fazer mais solicitações.",
"retryAfter": 3600,
"limit": 100,
"remaining": 0,
"resetAt": "2025-01-15T10:00:00Z"
}
500 Internal Server Error
{
"success": false,
"error": {
"code": "INTERNAL_ERROR",
"message": "Ocorreu um erro inesperado ao criar a entidade",
"details": {
"message": "Database connection timeout"
}
},
"entity": null
}
Próximos Passos
Após criar uma entidade, você pode:
- Solicitar Análise de IA - Obter avaliação automatizada de risco
- Listar Entidades - Consultar suas entidades
- Obter Detalhes da Entidade - Recuperar informações completas da entidade
- Aplicar Regras - Executar regras de conformidade e risco