Malta eKYB

Earlier in our docs is an overview of our Know Your Business here. Now, this page is focused specifically on eKYB in Malta (MT). eKYB in MT leverages Malta's source of truth to validate the legitimacy of businesses, including their registration number (MBR number), business name, business address, along with UBOs and directors.

Integration

User input flow






Model Configuration

Module configuration gives various options to specify different KYB criteria you would like to check (eg. Business name, Business Address, and Business taxID).

Direct API Approach

All module configurations and user data can be forwarded directly in the request for performing a KYB 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.

POST /omni/externalVerification/ekyb

This endpoint performs a KYB check for the business specified. Note: Endpoint can have empty body and in that case information will be pulled from module configuration and session details.

  • plugins: must be ["ekyb"]: (mandatory)
  • taxId: (mandatory) String. Malta Business Registry (MBR) registration number. Accepted formats: C followed by digits (e.g. C12345), or MT + 8 digits (VAT format, e.g. MT12345678 — the MT prefix is stripped automatically before processing).
  • country: (mandatory) String. Two-letter Alpha-2 country code. Must be MT.
  • businessName: (optional) String. Registered name of the business.
  • street: (optional) String. Street name of the business.
  • houseNo: (optional) String. Building or house number on the street.
  • addressLine2: (optional) String. Additional address information.
  • city: (optional) String. City of the business address.
  • state: (optional) String. State or region of the business address.
  • postalCode: (optional) String. Maltese postal code in format: 3 letters + 4 digits (e.g. VLT1234).
  • uboNames: (optional) Array of strings. Full legal name(s) of Ultimate Beneficial Owners to check against list of legal business associations.
  • directors: (optional) Array of strings. Full legal name(s) of directors to check against list of legal business associations.

Note: The country parameter is used to limit business validation to that specific region. We will only validate a business established in the country selected in the eKYB request.

✍️

Business Tax IDs Supported in MT

  • Format: C followed by digits (e.g. C12345) for limited liability companies
  • VAT number format: MT + 8 digits (e.g. MT12345678)
  • Pass the registration number as regNo; strip MT prefix from VAT number if used instead
  • Maltese postcodes: 3 letters + 4 digits (e.g. VLT1234)
{
    "plugins": ["ekyb"],
    "country": "MT",
    "taxId": "C12345",
    "businessName": "EXAMPLE MALTA LIMITED",
    "street": "TRIQ IL-MERKANTI",
    "houseNo": "5",
    "addressLine2": "",
    "city": "VALLETTA",
    "state": "",
    "postalCode": "VLT1234",
    "uboNames": ["JOHN DOE", "SARAH SMITH"],
    "directors": ["JOHN BORG"]
}

Response

All module configurations and user data can be forwarded directly in the request for performing an eKYB 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.

"kyb": [
    { "key": "name",                 "sub_label": "Verified" },
    { "key": "tin",                  "sub_label": "Verified" },
    { "key": "address_verification", "sub_label": "Approximate Match" },
    { "key": "cityMatch",            "sub_label": "Verified" },
    { "key": "postalCodeMatch",      "sub_label": "Verified" },
    { "key": "registrationStatus",   "sub_label": "Active" },
    {
      "key": "entityType",
      "entityType": {
        "entityType": "Private Limited Liability Company"
      }
    },
    {
      "key": "ubo_name_match",
      "sub_label": "Verified",
      "uboName_input": "John Doe"
    },
    {
      "key": "ubo_name_match",
      "sub_label": "Unverified",
      "uboName_input": "Sarah Smith"
    },
    {
      "key": "directors_name_match",
      "sub_label": "Verified",
      "directorsName_input": "John Borg"
    },
    {
      "key": "directors_name_match",
      "sub_label": "Unverified",
      "directorsName_input": "Sarah Schrader"
    }
]
Incode API KeyStatusDefinition
nameVerified, Approximate Match, UnverifiedSubmitted business name is verified, approximate match, or unverified against the business name associated with the business Tax ID in the source of truth.
tinVerified, UnverifiedSubmitted Tax ID (MBR registration number) is found or not found in the source of truth.
address_verificationVerified, Approximate Match, UnverifiedSubmitted address is verified, approximate match, or unverified against the address associated with the business Tax ID in the source of truth.
cityMatchVerified, Approximate Match, UnverifiedSubmitted city is verified, approximate match, or unverified against the city associated with the business taxID in the source of truth.
postalCodeMatchVerified, UnverifiedSubmitted postal code is verified or unverified against the postal code associated with the business taxID in the source of truth. Format: 3 letters + 4 digits (e.g. VLT1234).
registrationStatusActive, Inactive, UnknownActive: the registration status of the business is active. Inactive: the registration status of the business is suspended, inactive, or the business no longer exists. Unknown: the registration status is not available.
entityTypeLegal entity type of the businessDisplays the legal entity type of the company, if available, from the source of truth (e.g. Private Limited Liability Company, Private Limited Company). If not available, "Unknown" is displayed.
ubo_name_matchVerified, Approximate Match, UnverifiedSubmitted UBO name is matched against UBOs associated with the business Tax ID in the source of truth. One entry is returned per submitted UBO name, distinguishable via uboName_input.
directors_name_matchVerified, Approximate Match, UnverifiedSubmitted director name is matched against directors associated with the business Tax ID in the source of truth. One entry is returned per submitted director name, distinguishable via directorsName_input.

Learning more about Approximate Match: Approximate Match is generated through Incode's proprietary fuzzy matching algorithm. If approximate match is returned, the algorithm has identified a similar match with the string submitted in relation to the string stored in the source of truth for a particular field. Approximate Match is returned when exact matches are not possible due to misspellings, typographical errors, or slight variations in input data.

KYB error responses

Please refer to error response to see conventional HTTP response codes to indicate the success or failure of an API request.

Custom 400 error messages if taxId is missing or invalid:

Custom 400 error message if country is missing or empty:

Single Session Dashboard Results

They are available on Single Session view under the Business tab.