Incode’s Email Risk Check determines the level of risk associated with it. The Email Check module is used to help assess the trust and potential risk of an email address.

# Integration

## User input flow

Email Risk module configuration allows collection of user data via a user input flow where users can type in their email address. See an example below:

Email Risk user input flow example

## Module configuration

The module configuration can be leveraged to select the applicable fields for the input data you would like to collect from the end user.

eKYC Module Configuration

Direct API Approach

All module configurations and user data can be forwarded directly in the request for performing an eKYC search. This will override existing configuration and data collected about the user.

### API Authentication

All endpoints require authentication headers to be specified as stated in [Incode API Documentation](https://developer.incode.com/reference/introduction).

### eKYC request

**POST /omni/externalVerification/ekyc**

This endpoint performs an eKYC check for the individual specified. Note: Endpoint can have empty body {} and in that case information will be pulled from module configuration and session details.

- **email**: (mandatory) String.
- **country**: (mandatory) String. Must be "GL".
- **source**: (mandatory) String. Must be "EMAIL_RISK_1".

Example request:

```jsx
{
"countryCode": "GL",
"email": "example.name@exampledomain.com",
"plugins": [
"kyc"
],
"source": "EMAIL_RISK_1"
}
```

## Direct API Response

Note: Endpoint can have empty body {} and in that case information will be pulled from module configuration and session details.

```jsx
{
  "kyc":
[
{"
key": "emailValid",
"status": "true"
},
{"
key": "emailFraudScore",
"status": "low"
},
{"
key": "emailDeliverability",
"status": "high"
},
{"
key": "emailLeaked",
"status": "false"
},
{"
key": "emailFirstSeen",
"status": "2 months ago"
},
{"
key": "domainFirstSeen",
"status": "30 years ago"
},
{"
key": "emailUserActivity",
"status": "high"
},
{"
key": "overallLevel",
"status": "low"
}
]
}
```

### eKYC error responses

Please refer to [error response](https://developer.incode.com/reference/introduction#api-responses) to see conventional HTTP response codes to indicate the success or failure of an API request.

For email, custom 400 error messages if country is " " or null:

| Incode API Key | Status | Definition |
| --- | --- | --- |
| emailValid | true,<br>false | Indicates if this email address appears valid. |
| emailDeliverability | high,<br>medium,<br>low | Likelihood of emails to be delivered to the user and land in their mailbox. |
| emailLeaked | true,<br>false | Indicates whether this email address was associated with a recent database leak from a third party. |
| emailFirstSeen | String | Email address age, using an estimation of the email creation date when this email address was first discovered. |
| domainFirstSeen | String | Indicates when this domain was registered. |
| emailUserActivity | high,<br>medium,<br>low,<br>none | Frequency at which this email address makes legitimate purchases, account registrations, and engages in legitimate user behaviour online. |
| emailFraudScore | high,<br>medium,<br>low | Less than 75 - LOW<br>75 to 85 - MEDIUM<br>Greater than 86 - HIGH |
| overallLevel | Very High,<br>High,<br>Medium,<br>Low | VERY HIGH if:<br>emailValid == False<br>OR<br>emailDeliverability == Low<br>OR<br>emailFraudScore == High<br>HIGH if:<br>emailValid == False<br>AND<br>(emailDeliverability == Low<br>OR<br>emailFraudScore == High)<br>MEDIUM if:<br>emailValid == True<br>AND<br>(emailDeliverability == Medium<br>OR<br>emailFraudScore == Medium)<br>LOW if:<br>Otherwise |

## Single Session Dashboard Results
