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.
Overview
Retrieves a list of companys with optional filtering by country, tax ID, or external ID. Returns up to 100 companys per request.
Endpoint
GET http://api.gu1.ai/entities?type=company
Authentication
Requires a valid API key in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Query Parameters
Must be set to company to retrieve only companys
Filter by ISO 3166-1 alpha-2 country code (e.g., “US”, “BR”, “AR”)
Filter by exact tax identification number
Filter by your external identifier
Response
Array of company objects, each containing:
id - gu1’s internal ID
externalId - Your external ID
organizationId - Your organization ID
type - Always “company”
name - Company name
taxId - Tax ID
countryCode - Country code
riskScore - Risk score (0-100)
riskFactors - Array of risk factors
status - Company status
kycVerified - KYB verification status
kycProvider - KYB provider name
kycData - KYB verification data
entityData - Company-specific data
attributes - Custom attributes
createdAt - Creation timestamp
updatedAt - Last update timestamp
deletedAt - Deletion timestamp (null if active)
Examples
List All Companys
curl -X GET "http://api.gu1.ai/entities?type=company" \
-H "Authorization: Bearer YOUR_API_KEY"
Filter by Country
curl -X GET "http://api.gu1.ai/entities?type=company&country=BR" \
-H "Authorization: Bearer YOUR_API_KEY"
Find by External ID
curl -X GET "http://api.gu1.ai/entities?type=company&externalId=business_12345" \
-H "Authorization: Bearer YOUR_API_KEY"
Find by Tax ID
curl -X GET "http://api.gu1.ai/entities?type=company&taxId=20-12345678-9" \
-H "Authorization: Bearer YOUR_API_KEY"
Response Example
{
"entities": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"externalId": "business_12345",
"organizationId": "8e2f89ab-c216-4eb4-90eb-ca5d44499aaa",
"type": "company",
"name": "María González",
"taxId": "20-12345678-9",
"countryCode": "AR",
"riskScore": 25,
"riskFactors": [
{
"factor": "new_business",
"impact": 15,
"description": "Business registered within last 30 days"
}
],
"status": "active",
"kycVerified": true,
"kycProvider": "gueno_ai",
"kycData": {
"verificationDate": "2024-10-03T14:30:00Z",
"overallStatus": "approved"
},
"entityData": {
"company": {
"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
}
]
}
Use Cases
High Risk Business Monitoring
Query all companys and filter by risk score:
const response = await fetch('http://api.gu1.ai/entities?type=company', {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
const data = await response.json();
const highRiskBusinesss = data.entities.filter(e => e.riskScore > 70);
console.log(`Found ${highRiskBusinesss.length} high-risk businesss requiring review`);
highRiskBusinesss.forEach(company => {
console.log(`- ${company.name} (Risk: ${company.riskScore})`);
});
KYB Compliance Dashboard
Get all unverified businesss for compliance dashboard:
import requests
response = requests.get(
'http://api.gu1.ai/entities',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
params={'type': 'company'}
)
companys = response.json()['entities']
unverified = [p for p in companys if not p['kycVerified']]
print(f"Unverified businesss: {len(unverified)}")
for company in unverified:
print(f"- {company['name']} ({company['externalId']})")
Error Responses
401 Unauthorized
{
"error": "Invalid or missing API key"
}
500 Internal Server Error
{
"error": "Failed to search entities"
}
Limits
- Maximum results per request: 100 companys
- Query parameters: Can be combined for advanced filtering
- Rate limits: Apply based on your plan tier
Next Steps