---
title: Global KYC
slug: us-apis/global-kyc
description: Learn how to validate Emirates ID numbers with the Emirates ID verification API. This document explains the structure of the ID number and provides step-by-step instructions on using the API for compliance, identification, and fraud prevention purposes. D
createdAt: 2023-06-28T10:32:12.242Z
---

# Overview & Purpose

The Global KYC API is a powerful tool that acts as a digital identity detective. It empowers businesses and organizations to confirm the accuracy of the personal and address information provided by individuals. This API plays a crucial role in ensuring trust, accuracy, and compliance in various industries. It primarily focuses on two key aspects: identity verification and address verification. By interacting with multiple databases and data sources, this API checks if the information submitted by individuals matches what's officially recorded. It categorizes the results into True/False helping organizations make informed decisions and protect against identity fraud.

Key Features and Functionalities of this API Include:

1. **Identity Verification:** The API verifies personal details such as full name, date of birth, national ID, and gender. It assesses the accuracy of this information against official records, providing a clear indication of the level of match.
2. **Address Verification:** It confirms the accuracy of address details, including house number, city, state, postal code, and more. This is vital for ensuring that deliveries go to the correct locations and for address-based verification in various services.
3. **Result Categorization:** The API categorizes the verification results into "Full Match" for complete accuracy, "Partial Match" for partial accuracy, and "No Match" when the information provided doesn't align with official records.
4. **Identity Protection:** It plays a crucial role in safeguarding individuals from identity theft and fraudulent activities. By confirming identity information, it helps prevent unauthorized access to sensitive services.
5. **Business Trust:** For organizations, the API ensures that they can trust their customers. It's particularly important in industries like banking, where accurate identity verification is essential for granting financial services.
6. **Compliance:** In regulated industries like finance and healthcare, the API helps businesses adhere to strict compliance requirements by verifying customer information against authoritative sources.

The Global Verification Standard API is a versatile tool that enhances trust, accuracy, and compliance for businesses and individuals alike. By checking and confirming personal and address information, it contributes to secure, efficient, and compliant operations across various industries.

# Countries Supported

| **Country**    | **Alpha 2 Country Code** |
| -------------- | ------------------------ |
| Argentina      | AR                       |
| Australia      | AU                       |
| Brazil         | BR                       |
| Indonesia      | ID                       |
| Philippines    | PH                       |
| Thailand       | TH                       |
| Malaysia       | MY                       |
| United Kingdom | GB                       |
| Singapore      | SG                       |



# API Details

**API Overview:**

The Verification API enables the validation of various personal data inputs, including firstName, lastName, dateOfBirth, addressLine1, city, state, postalCode, and nationalIdNo. Each input is cross-referenced against authorized sources to determine a match or no-match status.

**Authorization:**

Access to this API is granted via an Authorization Token, ensuring secure and authenticated access for authorized users.

## Sample cURL

::::Tabs
:::Tab{title="Pre-Production"}
```curl
curl --location 'https://api-preproduction.signzy.app/api/v3/global-kyc/verify' \
--header 'Content-Type: application/json' \
--header 'Authorization: <Kong-Auth-Token>' \
--data-raw '{
    "service" : "<service>",  
    "countryCode" : "<Country Code>", 
    "firstName" : "<First Name>",
    "middleName" : "<middle Name>",
    "lastName" : "<Last Name>",
    "fullName" : "<Full Name>",
    "dateOfBirth" : "<yyyy-mm-dd>",
    "addressLine1" : "<Address Line>",
    "addressLine2" : "<Address Line>",
    "addressLine3" : "<Address Line>",
    "addressLine4" : "<Address Line>",
    "addressLine5" : "<Address Line>",
    "identityInformation" : {
    "nationalIdNumber" : "<National Id Number>",
    "nationalIdType": "<National Id Type>",
    "phoneNumber" : "<Phone Number>",
    "landlineNo": "<Landline Number>",
    "emailAddress": "<Email Address>",
    },
    "consent" : true
}'
```
:::

:::Tab{title="Production"}
```curl
curl --location 'https://api.signzy.app/api/v3/global-kyc/verify' \
--header 'Content-Type: application/json' \
--header 'Authorization: <Kong-Auth-Token>' \
--data-raw '{
    "service" : "<service>",  
    "countryCode" : "<Country Code>", 
    "firstName" : "<First Name>",
    "middleName" : "<middle Name>",
    "lastName" : "<Last Name>",
    "fullName" : "<Full Name>",
    "dateOfBirth" : "<yyyy-mm-dd>",
    "addressLine1" : "<Address Line>",
    "addressLine2" : "<Address Line>",
    "addressLine3" : "<Address Line>",
    "addressLine4" : "<Address Line>",
    "addressLine5" : "<Address Line>",
    "identityInformation" : {
    "nationalIdNumber" : "<National Id Number>",
    "nationalIdType": "<National Id Type>",
    "phoneNumber" : "<Phone Number>",
    "landlineNo": "<Landline Number>",
    "emailAddress": "<Email Address>",
    },
    "consent" : true
}'
```
:::
::::

### API Input

The API expects the following input in the request payload:

```json
{
    "result": {
        "countryCode": "<Country Code>",
        "service": "<Service>",
        "nameMatchScore": "<nameMatchScore",
        "addressMatchScore": "<addressMatchScore>",
        "verificationResult": {
            "firstName": "<true"/"false>",
            "lastName": "<true"/"false>",
            "middleName": "<true"/"false>",
            "fullName": "<true"/"false>",
            "dateOfBirth": "<true"/"false>"",
            "addressLine1": "<true"/"false>",
            "addressLine2": "<true"/"false>",
            "addressLine3": "<true"/"false>",
            "addressLine4": "<true"/"false>",
            "addressLine5": "<true"/"false>",
            "address": "<true"/"false>",
            "nationalIdNumber":"<true"/"false>",
            "phoneNumber": "<true"/"false>",
            "landlineNo": "<true"/"false>",
            "emailAddress": "<true"/"false>"
        }
    },
    "reason": "Request Successful",
    "code": "S001"
}
```

| **Parameter**      | **Type** | **Description**                                                                                                                                                    | **Required/Optional** |
| ------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------- |
| `service`          | string   | Service field will be KYC for all countries                                                                                                                        | Required              |
| `countryCode`      | string   | User must enter alpha 2 country codes                                                                                                                              | Required              |
| `firstName`        | string   | First name of end user                                                                                                                                             | Required              |
| `lastName`         | string   | Last name of end user                                                                                                                                              | Required              |
| `dateOfBirth`      | string   | Date of birth of end user, must be in format **yyyy-mm-dd**                                                                                                        | Required              |
| `addressLine1`     | string   | This is the **street address**                                                                                                                                     | Required              |
| `addressLine2`     | string   | This is the **locality or town**<br /> where the address is located.                                                                                               |                       |
| `addressLine3`     | string   | This represents the **district or city**.                                                                                                                          | Optional              |
| `addressLine4`     | string   | This is the **county**or **region&#x20;**&#x6E;ame.                                                                                                                | Optional              |
| `addressLine5`     | string   | This is the **postcode&#x20;**&#x6F;r **ZIP code,** which helps to pinpoint the exact area or location.                                                            | Optional              |
| `identityFields`   | object   | This object will include fields like national ID, Phone Number and Email address                                                                                   | Optional              |
| `nationalIdNumber` | string   | National ID number of End User<br />e.g SSN for USA.                                                                                                               | Optional              |
| `nationalIdType`   | string   | National ID Type of End User<br />e.g SSS, GSIS, TIN for phillipines.                                                                                              | Optional              |
| `phoneNumber`      | string   | Phone number of end User .                                                                                                                                         | Optional              |
| `landlineNo`       | string   | Landline number of end User .                                                                                                                                      | Optional              |
| `emailAddress`     | string   | email address of end user                                                                                                                                          | Optional              |
| `consent`          | boolean  | Consent of end user to query his personal information against authorized data source<br />User must Opt-in (Consent field must be True) in order to Run KYC Checks | Required              |

### Country specific input validations

| Country        | Code | Service                      | Name Fields               | DOB | Address Line 1 | Address Line 2 | Address Line 3 | Address Line 4 | Address Line 5 (Postal)                       | Identity Information                                                | Consent |
| -------------- | ---- | ---------------------------- | ------------------------- | --- | -------------- | -------------- | -------------- | -------------- | --------------------------------------------- | ------------------------------------------------------------------- | ------- |
| Philippines    | PH   | Philippines\_Credit\_Bureau  | first ✅ middle ✅ last ✅   | ✅   | Opt            | Opt            | Opt            | Opt            | Opt – 4 digits (^\d&#x7B;4}$)                 | Req: • nationalIdType (Opt: SSS, GSIS, TIN)• nationalIdNumber (Opt) | ✅       |
| Malaysia       | MY   | Malaysia\_National\_ID       | first ✅ middle ✅ last ✅   | ✅   | Opt            | Opt            | Opt            | Opt            | Opt – 5 digits (^\d&#x7B;5}$)                 | Req: • nationalIdNumber (12 digits) • phoneNumber (Opt)             | ✅       |
| Thailand       | TH   | Thailand\_National\_ID       | first ✅ last ✅            | ✅   | Opt            | Opt            | Opt            | Opt            | Opt                                           | Req: • nationalIdNumber (13 digits)                                 | ✅       |
| Brazil         | BR   | Brazil\_National\_ID         | first ✅ middle Opt last ✅ | ✅   | Opt            | Opt            | Req            | Opt            | Opt – 8 digits (^\d&#x7B;8}$)                 | Req: • nationalIdNumber (11 digits)                                 | ✅       |
| Argentina      | AR   | Argentina\_National\_ID      | first ✅ middle Opt last ✅ | ✅   | Opt            | Opt            | Opt            | Opt            | Opt – 4 digits (^\d&#x7B;4}$)                 | Req: • nationalIdNumber (8 digits)• phoneNumber (Opt)               | ✅       |
| United Kingdom | GB   | United\_Kingdom\_Residential | first ✅ last ✅            | ✅   | Opt            | Opt            | Opt            | Opt            | Req – 5–7 alphanumeric (^\[A-Za-z0-9]\{5,7}$) | Req: • phoneNumber / landline (Opt) • emailAddress (Opt, ≤70 chars) | ✅       |
| Indonesia      | ID   | Indonesia\_National\_ID      | fullName ✅                | ✅   | Opt            | Opt            | N/A            | N/A            | Opt                                           | Req: • nationalIdNumber (16 digits) • emailAddress (Opt)            | ✅       |
| Singapore      | SG   | Singapore\_Credit\_Bureau    | fullName ✅                | ✅   | Opt            | Opt            | Opt            | Opt            | N/A                                           | Req: • nationalIdNumber (NRIC/FIN: ^\[STFG]\d&#x7B;7}\[A-Z]$)       | ✅       |
| Australia      | AU   | Australia\_Consumer          | first ✅ middle Opt last ✅ | ✅   | Opt            | N/A            | Opt            | Opt            | Opt – 4 digits (^\d&#x7B;4}$)                 | Req: • phoneNumber (9–11 digits) • emailAddress (Opt, ≤70 chars)    | ✅       |



### API Output

### Success Response & Mapping

:::CodeblockTabs
200

```json
{
    "result": {
        "countryCode": "<Country Code>",
        "service": "<Service>",
        "nameMatchScore": "<nameMatchScore",
        "addressMatchScore": "<addressMatchScore>",
        "verificationResult": {
            "firstName": "<true"/"false>",
            "lastName": "<true"/"false>",
            "middleName": "<true"/"false>",
            "fullName": "<true"/"false>",
            "dateOfBirth": "<true"/"false>"",
            "addressLine1": "<true"/"false>",
            "addressLine2": "<true"/"false>",
            "addressLine3": "<true"/"false>",
            "addressLine4": "<true"/"false>",
            "addressLine5": "<true"/"false>",
            "address": "<true"/"false>",
            "nationalIdNumber":"<true"/"false>",
            "phoneNumber": "<true"/"false>",
            "landlineNo": "<true"/"false>",
            "emailAddress": "<true"/"false>"
        }
    },
    "reason": "Request Successful",
    "code": "S001"
}
```
:::

### Response Parameters&#x20;

| Parameter                           | Description                                                                                         | Data Type |
| ----------------------------------- | --------------------------------------------------------------------------------------------------- | --------- |
| countryCode                         | The country code associated with the verification result .                                          | String    |
| service                             | The service that was used for verification                                                          | String    |
| nameMatchScore                      | A score representing how closely the provided name matches the verified name (numeric score).       | Integer   |
| addressMatchScore                   | A score representing how closely the provided address matches the verified address (numeric score). | Integer   |
| verificationResult                  | An object that contains the verification results for various fields.                                | Object    |
| verificationResult.firstName        | The verification result for the first name (true = verified, false = not verified).                 | Boolean   |
| verificationResult.lastName         | The verification result for the last name (true = verified, false = not verified).                  | Boolean   |
| verificationResult.middleName       | The verification result for the middle name (true = verified, false = not verified).                | Boolean   |
| verificationResult.fullName         | The verification result for the full name (true = verified, false = not verified).                  | Boolean   |
| verificationResult.dateOfBirth      | The verification result for the date of birth (true = verified, false = not verified).              | Boolean   |
| verificationResult.addressLine1     | The verification result for the first address line (true = verified, false = not verified).         | Boolean   |
| verificationResult.addressLine2     | The verification result for the second address line (true = verified, false = not verified).        | Boolean   |
| verificationResult.addressLine3     | The verification result for the third address line (true = verified, false = not verified).         | Boolean   |
| verificationResult.addressLine4     | The verification result for the fourth address line (true = verified, false = not verified).        | Boolean   |
| verificationResult.addressLine5     | The verification result for the fifth address line (true = verified, false = not verified).         | Boolean   |
| verificationResult.address          | The verification result for the full address (true = verified, false = not verified).               | Boolean   |
| verificationResult.nationalIdNumber | The verification result for the national ID number (true = verified, false = not verified).         | Boolean   |
| verificationResult.phoneNumber      | The verification result for the phone number (true = verified, false = not verified).               | Boolean   |
| verificationResult.landlineNo       | The verification result for the landline number (true = verified, false = not verified).            | Boolean   |
| verificationResult.emailAddress     | The verification result for the email address (true = verified, false = not verified).              | Boolean   |
| reason                              | A message or explanation about the result (e.g., "Request Successful").                             | String    |
| code                                | A code representing the status or result of the request (e.g., "S001" for success).                 | St        |

### Success Codes

| HTTP Status Code | Success Code | Description                                                                   |
| ---------------- | ------------ | ----------------------------------------------------------------------------- |
| 200              | S001         | Request Successful.                                                           |
| 200              | S002         | Data in Process                                                               |
| 200              | S003         | Data not Found on source.                                                     |
| 200              | S008         | Data matching the minimum score wasn’t found, though it exists at the source. |



### Error Code and Mapping

### Sample Error

:::CodeblockTabs
Malformatted RequestId E001

```json
{
    "result": {},
    "reason": "Bad Request: Bad Request. <request> is invalid.",
    "status": "failure",
    "code": "E001"
}
```

requestId Not Found E401

```json
{
    "result": {},
    "reason": "Upstream error",
    "status": "failure",
    "code": "E401"
}
```
:::

### Error Response Parameters

| **Parameter** | **Description**        |
| ------------- | ---------------------- |
| result        | Empty result object    |
| reason        | Reason for error       |
| status        | Status of the api      |
| code          | Error code from Signzy |

### Error Codes

| HTTP Status Code | Error Code | Description           |
| ---------------- | ---------- | --------------------- |
| 400              | E001       | Bad Request           |
| 401              | E1001      | Unauthorized Access   |
| 403              | E201       | Forbidden             |
| 404              | E301       | Data Not Found        |
| 409              | E401       | Upstream error        |
| 429              | E501       | Rate Limit Exceeded   |
| 500              | E601       | Internal Server Error |
| 503              | E701       | Service Unavailable   |
| 504              | E801       | Timeout               |



:::hint{type="info"}
### Getting help

Please feel free to contact us if you have any questions, require clarification, or have ideas for how to make the documents or any of our services better.

You can reach out to us at [help@signzy.com](#). We strive to provide prompt and reliable assistance, ensuring your queries are addressed effectively.

We value your feedback and are committed to making your experience smooth and enjoyable. Our team is dedicated to assisting you with any needs you may have. Thank you for choosing our services. We look forward to helping you!
:::

