# Enroll Face

To perform the user’s biometric face enrollment, the method to be used is Enroll Face.  This process requires the upload containing a user’s face sample so it can perform the face enrollment. This sample,  must contain only one face to be valid, and it must be a human face otherwise it will not be accepted as a suitable face sample. In case of success, the face will be enrolled on the biometric engine associated and the system will inform that the enrollment process is finished. In case of failure, this process shall be repeated until the enrollment is accepted.

## Enroll Face

<mark style="color:green;">`POST`</mark> `Https://api.biometrid.com/api/1.0/users/:userId/dialogue/enroll/face`

Enroll user's face on client's chosen provider.

#### Path Parameters

| Name   | Type   | Description       |
| ------ | ------ | ----------------- |
| userID | string | BiometrID user ID |

#### Headers

| Name               | Type   | Description                                                                                                                                             |
| ------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Content-type       | string | Request content type (This is not required to be set. Referenced only to show how we expect data to be sent). { "Content-Type": "multipart/form-data" } |
| x-biometrid-key    | string | <p>Application Client Key<br></p>                                                                                                                       |
| x-biometrid-secret | string | Application Client Secret                                                                                                                               |

#### Request Body

| Name     | Type    | Description                                                                                                      |
| -------- | ------- | ---------------------------------------------------------------------------------------------------------------- |
| liveness | boolean | Optional liveness state flag. For now, just implemented on the biometrid SDK.                                    |
| photo    | object  | Image file containing user's face for biometric analysis. File format: jpeg, png or jpg. Maximum file size 1 Mb. |

{% tabs %}
{% tab title="200 Success 200 types" %}
{% code title="HTTP/1.1 200 OK" %}
```javascript
//Face Enrolled
    {
      "status": true,
      "data": {
        "message": "FACE_ENROLLED_WITH_SUCCESS"
        "enrolled": true
      }
  }
// Face Enrolled Failed
  {
      "status": false,
      "data": {
          "message": "FACE_ENROLLMENT_FAILED",
          "reason": "No faces found on 'photo'"
        }
  }
//Face Already Detected
  {
    "status": false,
    "data": {
        "message": "FACE_ALREADY_DETECTED_ON_GALLERY",
        "detectedId": "5be3000bd3adgd3e152724f2",
        "confidence": 0.8,
        "alreadyExists": true
      }
}
```
{% endcode %}
{% endtab %}

{% tab title="400 Bad Request types" %}
{% code title="HTTP/1.1 400 Bad Request" %}
```javascript
//No photo file detected on request. Not sent or invalid format
    {
        "status": false,
        "data": {
            "message": "NO_FILE_OR_INVALID_FORMAT"
        }
    }
//User Face Already Enrolled
 {
    "status": false,
    "data": {
        "message": "USER_FACE_ALREADY_ENROLLED"
    }
}
// Missing Headers
 {
    "status": false,
    "data": {
        "message": "AUTHENTICATION_HEADERS_MISSING"
    }
}
```
{% endcode %}
{% endtab %}

{% tab title="401 Invalid Headers." %}
{% code title="HTTP/1.1 401 Unauthorized" %}
```javascript
{
    "status": false,
    "data": {
        "message": "INVALID_AUTHENTICATION_HEADERS"
    }
}
```
{% endcode %}
{% endtab %}

{% tab title="402 Payment Required - Request Limit Reached for Client Plan." %}
{% code title="HTTP/1.1 402 Payment Required" %}
```javascript
{
    "status": false,
    "data": {
        "message": "REQUEST_LIMIT_REACHED"
    }
}
```
{% endcode %}
{% endtab %}

{% tab title="404 Not Found request types" %}
{% code title="HTTP/1.1 404 Not Found" %}
```javascript
// No active engine configuration for this provider.
    {
        "status": false,
        "data": {
            "message": "NO_FACE_ENGINE_CONFIGURATION_AVAILABLE"
        }
    }
 // User's id not exists in biometrid environment.
    {
        "status": false,
        "data": {
            "message": "USERID_NOT_EXISTS"
        }
    }
//Client not found by given key.
    {
        "status": false,
        "data": {
            "message": "CLIENT_NOT_FOUND/CHECK_AUTHENTICATION_HEADERS"
        }
    }
 
```
{% endcode %}
{% endtab %}
{% endtabs %}

{% code title="Example (JSON)" %}
```javascript
{
    "photo": face.jpeg
    "liveness": true
}
```
{% endcode %}

