> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/api-rest/identity-api/identity-api-reference/onboarding/morphology/document-validation-v2/document-validation-start-v2.md).

# Document validation Start V2

Inicia el proceso de validación morfológica de documentos de identidad enviando las **imágenes del documento, país y tipo** de documento a analizar.

### Endpoint

```
POST /verify/documentValidation/v2/start
```

### Headers

| Nombre        | Tipo   | Requerido | Descripción                                                   |
| ------------- | ------ | --------- | ------------------------------------------------------------- |
| **x-api-key** | string | **Sí**    | API key de autorización de acceso.                            |
| **family**    | string | No        | Valor: **OnBoarding**. Requerido con el servicio de tracking. |

{% hint style="info" %}
Todas las llamadas a los Endpoints para tracking con **Identity Platform** deben contener el header `family`.
{% endhint %}

### Cuerpo de la solicitud

**Content-Type:** `application/json`

#### Parámetros

| Parámetro                  | Tipo   | Requerido | Descripción                                                                                                                                                                          |
| -------------------------- | ------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `country`                  | string | **Sí**    | Código de país **ISO 3166-1 alpha-3**.                                                                                                                                               |
| `idType`                   | string | **Sí**    | Tipo del documento proporcionado. Valores posibles: `PASSPORT`, `DRIVING_LICENSE`, `ID_CARD`, `RESIDENCE_PERMIT`, `VISA`                                                             |
| `documentFrontRawImage`    | string | **Sí**    | Imagen codificada en **Base64**, abierta o tokenizada, del lado frontal del documento.                                                                                               |
| `documentBackRawImage`     | string | No        | Imagen codificada en **Base64**, abierta o tokenizada, del lado posterior del documento. Opcional para documentos de una sola cara como `PASSPORT`.                                  |
| `tokenRawFrontDocument`    | string | No        | Token de la imagen **tokenizada** del lado frontal del documento, generado por el SDK Mobile/Web. Alternativa a `documentFrontRawImage` cuando se trabaja con imágenes tokenizadas.  |
| `tokenRawBackDocument`     | string | No        | Token de la imagen **tokenizada** del lado posterior del documento, generado por el SDK Mobile/Web. Alternativa a `documentBackRawImage` cuando se trabaja con imágenes tokenizadas. |
| `merchantIdScanReference`  | string | No        | Referencia personalizada de la operación. **Longitud máxima: 100 caracteres.**                                                                                                       |
| `documentRawImageMimeType` | string | No        | Formato MIME de la imagen. Valores posibles: `image/png`, `image/jpeg`                                                                                                               |
| `tracking`                 | object | No        | Objeto que representa la información de seguimiento necesaria.                                                                                                                       |
| `tracking.extraData`       | string | No        | Token generado por el SDK Mobile/Web. Contiene información de seguimiento tokenizada con la Plataforma.                                                                              |
| `tracking.operationId`     | string | No        | Identificador de operación generado por el SDK Mobile/Web.                                                                                                                           |

{% hint style="info" %}
Las imágenes del documento pueden enviarse de dos formas: como imagen codificada en **Base64** (`documentFrontRawImage` / `documentBackRawImage`) o como imagen **tokenizada** generada por el SDK (`tokenRawFrontDocument` / `tokenRawBackDocument`). Utiliza una u otra según el modo de captura.
{% endhint %}

#### Ejemplo de solicitud

```json
{
  "country": "ESP",
  "idType": "ID_CARD",
  "documentRawImageMimeType": "image/jpeg",
  "documentFrontRawImage": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABC...",
  "documentBackRawImage": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABC...",
  "merchantIdScanReference": "custom-ref-123",
  "tracking": {
    "extraData": "BQABAQG2gBNjuHN4kLmPqYf7R...",
    "operationId": "123e4567-e89b-12d3-a456-426614174000"
  }
}
```

#### Ejemplo de solicitud con imágenes tokenizadas

```json
{
  "country": "ESP",
  "idType": "ID_CARD",
  "documentRawImageMimeType": "image/jpeg",
  "tokenRawFrontDocument": "BQABAQFront9kLmPqYf7R...",
  "tokenRawBackDocument": "BQABAQFBack9kLmPqYf7R...",
  "merchantIdScanReference": "custom-ref-123",
  "tracking": {
    "extraData": "BQABAQG2gBNjuHN4kLmPqYf7R...",
    "operationId": "123e4567-e89b-12d3-a456-426614174000"
  }
}
```

### Respuestas

#### `200` Éxito

#### Parámetros de respuesta

| Parámetro       | Tipo   | Descripción                                                    |
| --------------- | ------ | -------------------------------------------------------------- |
| `timestamp`     | string | Marca de tiempo (UTC) de la respuesta en formato **ISO 8601**. |
| `scanReference` | string | **Número de referencia** para cada escaneo.                    |
| `type`          | string | ⚠️ Valor **obsoleto**. Será eliminado en futuras versiones.    |

#### Ejemplo de respuesta

```json
{
  "timestamp": "1970-01-01T00:00:00.000Z",
  "scanReference": "fe294c25-17e1-4d98-a958-710edbf00064",
  "type": "1"
}
```

#### `400` Bad Request

```json
{
  "status": 400,
  "title": "Bad Request",
  "detail": "Invalid request.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400",
  "errors": []
}
```

#### `401` Unauthorized

```json
{
  "message": "Unauthorized"
}
```

#### `403` Forbidden

```json
{
  "Message": "User is not authorized to access this resource with an explicit deny"
}
```

#### `502` Bad Gateway

```json
{
  "status": 502,
  "title": "Bad Gateway",
  "detail": "Server got an invalid response.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/502"
}
```

#### `504` Gateway Timeout

```json
{
  "message": "Endpoint request timed out"
}
```
