# Process face

`POST /omni/process/face`

Base URL: `https://demo-api.incodesmile.com` — Incode demo environment

**Note: This endpoint should be called only after [selfie](#/Onboarding/addFaceByThirdParty)
and [front-id](#/Onboarding/addFrontIdV2) both are over.**

It is validating user's selfie against photo from ID (1:1 recognition).
Also, this call validates if user already exists in the system (1:N recognition).

**It is highly recommended that before calling this process-face endpoint, one should first finish following endpoints:
[add-front](#/Onboarding/addFrontIdV2), [add-back](#/Onboarding/addBackIdV2)(not required in case of passports),
[process-id](#/Onboarding/processId) and [add-selfie](#/Onboarding/addFaceByThirdParty) in order to get complete result view
based on id verification, face recognition and liveness.**

## Path & query parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `imageType` | query | string |  | Enum: `selfie`, `videoSelfie` |
| `api-version` | header | string | yes |  |

## Responses

### 200

OK

Response body (`application/json`):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `confidence` | number (float) | yes | Value 0 means that selfie doesn't match face photo from ID. |
| `existingUser` | boolean | yes | Flag indicating if this user already exists in the system. |
| `existingInterviewId` | string |  | Session id where user is approved previously (existingUser=true). |
| `existingExternalId` | string |  | In case the session does have an externalId which can be assigned at start call. |
| `nameMatched` | boolean |  | In case user is approved previously (existingUser=true), flag indicating if names are matching. |

### 400

Bad Request

Response body (`application/json`):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `timestamp` | integer (int64) |  | UTC timestamp in milliseconds |
| `status` | integer (int32) |  | Custom error code or HTTP status code |
| `error` | string |  | HTTP status error |
| `message` | string |  | Custom error message |
| `path` | string |  | Endpoint path |
| `details` | object |  | Custom error details |
