Emirates ID Verification API - v1
This document outlines the details of the Emirates ID Verification API.
API Description
Objective
The Emirates ID Verification API provides detailed information about an Emirates Identity Card.
| Input | Output |
|---|---|
| The Emirates ID Number | The Details associated with the Emirates ID. The complete list of output fields is available in the Success Response Details section |
- The Emirates ID (also known as Emirates Identity Card or EID) is a mandatory identification card for citizens and residents of the United Arab Emirates (UAE). It's managed by the Federal Authority for Identity, Citizenship, Customs and Port Security (ICP) and is essential for accessing government services, legal processes, and other key functions in the UAE.
- The Emirates ID Number is a unique 15-digit number printed on the citizen's Emirates ID card.
API URL
https://ind-thomas.hyperverge.co/v1/emiratesVerification
API Endpoint
emiratesVerification
Overview
The API is RESTful and uses standard HTTP verbs and status codes. The responses are in JSON format and you should upload all images and files as form-data through a POST request.
Authentication
You need a unique pair of application ID ( appId ) and application key (appKey) from HyperVerge to verify your identity for accessing the API.
API Request Details
Method - POST
Headers
| Parameter | Mandatory or Optional | Description | Valid Values |
|---|---|---|---|
content-type | Mandatory | This parameter defines the media type for the request payload. | application/json |
appId | Mandatory | The application ID shared by HyperVerge | Not Applicable - this is a unique value |
appKey | Mandatory | The application key shared by HyperVerge | Not Applicable - this is a unique value |
transactionId | Mandatory | The unique ID for the customer journey. | Not Applicable - this is a unique value related to a transaction in your application |
Input
The following table provides the details of the parameter required for the API's request body:
| Parameter | Mandatory or Optional | Description | Allowed Values | Default Value |
|---|---|---|---|---|
idNumber | Mandatory | The valid Emirates ID Number | Format: A unique 15-digit number | Not Applicable |
Request
The following code snippet demonstrates a standard curl request for the API:
curl --location --request POST 'https://ind-thomas.hyperverge.co/v1/emiratesVerification' \
--header 'Content-Type: application/json' \
--header 'appId: <Enter_the_HyperVerge_appId>' \
--header 'appKey: <Enter_the_HyperVerge_appKey>' \
--header 'transactionId: <Enter_the_HyperVerge_transactionID>' \
--data '{
"idNumber": "<Enter_the_valid_ID_Number>"
}'
Success Responses
The following code snippet demonstrates a success response from the API:
{
"status": "success",
"statusCode": 200,
"result": {
"idNumber": "<Masked_Emirates_ID_Number>",
"serviceTransactionName": "<Service_Transaction_Description>",
"requestDate": "<Request_Date_in_YYYY-MM-DD_Format>",
"issueDate": "<Issue_Date_in_YYYY-MM-DD_Format>",
"administration": "<Administration_Name>",
"applicationFees": <Application_Fee_Amount>,
"approvalDate": "<Approval_Date_in_YYYY-MM-DD_Format>"
},
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}
Success Response Details
The following table outlines the details of the success response from the API:
| Parameter | Type | Description |
|---|---|---|
| status | string | The status of the request |
| statusCode | integer | The HTTP status code returned for the request |
| idNumber | string | The Emirates ID number used for verification |
| serviceTransactionName | string | The name of the service transaction associated with the Emirates ID process |
| requestDate | string | The date on which the request was submitted, in YYYY-MM-DD format |
| issueDate | string | The date on which the Emirates ID was issued, in YYYY-MM-DD format |
| administration | string | The name or location of the administration office linked to the Emirates ID. For example, "Dubai" or "Abu Dhabi" |
| applicationFees | number | The fee charged for the application, in UAE Dirham (AED) |
| approvalDate | string | The date on which the application was approved in YYYY-MM-DD format |
| requestId | string | The unique identifier for the API request |
| transactionId | string | The transaction ID associated with the request, if available |
Error Responses
The following are some error responses from the API:
- Invalid ID Number
- Missing/Invalid Credentials
- Incorrect Format for ID Number
- Missing Input
- Internal Server Error
{
"status": "failure",
"statusCode": 400,
"error": "The ID number is invalid",
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}
{
"message": "Missing/Invalid credentials",
"statusCode": 401,
"status": "failure"
}
{
"status": "failure",
"statusCode": 422,
"error": "Enter valid 15 digit ID number",
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}
{
"status": "failure",
"statusCode": 422,
"error": "ID number should not be empty",
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}
{
"status": "failure",
"statusCode": 500,
"message": "internal server error"
}
Error Response Details
A failure or error response from the module contains a failure status, with a relevant status code and error message.
The following table lists all error responses:
| Status Code | Error Message | Error Description |
|---|---|---|
| 400 | The ID number is invalid | The input ID number is invalid or does not exist |
| 401 | Missing/Invalid credentials | The request is either missing the mandatory appId and appKey combination or has invalid values |
| 422 | Enter valid 15 digit ID number | The ID number provided is not in the required numeric format; it contains fewer or more than 15-digits, has alphabets, or special characters |
| 422 | ID number should not be empty | The request was made without providing the required ID number |
| 500 | Internal Server Error | Please check the request headers or contact the HyperVerge team for resolution |