> ## Documentation Index
> Fetch the complete documentation index at: https://docs.killb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Subiendo Documentos

> Enviar documentos KYC/KYB para verificación de usuario

## Visión General

Para completar la verificación KYC/KYB, es posible que necesites subir documentos de soporte como imágenes de ID, comprobante de domicilio y documentación de origen de fondos.

<Info>
  Los documentos deben ser imágenes claras y no alteradas en formato JPG, PNG o PDF, máximo 10MB por archivo.
</Info>

## Tipos de Documento

### Documentos de Persona

<Tabs>
  <Tab title="Documentos de Identidad">
    **ID emitido por el gobierno con foto**

    * `PASSPORT` - Pasaporte
    * `DRIVER_LICENSE` - Licencia de conducir
    * `NUIP` - ID colombiano
    * `INE` - ID electoral mexicano
    * `RFC` - ID fiscal mexicano
    * `DNI` - ID nacional

    **Requisitos:**

    * Imagen frontal (siempre requerida)
    * Imagen trasera (si aplica)
    * Texto claro y legible
    * Todas las esquinas visibles
    * Sin reflejos o sombras
  </Tab>

  <Tab title="Comprobante de Domicilio">
    **Documento mostrando dirección actual**

    * `PROVE_OF_ADDRESS_UTILITY_BILL` - Factura de servicios
    * `PROVE_OF_ADDRESS_BANK_STATEMENT` - Estado bancario
    * `PROVE_OF_ADDRESS_LEASE_AGREEMENT` - Contrato de alquiler

    **Requisitos:**

    * Emitido en los últimos 3 meses
    * Muestra nombre completo
    * Muestra dirección completa
    * De proveedor/institución reconocido
  </Tab>
</Tabs>

## Subiendo Documentos de Persona

```bash theme={null}
POST /api/v2/users/person/document
Content-Type: multipart/form-data
```

```javascript theme={null}
const uploadDocument = async (userId, documentType, frontFile, backFile = null) => {
  const formData = new FormData();
  formData.append('userId', userId);
  formData.append('documentType', documentType);
  formData.append('frontDocument', frontFile);
  
  if (backFile) {
    formData.append('backDocument', backFile);
  }
  
  const response = await fetch(
    'https://sandbox.killb.app/api/v2/users/person/document',
    {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${accessToken}`
      },
      body: formData
    }
  );
  
  return await response.json();
};

// Uso
const frontImage = new File([blob], 'passport-front.jpg', { type: 'image/jpeg' });
await uploadDocument(userId, 'PASSPORT', frontImage);
```

## Directrices de Calidad

<AccordionGroup>
  <Accordion title="Requisitos de Imagen" icon="camera" defaultOpen>
    ✅ **Bueno:**

    * Imagen clara y enfocada
    * Todo el texto legible
    * Todas las esquinas visibles
    * Buena iluminación
    * Color original
    * Mínimo 300 DPI

    ❌ **Malo:**

    * Borroso o desenfocado
    * Reflejos o sombras
    * Esquinas cortadas
    * Copia en blanco y negro
    * Capturas de pantalla
    * Baja resolución
  </Accordion>
</AccordionGroup>

<Tip>
  Usar la URL de compliance es el camino de integración más fácil. Los usuarios completan KYC en el portal de KillB y recibes notificaciones vía webhook.
</Tip>

## Próximos Pasos

<CardGroup cols={2}>
  <Card title="Gestionar Usuarios" icon="users-gear" href="/es/guides/users/manage-users">
    Consultar y actualizar información de usuario
  </Card>
</CardGroup>
