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 AuthenticationAll 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:
Cfollowed by digits (e.g.C12345), orMT+ 8 digits (VAT format, e.g.MT12345678— theMTprefix 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:
Cfollowed by digits (e.g.C12345) for limited liability companies- VAT number format:
MT+ 8 digits (e.g.MT12345678)- Pass the registration number as
regNo; stripMTprefix 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 AuthenticationAll 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 Key | Status | Definition |
|---|---|---|
| name | Verified, Approximate Match, Unverified | Submitted business name is verified, approximate match, or unverified against the business name associated with the business Tax ID in the source of truth. |
| tin | Verified, Unverified | Submitted Tax ID (MBR registration number) is found or not found in the source of truth. |
| address_verification | Verified, Approximate Match, Unverified | Submitted address is verified, approximate match, or unverified against the address associated with the business Tax ID in the source of truth. |
| cityMatch | Verified, Approximate Match, Unverified | Submitted city is verified, approximate match, or unverified against the city associated with the business taxID in the source of truth. |
| postalCodeMatch | Verified, Unverified | Submitted 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). |
| registrationStatus | Active, Inactive, Unknown | Active: 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. |
| entityType | Legal entity type of the business | Displays 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_match | Verified, Approximate Match, Unverified | Submitted 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_match | Verified, Approximate Match, Unverified | Submitted 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.
