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

# POST/Faceauth

> La imagen facial de FaceAuth enviada se compara con la imagen obtenida durante el ID Check previo. Si se envió una imagen selfie durante el ID Check, se compara con la imagen de FaceAuth. Si no se envió ninguna imagen selfie, la comparación se realiza contra la imagen del documento de identidad.

<Info>
  **Antes de empezar — FaceAuth tiene dos métodos de entrega.**

  Este API es el método de **cámara implementada por el cliente**: su aplicación captura el selfie y envía el archivo de imagen. Este método **no admite Active Liveness**, por lo que no puede bloquear intentos de suplantación como replays de pantalla o fotos impresas. Si necesita verificación de presencia física (liveness), utilice el método **Face Auth URL**.

  → Comparación de métodos y configuración de URL: [Primeros pasos de Add-on](/es/idcheck/add-on/overview) · [Guía de FACE AUTH](/dashboard/es/face-auth-guide)
</Info>

<Warning>
  **Notas**

  * El resultado de la autenticación se determina según la configuración de opciones y los valores de umbral, devolviendo `approved` o `rejected`.
  * Especificaciones recomendadas de faceImage: `960 x 720`
  * Cómo verificar `submissionId`:
    Inicie sesión en el dashboard, vaya a `Settings` > `Liveform URL` y complete el proceso de ID Check. Una vez que el ID Check sea aprobado, puede encontrar los datos de `submissionId` en el menú `User Management` > `Submission List` del dashboard.
    * El estado final del ID Check **debe ser** `approved`.
  * **Información de clave API**:
    Se requiere una clave API separada de la clave API existente del liveform.
    Puede verificar su clave API de Add-on en [Primeros pasos](/es/idcheck/add-on/overview#api-3).
</Warning>

## 1. URL base

```text POST/faceauth theme={null}
https://rest-api.argosidentity.com/v3/faceauth
```

## 2. Autenticación

Incluya la clave API en el encabezado x-api-key:

```text x-api-key theme={null}
x-api-key: {yourAPIKey}
```

## 3. Ejemplo de solicitud

```curl POST/faceauth theme={null}
curl --location --request POST 'https://rest-api.argosidentity.com/v3/faceauth' \
--header 'x-api-key: {yourAPIKey}' \
--form 'faceImage=@"/C:/Users/face.jpg"' \
--form 'submissionId= "{submissionId}"' \
```

## 4. Cuerpo de la solicitud

El cuerpo de la solicitud debe estar en formato JSON. A continuación se describen los campos:

<ResponseField name="submissionId" type="string" required="true">
  Identificador único para cada solicitud KYC.\
  *FaceAuth solo puede proceder si la solicitud correspondiente (`submissionId`) tiene estado `approved`.*
</ResponseField>

<ResponseField name="faceImage" type="file" required="true">
  Cargue la imagen selfie del usuario como archivo. Si las opciones de PPE (equipo de protección para cabeza/cara) están habilitadas, asegúrese de que todo el equipo de seguridad sea claramente visible en la imagen para un reconocimiento preciso.
</ResponseField>

<ResponseField name="userId" type="string">
  Un identificador único para el solicitante KYC definido por el cliente.
</ResponseField>

<ResponseField name="cf1" type="string">
  Valor del campo personalizado 1.
</ResponseField>

<ResponseField name="cf2" type="string">
  Valor del campo personalizado 2.
</ResponseField>

<ResponseField name="cf3" type="string">
  Valor del campo personalizado 3.
</ResponseField>

## 5. Respuesta

### 5-1. Respuesta exitosa

```json result.json theme={null}
{
    "authentication_id": "{authentication_id}",
    "auth_status": "approved",
    "create_time": "2023-08-08T07:04:48.633Z",
    "score": {
        "face_similarity_score": 99.5,
        "occluded_score": 99.9
    }
}
```

### 5-2. Respuesta de rechazo

```json result.json theme={null}
{
    "authentication_id": "{authentication_id}",
    "auth_status": "rejected",
    "create_time": "2023-08-08T07:04:48.633Z",
    "score": {
        "face_similarity_score": 83.6,
        "occluded_score": 40,
        "face_cover_score": 93.3,
        "head_cover_score": 87
    },
    "fail_code": [
        "Face_Occluded_fail"
    ],
    "rejected_comment": [
        "Face is occluded and the confidence is higher than the threshold."
    ]
}
```

### 5-3. Datos de respuesta

| Field Name          | Data Type | Description                                                                                                                                                                              |
| ------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `authentication_id` | String    | ID único para el envío de `faceAuth`.                                                                                                                                                    |
| `auth_status`       | String    | El resultado final de `faceAuth`, devolviendo `approved` (éxito) o `rejected` (fallo).                                                                                                   |
| `score`             | Object    | Puntuaciones de reconocimiento basadas en las opciones seleccionadas. Las propiedades pueden incluir `face_similarity_score`, `occluded_score`, `face_cover_score` y `head_cover_score`. |
| `create_time`       | String    | La fecha y hora en que se envió `faceAuth` (UTC+0).                                                                                                                                      |
| `fail_code`         | Array     | Si el estado es `rejected`, se devuelve un código de fallo.                                                                                                                              |
| `rejected_comment`  | Array     | Si el estado es `rejected`, se devuelve una razón detallada del fallo.                                                                                                                   |

## 6. Códigos de error

### 6-1. Códigos de fallo

| Failure Code              | Rejection Comment                                         | Description                                                   |
| ------------------------- | --------------------------------------------------------- | ------------------------------------------------------------- |
| `face_compare_underscore` | Face compare similarity score is lower than the threshold | La puntuación de similitud facial está por debajo del umbral. |
| `Face_Occluded_fail`      | Face is occluded                                          | La cara está obstruida.                                       |
| `Face_cover_fail`         | Protection equipment is not found on Face                 | Falta el equipo de protección facial.                         |
| `Head_cover_fail`         | Protection equipment is not found on Head                 | Falta el equipo de protección para la cabeza.                 |

### 6-2. Códigos de error

| Error Code                  | Message                                                        | Description                                                                                               |
| --------------------------- | -------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `invalid_data_format`       | Data parsing error. Please check input data.                   | El formato de datos proporcionado es incorrecto. Verifique el formato de datos.                           |
| `required_field_missing`    | Required field is missing                                      | Falta un campo obligatorio. Asegúrese de que `submissionId`, `faceImage` y la clave API estén incluidos.  |
| `Invalid_submissionId`      | Fail to find the submission data                               | La solicitud KYC no existe.                                                                               |
| `Invalid_projectId`         | Fail to find the project data                                  | El proyecto FaceAuth no existe.                                                                           |
| `invalid_submission_status` | The submission must be approved to process face authentication | El estado de la solicitud KYC no es `approved`.                                                           |
| `image_converting_error`    | Image converting error                                         | El formato de imagen no es válido. Envíe la imagen como `form-data` (el formato base64 no es compatible). |
| `image_processing_error`    | Image processing error                                         | Se produjo un error al procesar los datos de la imagen.                                                   |
| `detection_server_error`    | Cannot finish process of detecting face                        | Se produjo un error en el módulo de verificación de comparación facial.                                   |
| `no_face`                   | Face is not detected                                           | No se detectó ninguna cara en la `faceImage` enviada.                                                     |
| `data_processing_error`     | Data processing error                                          | Se produjo un error al obtener o almacenar datos.                                                         |
