Documentation Index
Fetch the complete documentation index at: https://docs.gu1.ai/llms.txt
Use this file to discover all available pages before exploring further.
Visão Geral
Recupera uma lista de pessoas com filtragem opcional por país, ID fiscal ou ID externo. Retorna até 100 pessoas por requisição.
Endpoint
GET http://api.gu1.ai/entities?type=person
Autenticação
Requer uma chave de API válida no cabeçalho de autorização:
Authorization: Bearer YOUR_API_KEY
Parâmetros de Consulta
Deve ser definido como person para recuperar apenas pessoas
Filtrar por código de país ISO 3166-1 alpha-2 (por exemplo, “US”, “BR”, “AR”)
Filtrar por número de identificação fiscal exato
Filtrar por seu identificador externo
Resposta
Array de objetos pessoa, cada um contendo:
id - ID interno do gu1
externalId - Seu ID externo
organizationId - ID da sua organização
type - Sempre “person”
name - Nome da pessoa
taxId - ID fiscal
countryCode - Código do país
riskScore - Pontuação de risco (0-100)
riskFactors - Array de fatores de risco
status - Status da pessoa
kycVerified - Status de verificação KYC
kycProvider - Nome do provedor KYC
kycData - Dados de verificação KYC
entityData - Dados específicos da pessoa
attributes - Atributos personalizados
createdAt - Timestamp de criação
updatedAt - Timestamp da última atualização
deletedAt - Timestamp de exclusão (null se ativo)
Exemplos
Listar Todas as Pessoas
curl -X GET "http://api.gu1.ai/entities?type=person" \
-H "Authorization: Bearer YOUR_API_KEY"
Filtrar por País
curl -X GET "http://api.gu1.ai/entities?type=person&country=BR" \
-H "Authorization: Bearer YOUR_API_KEY"
Buscar por ID Externo
curl -X GET "http://api.gu1.ai/entities?type=person&externalId=customer_12345" \
-H "Authorization: Bearer YOUR_API_KEY"
Buscar por ID Fiscal
curl -X GET "http://api.gu1.ai/entities?type=person&taxId=20-12345678-9" \
-H "Authorization: Bearer YOUR_API_KEY"
Exemplo de Resposta
{
"entities": [
{
"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,
"riskFactors": [
{
"factor": "new_customer",
"impact": 15,
"description": "Customer registered within last 30 days"
}
],
"status": "active",
"kycVerified": true,
"kycProvider": "gueno_ai",
"kycData": {
"verificationDate": "2024-10-03T14:30:00Z",
"overallStatus": "approved"
},
"entityData": {
"person": {
"firstName": "María",
"lastName": "González",
"dateOfBirth": "1985-03-15",
"nationality": "AR",
"occupation": "Software Engineer",
"income": 85000
}
},
"attributes": {
"email": "maria.gonzalez@example.com",
"phone": "+54 11 1234-5678"
},
"createdAt": "2024-10-03T14:30:00.000Z",
"updatedAt": "2024-10-03T14:35:00.000Z",
"deletedAt": null
}
]
}
Casos de Uso
Monitoramento de Clientes de Alto Risco
Consultar todas as pessoas e filtrar por pontuação de risco:
const response = await fetch('http://api.gu1.ai/entities?type=person', {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
const data = await response.json();
const highRiskCustomers = data.entities.filter(e => e.riskScore > 70);
console.log(`Found ${highRiskCustomers.length} high-risk customers requiring review`);
highRiskCustomers.forEach(person => {
console.log(`- ${person.name} (Risk: ${person.riskScore})`);
});
Obter todos os clientes não verificados para o painel de conformidade:
import requests
response = requests.get(
'http://api.gu1.ai/entities',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
params={'type': 'person'}
)
persons = response.json()['entities']
unverified = [p for p in persons if not p['kycVerified']]
print(f"Unverified customers: {len(unverified)}")
for person in unverified:
print(f"- {person['name']} ({person['externalId']})")
Respostas de Erro
401 Unauthorized
{
"error": "Invalid or missing API key"
}
500 Internal Server Error
{
"error": "Failed to search entities"
}
Limites
- Máximo de resultados por requisição: 100 pessoas
- Parâmetros de consulta: Podem ser combinados para filtragem avançada
- Limites de taxa: Aplicam-se com base no seu nível de plano
Próximos Passos