> ## 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.

# Requisitos por País

> Obtenga los requisitos de validación para diferentes países — en el modelo universal de entidades gu1 para KYC, KYB y análisis de riesgo.

## Descripción General

Los endpoints de requisitos por país ayudan a los desarrolladores a comprender qué campos son obligatorios para la creación de entidades en diferentes países. Cada país tiene reglas de validación específicas, formatos de identificación fiscal y campos requeridos.

Esto elimina el método de prueba y error al crear entidades y proporciona una guía clara sobre qué datos son necesarios.

Para **empresas**, los campos de domicilio fiscal (p. ej. `domicilioFiscal`, `direccion`, `address`) son **opcionales** al crear. Podés crear con identificación fiscal y razón social, y completar la dirección después mediante edición manual o enrichments del país (p. ej. ARCA en Argentina).

## Países Soportados

gu1 actualmente soporta **16 países** con validación integral:

<CardGroup cols={3}>
  <Card title="🇦🇷 Argentina" icon="flag">
    Validación de CUIT
  </Card>

  <Card title="🇧🇷 Brasil" icon="flag">
    Validación de CNPJ
  </Card>

  <Card title="🇲🇽 México" icon="flag">
    Validación de RFC
  </Card>

  <Card title="🇨🇱 Chile" icon="flag">
    Validación de RUT
  </Card>

  <Card title="🇨🇴 Colombia" icon="flag">
    Validación de NIT
  </Card>

  <Card title="🇵🇪 Perú" icon="flag">
    Validación de RUC
  </Card>

  <Card title="🇺🇾 Uruguay" icon="flag">
    Validación de RUT
  </Card>

  <Card title="🇪🇨 Ecuador" icon="flag">
    Validación de RUC
  </Card>

  <Card title="🇵🇾 Paraguay" icon="flag">
    Validación de RUC
  </Card>

  <Card title="🇧🇴 Bolivia" icon="flag">
    Validación de NIT
  </Card>

  <Card title="🇻🇪 Venezuela" icon="flag">
    Validación de RIF
  </Card>

  <Card title="🇺🇸 Estados Unidos" icon="flag">
    Validación de EIN
  </Card>

  <Card title="🇨🇦 Canadá" icon="flag">
    Validación de BN
  </Card>

  <Card title="🇪🇸 España" icon="flag">
    Validación de CIF
  </Card>

  <Card title="🇵🇹 Portugal" icon="flag">
    Validación de NIPC
  </Card>

  <Card title="🇪🇪 Estonia" icon="flag">
    Validación de Registrikood
  </Card>
</CardGroup>

***

## Obtener Todos los Países

```
GET http://api.gu1.ai/entities/country-requirements
```

Recupere una lista de todos los países soportados.

### Ejemplo de Respuesta

```json theme={null}
{
  "success": true,
  "countries": [
    { "code": "AR", "name": "Argentina" },
    { "code": "BR", "name": "Brazil" },
    { "code": "MX", "name": "Mexico" },
    { "code": "US", "name": "United States" },
    ...
  ],
  "total": 16
}
```

***

## Obtener Requisitos Específicos por País

```
GET http://api.gu1.ai/entities/country-requirements/:countryCode
```

Obtenga requisitos de validación detallados para un país específico.

### Parámetros de Ruta

<ParamField path="countryCode" type="string" required>
  Código de país ISO 3166-1 alpha-2 (por ejemplo, "AR", "BR", "US")
</ParamField>

### Campos de Respuesta

<ResponseField name="success" type="boolean">
  Indica si la solicitud fue exitosa
</ResponseField>

<ResponseField name="country" type="object">
  Detalles de validación del país

  <Expandable title="propiedades de country">
    <ResponseField name="code" type="string">
      Código ISO del país
    </ResponseField>

    <ResponseField name="name" type="string">
      Nombre del país
    </ResponseField>

    <ResponseField name="taxIdName" type="string">
      Nombre local para la identificación fiscal (por ejemplo, "CUIT", "CNPJ", "RFC")
    </ResponseField>

    <ResponseField name="taxIdFormat" type="string">
      Patrón de expresión regular para la validación de identificación fiscal
    </ResponseField>

    <ResponseField name="requiredFields" type="array">
      Lista de nombres de campos de atributos requeridos
    </ResponseField>

    <ResponseField name="optionalFields" type="array">
      Lista de nombres de campos de atributos opcionales. Para empresas, incluye campos de domicilio fiscal que pueden completarse después.
    </ResponseField>

    <ResponseField name="registries" type="array">
      Lista de registros oficiales para este país
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="documentation" type="object">
  Ejemplo de carga útil de solicitud

  <Expandable title="propiedades de documentation">
    <ResponseField name="example" type="object">
      Ejemplo completo de cómo crear una entidad para este país
    </ResponseField>
  </Expandable>
</ResponseField>

***

## Ejemplos

### Obtener Requisitos de Argentina

<CodeGroup>
  ```bash cURL theme={null}
  curl http://api.gu1.ai/entities/country-requirements/AR \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('http://api.gu1.ai/entities/country-requirements/AR', {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY'
    }
  });

  const data = await response.json();
  console.log(data.country);
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'http://api.gu1.ai/entities/country-requirements/AR',
      headers={'Authorization': 'Bearer YOUR_API_KEY'}
  )

  requirements = response.json()
  print(requirements['country'])
  ```
</CodeGroup>

### Ejemplo de Respuesta

```json theme={null}
{
  "success": true,
  "country": {
    "code": "AR",
    "name": "Argentina",
    "taxIdName": "CUIT",
    "taxIdFormat": "^\\d{2}-\\d{8}-\\d{1}$",
    "requiredFields": [
      "cuit",
      "razonSocial"
    ],
    "optionalFields": [
      "domicilioFiscal",
      "iibb",
      "actividadPrincipal",
      "fechaInicioActividades"
    ],
    "registries": [
      "AFIP",
      "IGJ",
      "RPC"
    ]
  },
  "documentation": {
    "example": {
      "type": "company",
      "externalId": "company_123",
      "name": "Example Company",
      "countryCode": "AR",
      "taxId": "Example CUIT",
      "attributes": {
        "cuit": "Example cuit",
        "razonSocial": "Example razonSocial",
        "domicilioFiscal": "Example domicilioFiscal"
      }
    }
  }
}
```

***

## Ejemplos Específicos por País

### 🇦🇷 Argentina (CUIT)

```json theme={null}
{
  "type": "company",
  "externalId": "company_ar_001",
  "name": "Tech Solutions Argentina",
  "countryCode": "AR",
  "taxId": "30-71234567-8",
  "attributes": {
    "cuit": "30-71234567-8",
    "razonSocial": "Tech Solutions S.A.",
    "domicilioFiscal": "Av. Corrientes 1234, CABA",
    "iibb": "901-123456-7",
    "actividadPrincipal": "Desarrollo de Software"
  }
}
```

Creación mínima de empresa (domicilio opcional):

```json theme={null}
{
  "type": "company",
  "externalId": "company_ar_minimal",
  "name": "Tech Solutions Argentina",
  "countryCode": "AR",
  "taxId": "30-71234567-8",
  "attributes": {
    "cuit": "30-71234567-8",
    "razonSocial": "Tech Solutions S.A."
  }
}
```

### 🇧🇷 Brasil (CNPJ)

```json theme={null}
{
  "type": "company",
  "externalId": "company_br_001",
  "name": "Tech Solutions Brasil",
  "countryCode": "BR",
  "taxId": "12.345.678/0001-90",
  "attributes": {
    "cnpj": "12.345.678/0001-90",
    "razaoSocial": "Tech Solutions Ltda",
    "enderecoFiscal": "Av. Paulista, 1000 - São Paulo, SP",
    "inscricaoEstadual": "123.456.789.012",
    "cnae": "6201-5/00"
  }
}
```

### 🇲🇽 México (RFC)

```json theme={null}
{
  "type": "company",
  "externalId": "company_mx_001",
  "name": "Tech Solutions México",
  "countryCode": "MX",
  "taxId": "TSM980101ABC",
  "attributes": {
    "rfc": "TSM980101ABC",
    "razonSocial": "Tech Solutions S.A. de C.V.",
    "domicilioFiscal": "Av. Reforma 123, Ciudad de México",
    "regimenFiscal": "601"
  }
}
```

### 🇺🇸 Estados Unidos (EIN)

```json theme={null}
{
  "type": "company",
  "externalId": "company_us_001",
  "name": "Tech Solutions Inc",
  "countryCode": "US",
  "taxId": "12-3456789",
  "attributes": {
    "ein": "12-3456789",
    "legalName": "Tech Solutions Inc.",
    "address": "123 Main St, San Francisco, CA 94102",
    "stateOfIncorporation": "Delaware",
    "naicsCode": "541511"
  }
}
```

### 🇪🇸 España (CIF)

```json theme={null}
{
  "type": "company",
  "externalId": "company_es_001",
  "name": "Tech Solutions España",
  "countryCode": "ES",
  "taxId": "A12345678",
  "attributes": {
    "cif": "A12345678",
    "razonSocial": "Tech Solutions S.L.",
    "direccionFiscal": "Calle Gran Vía 1, Madrid",
    "cnae": "6201"
  }
}
```

***

## Respuestas de Error

### 404 - País No Soportado

```json theme={null}
{
  "success": false,
  "error": {
    "code": "COUNTRY_NOT_SUPPORTED",
    "message": "Country code 'XX' is not supported",
    "details": {
      "countryCode": "XX",
      "supportedCountries": ["AR", "BR", "MX", ...]
    }
  }
}
```

***

## Mejores Prácticas

<AccordionGroup>
  <Accordion icon="lightbulb" title="Consultar Antes de Crear">
    Siempre consulte los requisitos del país antes de crear entidades para asegurarse de recopilar todos los datos necesarios de sus usuarios de antemano.
  </Accordion>

  <Accordion icon="database" title="Almacenar en Caché los Requisitos">
    Los requisitos por país rara vez cambian. Considere almacenarlos en caché en su aplicación para reducir las llamadas a la API.
  </Accordion>

  <Accordion icon="shield-check" title="Validar del Lado del Cliente">
    Use el patrón regex de `taxIdFormat` para validar identificaciones fiscales en el lado del cliente antes de enviarlas a la API.
  </Accordion>

  <Accordion icon="language" title="Localizar Nombres de Campos">
    Muestre los nombres de campos en el idioma del usuario. La API devuelve nombres de campos locales (por ejemplo, "razonSocial" para Argentina en lugar de "legalName").
  </Accordion>
</AccordionGroup>

***

## Próximos Pasos

<CardGroup cols={2}>
  <Card title="Crear Entidad" icon="plus" href="/api-reference/entities/create">
    Use los requisitos para crear una entidad correctamente validada
  </Card>

  <Card title="Validar Identificaciones Fiscales" icon="check" href="/en/api-reference/entities/country-requirements">
    Valide las identificaciones fiscales antes de crear la entidad
  </Card>
</CardGroup>
