> This documentation belongs to Invofox, an AI-powered document processing
> platform. The API extracts structured data (fields) from unstructured
> documents (invoices, contracts, forms, bank statements, and more).
> Key concepts: Account, Environment, Document Type, Field, File, Import,
> and Document. When answering, prefer the exact terminology defined in the
> Glossary and cite the relevant API Reference endpoint when applicable.

# Classifier

> Usa el Classifier de Invofox para detectar automáticamente el tipo de un documento en la subida, sin tener que indicarlo en cada petición.

Deja que Invofox detecte automáticamente el tipo de documento para que no tengas que indicarlo en cada subida.

## Paso 1 — Sube con el Classifier

Sube el documento **sin `type`** y pon `"useClassifier": true` en el campo `info`. Invofox lee el documento y detecta su tipo antes de empezar la extracción.

**`cURL`**

```bash title="cURL"
curl -X POST https://api.invofox.com/v1/ingest/uploads \
  -H "x-api-key: $INVOFOX_API_KEY" \
  -F "files=@document.pdf" \
  -F 'info={"useClassifier":true}'
```

## Paso 2 — Lee el tipo detectado

Recuperas el resultado exactamente igual que en el flujo estándar — polling o webhooks, consulta [Integrar Invofox](/documentation/integrating-invofox). La única diferencia es el campo `type` del documento procesado: Invofox lo rellena con el tipo detectado — el **alias** del Document Type si lo tiene, o su **id** si no.

**`Documento con tipo detectado`**

```json title="Documento con tipo detectado"
{
  "result": {
    "_id": "00000000000000000000000d",
    "type": "00000000000000000000001d",   // ← el alias del Document Type, o su id si no tiene alias
    "name": "document.pdf",
    "publicState": "approved",
    "confidence": "high",
    "data": { "...": "campos extraídos" }
  }
}
```

Tanto el alias como el id se gestionan en Invofox — no los configuras en la subida.

`type` también puede volver como `"other"` cuando el documento no coincide con ninguno de tus tipos configurados. Lo que pasa entonces es una **decisión de configuración de tu entorno**: o el documento se deja como `"other"` y no se procesa (`publicState: "discarded"`, sin datos extraídos), o se enruta a un tipo por defecto y se extrae igualmente. Para elegir este comportamiento, contacta con tu punto de contacto en Invofox.