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

# Verificación de identidad

> Verifica la identidad comparando un documento de identidad con una imagen o video de selfie

El modelo ID-Selfie verifica la identidad de una persona comparando su documento de identidad con una imagen o video de selfie. Realiza comparación facial y comprobaciones anti-spoofing.

## Cómo funciona

1. Sube un **documento de identidad** (pasaporte, licencia de conducir, etc.)
2. Sube una **imagen o video de selfie** de la persona
3. La API compara los rostros y ejecuta comprobaciones anti-spoofing
4. Recibes un booleano `verified` y comprobaciones técnicas detalladas

## Verificación de identidad

Envía ambos archivos mediante `POST /v1/verification`:

```bash theme={null}
curl -X POST https://api.deepxl.ai/v1/verification \
  -H "x-api-key: YOUR_API_KEY" \
  -F "idFile=@passport.jpg" \
  -F "selfieFile=@selfie.jpg" \
  -F 'tags={"customerId":"9999","customerName":"Acme Corp","documentId":"DOC-001","companyName":"DeepXL","companyId":"COMP-001"}'
```

### Parámetros

| Parámetro    | Tipo   | Obligatorio | Descripción                                                                                                                           |
| ------------ | ------ | ----------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `idFile`     | file   | Sí          | Imagen del documento de identidad (pasaporte, licencia de conducir, etc.)                                                             |
| `selfieFile` | file   | Sí          | Imagen o video tipo selfie de la persona                                                                                              |
| `tags`       | string | No          | Objeto JSON con pares clave-valor de metadatos                                                                                        |
| `country`    | string | No          | Sugerencia opcional de país. Valores admitidos: `us`, `mx`, `br`. Los valores faltantes, vacíos o no válidos usarán por defecto `us`. |

### Tipos de archivo compatibles

**Documento de identidad:** jpg, jpeg, png, webp

**Selfie:** jpg, jpeg, png, webp, mp4 (video)

## Estructura de la respuesta

```json theme={null}
{
  "result": {
    "verificationId": 5,
    "idFileType": "jpeg",
    "idFileName": "passport.jpg",
    "idFileSize": 174112,
    "selfieFileType": "jpeg",
    "selfieFileName": "selfie.jpg",
    "selfieFileSize": 250118,
    "timestamp": 1770984835,
    "timestampISO": "2026-02-13T13:13:55.213189",
    "model": "verification",
    "modelVersion": "1.0.0",
    "verified": true,
    "modelResults": {
      "technicalChecks": [
        {
          "checkType": "face_detection",
          "faceCount": { "id": 2, "selfie": 1 },
          "idFaces": [
            {
              "faceId": "face_1",
              "detectionConfidence": 0.9992,
              "landmarks": {
                "nose": { "x": 257.7, "y": 946.13 },
                "left_eye": { "x": 287.49, "y": 911.67 },
                "right_eye": { "x": 227.69, "y": 911.25 },
                "mouth_left": { "x": 283.88, "y": 971.12 },
                "mouth_right": { "x": 232.78, "y": 971.0 }
              },
              "boundingBox": { "x1": 195, "x2": 318, "y1": 838, "y2": 1013 }
            },
            {
              "faceId": "face_2",
              "detectionConfidence": 0.9865,
              "landmarks": {
                "nose": { "x": 696.46, "y": 885.83 },
                "left_eye": { "x": 701.44, "y": 879.83 },
                "right_eye": { "x": 690.77, "y": 880.29 },
                "mouth_left": { "x": 701.06, "y": 891.11 },
                "mouth_right": { "x": 692.61, "y": 891.52 }
              },
              "boundingBox": { "x1": 684, "x2": 707, "y1": 866, "y2": 898 }
            }
          ],
          "selfieFaces": [
            {
              "faceId": "face_1",
              "detectionConfidence": 0.9985,
              "landmarks": {
                "nose": { "x": 724.91, "y": 807.64 },
                "left_eye": { "x": 803.63, "y": 708.27 },
                "right_eye": { "x": 649.76, "y": 710.14 },
                "mouth_left": { "x": 793.35, "y": 871.12 },
                "mouth_right": { "x": 659.28, "y": 871.8 }
              },
              "boundingBox": { "x1": 569, "x2": 884, "y1": 523, "y2": 986 }
            }
          ]
        }
      ]
    },
    "tags": [
      { "name": "customerId", "value": "9999" },
      { "name": "customerName", "value": "Acme Corp" },
      { "name": "documentId", "value": "DOC-001" },
      { "name": "companyName", "value": "DeepXL" },
      { "name": "companyId", "value": "COMP-001" }
    ],
    "files": [
      {
        "category": "id",
        "fileName": "passport.jpg",
        "fileSize": 174112,
        "contentType": "image/jpeg",
        "timestamp": 1770984835,
        "timestampISO": "2026-02-13T13:13:55.213189",
        "url": "https://api.deepxl.ai/v1/files/v_id_5_passport.jpg"
      },
      {
        "category": "face",
        "fileName": "selfie.jpg",
        "fileSize": 250118,
        "contentType": "image/jpeg",
        "timestamp": 1770984835,
        "timestampISO": "2026-02-13T13:13:55.213189",
        "url": "https://api.deepxl.ai/v1/files/v_face_5_selfie.jpg"
      }
    ]
  }
}
```

### Referencia de campos

| Campo            | Tipo    | Descripción                                            |
| ---------------- | ------- | ------------------------------------------------------ |
| `verificationId` | integer | Identificador único del registro de verificación       |
| `idFileType`     | string  | Extensión del archivo del documento de identidad       |
| `idFileName`     | string  | Nombre original del archivo del documento de identidad |
| `idFileSize`     | integer | Tamaño del archivo del documento de identidad en bytes |
| `selfieFileType` | string  | Extensión del archivo del selfie                       |
| `selfieFileName` | string  | Nombre original del archivo del selfie                 |
| `selfieFileSize` | integer | Tamaño del archivo del selfie en bytes                 |
| `timestamp`      | integer | Marca de tiempo Unix del análisis                      |
| `timestampISO`   | string  | Marca de tiempo ISO 8601 del análisis                  |
| `model`          | string  | Modelo utilizado (`verification`)                      |
| `modelVersion`   | string  | Versión del modelo utilizada para el análisis          |
| `verified`       | boolean | Si la identidad fue confirmada                         |

### Verificado

El campo `verified` es un booleano que indica si la identidad fue confirmada: el rostro en el selfie coincide con el rostro en el documento de identidad y las comprobaciones anti-spoofing se aprobaron.

### Comprobaciones técnicas

El arreglo `modelResults.technicalChecks` contiene resultados de detección facial tanto para el documento de identidad como para el selfie.

**Detección facial** (`checkType: "face_detection"`):

| Campo         | Tipo   | Descripción                                                           |
| ------------- | ------ | --------------------------------------------------------------------- |
| `faceCount`   | object | Número de rostros detectados: recuento de `id` y recuento de `selfie` |
| `idFaces`     | array  | Rostros detectados en el documento de identidad                       |
| `selfieFaces` | array  | Rostros detectados en el selfie                                       |

**Cada objeto de rostro incluye:**

| Campo                 | Tipo   | Descripción                                                                                                 |
| --------------------- | ------ | ----------------------------------------------------------------------------------------------------------- |
| `faceId`              | string | Identificador del rostro (p. ej., `face_1`, `face_2`)                                                       |
| `detectionConfidence` | float  | Confianza de detección facial (0.0–1.0)                                                                     |
| `landmarks`           | object | Coordenadas de puntos de referencia faciales (`nose`, `left_eye`, `right_eye`, `mouth_left`, `mouth_right`) |
| `boundingBox`         | object | Coordenadas del cuadro delimitador del rostro (`x1`, `y1`, `x2`, `y2`)                                      |

### Categorías de archivo

| Categoría | Descripción                             |
| --------- | --------------------------------------- |
| `id`      | El documento de identidad cargado       |
| `face`    | La imagen o el video de selfie cargados |

## Etiquetas y filtrado

```bash theme={null}
curl "https://api.deepxl.ai/v1/verification?tagFilter=customerId=9999" \
  -H "x-api-key: YOUR_API_KEY"
```

## Exploración del historial

```bash theme={null}
curl "https://api.deepxl.ai/v1/verification?limit=25&offset=0&sortBy=verificationId&direction=desc" \
  -H "x-api-key: YOUR_API_KEY"
```

### Opciones de ordenación

`verificationId`, `idFileName`, `idFileSize`, `idFileType`, `selfieFileName`, `selfieFileSize`, `selfieFileType`, `verified`, `timestamp`
