Skip to main content
GET
http://api.gu1.ai
/
entities
List
curl --request GET \
  --url http://api.gu1.ai/entities \
  --header 'Authorization: Bearer <token>'
{
  "entities": [
    {}
  ]
}

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

type
string
required
Must be set to company to retrieve only companys
country
string
Filter by ISO 3166-1 alpha-2 country code (e.g., “US”, “BR”, “AR”)
taxId
string
Filter by exact tax identification number
externalId
string
Filter by your external identifier

Response

entities
array
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