Getting Started
Some key concepts you should know…
The W2 API is built around a few simple concepts which, when brought together, provide powerful and flexible solutions.
Services
W2 has a wide portfolio of products that we name Services, ranging from checking against datasources such as global Sanctions list, Identity checking using credit reference agencies, document verification and many more.
A full list of all services can be found here.
Services are accessed through the API via Bundles.
Bundles
A bundle is a collection of one or more services. Services can be ordered in a bundle in any way you choose.
When you call the W2 API you specify a bundle name. By collecting services in a Bundle, only one API call is then required to execute all services in that Bundle.
Bundles are configured by W2. This will be completed as part of the on-boarding process.
Typical bundle example
As an example, if you wanted to confirm an individual’s identity and check that they are not on any Sanctions lists, the bundle might look like this:
Bundle Name | Services | Service Description |
---|---|---|
KYC_ID_CHECK_EXAMPLE | IdCheckUKAlphaFull | UK Identity Check |
SISCheckPlus | Standard International Sanctions | |
PEPDesk | Politically Exposed Persons |
This bundle example contains three services. The first one, IdCheckUkAlphaFull, checks various sources (Electoral Roll, credit lenders, etc.) to confirm an individual’s identity. The next two services check the given name against a Sanctions list and a Politically Exposed Persons list.
To execute this bundle you would call the KYCCheck method on the API with the bundle name (KYC_ID_CHECK_EXAMPLE) and the required identity information (name, date of birth, address, etc.). The API will run through each service in sequence and return the results in one response. In the above example if the identity was good but the individual turns up in a PEP list you might get something like this:
Bundle Name | Services | Service Description | Service Result |
---|---|---|---|
KYC_ID_Check_Sanctions | IdCheckUKAlphaFull | UK Identity Check | PASS |
SISCheckPlus | Standard International Sanctions | NO RESULTS | |
PEPDesk | Politically exposed persons | 1 RESULT |
The Response will also contain more detailed information about each result.
Bundle Workflows
Also known as ‘Interpret and Halt’ or ‘Staged Search Manager’. As part of setting up a bundle W2 can configure settings that can ‘Interpret’ service level and bundle level results as well as ’Halting’ the execution of a Bundle should a certain result be returned from an individual Service.
Bundle Result Interpretation
W2 can configure how the API will interpret the overall result for the whole bundle. For example, in the example bundle above, if the Alpha service returned a “Fail” result then the bundle’s overall result would also be “Fail”. The possible results for Bundle results are Pass, Fail or Inconclusive.
Bundle Halting
We can also configure the bundle to Halt after each service based on the result of that service. So for example you might decide that if Alpha returns a Fail (i.e. this identity is not valid) then there is no point checking the sanctions lists, so the bundle will stop there and not call the rest of the services in the bundle.
So in our example above let us assume that we have configured the following rules:
- Fail if Alpha returns Fail or Inconclusive,
- Return Inconclusive if the Sanctions or Political Persons lists have any matches
If we get the same results based on these results the service would return inconclusive
Bundle Name | Intepret Result | Services | Service Description | Service Result |
---|---|---|---|---|
KYC_ID_Check_Sanctions | INCONCLUSIVE | IdCheckUKAlphaFull | UK Identity Check | PASS |
SISCheckPlus | Standard International Sanctions | NO RESULTS | ||
PEPDesk | Politically Exposed Persons | 1 RESULT |
Sandbox Cases
W2 provides an API Sandbox mode that allows developers to test bundles without fear of leaving a footprint or incur service charges.
The Sandbox consist of set of pre-defined test records for a range of test scenarios. You can find the Sandbox test data for each Service on their respective pages.
Sandbox is available in all environments.
To use our Sandbox add the “Sandbox” Query Option to your request with the value set to “true”.
{
"Bundle": "...",
"Data": {
"Forename": "..."
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
Two Plus Two Check
Our identity check services attempt to do a Two Plus Two check.
All this means is that we will attempt to match the name and address from one data source and the name and date of birth from another independent data source.
For example, if we can find the name and address on the Electoral Roll and the name and date of birth on a credit lenders record then that would be a Two Plus Two check. If we only found the information on the Electoral Roll then that would not be a Two Plus Two check as this only uses one data source.
REST
This section describes how to use the W2 RESTful API
Location
Live: https://api.w2globaldata.com
UAT: https://api-uat.w2globaldata.com
Authentication
The W2 REST API uses basic authentication. You will need to add a basic authorization header with your api key base 64 encoded to all requests.
Header Key | Header Pattern |
---|---|
Authorization | Basic Base64EncodedW2ApiKey |
API Versioning
To call a specific version of the API append the API version query option to the end of the URL like this: https://api.w2globaldata.com/kyc-check?api-version=1.1
We strongly recommend that you provide a version number with all of your requests. A request without a version number will default to the latest version of the API so you might experience changes you are not prepared for.
HTTP Status Codes
The W2 RESTful API closely adheres to the standard use of HTTP status codes. You can expect to find one of the following status codes in your response data.
Http Response | Http Statuscode | Description |
---|---|---|
Retrieved (OK) | 200 | A 200 response indicates that the request has succeeded and the resource has been retrieved. |
Created | 201 | An 201 response indicates that the request has succeeded and a resource was created. |
OK No Content | 204 | A 204 response indicates that the request has succeeded and there was nothing to return. |
Bad Request | 400 | A Bad request response indicates that due to invalid properties provided, the server was unable to process the request. |
Unauthorised | 401 | An unauthorised response suggests that missing valid authentication and therefore the request could not be processed. |
Forbidden | 403 | A forbidden error suggests that the server understands the request however authorization is denied. Please contact our support team in order to gain access. |
Not Found | 404 | A not found error suggests the resource does not exist. |
Internal Server Error | 500 | An Internal server error suggests that there is a problem with the server. Please contact our support team. |
KYC Check
This section describes how the KYC check API endpoint functions
How to call the endpoint
To call the endpoint you will need to perform a HTTP POST request to the URL:
API Version | Url |
---|---|
1.0 | https://api.w2globaldata.com/kyccheck?api-version=1.0 (Deprecated) |
1.1 | https://api.w2globaldata.com/kyc-check?api-version=1.1 (Deprecated) |
1.2 | https://api.w2globaldata.com/kyc-check?api-version=1.2 |
1.3 | https://api.w2globaldata.com/kyc-check?api-version=1.3 |
1.4 | https://api.w2globaldata.com/kyc-check?api-version=1.4 |
1.5 | https://api.w2globaldata.com/kyc-check?api-version=1.5 Latest |
Request & Response
Full Request example:
{
"Bundle": "Bundle123",
"ClientReference": "MyReference123",
"Data": {
"AgeVerificationPassIf": 0,
"AgeVerificationThreshold": 0,
"City": "Newport",
"Country": "Wales",
"County": "Gwent",
"DateOfBirthMatchThreshold": 80,
"DayOfBirth": 10,
"DrivingLicenceNumber": "123",
"Email": "[email protected]",
"Flat": "12",
"Forename": "Tyrion",
"Gender": "Male",
"HouseName": "Casterly Rock",
"HouseNumber": "10",
"IP": "192.168.0.1",
"IdCardNumber": "123",
"MRZ": ">>123>>",
"Maiden": "???",
"MiddleNames": "James",
"MobileNumber": "001",
"MonthOfBirth": 10,
"NameQuery": "Tyrion Lannister",
"NameQueryMatchThreshold": 80,
"NationalId": "123",
"PassportNumber": "123",
"PersonalId": "123",
"PhoneNumber": "000123",
"PlaceOfBirth": "Lannisport",
"Postcode": "LANN1",
"ProfileId": "123-123-123-123",
"Region": "Westerlands",
"Street": "Lannisport Street",
"Surname": "Lannister",
"TaxCode": "123",
"Title": "Lord",
"TravelVisaNumber": "123",
"YearOfBirth": 273
},
"Files": [{
"Id": "123",
"Reference": "123-ref-321",
"Group": "group1",
"Index": 0,
"Service": "W2_DATA_IDVCHECK_013"
}
],
"Options": {
"Sandbox": "False",
"Key": "Value"
}
}
Example provided in REST tab
KYC Check Response Example (SIS Plus service call):
{
"clientReference": "123-456-789",
"results": {
"sisPlusCheckResult": {
"matchResults": [
{
"matchType": "Person",
"name": "John Dave Smith",
"nameMatchScore": 85,
"profileId": "SANC-d28cdbbd-5c0e-1a1b-4c1c-88a6b5790e82"
},
{
"matchType": "Person",
"name": "John Dave Smith",
"nameMatchScore": 85,
"profileId": "SANC-081d73e2-b1cd-baeb-176b-cf1607b75381"
},
{
"matchType": "Person",
"name": "John Dave Smith",
"nameMatchScore": 85,
"profileId": "SANC-dac80327-376e-6784-e793-3d39904726f5"
},
{
"matchType": "Person",
"name": "Dave John Smith",
"nameMatchScore": 80,
"profileId": "SANC-9763b970-f325-77bc-5c7e-46d7c18b3f06"
}
]
}
},
"transaction": {
"interpretResult": "NotApplicable",
"serviceCallReference": "8bb44731-9103-47b2-979e-f27c69f9d68b",
"serviceTransactions": [
{
"haltTriggered": false,
"service": "SISPlusCheck",
"serviceInterpretResult": "MultipleResults",
"serviceTransactionResult": "Success",
"serviceTransactionResultMessage": "This call was generated using sandbox mode",
"validationResult": "Pass"
}
]
}
}
Example provided in REST tab
Request Properties
Use this table to find the meaning of each of the fields in the request.
Property | Description |
---|---|
Bundle | The Bundle section states which bundle you are calling and is mandatory for every service call. A bundle is a collection of services which will be agreed with W2 Support. |
ClientReference | A reference identifying this call for your reference i.e. ‘My Company Testing’. |
Data | The Data object contains all the information about the individual or organisation you are querying. Which fields you need to include will be different for each service and many of them are only used for specific services. See the service page for each service you are calling. |
Files | This element is provided to supply the details of documents that are required for a service in the bundle to complete its work. For example, when using the IDDocumentCheck service, an image of the document must be associated with the call. This association is performed by adding the Unique ID of the document that was returned when it was uploaded to an item in this array. |
Options | These are optional parameters for some extra fields not covered in the Data object. The whole section is optional. The most common use is to set Sandbox mode, where you can call the service and get standard responses. For further information, each service has examples of how to structure a call to the sandbox. |
Client Provided Data
This section simply reflects back information that was submitted in the API call.
Property | Description |
---|---|
ClientReference | This reflects back the client reference that was supplied in the request |
ClientSubaccount | An optional reference to identify which of your client accounts this call was made for. |
ClientUser | An optional reference to identify which individual user made this call. For future compatibility with W2 products we suggest this value should be the user’s email address. |
RefersToServiceCallReference | Links this call to a previous call by specifying the previous ServiceCallReference. |
Transaction Information
This section contains the interpret result for the whole bundle, the service call reference and a section of meta data for each service.
Property | Description |
---|---|
InterpretResult | The validation result of the Interpret function. 1. Pass - The information supplied to the bundle passed validation. 2. Fail- The information supplied to the bundle failed validation. 3. Inconclusive- It was not possible to generate a clear validation result from the information supplied. It may be necessary to refer this query for further investigation. 4. NoInterpretPerformed - No interpret was performed in this case. Check the other information returned by the services to determine why. 5. NotApplicable - Interpret is not enabled for this bundle. |
ServiceTransactions | A collection of ServiceTransactionInformation objects. See below |
ServiceCallReference | A unique reference for this service call. |
Service Transaction Information
Every service that is called will return one of these:
Property | Description |
---|---|
Service | The service that was invoked. |
ServiceInterpretResult | The validation result of the service interpret function. 1. Pass - The query data resulted in a pass. 2. Fail - The query data resulted in a failure. 3. Inconclusive - The query data resulted in an inconclusive outcome. 4. NoResults - The query data returned no results. 5. OneResult - The query data returned a single result. 6. MultipleResults - The query data returned multiple results. 7. NotApplicable - Interpret is not applicable to the call or wasn’t enabled. 8. NotPerformed - An error prevented this result from being categorised. |
ServiceTransactionResult | The validation result for service transaction. 1. Success - The service executed successfully. 2. SuccessNoResults - The service executed successfully but no results were generated. 3. SuccessIncompleteResults - The service executed successfully but too many results were generated to return them all, so the results have been truncated. 4. MultipleChoices - The service could not continue as there are multiple choices available and one of them must be selected or the query must be submitted with more concise information in order to complete execution. 5. ClientErrorInsufficientInformation - There was insufficient information for the service to execute. Check that all of the required fields for the service were supplied. 6. NotExecutedDueToPreviousHalt - The service was not executed because a previous service in the bundle triggered a halt. 7. ServerErrorGeneralError - A general error occurred on the server trying to run the service. |
ServiceTransactionResultMessage | The message associated with the ServiceTransactionResult if applicable. The ServiceTransactionResultMessage is usually null, but in some cases may provide some insight into the ServiceTransactionResult. For example, if a service returns SuccessIncompleteResults the ServiceTransactionResultMessage may contain an explanation of why, such as there being a limit of 100 results per query. There is no standard across services for this field so it should not be relied upon, instead it is better to use it for debugging or additional information and rely on the ServiceTransactionResult which has consistent behaviour. |
ValidationResult | The validation result… 1. Pass - The information supplied to the service passed validation 2. Fail - The information supplied to the service failed validation. 3. Inconclusive - It was not possible to generate a clear validation result from the information supplied. It may be necessary to refer this query for further investigation. 4. NoValidationPerformed - No validation was performed in this case. Check the other information returned by the service to determine why. 5. NotApplicable - The service is not a service that performs validation and therefore validation is not applicable. |
ServiceValidationDetails | This field provides information about the pre-execution validation step and should be read in conjunction with the ValidationResult field. |
HaltTriggered | True if the service halted after this service |
Document Verification
This section describes how the Document Verification API endpoint functions
This section is for consuming the service W2-DATA-DOCUMENT_CHECK-039.
If using W2 Data IDV Check 013 please refer to Upload Document
Endpoints
Endpoint | Description |
---|---|
Crop | This endpoint is used to remove the background from an image of a document. This is helpful when you wish to display the document back to your customer as part their journey. |
Verify | The Verify endpoint performs the document verification. |
Important Definitions
Term | Definition |
---|---|
Document Type | When using W2’s document verification api’s you will be asked to supply the Document Type of the document you are verifying. This refers to the size standards for identification documents specified by ISO. You can read more about the standard here. W2 currently Supports ID1 or ID3 documents |
Crop
This section describes how the Crop API endpoint functions.
The Crop endpoint is used to perform document verification.
How to call the endpoint
To call the endpoint you will need to perform a HTTP POST request to the URL:
Calling document verification crop endpoint using C#
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class Program
{
public class CropResult
{
public string Image { get; set; }
}
static async Task Main(string[] args)
{
var client = new HttpClient();
var content = new MultipartFormDataContent();
content.Add(new ByteArrayContent(File.ReadAllBytes("/ID1-Page1.png")), "Image", "image.png");
content.Add(new StringContent("Id1"), "DocumentType");
content.Add(new StringContent("1"), "Page");
var response = await client.SendAsync(new HttpRequestMessage
{
Method = HttpMethod.Post,
Headers = { { "Authorization", "Basic YourApiKey" } },
RequestUri = new Uri("https://api.w2globaldata.com/document-verification/crop?api=version=1.1"),
Content = content
});
var cropResult = JsonConvert.DeserializeObject<CropResult>(
await response.Content.ReadAsStringAsync());
File.WriteAllBytes("id1-cropped.png", Convert.FromBase64String(cropResult.Image));
Console.WriteLine("Cropped image saved");
Console.ReadLine();
}
}
Api Version | Url |
---|---|
1.1 and greater | https://api.w2globaldata.com/document-verification/crop |
Content Type
The crop endpoint expects the body of requests to be in the form-data format. Responses will be in application/json format
Crop Request Structure
Property | Description |
---|---|
Page (int) | Represents the page of the document you are cropping. - Required - Must be between 1 and 3 - 1 for the front page of the document - 2 for the back page of the document - 3 for additional page of the document |
DocumentType (string) | A string representing the type of the document you are cropping. - Required - Must be either ‘ID1’ or ‘ID3’ |
Image (file) | Image data representing the image you wish to crop - Required - File must be either JPEG, PNG or BMP |
ClientReference (string) | A reference identifying this call for your reference. - Optional |
Crop Response Structure
Example of a full document verification crop response
{
"image": "{Base 64 data removed for documentation}",
"metadata": {
"glare": 0,
"sharpness": 62
}
}
Example provided in REST tab
Property Name | Description |
---|---|
Image(string) | Base 64 string representing the cropped document image. |
Meta Data (object) | Represents extended data obtained from cropping the image. The values provided are not guaranteed to exist on each request. |
Verify
This section describes how the Verify API endpoint functions.
The Verify endpoint is used to perform document verification.
How to call the endpoint
To call the endpoint you will need to perform a HTTP POST request to the URL:
Example of how to call the document verification verify endpoint using C#
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class VerifyResult
{
public string Result { get; set; }
// OTHER PROPERTIES LEFT OUT FOR DEMO
}
public class Program
{
static async Task Main(string[] args)
{
var client = new HttpClient();
var content = new MultipartFormDataContent();
content.Add(new ByteArrayContent(File.ReadAllBytes("/Id1Image-front.png")), "pages", "id1-front.png");
content.Add(new ByteArrayContent(File.ReadAllBytes("/Id1Image-back.png")), "pages", "id1-back.png");
content.Add(new StringContent("Id1"), "DocumentType");
content.Add(new StringContent("123"), "ClientReference");
var response = await client.SendAsync(new HttpRequestMessage
{
Method = HttpMethod.Post,
Headers = { { "Authorization", "Basic YourApiKey" } },
RequestUri = new Uri("https://api.w2globaldata.com/document-verification/verify?api-version=1.1"),
Content = content
});
var verificationResult = JsonConvert.DeserializeObject<VerifyResult>(
await response.Content.ReadAsStringAsync());
Console.WriteLine($"Verification result: {verificationResult.Result}");
Console.ReadLine();
}
}
Api Version | URL |
---|---|
1.1 and greater | https://api.w2globaldata.com/document-verification/verify |
Content Type
The verify endpoint expects the body of requests to be in the form-data format. Responses will be in application/json format.
Verify Request Structure
Property | Description |
---|---|
Pages (File) | An array of image data files that represent the images of the document. - At least one page required - File must be either JPEG, PNG or BMP |
DocumentType (string) | A string representing the type of the document you are cropping. - Required - Must be either ‘ID1’ or ‘ID3’ |
ClientReference (string) | A reference identifying this call for your reference. - Optional |
Example of a full document verification response
{
"alerts": [
{
"name": "Document Expired",
"description": "Checked if the document is expired.",
"mitigation": "The document has expired",
"result": "Refer"
},
{
"name": "Visible Color Response",
"description": "Verified the color response of an element on the visible image.",
"mitigation": "The color response is incorrect",
"result": "Failed"
},
{
"name": "Visible Pattern",
"description": "Verified the presence of a pattern on the visible image.",
"mitigation": "A visible pattern was not found",
"result": "Failed"
},
{
"name": "Document Number Crosscheck",
"description": "Compare the machine-readable document number field to the human-readable document number field.",
"mitigation": "The document numbers do not match",
"result": "Refer"
},
{
"name": "Birth Date Check Digit",
"description": "Verified that the birth date check digit is correct.",
"mitigation": "The birth date check digit is correct",
"result": "Refer"
},
{
"name": "Birth Date Crosscheck",
"description": "Compare the machine-readable birth date field to the human-readable birth date field.",
"mitigation": "The birth dates match",
"result": "Refer"
},
{
"name": "Birth Date Valid",
"description": "Verified that the birth date is valid.",
"mitigation": "The birth date is valid",
"result": "Refer"
},
{
"name": "Composite Check Digit",
"description": "Verified that the composite check digit is correct.",
"mitigation": "The composite check digit is correct",
"result": "Refer"
},
{
"name": "Document Classification",
"description": "Verified that the type of document is supported and is able to be fully authenticated.",
"mitigation": "The document type is supported",
"result": "Refer"
},
{
"name": "Document Crosscheck Aggregation",
"description": "Compared the machine-readable fields to the human-readable fields.",
"mitigation": "There are not a large number of differences between electronic and human-readable data sources",
"result": "Refer"
},
{
"name": "Document Number Check Digit",
"description": "Verified that the document number check digit is correct.",
"mitigation": "The document number check digit is correct",
"result": "Refer"
},
{
"name": "Expiration Date Check Digit",
"description": "Verified that the expiration date check digit is correct.",
"mitigation": "The expiration date check digit is correct",
"result": "Refer"
},
{
"name": "Expiration Date Crosscheck",
"description": "Compare the machine-readable expiration date field to the human-readable expiration date field.",
"mitigation": "The expiration dates match",
"result": "Refer"
},
{
"name": "Expiration Date Valid",
"description": "Verified that the expiration date is valid.",
"mitigation": "The expiration date is valid",
"result": "Refer"
},
{
"name": "Full Name Crosscheck",
"description": "Compare the machine-readable full name field to the human-readable full name field.",
"mitigation": "The full names match",
"result": "Refer"
},
{
"name": "Issue Date Valid",
"description": "Verified that the issue date is valid.",
"mitigation": "The issue date is valid",
"result": "Refer"
},
{
"name": "Issuing State Valid",
"description": "Verified that the issuing state is valid.",
"mitigation": "The issuing state is valid",
"result": "Refer"
},
{
"name": "Sex Crosscheck",
"description": "Compare the machine-readable sex field to the human-readable sex field.",
"mitigation": "The sexes match",
"result": "Refer"
},
{
"name": "Visible Color Response",
"description": "Verified the color response of an element on the visible image.",
"mitigation": "The color response is correct",
"result": "Refer"
},
{
"name": "Visible Pattern",
"description": "Verified the presence of a pattern on the visible image.",
"mitigation": "A visible pattern was found",
"result": "Refer"
}
],
"checkedRegions": [
{
"name": "Back Reg",
"height": 55,
"width": 69,
"xAxis": 180,
"yAxis": 124
},
{
"name": "Background",
"height": 52,
"width": 359,
"xAxis": 325,
"yAxis": 138
},
{
"name": "Background Blue Color",
"height": 52,
"width": 359,
"xAxis": 325,
"yAxis": 138
},
{
"name": "Background EU",
"height": 56,
"width": 65,
"xAxis": 471,
"yAxis": 136
},
{
"name": "Background Red Color",
"height": 52,
"width": 359,
"xAxis": 325,
"yAxis": 138
},
{
"name": "Birth Date",
"height": 37,
"width": 153,
"xAxis": 203,
"yAxis": 69
},
{
"name": "Birth Place",
"height": 35,
"width": 353,
"xAxis": 203,
"yAxis": 97
},
{
"name": "Document Number",
"height": 46,
"width": 177,
"xAxis": 544,
"yAxis": 2
},
{
"name": "Expiration Date",
"height": 31,
"width": 166,
"xAxis": 243,
"yAxis": 150
},
{
"name": "Fixed Reg",
"height": 65,
"width": 83,
"xAxis": 232,
"yAxis": 48
},
{
"name": "Full Name",
"height": 51,
"width": 472,
"xAxis": 244,
"yAxis": 81
},
{
"name": "Issuing Information",
"height": 33,
"width": 168,
"xAxis": 244,
"yAxis": 194
},
{
"name": "Locator",
"height": 164,
"width": 146,
"xAxis": 589,
"yAxis": 107
},
{
"name": "MRZ Locate",
"height": 189,
"width": 155,
"xAxis": 1,
"yAxis": 281
},
{
"name": "MRZ1 (Visible)",
"height": 44,
"width": 699,
"xAxis": 24,
"yAxis": 311
},
{
"name": "MRZ2 (Visible)",
"height": 46,
"width": 699,
"xAxis": 24,
"yAxis": 348
},
{
"name": "MRZ3 (Visible)",
"height": 51,
"width": 699,
"xAxis": 24,
"yAxis": 388
},
{
"name": "MRZ3 Check",
"height": 70,
"width": 86,
"xAxis": 31,
"yAxis": 354
},
{
"name": "Photo",
"height": 261,
"width": 211,
"xAxis": 26,
"yAxis": 165
},
{
"name": "Remarks Photo Side",
"height": 97,
"width": 289,
"xAxis": 248,
"yAxis": 304
},
{
"name": "Seal",
"height": 65,
"width": 120,
"xAxis": 532,
"yAxis": 247
},
{
"name": "Sex",
"height": 36,
"width": 58,
"xAxis": 204,
"yAxis": 140
},
{
"name": "Signature",
"height": 81,
"width": 226,
"xAxis": 499,
"yAxis": 307
},
{
"name": "Signature Label Black",
"height": 39,
"width": 154,
"xAxis": 555,
"yAxis": 387
},
{
"name": "Type Header",
"height": 60,
"width": 323,
"xAxis": 220,
"yAxis": 0
},
{
"name": "Type of Permit",
"height": 51,
"width": 295,
"xAxis": 241,
"yAxis": 242
},
{
"name": "Validator 1",
"height": 66,
"width": 117,
"xAxis": 10,
"yAxis": 1
},
{
"name": "Verify <<",
"height": 122,
"width": 607,
"xAxis": 90,
"yAxis": 316
}
],
"metaData": {
"name": "Tyrion Lannister",
"dateOfBirth": "1990-08-01T00:00:00.0000000Z",
"mrz": "IRGGRJF321822427<<<<<<<<<<<<1234010M1511114KEN<<<<<<<<<<<8ICTHREEMALE<<TECH<REFRESH<<<<<",
"documentNumber": "123456789",
"documentExpiryDate": "31/05/2022"
},
"result": "Refer",
"photo": "<Base 64 encoded image removed for documentation>",
"signature": "<Base 64 encoded image removed for documentation"
}
Example provided in REST tab
Response Properties
This table describes the properties of the response.
Property Name | Description |
---|---|
Alerts (array of objects) | Represents the alerts generated from verifying the document. See the table below for details. |
Checked Regions (array of objects) | Shows the checked regions of the verified document. See the table below for details. |
Meta Data (dictionary) | A dictionary of key value pairs representing data from the verified document. We cannot guarantee the existence of any values in this dictionary. For example, verifying one document may return the Name on the document where as verifying another may not. |
Result | Represents the result of the verification. Possible values: - Pass - Fail - Refer |
Photo | Represents a base 64 encoded image of the cut out photo on the verified document. |
Signature | Represents a base 64 encoded image of the cut out signature on the verified document. |
Alert
Property Name | Description |
---|---|
Name (string) | The name of the alert. |
Description (string) | The description of the alert. |
Mitigation (string) | The action(s) that can manually be performed to mitigate the alert. |
Result (string) | The alert result: Failed - The alert indicates a failure of a document verification metric. Refer - The alert indicates the possible manual verification metric that could not confidently be guaranteed correct by automated checks. |
Alert table
On a document verification, the number of security checks completed varies from document to document, based on the number of security features that the document contains. To achieve an overall Pass, not every check needs to pass, and this alert table will highlight the checks that were not passed.
Checks that do not pass, are broken down into 2 categories – ‘Refer’ and ‘Failed’.
A ‘Refer’ simply refers to a potential warning or information alert that normally indicates that the quality of the image did not allow the check to be completed. Users normally find on human inspection of these, they are passed, and most clients will simply ignore these alerts if the overall result of the Document verification is a Pass.
The ‘Failed’ checks indicate that the check was completed, but there was an element of the check that failed the verification. This will normally be associated with referred or failed checks; however, the visual checks can also fail depending on document classification. These should normally result in some human inspection, but again, are normally only checked in circumstances where the overall document check has not passed.
Regions checked
This table gives co-ordinates of the areas of the document that have been assessed and automatically reviewed. W2 provides these regions so clients can extract the specific regions of the document that relate to the checks that have been completed and inspect/review if they see fit. If clients are storing the documents, these regions can also be used as marker for ‘redacting’ Personal Identifiable Information (PII).
Meta Data
This is the region where extracted information from the document is reported on via optical data recognition (OCR). W2 currently only reports on the Name, Date of birth, Machine-Readable zone (MRZ), Document Number and Document Expiry Date of a document. We are looking to expand these offerings to include document classification, address etc soon.
Result
This is the overall result of the document verification. This is the final, overall recommendation from W2 regarding how the document verification should be treated.
Photo
This is the photo that is extracted by the document verification. It is this photo that is normally used by the facial comparison SDK to compare the selfie picture against.
Signature
If a signature is included on the document, this is the region that will extract the image of the signature.
Checked Regions
Property Name | Description |
---|---|
Name (string) | The name of the document region. |
Height (int) | The height of the document region. |
Width(int) | the width of the document region. |
xAxis (int) | The x-axis co-ordinate or the document region |
yAxis (int) | The y-axis co-ordinate of the document region |
Classify And Verify
This section describes how the Classify And Verify API endpoint functions.
The Classify And Verify endpoint is used to perform document classification and verification.
How to call the endpoint
To call the endpoint you will need to perform a HTTP POST request to the URL:
Example of how to call the document classification and verification classifyAndVerify endpoint using C#
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class ClassifyVerifyResult
{
public DocumentClassification Classification { get; set; }
public DocumentVerification Verification { get; set; }
}
public class DocumentClassification
{
public string ClassificationResult { get; set; }
// OTHER PROPERTIES LEFT OUT FOR DEMO
}
public class DocumentVerification
{
public string Result { get; set; }
// OTHER PROPERTIES LEFT OUT FOR DEMO
}
public class Program
{
static async Task Main(string[] args)
{
var client = new HttpClient();
var content = new MultipartFormDataContent();
content.Add(new ByteArrayContent(File.ReadAllBytes("/Id1Image-front.png")), "pages", "id1-front.png");
content.Add(new ByteArrayContent(File.ReadAllBytes("/Id1Image-back.png")), "pages", "id1-back.png");
content.Add(new StringContent("Id1"), "DocumentType");
content.Add(new StringContent("123"), "ClientReference");
content.Add(new StringContent("true"), "AutoVerify");
var response = await client.SendAsync(new HttpRequestMessage
{
Method = HttpMethod.Post,
Headers = { { "Authorization", "Basic YourApiKey" } },
RequestUri = new Uri("https://api.w2globaldata.com/document-verification/classifyAndVerify?api-version=1.5"),
Content = content
});
var classificationVerificationResult = JsonConvert.DeserializeObject<ClassifyVerifyResult>(
await response.Content.ReadAsStringAsync());
Console.WriteLine($"Classification result: {classificationVerificationResult.Classification.ClassificationResult}");
Console.WriteLine($"Verification result: {classificationVerificationResult.Verification.Result}");
Console.ReadLine();
}
}
Api Version | URL |
---|---|
1.3 and greater | https://api.w2globaldata.com/document-verification/classifyAndVerify |
Content Type
The classifyAndVerify endpoint expects the body of requests to be in the form-data format. Responses will be in application/json format.
Verify Request Structure
Property | Description |
---|---|
Pages (File) | An array of image data files that represent the images of the document. - At least one page required - File must be either JPEG, PNG or BMP |
DocumentType (string) | A string representing the type of the document you are cropping. - Required - Must be either ‘ID1’ or ‘ID3’ |
ClientReference (string) | A reference identifying this call for your reference. - Optional |
AutoVerify (boolean) | A boolean flag indicating whether to perform automatic verification on successful classification. |
Example of a full document verification response
{
"classification": {
"classificationResult": "Pass",
"classificationDetails": {
"classificationName": "Passport",
"version": "2006",
"type": "ePassport",
"issuerCode": "GBR",
"issuerName": "United Kingdom (Citizen)"
}
},
"verification": {
"alerts": [
{
"name": "Document Expired",
"description": "Checked if the document is expired.",
"mitigation": "Check if the document has expired",
"result": "Refer"
},
{
"name": "Birth Date Check Digit",
"description": "Verified that the birth date check digit is correct.",
"mitigation": "The birth date check digit is correct",
"result": "Passed"
},
{
"name": "Birth Date Crosscheck",
"description": "Compare the machine-readable birth date field to the human-readable birth date field.",
"mitigation": "The birth dates match",
"result": "Passed"
},
{
"name": "Birth Date Valid",
"description": "Verified that the birth date is valid.",
"mitigation": "The birth date is valid",
"result": "Passed"
},
{
"name": "Composite Check Digit",
"description": "Verified that the composite check digit is correct.",
"mitigation": "The composite check digit is correct",
"result": "Passed"
},
{
"name": "Document Classification",
"description": "Verified that the type of document is supported and is able to be fully authenticated.",
"mitigation": "The document type is supported",
"result": "Passed"
},
{
"name": "Document Number Check Digit",
"description": "Verified that the document number check digit is correct.",
"mitigation": "The document number check digit is correct",
"result": "Passed"
},
{
"name": "Document Tampering Detection",
"description": "Examines a document for evidence of tampering",
"mitigation": "No evidence of document tampering was detected.",
"result": "Passed"
},
{
"name": "Document Tampering Detection",
"description": "Examines a document for evidence of tampering",
"mitigation": "No evidence of document tampering was detected.",
"result": "Passed"
},
{
"name": "Expiration Date Check Digit",
"description": "Verified that the expiration date check digit is correct.",
"mitigation": "The expiration date check digit is correct",
"result": "Passed"
},
{
"name": "Expiration Date Valid",
"description": "Verified that the expiration date is valid.",
"mitigation": "The expiration date is valid",
"result": "Passed"
},
{
"name": "Full Name Crosscheck",
"description": "Compare the machine-readable full name field to the human-readable full name field.",
"mitigation": "The full names match",
"result": "Passed"
},
{
"name": "Issue Date Valid",
"description": "Verified that the issue date is valid.",
"mitigation": "The issue date is valid",
"result": "Passed"
},
{
"name": "Issuing State Valid",
"description": "Verified that the issuing state is valid.",
"mitigation": "The issuing state is valid",
"result": "Passed"
},
{
"name": "Nationality Valid",
"description": "Verified that the nationality is valid.",
"mitigation": "The nationality is valid",
"result": "Passed"
},
{
"name": "Personal Number Check Digit",
"description": "Verified that the personal number check digit is correct.",
"mitigation": "The personal number check digit is correct",
"result": "Passed"
},
{
"name": "Photo Printing",
"description": "Verified the presence of a printing feature on the photo.",
"mitigation": "The photo printing technique was detected",
"result": "Passed"
},
{
"name": "Visible Pattern",
"description": "Verified the presence of a pattern on the visible image.",
"mitigation": "A visible pattern was found",
"result": "Passed"
},
{
"name": "Visible Pattern",
"description": "Verified the presence of a pattern on the visible image.",
"mitigation": "A visible pattern was found",
"result": "Passed"
},
{
"name": "Visible Pattern",
"description": "Verified the presence of a pattern on the visible image.",
"mitigation": "A visible pattern was found",
"result": "Passed"
},
{
"name": "Visible Photo Characteristics",
"description": "Verifies the visible characteristics of the Photo",
"mitigation": "The photo has the expected appearance",
"result": "Passed"
}
],
"checkedRegions": [
{
"name": "Background",
"height": 270,
"width": 574,
"xAxis": 1337,
"yAxis": 466
},
{
"name": "Background Bird",
"height": 324,
"width": 486,
"xAxis": 986,
"yAxis": 702
},
{
"name": "Birth Date",
"height": 76,
"width": 520,
"xAxis": 625,
"yAxis": 483
},
{
"name": "Birth Place",
"height": 76,
"width": 668,
"xAxis": 801,
"yAxis": 592
},
{
"name": "Color Validator",
"height": 262,
"width": 278,
"xAxis": 1613,
"yAxis": 506
},
{
"name": "Document Type Country Code VIZ",
"height": 109,
"width": 294,
"xAxis": 54,
"yAxis": 1005
},
{
"name": "Expiration Date",
"height": 85,
"width": 520,
"xAxis": 616,
"yAxis": 791
},
{
"name": "Given Name",
"height": 68,
"width": 1224,
"xAxis": 616,
"yAxis": 293
},
{
"name": "Issue Date",
"height": 70,
"width": 511,
"xAxis": 621,
"yAxis": 688
},
{
"name": "Issuing Authority",
"height": 70,
"width": 603,
"xAxis": 1231,
"yAxis": 694
},
{
"name": "MRZ Locate",
"height": 420,
"width": 428,
"xAxis": 0,
"yAxis": 891
},
{
"name": "MRZ1 (Visible)",
"height": 109,
"width": 1774,
"xAxis": 54,
"yAxis": 1005
},
{
"name": "MRZ2 (Visible)",
"height": 73,
"width": 1774,
"xAxis": 54,
"yAxis": 1142
},
{
"name": "Nationality Name",
"height": 70,
"width": 1227,
"xAxis": 614,
"yAxis": 389
},
{
"name": "Photo",
"height": 643,
"width": 518,
"xAxis": 92,
"yAxis": 218
},
{
"name": "Photo Printing",
"height": 629,
"width": 501,
"xAxis": 101,
"yAxis": 220
},
{
"name": "Rt Reg",
"height": 150,
"width": 201,
"xAxis": 1215,
"yAxis": 594
},
{
"name": "Sex",
"height": 68,
"width": 148,
"xAxis": 616,
"yAxis": 592
},
{
"name": "Sex Label Anchor",
"height": 303,
"width": 429,
"xAxis": 525,
"yAxis": 389
},
{
"name": "Signature",
"height": 195,
"width": 579,
"xAxis": 1270,
"yAxis": 786
},
{
"name": "Surname",
"height": 66,
"width": 1233,
"xAxis": 612,
"yAxis": 198
},
{
"name": "Surname Label Anchor",
"height": 341,
"width": 652,
"xAxis": 447,
"yAxis": 0
},
{
"name": "Top Pattern",
"height": 235,
"width": 445,
"xAxis": 6,
"yAxis": 20
},
{
"name": "Validator",
"height": 239,
"width": 540,
"xAxis": 182,
"yAxis": 36
}
],
"metaData": {
"name": "Tyrion Lannister",
"dateOfBirth": "1990-08-01T00:00:00.0000000Z",
"mrz": "IRGGRJF321822427<<<<<<<<<<<<1234010M1511114KEN<<<<<<<<<<<8ICTHREEMALE<<TECH<REFRESH<<<<<",
"documentNumber": "123456789",
"documentExpiryDate": "31/05/2022"
},
"result": "Refer",
"photo": "<Base 64 encoded image removed for documentation>",
"signature": "<Base 64 encoded image removed for documentation>"
}
}
Example provided in REST tab
Response Properties
This table describes the properties of the response.
Property Name | Description |
---|---|
Classification | Represents the classification result of the document. |
Verification | Represents the verification result of the document. Please refer to the response properties here. |
Classification
Property Name | Description |
---|---|
ClassificationResult (string) | The classification result: Pass - Indicates a successful classification of the document. Fail - Indicates a unsuccessful classification of the document. |
ClassificationDetails (dictionary) | A dictionary of key value pairs representing data from the classified document. We cannot guarantee the existence of any values in this dictionary. For example, classifying one document may return the Version on the document where as verifying another may not. However, we do guarantee the existence of ClassificationName - when ClassificationResult of Fail is present ClassificationName will always be Unknown. |
ClassificationDetails
Property Name | Description |
---|---|
ClassificationName (string) | General category of the document type. |
Version (string) | The series - such as year, letter, or integer - to which the document belongs. |
Type (string) | Document subtype, such as Driver License, Driver License Under 21, Identification Card, Over 21, and Under 21. |
IssuerCode (string) | Code of the Government jurisdiction (country, state, or province) that issued the document. |
IssuerName (string) | Government jurisdiction (country, state, or province) that issued the document. |
Verification
The verification response is the same as the Verify endpoint. Please refer to the response properties in the verify endpoint documentation.
Facial Comparison
This section describes how the Facial Comparison API endpoint functions
Example of how to call facial comparison endpoint using C#
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class ComparisonResult
{
public bool IsMatch { get; set; }
public int Confidence { get; set; }
}
public class Program
{
static async Task Main(string[] args)
{
var client = new HttpClient();
var content = new MultipartFormDataContent();
content.Add(new ByteArrayContent(File.ReadAllBytes("/face1.png")), "Current", "current.png");
content.Add(new ByteArrayContent(File.ReadAllBytes("/face2.png")), "Comparison", "comparison.png");
content.Add(new StringContent("123"), "ClientReference");
var response = await client.SendAsync(new HttpRequestMessage
{
Method = HttpMethod.Post,
Headers = { { "Authorization", "Basic YourApiKey" } },
RequestUri = new Uri("https://api.w2globaldata.com/facial-comparison/compare?api-version=1.1"),
Content = content
});
var comparisonResult = JsonConvert.DeserializeObject<ComparisonResult>(
await response.Content.ReadAsStringAsync());
Console.WriteLine($"Comparison result: {comparisonResult.IsMatch}");
Console.ReadLine();
}
}
Endpoints
Endpoint | Description |
---|---|
Compare | This endpoint is used to determine whether the face in two different images are the same or not. |
Request Properties
This details the fields of a facial comparison compare request.
Current (file) | The Current element is the image captured from the device camera. It has to be a file rather than a text. When using the facial comparison endpoint, the Current image can be uploaded from the device. This element is compulsory, it cannot be removed or left empty. - Required - File must be either JPEG, PNG or BMP Please ensure that the image presented is smaller than 1.5Mb. If an image larger than this is presented, the endpoint will compress the image (ensuring that the solution works) however this will have a detrimental effect on the response time. |
Comparison (file) | The Comparison is the image to be compared against the Current image. It has to be a file rather than a text. When using the facial comparison endpoint, the Comparison image can be uploaded from the device. This element is compulsory, it cannot be removed or left empty. - Required - File must be either JPEG, PNG or BMP Please ensure that the image presented is smaller than 1.5Mb. If an image larger than this is presented, the endpoint will compress the image (ensuring that the solution works) however this will have a detrimental effect on the response time. |
ClientReference (string) | The Client Reference identifies this call for your reference. - Optional |
Response Properties
This table describes the properties of the response.
Facial Comparison Full Response Example 1
{
"isMatch": true,
"confidence": 100
}
Example provided in REST tab
Facial Comparison Full Response Example 2
{
"isMatch": false,
"confidence": 12
}
Example provided in REST tab
Property Name | Description |
---|---|
isMatch (Boolean) | Represents whether the uploaded images match each other: true = match, false = not a match. This is based on the confidence score returned, >= 85 will return true, <85 will return false |
confidence (int) | A score of 0 - 100 percentage, 0 indicates no match and 100 indicates 100% match |
Upload Document
This section is for consuming the W2 Data IDV Check 013 service.
If using W2-DATA-DOCUMENT_CHECK-039 please refer to Document verification.
How to call the endpoint
To call the endpoint you will need to perform a HTTP POST request to the URL:
API Version | URL |
---|---|
1.0 | https://api.w2globaldata.com/documentupload?api-version=1.0 (Deprecated) |
1.1 | https://api.w2globaldata.com/document-upload?api-version=1.1 |
1.2 | https://api.w2globaldata.com/document-upload?api-version=1.2 |
1.3 | https://api.w2globaldata.com/document-upload?api-version=1.3 |
1.4 | https://api.w2globaldata.com/document-upload?api-version=1.4 |
1.5 | https://api.w2globaldata.com/document-upload?api-version=1.5 Latest |
Content Type
The document upload endpoint expects the body of requests to be in the form-data format.
Request - Document Upload
Property | Optional/Mandatory | Details |
---|---|---|
ServiceAuthorisation | Mandatory | Contains authorisation information to identify the person using the service. See here |
Reference | Optional | Contains a client-specified tracking reference. Maximum 100 Characters |
Type | Mandatory | None - No type specified / known. JPEG - A JPEG (Joint Picture Experts Group Image). PNG - A PNG (Portable Network Graphics) image. PDF - A PDF (Portable Document Format). |
Document | Mandatory | Base64 Encoded representation of the document to upload. |
Expiry | Optional | Desired expiry date to apply to the document to upload. If left blank, W2 will use the default value of 14 days to expire the document. This can be set anywhere up to a maximum of 6 months. Once the expiration date has been reached, W2 will remove the image data from our system, however the footprint of the upload will be preserved. |
QueryOptions | Optional | Specify optional flags that alter the invocation of the service. See here |
Response - Document Upload
Upload Document Response
{
"bytesUploaded": 108920,
"reference": "123",
"documentTypeValidationSucceeded": true,
"id": "0e397a02-4b7c-5494-abf0-14e2230be606",
"resolvedDocumentType": "JPEG"
}
Example provided in REST tab
Response Properties
Property Name | Description |
---|---|
BytesUploaded | The number of bytes uploaded to check against expected number. |
Reference | An echo of the value that was used on submission - useful when operating asynchronously. |
DocumentTypeValidationSucceeded | Whether or not the resolved document type matched the type specified by the user (e.g if the user specified the document was a PNG, and the document resolved to a PNG, this value is true). |
Id | The system assigned unique Id applied to this document on upload. Used to refer to the document when associating documents with a service as a part of the Files element of a KYC Check request. |
ResolvedDocumentType | The document type as resolved by the service - this can be compared against the expected (submitted) type for validation purposes. - None - No type specified / known. - JPEG - A JPEG (Joint Picture Experts Group Image). - PNG - A PNG (Portable Network Graphics) image. - PDF - A PDF (Portable Document Format) |
Document Size Limit
Case Management
Creation of a Case
What is a case?
A case is a collection of data attribute on a individual or entity on which the verification service will be performed. To trigger a service you will need to create a case containing the attributes you want to return.
Calling our cases API
Example Create Cases Request
{
"Forename": "TEST_FORENAME",
"Surname": "TEST_SURNAME",
"DayOfBirth": 1,
"MonthOfBirth": 1,
"YearOfBirth": 2001,
"ClientReference": "REST_TEST",
"HouseNumber": "20",
"Country": "GBR",
"Postcode": "CF3 3CA",
"Type": "Person",
"OngoingMonitoring":true,
"Email": "[email protected]",
"Region":"South East",
"TaxCode":"123",
"PlaceOfBirth":"London, United Kingdom",
"DrivingLicenceNumber":"RUSSF802087TG9EV11",
"MRZ":"P<CZESPECIMIN<<VZOR<<<<<<<<<<<<<<<<<<<<<<<<<99003853<1CZE1101018M120704611010111<<<<<<94",
"Gender":"M"
}
Example Successful Create Cases Response
{
"caseId": "cd35f8a0-f30c-4cfc-9bcb-12bf58d44876"
}
The section below describes how to call the Case endpoint.
To call the endpoint you will need to perform a HTTP POST request to the URL:
API Version | Url |
---|---|
1.2 | https://api.w2globaldata.com/Cases?api-version=1.2 |
1.3 | https://api.w2globaldata.com/Cases?api-version=1.3 |
1.4 | https://api.w2globaldata.com/Cases?api-version=1.4 |
1.5 | https://api.w2globaldata.com/Cases?api-version=1.5 Latest |
Properties
The following properties pertain for a creation of a case.
Property Name | Type | Optional/Mandatory | Notes |
---|---|---|---|
ClientReference | String | Mandatory | While mandatory the client reference does not have to be unique. You can use this property to link Cases back to entities in your own systems. |
Forename | String | Optional | The Forename of the individual. |
MiddleNames | String | Optional | The MiddleNames of the individual. |
Surname | String | Optional | The Surname of the individual. |
DayOfBirth | Integer | Optional | The DayOfBirth of the individual. |
MonthOfBirth | Integer | Optional | The MonthOfBirth of the individual. |
YearOfBirth | Integer | Optional | The YearOfBirth of the individual. |
Title | String | Optional | The Title of the individual. |
HouseName | String | Optional | The HouseName of the individual. |
HouseNumber | String | Optional | The HouseNumber of the individual. |
Street | String | Optional | The Street of the individual. |
TownCity | String | Optional | The Town/City of the individual. |
County | String | Optional | The County of the individual. |
Country | String | Optional | THe Country of the individual. |
Postcode | String | Optional | The Postcode of the individual. |
Type | String | Optional | The Type of case. If blank the case type will default to an individual case type. |
OngoingMonitoring | Boolean | Optional | Set OngoingMonitoring. |
String | Optional | The Email of the individual. | |
Region | String | Optional | The Region of the individual. |
TaxCode | String | Optional | The TaxCode of the individual. |
PlaceOfBirth | String | Optional | The PlaceOfBirth of the individual. |
DrivingLicenceNumber | String | Optional | The DrivingLicenceNumber of the individual. |
MRZ | String | Optional | The MRZ of the individual. |
Gender | String | Optional | The Gender of the individual. |
The W2 CaseId will be provided if successfully created.
Updating a Case
Situations where you may need to update a case include:
- If an individual gets married and their surname changes.
- If a subject moved house.
- If there was a error in the original case creation.
- If you get additional information you want included in the case.
Calling our update case API
Example Update Cases Request
{
"Forename": "TEST_FORENAME_NEW",
"Surname": "TEST_SURNAME_NEW",
"DayOfBirth": 2,
"MonthOfBirth": 2,
"YearOfBirth": 2002,
"ClientReference": "REST_TEST_NEW",
"HouseNumber": "22",
"Country": "GBR",
"Postcode": "CF3 3CA",
"Type": "Person",
"OngoingMonitoring":false,
"Email": "[email protected]",
"Region":"South West",
"TaxCode":"124",
"PlaceOfBirth":"Cardiff, United Kingdom",
"DrivingLicenceNumber":"RUSSF802087TG9EV12",
"MRZ":"P<CZESPECIMIN<<VZOR<<<<<<<<<<<<<<<<<<<<<<<<<99003853<1CZE1101018M120704611010111<<<<<<94",
"Gender":"M"
}
Example Successful Update Cases Response
{
"Your Case has been updated succesfully",
"caseId": "cd35f8a0-f30c-4cfc-9bcb-12bf58d44876"
}
To call the endpoint you will need to perform a HTTP PUT request to the URL:
API Version | Url |
---|---|
1.3 | https://api.w2globaldata.com/cases/{caseId}?api-version=1.3 |
1.4 | https://api.w2globaldata.com/cases/{caseId}?api-version=1.4 |
1.5 | https://api.w2globaldata.com/cases/{caseId}?api-version=1.5 Latest |
Properties
The following properties pertain for updating a case.
Property Name | Type | Optional/Mandatory | Notes |
---|---|---|---|
ClientReference | String | Mandatory | Your ClientReference. |
Forename | String | Optional | The Forename of the individual. |
MiddleNames | String | Optional | The MiddleNames of the individual. |
Surname | String | Optional | The Surname of the individual. |
DayOfBirth | Integer | Optional | The DayOfBirth of the individual. |
MonthOfBirth | Integer | Optional | The MonthOfBirth of the individual. |
YearOfBirth | Integer | Optional | The YearOfBirth of the individual. |
Title | String | Optional | The Title of the individual. |
HouseName | String | Optional | The HouseName of the individual. |
HouseNumber | String | Optional | The HouseNumber of the individual. |
Street | String | Optional | The Street of the individual. |
TownCity | String | Optional | The Town/City of the individual. |
County | String | Optional | The County of the individual. |
Country | String | Optional | THe Country of the individual. |
Postcode | String | Optional | The Postcode of the individual. |
Type | String | Optional | The Type of case. If blank the case type will default to an individual case type. |
OngoingMonitoring | Boolean | Optional | Set OngoingMonitoring. |
String | Optional | The Email of the individual. | |
Region | String | Optional | The Region of the individual. |
TaxCode | String | Optional | The TaxCode of the individual. |
PlaceOfBirth | String | Optional | The PlaceOfBirth of the individual. |
DrivingLicenceNumber | String | Optional | The DrivingLicenceNumber of the individual. |
MRZ | String | Optional | The passport MRZ of the individual. |
Gender | String | Optional | The Gender of the individual. |
Updating a case returns a Case Id for the updated case.
Getting a Case
Calling our get case API
The section below describes how to call the Get Case endpoint.
Example Successful Get Cases Response
{
"id": "4dbbbc65-e20e-4317-b395-5525405a4955",
"companyId": 1,
"type": "Person",
"forename": "Kev",
"middleNames": "",
"surname": "Flemming",
"dayOfBirth": 0,
"monthOfBirth": 0,
"yearOfBirth": 0,
"clientReference": "some ref",
"title": "something",
"houseName": "number zero",
"houseNumber": "0a",
"street": "string",
"townCity": "something else",
"county": "string",
"country": "string",
"postcode": "string",
"email": "string",
"ongoingMonitoring": true,
"creationDate": "2021-02-08T16:31:46.9916806Z",
"lastUpdatedDate": "2021-05-11T09:33:50.4035756Z",
"Region":"South East",
"TaxCode":"123",
"PlaceOfBirth":"London, United Kingdom",
"DrivingLicenceNumber":"RUSSF802087TG9EV11",
"MRZ":"P<CZESPECIMIN<<VZOR<<<<<<<<<<<<<<<<<<<<<<<<<99003853<1CZE1101018M120704611010111<<<<<<94",
"Gender":"M"
}
To call the endpoint you will need to perform a HTTP GET request to the URL:
API Version | Url |
---|---|
1.4 | https://api.w2globaldata.com/Cases/{caseId}?api-version=1.4 |
1.5 | https://api.w2globaldata.com/Cases/{caseId}?api-version=1.5 Latest |
The W2 Case will be returned, if found.
Searching for a Case(s)
Calling our Search case API
The section below describes how to call the Search Case endpoint. If no search criteria is entered, the endpoint will retrieve the top 100 cases.
Pagination Options
There are two required pagination options that need to be provided in the query string.
- PageNumber
- PageSize
The page size is the number of results we wish to return per page. The page size has a range of 1-1000. The page number is the zero-based index of the page we wish to return.
Searchable fields
- Forename
- Surname
- Client Reference
- Day of Birth
- Month of Birth
- Year of Birth
- Postcode
- Risk Group
- Email
*When searching using a risk group name, a full name must be given i.e. ‘low’ or ‘high’. Risk group names are case sensitive.
Example Successful Search Cases Response
{
"count": 1,
"caseSummarys": [
{
"id": "ce04915e-4baa-4b1a-a964-da90e1c6306f",
"forename": "John",
"surname": "Preston",
"dayOfBirth": 1,
"monthOfBirth": 3,
"yearOfBirth": 2010,
"clientReference": "efg",
"riskGroup": "low",
"lastUpdatedDate": "2021-08-06T14:19:28.7628906Z",
"email": "[email protected]"
}
],
"stats": {
"totalCount": 3,
"pageCount": 3
}
}
To call the endpoint you will need to perform a HTTP GET request to the URL:
API Version | Url |
---|---|
1.5 | https://api.w2globaldata.com/Cases?RiskGroup=low&PageNumber=0&PageSize=1&api-version=1.5 Latest |
The W2 Case(s) will be returned, if found.
Getting Case Results
Calling our get case results API
The section below describes how to call the Get Case Results endpoint. This endpoint retrieves the latest 100 results.
Example Successful Get Cases Response
{
"caseId": "437fb3e1-4430-4265-84da-cc22aa1fde19",
"results": [
{
"id": "e73f75a2-6160-46b9-b1e2-2753e9fbcbb8",
"caseId": "437fb3e1-4430-4265-84da-cc22aa1fde19",
"type": "monitoring",
"reference": "My monitoring reference",
"resultDate": "2021-02-15T10:03:39.3691603+00:00",
"numberOfAlerts": 0
},
{
"id": "6cb53ec0-14d2-4579-9b3a-92e29ca63369",
"caseId": "437fb3e1-4430-4265-84da-cc22aa1fde19",
"type": "monitoring",
"reference": "My monitoring reference",
"resultDate": "2021-02-15T09:44:29.547256+00:00",
"numberOfAlerts": 26
}]
}
To call the endpoint you will need to perform a HTTP GET request to the URL:
API Version | Url |
---|---|
1.4 | https://api.w2globaldata.com/Cases/{caseId}/results?api-version=1.4 |
1.5 | https://api.w2globaldata.com/Cases/{caseId}/results?api-version=1.5 Latest |
The W2 Case Results will be returned, if found.
Getting Case Audit History
Calling our get case audit history case API
The section below describes how to call the Getting Case Audit History endpoint.
Example Successful Get Case Audit Response
{
"audits": [
{
"caseId": "4257206f-18d1-43cd-9388-f7359963c5e0",
"id": "a63a2fda-ade7-4ccc-ab68-0474f3784709",
"actionDate": "2021-05-28T12:57:55.3665984Z",
"action": "Updated",
"propertiesChanged": [
{
"name": "forename",
"old": "dean",
"new": "kev"
},
{
"name": "surname",
"old": "",
"new": "flemming"
},
{
"name": "ClientReference",
"old": "AAA-123/kent",
"new": "AAA-124/kent"
}
]
},
{
"caseId": "4257206f-18d1-43cd-9388-f7359963c5e0",
"id": "0dd2baaf-e64c-40cb-b82d-ac0232a53542",
"user": {
"id": "54616a62-8807-4145-ad6d-2ba36e5fe946",
"name": "bob"
},
"actionDate": "2021-05-28T12:57:55.297519Z",
"action": "Created",
"propertiesChanged": [
{
"name": "forename",
"new": "dean",
},
{
"name": "ClientReference",
"new": "AAA-123/kent",
}
]
}
]
}
To call the endpoint you will need to perform a HTTP GET request to the URL:
API Version | Url |
---|---|
1.4 | https://api.w2globaldata.com/Cases/{caseId}/audits?api-version=1.4 |
1.5 | https://api.w2globaldata.com/Cases/{caseId}/audits?api-version=1.5 Latest |
The 100 most recent W2 Audits for the provided case id will be returned in descending date order, if the case exists.
Assigning Risk Groups to Cases
Calling our assign risk group to case API
The section below describes how to call the Assign Risk Group endpoint.
Request example:
{
"RiskGroupId": "id of a risk group"
}
To call the endpoint you will need to perform a HTTP PUT request to the URL:
API Version | Url |
---|---|
1.5 | https://api.w2globaldata.com/Cases/{caseId}/riskgroup?api-version=1.5 Latest |
A risk Group represents a collection of cases that present a similar level of risk to the organisation, and therefore are monitoring on an ongoing basis to a similar standard. While there are certain risk groups set up by default (Low, High and ex-customer) the client will need to define in the portal the ongoing actions that are taken for the corresponding groups.
This endpoint will assign a case to a risk group.
Unassigning Risk Groups from Cases
Calling our unassign risk group from a case API
The section below describes how to call the Unassign Risk Group endpoint.
To call the endpoint you will need to perform a HTTP DELETE request to the URL:
API Version | Url |
---|---|
1.5 | https://api.w2globaldata.com/Cases/{caseId}/riskgroup?api-version=1.5 Latest |
This endpoint will unassign a case from a risk group.
Bundle Workflow Triggers
This section describes how the Bundle/Workflow trigger API endpoint functions
How to call the endpoint
To call the endpoint you will need to perform a HTTP POST request to the URL:
API Version | Url |
---|---|
1.4 | https://api.w2globaldata.com/case-kyc-check?api-version=1.4 |
1.5 | https://api.w2globaldata.com/case-kyc-check?api-version=1.5 Latest |
Request & Response
Full Request example:
{
"caseId":"15b49d9c-ce55-4adb-a241-6e4020207219",
"bundle":"SPFPlusCheck",
"Options": {
"Sandbox": "False",
"Key": "Value",
"NameQueryMatchThreshold": "Accepted values: 80, 85, 90, 100",
"DateOfBirthMatchThreshold": "Accepted values: -100 to 100"
}
}
KYC Check Response Example (SPF Plus service call):
{
"clientReference": "CaseReference",
"results": {
"spfPlusCheckResult": {
"matchResults": [
{
"matchType": "Person",
"name": "Theresa Jones",
"nameMatchScore": 90,
"profileId": "SANC-d69d6314-4ab0-90db-efa3-735eb3f2a283"
},
{
"matchType": "Unknown",
"name": "Theresa Harrison",
"nameMatchScore": 80,
"profileId": "SANC-4edac9cc-3ee8-f7dc-4ec3-2fa7df3401bd"
}
]
}
},
"transaction": {
"interpretResult": "NotApplicable",
"serviceCallReference": "b3a13e17-1fbf-424a-81f9-1c1c38d43a1a",
"serviceTransactions": [
{
"haltTriggered": false,
"service": "SPFPlusCheck",
"serviceInterpretResult": "MultipleResults",
"serviceTransactionResult": "Success",
"validationResult": "Pass"
}
]
}
}
Request Properties
Use this table to find the meaning of each of the fields in the request.
Property | Description |
---|---|
Bundle | The Bundle section states which bundle you are calling and is mandatory for every service call. A bundle is a collection of services which will be agreed with W2 Support. |
CaseId | The identifier of the case to be used for the bundle call. This field is mandatory. |
Options | These are optional parameters for some extra fields not covered in the Data object. The whole section is optional. The most common use is to set Sandbox mode, where you can call the service and get standard responses. For further information, each service has examples of how to structure a call to the sandbox. NameQueryMatchThreshold and DateOfBirthMatchThreshold options are explained further here: FAQs. These thresholds will only work with these services: SIS Plus, SPF Plus, PEPDesk, Watchlist Check, PEP and Sanction 006, W2-DATA-DISQUALIFIEDS-UK-008, W2 Data Ekyc SCANDI 025 |
Client Provided Data
This section simply reflects back information that was submitted in the API call.
Property | Description |
---|---|
ClientReference | This reflects back the client reference that was supplied in the request |
ClientSubaccount | An optional reference to identify which of your client accounts this call was made for. |
ClientUser | An optional reference to identify which individual user made this call. For future compatibility with W2 products we suggest this value should be the user’s email address. |
RefersToServiceCallReference | Links this call to a previous call by specifying the previous ServiceCallReference. |
Transaction Information
This section contains the interpret result for the whole bundle, the service call reference and a section of meta data for each service.
Property | Description |
---|---|
InterpretResult | The validation result of the Interpret function. 1. Pass - The information supplied to the bundle passed validation. 2. Fail- The information supplied to the bundle failed validation. 3. Inconclusive- It was not possible to generate a clear validation result from the information supplied. It may be necessary to refer this query for further investigation. 4. NoInterpretPerformed - No interpret was performed in this case. Check the other information returned by the services to determine why. 5. NotApplicable - Interpret is not enabled for this bundle. |
ServiceTransactions | A collection of ServiceTransactionInformation objects. See below |
ServiceCallReference | A unique reference for this service call. |
Service Transaction Information
Every service that is called will return one of these:
Property | Description |
---|---|
Service | The service that was invoked. |
ServiceInterpretResult | The validation result of the service interpret function. 1. Pass - The query data resulted in a pass. 2. Fail - The query data resulted in a failure. 3. Inconclusive - The query data resulted in an inconclusive outcome. 4. NoResults - The query data returned no results. 5. OneResult - The query data returned a single result. 6. MultipleResults - The query data returned multiple results. 7. NotApplicable - Interpret is not applicable to the call or wasn’t enabled. 8. NotPerformed - An error prevented this result from being categorised. |
ServiceTransactionResult | The validation result for service transaction. 1. Success - The service executed successfully. 2. SuccessNoResults - The service executed successfully but no results were generated. 3. SuccessIncompleteResults - The service executed successfully but too many results were generated to return them all, so the results have been truncated. 4. MultipleChoices - The service could not continue as there are multiple choices available and one of them must be selected or the query must be submitted with more concise information in order to complete execution. 5. ClientErrorInsufficientInformation - There was insufficient information for the service to execute. Check that all of the required fields for the service were supplied. 6. NotExecutedDueToPreviousHalt - The service was not executed because a previous service in the bundle triggered a halt. 7. ServerErrorGeneralError - A general error occurred on the server trying to run the service. |
ServiceTransactionResultMessage | The message associated with the ServiceTransactionResult if applicable. The ServiceTransactionResultMessage is usually null, but in some cases may provide some insight into the ServiceTransactionResult. For example, if a service returns SuccessIncompleteResults the ServiceTransactionResultMessage may contain an explanation of why, such as there being a limit of 100 results per query. There is no standard across services for this field so it should not be relied upon, instead it is better to use it for debugging or additional information and rely on the ServiceTransactionResult which has consistent behaviour. |
ValidationResult | The validation result… 1. Pass - The information supplied to the service passed validation 2. Fail - The information supplied to the service failed validation. 3. Inconclusive - It was not possible to generate a clear validation result from the information supplied. It may be necessary to refer this query for further investigation. 4. NoValidationPerformed - No validation was performed in this case. Check the other information returned by the service to determine why. 5. NotApplicable - The service is not a service that performs validation and therefore validation is not applicable. |
ServiceValidationDetails | This field provides information about the pre-execution validation step and should be read in conjunction with the ValidationResult field. |
HaltTriggered | True if the service halted after this service |
Risk Groups
What is a Risk Group?
A risk group allows for the classification of cases by risk as determined by your organisation.
Creating Risk Groups
Calling our Risk Group API
Example Successful Create Risk Group Response
{
"riskGroup": {
"name": "high"
}
}
The section below describes how to call the Create Risk Group endpoint.
To call the endpoint you will need to perform a HTTP POST request to the URL:
API Version | Url |
---|---|
1.5 | https://api.w2globaldata.com/riskgroups?api-version=1.5 Latest |
A risk group will be created.
Retrieving Risk Groups
Calling our Risk Group API
Example Successful Get Risk Group Response
[
{
"id": "09e8dca6-e3f5-11eb-ba80-0242ac130004",
"name": "High"
},
{
"id": "1d394f16-e3f5-11eb-ba80-0242ac130004",
"name": "Medium"
},
{
"id": "2175912a-e3f5-11eb-ba80-0242ac130004",
"name": "Low"
}
]
The section below describes how to call the Get Risk Group endpoint.
To call the endpoint you will need to perform a HTTP GET request to the URL:
API Version | Url |
---|---|
1.5 | https://api.w2globaldata.com/riskgroups?api-version=1.5 Latest |
A list of your risk groups will be provided if any exist.
SOAP
API V3 Documentation
An overview of the W2 Global Data API V3
API Version 3
LIVE: https://apiv3.w2globaldata.com/Service.svc?wsdl
UAT: https://apiv3-uat.w2globaldata.com/Service.svc?wsdl
The API exposes two methods: KYCCheck and DocumentUpload.
KYCCheck
This is the most common method for calling the API. The call to the KYCCheck method takes a bundle name and a set of query data as parameters and goes through each service in that bundle. It will return a response from each service that is called along with an interpret result.
DocumentUpload
Some services perform document verification by looking at images of important documents (passports and driving licenses etc.) and as such we need to upload a document to W2. This method is used to upload documents.
KYC Check Request
An explanation of the Request object for the KYCCheck method
Full Request
Here is a complete request for the API. Which fields are required will depend on which service(s) are being called.
A Note on Field Ordering example
<soapenv:Envelope>
<soapenv:Header/>
<soapenv:Body>
<KYCCheck>
<serviceRequest>
<BundleData>
<BundleName>?</BundleName>
</BundleData>
<QueryData>
<AgeVerificationPassIf>?</neur:AgeVerificationPassIf>
<AgeVerificationThreshold>?</neur:AgeVerificationThreshold>
<City>?</City>
<Country>?</Country>
<County>?</County>
<DateOfBirthMatchThreshold>?</DateOfBirthMatchThreshold>
<DayOfBirth>?</DayOfBirth>
<DrivingLicenceNumber>?</DrivingLicenceNumber>
<Email>?</Email>
<Flat>?</Flat>
<Forename>?</Forename>
<Gender>?</Gender>
<HouseName>?</HouseName>
<HouseNumber>?</HouseNumber>
<IP>?</IP>
<IdCardNumber>?</IdCardNumber>
<MRZ>?</MRZ>
<Maiden>?</Maiden>
<MiddleNames>?</MiddleNames>
<MobileNumber>?</MobileNumber>
<MonthOfBirth>?</MonthOfBirth>
<NameQuery>?</NameQuery>
<NameQueryMatchThreshold>?</NameQueryMatchThreshold>
<NationalId>?</NationalId>
<PassportNumber>?</PassportNumber>
<PersonalId>?</PersonalId>
<PhoneNumber>?</PhoneNumber>
<PlaceOfBirth>?</PlaceOfBirth>
<Postcode>?</Postcode>
<ProfileId>?</ProfileId>
<Region>?</Region>
<Street>?</Street>
<Surname>?</Surname>
<TaxCode>?</TaxCode>
<Title>?</Title>
<TravelVisaNumber>?</TravelVisaNumber>
<YearOfBirth>?</YearOfBirth>
</QueryData>
<!--Optional:-->
<QueryOptions>
<KeyValueOfstringstring>
<Key>?</Key>
<Value>?</Value>
</KeyValueOfstringstring>
</QueryOptions>
<ServiceAuthorisation>
<APIKey>?</APIKey>
<ClientReference>?</ClientReference>
<ClientSubaccount>?</ClientSubaccount>
<ClientUser>?</ClientUser>
<RefersToServiceCallReference>?</RefersToServiceCallReference>
</ServiceAuthorisation>
<!--Optional:-->
<UploadedFiles>
<!--Zero or more repetitions:-->
<UploadedFile>
<DocumentReference>?</DocumentReference>
<DocumentUID>?</DocumentUID>
<Group>?</Group>
<Index>?</Index>
<Service>?</Service>
</UploadedFile>
</UploadedFiles>
</serviceRequest>
</KYCCheck>
</soapenv:Body>
</soapenv:Envelope>
{"This only affects SOAP Requests"}
If you’re using a development environment other than Microsoft Visual Studio, or are crafting your requests manually, then you must ensure that all fields are passed in Alphabetical Order - i.e. in the order shown in the example above. This is due to the way that the de-serialisation works on the server side, and is a mandatory requirement.
If you pass the fields in a different order, you will see a Null Reference exception thrown by the service.
Bundle Data
Bundle Data
<BundleData>
<BundleName>{You bundle name here e.g. TEST_KYC_SIS}</BundleName>
</BundleData>
{"Example provided in SOAP tab"}
The bundle data tag indicates which bundle you are calling and is mandatory for every service call. A bundle is a collection of services which will be agreed with W2 Support.
Query Data
Query Data
<QueryData>
<AgeVerificationPassIf>?</neur:AgeVerificationPassIf>
<AgeVerificationThreshold>?</neur:AgeVerificationThreshold>
<City>?</City>
<Country>?</Country>
<County>?</County>
<DateOfBirthMatchThreshold>?</DateOfBirthMatchThreshold>
<DayOfBirth>?</DayOfBirth>
<DrivingLicenceNumber>?</DrivingLicenceNumber>
<Email>?</Email>
<Flat>?</Flat>
<Forename>?</Forename>
<Gender>?</Gender>
<HouseName>?</HouseName>
<HouseNumber>?</HouseNumber>
<IP>?</IP>
<IdCardNumber>?</IdCardNumber>
<MRZ>?</MRZ>
<Maiden>?</Maiden>
<MiddleNames>?</MiddleNames>
<MobileNumber>?</MobileNumber>
<MonthOfBirth>?</MonthOfBirth>
<NameQuery>?</NameQuery>
<NameQueryMatchThreshold>?</NameQueryMatchThreshold>
<NationalId>?</NationalId>
<PassportNumber>?</PassportNumber>
<PersonalId>?</PersonalId>
<PhoneNumber>?</PhoneNumber>
<PlaceOfBirth>?</PlaceOfBirth>
<Postcode>?</Postcode>
<ProfileId>?</ProfileId>
<Region>?</Region>
<Street>?</Street>
<Surname>?</Surname>
<TaxCode>?</TaxCode>
<Title>?</Title>
<TravelVisaNumber>?</TravelVisaNumber>
<YearOfBirth>?</YearOfBirth>
</QueryData>
{"Example provided in SOAP tab"}
SIS (Standard International Sanctions) example
<QueryData>
<DayOfBirth>{e.g. 21}</DayOfBirth>
<MonthOfBirth>{e.g. 02}</MonthOfBirth>
<NameQuery>{e.g. Robert Mugabe}</NameQuery>
<YearOfBirth>{e.g. 1924}</YearOfBirth>
</QueryData>
{"Example provided in SOAP tab"}
Query Options
Sandbox request example
<QueryOptions>
<KeyValueOfstringstring>
<Key>Sandbox</Key>
<Value>True</Value>
</KeyValueOfstringstring>
</QueryOptions>
{"Example provided in SOAP tab"}
These are optional parameters for some extra fields not covered in the Query Data. The whole section is optional. The most common use is to set Sandbox mode, where you can call the service and get standard responses. For further information, each service has examples of how to structure a call to the sandbox.
Service Authorisation
Service Authorisation example
<ServiceAuthorisation>
<APIKey>
Your API key provided by W2.
</APIKey>
<!--Optional:-->
<ClientReference>
A reference identifying this call i.e. My Company Testing.
</ClientReference>
<!--Optional:-->
<ClientSubaccount>
An optional reference to identify which of your client accounts this call was made for.
</ClientSubaccount>
<!--Optional:-->
<ClientUser>
An optional reference to identify which individual user made this call. If specified,
this value must be the email address of a known user account assigned to your company
currently in the W2 Global Database. If a value is specified here that can't be validated
as an existing account, then the call will fail with an Invalid Client User error.
</ClientUser>
<!--Optional:-->
<RefersToServiceCallReference>
Links this call to a previous call by specifying the previous ServiceCallReference.
</RefersToServiceCallReference>
</ServiceAuthorisation>
{"Example provided in SOAP tab"}
Uploaded Files
Uploaded Files example
<UploadedFiles>
<!--Zero or more repetitions:-->
<neur:UploadedFile>
<DocumentReference>
A client-provided reference to help identify the document.
</DocumentReference>
<DocumentUID>
The Unique identifier returned from the Document Upload service when uploading this document.
</DocumentUID>
<Group>
An optional identifier used to group documents.
</Group>
<Index>
An optional value used to indicate the index of this document
within its group (if provided) or overall if no group is specified
</Index>
<Service>
Indicates which service in the specified bundle this document should be associated with
</Service>
</UploadedFile>
</UploadedFiles>
{"Example provided in SOAP tab"}
KYC Check Response
The response object contains the response from every service in your bundle as well as placeholders for any uncalled services. For every service that is called we also return a Service Transaction Information object that contains metadata about that service call. We also include an Interpret result which represents a combined response from all the services called.
Full Response
Full Response example
<Envelope>
<Body>
<KYCCheckResponse>
<KYCCheckResult>
<ClientProvidedData>
<ClientReference>
Your client reference will be visible here.
</ClientReference>
<ClientSubaccount>
If supplied the client sub account will be visible here.
</ClientSubaccount>
<ClientUser>
If supplied the client user will be visible here.
</ClientUser>
<RefersToServiceCallReference>
If supplied the call reference will be visible here.
</RefersToServiceCallReference>
</ClientProvidedData>
<ProcessRequestResult>
<ServiceResult>
<!-- More information about each service's response
can be found on relevant the service's page-->
<DirectorUKCheckResult />
<IDCheckATBravoResult />
<IDCheckAddressLookupResult />
<IDCheckCHBravoResult />
<IDCheckCZBravoResult />
<IDCheckDEAlphaResult />
<IDCheckDEBravoResult />
<IDCheckITBravoResult />
<IDCheckNLAlphaResult />
<IDCheckNameLookupResult />
<IDCheckPassportMRZResult />
<IDCheckRUBravoResult />
<IDCheckSKBravoResult />
<IDCheckUKAlphaResult />
<IDCheckUKDeltaResult />
<IDCheckUKDrivingLicenceNumberResult />
<IDCheckZAAlphaResult />
<IDDocumentCheckResult />
<PEPDeskCheckResult />
<ProfileDetailsResult />
<SISPlusCheckResult />
<SPFPlusCheckResult />
<W2DataAddressLookUp007Result />
<W2DataEkybUk009Result />
<W2DataEkycUk007Result />
<W2DataIdvcheck013Result />
<WatchlistCheckResult >
<W2DataEkycScandi025Result />
</ServiceResult>
<TransactionInformation>
<InterpretResult>
{ NoInterpretPerformed | Pass | Inconclusive | Fail | NotApplicable }
</InterpretResult>
<ServiceCallReference>
{ the unique identifier for this call }
</ServiceCallReference>
<ServiceTransactions>
<--Multiple values here -->
<ServiceTransactionInformation>
<FailedOverTo>
If a service "crashes" we can configure another to take it's place.
the fail-over service name will be here
</FailedOverTo>
<HaltTriggered>
{ true | false}
</HaltTriggered>
<Service>
The name of the service called
</Service>
<ServiceInterpretResult>
{ Pass | Fail | Inconclusive |
NoResults | OneResult | MultipleResults |
NotApplicable | NotPerformed }
</ServiceInterpretResult>
<ServiceTransactionResult>
{ None | SuccessNoResults | SuccessIncompleteResults |
MultipleChoices | ClientErrorInformationFormatInvalid |
ClientErrorInsufficientInformation | NotExecutedDueToPreviousHalt |
ServerErrorGeneralError | ServiceFailureError }
</ServiceTransactionResult>
<ServiceTransactionResultMessage>
Any messages from the service call
</ServiceTransactionResultMessage>
<ServiceValidationDetails>
This object provides the details of the validation step.
If all validation succeeded, then the ValidationFailureReasons
field will be set to null.
</ServiceValidationDetails>
<ValidationResult>
{ Pass | Fail | Inconclusive |
NoValidationPerformed | NotApplicable }
</ValidationResult>
</ServiceTransactionInformation>
</ServiceTransactions>
</TransactionInformation>
</ProcessRequestResult>
</KYCCheckResult>
</KYCCheckResponse>
</Body>
</Envelope>
{"Example provided in SOAP tab"}
Client Provided Data
This section simply reflects back information that was submitted in the API call.
Property | Description |
---|---|
ClientReference | This reflects back the client reference that was supplied in the request. |
ClientSubaccount | An optional reference to identify which of your client accounts this call was made for. |
ClientUser | An optional reference to identify which individual user made this call. For future compatibility with W2 products we suggest this value should be the user’s email address. |
RefersToServiceCallReference | Links this call to a previous call by specifying the previous ServiceCallReference. |
Transaction Information
This section contains the interpret result for the whole bundle, the service call reference and a section of meta data for each service.
Property | Details |
---|---|
InterpretResult | The validation result of the Interpret function. 1. Pass- The information supplied to the bundle passed validation. 2. Fail- The information supplied to the bundle failed validation. 3. Inconclusive- It was not possible to generate a clear validation result from the information supplied. It may be necessary to refer this query for further investigation. 4. NoInterpretPerformed - No interpret was performed in this case. Check the other information returned by the services to determine why. 5. NotApplicable - Interpret is not enabled for this bundle. |
ServiceTransactions | A collection of ServiceTransactionInformation objects. See below |
ServiceCallReference | A unique reference for this service call. |
Service Transaction information
Every service that is called will return one of these:
Property | Details |
---|---|
Service | The service that was invoked. |
ServiceInterpretResult | 1. Pass- The query data resulted in a pass. 2. Fail - The query data resulted in a failure. 3. Inconclusive - The query data resulted in an inconclusive outcome. 4. NoResults - The query data returned no results. 5. OneResult - The query data returned a single result. 6. MultipleResults- The query data returned multiple results. 7. NotApplicable- Interpret is not applicable to the call or wasn’t enabled. 8. NotPerformed - An error prevented this result from being categorised. |
ServiceTransactionResult | 1. Success- The service executed successfully. 2. SuccessNoResults- The service executed successfully but no results were generated. 3. SuccessIncompleteResults- The service executed successfully but too many results were generated to return them all, so the results have been truncated. 4. MultipleChoices - The service could not continue as there are multiple choices available and one of them must be selected or the query must be submitted with more concise information in order to complete execution. 5. ClientErrorInsufficientInformation- There was insufficient information for the service to execute. Check that all of the required fields for the service were supplied. 6. NotExecutedDueToPreviousHalt- The service was not executed because a previous service in the bundle triggered a halt. 7. ServerErrorGeneralError - A general error occurred on the server trying to run the service. |
ServiceTransactionResultMessage | The message associated with the ServiceTransactionResult if applicable. The ServiceTransactionResultMessage is usually null, but in some cases may provide some insight into the ServiceTransactionResult. For example, if a service returns SuccessIncompleteResults the ServiceTransactionResultMessage may contain an explanation of why, such as there being a limit of 100 results per query. There is no standard across services for this field so it should not be relied upon, instead it is better to use it for debugging or additional information and rely on the ServiceTransactionResult which has consistent behaviour. |
ValidationResult | 1. Pass - The information supplied to the service passed validation 2. Fail - The information supplied to the service failed validation. 3. Inconclusive - It was not possible to generate a clear validation result from the information supplied. It may be necessary to refer this query for further investigation. 4. NoValidationPerformed - No validation was performed in this case. Check the other information returned by the service to determine why. 5. NotApplicable - The service is not a service that performs validation and therefore validation is not applicable. |
ServiceValidationDetails | This field provides information about the pre-execution validation step and should be read in conjunction with the ValidationResult field. |
HaltTriggered | True if the service halted after this service |
Upload Document
Upload Document Request
A full description of the upload document request
Sample Requests
This is the structure of a typical SOAP request to the service.
<Envelope>
<Header>
<Action>http://tempuri.org/IService/UploadDocument</Action>
</Header>
<Body>
<UploadDocument>
<DocumentUploadRequest>
<DocumentData>
/9j/4TmVRXhpZgAASUkqAAgAAAANAAABBAABAAAAwBQAAAEBBAABAAAArAsAAA8B//----- Data Truncated
</DocumentData>
<DocumentExpiry>2016-01-01T00:00:00</DocumentExpiry>
<DocumentReference>MyDocumentReference</DocumentReference>
<DocumentType>JPEG</DocumentType>
<ServiceAuthorisation>
<APIKey>APIKey</APIKey>
<ClientReference />
<ClientSubaccount />
<ClientUser />
<RefersToServiceCallReference />
</ServiceAuthorisation>
</documentUploadRequest>
</UploadDocument>
</Body>
</Envelope>
{"Example provided in SOAP tab"}
Property | Details |
---|---|
ServiceAuthorisation | Contains authorisation information to identify the person using the service. See here |
DocumentReference | Contains a client-specified tracking reference. Maximum 100 Characters |
DocumentType | None - No type specified / known. JPEG - A JPEG (Joint Picture Experts Group Image). PNG - A PNG (Portable Network Graphics) image. PDF - A PDF (Portable Document Format) |
DocumentData | Base64 Encoded representation of the document to upload. |
DocumentExpiry | Desired expiry date to apply to the document to upload. If left blank, W2 will use the default value of 14 days to expire the document. This can be set anywhere up to a maximum of 6 months. Once the expiration date has been reached, W2 will remove the image data from our system, however the footprint of the upload will be preserved. |
QueryOptions | Specify optional flags that alter the invocation of the service. See here |
Notes
The maximum file size that we accept for a document upload through SOAP is 4MB. Upload documents up to 15MB through our REST API.
The DocumentData field must contain a Base64 Encoded representation of the document to upload. The recommended method for creating this representation is to use OpenSSL and issuing the following command;
The DocumentData field example
openssl enc -Base64 -in {inputFilePath} -out {outputFilePath}
The output from the above will be a text string similar to;
/9j/4TmVRXhpZgAASUkqAAgAAAANAAABBAABAAAAwBQAAAEBBAABAAAArAsAAA8B
AgAIAAAAqgAAABABAgAJAAAAsgAAABIBAwABAAAAAQAAABoBBQABAAAAvAAAABsB
BQABAAAAxAAAACgBAwABAAAAAgAAADEBAgAOAAAAzAAAADIBAgAUAAAA2gAAABMC
AwABAAAAAQAAAGmHBAABAAAA7gAAACWIBAABAAAAVAwAAGYMAABzYW1zdW5nAFNN
LU45MTBGAABIAAAAAQAAAEgAAAABAAAATjkxMEZYWFUxQk9DMwAyMDE1OjA4OjAz
IDExOjIwOjM5AB8AmoIFAAEAAABoAgAAnYIFAAEAAABwAgAAIogDAAEAAAACAAAA
J4gDAAEAAAAoAAAAAJAHAAQAAAAwMjIwA5ACABQAAAB4AgAABJACABQAAACMAgAA
......(Output truncated)
Upload Document Response
A full description of the upload document request
Example Response
A Response example
<Envelope>
<Body>
<UploadDocumentResponse>
<UploadDocumentResult>
<BytesUploaded>9100</BytesUploaded>
<DocumentReference>MyImage</DocumentReference>
<DocumentTypeValidationSucceeded>true</DocumentTypeValidationSucceeded>
<DocumentUID>756df058-6548-4535-a09d-6e47ffdbbd7d</DocumentUID>
<ResolvedDocumentType>JPEG</ResolvedDocumentType>
</UploadDocumentResult>
</UploadDocumentResponse>
</Body>
</Envelope>
{"Example provided in SOAP tab"}
Property Name | Description |
---|---|
BytesUploaded | The number of bytes uploaded to check against expected number. |
ResolvedDocumentType | The document type as resolved by the service - this can be compared against the expected (submitted) type for validation purposes. None - No type specified / known. JPEG - A JPEG (Joint Picture Experts Group Image). PNG - A PNG (Portable Network Graphics) image. PDF - A PDF (Portable Document Format) |
DocumentTypeValidationSucceeded | Whether or not the resolved document type matched the type specified by the user (e.g if the user specified the document was a PNG, and the document resolved to a PNG, this value is true). |
DocumentUID | The system assigned unique Id applied to this document on upload. Used to refer to the document when associating documents with a service as a part of the UploadedFiles element of a Service Request |
DocumentReference | An echo of the value that was used on submission - useful when operating asynchronously. |
Services
Services Overview
All of our services are exposed through bundles and you will need a bundle name in order to call a service. W2 Support will configure bundles for you, please contact us if this hasn’t been done already.
Each of our service provides different functionality see below for each service.
Footprint | Whether a service leaves a footprint or not |
Sandbox | Whether a service has a sandbox mode available |
Sanctions List Checks
Service | Footprint | Sandbox | Description |
---|---|---|---|
SIS Plus | No | Yes | Checks if a specified person is under a standard international sanction |
SPF Plus | No | Yes | Checks if a specified person is a senior political figure |
PEPDesk | No | Yes | Checks if a specified person is a politically exposed person |
Watchlist Check | No | Yes | DOW Jones Watchlist check |
Profile Details | No | Yes | Profile Details is a profile retrieval service. |
PEP and Sanction 006 | No | Yes | Checks if a specified person is on a PEP or Sanctions list |
W2-DATA-W2-DATA-DISQUALIFIEDS-UK-008 | No | Yes | Perform searches against a list of Disqualified Directors |
Identity Check Services UK
Service | Footprint | Sandbox | Description |
---|---|---|---|
W2 DATA EKYC UK 007 | Yes | Yes | A UK Identity check service |
ID Check Name Lookup | No | Yes | A name verification service. |
Director Check UK | No | Yes | Searches the UK database of directors |
W2 Data Ekyc UK 005 | Yes | Yes | Id check service for the UK |
W2DataEkycUk007B | Yes | Yes | UK Identity verification service |
W2DataEkycUk015 | Yes | Yes | UK Identity verification service |
W2 Data Bank Account Verification Uk 007 Service | Yes | Yes | |
W2 Data Mortality Uk 035 | No | Yes | Mortality verification service |
Identity Check International
Service | Footprint | Sandbox | Description |
---|---|---|---|
Id Check NL Alpha | Yes | Yes | Identity check service for the Netherlands |
ID Check ZA Alpha | Yes | Yes | Identity check service for South Africa |
ID Check AT Bravo | Yes | Yes | Identity check service for Austria |
ID Check CH Bravo | Yes | Yes | Identity check service for Switzerland |
ID Check CZ Bravo | Yes | Yes | Identity Check service for Czech Republic |
ID Check DE Bravo | Yes | Yes | Identity Check service for Germany |
ID Check IT Bravo | Yes | Yes | An Identity Check service for Italy |
ID Check SK Bravo | Yes | Yes | An Identity check service for the Slovak Republic |
W2 Data Ekyc SCANDI 025 | No | No | An Identity Check service for Sweden, Norway and Denmark |
W2 Data EKYC US 005 | Yes | Yes | Identity check for USA |
W2 Data EKYC CA 005 | Yes | Yes | Identity check for Canada |
W2 Data EKYC AU 029 | Yes | Yes | Identity check for Australia |
W2 Data EKYC DK 029 | Yes | Yes | Identity check for Denmark |
W2 Data EKYC ES 029 | Yes | Yes | Identity check for Spain |
W2 Data EKYC FR 029 | Yes | Yes | Identity check for France |
W2 Data EKYC DE 029 | Yes | Yes | Identity check for Germany |
W2 Data EKYC NL 029 | Yes | Yes | Identity check for Netherlands |
W2 Data Ekyc Global Multisource 043 | No | Yes | Global Id check service |
W2 Data Ekyc Singlesource 043 | No | Yes | Global Id check service |
Address Lookup
Service | Footprint | Sandbox | Description |
---|---|---|---|
W2 Data Address Lookup 024 | No | Yes | W2’s address lookup service for the UK and international addresses |
W2 Data Email Validate 010 | No | No | W2’s email validation service |
Document Services
Service | Footprint | Sandbox | Description |
---|---|---|---|
ID Check UK Driving Licence Number | No | Yes | A driving licence verification service |
ID Check Passport MRZ | No | Yes | A passport verification service |
W2 Data IDV Check 013 | No | Yes | An identity verification service that uses physical documentation |
Know Your Business Services
Service | Footprint | Sandbox | Description |
---|---|---|---|
W2 Data EKYB UK 009 | No | Yes | Know your business service for UK and Ireland businesses |
W2 Data EKYB Global Online 009 | No | Yes | A know your business service for Global businesses |
Age Verification
Service | Footprint | Sandbox | Description |
---|---|---|---|
W2 Data Age Verification 007 Service | No | Yes | An age verification service for the UK |
Affordability Services
Service | Footprint | Sandbox | Description |
---|---|---|---|
W2 Affordability Data 045 | No | Yes | An affordability service for identifying financially vulnerable individuals. |
W2 Affordability VRS 045 | No | Yes | An affordability service for identifying self-declared vulnerability individuals. |
W2 Data RNS 007 | Yes | Yes | A simple risk score service for assessing affordability of individuals.</div> |
SIS Plus
Standard International Sanctions (SISPlus) service checks if a specified person is under a standard international sanction. If there are multiple matches, it provides a list of them, up to a limit of 100.
Product Code: W2-DATA-SANCTION-001
Properties
The following properties pertain to this service.
Property Name | Type | Optional/Mandatory | Notes |
---|---|---|---|
NameQuery | String | Mandatory* | The name of the person you are searching for. Default field used for matching, can be blank if Forename/MiddleNames/Surname used instead. |
NameQueryMatchThreshold | Integer | Optional | The minimum name match score to match against. Default is 80 (all matches) |
DateOfBirthMatchThreshold | Integer | Optional | The minimum date of birth score to match against. Default is null (off). If supplied, at least one component of the date of birth must be supplied. |
DayOfBirth | Integer | Optional | Used with DateOfBirthMatchThreshold. |
MonthOfBirth | Integer | Optional | Used with DateOfBirthMatchThreshold. |
YearOfBirth | Integer | Optional | Used with DateOfBirthMatchThreshold. |
Response
The following table gives some more details about the response.
Example Business Response
"SISPlusCheckResult": {
"MatchResults": [
{
"MatchType": "Unknown",
"Name": "GAZPROM TELEKOM, OOO",
"NameMatchScore": "90",
"ProfileId": "SANC-bb310261-ad57-9a34-a4bd-18044e9a0b35"
}
]
}
<SISPlusCheckResult>
<MatchResults>
<!-- one or more of these -->
<CheckMatch>
<BirthDay />
<BirthMonth />
<BirthYear />
<DateOfBirthMatchScore />
<MatchType>Unknown</MatchType>
<Name>GAZPROM TELEKOM, OOO</Name>
<NameMatchScore>90</NameMatchScore>
<ProfileId>SANC-bb310261-ad57-9a34-a4bd-18044e9a0b35</ProfileId>
</CheckMatch>
</MatchResults>
</SISPlusCheckResult>
Example Response
"SISPlusCheckResult": {
"MatchResults": [
{
"MatchType": "Person",
"Name": "KIM, Jong Un",
"NameMatchScore": "90",
"ProfileId": "SANC-3501c004-7b45-3f64-bfa2-158bf79065ac"
}
]
}
<SISPlusCheckResult>
<MatchResults>
<!-- one or more of these -->
<CheckMatch>
<BirthDay />
<BirthMonth />
<BirthYear />
<DateOfBirthMatchScore />
<MatchType>Person</MatchType>
<Name>KIM, Jong Un</Name>
<NameMatchScore>100</NameMatchScore>
<ProfileId>SANC-3501c004-7b45-3f64-bfa2-158bf79065ac</ProfileId>
</CheckMatch>
</MatchResults>
</SISPlusCheckResult>
Property Name | Type | Description |
---|---|---|
BirthDay | String | The birth day of the record matched against. |
BirthMonth | Integer | The birth month of the record matched against. |
BirthYear | Integer | The birth month of the record matched against. |
DateOfBirthMatchScore | Integer | The score that this record’s date of birth matched the query date. |
MatchType | MatchTypeEnum | The type of match where the data is available in the source. See below |
Name | String | The name of the record matched against. Depending on the source data there may be multiple names here combined into one. |
NameMatchScore | Integer | The score that this record’s name matched the query name. |
ProfileId | String | A unique reference for a profile that can be subsequently retrieved in full using the Profile Details Service. |
Notes
The date of birth parameters will be null if no date of birth matching threshold was specified, even if the record has a date of birth, as it reflects the matching that occurred.
MatchTypeEnum
Represents the type of match.
Enumeration Value | Value | Description |
---|---|---|
Person | 1 | The match is a Person. |
Entity | 2 | The match is an Entity. |
Unknown | 3 | The match is of unknown type. This may represent missing data and does not necessarily mean ‘other’. |
Vessel | 4 | The match is a vessel (usually maritime). |
Aircraft | 5 | The match is an aircraft. |
Transaction Result
HaltTriggered | False |
ServiceTransactionResult | Success SuccessNoResults SuccessIncompleteResults - Too many matches generated, results truncated ClientErrorInsufficientInformation - Required field not supplied ClientErrorInformationFormatInvalid - Invalid format in field ServerErrorGeneralError - Error with third party service |
ServiceInterpretResult | OneResult MultipleResults NoResults NotPerformed - An error occurred and the search was not performed |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | NotApplicable - No search occurred to match against Fail - MissingMandatoryField or PatternNotMatched |
Alert Filters
Available Filters
Applying Filters:
"Options": {
"Sandbox": "false",
"IncludeCountries":"GBR,UDF,SUP - Up to 20 comma delimited countries",
"ExcludeEntities": "true | false",
"ExcludeIndividuals": "true | false",
"ExcludeExPeps": "true | false"
}
<QueryOptions>
<KeyValueOfstringstring>
<Key>Sandbox</Key>
<Value>false</Value>
</KeyValueOfstringstring>
<KeyValueOfstringstring>
<Key>IncludeCountries</Key>
<Value>GBR,UDF,SUP - Up to 20 comma delimited countries</Value>
</KeyValueOfstringstring>
<KeyValueOfstringstring>
<Key>ExcludeIndividuals</Key>
<Value>true | false</Value>
</KeyValueOfstringstring>
<KeyValueOfstringstring>
<Key>ExcludeEntities</Key>
<Value>true | false</Value>
</KeyValueOfstringstring>
<KeyValueOfstringstring>
<Key>ExcludeExPeps</Key>
<Value>true | false</Value>
</KeyValueOfstringstring>
</QueryOptions>
Filter Type | Description |
---|---|
Include Countries | If included, this filter will only return alerts that are on profiles that indicate that the main country of residence/activity is in the included country. Please note that if this filter is used, we advise to also use the 2 additional filters for undefined and supra-Nationals. This will include alerts generated for subjects that cannot be readily assigned to a country. |
Exclude Ex-PEPs | If included, this filter excludes alerts that would have been generated on individuals that have left the office that attracted their ‘PEP status’ for a defined period of time. For a risk based approach, it is normally appropriate to consider ex-PEPs for some time, however, this time will differ based on the risk profile of the business that your organisation conducts. |
Exclude Individuals/Entities | When applied, this filter will suppress alerts that are generated on either individuals (if you are conducting a search on a known business/entity) OR suppress entities (if conducting a search on an known individual) |
Sandbox
Example Request - SIS Plus
{
"Bundle": "KYC_SIS",
"Data": {
"NameQuery": "David Cameron"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
If the Sandbox query option is set to “true” the following entry will be returned in the ServiceResult:
Example Response for “Kim Jong Un”:
{
"HaltTriggered": "False",
"ServiceInterpretResult": "Multiple Results",
"ServiceTransactionResult": "Success",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "Pass"
}
<HaltTriggered> False </HaltTriggered>
<ServiceInterpretResult> Multiple Results </ServiceInterpretResult>
<ServiceTransactionResult> Success </ServiceTransactionResult>
<ServiceTransactionResultMessage> "This call was generated using sandbox mode" </ServiceTransactionResultMessage>
<ValidationResult> Pass </ValidationResult>
Example Response for all OTHER name queries:
{
"HaltTriggered": "False",
"ServiceInterpretResult": "NoResults",
"ServiceTransactionResult": "SuccessNoResults",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "Pass"
}
<HaltTriggered> False </HaltTriggered>
<ServiceInterpretResult> NoResults </ServiceInterpretResult>
<ServiceTransactionResult> SuccessNoResults </ServiceTransactionResult>
<ServiceTransactionResultMessage> "This call was generated using sandbox mode" </ServiceTransactionResultMessage>
<ValidationResult> Pass </ValidationResult>
SPF Plus
Senior Political Figures (SPFPlus) service checks if a specified person is a senior political figure (cabinet level or equivalent). If there are multiple matches, it provides a list of them, up to a limit of 100.
Product Code: W2-DATA-SPF-001
Properties
The following properties pertain to this service.
Property Name | Type | Optional/Mandatory | Notes |
---|---|---|---|
NameQuery | String | Mandatory* | The name of the person you are searching for. Default field used for matching, can be blank if Forename/MiddleNames/Surname used instead. |
NameQueryMatchThreshold | Integer | Optional | The minimum name match score to match against. Default is 80 (all matches) |
DateOfBirthMatchThreshold | Integer | Optional | The minimum date of birth score to match against. Default is null (off). If supplied, at least one component of the date of birth must be supplied. |
DayOfBirth | Integer | Optional | Used with DateOfBirthMatchThreshold. |
MonthOfBirth | Integer | Optional | Used with DateOfBirthMatchThreshold. |
YearOfBirth | Integer | Optional | Used with DateOfBirthMatchThreshold. |
Transaction Result
HaltTriggered | False |
ServiceTransactionResult | Success SuccessNoResults SuccessIncompleteResults - Too many matches generated, results truncated ClientErrorInsufficientInformation - Required field not supplied ClientErrorInformationFormatInvalid - Invalid format in field ServerErrorGeneralError - Error with third party service |
ServiceInterpretResult | OneResult MultipleResults NoResults NotPerformed - An error occurred and the search was not performed |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | NotApplicable - No search occurred to match against Fail - MissingMandatoryField or PatternNotMatched |
Response
The following table gives some more details about the response.
Example Response
"SPFPlusCheckResult": {
"MatchResults": [{
"MatchType": "Unknown",
"Name": "KIM Jong Un",
"NameMatchScore": "100",
"ProfileId": "SANC-ee33479b-caaf-1a2d-4d75-e91692143035"
}
]
}
<SPFPlusCheckResult>
<MatchResults>
<CheckMatch>
<BirthDay />
<BirthMonth />
<BirthYear />
<DateOfBirthMatchScore />
<MatchType>Unknown</MatchType>
<Name>KIM Jong Un</Name>
<NameMatchScore>100</NameMatchScore>
<ProfileId>SANC-ee33479b-caaf-1a2d-4d75-e91692143035</ProfileId>
</CheckMatch>
</MatchResults>
</SPFPlusCheckResult>
Property Name | Type | Description |
---|---|---|
BirthDay | String | The birth day of the record matched against. |
BirthMonth | Integer | The birth month of the record matched against. |
BirthYear | Integer | The birth month of the record matched against. |
DateOfBirthMatchScore | Integer | The score that this record’s date of birth matched the query date. |
MatchType | MatchTypeEnum | The type of match where the data is available in the source. See below |
Name | String | The name of the record matched against. Depending on the source data there may be multiple names here combined into one. |
NameMatchScore | Integer | The score that this record’s name matched the query name. |
ProfileId | String | A unique reference for a profile that can be subsequently retrieved in full using the Profile Details Service. |
Notes
The date of birth parameters will be null if no date of birth matching threshold was specified, even if the record has a date of birth, as it reflects the matching that occurred.
MatchTypeEnum
Represents the type of match.
Enumeration Value | Value | Description |
---|---|---|
Person | 1 | The match is a Person. |
Entity | 2 | The match is an Entity. |
Unknown | 3 | The match is of unknown type. This may represent missing data and does not necessarily mean ‘other’. |
Vessel | 4 | The match is a vessel (usually maritime). |
Aircraft | 5 | The match is an aircraft. |
Alert Filters
Available Filters
Applying Filters:
"Options": {
"Sandbox": "false",
"IncludeCountries":"GBR,UDF,SUP - Up to 20 comma delimited countries",
}
<QueryOptions>
<KeyValueOfstringstring>
<Key>Sandbox</Key>
<Value>false</Value>
</KeyValueOfstringstring>
<KeyValueOfstringstring>
<Key>IncludeCountries</Key>
<Value>GBR,UDF,SUP - Up to 20 comma delimited countries</Value>
</KeyValueOfstringstring>
</QueryOptions>
Filter Type | Description |
---|---|
Include Countries | If included, this filter will only return alerts that are on profiles that indicate that the main country of residence/activity is in the included country. Please note that if this filter is used, we advise to also use the 2 additional filters for undefined and supra-Nationals. This will include alerts generated for subjects that cannot be readily assigned to a country. |
Sandbox
Example Request - SPF Plus
{
"Bundle": "KYC_SPF",
"Data": {
"NameQuery": "David Cameron"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
If the Sandbox query option is set to “true” the following entry will be returned in the ServiceResult:
Example Response for “David Cameron”:
{
"HaltTriggered": "False",
"ServiceInterpretResult": "Multiple Results",
"ServiceTransactionResult": "Success",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "Pass"
}
<HaltTriggered> False </HaltTriggered>
<ServiceInterpretResult> Multiple Results </ServiceInterpretResult>
<ServiceTransactionResult> Success </ServiceTransactionResult>
<ServiceTransactionResultMessage> "This call was generated using sandbox mode" </ServiceTransactionResultMessage>
<ValidationResult> Pass </ValidationResult>
Example Response for all OTHER name queries:
{
"HaltTriggered": "False",
"ServiceInterpretResult": "NoResults",
"ServiceTransactionResult": "SuccessNoResults",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "Pass"
}
<HaltTriggered> False </HaltTriggered>
<ServiceInterpretResult> NoResults </ServiceInterpretResult>
<ServiceTransactionResult> SuccessNoResults </ServiceTransactionResult>
<ServiceTransactionResultMessage> "This call was generated using sandbox mode" </ServiceTransactionResultMessage>
<ValidationResult> Pass </ValidationResult>
PEPDesk
Politically Exposed Persons service
PEPDesk service checks if a specified person is a politically exposed person, i.e. they are in a prominent public position or a close relative of someone who is. If there are multiple matches, it provides a list of them, up to a limit of 100.
Product Code: W2-DATA-PEP-003
Properties
The following properties pertain to this service.
Property Name | Type | Optional/Mandatory | Notes |
---|---|---|---|
NameQuery | String | Mandatory* | The name of the person you are searching for. Default field used for matching, can be blank if Forename/MiddleNames/Surname used instead. |
NameQueryMatchThreshold | Integer | Optional | The minimum name match score to match against. Default is 80 (all matches) |
DateOfBirthMatchThreshold | Integer | Optional | The minimum date of birth score to match against. Default is null (off). If supplied, at least one component of the date of birth must be supplied. |
DayOfBirth | Integer | Optional | Used with DateOfBirthMatchThreshold. |
MonthOfBirth | Integer | Optional | Used with DateOfBirthMatchThreshold. |
YearOfBirth | Integer | Optional | Used with DateOfBirthMatchThreshold. |
Response
PEP Desk Response
"PEPDeskCheckResult": {
"MatchResults": [
{
"birthDay": 8,
"birthMonth": 1,
"birthYear": 1983,
"matchType": "Person",
"name": "Kim, Jong Un",
"nameMatchScore": 100,
"profileId": "839ecc35-3ebc-e340-b4cb-f298ce520995"
}
]
}
<PEPDeskCheckResult>
<!-- One or more of these -->
<MatchResults>
<CheckMatch>
<BirthDay>8<BirthDay/>
<BirthMonth>1<BirthMonth/>
<BirthYear>1983</BirthYear>
<DateOfBirthMatchScore />
<MatchType>Person</MatchType>
<Name>Kim, Jong Un</Name>
<NameMatchScore>100</NameMatchScore>
<ProfileId>839ecc35-3ebc-e340-b4cb-f298ce520995</ProfileId>
</CheckMatch>
</MatchResults>
</PEPDeskCheckResult>
The following table gives some more details about the response.
Property Name | Type | Description |
---|---|---|
BirthDay | String | The birth day of the record matched against. |
BirthMonth | Integer | The birth month of the record matched against. |
BirthYear | Integer | The birth month of the record matched against. |
DateOfBirthMatchScore | Integer | The score that this record’s date of birth matched the query date. |
MatchType | MatchTypeEnum | The type of match where the data is available in the source. See below |
Name | String | The name of the record matched against. Depending on the source data there may be multiple names here combined into one. |
NameMatchScore | Integer | The score that this record’s name matched the query name. |
ProfileId | String | A unique reference for a profile that can be subsequently retrieved in full using the Profile Details Service. |
Notes
The date of birth parameters will be null if no date of birth matching threshold was specified, even if the record has a date of birth, as it reflects the matching that occurred.
MatchTypeEnum
Represents the type of match.
Enumeration Value | Value | Description |
---|---|---|
Person | 1 | The match is a Person. |
Entity | 2 | The match is an Entity. |
Unknown | 3 | The match is of unknown type. This may represent missing data and does not necessarily mean ‘other’. |
Vessel | 4 | The match is a vessel (usually maritime). |
Aircraft | 5 | The match is an aircraft. |
Transaction Result
HaltTriggered | False |
ServiceTransactionResult | Success SuccessNoResults SuccessIncompleteResults - Too many matches generated, results truncated ClientErrorInsufficientInformation - Required field not supplied ClientErrorInformationFormatInvalid - Invalid format in field ServerErrorGeneralError - Error with third party service |
ServiceInterpretResult | OneResult MultipleResults NoResults NotPerformed - An error occurred and the search was not performed |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | NotApplicable - No search occurred to match against Fail - MissingMandatoryField or PatternNotMatched |
Alert Filters
Available Filters
Applying Filters:
"Options": {
"Sandbox": "false",
"IncludeCountries":"GBR,UDF,SUP - Up to 20 comma delimited countries",
"ExcludeExPeps": "true | false",
"IncludeExPEPsFromDate": "1990-08-17 OR 1990-08-17T06:04:18Z - UTC Date Time"
}
<QueryOptions>
<KeyValueOfstringstring>
<Key>Sandbox</Key>
<Value>false</Value>
</KeyValueOfstringstring>
<KeyValueOfstringstring>
<Key>IncludeCountries</Key>
<Value>GBR,UDF,SUP - Up to 20 comma delimited countries</Value>
</KeyValueOfstringstring>
<KeyValueOfstringstring>
<Key>ExcludeExPeps</Key>
<Value>true | false</Value>
</KeyValueOfstringstring>
<KeyValueOfstringstring>
<Key>IncludeExPEPsFromDate</Key>
<Value>1990-08-17 OR 1990-08-17T06:04:18Z - UTC Date Time</Value>
</KeyValueOfstringstring>
</QueryOptions>
Filter Type | Description |
---|---|
Include Countries | If included, this filter will only return alerts that are on profiles that indicate that the main country of residence/activity is in the included country. Please note that if this filter is used, we advise to also use the 2 additional filters for undefined and supra-Nationals. This will include alerts generated for subjects that cannot be readily assigned to a country. |
Exclude Ex-PEP | If included, this filter excludes alerts that would have been generated on individuals that have left the office that attracted their ‘PEP status’ for a defined period of time. For a risk based approach, it is normally appropriate to consider ex-PEPs for some time, however, this time will differ based on the risk profile of the business that your organisation conducts. |
IncludeExPEPsFromDate | If included, this filter includes alerts that are generated on individuals who gained their ex-PEP status after the specified date. |
Sandbox
Example Request - PEP Desk
{
"Bundle": "KYC_PEP",
"Data": {
"NameQuery": "David Cameron"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
Example Response for “David Cameron”:
{
"HaltTriggered": "False",
"ServiceInterpretResult": "Multiple Results",
"ServiceTransactionResult": "Success",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "Pass"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>OneResult</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>Pass</ValidationResult>
Example Response for all OTHER name queries:
{
"HaltTriggered": "False",
"ServiceInterpretResult": "NoResults",
"ServiceTransactionResult": "SuccessNoResults",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "Pass"
}
<HaltTriggered> False </HaltTriggered>
<ServiceInterpretResult> NoResults </ServiceInterpretResult>
<ServiceTransactionResult> SuccessNoResults </ServiceTransactionResult>
<ServiceTransactionResultMessage> "This call was generated using sandbox mode" </ServiceTransactionResultMessage>
<ValidationResult> Pass </ValidationResult>
Watchlist Check
Watchlist service checks if a specified person or entity is held within a comprehensive dataset comprising PEP, Sanction, Adverse media content and enforcement watchlists from around the globe. If there are multiple matches, it provides a list of them, up to a limit of 100.
Product Code: W2-DATA-PEP_AND_SANCTION-002
Response
The following shows a sample of the <WatchlistCheckResult>
object that is returned in the <ServiceResult>
Section of the <ProcessRequestResult>
object
Properties
The following properties pertain to this service.
Property Name | Type | Optional/Mandatory | Notes |
---|---|---|---|
NameQuery | String | Mandatory* | The name of the person you are searching for. Default field used for matching, can be blank if Forename/MiddleNames/Surname used instead. |
NameQueryMatchThreshold | Integer | Optional | The minimum name match score to match against. Default is 80 (all matches) |
DateOfBirthMatchThreshold | Integer | Optional | The minimum date of birth score to match against. Default is null (off). If supplied, at least one component of the date of birth must be supplied. |
DayOfBirth | Integer | Optional | Used with DateOfBirthMatchThreshold. |
MonthOfBirth | Integer | Optional | Used with DateOfBirthMatchThreshold. |
YearOfBirth | Integer | Optional | Used with DateOfBirthMatchThreshold. |
Response
The following table gives some more details about the response.
Sample Response - Watchlist Check
"WatchlistCheckResult": {
"MatchResults": [{
"MatchType": "Person",
"Name": "JOHN SMITH",
"NameMatchScore": "85",
"ProfileId": "69e10264-4b90-64fe-b4b7-c9dddafd0241"
}, {
"MatchType": "Person",
"Name": "JOHN JAMES SMITH",
"NameMatchScore": "85",
"ProfileId": "cb5f2851-64c0-6866-0ed1-da306e45efb2"
}
]
}
<WatchlistCheckResult>
<MatchResults>
<CheckMatch>
<BirthDay />
<BirthMonth />
<BirthYear />
<DateOfBirthMatchScore />
<MatchType>Person</MatchType>
<Name>JOHN SMITH</Name>
<NameMatchScore>85</NameMatchScore>
<ProfileId>69e10264-4b90-64fe-b4b7-c9dddafd0241</ProfileId>
</CheckMatch>
<CheckMatch>
<BirthDay />
<BirthMonth />
<BirthYear />
<DateOfBirthMatchScore />
<MatchType>Person</MatchType>
<Name>JOHN JAMES SMITH</Name>
<NameMatchScore>85</NameMatchScore>
<ProfileId>cb5f2851-64c0-6866-0ed1-da306e45efb2</ProfileId>
</CheckMatch>
</MatchResults>
</WatchlistCheckResult>
Property Name | Type | Description |
---|---|---|
BirthDay | String | The birth day of the record matched against. |
BirthMonth | Integer | The birth month of the record matched against. |
BirthYear | Integer | The birth month of the record matched against. |
DateOfBirthMatchScore | Integer | The score that this record’s date of birth matched the query date. |
MatchType | MatchTypeEnum | The type of match where the data is available in the source. See below |
Name | String | The name of the record matched against. Depending on the source data there may be multiple names here combined into one. |
NameMatchScore | Integer | The score that this record’s name matched the query name. |
ProfileId | String | A unique reference for a profile that can be subsequently retrieved in full using the Profile Details Service. |
Notes
The date of birth parameters will be null if no date of birth matching threshold was specified, even if the record has a date of birth, as it reflects the matching that occurred.
MatchTypeEnum
Represents the type of match.
Enumeration Value | Value | Description |
---|---|---|
Person | 1 | The match is a Person. |
Entity | 2 | The match is an Entity. |
Unknown | 3 | The match is of unknown type. This may represent missing data and does not necessarily mean ‘other’. |
Vessel | 4 | The match is a vessel (usually maritime). |
Aircraft | 5 | The match is an aircraft. |
Transaction Result
HaltTriggered | False |
ServiceTransactionResult | Success SuccessNoResults SuccessIncompleteResults - Too many matches generated, results truncated ClientErrorInsufficientInformation - Required field not supplied ClientErrorInformationFormatInvalid - Invalid format in field ServerErrorGeneralError - Error with third party service |
ServiceInterpretResult | OneResult MultipleResults NoResults NotPerformed - An error occurred and the search was not performed |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | NotApplicable - No search occurred to match against Fail - MissingMandatoryField or PatternNotMatched |
Alert Filters
Available Filters
Applying Filters:
"Options": {
"Sandbox": "false",
"IncludeCountries":"GBR,UDF,SUP - Up to 20 comma delimited countries",
"ExcludeEntities": "true | false",
"ExcludeIndividuals": "true | false",
"ExcludeExPeps": "true | false"
}
<QueryOptions>
<KeyValueOfstringstring>
<Key>Sandbox</Key>
<Value>false</Value>
</KeyValueOfstringstring>
<KeyValueOfstringstring>
<Key>IncludeCountries</Key>
<Value>GBR,UDF,SUP - Up to 20 comma delimited countries</Value>
</KeyValueOfstringstring>
<KeyValueOfstringstring>
<Key>ExcludeIndividuals</Key>
<Value>true | false</Value>
</KeyValueOfstringstring>
<KeyValueOfstringstring>
<Key>ExcludeEntities</Key>
<Value>true | false</Value>
</KeyValueOfstringstring>
<KeyValueOfstringstring>
<Key>ExcludeExPeps</Key>
<Value>true | false</Value>
</KeyValueOfstringstring>
</QueryOptions>
Filter Type | Description |
---|---|
Include Countries | If included, this filter will only return alerts that are on profiles that indicate that the main country of residence/activity is in the included country. Please note that if this filter is used, we advise to also use the 2 additional filters for undefined and supra-Nationals. This will include alerts generated for subjects that cannot be readily assigned to a country. |
Exclude Ex-PEPs | If included, this filter excludes alerts that would have been generated on individuals that have left the office that attracted their ‘PEP status’ for a defined period of time. For a risk based approach, it is normally appropriate to consider ex-PEPs for some time, however, this time will differ based on the risk profile of the business that your organisation conducts. |
Exclude Individuals/Entities | When applied, this filter will suppress alerts that are generated on either individuals (if you are conducting a search on a known business/entity) OR suppress entities (if conducting a search on an known individual) |
Sandbox
Example Request - Watchlist
{
"Bundle": "KYC_Watchlist",
"Data": {
"NameQuery": "David Cameron"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
If the Sandbox query option is set to “true” the following entry will be returned in the ServiceResult:
Example Response for “Kim Jong Un”:
{
"HaltTriggered": "False",
"ServiceInterpretResult": "OneResult",
"ServiceTransactionResult": "Success",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "Pass"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>OneResult</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>Pass</ValidationResult>
Example Response for all OTHER name queries:
{
"HaltTriggered": "False",
"ServiceInterpretResult": "NoResults",
"ServiceTransactionResult": "SuccessNoResults",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "Pass"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>NoResults</ServiceInterpretResult>
<ServiceTransactionResult>SuccessNoResults</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>Pass</ValidationResult>
Profile Details
ProfileDetails is a profile retrieval service. For any check that returns a profile ID this service will retrieve the full report on that ID.
Product Codes: W2-DATA-PROFILE_DETAILS-024
Properties
The following properties pertain to this service.
Property Name | Type | Optional/Mandatory | Notes |
---|---|---|---|
ProfileID | String | Mandatory | A unique profile reference, as returned by one of the ‘Check’ services. NB: For UK Directors the ID returned by DirectorUKCheck the Companies House number must be prefixed with ‘DIR-‘, e.g. ‘DIR-99999999’. |
Director UK Details Response
Example Response - Director UK Details
{
"ProfileDetailsResult": {
"DirectorUKDetailsResult": {
"DirectorUKDetailsDirector": {
"Address1": "221B Baker Street",
"Address4": "London",
"BirthDate": "01/01/1970",
"DirectorNumber": "123456789",
"Directorships": {
"Directorship": {
"AppointDate": "01/01/1980",
"CompanyName": "DIRSE LLP",
"CompanyNumber": "AB123456",
"CompanyStatus": "Active - Accounts Filed",
"CreditLimit": "10000",
"CreditRating": "79",
"Function": "LLP Member"
}
},
"Name": "Jessica Black",
"Nationality": "U.KINGDOM",
"Postcode": "W1S 1AA",
"Title": "Mrs"
}
}
}
}
<ProfileDetailsResult>
<DirectorUKDetailsResult >
<DirectorUKDetailsDirector >
<Address1>221B Baker Street</Address1>
<Address2 />
<Address3 />
<Address4>London</Address4>
<Address5 />
<BirthDate>01/01/1970</BirthDate>
<DirectorNumber>123456789</DirectorNumber>
<Directorships>
<Directorship>
<AppointDate>01/01/1980</AppointDate>
<CompanyName>DIRSE LLP</CompanyName>
<CompanyNumber>AB123456</CompanyNumber>
<CompanyStatus>Active - Accounts Filed</CompanyStatus>
<CreditLimit>10000</CreditLimit>
<CreditRating>79</CreditRating>
<Function>LLP Member</Function>
</Directorship>
</Directorships>
<Honours />
<Name>Jessica Black</Name>
<Nationality>U.KINGDOM</Nationality>
<Postcode>W1S 1AA</Postcode>
<Title>Mrs</Title>
</DirectorUKDetailsDirector>
<DirectorUKDetailsErrors />
</DirectorUKDetailsResult>
</ProfileDetailsResult>
Response Properties
Property Name | Type | Description |
---|---|---|
Address1 | String | First line of address. |
Address2 | String | Second line of address. |
Address3 | String | Third line of address. |
Address4 | String | Fourth line of address. |
Address5 | String | Fifth line of address. |
BirthDate | String | Date of birth in a ‘dd/MM/yyyy’ format. |
DirectorNumber | String | Number of director. |
Directorships | Directorships | List of directorships held by director. See below. |
Honours | String | Honours held by director. |
Name | String | Name of director. |
Nationality | String | Nationality of director. |
Postcode | String | Postcode of director. |
Title | String | Title of director. |
Directorships
Directorships are a collection of one or more Directorship items, which are defined below.
Property Name | Type | Description |
AppointDate | String | Date director was appointed. |
CompanyName | String | Name of company. |
CompanyNumber | String | Company number, as listed on Companies House. |
CompanyStatus | String | How active the company still is. |
CreditLimit | String | Credit limit of the company. |
CreditRating | String | Credit rating of the company. |
Function | String | Official function of director. |
PEP Details Response
Example Response - PEP Details
"profileDetailsResult": {
"pepDeskDetailsResult": {
"additionalInformation": [],
"country": [
"European Union",
"United Kingdrom"
],
"dateOfBirth": [
"09.10.1966"
],
"functionDetails": [{
"category": "State Executive Function, Government, Ministries",
"dateNotInchargeSince": "",
"exPEP": false,
"function": "European Council",
"specificFunction": "Member"
}, {
"category": "Heads of State, Major Government Offices and Support",
"dateNotInchargeSince": "",
"exPEP": false,
"function": "Office of the Prime Minister, Cabinet Office",
"specificFunction": "Minister for the Civil Service"
}, {
"category": "Political Leaders",
"dateNotInchargeSince": "",
"exPEP": false,
"function": "Conservative Party",
"specificFunction": "Leader"
}
],
"gender": "Male",
"nameDetails": [{
"alternativeScript": "",
"firstName": "David William Donald",
"fullName": "",
"lastName": "Cameron",
"otherName": "Cameron, David",
"title": "Mr."
}, {
"alternativeScript": "",
"firstName": "David William Donald",
"fullName": "",
"lastName": "Cameron",
"otherName": "Cameron, David",
"title": "The Rt Hon Mr."
}
],
"placeOfBirth": [
"London, United Kingdom"
]
}
}
<PEPDeskDetailsResult >
<AdditionalInformation/>
<Country>
<string>European Union</string>
<string>United Kingdom</string>
</Country>
<DateOfBirth>
<string>09.10.1966</string>
</DateOfBirth>
<FunctionDetails>
<PEPDeskFunctionDetails>
<Category>State Executive Function, Government, Ministries</Category>
<DateNotInchargeSince/>
<ExPEP>false</ExPEP>
<Function>European Council</Function>
<SpecificFunction>Member</SpecificFunction>
</PEPDeskFunctionDetails>
<PEPDeskFunctionDetails>
<Category>Heads of State, Major Government Offices and Support</Category>
<DateNotInchargeSince/>
<ExPEP>false</ExPEP>
<Function>Office of the Prime Minister, Cabinet Office</Function>
<SpecificFunction>Minister for the Civil Service</SpecificFunction>
</PEPDeskFunctionDetails>
<PEPDeskFunctionDetails>
<Category>Political Leaders</Category>
<DateNotInchargeSince/>
<ExPEP>false</ExPEP>
<Function>Conservative Party</Function>
<SpecificFunction>Leader</SpecificFunction>
</PEPDeskFunctionDetails>
</FunctionDetails>
<Gender>Male</Gender>
<NameDetails>
<PEPDeskNameDetails>
<AlternativeScript/>
<FirstName>David William Donald</FirstName>
<FullName/>
<LastName>Cameron</LastName>
<OtherName>Cameron, David</OtherName>
<Title>Mr.</Title>
</PEPDeskNameDetails>
<PEPDeskNameDetails>
<AlternativeScript/>
<FirstName>David William Donald</FirstName>
<FullName/>
<LastName>Cameron</LastName>
<OtherName>Cameron, David</OtherName>
<Title>The Rt Hon Mr.</Title>
</PEPDeskNameDetails>
</NameDetails>
<PlaceOfBirth>
<string>London, United Kingdom</string>
</PlaceOfBirth>
</PEPDeskDetailsResult>
Response Properties
Property Name | Type | Description |
---|---|---|
AdditionalInformation | String | |
Country | String | |
DateOfBirth | String | |
FunctionDetails | PEPDeskFunctionDetails | See below |
Gender | String | |
NameDetails | PEPDeskNameDetails | See below |
PlaceOfBirth | String |
PEPDeskFunctionDetails
Property Name | Type | Description |
---|---|---|
Function | String | |
SpecificFunction | String | |
Category | String | |
DateNotInchargeSince | String | |
ExPEP | Boolean |
PEPDeskNameDetails
Property Name | Type | Description |
---|---|---|
Title | String | |
FirstName | String | |
LastName | String | |
FullName | String | |
OtherName | String | |
AlternativeScript | String |
SIS Plus / SPF Plus Details Response
Example Response - SIS Plus / SPF Plus Details
"sisPlusDetailsResult": {
"active": true,
"addressDetails": [
{
"address": "",
"addressRemarks": "",
"city": "",
"country": "Korea, North",
"postcode": "",
"province": ""
}
],
"aliasDetails": [],
"callsign": [
""
],
"citizenShip": [],
"constituancy": [],
"dateOfBirth": [],
"documents": [],
"email": [],
"eyes": [],
"fax": [],
"grt": [],
"hair": [],
"height": [],
"imageUrl": [],
"languages": [],
"legalBasis": [],
"listingDate": [],
"marks": [],
"nameDetails": [
{
"courtesyTitle": "",
"firstName": "",
"fullName": "KIM, Jong Un",
"lastName": "",
"middleName": "",
"suffix": "",
"title": "Chairman of the Workers' Party of Korea"
}
],
"offense": [],
"pageUrl": [
"http://www.treasury.gov/resource-center/sanctions/SDN-List/Pages/default.aspx"
],
"phone": [],
"placeOfBirth": [],
"politicalParty": [],
"program": [
"DPRK3"
],
"remarks": [
"DOB 08 Jan 1984; Secondary sanctions risk: North Korea Sanctions Regulations, sections 510.201 and 510.210; Transactions Prohibited For Persons Owned or Controlled By U.S. Financial Institutions: North Korea Sanctions Regulations section 510.214; Chairman of the Workers' Party of Korea."
],
"riskCode": [
"WL"
],
"sex": [],
"source": [
"Specially Designated Nationals List"
],
"tin": [],
"tonnage": [],
"type": [
"individual"
],
"vesselFlag": [],
"vesselOwner": [],
"vesselType": [],
"wantedBy": [],
"website": [],
"weight": []
}
"spfPlusDetailsResult": {
"active": true,
"addressDetails": [
{
"address": "",
"addressRemarks": "",
"city": "",
"country": "Korea, North - NDE",
"postcode": "",
"province": ""
}
],
"aliasDetails": [],
"callsign": [],
"citizenShip": [],
"constituancy": [],
"dateOfBirth": [],
"documents": [],
"email": [],
"eyes": [],
"fax": [],
"grt": [],
"hair": [],
"height": [],
"imageUrl": [],
"languages": [],
"legalBasis": [],
"listingDate": [],
"marks": [],
"nameDetails": [
{
"courtesyTitle": "",
"firstName": "KIM",
"fullName": "KIM Jong Un",
"lastName": "Un",
"middleName": "Jong",
"suffix": "",
"title": "Chairman, KWP"
}
],
"offense": [],
"pageUrl": [
"https://www.cia.gov/library/publications/world-leaders-1/KN.html"
],
"phone": [],
"placeOfBirth": [],
"politicalParty": [],
"program": [
"World Leaders"
],
"remarks": [],
"riskCode": [
"PEP"
],
"sex": [],
"source": [
"Chiefs of State and Cabinet Members of Foreign Governments"
],
"tin": [],
"tonnage": [],
"type": [],
"vesselFlag": [],
"vesselOwner": [],
"vesselType": [],
"wantedBy": [
"Central Intelligence Agency"
],
"website": [],
"weight": []
}
<SISPlusDetailsResult xmlns:c="http://schemas.datacontract.org/2004/07/NeuromancerLibrary.DataContracts.SanctionsPlus">
<Active>true</Active>
<AddressDetails>
<SanctionsPlusAddressDetails>
<Address></Address>
<AddressRemarks></AddressRemarks>
<City></City>
<Country>Korea, North</Country>
<Postcode/>
<Province/>
</SanctionsPlusAddressDetails>
</AddressDetails>
<AliasDetails/>
<Callsign></Callsign>
<CitizenShip/>
<Constituancy/>
<DateOfBirth/>
<Documents/>
<Email/>
<Eyes/>
<Fax/>
<GRT/>
<Hair/>
<Height/>
<ImageUrl/>
<Languages/>
<LegalBasis/>
<ListingDate/>
<Marks/>
<NameDetails>
<SanctionsPlusNameDetails>
<CourtesyTitle/>
<FirstName/>
<FullName>KIM, Jong Un</c:FullName>
<LastName/>
<MiddleName/>
<Suffix/>
<Title>Chairman of the Workers' Party of Korea</c:Title>
</SanctionsPlusNameDetails>
</NameDetails>
<Offense/>
<PageUrl>
<string>http://www.treasury.gov/resource-center/sanctions/SDN-List/Pages/default.aspx</string>
</PageUrl>
<Phone/>
<PlaceOfBirth/>
<PoliticalParty/>
<Program>
<string>DPRK3</string>
</Program>
<Remarks>
<string>DOB 08 Jan 1984; Secondary sanctions risk: North Korea Sanctions Regulations, sections 510.201 and 510.210; Transactions Prohibited For Persons Owned or Controlled By U.S. Financial Institutions: North Korea Sanctions Regulations section 510.214; Chairman of the Workers' Party of Korea.</string>
</Remarks>
<RiskCode>
<string>WL</string>
</RiskCode>
<Sex/>
<Source>
<string>Specially Designated Nationals List</string>
</Source>
<TIN/>
<Tonnage/>
<Type>
<string>individual</string>
</Type>
<VesselFlag/>
<VesselOwner/>
<VesselType/>
<WantedBy/>
<Website/>
<Weight/>
</SISPlusDetailsResult>
<SPFPlusDetailsResult>
<Active>true</Active>
<AddressDetails>
<SanctionsPlusAddressDetails>
<Address/>
<AddressRemarks/>
<City/>
<Country>Korea, North - NDE</Country>
<Postcode/>
<Province/>
</SanctionsPlusAddressDetails>
</AddressDetails>
<AliasDetails/>
<Callsign/>
<CitizenShip/>
<Constituancy/>
<DateOfBirth/>
<Documents/>
<Email/>
<Eyes/>
<Fax/>
<GRT/>
<Hair/>
<Height/>
<ImageUrl/>
<Languages/>
<LegalBasis/>
<ListingDate/>
<Marks/>
<NameDetails>
<SanctionsPlusNameDetails>
<CourtesyTitle/>
<FirstName>KIM</FirstName>
<FullName>KIM Jong Un</FullName>
<LastName>Un</LastName>
<MiddleName>Jong</MiddleName>
<Suffix/>
<Title>Chairman, KWP</Title>
</SanctionsPlusNameDetails>
</NameDetails>
<Offense/>
<PageUrl>
<string>https://www.cia.gov/library/publications/world-leaders-1/KN.html</string>
</PageUrl>
<Phone/>
<PlaceOfBirth/>
<PoliticalParty/>
<Program>
<string>World Leaders</string>
</Program>
<Remarks/>
<RiskCode>
<string>PEP</string>
</RiskCode>
<Sex/>
<Source>
<string>Chiefs of State and Cabinet Members of Foreign Governments</string>
</Source>
<TIN/>
<Tonnage/>
<Type/>
<VesselFlag/>
<VesselOwner/>
<VesselType/>
<WantedBy>
<string>Central Intelligence Agency</d:string>
</WantedBy>
<Website/>
<Weight/>
</SPFPlusDetailsResult>
Response Properties
Property Name | Type | Description |
---|---|---|
NameDetails | SanctionsPlusNameDetails | See below. |
Eyes | String | |
Hair | String | |
Weight | String | |
Height | String | |
Marks | String | |
Sex | String | |
Languages | String | |
TIN | String | |
Documents | String | |
PlaceOfBirth | String | |
DateOfBirth | String | |
Citizenship | String | |
Phone | String | |
Fax | String | |
String | ||
Website | String | |
Constituancy | String | |
PoliticalParty | String | |
ImageURL | String | |
PageURL | String | |
Source | String | |
Type | String | |
Offense | String | |
WantedBy | String | |
Program | String | |
LegalBasis | String | |
ListingDate | String | |
Callsign | String | |
VesselType | String | |
Tonnage | String | |
GRT | String | |
VesselFlag | String | |
VesselOwner | String | |
Remarks | String | |
AddressDetails | SanctionsPlusAddressDetails | See below. |
AliasDetails | SanctionsPlusAliasDetails | See below. |
RiskCode | String | |
Active | Boolean | |
Timestamp | DateTime |
Sanctions Plus Name Details
Property Name | Type | Description |
---|---|---|
FullName | String | |
CourtesyTitle | String | |
FirstName | String | |
MiddleName | String | |
LastName | String | |
Suffix | String | |
Title | String |
Sanctions Plus Address Details
Property Name | Type | Description |
---|---|---|
Address | String | |
City | String | |
Province | String | |
Postcode | String | |
Country | String | |
AddressRemarks | String |
Sanctions Plus Alias Details
Property Name | Type | Description |
---|---|---|
AliasType | String | |
AliasName | String |
Watchlist Details Response
Example Response - Watchlist Details
"watchlistDetailsResult": {
"personProfileMatchDetails": {
"action": "Add",
"actionDate": "11-Jun-2014",
"activeStatus": "Inactive",
"addresses": [],
"aliases": [
{
"aliasType": "PrimaryAlias",
"combinedName": "Yong Un Kim",
"firstName": "Yong Un",
"maidenName": "",
"middleName": "",
"originalScriptName": "김용운",
"singleStringName": "",
"suffix": "",
"surname": "Kim",
"titleHonorific": ""
},
{
"aliasType": "SpellingVariation",
"combinedName": "Yong-Un Kim",
"firstName": "Yong-Un",
"maidenName": "",
"middleName": "",
"originalScriptName": "",
"singleStringName": "",
"suffix": "",
"surname": "Kim",
"titleHonorific": ""
}
],
"associations": [],
"birthPlaces": [],
"classifications": [
{
"watchlistClassification": "Politically Exposed Person (PEP)"
}
],
"countries": [
{
"countryCode": "NKOREA",
"countryName": "North Korea",
"countryType": "Citizenship"
},
{
"countryCode": "NKOREA",
"countryName": "North Korea",
"countryType": "Resident of"
},
{
"countryCode": "NKOREA",
"countryName": "North Korea",
"countryType": "Jurisdiction"
}
],
"dateEvents": [
{
"dateType": "Inactive as of (PEP)",
"month": 3,
"year": 2009
}
],
"deceased": false,
"gender": "Male",
"identifiers": [],
"images": [],
"matchType": "Person",
"occupations": [
{
"occupationName": "Members of the National Legislature",
"roleTypeName": "Primary Occupation",
"title": "See Previous Roles"
},
{
"occupationName": "Members of the National Legislature",
"roleTypeName": "Previous Roles",
"sinceMonth": 8,
"sinceYear": 2003,
"title": "Delegate, Supreme People's Assembly, Constituency 657",
"toMonth": 3,
"toYear": 2009
}
],
"primaryAlias": "Yong Un Kim",
"profileId": "4b56c673-b6fb-b269-0ca4-18a2c53d7586",
"sanctions": [],
"sources": []
}
<WatchlistDetailsResult>
<EntityProfileMatchDetails/>
<PersonProfileMatchDetails>
<Action>Add</Action>
<ActionDate>11-Jun-2014</ActionDate>
<ActiveStatus>Inactive</ActiveStatus>
<Addresses/>
<Aliases>
<c:WatchlistPersonAliasData>
<AliasType>PrimaryAlias</AliasType>
<CombinedName>Yong Un Kim</CombinedName>
<FirstName>Yong Un</c:FirstName>
<MaidenName/>
<MiddleName/>
<OriginalScriptName>김용운</OriginalScriptName>
<SingleStringName/>
<Suffix/>
<Surname>Kim</Surname>
<TitleHonorific/>
</WatchlistPersonAliasData>
<WatchlistPersonAliasData>
<AliasType>SpellingVariation</AliasType>
<CombinedName>Yong-Un Kim</CombinedName>
<FirstName>Yong-Un</FirstName>
<MaidenName/>
<MiddleName/>
<OriginalScriptName/>
<SingleStringName/>
<Suffix/>
<Surname>Kim</c:Surname>
<TitleHonorific/>
</WatchlistPersonAliasData>
</Aliases>
<Associations/>
<BirthPlaces/>
<Classifications>
<WatchlistClassificationData>
<ListClassification/>
<SubListClassification/>
<WatchlistClassification>Politically Exposed Person (PEP)</WatchlistClassification>
</WatchlistClassificationData>
</Classifications>
<Countries>
<WatchlistCountryData>
<CountryCode>NKOREA</CountryCode>
<CountryName>North Korea</CountryName>
<CountryType>Citizenship</CountryType>
</WatchlistCountryData>
<WatchlistCountryData>
<CountryCode>NKOREA</CountryCode>
<CountryName>North Korea</CountryName>
<CountryType>Resident of</CountryType>
</WatchlistCountryData>
<WatchlistCountryData>
<CountryCode>NKOREA</CountryCode>
<CountryName>North Korea</CountryName>
<CountryType>Jurisdiction</CountryType>
</WatchlistCountryData>
</Countries>
<DateEvents>
<WatchlistDateEventData>
<DateType>Inactive as of (PEP)</DateType>
<Day/>
<Month>3</Month>
<Notes/>
<Year>2009</Year>
</WatchlistDateEventData>
</DateEvents>
<Deceased>false</Deceased>
<Gender>Male</Gender>
<Identifiers/>
<Images/>
<MatchType>Person</MatchType>
<Occupations>
<WatchlistOccupationData>
<OccupationName>Members of the National Legislature</OccupationName>
<RoleTypeName>Primary Occupation</RoleTypeName>
<SinceDay/>
<SinceMonth/>
<SinceYear/>
<Title>See Previous Roles</Title>
<ToDay/>
<ToMonth/>
<ToYear/>
</WatchlistOccupationData>
<WatchlistOccupationData>
<OccupationName>Members of the National Legislature</OccupationName>
<RoleTypeName>Previous Roles</RoleTypeName>
<SinceDay/>
<SinceMonth>8</SinceMonth>
<SinceYear>2003</SinceYear>
<Title>Delegate, Supreme People's Assembly, Constituency 657</Title>
<ToDay/>
<ToMonth>3</ToMonth>
<ToYear>2009</ToYear>
</WatchlistOccupationData>
</Occupations>
<PrimaryAlias>Yong Un Kim</PrimaryAlias>
<ProfileId>4b56c673-b6fb-b269-0ca4-18a2c53d7586</c:ProfileId>
<ProfileNotes/>
<Sanctions/>
<Sources/>
</PersonProfileMatchDetails>
</WatchlistDetailsResult>
Response Properties
Property Name | Type | Description |
---|---|---|
Action | WatchlistActionStatusEnum | The last action that was performed on the record. See below for more information. |
ActionDate | String | The date the last action was performed on the record. |
ActiveStatus | WatchlistActiveStatusEnum | Whether or not the record is marked as active. See below for more information. |
Addresses | WatchlistAddressData | The addresses of the record. See below for details. |
Aliases | WatchlistEntityAliasData | The aliases of the record. See below for details. |
Associations | WatchlistAssociateData | The known associates of the record. See below for details. |
BirthPlaces | WatchlistBirthPlaceData | Information about the birth places of the record. See below for details. |
Classifications | WatchlistClassificationData | The classifications of the record. See below for details. |
Countries | WatchlistCountryData | The countries associated with the record. See below for details. |
DateEvents | WatchlistDateEventData | The dates of key events related to the record. See below for details. |
Deceased | Boolean | Whether or not the record is deceased. |
Gender | WatchlistGenderEnum | The gender of the record. See below for details. |
Identifiers | WatchlistIdentifierData | Any identifiers associated with the record. See below for details. |
Images | WatchlistImageData | Any images associated with the record. See below for details. |
MatchType | MatchTypeEnum | The type of record. See below for details. |
Occupations | WatchlistOccupationData | The occupations associated with the record. See below for details. |
PrimaryAlias | String | The primary alias of the record. |
ProfileId | String | The unique Profile Id for this record. |
ProfileNotes | String | Additional notes associated with the record. |
Sanctions | WatchlistSanctionData | The sanctions that apply to this record. See below for details. |
Sources | WatchlistSourceData | The sources the information about this record is derived from. |
Vessels | WatchlistVesselData | Any vessels (usually maritime) associated with the record. See below for details. |
WatchlistActionStatusEnum
Enumeration Name | Value | Description |
---|---|---|
Delete | 1 | Represents a delete action. |
Change | 2 | Represents a change action. |
Add | 3 | Represents an add action. |
WatchlistActiveStatusEnum
Enumeration Name | Value | Description |
---|---|---|
Active | 1 | The record is active. |
Inactive | 2 | The record is inactive. |
WatchlistAddressData
Property Name | Type | Description |
---|---|---|
AddressLine | String | The first line of the address, usually house number, street name, PO Box, etc. |
CountryProfileUrl | String | Represents the name of the Dow Jones Country Profile Document. |
City | String | The city component of the address. |
CountryCode | String | The country code for the address. |
WatchlistEntityAliasData
Property Name | Type | Description |
---|---|---|
Name | String | The name of the alias. |
SingleStringName | String | The single string name of the alias. |
OriginalScriptName | String | The name of the alias in its original script if available. |
AliasType | WatchlistAliasTypeEnum | The type of alias. See below for further details. |
WatchlistAliasTypeEnum
Enumeration Name | Value | Description |
---|---|---|
PrimaryAlias | 1 | The alias is the primary alias of the record. |
AlsoKnownAs | 2 | The record is also known as this alias. |
FormerlyKnownAs | 3 | The record was formerly known by this alias. |
NowKnownAs | 4 | The record is now known by this alias. |
Unknown | 5 | The type of alias is unknown. |
MaidenName | 6 | The alias is a maiden name of the record. |
SpellingVariation | 7 | The alias a spelling variation of another alias. |
LowQualityAlsoKnownAs | 8 | The alias is record is also known by this alias, but the reliability of this information may be poor. |
WatchlistAssociateData
Property Name | Type | Description |
---|---|---|
Name | String | The name of the associate. |
ProfileId | String | The Profile Id of the associate. |
Relationship | String | The relationship the associate has to the record. |
Ex | Boolean | Whether or not the associate is an ex-associate. |
WatchlistBirthPlaceData
Property Name | Type | Description |
---|---|---|
BirthPlace | String | The birthplace of the record. |
WatchlistClassificationData
Property Name | Type | Description |
---|---|---|
WatchlistClassification | String | The main classification, usually Politically Exposed Person (PEP), Relative or Close Associate (RCA), Special Interest Person (SIP), or Special Interest Entity (SIE). |
ListClassification | String | The list classification. This depends on the WatchlistClassification. It usually indicates a type of crime or a list the record belongs to that is relevant to the WatchlistClassification. |
SubListClassification | String | The sub classification. This depends on the ListClassification. It is usually a more specific classification, for example a specific crime. |
WatchlistCountryData
Property Name | Type | Description |
---|---|---|
CountryCode | String | The country code. |
CountryName | String | The name of the country. |
CountryType | String | The type of relationship with the country. For example, the record could be a resident. |
WatchlistDateEventData
Property Name | Type | Description |
---|---|---|
Day | Integer | The day the event occurred. |
Month | Integer | The month the event occurred. |
Year | Integer | The year the event occurred. |
Notes | String | Any notes associated with the date event. |
DateType | String | The type of event, e.g. date of birth, date of resignation, etc. |
WatchlistGenderEnum
Enumeration Name | Value | Description |
---|---|---|
Unknown | 0 | The record’s gender is unknown or unspecified. |
Male | 1 | The record’s gender is Male. |
Female | 2 | The record’s gender is Female. |
WatchlistIdentifierData
Property Name | Type | Description |
---|---|---|
IDType | String | The type of identifier. This is usually a document identifier such as company number, passport number, etc. |
Value | String | The value of the identifier. This is the actual value of the IDType, such as the actual passport number. |
Notes | Integer | Any notes associated with the identifier. |
WatchlistImageData
Property Name | Type | Description |
---|---|---|
ImageURL | String | The URL of an image associated with the record. |
MatchTypeEnum
Enumeration Name | Value | Description |
---|---|---|
Person | 1 | The match is a Person. |
Entity | 2 | the match is an Entity. |
Unknown | 3 | The match is of unknown type. This may represent missing data and does not necessarily mean ‘other’. |
Vessel | 4 | The match is a vessel (usually maritime). |
Aircraft | 5 | The match is an aircraft. |
WatchlistOccupationData
Property Name | Type | Description |
---|---|---|
RoleTypeName | String | The type of the role, usually primary occupation, other role, or previous role. |
SinceDay | Integer | The day the occupation began. |
SinceMonth | Integer | The month the occupation began. |
SinceYear | Integer | The year the occupation began. |
ToDay | Integer | The day the occupation ended. |
ToMonth | Integer | The month the occupation ended. |
ToYear | Integer | The year the occupation ended. |
OccupationName | String | The name of the occupation. |
Title | String | The title the record holds. If the record is deceased this may sometimes be indicated here. |
WatchlistSanctionData
Property Name | Type | Description |
---|---|---|
SanctionName | String | The name of the sanction, usually an official list. |
SanctionStatus | String | The status of the sanction (not the record), usually whether it is a current or suspended sanction. |
ListCategoryName | String | The ListCategory associated with the sanction (not the record). |
SinceDay | Integer | The day this sanction started. |
SinceMonth | Integer | The month this sanction started. |
SinceYear | Integer | The year this sanction started. |
ToDay | Integer | The day this sanction ended. |
ToMonth | Integer | The month this sanction ended. |
ToYear | Integer | The year this sanction ended. |
WatchlistSourceData
Property Name | Type | Description |
---|---|---|
Source | String | The source used to obtain data about the record. Usually a URL or document name. |
WatchlistVesselData
Property Name | Type | Description |
---|---|---|
VesselCallSign | String | The call sign of the vessel. |
VesselType | String | The type of vessel. |
VesselTonnage | String | The tonnage of the vessel. |
VesselGRT | String | The gross register tonnage (GRT) of the vessel. |
VesselOwner | String | The owner of the vessel. |
VesselFlag | String | The flag belonging to the vessel. |
PEP and Sanctions 006 Details Response
Example Response - PEP and Sanctions 006 Details
"w2DataPepAndSanction006DetailsResult": {
"addresses": [],
"aka": "",
"aliases": [],
"countryName": "Korea, Democratic People's Republic Of",
"directId": "49cbbbe4-c838-4a45-8f76-79b9644f5f11",
"dob": "January 08, 1984",
"dob2": "January 08, 1983",
"effectiveDate": "2016",
"entryCategory": "PEP",
"entryDesc": "Individual",
"firstName": "Jong-un",
"govDesignation": "",
"lastName": "Kim",
"levelDesc": "N/A",
"masterId": 0,
"name": "Kim, Jong-un",
"nationalId": "",
"otherId": "",
"passportId": "",
"pob": "Pyongyang, North Korea",
"positions": "Sanctioned Entity. Supreme Leader of North Korea, effective from December 17, 2011.",
"prefix": "",
"primaryName": "김정은",
"profileId": "WC225108553",
"relatedId": 0,
"relationships": [],
"remarks": "According to bbc.com; July 6, 2016: Kim Jong-un has been imposed sanctions for human rights abuses by the US Treasury. Kim was named as directly responsible for violations in North Korea which is already under an extensive sanctions regime for its nuclear",
"sourceName": "Website",
"subCatDesc": "Govt Branch Member",
"suffix": "",
"touchDate": "2019-08-02T10:02:34.443",
"watch": false
}
<ProfileDetailsResult>
<W2DataPepAndSanction006DetailsResult>
<Addresses/>
<Aka/>
<Aliases/>
<CountryName>Korea, Democratic People's Republic Of</CountryName>
<DirectId>49cbbbe4-c838-4a45-8f76-79b9644f5f11</DirectId>
<Dob>January 08, 1984</Dob>
<Dob2>January 08, 1983</Dob2>
<EffectiveDate>2016</EffectiveDate>
<EntryCategory>PEP</EntryCategory>
<EntryDesc>Individual</EntryDesc>
<FirstName>Jong-un</FirstName>
<GovDesignation/>
<LastName>Kim</LastName>
<LevelDesc>N/A</LevelDesc>
<MasterId>0</MasterId>
<Name>Kim, Jong-un</Name>
<NationalId/>
<OtherId/>
<PassportId/>
<Pob>Pyongyang, North Korea</Pob>
<Positions>Sanctioned Entity. Supreme Leader of North Korea, effective from December 17, 2011.</Positions>
<Prefix/>
<PrimaryName>김정은</PrimaryName>
<ProfileId>WC225108553</ProfileId>
<RelatedId>0</RelatedId>
<Relationships/>
<Remarks>According to bbc.com; July 6, 2016: Kim Jong-un has been imposed sanctions for human rights abuses by the US Treasury. Kim was named as directly responsible for violations in North Korea which is already under an extensive sanctions regime for its nuclear</Remarks>
<SourceName>Website</SourceName>
<SourceWebLinks/>
<SubCatDesc>Govt Branch Member</SubCatDesc>
<Suffix/>
<TouchDate>2019-08-02T10:02:34.443</TouchDate>
<Watch>false</c:Watch>
</W2DataPepAndSanction006DetailsResult>
</ProfileDetailsResult>
Response Properties
Property Name | Type | Description |
---|---|---|
Addresses | String[] | List of addresses |
Aka | String | Nickname |
Aliases | String[] | List of alternative names |
CountryName | String | Country |
DirectId | String | Original supplier ID |
DOB | String | Date of birth |
DOB2 | String | Second date of birth |
EffectiveDate | String | Date that record became active |
EntryCategory | String | Category of record |
EntryDesc | String | Type of entity |
ExpirationDate | String | Date of record expiry |
FirstName | String | First name |
GovDesignation | String | Categorisation of record as given by the regulatory body |
LastName | String | Last name |
LevelDesc | String | Level of exposure for the PEP |
MasterId | String | Profile ID for consolidated sanctions profiles |
Name | String | Full name |
NationalId | String | National ID number |
Organization | String | Organisation that entity belongs to |
OtherId | String | Identification value for other unique forms of identification offered by countries |
PassportId | String | Passport number |
PictureFile | String | Indicates if a picture is available |
Pob | String | Place of birth |
Positions | String | Positions held |
Prefix | String | Title, i.e. “Mr” |
PrimaryName | String | Original, non-Romanized name |
ProfileId | String | Profile ID |
RelatedId | String | Indicates that relationships exist with other entities |
Relationships | String | Lists relationships with other entities. These contain the following values: Is (string): Nature of relationship ToName (string): Name of relation ToProfileId (string): Profile ID of relation |
Remarks | String | Any additional miscellaneous information |
SourceName | String | Source where entry originated |
SourceWebLink(Deprecated) | String | URL of information source |
SourceWebLinks | String | URL of information source |
SubCatDesc | String | Record sub-category |
Suffix | String | Name suffix |
TouchDate | String | Last date of change to record |
Watch | String | Indicates that there is negative news about the PEP |
Sandbox
Example Request - Profile Details
{
"Bundle": "KYC_ProfileDetails",
"Data": {
"NameQuery": "David Cameron"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
If the Sandbox query option is set to “true” the following entry will be returned in the ServiceResult:
Example Response for “DIR-123456789”:
{
"HaltTriggered": "False",
"ServiceInterpretResult": "NotApplicable",
"ServiceTransactionResult": "Success",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>NotApplicable</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
Example Response for “69e10264-4b90-64fe-b4b7-c9dddafd0241”:
{
"HaltTriggered": "False",
"ServiceInterpretResult": "NotApplicable",
"ServiceTransactionResult": "Success",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>NotApplicable</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
Example Response for “cb5f2851-64c0-6866-0ed1-da306e45efb2”:
{
"HaltTriggered": "False",
"ServiceInterpretResult": "NotApplicable",
"ServiceTransactionResult": "Success",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>NotApplicable</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
Example Response for “79bb61cd-6dca-b477-d688-c41947e11c4f”:
{
"HaltTriggered": "False",
"ServiceInterpretResult": "NotApplicable",
"ServiceTransactionResult": "Success",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>NotApplicable</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
Example Response for “SANC-a39a68a8-f82b-df96-f880-dedcafc2f1fb”:
{
"HaltTriggered": "False",
"ServiceInterpretResult": "NotApplicable",
"ServiceTransactionResult": "Success",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>NotApplicable</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
Example Response for “SANC-cbe61692-1455-5cb6-879f-03864696e457”:
{
"HaltTriggered": "False",
"ServiceInterpretResult": "NotApplicable",
"ServiceTransactionResult": "Success",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>NotApplicable</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
PEP and Sanction 006
The following profile ID’s will give PEP and Sanction 006 profile details responses in sandbox mode:
- WC49767
- WC66266
- WC191511
- WC209189
- WC401565
- WC1868226
- WC1980603
- WC2320427
- WC7064012
- WC7245560
- WC7310683
- WC225000086
Example ServiceTransactions Result
{
"HaltTriggered": "False",
"ServiceInterpretResult": "NotApplicable",
"ServiceTransactionResult": "Success",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>NotApplicable</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
Example ServiceTransactions Result
{
"HaltTriggered": "False",
"ServiceInterpretResult": "NotApplicable",
"ServiceTransactionResult": "Success",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
<HaltTriggered> False
<ServiceInterpretResult> NotApplicable
<ServiceInterpretResult> NoValidationPerformed
<ServiceTransactionResult> SuccessNoResults
<ServiceTransactionResultMessage> "This call was generated using sandbox mode"
<ValidationResult> NotApplicable
PEP and Sanction 006
PEP and Sanctions 006 service checks if a specified person is a politically exposed person, i.e. they are in a prominent public position or a close relative of someone who is, or under sanction. If there are multiple matches, it provides a list of them, up to a limit of 100.
Product Code: W2-DATA-PEP_AND_SANCTION-006
Properties
The following properties pertain to this service.
Property Name | Type | Optional/Mandatory | Notes |
---|---|---|---|
NameQuery | String | Mandatory* | The name of the person you are searching for. Default field used for matching, can be blank if Forename/MiddleNames/Surname used instead. |
NameQueryMatchThreshold | Integer | Optional | The minimum name match score to match against. Default is 80 (all matches). |
DateOfBirthMatchThreshold | Integer | Optional | The minimum date of birth score to match against. Default is null (off). If supplied, at least one component of the date of birth must be supplied. |
DayOfBirth | Integer | Optional | Used with DateOfBirthMatchThreshold. |
MonthOfBirth | Integer | Optional | Used with DateOfBirthMatchThreshold. |
YearOfBirth | Integer | Optional | Used with DateOfBirthMatchThreshold. |
Response
The following table gives some more details about the response.
Example Response - PEP and Sanction 006
"w2DataPepAndSanction006Result": {
"matchResults": [{
"birthDay": 8,
"birthMonth": 1,
"birthYear": 1984,
"matchType": "Person",
"name": "Jong-un Kim",
"nameMatchScore": 80,
"profileId": "WC225108553"
}
]
}
<W2DataPepAndSanction006Result>
<!-- One or more of these -->
<MatchResults>
<CheckMatch>
<BirthDay />
<BirthMonth />
<BirthYear />
<DateOfBirthMatchScore />
<MatchType>Person</MatchType>
<Name>Al Zoubi, Muhammad Hussein</Name>
<NameMatchScore>85</NameMatchScore>
<ProfileId>WC8042</ProfileId>
</CheckMatch>
</MatchResults>
</W2DataPepAndSanction006Result>
Property Name | Type | Description |
---|---|---|
BirthDay | Integer | The birth day of the record matched against. |
BirthMonth | Integer | The birth month of the record matched against. |
BirthYear | Integer | The birth month of the record matched against. |
DateOfBirthMatchScore | Integer | The score that this record’s date of birth matched the query date. |
MatchType | MatchTypeEnum | The type of match where the data is available in the source. See below |
Name | String | The name of the record matched against. Depending on the source data there may be multiple names here combined into one. |
NameMatchScore | Integer | The score that this record’s name matched the query name. |
ProfileId | String | A unique reference for a profile that can be subsequently retrieved in full using the ProfileDetails Service. |
Transaction Result
HaltTriggered | False |
ServiceTransactionResult | Success SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated ServerErrorGeneralError - An error occurred ClientErrorInsufficientInformation - Required field not supplied - NameQuery or Forename / Surname |
ServiceInterpretResult | OneResult MultipleResults NoResults NotPerformed - An error occurred and the search was not performed |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | NotApplicable - No search occurred to match against Fail - MissingMandatoryField or PatternNotMatched Pass |
MatchTypeEnum
More information about the match type
Enumeration Value | Value | Description |
---|---|---|
Person | 1 | The match is a Person. |
Entity | 2 | The match is an Entity. |
Unknown | 3 | The match is of unknown type. This may represent missing data and does not necessarily mean ‘other’. |
Vessel | 4 | The match is a vessel (usually maritime). |
Aircraft | 5 | The match is an aircraft. |
Alert Filters
Available Filters
Applying Filters:
"Options": {
"Sandbox": "false",
"IncludeCountries":"GBR,UDF,SUP - Up to 20 comma delimited countries",
"ExcludeEntities": "true | false",
"ExcludeIndividuals": "true | false",
"ExcludeExPeps": "true | false"
}
<QueryOptions>
<KeyValueOfstringstring>
<Key>Sandbox</Key>
<Value>false</Value>
</KeyValueOfstringstring>
<KeyValueOfstringstring>
<Key>IncludeCountries</Key>
<Value>GBR,UDF,SUP - Up to 20 comma delimited countries</Value>
</KeyValueOfstringstring>
<KeyValueOfstringstring>
<Key>ExcludeIndividuals</Key>
<Value>true | false</Value>
</KeyValueOfstringstring>
<KeyValueOfstringstring>
<Key>ExcludeEntities</Key>
<Value>true | false</Value>
</KeyValueOfstringstring>
<KeyValueOfstringstring>
<Key>ExcludeExPeps</Key>
<Value>true | false</Value>
</KeyValueOfstringstring>
</QueryOptions>
Filter Type | Description |
---|---|
Include Countries | If included, this filter will only return alerts that are on profiles that indicate that the main country of residence/activity is in the included country. Please note that if this filter is used, we advise to also use the 2 additional filters for undefined and supra-Nationals. This will include alerts generated for subjects that cannot be readily assigned to a country. |
Exclude Ex-PEPs | If included, this filter excludes alerts that would have been generated on individuals that have left the office that attracted their ‘PEP status’ for a defined period of time. For a risk based approach, it is normally appropriate to consider ex-PEPs for some time, however, this time will differ based on the risk profile of the business that your organisation conducts. |
Exclude Individuals/Entities | When applied, this filter will suppress alerts that are generated on either individuals (if you are conducting a search on a known business/entity) OR suppress entities (if conducting a search on an known individual) |
Sandbox
Example Request - PEP and Sanctions 006
{
"Bundle": "KYC_Watchlist_006",
"Data": {
"NameQuery": "Ahenobarbus Michal"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
W2-DATA-DISQUALIFIEDS-UK-008
W2-DATA-DISQUALIFIEDS-UK-008 This service searches a list of Disqualified Directors. This list is updated once a week.
Product Code: W2-DATA-DISQUALIFIEDS-UK-008
Query Data & Request
This service uses the following query data:
Example Request - W2 Global Data Disqualified Directors Service
<serviceRequest>
<BundleData>
<BundleName>{YOUR BUNDLE NAME HERE}</BundleName>
</BundleData>
<QueryData>
<DateOfBirthMatchThreshold>{e.g. 100}</DateOfBirthMatchThreshold>
<DayOfBirth>{e.g. 01}</DayOfBirth>
<Forename>{e.g. JOHN}</Forename>
<MiddleNames>{e.g. JAMES} </MiddleNames>
<MonthOfBirth>e.g. 01}</MonthOfBirth>
<NameQueryMatchThreshold>{ e.g. 100}</NameQueryMatchThreshold>
<Surname>{e.g. SMITH}</Surname>
<YearOfBirth>{e.g. 1990}</YearOfBirth>
</QueryData>
<ServiceAuthorisation>
<APIKey>{YOUR API KEY HERE}</APIKey>
<ClientReference>>{YOUR CLIENT REFERENCE HERE}</ClientReference>
</ServiceAuthorisation>
</serviceRequest>
{
"Bundle": "YOURBUNDLE",
"Data": {
"DateOfBirthMatchThreshold":100,
"DayOfBirth": 22,
"Forename": "JOHN",
"MiddleNames":"JAMES",
"NameQueryMatchThreshold":100,
"MonthOfBirth": 10,
"Surname": "JAMES",
"YearOfBirth": 1997
}
}
FieldName | Type | Mandatory | Notes |
---|---|---|---|
Forename | string | Y | The forename of the person you are searching for. |
Middlenames | string | N | The middlename of the person you are searching for. |
Surname | string | Y | The surname of the person you are searching for. |
NameQueryMatchThreshold | integer | N | The minimum name match score* to match against. If not supplied we will assume 80. |
DayOfBirth | integer | Y | The day of the date of birth. |
MonthOfBirth | integer | Y | The month of the date of birth. |
YearOfBirth | integer | Y | The year of the date of birth. |
DateOfBirthMatchingThreshold | integer | N | The minimum date of birth score* to match against. If not supplied we will assume 0. |
Postcode | string | N | Used to further filter results if supplied. |
Response
Sample Response for W2 Global Data Disqualified Directors Service
"w2DataDisqualifiedsUk008Result": {
"results": [
{
"details": {
"disqualifications": [
{
"caseNumber": "IJK676897642398",
"companyName": "SOUTH SEA TRADING",
"courtName": "INSOLVENCY SERVICE",
"disqualificationType": "UNDERTAKING",
"endDate": "2018-03-14T00:00:00",
"sectionOfTheAct": "CDDA 1986 S7",
"startDate": "2013-03-15T00:00:00",
"undertakingDate": "0001-01-01T00:00:00"
}
],
"exemptions": [
{
"companyName": "ACME PRODUCTION LIMITED",
"endDate": "2016-01-01T00:00:00",
"purpose": "SANDBOX",
"startDate": "2015-01-01T00:00:00"
},
{
"companyName": "ADVENTURE WORKS",
"endDate": "2016-01-01T00:00:00",
"purpose": "SANDBOX",
"startDate": "2015-01-01T00:00:00"
}
],
"person": {
"dateOfBirth": "1944-12-31T00:00:00",
"foreName": "Billy",
"id": "4",
"postcode": "RH13 3HE",
"searchableNames": [
"Billy Jones"
],
"surname": "Jones"
},
"variation": {
"actionDate": "2018-01-01T00:00:00",
"caseNumber": "LMN234682769827364",
"courtName": "GLASGOW HIGH COURT"
}
},
"dob": "1944-12-31T00:00:00",
"dobScore": 100,
"matchedName": "Billy Jones",
"nameScore": 100
}
]
}
<W2DataDisqualifiedsUk008Result>
<ErrorMessage />
<Results>
<!-- 0 or more of these -->
<DirectorsSearchResult>
<Details>
<Disqualification>
<CaseNumber>ABC1234567</CaseNumber>
<CompanyName>ACME PRODUCTIONS</CompanyName>
<CourtName>HIGH COURT</CourtName>
<DisqualificationType>UNDERTAKING</DisqualificationType>
<EndDate>2017-11-30T00:00:00</EndDate>
<SectionOfTheAct>CDDA 1986 S7</SectionOfTheAct>
<StartDate>2016-06-01T00:00:00</StartDate>
<UndertakingDate>2016-05-11T00:00:00</UndertakingDate>
</Disqualification>
<Exemptions>
<!-- 0 or more of these -->
<Exemption>
<CompanyName>SOUTH SEA TRADING Co.</CompanyName>
<EndDate>2018-12-01T00:00:00</EndDate>
<Purpose>0000000001</Purpose>
<StartDate>2016-07-27T00:00:00</StartDate>
</Exemption>
</Exemptions>
<Person>
<AddressLine1>1 HIGH STREET</AddressLine1>
<AddressLine2>SOME PLACE</AddressLine2>
<CorporateNumber/>
<Country>UK</Country>
<CountryRegistration/>
<County/>
<DateOfBirth>1900-01-01T00:00:00</DateOfBirth>
<ForeName>JOHN</ForeName>
<Honours/>
<Id>123456789</Id>
<Nationality>BRITISH</Nationality>
<PostTown>SOME TOWN</PostTown>
<Postcode>AB1 2CD</Postcode>
<SearchableNames>
<!-- 1 or more of these aliases -->
<string>JOHN SMITH</string>
<string>JOHN JAMES SMITH</string>
</SearchableNames>
<Surname>SMITH</Surname>
<Title>MR</Title>
</Person>
<Variation>
<ActionDate>2016-01-01</ActionDate>
<CaseNumber>ABC123</CaseNumber>
<CourtName>HIGH COURT</CourtName>
</Variation>
</Details>
<!-- THE DOB we matched on -->
<Dob>1900-01-01</Dob>
<!-- The dob score we found -->
<DobScore>100</DobScore>
<!-- The alias we matched on -->
<MatchedName>John Smith</MatchedName>
<!-- The score of the name we matched on -->
<NameScore>100</NameScore>
</DirectorsSearchResult>
</Results>
</W2DataDisqualifiedsUk008Result>
The table below contains explanations for a few of the fields returned in the response:
Field | Explanation |
---|---|
Dob | This is the date of birth that was provided in the query data that was used for searching. This can be different to the Person.DateOfBirth field if a low threshold is set for dob scoring and an exact match is not required. |
DobScore | This is the match score for the Person.DateOfBirth field against the dob that was used in the query. |
MatchedName | This is the name in the Person.SearchableNames collection that had the highest score. |
NameScore | The highest score found from the searchable names. |
Person.SearchableNames | This is a collection of known aliases for the individual in question. This field is what is used for searching. |
Sandbox
Example Request - W2 DATA DISQUALIFIEDS UK 008
{
"Bundle": "W2DataDisqualifiedsUk008",
"Data": {
"Forename": "James",
"Surname": "Thorpe",
"DayOfBirth": 10,
"MonthOfBirth": 6,
"YearOfBirth": 1978
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
This service has the following Sandbox Cases:
Forename | Surname | Date Of Birth | Postcode | Searchable Names | Notes |
---|---|---|---|---|---|
James | Thorpe | 1978-06-10 | AB54 4PN | “James Thorpe”, “James Sebastien Thorpe”, “Thorpe James”, “James Thorpey”, “Sebastien James Thorpe” | Returns a Disqualified Director with no exemptions or validations. |
Ahenobarbus | Michal | 1944-12-31 | RH13 3HE | “Ahenobarbus Michal”, “Ahenobarbus Geronimo Michal”, “Michal Ahenobarbus”, “Ahenobarbusero Michal”, “Sebastien Ahenobarbus Michal” | Returns a Disqualified Director with one exemption and no validations. |
Allen | Kiril | 1943-01-08 | IVT X34 | “Allen Kiril”, “Allen Brian Kiril”, “Kiril Allen” | Returns a Disqualified Director with two exemptions and no validations. |
Billy | Jones | 1944-12-31 | RH13 3HE | “Billy Jones” | Returns a Disqualified Director with two exemptions and one validations. |
W2 DATA EKYC UK 007
This service has been deprecated.
W2_Data_Ekyc_Uk_007 Service is an identity verification service that includes the full Electoral Roll along with credit bureau data. This service will leave a money laundering footprint on the bureau profile of the person you are requesting information about.
Product Code: W2-DATA-EKYC-UK-007
Query Data
The following Query Data properties pertain to this service. Please note that in the SOAP request the fields should be in alphabetical order.
Property Name | Type | Length | Optional/Mandatory |
---|---|---|---|
Forename | String | 15 | Mandatory |
MiddleNames | String | 15 | Optional |
Surname | String | 30 | Mandatory |
DayOfBirth | Integer | 2 | Mandatory |
MonthOfBirth | Integer | 2 | Mandatory |
YearOfBirth | Integer | 4 | Mandatory |
HouseName | String | 26 | Optional * |
HouseNumber | String | 26 | Optional * |
Flat | String | 20 | Optional * |
Street | String | 40 | Optional * |
Region | String | 20 | Optional * |
County | String | 20 | Optional * |
Country | String | 20 | Optional * |
City | String | 20 | Optional * |
Postcode | String | 8 | Optional * |
After performing the search, the validation result (pass, fail, etc.) will be part of the <TransactionInformation>
returned for the service call.
Notes
- By default we include a check for Mortality Data. Users can turn this option off by adding the IncludeHaloMortalityCheck query option and setting it to false *Please note this setting is case sensitive, so something like includehalomortalitycheck (all lowercase) won’t be picked up. *You can find information about the sandbox version of this service here.
Example Requests
Example 1 Request
{
"Bundle": "{YOUR BUNDLE NAME HERE}",
"Data": {
"DayOfBirth": 22,
"Forename": "Isabelle",
"MonthOfBirth": 10,
"Surname": "Davidson",
"YearOfBirth": 1997
},
"Options": {
"AddressLookupRef": "12345"
},
"ClientReference": "{YOUR CLIENT REFERENCE HERE}"
}
<serviceRequest>
<BundleData>
<BundleName>{YOUR BUNDLE NAME HERE}</BundleName>
</BundleData>
<QueryData>
<DayOfBirth>{e.g. 01}</DayOfBirth>
<Forename>{e.g. JOHN}</Forename>
<MiddleNames>{e.g. JAMES} </MiddleNames>
<MonthOfBirth>{e.g. 01}</MonthOfBirth>
<Surname>e.g. SMITH</Surname>
<YearOfBirth>{e.g. 1990}</YearOfBirth>
</QueryData>
<QueryOptions>
<KeyValueOfstringstring>
<Key>{AddressLookupRef}</Key>
<Value>{e.g. 12345}</Value>
</KeyValueOfstringstring>
</QueryOptions>
<ServiceAuthorisation>
<APIKey>{YOUR API KEY HERE}</APIKey>
<ClientReference>{YOUR CLIENT REFERENCE HERE}</ClientReference>
</ServiceAuthorisation>
</serviceRequest>
Example 2 Request
{
"Bundle": "{YOUR BUNDLE NAME HERE}",
"Data": {
"City": "Newport",
"DayOfBirth": 22,
"Forename": "Isabelle",
"MonthOfBirth": 10,
"Postcode": "WT1 1TD",
"Surname": "Davidson",
"YearOfBirth": 1997,
"HouseNumber": "40",
"MiddleNames":"Hope",
"Street":"Awesome Street"
},
"ClientReference": "{YOUR CLIENT REFERENCE HERE}"
}
<serviceRequest>
<BundleData>
<BundleName>{YOUR BUNDLE NAME HERE}</BundleName>
</BundleData>
<QueryData>
<City>{e.g. Cardiff }</City>
<DayOfBirth>{e.g. 01}</DayOfBirth>
<Forename>{e.g. JOHN}</Forename>
<HouseNumber>{e.g. 1 }</HouseNumber>
<MiddleNames>{e.g. JAMES} </MiddleNames>
<MonthOfBirth>{e.g. 01}</MonthOfBirth>
<Postcode>{e.g. CF10 4RU }</Postcode>
<Street>{e.g. Falcon Dr}</Street>
<Surname>{e.g. SMITH}</Surname>
<YearOfBirth>{e.g. 1990}</YearOfBirth>
</QueryData>
<ServiceAuthorisation>
<APIKey>{YOUR API KEY HERE}</APIKey>
<ClientReference>{YOUR CLIENT REFERENCE HERE}</ClientReference>
</ServiceAuthorisation>
</serviceRequest>
Example 3 Request
{
"Bundle": "{YOUR BUNDLE NAME HERE}",
"Data": {
"DayOfBirth": 22,
"Forename": "Isabelle",
"MonthOfBirth": 10,
"Surname": "Davidson",
"YearOfBirth": 1997
},
"Options": {
"AddressLookupRef": "12345",
"IncludeHaloMortalityCheck":"true"
},
"ClientReference": "{YOUR CLIENT REFERENCE HERE}"
}
<serviceRequest>
<BundleData>
<BundleName>{YOUR BUNDLE NAME HERE}</BundleName>
</BundleData>
<QueryData>
<DayOfBirth>{e.g. 01}</DayOfBirth>
<Forename>{e.g. JOHN}</Forename>
<MiddleNames>{e.g. JAMES} </MiddleNames>
<MonthOfBirth>{e.g. 01}</MonthOfBirth>
<Surname>{e.g. SMITH}</Surname>
<YearOfBirth>{e.g. 1990}</YearOfBirth>
</QueryData>
<QueryOptions>
<KeyValueOfstringstring>
<Key>{AddressLookupRef}</Key>
<Value>{e.g. 12345}</Value>
</KeyValueOfstringstring>
<KeyValueOfstringstring>
<Key>{IncludeHaloMortalityCheck}</Key>
<Value>{false}</Value>
</KeyValueOfstringstring>
</QueryOptions>
<ServiceAuthorisation>
<APIKey>{YOUR API KEY HERE}</APIKey>
<ClientReference>{YOUR CLIENT REFERENCE HERE}</ClientReference>
</ServiceAuthorisation>
</serviceRequest>
Example Responses
The responses below are just a few examples of possible responses there are other possible responses which may vary based on your particular bundle configuration but the examples below cover the main examples.
General Response
{
"clientReference": "{YOUR CLIENT REFERENCE}",
"results": {
"w2DataEkycUk007Result": {
"identityCheckResult": {
"matchInformation": {
"independentDataSources": true | false | null ,
"nameAndAddressMatch": true | false,
"nameAndDateOfBirthMatch": true | false
},
"matchResult": "NotChecked | TwoPlusTwo | TwoPlusOne | OnePlusOne | NoMatch"
}
}
},
"transaction": {
"interpretResult": "Pass | Fail | Inconclusive | NotApplicable | NotPerformed",
"serviceCallReference": "{Call reference will be a new GUID here}",
"serviceTransactions": [
{
"haltTriggered": true | false,
"service": "W2DataEkycUk007",
"serviceInterpretResult": "Pass | Fail | Inconclusive",
"serviceTransactionResult": "Success",
"serviceTransactionResultMessage": " Any information pertinent to this call",
"validationResult": "Pass | Fail | Inconclusive | NoValidationPerformed | NotApplicable"
}
]
}
}
<ProcessRequestResult>
<ServiceResult>
{other services excluded from this example}
<W2DataEkycUk007Result>
<IdentityCheckResult>
<MatchInformation>
<IndependantDataSources>{ true | false | null }</IndependantDataSources>
<NameAndAddressMatch>{ true | false }</NameAndAddressMatch>
<NameAndDateOfBirthMatch>{ true | false }</NameAndDateOfBirthMatch>
</MatchInformation>
<MatchResult> { NotChecked | TwoPlusTwo | TwoPlusOne | OnePlusOne | NoMatch } </MatchResult>
</IdentityCheckResult>
</W2DataEkycUk007Result>
</ServiceResult>
<TransactionInformation>
<InterpretResult> { Pass | Fail | Inconclusive | NotApplicable | NotPerformed } </InterpretResult>
<ServiceCallReference>{Call reference will be a new GUID here}</ServiceCallReference>
<ServiceTransactions>
<ServiceTransactionInformation>
<FailedOverTo>{ only used if failovers are configured }</FailedOverTo>
<HaltTriggered>{ true | false }</HaltTriggered>
<Service>W2DataEkycUk007</Service>
<ServiceInterpretResult>{ Pass | Fail | Inconclusive }</ServiceInterpretResult>
<ServiceTransactionResult>{ Success }</ServiceTransactionResult>
<ServiceTransactionResultMessage> { Any information pertinent to this call } </ServiceTransactionResultMessage>
<ServiceValidationDetails> { only filled in if there are problems with the validation} </ServiceValidationDetails>
<ValidationResult> { Pass | Fail | Inconclusive | NoValidationPerformed | NotApplicable } </ValidationResult>
</ServiceTransactionInformation>
</ServiceTransactions>
</TransactionInformation>
</ProcessRequestResult>
Successful Response
{
"clientReference": "{YOUR CLIENT REFERENCE}",
"results": {
"w2DataEkycUk007Result": {
"identityCheckResult": {
"matchInformation": {
"independentDataSources": true,
"nameAndAddressMatch": true,
"nameAndDateOfBirthMatch": true
},
"matchResult": "TwoPlusTwo"
}
}
},
"transaction": {
"interpretResult": "Pass",
"serviceCallReference": "{Call reference will be a new GUID here}",
"serviceTransactions": [
{
"haltTriggered": false,
"service": "W2DataEkycUk007",
"serviceInterpretResult": "Pass",
"serviceTransactionResult": "Success",
"validationResult": "Pass"
}
]
}
}
<ProcessRequestResult>
<ServiceResult>
<W2DataEkycUk007Result>
<IdentityCheckResult>
<MatchInformation>
<IndependantDataSources>true</IndependantDataSources>
<NameAndAddressMatch>true</NameAndAddressMatch>
<NameAndDateOfBirthMatch>true</NameAndDateOfBirthMatch>
</MatchInformation>
<MatchResult>TwoPlusTwo</MatchResult>
</IdentityCheckResult>
</W2DataEkycUk007Result>
</ServiceResult>
<TransactionInformation>
<InterpretResult>Pass</InterpretResult>
<ServiceCallReference>{e.g. 558003c3-3154-4e55-9c9e-e2dfb897b098}</ServiceCallReference>
<ServiceTransactions>
<ServiceTransactionInformation>
<FailedOverTo />
<HaltTriggered>false</HaltTriggered>
<Service>W2DataEkycUk007</Service>
<ServiceInterpretResult>Pass</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage />
<ServiceValidationDetails />
<ValidationResult>Pass</ValidationResult>
</ServiceTransactionInformation>
</ServiceTransactions>
</TransactionInformation>
</ProcessRequestResult>
Inconclusive Response
{
"clientReference": "{YOUR CLIENT REFERENCE}",
"results": {
"w2DataEkycUk007Result": {
"identityCheckResult": {
"matchInformation": {
"independentDataSources": false,
"nameAndAddressMatch": true,
"nameAndDateOfBirthMatch": true
},
"matchResult": "TwoPlusTwo"
}
}
},
"transaction": {
"interpretResult": "Inconclusive",
"serviceCallReference": "{Call reference will be a new GUID here}",
"serviceTransactions": [
{
"haltTriggered": false,
"service": "W2DataEkycUk007",
"serviceInterpretResult": "Inconclusive",
"serviceTransactionResult": "Success",
"validationResult": "Pass"
}
]
}
}
<ProcessRequestResult>
<ServiceResult>
<W2DataEkycUk007Result>
<IdentityCheckResult>
<MatchInformation>
<IndependantDataSources>false</IndependantDataSources>
<NameAndAddressMatch>true</NameAndAddressMatch>
<NameAndDateOfBirthMatch>true</NameAndDateOfBirthMatch>
</MatchInformation>
<MatchResult>TwoPlusOne</MatchResult>
</IdentityCheckResult>
</W2DataEkycUk007Result>
</ServiceResult>
<TransactionInformation>
<InterpretResult>Inconclusive</InterpretResult>
<ServiceCallReference>{e.g. 558003c3-3154-4e55-9c9e-e2dfb897b098}</ServiceCallReference>
<ServiceTransactions>
<ServiceTransactionInformation>
<FailedOverTo />
<HaltTriggered>false</HaltTriggered>
<Service>W2DataEkycUk007</Service>
<ServiceInterpretResult>Inconclusive</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage />
<ServiceValidationDetails />
<ValidationResult>Pass</ValidationResult>
</ServiceTransactionInformation>
</ServiceTransactions>
</TransactionInformation>
</ProcessRequestResult>
Example Failing Response
{
"clientReference": "{YOUR CLIENT REFERENCE}",
"results": {
"w2DataEkycUk007Result": {
"identityCheckResult": {
"matchInformation": {
"nameAndAddressMatch": false,
"nameAndDateOfBirthMatch": false
},
"matchResult": "NoMatch"
}
}
},
"transaction": {
"interpretResult": "Fail",
"serviceCallReference": "{Call reference will be a new GUID here}",
"serviceTransactions": [
{
"haltTriggered": false,
"service": "W2DataEkycUk007",
"serviceInterpretResult": "Fail",
"serviceTransactionResult": "Success",
"validationResult": "Pass"
}
]
}
}
<ProcessRequestResult>
<ServiceResult>
<W2DataEkycUk007Result>
<IdentityCheckResult>
<MatchInformation>
<IndependantDataSources />
<NameAndAddressMatch>false</NameAndAddressMatch>
<NameAndDateOfBirthMatch>false</NameAndDateOfBirthMatch>
</MatchInformation>
<MatchResult>NoMatch</MatchResult>
</IdentityCheckResult>
</W2DataEkycUk007Result>
</ServiceResult>
<TransactionInformation>
<InterpretResult>Fail</InterpretResult>
<ServiceCallReference>{e.g. 558003c3-3154-4e55-9c9e-e2dfb897b098}</ServiceCallReference>
<ServiceTransactions>
<ServiceTransactionInformation>
<FailedOverTo />
<HaltTriggered>false</HaltTriggered>
<Service>W2DataEkycUk007</Service>
<ServiceInterpretResult>Fail</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage />
<ServiceValidationDetails />
<ValidationResult>Pass</ValidationResult>
</ServiceTransactionInformation>
</ServiceTransactions>
</TransactionInformation>
</ProcessRequestResult>
Additional Information Response
"w2DataEkycUk007Result": {
"fullResponse": {
"mortalityData": [],
"mortalityDataCheckType": "NotChecked | FullMatch | PartialMatch | NoMatch | MultipleMatch",
"uniqueAddressMatchFound": true | false,
"verificationData": {
"electoralRollNameAndAddressMatch": true | false,
"electoralRollNameAndDateOfBirthMatch": "NotChecked | FullMatch | PartialMatch | NoMatch | MultipleMatch",
"lendersContributingToTheCreditFileCount": 0 - 99,
"matchDateOfBirthUsingCreditRecords": "NotChecked | FullMatch | PartialMatch | NoMatch | MultipleMatch",
"numberCcj": 0 - 99
}
},
"identityCheckResult": {
"matchInformation": {
"independentDataSources": true | false | null,
"nameAndAddressMatch": true | false,
"nameAndDateOfBirthMatch": true | false
},
"matchResult": "NotChecked | TwoPlusTwo | TwoPlusOne | OnePlusOne | NoMatch"
}
}
<W2DataEkycUk007Result>
<FullResponse>
<MortalityData/>
<MortalityDataCheckType>
{ NotChecked | FullMatch | PartialMatch | NoMatch | MultipleMatch }
</MortalityDataCheckType>
<UniqueAddressMatchFound> { true | false } </UniqueAddressMatchFound>
<VerificationData>
<ElectoralRollNameAndAddressMatch> { true | false } </ElectoralRollNameAndAddressMatch>
<ElectoralRollNameAndDateOfBirthMatch>
{ NotChecked | FullMatch | PartialMatch | NoMatch | MultipleMatch }
</ElectoralRollNameAndDateOfBirthMatch>
<LendersContributingToTheCreditFileCount> { 0 - 99 } </LendersContributingToTheCreditFileCount>
<MatchDateOfBirthUsingCreditRecords>
{ NotChecked | FullMatch | PartialMatch | NoMatch | MultipleMatch }
</MatchDateOfBirthUsingCreditRecords>
<NumberCcj> { 0 - 99 } </NumberCcj>
</VerificationData>
</FullResponse>
<IdentityCheckResult>
<MatchInformation>
<IndependantDataSources>{ true | false | null }</IndependantDataSources>
<NameAndAddressMatch>{ true | false }</NameAndAddressMatch>
<NameAndDateOfBirthMatch>{ true | false }</NameAndDateOfBirthMatch>
</MatchInformation>
<MatchResult>
{ NotChecked | TwoPlusTwo | TwoPlusOne | OnePlusOne | NoMatch }
</MatchResult>
</IdentityCheckResult>
</W2DataEkycUk007Result>
Sandbox
Listed below are the details to set and the response you should expect to see (to see the details of the service response of each sandbox case, simply click on it in the table below).
Sandbox Example Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | Flat | House Name/Number | Street | Postcode | Result |
---|---|---|---|---|---|---|---|---|---|
Aaron | Cross | 20 | 6 | 1973 | 254 | Ocean View | WT1 1TD | Inconclusive | |
Aaron | John | 3 | 8 | 1976 | 85 | Ocean View | WT1 1TD | None | |
Abbie | Forster | 26 | 12 | 1962 | 241 | Ocean View | WT1 1TD | None | |
Adam | Davidson | 12 | 5 | 1965 | 29 | North Promenade | FK14 2WX | None | |
Ahenobarbus | Michal | 31 | 12 | 1944 | 68 | RH13 3HE | NotPerformed | ||
Alice | Jenkins | 13 | 10 | 1983 | First Floor Flat | 9 | Orchid Bank | WT2 2DF | Inconclusive |
Allen | Kiril | 8 | 1 | 1943 | 99 | IVT X34 | None | ||
Allison | Leigh | 17 | 4 | 1974 | 91 | Brick Lane | E1 6QL | Pass | |
Angeline | Error | 12 | 3 | 1972 | 380 | Ocean View | NP1 1NP | NotPerformed | |
Anquan | Error | 14 | 5 | 1978 | 10 | Error Road | ER3 3OR | NotPerformed | |
Bethany | Sharp | 26 | 7 | 1949 | 259 | Wellington Road South | SK2 6NG | None | |
Bradley | Oliver | 15 | 11 | 1973 | 209 | Ocean View | WT1 1TD | Pass | |
Cameron | Evans | 24 | 12 | 1953 | Flat B | 5 | Orchid Bank | WT2 2DF | Fail |
Cerys | Clayton | 21 | 4 | 1983 | Second Floor Flat | 9 | Orchid Bank | WT2 2DF | Inconclusive |
Chloe | Hardy | 12 | 1 | 1979 | 1A | 1 | Orchid Bank | WT2 2DF | Pass |
Connor | Error | 1 | 2 | 1947 | 8 | Error Road | ER3 3OR | NotPerformed | |
David | Cameron | 9 | 10 | 1966 | 5 | BS8 1HN | None | ||
David | Error | 7 | 3 | 1931 | 3 | Error Road | ER3 3OR | Pass | |
Edward | Pearson | 9 | 4 | 1985 | 253 | Ocean View | WT1 1TD | None | |
Evan | Duncan | 5 | 10 | 1962 | 202 | Ocean View | WT1 1TD | None | |
Faisul | Miah | 4 | 12 | 1977 | 91 | Brick Lane | E1 6QL | Pass | |
Francesca | Murray | 2 | 9 | 1964 | 32 | TF12 3DY | Fail | ||
Francesca | Woodward | 23 | 9 | 1976 | 127 | Ocean View | WT1 1TD | None | |
Isabelle | Error | 15 | 2 | 1973 | 168 | Ocean View | NP1 1NP | NotPerformed | |
Jane | Error | 27 | 7 | 1986 | 168 | Ocean View | NP1 1NP | NotPerformed | |
Jennifer | Sykes | 13 | 3 | 1938 | 57 | S66 6LT | Inconclusive | ||
Jonny | Miles | 8 | 1 | 1943 | 2 | 99 | IVT X34 | NotPerformed | |
Kelvin | Thursby | 25 | 4 | 1985 | 91 | Brick Lane | E1 6QL | Pass | |
Lily | Error | 9 | 3 | 1995 | 381 | Ocean View | NP1 1NP | NotPerformed | |
Luana | Melania | 11 | 12 | 1924 | 8 | AB54 5TR | Inconclusive | ||
Madison | Reynolds | 1 | 1 | 1900 | 85 | NR24 9JB | Pass | ||
Megan | Crawford | 5 | 4 | 1957 | 1B | 1 | Orchid Bank | WT2 2DF | Pass |
Moray | Abdiou | 11 | 12 | 1924 | 26 | LN4 7AT | Pass | ||
Nicole | Williamson | 12 | 2 | 1976 | 379 | WT1 1TD | None | ||
Rob | James | 12 | 10 | 1983 | 91 | Brick Lane | E1 6QL | Pass | |
Rosie | Duncan | 1 | 2 | 1967 | 40 | AB41 7YW | None | ||
Samantha | Abbott | 23 | 2 | 1966 | 137 | Ocean View | WT1 1TD | None | |
Scott | James | 17 | 8 | 1976 | 91 | Brick Lane | E1 6QL | Pass | |
Shannon | Macdonald | 21 | 1 | 1962 | Flat B | 7 | Orchid Bank | WT2 2DF | Pass |
ID Check Name Lookup
IDCheckNameLookupService is a name verification service. It checks that the name is not salacious, incomplete or randomly typed characters.
Product Name: W2-DATA-SALACIOUS_NAME-023
Properties
The following properties pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
NameQuery | String | Mandatory* | Default field used for matching, can be blank if Forename/MiddleNames/Surname used instead | |
Forename | String | Optional | Used when NameQuery is not specified | |
MiddleNames | String | Optional | Used when NameQuery is not specified | |
Surname | String | Optional | Used when NameQuery is not specified |
Response
Example Response - ID Check Name Lookup
"idCheckNameLookupResult": {
"validationResultReason": "The name is not salacious"
}
<IDCheckNameLookupResult>
<ValidationResultReason> The name is not salacious </ValidationResultReason>
</IDCheckNameLookupResult>
Sandbox
Example Request - ID Check Name Lookup
{
"Bundle": "IDCheckNameLookup",
"Data": {
"NameQuery": "John Smith"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
Sandbox Examples
Example Response for “John Smith”
"idCheckNameLookupResult": {
"validationResultReason": "The name is not salacious"
}
<IDCheckNameLookupResult>
<ValidationResultReason> The name is not salacious </ValidationResultReason>
</IDCheckNameLookupResult>
The corresponding ServiceTransactions will show the following properties:
HaltTriggered | False |
ServiceTransactionResult | - Success |
ServiceInterpretResult | - Pass |
ServiceTransactionResultMessage | “This call was generated using sandbox mode” |
ValidationResult | - NotApplicable |
Example Response for “Mickey Mouse”
"idCheckNameLookupResult": {
"validationResultReason": "The name is flagged against our blacklist of known salacious words"
}
<IDCheckNameLookupResult>
<ValidationResultReason> The name is flagged against our blacklist of known salacious words </ValidationResultReason>
</IDCheckNameLookupResult>
The corresponding ServiceTransactions will show the following properties:
HaltTriggered | False |
ServiceTransactionResult | - Success |
ServiceInterpretResult | - Inconclusive |
ServiceTransactionResultMessage | “This call was generated using sandbox mode” |
ValidationResult | - NotApplicable |
Example Response for “aabbccddee”
"idCheckNameLookupResult": {
"validationResultReason": "The name appears to have been entered by hitting random keys"
}
<IDCheckNameLookupResult>
<ValidationResultReason> The name appears to have been entered by hitting random keys </ValidationResultReason>
</IDCheckNameLookupResult>
The corresponding ServiceTransactions will show the following properties:
HaltTriggered | False |
ServiceTransactionResult | - Success |
ServiceInterpretResult | - Inconclusive |
ServiceTransactionResultMessage | “This call was generated using sandbox mode” |
ValidationResult | - NotApplicable |
The corresponding IDCheckNameLookupResult will show the following properties:
HaltTriggered | False |
ServiceTransactionResult | - Success |
ServiceInterpretResult | - Pass |
ServiceTransactionResultMessage | “This call was generated using sandbox mode” |
ValidationResult | - NotApplicable |
Director Check UK
Director Check UK (DirectorUKCheck) service lets you search by name the UK database of directors (Companies House). If there are multiple matches, it provides a list of them, up to a limit of 100.
Product Code: W2-DATA-DIRECTOR-UK-009
Properties
The following Query Data properties pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes | Accepted Characters |
---|---|---|---|---|---|
NameQuery | String | Mandatory* | Default field used for matching, can be blank if Forename/MiddleNames/Surname used instead | ||
Forename | String | Optional | Used when NameQuery is not specified | ||
MiddleNames | String | Optional | Used when NameQuery is not specified | ||
Surname | String | Optional | Used when NameQuery is not specified | ||
DayOfBirth | Integer | 2 | Optional | Numbers Only - greater than 0 |
|
MonthOfBirth | Integer | 2 | Optional | Numbers Only - greater than 0 |
|
YearOfBirth | Integer | 4 | Optional | Numbers Only - greater than 0 |
Request
Example Request
<QueryData >
<NameQuery>John Smith</NameQuery>
</QueryData>
"Data": {
"NameQuery": "Jessica Black"
}
Response
Example Response
"directorUKCheckResult": {
"directorUKCheckErrors": {
"errorDetails": []
},
"directorUKCheckResults": {
"result": [{
"address1": "221B Baker Street",
"address2": "",
"birthDate": "01/01/1970",
"country": "United Kingdrom",
"county": "",
"directorNumber": "1234565789",
"name": "Jessica Black",
"postcode": "W1S 1AA",
"town": "London"
}
]
}
}
<DirectorUKCheckResult> <DirectorUKCheckErrors>
<ErrorDetails/>
</DirectorUKCheckErrors>
<DirectorUKCheckResults>
<!-- One or more of these -->
<Result>
<Address1>221B Baker Street</Address1>
<Address2/>
<BirthDate>01/01/1970</BirthDate>
<Country>United Kingdom</Country>
<County/>
<DirectorNumber>1234565789</DirectorNumber>
<Name>John Smith</Name>
<Postcode>W1S 1AA</Postcode>
<Town>London</Town>
</Result>
</DirectorUKCheckResults>
</DirectorUKCheckResult>
Sandbox
Example Request - Director Check UK
{
"Bundle": "DirectorUKCheck",
"Data": {
"NameQuery": "Jessica Black"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
Sandbox Examples
Sample Response for “Jessica Black”
"directorUKCheckResult": {
"directorUKCheckErrors": {
"errorDetails": []
},
"directorUKCheckResults": {
"result": [{
"address1": "221B Baker Street",
"address2": "",
"birthDate": "01/01/1970",
"country": "United Kingdrom",
"county": "",
"directorNumber": "1234565789",
"name": "Jessica Black",
"postcode": "W1S 1AA",
"town": "London"
}, {
"address1": "221B Flour Street",
"address2": "",
"birthDate": "01/01/1960",
"country": "United Kingdrom",
"county": "",
"directorNumber": "1234565789",
"name": "Jessica Black",
"postcode": "W1S 1BB",
"town": "London"
}
]
}
}
<DirectorUKCheckResult>
<DirectorUKCheckErrors>
<ErrorDetails/>
</DirectorUKCheckErrors> <DirectorUKCheckResults>
<Result>
<Result>
<Address1>221B Baker Street</Address1>
<Address2/>
<BirthDate>01/01/1970</BirthDate>
<Country>United Kingdrom</Country>
<County/>
<DirectorNumber>1234565789</DirectorNumber>
<Name>Jessica Black</Name>
<Postcode>W1S 1AA</Postcode>
<Town>London</Town>
</Result>
<Result>
<Address1>221B Flour Street</Address1>
<Address2/>
<BirthDate>01/01/1960</BirthDate>
<Country>United Kingdom</Country>
<County/>
<DirectorNumber>1234565789</DirectorNumber>
<Name>Jessica Black</Name>
<Postcode>W1S 1BB</Postcode>
<Town>London</Town>
</Result>
</Result>
</DirectorUKCheckResults>
</DirectorUKCheckResult>
The corresponding ServiceTransactions will show the following properties:
HaltTriggered | False |
ServiceTransactionResult | - Success |
ServiceInterpretResult | - MultipleResults |
ServiceTransactionResultMessage | “This call was generated using sandbox mode” |
ValidationResult | - NotApplicable |
The corresponding ServiceTransactions will show the following properties:
HaltTriggered | False |
ServiceTransactionResult | SuccessNoResult |
ServiceInterpretResult | NoResults |
ServiceTransactionResultMessage | “This call was generated using sandbox mode” |
ValidationResult | NotApplicable |
W2 Data Ekyc UK 005
W2 Data Ekyc UK 005 is an identity verification service that includes the full Electoral Roll and Credit Bureau data. This service will leave a money laundering footprint on the bureau profile of the person you are requesting information about.
Product Code: UK eKYC (005)
Query Data
The following QueryData properties pertain to this service. Please note in the actual SOAP request the fields should be in alphabetical order.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 15 | Mandatory | |
MiddleNames | String | 15 | Optional | The contents of this field will be converted into initials, therefore the character limit can usually be ignored. |
Surname | String | 30 | Mandatory | |
DayOfBirth | Integer | 2 | Mandatory | |
MonthOfBirth | Integer | 2 | Mandatory | |
YearOfBirth | Integer | 4 | Mandatory | |
HouseName | String | 26 | Optional | Either house name or house number must be supplied |
HouseNumber | String | 26 | Optional | Either house name or house number must be supplied |
Flat | String | 16 | Optional | |
Street | String | 40 | Optional | |
County | String | 20 | Optional | |
City | String | 20 | Optional | |
Postcode | String | 8 | Mandatory | |
PhoneNumber | String | 16 | Optional | Please provide the phone number as one contiguous set of numbers with no other characters or spaces. |
After performing the search, the validation result (pass, fail, etc.) will be part of the <TransactionInformation>
returned for the service call.
Notes
- Address information is optional if an AddressLookupRef is supplied in the query options. The AddressLookupRef is retrieved from the W2 Data Address Lookup 024 service as an addressId.
If an AddressLookupRef is not supplied then a minimum of House Name/Number and Postcode are required. Though it is advised to supply as much address information as possible as this is more likely to return a match if no prematched addressId is supplied.
Request
Example Request - W2 Data Ekyc UK 005
"Data": {
"DayOfBirth": 20,
"Forename": "Aaron",
"HouseNumber": "254",
"MonthOfBirth": 6,
"Postcode": "WT1 1TD",
"Street": "Ocean View",
"Surname": "Cross",
"YearOfBirth": 1973
}
<QueryData>
<DayOfBirth>20</DayOfBirth>
<Forename>Aaron</Forename>
<HouseNumber>254</HouseNumber>
<MonthOfBirth>6</MonthOfBirth>
<Postcode>WT1 1TD</Postcode>
<Street>Ocean View</Street>
<Surname>Cross</Surname>
<YearOfBirth>1973</YearOfBirth>
</QueryData>
Response
The following shows the basic schema for the <W2DataEkycUk005Result>
object that is returned in the <ServiceResult>
Section of the <ProcessRequestResult>
object.
Example Response - W2 Data Ekyc UK 005
"Data": {
"DayOfBirth": 20,
"Forename": "Aaron",
"HouseNumber": "254",
"MonthOfBirth": 6,
"Postcode": "WT1 1TD",
"Street": "Ocean View",
"Surname": "Cross",
"YearOfBirth": 1973
}
"w2DataEkycUk005Result": {
"dataSources": [{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddress",
"NumberOfMatches": 1,
"Source": "CreditLendersA"
}, {
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndDateOfBirth",
"NumberOfMatches": 1,
"Source": "Electoral Roll"
}
],
"interpretResult": "Pass",
"Message": "The call was successful",
"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycUk005Result>
<DataSources>
<!-- An array of MatchingSource elements -->
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>
{ true | false }
</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>
{
NotAssigned | NameAndAddress | NameAndDateOfBirth |
NameAndAddressAndDateOfBirth | MortalityHighConfidence |
MortalityLowConfidence | SurnameAndPhoneNumberAtAddress
}
</MatchingCriteria>
<NumberOfMatches>
{ 0 - 99 }
<NumberOfMatches>
<Source>
{
0 = NotAssigned
1 = ElectoralRoll
2 = CCJ
3 = CreditLendersA
4 = CreditLendersB
5 = BT_OSIS
6 = MortalityData
}
<Source>
</MatchingSource>
</DataSources>
<InterpretResult>
{
NotPerformed | Pass | Fail | Refer | NoInterpretPerformed
}
</InterpretResult>
<Message>
{ A message containing additional information about the call }
</Message>
<TransactionResult>
{
None | Success | SuccessNoResults | SuccessIncompleteResults |
MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
}
</TransactionResult>
</W2DataEkycUk005Result>
Below is some more information about the some of the elements of the response that require explanation:
Datasources = A collection showing every source of data that was used to formulate the result. Each source is represented by a
AllowMultipleRecordsAsSeparateDataSources = Indicates that two different record matches from the same data source may count as independent sources when formulating the 2 + 2 result. For example, two CCJ results may count as two sources, rather than one, as they would do under normal service circumstances.
MatchingCriteria = Precisely what data has been matched by the data source. E.g. NameAndAddressAndDateOfBirth
NumberOfMatches = The number of matches found by this data source
Source = The source of the data match. E.g. CCJ
SourceId | Source Matched |
---|---|
1 | Electoral Roll |
2 | County Court Judgements (CCJs) |
3 | Credit Lenders (CAIS) |
4 | N/A |
5 | BT_OSIS |
6 | Mortality Data |
Transaction Result
HaltTriggered | False |
ServiceTransactionResult | - Success - SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated - SuccessNoResults - No matches found - ServerErrorGeneralError - An error occurred - ServiceFailureError - Unable to contact third party service - ClientErrorInsufficientInformation- Required field not supplied or insufficient/invalid information - ClientErrorInformationFormatInvalid - Address fields cannot contain commas |
ServiceInterpretResult | - OneResult - MultipleResults - NoResults - NotPerformed - An error occurred and the search was not performed |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | - Pass - NotPerformed - No search occurred to match against - Fail - MissingMandatoryField or PatternNotMatched |
Sandbox
Query options for Sandbox
"options": {
"sandbox": "true"
}
<QueryOptions>
<KeyValueOfstringstring>
<Key>Sandbox</Key>
<Value>true</Value>
</KeyValueOfstringstring>
</QueryOptions>
To see the details of the service response of each sandbox case, simply click on it in the table below:
Sandbox Example Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | Flat | House Name/Number | Street | Postcode |
---|---|---|---|---|---|---|---|---|
Aaron | Cross | 20 | 6 | 1973 | 254 | Ocean View | WT1 1TD | |
Aaron | John | 3 | 8 | 1976 | 85 | Ocean View | WT1 1TD | |
Abbie | Forster | 26 | 12 | 1962 | 241 | Ocean View | WT1 1TD | |
Abigail | Ford | 22 | 10 | 1956 | 146 | Ocean View | WT1 1TD | |
Adam | Crawford | 27 | 6 | 1980 | 374 | Ocean View | WT1 1TD | |
Adam | Sharpe | 20 | 11 | 1996 | 250 | Ocean View | WT1 1TD | |
Ahenobarbus | Michal | 31 | 12 | 1944 | 68 | RH13 3HE | ||
Alexander | Ball | 21 | 5 | 1966 | 108 | Ocean View | WT1 1TD | |
Alexander | Wallis | 28 | 3 | 1953 | 142 | Ocean View | WT1 1TD | |
Alisha | Owen | 16 | 8 | 1979 | 113 | Ocean View | WT1 1TD | |
Allen | Kiril | 8 | 1 | 1943 | 99 | IVT X34 | ||
Allen | Kiril | 8 | 1 | 1943 | 99 | IVT X34 | ||
Amber | Ball | 9 | 7 | 1957 | 147 | Ocean View | WT1 1TD | |
Amelia | Brady | 14 | 8 | 1978 | 121 | Ocean View | WT1 1TD | |
Amy | Bowen | 6 | 4 | 1983 | 310 | Ocean View | WT1 1TD | |
Amy | Freeman | 12 | 7 | 1982 | 134 | Ocean View | WT1 1TD | |
Andrew | Lyons | 25 | 12 | 1973 | 304 | Ocean View | WT1 1TD | |
Andrew | Sanders | 26 | 2 | 1968 | 116 | Ocean View | WT1 1TD | |
Angeline | Error | 12 | 3 | 1972 | 380 | Ocean View | NP1 1NP | |
Ben | Blake | 5 | 7 | 1960 | 106 | Ocean View | WT1 1TD | |
Benjamin | Davis | 3 | 7 | 1962 | 321 | Ocean View | WT1 1TD | |
Bethany | Bentley | 10 | 9 | 1968 | 312 | Ocean View | WT1 1TD | |
Bethany | Watts | 30 | 4 | 1952 | 255 | Ocean View | WT1 1TD | |
Billy | Jones | 31 | 12 | 1944 | 68 | RH13 3HE | ||
Bradley | Swift | 14 | 7 | 1997 | 247 | Ocean View | WT1 1TD | |
Brandon | Rose | 13 | 4 | 1964 | 378 | Ocean View | WT1 1TD | |
Caitlin | ODonnell | 8 | 11 | 1961 | 268 | Ocean View | WT1 1TD | |
Caitlin | Williams | 1 | 1 | 1974 | 365 | Ocean View | WT1 1TD | |
Callum | Saunders | 13 | 10 | 1976 | 122 | Ocean View | WT1 1TD | |
Cerys | Holden | 24 | 9 | 1985 | 265 | Ocean View | WT1 1TD | |
Cerys | Reeves | 3 | 3 | 1978 | 270 | Ocean View | WT1 1TD | |
Charles | Coleman | 24 | 2 | 1964 | 306 | Ocean View | WT1 1TD | |
Charlie | Byrne | 30 | 1 | 1986 | 300 | Ocean View | WT1 1TD | |
Charlie | Carroll | 24 | 11 | 1957 | 112 | Ocean View | WT1 1TD | |
Charlie | Clarke | 14 | 2 | 1957 | 105 | Ocean View | WT1 1TD | |
Charlie | Glover | 3 | 12 | 1990 | 90 | Ocean View | WT1 1TD | |
Charlie | Wilkinson | 18 | 11 | 1968 | 26 | LN4 7AT | ||
Charlotte | Cooper | 18 | 4 | 1973 | 126 | Ocean View | WT1 1TD | |
Christopher | Norman | 2 | 5 | 1966 | 144 | Ocean View | WT1 1TD | |
Christopher | Townsend | 13 | 5 | 1972 | 83 | Ocean View | WT1 1TD | |
Courtney | Webb | 24 | 2 | 1952 | 148 | Ocean View | WT1 1TD | |
Daisy | North | 12 | 11 | 1979 | 86 | Ocean View | WT1 1TD | |
Danielle | Evans | 1 | 4 | 1963 | 295 | Ocean View | WT1 1TD | |
David | Armstrong | 25 | 2 | 1951 | 114 | Ocean View | WT1 1TD | |
David | Cameron | 9 | 10 | 1966 | 5 | BS8 1HN | ||
David | Robson | 9 | 5 | 1992 | 42 | HU12 9FL | ||
Dominic | Andrews | 2 | 2 | 1960 | 367 | Ocean View | WT1 1TD | |
Elise | Bryant | 19 | 5 | 1956 | 263 | Ocean View | WT1 1TD | |
Elizabeth | Sheppard | 23 | 10 | 1952 | 89 | Ocean View | WT1 1TD | |
Ella | Fox | 25 | 4 | 1974 | 303 | Ocean View | WT1 1TD | |
Ella | Rowe | 3 | 8 | 1955 | 107 | Ocean View | WT1 1TD | |
Ellie | Horton | 1 | 12 | 1953 | 279 | Ocean View | WT1 1TD | |
Elliot | Gardiner | 21 | 1 | 1977 | 259 | Ocean View | WT1 1TD | |
Elliot | Simpson | 21 | 4 | 1955 | 94 | Ocean View | WT1 1TD | |
Ellis | Bryan | 15 | 10 | 1967 | 290 | Ocean View | WT1 1TD | |
Emma | Coles | 10 | 8 | 1985 | 264 | Ocean View | WT1 1TD | |
Erin | Godfrey | 20 | 3 | 1964 | 160 | Ocean View | WT1 1TD | |
Eva | Little | 13 | 4 | 1985 | 150 | Ocean View | WT1 1TD | |
Evan | Barnett | 11 | 10 | 1968 | 153 | Ocean View | WT1 1TD | |
Evan | Brown | 13 | 4 | 1956 | 133 | Ocean View | WT1 1TD | |
Evan | Butcher | 24 | 8 | 1947 | 96 | Ocean View | WT1 1TD | |
Evie | Boyle | 7 | 4 | 1942 | 319 | Ocean View | WT1 1TD | |
Finlay | Jones | 25 | 10 | 1966 | 287 | Ocean View | WT1 1TD | |
Finlay | Reynolds | 20 | 5 | 1967 | 302 | Ocean View | WT1 1TD | |
Francesca | Kemp | 22 | 6 | 1968 | 317 | Ocean View | WT1 1TD | |
Francesca | Woodward | 23 | 9 | 1976 | 127 | Ocean View | WT1 1TD | |
Fred | Error | 3 | 4 | 1986 | 56 | Ocean View | NP1 1NP | |
Gabriel | Stephens | 21 | 11 | 1995 | 357 | Ocean View | WT1 1TD | |
Georgina | Bird | 1 | 1 | 1961 | 322 | Ocean View | WT1 1TD | |
Georgina | Heath | 15 | 12 | 1979 | 293 | Ocean View | WT1 1TD | |
Grace | Anderson | 9 | 3 | 1979 | 102 | Ocean View | WT1 1TD | |
Grace | Bull | 20 | 11 | 1978 | 82 | Ocean View | WT1 1TD | |
Gracie | Gibbons | 7 | 12 | 1988 | 364 | Ocean View | WT1 1TD | |
Gracie | OSullivan | 5 | 9 | 1950 | 111 | Ocean View | WT1 1TD | |
Gracie | Williamson | 28 | 2 | 1993 | 324 | Ocean View | WT1 1TD | |
Hannah | Harvey | 12 | 4 | 1983 | 162 | Ocean View | WT1 1TD | |
Hannah | Hilton | 6 | 4 | 1940 | 323 | Ocean View | WT1 1TD | |
Hannah | Warner | 8 | 12 | 1976 | 130 | Ocean View | WT1 1TD | |
Hayden | Gray | 22 | 2 | 1978 | 143 | Ocean View | WT1 1TD | |
Henry | Brookes | 25 | 3 | 1970 | 245 | Ocean View | WT1 1TD | |
Henry | Gibson | 18 | 1 | 1963 | 251 | Ocean View | WT1 1TD | |
Henry | Hodgson | 12 | 2 | 1963 | 132 | Ocean View | WT1 1TD | |
Holly | Chapman | 3 | 5 | 1990 | 375 | Ocean View | WT1 1TD | |
Holly | Martin | 1 | 10 | 1947 | 115 | Ocean View | WT1 1TD | |
Imogen | Wilkins | 19 | 4 | 1973 | 294 | Ocean View | WT1 1TD | |
Isaac | Townsend | 11 | 9 | 1971 | 138 | Ocean View | WT1 1TD | |
Isabella | Wallis | 22 | 5 | 1987 | 369 | Ocean View | WT1 1TD | |
Isabelle | Error | 15 | 2 | 1973 | 168 | Ocean View | NP1 1NP | |
Isabelle | Error | 15 | 2 | 1973 | 168 | Ocean View | NP1 1NP | |
Isabelle | Taylor | 5 | 7 | 1951 | 273 | Ocean View | WT1 1TD | |
Isabelle | Vincent | 19 | 9 | 1949 | 286 | Ocean View | WT1 1TD | |
Jake | George | 3 | 6 | 1977 | 260 | Ocean View | WT1 1TD | |
Jake | Perkins | 30 | 8 | 1978 | 285 | Ocean View | WT1 1TD | |
James | Error | 10 | 6 | 1978 | 4 | Ocean View | NP1 1NP | |
James | Owen | 23 | 2 | 1947 | 129 | Ocean View | WT1 1TD | |
James | Smith | 29 | 9 | 1977 | 314 | Ocean View | WT1 1TD | |
James | Thorpe | 10 | 6 | 1978 | 4 | AB54 4PN | ||
Jamie | Error | 15 | 8 | 1959 | 57 | Ocean View | NP1 1NP | |
Jamie | Morton | 19 | 8 | 1959 | 355 | Ocean View | WT1 1TD | |
Jane | Error | 27 | 7 | 1986 | 168 | Ocean View | NP1 1NP | |
Jasmine | Lord | 26 | 3 | 1949 | 103 | Ocean View | WT1 1TD | |
Jay | Greenwood | 14 | 6 | 1989 | 101 | Ocean View | WT1 1TD | |
Jennifer | Error | 3 | 11 | 1975 | 151 | Ocean View | NP1 1NP | |
Jessica | Berry | 29 | 1 | 1962 | 377 | Ocean View | WT1 1TD | |
Jodie | Nolan | 14 | 5 | 1967 | 152 | Ocean View | WT1 1TD | |
Jodie | Woodward | 29 | 6 | 1982 | 104 | Ocean View | WT1 1TD | |
Joe | Sharpe | 22 | 1 | 1965 | 87 | Ocean View | WT1 1TD | |
Joe | Smith | 10 | 5 | 1985 | 281 | Ocean View | WT1 1TD | |
Joe | Waters | 22 | 11 | 1991 | 362 | Ocean View | WT1 1TD | |
Joe | West | 21 | 11 | 1966 | 288 | Ocean View | WT1 1TD | |
John | Bond | 1 | 8 | 1948 | 123 | Ocean View | WT1 1TD | |
John | Error | 23 | 3 | 1956 | 45 | Ocean View | NP1 1NP | |
Jonathan | Boyle | 11 | 10 | 1983 | 120 | Ocean View | WT1 1TD | |
Jonathan | Gibbons | 28 | 3 | 1961 | 156 | Ocean View | WT1 1TD | |
Jonathan | Newman | 13 | 5 | 1985 | 93 | Ocean View | WT1 1TD | |
Jonny | Miles | 8 | 1 | 1943 | 2 | 99 | IVT X34 | |
Jordan | McLean | 14 | 10 | 1963 | 252 | Ocean View | WT1 1TD | |
Jordan | Payne | 28 | 12 | 1987 | 139 | Ocean View | WT1 1TD | |
Joshua | Bryant | 12 | 3 | 1977 | 274 | Ocean View | WT1 1TD | |
Katherine | Cunningham | 22 | 1 | 1987 | 155 | Ocean View | WT1 1TD | |
Katherine | Stone | 5 | 11 | 1972 | 157 | Ocean View | WT1 1TD | |
Katie | Thornton | 30 | 11 | 1977 | 315 | Ocean View | WT1 1TD | |
Keira | Lamb | 5 | 8 | 1948 | 109 | Ocean View | WT1 1TD | |
Kian | Bartlett | 30 | 7 | 1974 | 117 | Ocean View | WT1 1TD | |
Kian | Morley | 11 | 12 | 1972 | 372 | Ocean View | WT1 1TD | |
Kian | Turnbull | 13 | 6 | 1977 | 249 | Ocean View | WT1 1TD | |
Kiera | Humphries | 16 | 9 | 1985 | 297 | Ocean View | WT1 1TD | |
Kieran | Collins | 26 | 6 | 1970 | 258 | Ocean View | WT1 1TD | |
Laura | Error | 28 | 7 | 1965 | 33 | Ocean View | NP1 1NP | |
Laura | Hewitt | 5 | 10 | 1951 | 299 | Ocean View | WT1 1TD | |
Laura | Sampson | 11 | 3 | 1982 | 3 Oaklands | BS1 1ST | ||
Leman | Russ | 22 | 2 | 1942 | 49 | BS4 1LT | ||
Lewis | Davey | 5 | 10 | 1986 | 318 | Ocean View | WT1 1TD | |
Lewis | Ingram | 16 | 8 | 1976 | 140 | Ocean View | WT1 1TD | |
Liam | Jackson | 18 | 2 | 1985 | 277 | Ocean View | WT1 1TD | |
Libby | Sharpe | 23 | 2 | 1982 | 272 | Ocean View | WT1 1TD | |
Lilly | Watson | 24 | 12 | 1961 | 366 | Ocean View | WT1 1TD | |
Lily | Error | 9 | 3 | 1995 | 381 | Ocean View | NP1 1NP | |
Logan | Douglas | 1 | 6 | 1992 | 359 | Ocean View | WT1 1TD | |
Logan | Fraser | 11 | 10 | 1951 | 292 | Ocean View | WT1 1TD | |
Logan | Pearce | 6 | 3 | 1983 | 311 | Ocean View | WT1 1TD | |
Lola | Turner | 24 | 8 | 1981 | 291 | Ocean View | WT1 1TD | |
Louie | Morrison | 27 | 9 | 1984 | 356 | Ocean View | WT1 1TD | |
Louie | Walters | 5 | 2 | 1947 | 308 | Ocean View | WT1 1TD | |
Louis | Poole | 17 | 12 | 1980 | 354 | Ocean View | WT1 1TD | |
Louise | Error | 28 | 2 | 1987 | 567 | Ocean View | NP1 1NP | |
Louise | Lucas | 4 | 3 | 1984 | 269 | Ocean View | WT1 1TD | |
Luca | Dale | 12 | 11 | 1950 | 301 | Ocean View | WT1 1TD | |
Lydia | Howe | 30 | 5 | 1967 | 267 | Ocean View | WT1 1TD | |
Maddison | Cox | 7 | 11 | 1993 | 373 | Ocean View | WT1 1TD | |
Maisie | Davey | 11 | 10 | 1964 | 125 | Ocean View | WT1 1TD | |
Maisie | Duffy | 9 | 10 | 1966 | 276 | Ocean View | WT1 1TD | |
Mark | Error | 14 | 9 | 1938 | 800 | Ocean View | NP1 1NP | |
Martin | Error | 3 | 9 | 1987 | 63 | Ocean View | NP1 1NP | |
Mary | Error | 1 | 12 | 1991 | 32 | Ocean View | NP1 1NP | |
Mason | Wallis | 6 | 3 | 1981 | 88 | Ocean View | WT1 1TD | |
Matilda | Hewitt | 20 | 5 | 1963 | 278 | Ocean View | WT1 1TD | |
Matthew | Dukes | 10 | 2 | 1973 | Willow | BS3 2FF | ||
Max | Carpenter | 19 | 11 | 1953 | 158 | Ocean View | WT1 1TD | |
Maya | Burrows | 23 | 1 | 1953 | 48 | Ocean View | WT1 1TD | |
Maya | Harper | 25 | 7 | 1981 | 256 | Ocean View | WT1 1TD | |
Mia | Evans | 14 | 10 | 1964 | 320 | Ocean View | WT1 1TD | |
Mia | Holt | 17 | 7 | 1972 | 151 | Ocean View | WT1 1TD | |
Millie | Richards | 18 | 6 | 1952 | 99 | Ocean View | WT1 1TD | |
Mohammed | Collier | 6 | 9 | 1996 | 368 | Ocean View | WT1 1TD | |
Molly | Abbott | 11 | 1 | 1973 | 248 | Ocean View | WT1 1TD | |
Morgan | Hutchinson | 10 | 10 | 1988 | 97 | Ocean View | WT1 1TD | |
Morgan | Weston | 17 | 2 | 1965 | 246 | Ocean View | WT1 1TD | |
Naomi | Law | 23 | 3 | 1971 | 313 | Ocean View | WT1 1TD | |
Natasha | Pritchard | 16 | 5 | 1976 | 87 | Ponteland Rd | PA6 0TH | |
Nicholas | Chapman | 7 | 7 | 1973 | 124 | Ocean View | WT1 1TD | |
Nicole | Miles | 23 | 12 | 1969 | 360 | Ocean View | WT1 1TD | |
Nicole | Williamson | 12 | 2 | 1976 | 379 | WT1 1TD | ||
Oliver | Pickering | 16 | 3 | 1986 | 358 | Ocean View | WT1 1TD | |
Oliver | Watts | 18 | 8 | 1982 | 346 | Ocean View | WT1 1TD | |
Olivia | Godfrey | 14 | 3 | 1974 | 353 | Ocean View | WT1 1TD | |
Olivia | Jones | 12 | 4 | 1964 | 296 | Ocean View | WT1 1TD | |
Oscar | Doyle | 11 | 1 | 1979 | 363 | Ocean View | WT1 1TD | |
Owen | Talbot | 11 | 4 | 1984 | 84 | Ocean View | WT1 1TD | |
Patrick | Fleming | 24 | 10 | 1947 | 98 | Ocean View | WT1 1TD | |
Reece | Savage | 15 | 9 | 1972 | 266 | Ocean View | WT1 1TD | |
Rhys | Chadwick | 2 | 5 | 1969 | 376 | Ocean View | WT1 1TD | |
Rhys | Page | 11 | 9 | 1950 | 283 | Ocean View | WT1 1TD | |
Rosie | Duncan | 1 | 2 | 1967 | 40 | AB41 7YW | ||
Ruby | Smith | 30 | 10 | 1951 | 161 | Ocean View | WT1 1TD | |
Ryan | Howarth | 26 | 12 | 1967 | 261 | Ocean View | WT1 1TD | |
Sam | Error | 7 | 5 | 1967 | 102 | Ocean View | NP1 1NP | |
Sam | Foster | 19 | 7 | 1952 | 275 | Ocean View | WT1 1TD | |
Sam | Leach | 27 | 2 | 1957 | 159 | Ocean View | WT1 1TD | |
Samantha | Abbott | 23 | 2 | 1966 | 137 | Ocean View | WT1 1TD | |
Samantha | Stokes | 2 | 5 | 1990 | 141 | Ocean View | WT1 1TD | |
Scott | Buckley | 3 | 6 | 1986 | 257 | Ocean View | WT1 1TD | |
Sean | Pope | 30 | 4 | 1972 | 282 | Ocean View | WT1 1TD | |
Sean | Wheeler | 30 | 6 | 1969 | 119 | Ocean View | WT1 1TD | |
Sophie | Benson | 16 | 4 | 1975 | 149 | Ocean View | WT1 1TD | |
Taylor | Benson | 21 | 3 | 1975 | 309 | Ocean View | WT1 1TD | |
Taylor | Coles | 6 | 7 | 1963 | 128 | Ocean View | WT1 1TD | |
Taylor | Giles | 19 | 6 | 1984 | 164 | Ocean View | WT1 1TD | |
Taylor | Giles | 19 | 6 | 1984 | ||||
Tegan | Steele | 17 | 10 | 1952 | 110 | Ocean View | WT1 1TD | |
Thomas | Holden | 30 | 5 | 1952 | 305 | Ocean View | WT1 1TD | |
Toby | Hussain | 29 | 7 | 1958 | 371 | Ocean View | WT1 1TD | |
Toby | Norton | 1 | 11 | 1968 | 95 | Ocean View | WT1 1TD | |
Tom | Dale | 28 | 3 | 1957 | 131 | Ocean View | WT1 1TD | |
Tom | Payne | 8 | 5 | 1969 | 135 | Ocean View | WT1 1TD | |
Tom | Smithersby | 24 | 7 | 1958 | 12 | BS11 5ST | ||
William | Byrne | 14 | 2 | 1985 | 92 | Ocean View | WT1 1TD | |
Zak | Carr | 2 | 3 | 1985 | 243 | Ocean View | WT1 1TD | |
Zak | Error | 2 | 3 | 1985 | 243 | Ocean View | NP1 1NP | |
Za | Randall | 24 | 12 | 1960 | 284 | Ocean View | WT1 1TD |
W2DataEkycUk007B
W2 Data Ekyc UK 007B is an identity verification service that includes the full Electoral Roll, CCJ and Credit Lenders data. This service will leave a money laundering footprint on the lenders profile of the person you are requesting information about.
Product Code: W2-DATA-EKYC-UK-007
Configuration
This service has some configuration that will be discussed with you as part of the on-boarding process. We can configure a matching profile and which sources of information to use when calculating a 2 plus 2 check. Please contact W2 Support for more information.
Query Data
The following Query Data properties pertain to this service. Please note that in the SOAP request the fields must be in alphabetical order.
Property Name | Type | Min Length | Max Length | Optional/Mandatory | Accepted Characters |
---|---|---|---|---|---|
Forename | String | 1 | 15 | Mandatory | All apart from (new line ' - \ \\ ,) |
MiddleNames | String | 15 | Optional | All apart from (new line ' - \ \\ ,) |
|
Surname | String | 1 | 30 | Mandatory | All apart from (new line ' - \ \\ ,) |
DayOfBirth | Integer | 1 | 2 | Mandatory | Numbers Only - greater than 0 |
MonthOfBirth | Integer | 1 | 2 | Mandatory | Numbers Only - greater than 0 |
YearOfBirth | Integer | 1 | 4 | Mandatory | Numbers Only - greater than 0 |
HouseName | String | 26 | Optional | ||
HouseNumber | String | 26 | Optional | ||
Flat | String | 20 | Optional | ||
Street | String | 32 | Optional | ||
Region | String | 20 | Optional | ||
County | String | 18 | Optional | ||
Country | String | 20 | Optional | ||
City | String | 28 | Optional | ||
Postcode | String | 1 | 8 | Optional |
After performing the search, the validation result (pass, fail, etc.) will be part of the <TransactionInformation>
returned for the service call.
Notes
-
Address information is optional if an AddressLookupRef is supplied in the query options. The AddressLookupRef is retrieved from the W2 Data Address Lookup 024 service as an addressId.
-
If an AddressLookupRef is not supplied then a minimum of House Name/Number and Postcode are required. Though it is advised to supply as much address information as possible as this is more likely to return a match if no prematched addressId is supplied.
After performing the search, the validation result (pass, fail, etc.) will be part of the <TransactionInformation>
returned for the service call.
Request
The following is an example SOAP request to the W2 Data Ekyc UK 007 B Service.
Example Request - W2 Data Ekyc UK 007B
{
"Bundle": "YOURBUNDLE",
"Data": {
"DayOfBirth": 22,
"Forename": "Isabelle",
"MonthOfBirth": 10,
"Surname": "Davidson",
"YearOfBirth": 1997
},
"Options":{
"AddressLookupRef":"12345"
}
}
<serviceRequest>
<BundleData>
<BundleName>{YOUR BUNDLE NAME HERE}</BundleName>
</BundleData>
<QueryData>
<DayOfBirth>{e.g. 01}</DayOfBirth>
<Forename>{e.g. JOHN}</Forename>
<MiddleNames>{e.g. JAMES} </MiddleNames>
<MonthOfBirth>{e.g. 01}</MonthOfBirth>
<Surname>{e.g. SMITH}</Surname>
<YearOfBirth>{e.g. 1990}</YearOfBirth>
</QueryData>
<QueryOptions>
<KeyValueOfstringstring>
<Key>{AddressLookupRef}</Key>
<Value>{e.g. 12345}</Value>
</KeyValueOfstringstring>
</QueryOptions>
<ServiceAuthorisation>
<APIKey>{YOUR API KEY HERE}</APIKey>
<ClientReference>{YOUR CLIENT REFERENCE HERE}</ClientReference>
</ServiceAuthorisation>
</serviceRequest>
Response
Example Response - W2 Data Ekyc UK 007B
"w2DataEkycUk007BResult": {
"dataSources": [{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddressAndDateOfBirth",
"NumberOfMatches": 2,
"Source": "CreditLendersB"
}
],
"interpretResult": "Pass",
"Message": "The call was successful",
"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycUk007BResult>
<DataSources>
<!-- An array of MatchingSource elements -->
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>
true or false
</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>
NotAssigned or NameAndAddress or NameAndDateOfBirth or
NameAndAddressAndDateOfBirth or MortalityHighConfidence or
MortalityLowConfidence or SurnameAndPhoneNumberAtAddress
</MatchingCriteria>
<NumberOfMatches>
0 - 99
<NumberOfMatches>
<Source>
0 = NotAssigned
1 = ElectoralRoll
2 = CCJ
3 = CreditLendersA
4 = CreditLendersB
5 = BT_OSIS
6 = MortalityData
<Source>
</MatchingSource>
</DataSources>
<InterpretResult>
NotPerformed or Pass or Fail or Refer or NoResults or
OneResult or MultipleResults or NotApplicable or NoInterpretPerformed
</InterpretResult>
<Message>
A message containing additional information about the call
</Message>
<TransactionResult>
None or Success or SuccessNoResults or SuccessIncompleteResults or
MultipleChoices or ClientErrorInformationFormatInvalid or ClientErrorInsufficientInformation or
NotExecutedDueToPreviousHalt or ServerErrorGeneralError or ServiceFailureError
</TransactionResult>
</W2DataEkycUk007BResult>
The following shows the basic schema for the <W2DataEkycUk007BResult>
object that is returned in the <ServiceResult>
Section of the <ProcessRequestResult>
object.
Below is some more information about the some of the elements of the response that require explanation:
DataSources = A collection showing every source of data that was used to formulate the result. Each source is represented by a <MatchingSource>
element.
AllowMultipleRecordsAsSeparateDataSources = Indicates that two different record matches from the same data source may count as independent sources when formulating the 2 + 2 result. For example, two Insight results may count as two sources, rather than one, as they would do under normal service circumstances.
MatchingCriteria = Precisely what data has been matched by the data source. E.g. NameAndAddressAndDateOfBirth
NumberOfMatches = The number of matches found by this data source
Source = An integer representing the source of the data match. E.g. 2 = CCJ (County Court Judgement)
SourceId | Source Matched |
---|---|
1 | Electoral Roll |
2 | County Court Judgements (CCJs) |
3 | N/A |
4 | Credit Lenders (Insight) |
5 | BT_OSIS |
6 | Mortality Data |
InterpretResult = The overall verification result, based on what matches were found in the data source against the query data submitted. The possibilities are Pass, Fail or Refer
Message = Gives some more details / context on the verification result
TransactionResult = A diagnostic result showing whether or not any technical errors were experienced during the check. This should always be “Success” unless a technical error has occured, in which case the verification check will be aborted.
Example Response:
The example shows a case where we have found one NameAndAddress match on the Electoral roll and 3 NameAndAddressAndDateOfBirth matches on CreditLendersB. This has resulted in a Pass.
Example Response - W2 Data Ekyc UK 007B
<W2DataEkycUk007BResult>
<DataSources>
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>NameAndAddress</MatchingCriteria>
<NumberOfMatches>1<NumberOfMatches>
<Source>1<Source>
</MatchingSource>
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>true</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>NameAndAddressAndDateOfBirth</MatchingCriteria>
<NumberOfMatches>3<NumberOfMatches>
<Source>4<Source>
</MatchingSource>
</DataSources>
<InterpretResult>Pass</InterpretResult>
<Message />
<TransactionResult>Success</TransactionResult>
</W2DataEkycUk007BResult>
"w2DataEkycUk007BResult": {
"dataSources": [{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddress",
"NumberOfMatches": 1,
"Source": "ElectoralRoll"
},
{
"AllowMultipleRecordsAsSeparateDataSources": true,
"MatchingCriteria": "NameAndAddressAndDateOfBirth",
"NumberOfMatches": 3,
"Source": "CreditLendersB"
}
],
"interpretResult": "Pass",
"Message": "The call was successful",
"transactionResult": "SuccessIncompleteResults"
}
Transaction Result
HaltTriggered | False |
ServiceTransactionResult | - Success - SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated - SuccessNoResults - No matches found - ServerErrorGeneralError - An error occurred - ServiceFailureError - Unable to contact third party service - ClientErrorInsufficientInformation - Required field not supplied or insufficient/invalid information |
ServiceInterpretResult | - OneResult - MultipleResults - Fail - NoResults - NoInterpretPerformed - NotPerformed - An error occurred and the search was not performed |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | - Pass - NotPerformed - No search occurred to match against - Fail - MissingMandatoryField or PatternNotMatched |
Warnings
Example Scenario of a Warning Request
<serviceRequest>
<neur:BundleData>
<neur:BundleName>W2DataEkycUK007B</neur:BundleName>
</neur:BundleData>
<neur:QueryData>
<neur:DayOfBirth>20</neur:DayOfBirth>
<neur:Flat>254</neur:Flat>
<neur:Forename>Bruce</neur:Forename>
<neur:HouseName>TheHouse</neur:HouseName>
<neur:HouseNumber>22</neur:HouseNumber>
<neur:MonthOfBirth>04</neur:MonthOfBirth>
<neur:Postcode>WT1 1TD</neur:Postcode>
<neur:Street>Ocean View</neur:Street>
<neur:Surname>Jones</neur:Surname>
<neur:YearOfBirth>1981</neur:YearOfBirth>
</neur:QueryData>
<neur:QueryOptions>
<arr:KeyValueOfstringstring>
<arr:Key>Sandbox</arr:Key>
<arr:Value>false</arr:Value>
</arr:KeyValueOfstringstring>
</neur:QueryOptions>
<neur:ServiceAuthorisation>
<neur:APIKey>{YOUR API KEY HERE}</neur:APIKey>
<neur:ClientReference>{YOUR CLIENT REFERENCE HERE}</neur:ClientReference>
</neur:ServiceAuthorisation>
</serviceRequest>
{
"Bundle": "W2DataEkycUK007B",
"Data": {
"DayOfBirth": 20,
"Flat": "254",
"Forename": "Bruce",
"HouseName":"TheHouse",
"HouseNumber":"22",
"MonthOfBirth": 4,
"Postcode":"WT1 1TD",
"Street": "Ocean View",
"Surname":"Jones",
"YearOfBirth":1981
},
"Options": {
"Sandbox": "false"
},
"ClientReference": "{YOUR CLIENT REFERENCE HERE}"
}
Example Scenario of a Warning Responses
<W2DataEkycUk007BResult>
<DataSources/>
<EncodedScore>13110</EncodedScore>
<InterpretResult>Pass</InterpretResult>
<Message>Matching performed using 3,1,1,2,4 sources as per profile</Message>
<TransactionResult>Success</TransactionResult>
<Characteristics/>
<Warnings>
<Warning>
<Message>Address variance found in the HouseName response - this individual was verified using HouseName: The House; HouseName supplied in request: TheHouse;</Message>
</Warning>
<Warning>
<Message>Address variance found in the HouseNumber response - this individual was verified using HouseNumber: 23; HouseNumber supplied in request: 22;</Message>
</Warning>
<Warning>
<Message>Address variance found in the Street response - this individual was verified using Street: OceansView; Street supplied in request: Ocean View;</Message>
</Warning>
<Warning>
<Message>Address variance found in the Postcode response - this individual was verified using Postcode: WT1 1TA; Postcode supplied in request: WT1 1TD;</Message>
</Warning>
<Warning>
<Message>Address variance found in the Flat response - this individual was verified using Flat: 2; Flat supplied in request: 254;</Message>
</Warning>
</Warnings>
</W2DataEkycUk007BResult>
{
"clientReference": "REST API Client Wrapper Testing",
"results": {
"w2DataEkycUk007BResult": {
"characteristics": [],
"warnings": [
{
"message": "Address variance found in the HouseName response - this individual was verified using HouseName: The House; HouseName supplied in request: TheHouse;"
},
{
"message": "Address variance found in the HouseNumber response - this individual was verified using HouseNumber: 23; HouseNumber supplied in request: 22;"
},
{
"message": "Address variance found in the Street response - this individual was verified using Street: OceansView; Street supplied in request: Ocean View;"
},
{
"message": "Address variance found in the Postcode response - this individual was verified using Postcode: WT1 1TA; Postcode supplied in request: WT1 1TD;"
},
{
"message": "Address variance found in the Flat response - this individual was verified using Flat: 2; Flat supplied in request: 254;"
}
],
"dataSources": [],
"encodedScore": "13110",
"interpretResult": "Pass",
"message": "Matching performed using 3,1,1,2,4 sources as per profile",
"transactionResult": "Success"
}
},
"transaction": {
"interpretResult": "Pass",
"serviceCallReference": "9be156fe-c0ef-44bd-9aeb-ccdc5957deed",
"serviceTransactions": [
{
"haltTriggered": false,
"service": "W2_DATA_EKYC_UK_007_B",
"serviceInterpretResult": "Pass",
"serviceTransactionResult": "Success",
"serviceTransactionResultMessage": "Matching performed using 3,1,1,2,4 sources as per profile",
"validationResult": "Pass"
}
]
}
}
A warning occurs when a verified response returns an address variant that is different to the request that was sent.
This will now display several warning messages that identify the verified response, the supplied response and where this differs.
Below are the properties that will display if any address variance occurs, then these will be displayed :
Property Name | Type |
---|---|
HouseName | String |
HouseNumber | Integer |
Street | String |
Postcode | String |
Flat | String |
Sandbox
Example Request - W2 Data Ekyc 007B
{
"Bundle": "KYC_UK_007B",
"Data": {
"Forename": "Abbie",
"Surname": "Forster",
"DayOfBirth": 26,
"MonthOfBirth": 12,
"YearOfBirth": 1962,
"HouseNumber": 241,
"Street": "Ocean View",
"Postcode": "WT1 1TD"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
To see the details of the service response of each sandbox case, simply click on it in the table below:
Sandbox Example Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | Flat | House Name/Number | Street | Postcode |
---|---|---|---|---|---|---|---|---|
Abbie | Forster | 26 | 12 | 1962 | 241 | Ocean View | WT1 1TD | |
Abbie | Forster | 26 | 12 | 1962 | ||||
Abby | Cameron | 16 | 10 | 1970 | 192 | Ocean View | WT1 1TD | |
Abby | Peacock | 25 | 6 | 1982 | 58 | Ocean View | WT1 1TD | |
Abigail | Ford | 22 | 10 | 1956 | 146 | Ocean View | WT1 1TD | |
Abigail | George | 22 | 5 | 1985 | 23 | Ocean View | WT1 1TD | |
Adam | Davidson | 12 | 5 | 1965 | 29 | North Promenade | FK14 2WX | |
Adam | Massey | 1 | 6 | 1960 | 22 | Ocean View | WT1 1TD | |
Adam | Potts | 3 | 9 | 1982 | 218 | Ocean View | WT1 1TD | |
Ahenobarbus | Michal | 31 | 12 | 1944 | 68 | RH13 3HE | ||
Alex | Chambers | 14 | 7 | 1960 | 188 | Ocean View | WT1 1TD | |
Alex | Robson | 8 | 4 | 1961 | 65 | Ocean View | WT1 1TD | |
Alexander | Robinson | 9 | 5 | 1981 | 240 | Ocean View | WT1 1TD | |
Alexander | Ward | 12 | 6 | 1993 | 347 | Ocean View | WT1 1TD | |
Alexandra | Duncan | 27 | 9 | 1971 | 197 | Ocean View | WT1 1TD | |
Alfie | Woods | 3 | 3 | 1956 | 25 | Ocean View | WT1 1TD | |
Alicia | Doherty | 13 | 6 | 1949 | 176 | Ocean View | WT1 1TD | |
Allen | Kiril | 8 | 1 | 1943 | 99 | IVT X34 | ||
Allen | Kiril | 8 | 1 | 1943 | ||||
Amber | Lowe | 29 | 12 | 1991 | 342 | Ocean View | WT1 1TD | |
Amelia | Dunn | 10 | 2 | 1960 | 345 | Ocean View | WT1 1TD | |
Andrew | Newton | 30 | 12 | 1959 | 53 | Ocean View | WT1 1TD | |
Andrew | Kirk | 10 | 10 | 1964 | 177 | Ocean View | WT1 1TD | |
Angeline | Error | 12 | 3 | 1972 | 380 | Ocean View | NP1 1NP | |
Ava | Connor | 3 | 6 | 1962 | 44 | Ocean View | WT1 1TD | |
Ava | Gardner | 28 | 7 | 1963 | 207 | Ocean View | WT1 1TD | |
Bailey | Mason | 8 | 9 | 1968 | 49 | Ocean View | WT1 1TD | |
Ben | Jennings | 14 | 6 | 1952 | 70 | Ocean View | WT1 1TD | |
Benjamin | Davis | 3 | 7 | 1962 | 321 | Ocean View | WT1 1TD | |
Bethany | Hancock | 8 | 10 | 1983 | 33 | Ocean View | WT1 1TD | |
Bethany | Hughes | 12 | 7 | 1943 | 47 | Ocean View | WT1 1TD | |
Billy | Cross | 11 | 2 | 1987 | 185 | Ocean View | WT1 1TD | |
Billy | Jones | 31 | 12 | 1944 | 68 | RH13 3HE | ||
Bradley | Griffin | 28 | 9 | 1967 | 19 | Ocean View | WT1 1TD | |
Bradley | Oliver | 15 | 11 | 1973 | 209 | Ocean View | WT1 1TD | |
Brooke | Bell | 9 | 11 | 1989 | 215 | Ocean View | WT1 1TD | |
Caitlin | Williams | 1 | 1 | 1974 | 365 | Ocean View | WT1 1TD | |
Callum | Error | 5 | 5 | 1992 | 7 | Ocean View | Z15 007B | |
Callum | Power | 6 | 9 | 1998 | 336 | Ocean View | WT1 1TD | |
Cameron | Parker | 17 | 12 | 1959 | 3 | Ocean View | WT1 1TD | |
Cameron | Khan | 8 | 9 | 1951 | 30 | Ocean View | WT1 1TD | |
Charlie | Holt | 16 | 8 | 1991 | 79 | Ocean View | WT1 1TD | |
Charlie | Robinson | 8 | 7 | 1949 | 80 | Ocean View | WT1 1TD | |
Charlie | Storey | 8 | 6 | 1962 | 29 | Ocean View | WT1 1TD | |
Charlie | Wilkinson | 18 | 11 | 1968 | 26 | LN4 7AT | ||
Charlotte | Patel | 4 | 11 | 1958 | 211 | Ocean View | WT1 1TD | |
Chelsea | Burke | 20 | 10 | 1987 | 189 | Ocean View | WT1 1TD | |
Chelsea | Stanley | 26 | 5 | 1958 | 165 | Ocean View | WT1 1TD | |
Chloe | Error | 12 | 3 | 1980 | 44 | Ocean View | Z15 007B | |
Chloe | Pope | 19 | 10 | 1969 | 81 | Ocean View | WT1 1TD | |
Christopher | Kirby | 25 | 6 | 1961 | 170 | Ocean View | WT1 1TD | |
Connor | Brown | 5 | 11 | 1974 | 225 | Ocean View | WT1 1TD | |
Corey | Bell | 5 | 3 | 1980 | 175 | Ocean View | WT1 1TD | |
Corey | Hutchinson | 23 | 6 | 1976 | 205 | Ocean View | WT1 1TD | |
Daisy | Hutchinson | 4 | 7 | 1975 | 63 | Ocean View | WT1 1TD | |
Daniel | Daly | 27 | 5 | 1981 | 75 | Ocean View | WT1 1TD | |
Danielle | Gallagher | 28 | 3 | 1940 | 50 | Ocean View | WT1 1TD | |
David | Armstrong | 25 | 2 | 1951 | 114 | Ocean View | WT1 1TD | |
David | Cameron | 9 | 10 | 1966 | 5 | BS8 1HN | ||
David | Robson | 9 | 5 | 1992 | 42 | HU12 9FL | ||
Declan | Baker | 15 | 9 | 1978 | 329 | Ocean View | WT1 1TD | |
Declan | Woods | 11 | 1 | 1975 | 37 | Ocean View | WT1 1TD | |
Dominic | Stewart | 26 | 3 | 1953 | 193 | Ocean View | WT1 1TD | |
Dylan | Rhodes | 23 | 9 | 1952 | 333 | Ocean View | WT1 1TD | |
Elise | Dodd | 15 | 7 | 1992 | 11 | Ocean View | WT1 1TD | |
Elise | Sullivan | 15 | 2 | 1983 | 61 | Ocean View | WT1 1TD | |
Elizabeth | Lloyd | 12 | 1 | 1967 | 21 | Ocean View | WT1 1TD | |
Elizabeth | Sims | 4 | 12 | 1973 | 194 | Ocean View | WT1 1TD | |
Ella | Smith | 16 | 3 | 1971 | 14 | Ocean View | WT1 1TD | |
Ellie | Rice | 2 | 11 | 1974 | 66 | Ocean View | WT1 1TD | |
Ellis | Austin | 23 | 5 | 1954 | 173 | Ocean View | WT1 1TD | |
Ellis | Price | 17 | 11 | 1960 | 198 | Ocean View | WT1 1TD | |
Emily | Burrows | 21 | 12 | 1980 | 231 | Ocean View | WT1 1TD | |
Emily | Nixon | 29 | 7 | 1966 | 186 | Ocean View | WT1 1TD | |
Emma | Hughes | 26 | 12 | 1953 | 171 | Ocean View | WT1 1TD | |
Erin | Harding | 2 | 9 | 1975 | 234 | Ocean View | WT1 1TD | |
Erin | Holmes | 9 | 5 | 1983 | 200 | Ocean View | WT1 1TD | |
Evan | Duncan | 5 | 10 | 1962 | 202 | Ocean View | WT1 1TD | |
Ewan | Wells | 3 | 10 | 1961 | 191 | Ocean View | WT1 1TD | |
Finley | Hyde | 25 | 10 | 1964 | 233 | Ocean View | WT1 1TD | |
Georgia | Barrett | 27 | 12 | 1987 | 73 | Ocean View | WT1 1TD | |
Georgia | Ford | 14 | 3 | 1987 | 232 | Ocean View | WT1 1TD | |
Grace | Stevenson | 27 | 3 | 1992 | 238 | Ocean View | WT1 1TD | |
Harrison | Johnson | 10 | 2 | 1964 | 12 | Ocean View | WT1 1TD | |
Harrison | Potter | 2 | 10 | 1972 | 28 | Ocean View | WT1 1TD | |
Harry | Hutchinson | 16 | 12 | 1992 | 4 | Ocean View | WT1 1TD | |
Harvey | Atkins | 15 | 10 | 1964 | 224 | Ocean View | WT1 1TD | |
Harvey | Lyons | 2 | 8 | 1975 | 335 | Ocean View | WT1 1TD | |
Harvey | Rice | 19 | 4 | 1962 | 166 | Ocean View | WT1 1TD | |
Henry | Wood | 1 | 3 | 1973 | 74 | Ocean View | WT1 1TD | |
Imogen | Rice | 15 | 7 | 1987 | 174 | Ocean View | WT1 1TD | |
Isaac | Atkinson | 13 | 12 | 1940 | 13 | Ocean View | WT1 1TD | |
Isaac | Wilson | 8 | 4 | 1964 | 239 | Ocean View | WT1 1TD | |
Isabel | Wallace | 24 | 7 | 1980 | 34 | Ocean View | WT1 1TD | |
Isabelle | Davidson | 22 | 10 | 1997 | 1 | Ocean View | WT1 1TD | |
Isabelle | Error | 15 | 2 | 1973 | 168 | Ocean View | NP1 1NP | |
Isabelle | Nolan | 15 | 2 | 1973 | 168 | Ocean View | WT1 1TD | |
Jack | Doherty | 28 | 1 | 1978 | 10 | Ocean View | WT1 1TD | |
Jake | Holt | 29 | 10 | 1975 | 201 | Ocean View | WT1 1TD | |
Jake | Thornton | 26 | 6 | 1968 | 327 | Ocean View | WT1 1TD | |
James | Greenwood | 3 | 10 | 1983 | 76 | Ocean View | WT1 1TD | |
James | Nicholls | 2 | 5 | 1994 | 46 | Ocean View | WT1 1TD | |
James | Smart | 9 | 9 | 1963 | 54 | Ocean View | WT1 1TD | |
James | Thorpe | 10 | 6 | 1978 | 4 | AB54 4PN | ||
Jamie | Hammond | 14 | 8 | 1956 | 56 | Ocean View | WT1 1TD | |
Jane | Fleming | 25 | 10 | 1952 | 16 | Ocean View | WT1 1TD | |
Jasmine | Burgess | 26 | 8 | 1997 | 242 | Ocean View | WT1 1TD | |
Jasmine | Mason | 15 | 4 | 1993 | 348 | Ocean View | WT1 1TD | |
Jasmine | Peacock | 24 | 12 | 1959 | 230 | Ocean View | WT1 1TD | |
Jay | Parkes | 15 | 10 | 1952 | 182 | Ocean View | WT1 1TD | |
Jayden | Brooks | 3 | 10 | 1983 | 350 | Ocean View | WT1 1TD | |
Jennifer | Error | 3 | 11 | 1975 | 151 | Ocean View | NP1 1NP | |
Jennifer | Thomson | 12 | 11 | 1967 | 27 | Ocean View | WT1 1TD | |
Jessica | Townsend | 19 | 5 | 1983 | 331 | Ocean View | WT1 1TD | |
Jodie | Johnson | 27 | 4 | 1954 | 69 | Ocean View | WT1 1TD | |
Joel | Marshall | 22 | 7 | 1951 | 330 | Ocean View | WT1 1TD | |
Joel | Moore | 21 | 9 | 1995 | 206 | Ocean View | WT1 1TD | |
Joel | Wilkinson | 13 | 2 | 1949 | 60 | Ocean View | WT1 1TD | |
John | Error | 23 | 3 | 1956 | 45 | Ocean View | NP1 1NP | |
Jordan | Dale | 10 | 3 | 1986 | 213 | Ocean View | WT1 1TD | |
Joseph | Birch | 11 | 11 | 1982 | 228 | Ocean View | WT1 1TD | |
Joseph | Jordan | 8 | 1 | 1997 | 337 | Ocean View | WT1 1TD | |
Jude | Sykes | 9 | 4 | 1966 | 67 | Ocean View | WT1 1TD | |
Kai | Davis | 10 | 10 | 1979 | 36 | Ocean View | WT1 1TD | |
Kate | Blake | 8 | 9 | 1968 | 15 | Ocean View | WT1 1TD | |
Katherine | Gibson | 9 | 7 | 1997 | 39 | Ocean View | WT1 1TD | |
Kayleigh | Weston | 17 | 5 | 1952 | 195 | Ocean View | WT1 1TD | |
Keira | Wood | 10 | 4 | 1978 | 20 | Ocean View | WT1 1TD | |
Kieran | Newman | 6 | 3 | 1987 | 220 | Ocean View | WT1 1TD | |
Lara | Barrett | 19 | 7 | 1958 | 351 | Ocean View | WT1 1TD | |
Laura | Stephens | 6 | 12 | 1989 | 59 | Ocean View | WT1 1TD | |
Leah | Boyle | 2 | 2 | 1985 | 204 | Ocean View | WT1 1TD | |
Leo | Shepherd | 6 | 7 | 1962 | 180 | Ocean View | WT1 1TD | |
Leon | Frost | 19 | 7 | 1973 | 64 | Ocean View | WT1 1TD | |
Liam | Holt | 3 | 2 | 1976 | 183 | Ocean View | WT1 1TD | |
Liam | Sheppard | 20 | 10 | 1965 | 214 | Ocean View | WT1 1TD | |
Lily | Error | 9 | 3 | 1995 | 381 | Ocean View | NP1 1NP | |
Lily | Ross | 21 | 4 | 1996 | 219 | Ocean View | WT1 1TD | |
Logan | Pearce | 6 | 3 | 1983 | 311 | Ocean View | WT1 1TD | |
Logan | Potts | 8 | 6 | 1985 | 57 | Ocean View | WT1 1TD | |
Logan | Russell | 16 | 10 | 1966 | 221 | Ocean View | WT1 1TD | |
Louie | Finch | 24 | 1 | 1993 | 55 | Ocean View | WT1 1TD | |
Louie | Reed | 3 | 12 | 1956 | 332 | Ocean View | WT1 1TD | |
Louis | Norman | 1 | 2 | 1961 | 71 | Ocean View | WT1 1TD | |
Louise | Error | 28 | 2 | 1987 | 567 | Ocean View | NP1 1NP | |
Louise | Stephenson | 3 | 11 | 1949 | 68 | Ocean View | WT1 1TD | |
Lucy | Error | 5 | 8 | 1967 | 56 | Ocean View | Z15 007B | |
Lydia | Frost | 12 | 2 | 1988 | 236 | Ocean View | WT1 1TD | |
Lydia | Vincent | 23 | 9 | 1980 | 222 | Ocean View | WT1 1TD | |
Maisie | Sharpe | 26 | 10 | 1931 | 45 | Ocean View | WT1 1TD | |
Mark | Error | 14 | 9 | 1938 | 800 | Ocean View | NP1 1NP | |
Mason | Chadwick | 23 | 4 | 1975 | 26 | Ocean View | WT1 1TD | |
Matilda | Ross | 7 | 6 | 1965 | 7 | Ocean View | WT1 1TD | |
Matthew | Error | 23 | 6 | 1990 | 2 | Ocean View | NP1 1NP | |
Maya | Burrows | 23 | 1 | 1953 | 48 | Ocean View | WT1 1TD | |
Megan | Crawford | 5 | 4 | 1957 | 1B | 1 | Orchid Bank | WT2 2DF |
Melissa | Glover | 21 | 3 | 1981 | 203 | Ocean View | WT1 1TD | |
Muhammad | West | 26 | 4 | 1983 | 349 | Ocean View | WT1 1TD | |
Natasha | Edwards | 7 | 4 | 1963 | 42 | Ocean View | WT1 1TD | |
Natasha | Mills | 26 | 1 | 1944 | 40 | Ocean View | WT1 1TD | |
Natasha | Winter | 7 | 2 | 1973 | 184 | Ocean View | WT1 1TD | |
Nathan | Wilkins | 12 | 6 | 1996 | 17 | Ocean View | WT1 1TD | |
Nicholas | Brookes | 9 | 3 | 1966 | 229 | Ocean View | WT1 1TD | |
Nicholas | Daly | 20 | 6 | 1968 | 2 | Ocean View | WT1 1TD | |
Noah | Clayton | 15 | 5 | 1972 | 223 | Ocean View | WT1 1TD | |
Oliver | Thomson | 30 | 1 | 1968 | 235 | Ocean View | WT1 1TD | |
Oliver | Watts | 18 | 8 | 1982 | 346 | Ocean View | WT1 1TD | |
Olivia | Owens | 29 | 6 | 1990 | 38 | Ocean View | WT1 1TD | |
Olivia | Reed | 3 | 5 | 1979 | 52 | Ocean View | WT1 1TD | |
Oscar | Craig | 8 | 7 | 1940 | 340 | Ocean View | WT1 1TD | |
Oscar | Mason | 5 | 1 | 1991 | 326 | Ocean View | WT1 1TD | |
Owen | OConnor | 2 | 4 | 1973 | 169 | Ocean View | WT1 1TD | |
Owen | Storey | 8 | 9 | 1968 | 179 | Ocean View | WT1 1TD | |
Paige | Giles | 29 | 6 | 1933 | 43 | Ocean View | WT1 1TD | |
Peter | Bird | 8 | 5 | 1978 | 167 | Ocean View | WT1 1TD | |
Peter | McKenzie | 5 | 9 | 1973 | 227 | Ocean View | WT1 1TD | |
Peter | Williams | 18 | 5 | 1973 | 72 | Ocean View | WT1 1TD | |
Peter | Winter | 28 | 3 | 1951 | 32 | Ocean View | WT1 1TD | |
Poppy | Kerr | 12 | 4 | 1967 | 237 | Ocean View | WT1 1TD | |
Reece | Frost | 1 | 3 | 1976 | 77 | Ocean View | WT1 1TD | |
Rhys | Shepherd | 19 | 2 | 1966 | 24 | Ocean View | WT1 1TD | |
Robert | Barker | 3 | 11 | 1986 | 18 | Ocean View | WT1 1TD | |
Robert | Robert | 11 | 7 | 1965 | 51 | Ocean View | WT1 1TD | |
Rosie | Coles | 22 | 10 | 1968 | 341 | Ocean View | WT1 1TD | |
Ruby | Error | 23 | 7 | 1956 | 33 | Ocean View | Z15 007B | |
Ryan | Leach | 27 | 12 | 1943 | 8 | Ocean View | WT1 1TD | |
Ryan | Morgan | 14 | 6 | 1967 | 328 | Ocean View | WT1 1TD | |
Ryan | Walton | 13 | 2 | 1947 | 41 | Ocean View | WT1 1TD | |
Sam | Error | 7 | 5 | 1967 | 102 | Ocean View | NP1 1NP | |
Sam | Hartley | 17 | 5 | 1952 | 35 | Ocean View | WT1 1TD | |
Samuel | Yates | 16 | 11 | 1966 | 216 | Ocean View | WT1 1TD | |
Scott | Fuller | 12 | 12 | 1966 | 196 | Ocean View | WT1 1TD | |
Sean | Gough | 6 | 5 | 1966 | 6 | Ocean View | WT1 1TD | |
Sebastian | Atkinson | 27 | 9 | 1989 | 212 | Ocean View | WT1 1TD | |
Sienna | Storey | 20 | 10 | 1965 | 62 | Ocean View | WT1 1TD | |
Simon | Abbott | 21 | 11 | 1983 | 31 | Ocean View | WT1 1TD | |
Sophia | ODonnell | 7 | 12 | 1986 | 187 | Ocean View | WT1 1TD | |
Suzanne | Error | 8 | 11 | 1978 | 47 | Ocean View | Z15 007B | |
Taylor | Giles | 19 | 6 | 1984 | 164 | Ocean View | WT1 1TD | |
Taylor | Giles | 19 | 6 | 1984 | ||||
Taylor | Harvey | 30 | 6 | 1994 | 210 | Ocean View | WT1 1TD | |
Thomas | Arnold | 24 | 10 | 1987 | 344 | Ocean View | WT1 1TD | |
Thomas | Oliver | 19 | 2 | 1960 | 178 | Ocean View | WT1 1TD | |
Thomas | Quinn | 7 | 12 | 1962 | 78 | Ocean View | WT1 1TD | |
Tom | Goodwin | 12 | 9 | 1973 | 5 | Ocean View | WT1 1TD | |
Tom | Error | 1 | 5 | 1998 | 3 | Ocean View | Z15 007B | |
Tyler | Singh | 21 | 8 | 1944 | 338 | Ocean View | WT1 1TD | |
William | Baldwin | 5 | 2 | 1985 | 339 | Ocean View | WT1 1TD | |
Zachary | Marshall | 24 | 4 | 1947 | 9 | Ocean View | WT1 1TD | |
Zak | Carr | 2 | 3 | 1985 | 243 | Ocean View | WT1 1TD | |
Zak | Error | 2 | 3 | 1985 | 243 | Ocean View | NP1 1NP |
W2DataEkycUk015
Within the TransUnion service you are able to request either an Identity check or an Anti-Money Laundering check, which will leave the corresponding footprints against the individuals credit file, further information can be found below:
Identity check:
Is an identity verification service that includes the Edited Electoral Roll, CCJ and Credit Lenders data. This service will leave a Identification Check footprint on the lenders profile of the person you are requesting information about.
Money Laundering Check:
Is an identity verification service that includes the full Electoral Roll, CCJ and Credit Lenders data. This service will leave a money laundering footprint on the lenders profile of the person you are requesting information about.
Product Code: W2-DATA-EKYC-UK-015
Configuration
This service has some configuration that will be discussed with you as part of the on-boarding process. We can configure a matching profile and which sources of information to use when calculating a 2 plus 2 check. Please contact W2 Support for more information.
Query Data
The following Query Data properties pertain to this service. Please note that in the SOAP request the fields must be in alphabetical order.
Property Name | Type | Min Length | Max Length | Optional/Mandatory | Accepted Characters |
---|---|---|---|---|---|
Title | String | 10 | Optional | All apart from (new line ' - \ \\ ,) |
|
Forename | String | 1 | 15 | Mandatory | All apart from (new line ' - \ \\ ,) |
MiddleNames | String | 15 | Optional | All apart from (new line ' - \ \\ ,) |
|
Surname | String | 1 | 30 | Mandatory | All apart from (new line ' - \ \\ ,) |
DayOfBirth | Integer | 1 | 2 | Mandatory | Numbers Only - greater than 0 |
MonthOfBirth | Integer | 1 | 2 | Mandatory | Numbers Only - greater than 0 |
YearOfBirth | Integer | 1 | 4 | Mandatory | Numbers Only - greater than 0 |
HouseName | String | 1 | 26 | Either HouseName or | |
HouseNumber | String | 1 | 26 | HouseNumber is Mandatory | |
Flat | String | 20 | Optional | ||
Street | String | 40 | Optional | ||
Region | String | 20 | Optional | ||
County | String | 20 | Optional | ||
Country | String | 20 | Optional | ||
City | String | 20 | Optional | ||
Postcode | String | 1 | 8 | Mandatory |
After performing the search, the validation result (pass, fail, etc.) will be part of the <TransactionInformation>
returned for the service call.
Request
The following is an example SOAP request to the W2 Data Ekyc UK 015 Service.
<serviceRequest>
<BundleData>
<BundleName>{YOUR BUNDLE NAME HERE}</BundleName>
</BundleData>
<QueryData>
<DayOfBirth>{e.g. 01}</DayOfBirth>
<Forename>{e.g. JOHN}</Forename>
<MiddleNames>{e.g. JAMES} </MiddleNames>
<MonthOfBirth>{e.g. 01}</MonthOfBirth>
<Surname>{e.g. SMITH}</Surname>
<YearOfBirth>{e.g. 1990}</YearOfBirth>
</QueryData>
<ServiceAuthorisation>
<APIKey>{YOUR API KEY HERE}</APIKey>
<ClientReference>{YOUR CLIENT REFERENCE HERE}</ClientReference>
</ServiceAuthorisation>
</serviceRequest>
Footprint Configuration
"options": {
"FootprintConfiguration": "MoneyLaundering" | "Identification"
}
<QueryOptions>
<KeyValueOfstringstring>
<Key>FootprintConfiguration</Key>
<Value>MoneyLaundering OR Identification</Value>
</KeyValueOfstringstring>
</QueryOptions>
Response
The following shows the basic schema for the <W2DataEkycUk015Result>
object that is returned in the <ServiceResult>
Section of the <ProcessRequestResult>
object.
SOAP
<W2DataEkycUk015Result>
<DataSources>
<!-- An array of MatchingSource elements -->
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>
{ true | false }
</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>
{
NotAssigned | NameAndAddress | NameAndDateOfBirth |
NameAndAddressAndDateOfBirth | MortalityHighConfidence |
MortalityLowConfidence | SurnameAndPhoneNumberAtAddress
}
</MatchingCriteria>
<NumberOfMatches>
{ 0 - 99 }
<NumberOfMatches>
<Source>
{
0 = NotAssigned
1 = ElectoralRoll
2 = CCJ
3 = CreditLendersA
4 = CreditLendersB
5 = BT_OSIS
6 = MortalityData
7 = CreditLendersC
}
<Source>
</MatchingSource>
</DataSources>
<InterpretResult>
{
NotPerformed | Pass | Fail | Refer | NoResults |
OneResult | MultipleResults | NotApplicable | NoInterpretPerformed
}
</InterpretResult>
<Message>
{ A message containing additional information about the call }
</Message>
<TransactionResult>
{
None | Success | SuccessNoResults | SuccessIncompleteResults |
MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
}
</TransactionResult>
</W2DataEkycUk015Result>
Below is some more information about the some of the elements of the response that require explanation:
DataSources = A collection showing every source of data that was used to formulate the result. Each source is represented by a
AllowMultipleRecordsAsSeparateDataSources= Indicates that two different record matches from the same data source may count as independent sources when formulating the 2 + 2 result. For example, two Insight results may count as two sources, rather than one, as they would do under normal service circumstances.
MatchingCriteria = Precisely what data has been matched by the data source. E.g. NameAndAddressAndDateOfBirth
NumberOfMatches = The number of matches found by this data source
Source = An integer representing the source of the data match. E.g. 2 = CCJ (County Court Judgement)
SourceId | Source Matched |
---|---|
1 | Electoral Roll |
2 | County Court Judgements (CCJs) |
3 | N/A |
4 | Credit Lenders (Insight) |
5 | BT_OSIS |
6 | Mortality Data |
7 | Credit Lenders(Call Credit) |
InterpretResult = The overall verification result, based on what matches were found in the data source against the query data submitted. The possibilities are Pass, Fail or Refer
Message = Gives some more details / context on the verification result
TransactionResult = A diagnostic result showing whether or not any technical errors were experienced during the check. This should always be “Success” unless a technical error has occured, in which case the verification check will be aborted.
Example Response: The below example shows a case where we have found one NameAndAddress match on the Electoral roll and 3 NameAndAddressAndDateOfBirth matches on CreditLendersB. This has resulted in a Pass.
Example Response - W2 Data Ekyc UK 15
<W2DataEkycUk015Result>
<DataSources>
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>NameAndAddress</MatchingCriteria>
<NumberOfMatches>1<NumberOfMatches>
<Source>1<Source>
</MatchingSource>
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>true</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>NameAndAddressAndDateOfBirth</MatchingCriteria>
<NumberOfMatches>3<NumberOfMatches>
<Source>4<Source>
</MatchingSource>
</DataSources>
<InterpretResult>Pass</InterpretResult>
<Message />
<TransactionResult>Success</TransactionResult>
</W2DataEkycUk015Result>
Transaction Result
HaltTriggered | False |
ServiceTransactionResult | - Success - SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated - SuccessNoResults - No matches found - ServerErrorGeneralError - An error occurred - ServiceFailureError - Unable to contact third party service - ClientErrorInsufficientInformation - Required field not supplied or insufficient/invalid information |
ServiceInterpretResult | - OneResult - MultipleResults - Fail - NoResults - NoInterpretPerformed - NotPerformed - An error occurred and the search was not performed |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | - Pass - NotPerformed - No search occurred to match against - Fail - MissingMandatoryField or PatternNotMatched |
Sandbox
Example Request - Director Check UK
{
"Bundle": "KYC_UK_015",
"Data": {
"Forename": "Amber",
"Surname": "Ball",
"DayOfBirth": 9,
"MonthOfBirth": 7,
"YearOfBirth": 1957,
"HouseNumber": "147",
"Street": "Ocean View",
"Postcode": "WT1 1TD"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
To see the details of the service response of each sandbox case, simply click on it in the table below:
Sandbox Example Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | Flat | House Name/Number | Street | Postcode |
---|---|---|---|---|---|---|---|---|
Amber | Ball | 9 | 7 | 1957 | 147 | Ocean View | WT1 1TD | |
Anquan | Error | 14 | 5 | 1978 | 10 | Error Road | ER3 3OR | |
Billy | Jones | 31 | 12 | 1944 | 68 | RH13 3HE | ||
Callum | Error | 5 | 5 | 1992 | 7 | Ocean View | Z15 007B | |
Cameron | Parker | 17 | 12 | 1959 | 3 | Ocean View | WT1 1TD | |
Charlie | Error | 12 | 6 | 1965 | 83 | Ocean View | Z15 007B | |
Charlie | Wilkinson | 18 | 11 | 1968 | 26 | LN4 7AT | ||
Chloe | Error | 12 | 3 | 1980 | 44 | Ocean View | Z15 007B | |
David | Robson | 9 | 5 | 1992 | 42 | HU12 9FL | ||
Declan | Woods | 11 | 1 | 1975 | 37 | Ocean View | WT1 1TD | |
Elise | Dodd | 15 | 7 | 1992 | 11 | Ocean View | WT1 1TD | |
Fred | Error | 3 | 4 | 1986 | 56 | Ocean View | NP1 1NP | |
Isaac | Atkinson | 13 | 12 | 1940 | 13 | Ocean View | WT1 1TD | |
Jack | Doherty | 28 | 1 | 1978 | 10 | Ocean View | WT1 1TD | |
James | Error | 10 | 6 | 1978 | 4 | Ocean View | NP1 1NP | |
James | Thorpe | 10 | 6 | 1978 | 4 | AB54 4PN | ||
Jamie | Error | 15 | 8 | 1959 | 57 | Ocean View | NP1 1NP | |
John | Smith | 8 | 11 | 1977 | 76 | Ocean View | WT1 1TD | |
Jonny | Miles | 8 | 1 | 1943 | 2 | 99 | IVT X34 | |
Kate | Blake | 8 | 9 | 1968 | 15 | Ocean View | WT1 1TD | |
Laura | Error | 28 | 7 | 1965 | 33 | Ocean View | NP1 1NP | |
Luana | Melania | 11 | 12 | 1924 | 8 | AB54 5TR | ||
Lucy | Error | 5 | 8 | 1967 | 56 | Ocean View | Z15 007B | |
Martin | Error | 3 | 9 | 1987 | 63 | Ocean View | NP1 1NP | |
Mary | Error | 1 | 12 | 1991 | 32 | Ocean View | NP1 1NP | |
Megan | Crawford | 5 | 4 | 1957 | 1B | 1 | Orchid Bank | WT2 2DF |
Micah | Stefanu | 10 | 4 | 1952 | 7 | AB54 5TR | ||
Moray | Abdiou | 11 | 12 | 1924 | 26 | LN4 7AT | ||
Nicholas | Daly | 20 | 6 | 1968 | 2 | Ocean View | WT1 1TD | |
Olivia | Owens | 29 | 6 | 1990 | 38 | Ocean View | WT1 1TD | |
Rosie | Duncan | 1 | 2 | 1967 | 40 | AB41 7YW | ||
Ruby | Error | 23 | 7 | 1956 | 33 | Ocean View | Z15 007B | |
Suzanne | Error | 8 | 11 | 1978 | 47 | Ocean View | Z15 007B | |
Theron | Marcel | 8 | 1 | 1943 | 99 | IVT X34 | ||
Tom | Goodwin | 12 | 9 | 1973 | 5 | Ocean View | WT1 1TD | |
Tom | Error | 1 | 5 | 1998 | 3 | Ocean View | Z15 007B | |
Vincenc | Claus | 10 | 4 | 1952 | 7 | AB54 5TR |
W2 Data Bank Account Verification Uk 007 Service
A bank account verification service for the UK
Product Code: W2-DATA-BANK_ACC_VER-UK-007
Query Data
The following QueryData elements pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
AccountNumber | String | 8 | Mandatory | 8 digits |
SortCode | String | 8 | Mandatory | 6 digits plus 2 hyphens |
Forename | String | 15 | Mandatory | Maximum 15 characters |
MiddleNames | String | 15 | Optional | Maximum 15 characters |
Surname | String | 30 | Mandatory | Maximum 30 characters |
DayOfBirth | Integer | 2 | Optional | |
MonthOfBirth | Integer | 2 | Optional | |
YearOfBirth | Integer | 4 | Optional | |
HouseName | String | 26 | Mandatory if no HouseNumber given | Maximum 26 characters |
HouseNumber | String | 26 | Mandatory if no HouseName given | Maximum 26 characters |
City | String | 100 | Optional | |
Postcode | String | 8 | Mandatory | Must be a valid UK postcode |
Request
Example Request - W2 Data Bank Account Verification Uk 007
"Data": {
"AccountNumber": "12345678",
"City": "Crawley",
"DayOfBirth": 31,
"Forename": "Billy",
"HouseNumber": "68",
"MonthOfBirth": 12,
"Postcode": "RH13 3HE",
"SortCode": "12-13-14",
"Surname": "Jones",
"YearOfBirth": 1944
}
<QueryData>
<AccountNumber>12345678</AccountNumber>
<City>Crawley</City>
<DayOfBirth>31</DayOfBirth>
<Forename>Billy</Forename>
<HouseNumber>68</HouseNumber>
<MonthOfBirth>12</MonthOfBirth>
<Postcode>RH13 3HE</Postcode>
<SortCode>12-13-14</SortCode>
<Surname>Jones</Surname>
<YearOfBirth>1944</YearOfBirth>
</QueryData>
Response
The following shows the basic schema for the <BankAccountVerificationResult>
object that is returned in the <ServiceResult>
Section of the <ProcessRequestResult>
object.
Sample Response - W2 Data Bank Account Verification Uk 007
<BankAccountVerificationResult>
<Characteristics>
{
<Characteristic>
{
<Code>
{ A characteristic code }
</Code>
<Value>
{ A characteristic value }
</Value>
}
</Characteristic>
}
</Characteristics>
<MatchingFields>
{
<MatchingField>
{
<FieldLabel>
{ A matching field label }
</FieldLabel>
<IsValid>
{ A Boolean value }
</IsValid>
<Value>
{ A matching field value }
</Value>
}
</MatchingField>
}
</MatchingFields>
<InterpretResult>
{
NotPerformed | Pass | Fail | Refer |
NotApplicable | NoInterpretPerformed
}
</InterpretResult>
<Message>
{ A message containing additional information about the call }
</Message>
<TransactionResult>
{
None | Success | SuccessNoResults | SuccessIncompleteResults |
MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
}
</TransactionResult>
</BankAccountVerificationResult>
Example Response
The example shows a case where we have found one NameAndAddress match and valid AccountNumber and SortCode.
Example Response - W2 Data Bank Account Verification Uk 007
"bankAccountVerificationResult": {
"characteristics": [{
"code": "RNILF04",
"value": "289"
}, {
"code": "ESC41",
"value": "1"
}, {
"code": "SSC5",
"value": "M"
}, {
"code": "CSC1",
"value": "1"
}, {
"code": "ASC200",
"value": "M"
}, {
"code": "ASC201",
"value": "M"
}, {
"code": "A_E101",
"value": "1"
}, {
"code": "A_N101",
"value": "1"
}, {
"code": "A_C12",
"value": "N"
}, {
"code": "A_C13",
"value": "N"
}, {
"code": "LSC157",
"value": "C"
}, {
"code": "LSC173",
"value": "C"
}, {
"code": "LSC250",
"value": "1"
}, {
"code": "ZSC006",
"value": "1"
}, {
"code": "ZSC007",
"value": "C"
}, {
"code": "ZSC026",
"value": "10"
}, {
"code": "ZSC027",
"value": "C"
}, {
"code": "LSC074",
"value": "C"
}, {
"code": "YSC827",
"value": "G"
}, {
"code": "YSC877",
"value": "R"
}, {
"code": "YSC301",
"value": "11"
}, {
"code": "YSC351",
"value": "L"
}, {
"code": "DSC1",
"value": "Y"
}, {
"code": "ESC941",
"value": "1"
}, {
"code": "FSC3",
"value": "Y"
}, {
"code": "QSC001",
"value": "1"
}, {
"code": "KSC156",
"value": "C"
}, {
"code": "KHC002",
"value": "114950"
}, {
"code": "KHC020",
"value": "197147"
}, {
"code": "KHC043",
"value": "A"
}, {
"code": "KHC202",
"value": "M"
}, {
"code": "KHC301",
"value": "88"
}, {
"code": "KHC404",
"value": "564"
}, {
"code": "WCF507",
"value": "M"
}, {
"code": "QSC070",
"value": "1"
}, {
"code": "QSC074",
"value": "1"
}, {
"code": "QSC034",
"value": "1"
}
],
"interpretResult": "Pass",
"matchingFields": [{
"fieldLabel": "Account number confirmation",
"isValid": true,
"value": "Valid"
}, {
"fieldLabel": "Sort code confirmation",
"isValid": true,
"value": "Valid"
}, {
"fieldLabel": "Age of account",
"isValid": true,
"value": "36 Months"
}, {
"fieldLabel": "Name Match",
"isValid": true,
"value": "MELISSA BONSTOW"
}, {
"fieldLabel": "Address Match",
"isValid": true,
"value": "4000, WEST FEN ROAD, CB6 1AN"
}
],
"message": "This service has passed as the bank account number and sort code have successfully matched",
"scores": [],
"transactionResult": "Success"
}
<BankAccountVerificationResult>
<Characteristics>
<Characteristic>
<Code>QSC070</Code>
<Value>1</Value>
</Characteristic>
<Characteristic>
<Code>QSC074</Code>
<Value>1</Value>
</Characteristic>
</Characteristics>
<InterpretResult>Pass</InterpretResult>
<MatchingFields>
<MatchingField>
<FieldLabel>Account number confirmation</FieldLabel>
<IsValid>true</IsValid>
<Value>Valid</Value>
</MatchingField>
<MatchingField>
<FieldLabel>Sort code confirmation</FieldLabel>
<IsValid>true</IsValid>
<Value>Valid</Value>
</MatchingField>
<MatchingField>
<FieldLabel>Age of account</FieldLabel>
<IsValid>true</IsValid>
<Value>14 months</Value>
</MatchingField>
<MatchingField>
<FieldLabel>Name Match</FieldLabel>
<IsValid>true</IsValid>
<Value>Mina Heaney</Value>
</MatchingField>
<MatchingField>
<FieldLabel>Address Match</FieldLabel>
<IsValid>true</IsValid>
<Value>4032, ELY, CB6 1AN</Value>
</MatchingField>
</MatchingFields>
<Message>
This service has passed as the bank account number and sort code have successfully matched
</Message>
<Scores/>
<TransactionResult>Success</TransactionResult>
</BankAccountVerificationResult>
Transaction Result
HaltTriggered | Usually false, but can be true if this service is used within a bundle that can trigger a halt condition. | ||||||||||||||||||||
ServiceTransactionResult |
|
||||||||||||||||||||
ServiceInterpretResult |
|
||||||||||||||||||||
CharacteristicResultValues |
|
||||||||||||||||||||
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. | ||||||||||||||||||||
ValidationResult |
|
Sandbox
Example Request - W2 Data Bank Account Verification
{
"Bundle": "BankAccountVerification007",
"Data": {
"AccountNumber": "03299391",
"SortCode": "09-01-27",
"Forename": "Nicloe",
"Surname": "Ncube",
"DayOfBirth": 5,
"MonthOfBirth": 10,
"YearOfBirth": 1988,
"HouseNumber": "549",
"Street": "Cromwell Road",
"Town": "Ely",
"Postcode": "CB6 1AS"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
Scenario | Explanation | Forename | Middlename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | Bank Sort Code | Bank Account Number | House Number | Street 1 | Town | Postcode |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Fail | Sort Code / Account Number not validated | Nicloe | Alan | Ncube | 05 | 10 | 1988 | 09-01-27 | 03299391 | 549 | Cromwell Road | Ely | CB6 1AS |
Fail | Sort Code / Account Number not validated | Vilamantos | M | Ali | 19 | 09 | 1993 | 09-01-27 | 03299391 | 1330 | Cromwell Road | Ely | CB6 1AS |
Fail | Sort Code valid less one digit / Account Number not validated | Leasa | Maria | Gibson | 21 | 03 | 1957 | 09-01-27 | 03299391 | 623 | West Fen Road | Ely | CB6 1AN |
Fail | Sort Code valid less one digit / Account Number not validated | Rd | Huckle | 20 | 10 | 1979 | 09-01-27 | 03299391 | 12 | Cromwell Road | Ely | CB6 1AS | |
Fail | Sort Code valid less one digit / Account Number not validated | Dan Moses | Bloomer | 31 | 01 | 1989 | 09-01-27 | 03299391 | 33 | Cromwell Road | Ely | CB6 1AS | |
Fail | Sort Code valid / Account Number not validated | Marlon | Davenport | 03 | 03 | 1988 | 09-01-27 | 03299391 | 30 | Cromwell Road | Ely | CB6 1AS | |
Pass | Sort Code / Account Number valid | Melissa | Bonstow | 20 | 04 | 1978 | 60-15-28 | 66599864 | 4000 | West Fen Road | Ely | CB6 1AN | |
Pass | Sort Code / Account Number valid | B | Craig | Susca | 30 | 10 | 1971 | 11-00-51 | 00971999 | 4023 | West Fen Road | Ely | CB6 1AN |
Pass | Sort Code / Account Number valid | Jordan | V | Milstead | 16 | 06 | 1977 | 30-84-51 | 39399468 | 3990 | West Fen Road | Ely | CB6 1AN |
Refer | Sort Code valid / Account Number valid less one digit | Maj | C | Borovyk | 06 | 06 | 1991 | 09-01-28 | 39349919 | 4007 | West Fen Road | Ely | CB6 1AN |
Refer | Sort Code valid / Account Number valid less one digit | Ganesh | Alice | Lilleystone | 06 | 07 | 1988 | 09-01-28 | 79284500 | 4008 | West Fen Road | Ely | CB6 1AN |
Refer | Sort Code valid / Account Number valid less one digit | John D | Thomas | Haywrd | 02 | 09 | 1993 | 09-01-28 | 37609943 | 4019 | West Fen Road | Ely | CB6 1AN |
W2 Data Mortality Uk 035
W2 Data Mortality Uk 035 is a UK identity verification service that checks data against a variety of different sources to determine if the person is deceased.If there are multiple matches, it provides a list of them, up to a limit of 10.
Product Code: W2-DATA-MORTALITY-UK-035
Query Data
The following properties pertain to this service, please note that the fields MUST be in the same order as shown below.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
DayOfBirth | Integer | 2 | Mandatory | |
Forename | String | 15 | Mandatory | |
Flat | String | 55 | Optional | |
HouseName/HouseNumber | String | 55 | Mandatory | Either house name or house number must be supplied may also include Flat number i.e. Flat 1, 4 |
MiddleNames | String | 15 | Optional | |
MonthOfBirth | Integer | 2 | Mandatory | |
Postcode | String | 8 | Mandatory | Must be a valid Uk postcode. |
Surname | String | 30 | Mandatory | |
YearOfBirth | Integer | 4 | Mandatory |
Request
These are example requests when calling the W2 Data Mortality Uk 035 Service:
Example Request
"Data": {
"DayOfBirth": 16,
"Forename": "Brandon",
"HouseName": "1 HANOVER GRANGE",
"MonthOfBirth": 11,
"Postcode": "YO167BX",
"Surname": "Truman",
"YearOfBirth": 1945
}
<QueryData>
<DayOfBirth>16</DayOfBirth>
<Forename>Brandon</Forename>
<HouseName>1 HANOVER GRANGE</HouseName>
<MonthOfBirth>11</MonthOfBirth>
<Postcode>YO167BX</Postcode>
<Surname>Truman</Surname>
<YearOfBirth>1945</YearOfBirth>
</QueryData>
Response
Example Response
"W2DataMortalityUk035Result" : {
"MortalityResult" : {
"MortalityResponse"
"MatchData" : {
"AddressMatch" : "true",
"DobMatch" : "true",
"NameMatch" : "true",
"PostcodeMatch" : "true"
},
"Person" : {
"Address1" : "1 HANOVER GRANGE",
"Address2" : "BRIDLINGTON",
"Address3" : "EAST RIDING OF YORKSHIRE",
"Address4" : "Y016 7BX",
"Address5" : "",
"DateOfBirth" : "1945-11-1600:00:00",
"DateOfDeath" : "2019-09-1900:00:00",
"Forename" : "BRANDON",
"MiddleName" : "LEWIS",
"Postcode" : "Y0167BX",
"Score" : "9",
"Surname" : "TRUMAN",
"Title" : "MR",
"UniqueReferenceNumber" : "06186191"
}
}
}
}
<W2DataMortalityUk035Result>
<ServiceResult>
<MortalityResponse>
<MatchData>
<AddressMatch>true</AddressMatch>
<DobMatch>true</DobMatch>
<NameMatch>true</NameMatch>
<PostcodeMatch>true</PostcodeMatch>
</MatchData>
<Person>
<Address1>1 HANOVER GRANGE</Address1>
<Address2>BRIDLINGTON</Address2>
<Address3>EAST RIDING OF YORKSHIRE</Address3>
<Address4>Y016 7BX</Address4>
<Address5/>
<DateOfBirth>1945-11-1600:00:00</DateOfBirth>
<DateOfDeath>2019-09-1900:00:00</DateOfDeath>
<Forename>BRANDON</Forename>
<MiddleName>LEWIS</MiddleName>
<Postcode>Y0167BX</Postcode>
<Score>9</Score>
<Surname>TRUMAN</Surname>
<Title>MR</Title>
<UniqueReferenceNumber>06186191</UniqueReferenceNumber>
<Person>
</MortalityResponse>
</ServiceResult>
</W2DataMortalityUk035Result>
The following shows the basic schema for the <W2DataMortalityUk035Result>
object that is returned in the <ServiceResult>
Section of the <ProcessRequestResult>
object.
Transaction Result
After performing the search, the <TransactionInformation>
will be part of the <ProcessRequestParameters>
returned for the service call.
Example TransactionInformation result - W2 Data Mortality Uk 035
<TransactionInformation>
<InterpretResult>NotApplicable</InterpretResult>
<ServiceCallReference>96edada3-b5f7-40d0-869a-c37a6266b50a</ServiceCallReference>
<ServiceTransactions>
<ServiceTransactionInformation>
<FailedOverTo>null</FailedOverTo>
<HaltTriggered>false</HaltTriggered>
<Service>W2_DATA_MORTALITY_UK_035</Service>
<ServiceInterpretResult>OneResult</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>One Match Found</ServiceTransactionResultMessage>
<ServiceValidationDetails>null</ServiceValidationDetails>
<ValidationResult>Pass</ValidationResult>
</ServiceTransactionInformation>
</ServiceTransactions>
</TransactionInformation>
The following shows the basic schema for the <TransactionInformation>
object that is returned in the <ProcessRequestResult>
object.
FailoverOverTo | Did the service encounter a third party error, and fail over to an alternate service? (Not applicable for this service). |
HaltTriggered | Was there a halt condition included in the bundle that has been triggered. |
ServiceInterpretResult | - OneResult- MultipleResults- NoResults- NotPerformed - An error occurred and the search was not performed |
ServiceTransactionResult | - Success- SuccessNoResults- SuccessIncompleteResults - Too many matches generated, results truncated- ClientErrorInsufficientInformation - Required field not supplied- ClientErrorInformationFormatInvalid - Invalid format in field- ServerErrorGeneralError - Error with third party service |
ServiceTransactionResultMessage | - One Potential Match Found- Multiple Potential Matches Found- No Potential Matches Found |
ServiceValidationDetails | Shows the messages related to a validation error if applicable. |
ValidationResult | - NotApplicable **- No search occurred to match against- **Fail - MissingMandatoryField or PatternNotMatched |
Sandbox
Example Request - W2 Data Mortality Uk 035
{
"Bundle": "W2-DATA-MORTALITY-UK-035",
"Data": {
"DayOfBirth": 11,
"Forename": "Alex",
"HouseNumber": "81",
"MonthOfBirth": 3,
"Postcode": "PA33 7WB",
"Street": "Crescent Avenue",
"Surname": "Goodwin",
"YearOfBirth": 1941
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
To see the details of the service response of each sandbox case, simply click on it in the table below:
Sandbox Example Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | Flat | House Name/Number | Street | Postcode |
---|---|---|---|---|---|---|---|---|
Alex | Goodwin | 11 | 3 | 1941 | 81 | Crescent Avenue | PA33 7WB | |
Eve | Hale | 23 | 2 | 1963 | 14 | Russell Road | PE31 3AH | |
Oliver | Quade | 14 | 5 | 1969 | 5 | Dover Road | AB52 1RZ | |
Harvey | Harris | 24 | 7 | 1962 | 112 | Wenlock Terrace | CF2 1NN | |
Logan | Glover | 5 | 7 | 1988 | 80 | Emerson Road | DG2 6LY | |
Sofia | Warner | 7 | 9 | 1962 | 112 | Stone St | KA27 4TD |
Id Check NL Alpha
ID Check NL Alpha is an identity verification service for Netherlands. It uses National Database, Telephone Directory, Passports and ID Card.
Product Code: W2-DATA-EKYC-NL-005
Properties
The following properties pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 15 | Mandatory | |
MiddleNames | String | 15 | Optional | |
Surname | String | 30 | Mandatory | |
Gender | String | Optional | Must be ‘M’ or ‘F’ if provided | |
DayOfBirth | Integer | 2 | Mandatory | |
MonthOfBirth | Integer | 2 | Mandatory | |
YearOfBirth | Integer | 4 | Mandatory | |
HouseName | String | 26 | Mandatory if no HouseNumber given | |
HouseNumber | String | 26 | Mandatory if no HouseName given | |
Street | String | 40 | Mandatory | |
County | String | 20 | Optional | |
City | String | 20 | Mandatory | |
Postcode | String | 8 | Mandatory | |
Phone Number | String | 16 | Optional | Please provide the phone number as one contiguous set of numbers with no other characters or spaces. |
After performing the search, the validation result (pass, fail, etc.) will be part of the TransactionInformation returned for the service call.
Response
Sample Response
"idCheckNLAlphaResult": {
"individuals": {
"individual": {
"addresses": {},
"individualSummary": {}
},
"summary": {
"decision": "-1",
"decisionReasons": {
"decisionReasonList": [
{
"decision": "-1",
"element": "Individual/IndividualSummary/DateOfBirthMatch"
},
{
"decision": "-1",
"element": "Individual/IndividualSummary/NameMatch"
}
]
}
},
"type": "Result"
},
"searchRef": "dd66471d-8d8d-48e2-aafa-12a6c9b4c059",
"summary": {
"decisionMatrix": {
"code": "******",
"decision": {
"outcome": "1",
"reason": "Individual has only matched on name no address or DOB"
},
"name": "****************",
"rules": {
"ruleList": [
{
"id": "Individuals Datablock",
"name": "BSO/DEU/Bespoke/Nam/NameDOB",
"outcome": "-1",
"reason": "Individual has a full match to forename surname and DOB"
},
{
"id": "Telephony Datablock",
"name": "BSO/DEU/Bespoke/NamPremPC/ID/90/NameAddress",
"outcome": "-1",
"reason": "Individual has a full match to forename surname premise postcode"
}
]
}
},
"kycSummary": {
"address": {
"count": "4"
},
"alerts": {
"count": "0"
},
"dateOfBirth": {
"count": "3"
},
"fullNameAndAddress": {
"count": "0"
},
"surnameAndAddress": {
"count": "0"
}
},
"reportSummary": {
"datablocksSummary": {
"datablockSummaryList": [
{
"decision": "1",
"name": "Individuals"
},
{
"decision": "",
"name": "Telephony"
}
]
}
}
},
"telephony": {
"type": "NoMatch"
}
}
<IDCheckNLAlphaResult>
<Individuals>
<ErrorCode />
<ErrorMessage />
<Individual>
<Addresses>
<AddressList>
<AddressIndividuals>
<CountryCode />
<Current>0</Current>
<PostTown />
<Postcode />
<Premise />
<Street />
<SubPremise />
<TimeAtAddress />
</AddressIndividuals>
</AddressList>
</Addresses>
<IdentityDocuments />
<IndividualSummary>
<AddressMatch>0</AddressMatch>
<DateOfBirthMatch>0</DateOfBirthMatch>
<HighRiskAddressMatch>0</HighRiskAddressMatch>
<NameAndAddressMatch>0</NameAndAddressMatch>
<NameMatch>0</NameMatch>
<NoOfDateOfBirthMatch>0</NoOfDateOfBirthMatch>
<NoOfNameAddressMatch>0</NoOfNameAddressMatch>
<NoOfSurnameAddressMatch>0</NoOfSurnameAddressMatch>
<SurnameAndAddressMatch>0</SurnameAndAddressMatch>
<TelephoneNumberMatch>0</TelephoneNumberMatch>
<TotalNumberOfVerifications>0</TotalNumberOfVerifications>
</IndividualSummary>
<Person />
<Source />
</Individual>
<Summary>
<Decision>-1</Decision>
<DecisionReasons>
<DecisionReasonList>
<DecisionReasonIndividuals>
<Decision>-1</Decision>
<Element>Individual/IndividualSummary/HighRiskAddressMatch</Element>
</DecisionReasonIndividuals>
<DecisionReasonIndividuals>
<Decision>-1</Decision>
<Element>Individual/IndividualSummary/DateOfBirthMatch</Element>
</DecisionReasonIndividuals>
<DecisionReasonIndividuals>
<Decision>-1</Decision>
<Element>Individual/IndividualSummary/NoOfDateOfBirthMatch</Element>
</DecisionReasonIndividuals>
<DecisionReasonIndividuals>
<Decision>-1</Decision>
<Element>Individual/IndividualSummary/NameMatch</Element>
</DecisionReasonIndividuals>
<DecisionReasonIndividuals>
<Decision>-1</Decision>
<Element>Individual/IndividualSummary/NoOfSurnameAddressMatch</Element>
</DecisionReasonIndividuals>
<DecisionReasonIndividuals>
<Decision />
<Element>Individual/IndividualSummary/NameAndAddressMatch</Element>
</DecisionReasonIndividuals>
<DecisionReasonIndividuals>
<Decision>-1</Decision>
<Element>Individual/IndividualSummary/NoOfNameAddressMatch</Element>
</DecisionReasonIndividuals>
<DecisionReasonIndividuals>
<Decision>-1</Decision>
<Element>Individual/IndividualSummary/SurnameAndAddressMatch</Element>
</DecisionReasonIndividuals>
<DecisionReasonIndividuals>
<Decision>-1</Decision>
<Element>Individual/IndividualSummary/AddressMatch</Element>
</DecisionReasonIndividuals>
<DecisionReasonIndividuals>
<Decision>-1</Decision>
<Element>Individual/IndividualSummary/TotalNumberOfVerifications</Element>
</DecisionReasonIndividuals>
</DecisionReasonList>
</DecisionReasons>
</Summary>
<Type>Result</Type>
</Individuals>
<Passport />
<SearchRef>F2AFE92E-9182-4F34-9807-A27A79780F3C</SearchRef>
<Summary >
<DecisionMatrix>
<Code>W2DMNLD</Code>
<Decision>
<Outcome>-1</Outcome>
<Reason>Please reprocess search</Reason>
</Decision>
<Name>W2 Global Netherlands Decision Matrix</Name>
<Rules>
<RuleList>
<Rule>
<Code />
<Id>Other-2723</Id>
<Name>BSO/NLD/NamAddGT2</Name>
<Outcome/>
<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
</Rule>
<Rule>
<Code />
<Id>Other-2762</Id>
<Name>BSO/NLD/NameAddGT2</Name>
<Outcome/>
<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
</Rule>
<Rule>
<Code />
<Id>KYC Datablock-2928</Id>
<Name>BSO/NLD/NamDOB/NamAdd</Name>
<Outcome/>
<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
</Rule>
<Rule>
<Code />
<Id>KYC Datablock-2927</Id>
<Name>BSO/NLD/NamAdd/NamDOB</Name>
<Outcome/>
<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
</Rule>
<Rule>
<Code />
<Id>Other-2724</Id>
<Name>BSO/NLD/NamAdd1</Name>
<Outcome/>
<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
</Rule>
<Rule>
<Code />
<Id>Other-2725</Id>
<Name>BSO/NLD/NameMatchOnly</Name>
<Outcome/>
<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
</Rule>
<Rule>
<Code />
<Id>KYC Datablock-1017</Id>
<Name>KYC/AnyDatabase/Result</Name>
<Outcome/>
<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
</Rule>
</RuleList>
</Rules>
</DecisionMatrix>
<KYCSummary>
<Address>
<Count>0</Count>
</Address>
<Alerts>
<Count>0</Count>
</Alerts>
<DateOfBirth>
<Count>0</Count>
</DateOfBirth>
<FullNameAndAddress>
<Count>0</Count>
</FullNameAndAddress>
<SurnameAndAddress>
<Count>0</Count>
</SurnameAndAddress>
</KYCSummary>
<ReportSummary>
<DatablocksSummary>
<DatablockSummaryList>
<DatablockSummary>
<Decision>-1</Decision>
<Name>Individuals</Name>
</DatablockSummary>
<DatablockSummary>
<Decision/>
<Name>Telephony</Name>
</DatablockSummary>
</DatablockSummaryList>
</DatablocksSummary>
</ReportSummary>
</Summary>
<Telephony>
<ErrorCode>100</ErrorCode>
<ErrorMessage>Unable to determine the geographical area</ErrorMessage>
<Summary />
<TelephonyRecord />
<Type>Error</Type>
</Telephony>
</IDCheckNLAlphaResult>
Sandbox
Query options for Sandbox
"options": {
"sandbox": "true"
}
<QueryOptions>
<KeyValueOfstringstring>
<Key>Sandbox</Key>
<Value>true</Value>
</KeyValueOfstringstring>
</QueryOptions>
City: | “Stein” |
DayOfBirth: | 14 |
Forename: | “Michael” |
HouseNumber: | 241 |
MonthOfBirth: | 7 |
PhoneNumber: | “0619154863” |
Postcode: | “6171KK” |
Street: | “Stadhouderslaan” |
Surname: | “Meuleberg” |
YearOfBirth: | 1975 |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceInterpretResult: | NotApplicable |
ServiceTransactionResult: | Success |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | Pass |
City: | “Hague” |
DayOfBirth: | 12 |
Forename: | “Thomas” |
HouseNumber: | 61 |
MonthOfBirth: | 5 |
Postcode: | “2522HK” |
Street: | “Boele van Hensbroekstraat” |
Surname: | “Duisenberg” |
YearOfBirth: | 1981 |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceInterpretResult: | Fail |
ServiceTransactionResult: | Success |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | Pass |
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | NotApplicable |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | NoValidationPerformed |
ID Check ZA Alpha
ID Check ZA Alpha is an identity verification service for South Africa.
Product Code: W2-DATA-EKYC-ZA-005
Properties
The following properties pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 15 | Mandatory | |
MiddleNames | String | 15 | Optional | |
Surname | String | 30 | Mandatory | |
Gender | String | Optional | Must be ‘M’ or ‘F’ if provided | |
DayOfBirth | Integer | 2 | Optional | Day, month and year birth components must all have a value, or all be null. |
MonthOfBirth | Integer | 2 | Optional | Day, month and year birth components must all have a value, or all be null. |
YearOfBirth | Integer | 4 | Optional | Day, month and year birth components must all have a value, or all be null. |
HouseName | String | 26 | Mandatory if no HouseNumber given | |
HouseNumber | String | 26 | Mandatory if no HouseName given | |
Street | String | 40 | Mandatory | |
County | String | 20 | Optional | |
City | String | 20 | Optional | |
Postcode | String | 8 | Mandatory | |
Phone Number | String | 16 | Optional | Please provide the phone number as one contiguous set of numbers with no other characters or spaces. |
National ID | String | 20 | Mandatory | South African national ID number for resident |
After performing the search, the validation result (pass, fail, etc.) will be part of the TransactionInformation returned for the service call.
Response
Sample Response
"idCheckZAAlphaResult": {
"individuals": {
"individual": {
"addresses": {},
"individualSummary": {}
},
"summary": {
"decision": "-1",
"decisionReasons": {
"decisionReasonList": [
{
"decision": "-1",
"element": "Individual/IndividualSummary/DateOfBirthMatch"
},
{
"decision": "-1",
"element": "Individual/IndividualSummary/NameMatch"
}
]
}
},
"type": "Result"
},
"searchRef": "e74c23da-fd62-42e6-87ef-8055d1952155",
"summary": {
"decisionMatrix": {
"code": "******",
"decision": {
"outcome": "1",
"reason": "Individual has only matched on name no address or DOB"
},
"name": "****************",
"rules": {
"ruleList": [
{
"id": "Individuals Datablock",
"name": "BSO/DEU/Bespoke/Nam/NameDOB",
"outcome": "-1",
"reason": "Individual has a full match to forename surname and DOB"
},
{
"id": "Telephony Datablock",
"name": "BSO/DEU/Bespoke/NamPremPC/ID/90/NameAddress",
"outcome": "-1",
"reason": "Individual has a full match to forename surname premise postcode"
}
]
}
},
"kycSummary": {
"address": {
"count": "4"
},
"alerts": {
"count": "0"
},
"dateOfBirth": {
"count": "3"
},
"fullNameAndAddress": {
"count": "0"
},
"surnameAndAddress": {
"count": "0"
}
},
"reportSummary": {
"datablocksSummary": {
"datablockSummaryList": [
{
"decision": "1",
"name": "Individuals"
}
]
}
}
}
}
<IDCheckZAAlphaResult>
<Individuals>
<ErrorCode>101</ErrorCode>
<ErrorMessage>MISSING OR WRONG ENTRY: National ID number must be exactly 13 digits;
</ErrorMessage>
<Individual />
<Summary />
<Type>Error</Type>
</Individuals>
<Passport/>
<SearchRef>4AA2ADEC-2821-47B5-A165-0C04CF1FBB5D</SearchRef>
<Summary>
<DecisionMatrix>
<Code>W2DMZAF</Code>
<Decision>
<Outcome>-1</Outcome>
<Reason>No Matches Have Been Found Individual Has Not Passed Our Requirements
</Reason>
</Decision>
<Name>W2 Global South African DM</Name>
<Rules>
<RuleList>
<Rule>
<Code />
<Id>ProveID KYC-3051</Id>
<Name>BSO/ZAF/NameAddressDOB/IDMismatch</Name>
<Outcome/>
<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
</Rule>
<Rule>
<Code />
<Id>ProveID KYC-3048</Id>
<Name>BSO/ZAF/NameAddressDOB/v2</Name>
<Outcome/>
<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
</Rule>
<Rule>
<Code />
<Id>ProveID KYC-3050</Id>
<Name>BSO/ZAF/NamePremPCodeDOB/v2</Name>
<Outcome/>
<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
</Rule>
<Rule>
<Code />
<Id>ProveID KYC-3052</Id>
<Name>BSO/ZAF/NameDOBOnly</Name>
<Outcome/>
<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
</Rule>
<Rule>
<Code />
<Id>Other-3005</Id>
<Name>BSO/AnyDatabase/Error</Name>
<Outcome/>
<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
</Rule>
<Rule>
<Code />
<Id>ProveID-2777</Id>
<Name>BSO/AnyDatabase/Result</Name>
<Outcome/>
<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
</Rule>
</RuleList>
</Rules>
</DecisionMatrix>
<KYCSummary>
<Address />
<Alerts />
<DateOfBirth />
<FullNameAndAddress />
<SurnameAndAddress />
</KYCSummary>
<ReportSummary>
<DatablocksSummary>
<DatablockSummaryList>
<DatablockSummary>
<Decision/>
<Name>Individuals</Name>
</DatablockSummary>
</DatablockSummaryList>
</DatablocksSummary>
</ReportSummary>
</Summary>
</IDCheckZAAlphaResult>
Sandbox
DayOfBirth: | 15 |
Forename: | “JOHN” |
HouseNumber: | 10 |
MonthOfBirth: | 3 |
NationalId: | “5603155113083” |
Postcode: | “6229” |
Street: | “RUDDLE” |
Surname: | “WILLING” |
YearOfBirth: | 1956 |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceInterpretResult: | Pass |
ServiceTransactionResult: | Success |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | Pass |
DayOfBirth: | 28 |
Forename: | “SANJIN” |
HouseNumber: | 941 |
MonthOfBirth: | 7 |
NationalId: | “8797458748572” |
Postcode: | “3614” |
Street: | “STATION ROAD” |
Surname: | “STANKOVIC” |
YearOfBirth: | 1933 |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceInterpretResult: | Fail |
ServiceTransactionResult: | Success |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | Pass |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceInterpretResult: | NotApplicable |
ServiceTransactionResult: | Success |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | Pass |
ID Check AT Bravo
IDCheckATBravo is an identity verification service for Austria.
Product Code: W2-DATA-EKYC-AT-012
Properties
The following properties pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 30 | Mandatory | Can contain multiple forenames (separated by a space) if appropriate |
MiddleNames | String | 15 | Optional | |
Surname | String | 30 | Mandatory | |
DayOfBirth | Integer | 2 | Day, month and year birth components must all have a value, or all be null. | |
MonthOfBirth | Integer | 2 | Day, month and year birth components must all have a value, or all be null. | |
YearOfBirth | Integer | 4 | Day, month and year birth components must all have a value, or all be null. | |
HouseName | String | 26 | Optional | |
HouseNumber | String | 26 | Optional | |
Street | String | 255 | Mandatory | |
City | String | 100 | Mandatory | |
Postcode | String | 8 | Mandatory | This must be four numeric digits. e.g. “1150” |
PhoneNumber | String | Optional | ||
MobileNumber | String | Optional | ||
Gender | String | Optional | Must be ‘M’ or ‘F’ |
After performing the search, the validation result (pass, fail, etc.) will be part of the TransactionInformation returned for the service call.
Response
Example Response
<IDCheckATBravoResult>
<AddressMatchResultType>MATCH</AddressMatchResultType>
<ReferenceNumber>4086000153992802</ReferenceNumber>
</IDCheckATBravoResult>
The following table gives some more details about the response.
Property Name | Type | Description |
---|---|---|
AddressMatchResultType | String | Result on whether an address match has been found. |
ReferenceNumber | String | A reference number for the check. |
Notes
AddressMatchType Represents the type of match.
Value | Description |
---|---|
MATCH | A Match can be found. |
CANDIDATES | Partial matches have been found. |
Sandbox
Example Request - ID Check AT Bravo
{
"Bundle": "KYC_AT_012",
"Data": {
"Forename": "Michael",
"Surname": "Tschank",
"HouseNumber": "51",
"Street": "Nobilegasse",
"City":"Wien",
"Postcode": "1150"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
City: | “Wien” |
Forename: | “Michael” |
HouseNumber: | “51” |
Postcode: | “1150” |
Street: | “Nobilegasse” |
Surname: | “Tschank” |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | Pass |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | Pass |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | Inconclusive |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | Pass |
ID Check CH Bravo
ID Check CH Bravo is an identity verification service for Switzerland.
Product Code: W2-DATA-EKYC-CH-012
Properties
The following properties pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 30 | Mandatory | Can contain multiple forenames (separated by a space) if appropriate |
MiddleNames | String | 15 | Optional | |
Surname | String | 30 | Mandatory | |
DayOfBirth | Integer | 2 | Day, month and year birth components must all have a value, or all be null. | |
MonthOfBirth | Integer | 2 | Day, month and year birth components must all have a value, or all be null. | |
YearOfBirth | Integer | 4 | Day, month and year birth components must all have a value, or all be null. | |
HouseName | String | 26 | Optional | |
HouseNumber | String | 26 | Optional | |
Street | String | 255 | Mandatory | |
City | String | 100 | Mandatory | |
Postcode | String | 8 | Mandatory | This must be four numeric digits. e.g. “1219” |
PhoneNumber | String | Optional | ||
MobileNumber | String | Optional | ||
Gender | String | Optional | Must be ‘M’ or ‘F’ |
After performing the search, the validation result (pass, fail, etc.) will be part of the TransactionInformation returned for the service call.
Response
<IDCheckCHBravoResult>
<AddressMatchResultType>MATCH</AddressMatchResultType>
<ReferenceNumber>4086000153992802</ReferenceNumber>
</IDCheckCHBravoResult>
The following table gives some more details about the response.
Property Name | Type | Description |
---|---|---|
AddressMatchResultType | String | Result on whether an address match has been found. |
ReferenceNumber | String | A reference number for the check. |
Notes
AddressMatchType Represents the type of match.
Value | Description |
---|---|
MATCH | A Match can be found. |
CANDIDATES | Partial matches have been found. |
Sandbox
Example Request - ID Check CH Bravo
{
"Bundle": "KYC_CH_012",
"Data": {
"Forename": "Michael",
"Surname": "Tschank",
"HouseNumber": "51",
"Street": "Nobilegasse",
"City":"Wien",
"Postcode": "1150"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
City: | “Le Lignon” |
DayOfBirth: | 9 |
Forename: | “Alain” |
HouseNumber: | “1” |
MonthOfBirth: | 9 |
Postcode: | “1219” |
Street: | “Avenue du Lignon” |
Surname: | “Paipaz” |
YearOfBirth: | 2000 |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | Pass |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | Pass |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | Inconclusive |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | Pass |
ID Check CZ Bravo
ID Check CZ Bravo is an identity verification service for the Czech Republic.
Product Code: W2-DATA-EKYC-CZ-012
Properties
The following properties pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 30 | Mandatory | Can contain multiple forenames (separated by a space) if appropriate |
MiddleNames | String | 15 | Optional | |
Surname | String | 30 | Mandatory | |
DayOfBirth | Integer | 2 | Optional | Day, month and year birth components must all have a value, or all be null. |
MonthOfBirth | Integer | 2 | Optional | Day, month and year birth components must all have a value, or all be null. |
YearOfBirth | Integer | 4 | Optional | Day, month and year birth components must all have a value, or all be null. |
HouseName | String | 26 | See notes | |
HouseNumber | String | 26 | See notes | |
Street | String | 40 | See notes | |
Region | String | 2 | Optional | |
City | String | 20 | Mandatory | |
Postcode | String | 8 | Mandatory | |
PhoneNumber | String | Optional | ||
MobileNumber | String | Optional | ||
Gender | String | Optional | Must be ‘M’ or ‘F’ |
Notes
If this information is applicable it should be provided as not providing it might lead to a non-match. E.g. If an address has a house number then it should be provided, not providing it might lead to a non-match.
Response
Sample Response
"idCheckCZBravoResult": {
"addressMatchResultType": "MATCH",
"referenceNumber": "4674000102754739"
}
<IDCheckCZBravoResult>
<AddressMatchResultType>MATCH</AddressMatchResultType>
<ReferenceNumber>4086000153992802</ReferenceNumber>
</IDCheckCZBravoResult>
The following table gives some more details about the response.
Property Name | Type | Description |
---|---|---|
AddressMatchResultType | String | Result on whether an address match has been found. |
ReferenceNumber | String | A reference number for the check |
Notes
AddressMatchType Represents the type of match.
Value | Description |
---|---|
MATCH | A Match can be found. |
NO_MATCH | A Match has not been found. |
Sandbox
Example Request - ID Check CZ Bravo
{
"Bundle": "KYC_CZ_012",
"Data": {
"Forename": "Michael",
"Surname": "Tschank",
"HouseNumber": "51",
"Street": "Nobilegasse",
"City":"Wien",
"Postcode": "1150"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
City: | “Praha” |
DayOfBirth: | 23 |
Forename: | “David” |
HouseNumber: | “1” |
MonthOfBirth: | 8 |
PostCode: | 11908 |
Street: | “Zitna” |
Surname: | “Schovanec” |
YearOfBirth: | 1986 |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | Pass |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | Pass |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | Inconclusive |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | Pass |
ID Check DE Bravo
ID Check DE Bravo is an identity verification service for Germany.
Product Code: W2-DATA-EKYC-DE-012
Properties
The following properties pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 30 | Mandatory | Can contain multiple forenames (separated by a space) if appropriate |
MiddleNames | String | 15 | Optional | |
Surname | String | 30 | Mandatory | |
DayOfBirth | Integer | 2 | Day, month and year birth components must all have a value, or all be null. | |
MonthOfBirth | Integer | 2 | Day, month and year birth components must all have a value, or all be null. | |
YearOfBirth | Integer | 4 | Day, month and year birth components must all have a value, or all be null. | |
HouseName | String | 26 | Optional | |
HouseNumber | String | 26 | Optional | |
Street | String | 255 | Mandatory | |
City | String | 100 | Mandatory | |
Postcode | String | 8 | Mandatory | This must be four numeric digits. e.g. “1219” |
PhoneNumber | String | Optional | ||
MobileNumber | String | Optional | ||
Gender | String | Optional | Must be ‘M’ or ‘F’ |
After performing the search, the validation result (pass, fail, etc.) will be part of the TransactionInformation returned for the service call.
Response
Sample Response
"idCheckDEBravoResult": {
"addressMatchResultType": "MATCH",
"referenceNumber": "4086000153992802"
}
<IDCheckDEBravoResult>
<AddressMatchResultType>MATCH</AddressMatchResultType>
<ReferenceNumber>4086000153992802</ReferenceNumber>
</IDCheckDEBravoResult>
The following table gives some more details about the response.
Property Name | Type | Description |
---|---|---|
AddressMatchResultType | String | Result on whether an address match has been found. |
ReferenceNumber | String | A reference number for the check. |
Notes
AddressMatchType Represents the type of match.
Value | Description |
---|---|
MATCH | A Match can be found. |
CANDIDATES | Partial matches have been found. |
Sandbox
Example Request - ID Check DE Bravo
{
"Bundle": "KYC_DE_012",
"Data": {
"Forename": "Michael",
"Surname": "Tschank",
"HouseNumber": "51",
"Street": "Nobilegasse",
"City":"Wien",
"Postcode": "1150"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
City: | “FRANKFURT” |
DayOfBirth: | “12” |
Forename: | “HEIKO” |
HouseNumber: | “15” |
MonthOfBirth: | 07 |
Postcode: | “60325” |
Street: | “SCHUMANNSTR” |
Surname: | “GRASSMANN” |
YearOfBirth: | 1985 |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | Pass |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | Pass |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | Inconclusive |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | Pass |
ID Check IT Bravo
IDCheckITBravo is an identity verification service for Italy. It draws data from a proprietary database, historical fraud archive and telephone and address directory.
Product Code: W2-DATA-EKYC-IT-012
Properties
The following properties pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes | |
---|---|---|---|---|---|
Forename | String | 30 | Mandatory | Can contain multiple forenames (separated by a space) if appropriate | |
MiddleNames | String | 15 | Optional | ||
Surname | String | 30 | Mandatory | ||
DayOfBirth | Integer | 2 | See notes | Day, month and year birth components must all have a value, or all be null. | |
MonthOfBirth | Integer | 2 | See notes | Day, month and year birth components must all have a value, or all be null. | |
YearOfBirth | Integer | 4 | See notes | Day, month and year birth components must all have a value, or all be null. | |
HouseName | String | 26 | Mandatory if no HouseNumber given | ||
HouseNumber | String | 26 | Mandatory if no HouseName given | ||
Street | String | 40 | Mandatory | ||
County | String | 2 | Mandatory | Province. This must be provided as the two character ISO code. e.g. “BG” for Bergamo. See provinces of Italy (Wikipedia). | |
Region | String | 2 | Optional | If included, this must be provided as the two digit ISO code. e.g. “62” for Lazio. See regions of Italy (Wikipedia). | |
City | String | 20 | Mandatory | ||
Postcode | String | 8 | Mandatory | This must be five numeric digits. e.g. “00040” | |
TaxCode | String | See notes | Codice Fiscale | ||
PlaceOfBirth | String | See notes | Municipality of birth | ||
** | PhoneNumber** | String | Optional | Must be preceded by the area code in brackets: e.g. (0123) 565 555 44 | |
MobileNumber | String | Optional | |||
Gender | String | Mandatory | Must be ‘M’ or ‘F’ |
After performing the search, the validation result (pass, fail, etc.) will be part of the TransactionInformation returned for the service call. Notes
Response
Sample Response
"idCheckITBravoResult": {
"addressMatchResultType": "MATCH",
"referenceNumber": "4086000153992802"
}
<IDCheckITBravoResult>
<AddressMatchResultType>MATCH</AddressMatchResultType>
<ReferenceNumber>4086000153992802</ReferenceNumber>
</IDCheckITBravoResult>
The following table gives some more details about the response.
Property Name | Type | Description |
---|---|---|
AddressMatchResultType | String | Result on whether an address match has been found. |
ReferenceNumber | String | A reference number for the check. |
Notes
AddressMatchType
Represents the type of match.
Value | Description |
---|---|
MATCH | A Match can be found. |
NO_MATCH | A Match has not been found. |
Sandbox
Example Request - ID Check IT Bravo
{
"Bundle": "KYC_IT_012",
"Data": {
"Forename": "Michael",
"Surname": "Tschank",
"HouseNumber": "51",
"Street": "Nobilegasse",
"City":"Wien",
"Postcode": "1150"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
City: | “ROMA” |
County: | “BM” |
Forename: | “FILIPPO” |
Gender: | “M” |
HouseNumber: | “90” |
Postcode: | “00133” |
Street: | “DOMENICO BECCAFUMI” |
Surname: | “BANGRAZI” |
TaxCode: | “BNGFPP40T05C390C” |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | Pass |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | Pass |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | Inconclusive |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | Pass |
ID Check SK Bravo
IDCheckSKBravo is an identity verification service for the Slovak Republic.
Product Code: W2-DATA-EKYC-SK-012
Properties
The following properties pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 30 | Mandatory | Can contain multiple forenames (separated by a space) if appropriate |
MiddleNames | String | 15 | Optional | |
Surname | String | 30 | Mandatory | |
DayOfBirth | Integer | 2 | Optional | Day, month and year birth components must all have a value, or all be null. |
MonthOfBirth | Integer | 2 | Optional | Day, month and year birth components must all have a value, or all be null. |
YearOfBirth | Integer | 4 | Optional | Day, month and year birth components must all have a value, or all be null. |
HouseName | String | 26 | See notes | |
HouseNumber | String | 26 | See notes | |
Street | String | 40 | See notes | |
Region | String | 2 | Optional | |
City | String | 20 | Mandatory | |
Postcode | String | 8 | Mandatory | |
PhoneNumber | String | Optional | ||
MobileNumber | String | Optional | ||
Gender | String | Optional | Must be ‘M’ or ‘F’ |
Notes
If this information is applicable it should be provided as not providing it might lead to a non-match. E.g. If an address has a house number then it should be provided, not providing it might lead to a non-match.
Response
Sample Response
"IDCheckSKBravoResult": {
"addressMatchResultType": "MATCH",
"referenceNumber": "4086000153992802"
}
<IDCheckSKBravoResult>
<AddressMatchResultType>MATCH</AddressMatchResultType>
<ReferenceNumber>4086000153992802</ReferenceNumber>
</IDCheckSKBravoResult>
The following table gives some more details about the response.
Property Name | Type | Description |
---|---|---|
AddressMatchResultType | String | Result on whether an address match has been found. |
ReferenceNumber | String | A reference number for the check. |
AddressMatchType
Represents the type of match.
Value | Description |
---|---|
MATCH | A Match can be found. |
NO_MATCH | A Match has not been found. |
Sandbox
Example Request - ID Check SK Bravo
{
"Bundle": "KYC_SK_012",
"Data": {
"Forename": "Michael",
"Surname": "Tschank",
"HouseNumber": "51",
"Street": "Nobilegasse",
"City":"Wien",
"Postcode": "1150"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
City: | “Bojnice” |
DayOfBirth: | 11 |
Forename: | “Marek” |
MonthOfBirth: | 12 |
PostCode: | 81106 |
Street: | “STUROVA” |
Surname: | “Reiter” |
YearOfBirth: | 1971 |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | Pass |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | Pass |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | Inconclusive |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | NotPerformed |
W2 Data Ekyc SCANDI 025
This service can be used for identity checks in Sweden, Norway and Denmark. It uses Bank ID to confirm an individual’s identity.
This service works slightly differently from our other services in that it runs asynchronously and has a two step process. First you will need to send us the identity to check. We will process this information and return a URL for Bank ID verification. The user will need to navigate to this URL in a browser and complete the Bank ID process there. Once this form is completed the user will be redirected to a URL of your choice.
When the Bank ID form is complete W2 will send a notification with the results of the identity check. We can either notify by email or send an HTTP POST to an endpoint of your choice.
You can force the service to skip the Bank ID process by specifying the SkipScandiBankId QueryOption. This will return the result immediately. The response will only contain information from our supplier’s database and not a full Bank ID check but is still considered a full two plus two check.
Product Code: W2_DATA_EKYC_SCANDI_025
Configuration
Before using this service you will need to let W2 know the following:
- Notification Preference: Whether you would prefer to be notified by email, HTTP POST or both.
- Email Address: If you want to be notified by email then we need to know which email address to use.
- Notification URL: If you want to be notified by HTTP POST then we need to know a URL to use. see here for more information.
- FormattingType: By default if we send an HTTP POST it will be JSON, we can also do XML if prefered.
Request
For this service we require the following information. Please note that:
- Most of the required data is supplied in the
<QueryData>
object as usual, but we also require a redirect URL be supplied in the<QueryOptions>
see below. - In an actual SOAP request the data should be supplied in alphabetical order.
Query Data
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 15 | Mandatory | |
Surname | String | 15 | Mandatory | |
City | String | 30 | Mandatory | |
Country | String | 3 | Mandatory | This must be a 3 character ISO Country code. This service only accepts SWE, DNK or NOR. i.e. Sweden, Denmark or Norway |
HouseName | String | 30 | Mandatory if no HouseNumber given | |
HouseNumber | String | 30 | Mandatory if no HouseName given | |
Street | String | 30 | Mandatory | |
Region | String | 30 | Optional | |
Post Code | String | 10 | Mandatory | |
Day of Birth | Integer | 2 | Mandatory | |
Month of Birth | Integer | 2 | Mandatory | |
Year of Birth | Integer | 4 | Mandatory | |
NationalId | String | 15 | Optional | |
DateOfBirthMatchThreshold | Integer | 2 | Optional | This can be used to specify the percentage match for date of birth matches. For example if you put 90 in this field then we will consider a 90% match on date of birth to be a pass, when we calculate the interpret result. |
NameQueryMatchThreshold | Integer | 2 | Optional | This can be used to specify the percentage match for name matches. For example if you put 90 in this field then we will consider a 90% match on name to be a pass, when we calculate the interpret result. |
Query Options
Property Name | Optional/Mandatory | Notes |
---|---|---|
RedirectUrl | Mandatory | This is the URL the user will be redirected to after they have filled in the Bank ID form. |
** | ** | |
SkipScandiBankId | Optional | If this is set to “true” then the service will not supply a url for a Bank ID form. It will simply send whatever information is available as per your notification settings. |
AddressMatchThreshold | Optional | 0-100, specifies the required level of matching in the address. |
Example Request
Sample Request
{
"Data": {
"City": "BILLDAL",
"Country": "SWE",
"DayOfBirth": 4,
"Forename": "SIRI",
"HouseNumber": "47",
"MonthOfBirth": 6,
"Postcode": "21725",
"Street": "ERIKSBO VÄSTERGÄRDE 47",
"Surname": "Petersen",
"YearOfBirth": 1952,
"NationalId": "23434645634"
},
"Options": {
"RedirectUrl": "https://MY_WEBSITE"
}
}
<QueryData>
<City>BILLDAL</City>
<Country>SWE</Country>
<DayOfBirth>04</DayOfBirth>
<Forename>SIRI</Forename>
<MonthOfBirth>06</MonthOfBirth>
<NationalId>23434645634</NationalId>
<Postcode>21725</Postcode>
<Region></Region>
<Street>ERIKSBO VÄSTERGÄRDE 47</Street>
<Surname>Petersen</Surname>
<YearOfBirth>1952</YearOfBirth>
</QueryData>
<QueryOptions>
<KeyValueOfstringstring>
<Key>RedirectUrl</Key>
<Value>https://{MY_WEBSITE}</Value>
</KeyValueOfstringstring>
</QueryOptions>
Example Response
Sample Response
"w2DataEkycScandi025Result": {
"bankIdFormUrl": "https://test.zignsec.com/v2/Hosted/some guid here",
"interpretResult": "NotPerformed",
"message": "Please complete the form at the supplied URL."
}
<W2DataEkycScandi025Result>
<Message>Please complete the form at the supplied URL</Message>
<BankIdFormUrl>
https://test.zignsec.com/v2/Hosted/{some guid here}
</BankIdFormUrl>
</W2DataEkycScandi025Result>
Sample Response - ID check skipped contains a two plus two result
"w2DataEkycScandi025Result": {
"interpretResult": "Pass",
"message": "Name and Address match found.",
"twoPlusTwoCheckResult": {
"matchResult": "OnePlusOne",
"nameAndAddressMatch": true,
"nameAndDateOfBirthMatch": false
}
}
<W2DataEkycScandi025Result >
<BankIdFormUrl/>
<InterpretResult>Pass<InterpretResult>
<Message>Name and Address match found.<Message>
<TwoPlusTwoCheckResult >
<IndependentDataSources/>
<MatchResult>OnePlusOne<MatchResult>
<NameAndAddressMatch>true<NameAndAddressMatch>
<NameAndDateOfBirthMatch>false<NameAndDateOfBirthMatch>
<TwoPlusTwoCheckResult>
<W2DataEkycScandi025Result>
Sample Response - No Interpretation, successful transaction
"serviceTransactions": [{
"haltTriggered": false,
"service": "W2_DATA_EKYC_SCANDI_025",
"serviceInterpretResult": "Fail",
"serviceTransactionResult": "Success",
"validationResult": "Pass"
}
]
<ServiceTransactionInformation>
<FailedOverTo i:nil="true"/>
<HaltTriggered>false</HaltTriggered>
<Service>W2_DATA_EKYC_SCANDI_025</Service>
<ServiceInterpretResult>NotPerformed</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage i:nil="true"/>
<ServiceValidationDetails i:nil="true"/>
<ValidationResult>Pass</ValidationResult>
</ServiceTransactionInformation>
Completing the Request
Once the query has finished, you should be returned a generated URL within the <BankIdFormUrl>
tags, you can use this to navigate to the page, and on this page there is a Bank ID login page. Once the user has successfully logged into their Bank ID (and by doing so, authorised you to use their data), the page will redirect to the URL you have previously specified. The system will then return a notification to you in the form of an e-mail, or a POST to an endpoint.
Notfication
When the Bank ID form has been completed W2 will attempt to notify you. We can either send an email or POST to an endpoint.
The email will look something like this:
/ missing image /
The post will be JSON and contains information from the verification process. We can also supply in XML if required, contact W2 support to configure this. The following is an example JSON response:
POST
{
"EventType":"ApiV3ServiceResponse",
"ClientReference":"The client reference from the original call",
"CallReference":"The call reference from the original call",
"ClientSubaccount":"The client subaccount from the original call",
"ServiceResults":{
"W2DataEkycScandi025":{
"InterpretResult":"PASS | FAIL | REFER | ERROR",
"CallId":"A unique identifier for the call",
"TwoPlusTwoResult":{
"MatchResult":"TwoPlusTwo | TwoPlusOne | OnePlusOne",
"NameAndAddressMatch": true | false,
"NameAndDateOfBirthMatch":true | false,
"IndependentDataSources":true | false | null
},
"Message":"The status of the response",
"NameAndAddressMessage":"The status of the name and address match in the two plus two check",
"NameAndDateOfBirthMessage":"The status of the name and date of birth match in the two plus two check"
}
},
"TransactionInformation":{
"ServiceTransactions":[
{
"Service":"W2_DATA_EKYC_SCANDI_025",
"ServiceInterpretResult":"PASS | FAIL | REFER | ERROR",
"ServiceTransactionResult":"Success | Fail"
}
]
}
}
W2 Data EKYC US 005
W2 Data EKYC US 005 is an identity verification service for the USA. It uses Credit Reference Data, Telephone Directory, Passports and ID Card. This service will leave a credit lenders footprint.
Product Code: W2-DATA-EKYC-US-005
Query Data
The following QueryData elements pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 15 | Mandatory | |
MiddleNames | String | 15 | Optional | |
Surname | String | 30 | Mandatory | |
Gender | String | Optional | Must be ‘M’ or ‘F’ if provided | |
DayOfBirth | Integer | 2 | Optional | |
MonthOfBirth | Integer | 2 | Optional | |
YearOfBirth | Integer | 4 | Optional | |
HouseName | String | 26 | Mandatory if no HouseNumber given | |
HouseNumber | String | 26 | Mandatory if no HouseName given | |
Street | String | 255 | Mandatory | |
Region | String | 2 | Mandatory | Must be a USA state code in two letter format, e.g. “OH” |
City | String | 100 | Mandatory | |
Postcode | String | 5 | Mandatory | Must be five numeric digits |
Phone Number | String | 16 | Optional | Please provide the phone number as one contiguous set of numbers with no other characters or spaces. |
PersonalId | String | 11 | Optional | Personal ID is US Social Security Number and can be in any one of the three formats:’xxx-xx-xxxx’ or ‘xxx xx xxxx’ or ‘xxxxxxxxx’ |
After performing the search, the validation result (pass, fail, etc.) will be part of the TransactionInformation returned for the service call.
Request
Example Request
<QueryData>
<City>BURLESON</City>
<Forename>DARRELL</Forename>
<Gender>M</Gender>
<HouseNumber>2624</HouseNumber>
<PhoneNumber>8174473203</PhoneNumber>
<Postcode>76028</Postcode>
<Region>TX</Region>
<Street>CASTLE PINES DR</Street>
<Surname>BOEDEKER</Surname>
</QueryData>
"Data": {
"City": "BURLESON",
"DayOfBirth": 15,
"Forename": "DARRELL",
"HouseNumber": "3782",
"MonthOfBirth": 2,
"Postcode": "35203",
"Region": "AL",
"Street": "Broad Street",
"Surname": "Ketron",
"YearOfBirth": 1977
}
Response
Example Response
<W2DataEkycUs005Result>
<CreditReference />
<DriverLicence />
<Passport />
<SearchRef>F4C330D5-20AF-458A-8CE3-38C38A787F65</SearchRef>
<Summary>
<DecisionMatrix>
<Code>W2DMUSA</Code>
<Decision>
<Outcome>0</Outcome>
<Reason>Individual has matched name and address to the Credit Reference</Reason>
</Decision>
<Name>W2 Decision Matrix USA</Name>
<Rules>
<RuleList>
<!-- THERE WILL BE MANY OF THESE -->
<Rule>
<Code />
<Id>CreditReference Datablock USA-2690</Id>
<Name>BSO/USA/CRA/Fraud</Name>
<Outcome />
<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
</Rule>
</RuleList>
</Rules>
</DecisionMatrix>
<KYCSummary>
<Address>
<Count>3</Count>
</Address>
<Alerts>
<Count>0</Count>
</Alerts>
<DateOfBirth>
<Count>0</Count>
</DateOfBirth>
<FullNameAndAddress>
<Count>3</Count>
</FullNameAndAddress>
<SurnameAndAddress>
<Count>3</Count>
</SurnameAndAddress>
</KYCSummary>
<ReportSummary>
<DatablocksSummary>
<DatablockSummaryList>
<DatablockSummary>
<Decision />
<Name>Telephony</Name>
</DatablockSummary>
<DatablockSummary>
<Decision />
<Name>Telephony</Name>
</DatablockSummary>
<DatablockSummary>
<Decision>-1</Decision>
<Name>CreditReference</Name>
</DatablockSummary>
</DatablockSummaryList>
</DatablocksSummary>
</ReportSummary>
</Summary>
<Telephony>
<ErrorCode />
<ErrorMessage />
<Summary />
<TelephonyRecord />
<Type>NoMatch</Type>
</Telephony>
</W2DataEkycUs005Result>
"w2DataEkycUs005Result": {
"creditReference": {
"creditReferenceRecords": {
"creditReferenceRecordList": [{
"addresses": {
"addressList": [{
"countryCode": "USA",
"postTown": "Birmingham",
"postcode": "35203",
"premise": "3782",
"region": "AL",
"street": "Broad Street"
}
]
},
"person": {
"dateOfBirth": "1977-02-15",
"name": {
"forename": "Cassie",
"surname": "Ketron"
}
}
}
]
},
"creditReferenceSummary": {
"idVerified": "1"
},
"summary": {
"decision": "1",
"decisionReasons": {
"decisionReasonList": [{
"decision": "1",
"element": "CreditReferenceSummary/IDVerified"
}, {
"decision": "1",
"element": "CreditReferenceRecord/Person/Name/Forename"
}, {
"decision": "1",
"element": "CreditReferenceRecord/Person/Name/Surname"
}, {
"decision": "1",
"element": "CreditReferenceRecord/Person/DateOfBirth"
}, {
"decision": "1",
"element": "CreditReferenceRecord/Addresses/Address/@Current"
}, {
"decision": "1",
"element": "CreditReferenceRecord/Addresses/Address/Premise"
}, {
"decision": "1",
"element": "CreditReferenceRecord/Addresses/Address/Street"
}, {
"decision": "1",
"element": "CreditReferenceRecord/Addresses/Address/PostTown"
}, {
"decision": "1",
"element": "CreditReferenceRecord/Addresses/Address/Postcode"
}
]
}
}
},
"searchRef": "37873fcc-6281-4913-b6df-5f26497abfab",
"summary": {
"decisionMatrix": {
"code": "******",
"decision": {
"outcome": "1",
"reason": "Individual has a full match to forename surname premise postcode with ID verified and DOB"
},
"name": "****************",
"rules": {
"ruleList": [{
"id": "CreditReference Datablock",
"name": "BSO/USA/Bespoke/Nam/NameDOB",
"outcome": "1",
"reason": "Individual has a full match to forename surname and DOB"
}, {
"id": "Telephony Datablock",
"name": "BSO/USA/Bespoke/NamPremPC/ID/90/NameAddress",
"outcome": "1",
"reason": "Individual has a full match to forename surname premise postcode"
}
]
}
},
"kycSummary": {
"address": {
"count": "4"
},
"alerts": {
"count": "0"
},
"dateOfBirth": {
"count": "3"
},
"fullNameAndAddress": {
"count": "1"
},
"surnameAndAddress": {
"count": "0"
}
},
"reportSummary": {
"datablocksSummary": {
"datablockSummaryList": [{
"decision": "1",
"name": "CreditReference"
}, {
"decision": "1",
"name": "Telephony"
}
]
}
}
},
"telephony": {
"summary": {
"decision": "1",
"decisionReasons": {
"decisionReasonList": [{
"decision": "1",
"element": "TelephonyRecord/Person/Name/Forename"
}, {
"decision": "1",
"element": "TelephonyRecord/Person/Name/Surname"
}, {
"decision": "1",
"element": "TelephonyRecord/Address/Premise"
}, {
"decision": "1",
"element": "TelephonyRecord/Address/Postcode"
}
]
}
},
"telephonyRecord": {
"address": {
"countryCode": "USA",
"current": "1",
"postTown": "Birmingham",
"postcode": "35203",
"premise": "3782",
"region": "AL",
"street": "Broad Street"
},
"person": {
"name": {
"forename": "Cassie",
"surname": "Ketron"
}
},
"telephones": {
"telephoneList": [{
"customerType": "R",
"listingType": "DQ",
"number": "205-458-6981",
"type": "U"
}
]
}
},
"type": "Result"
}
}
The following tables give more detail about the various response elements:
Property Name | Type | Description |
---|---|---|
SearchRef | String | Unique identifier for this search |
Summary | Summary | Summary of information returned from various data sources |
Telephony | TelephonyResult | Results of check from telephone records |
DriverLicence | DriverLicenceResult | Results of check from driving licence records |
Passport | PassportResult | Results of check from passport records |
CreditReference | CreditReferenceResult | Results of credit check |
Summary
Property Name | Type | Description |
---|---|---|
KYCSummary | KYCSummary | Summary of KYC result |
ReportSummary | ReportSummary | Summary of individual source checks |
DecisionMatrix | DecisionMatrix | Block containing 2 + 2 matching result |
KYCSummary
Property Name | Type | Description |
---|---|---|
FullNameAndAddress | FullNameAndAddressKYCSummary | Count of name+address matches |
SurnameAndAddress | SurnameAndAddressKYCSummary | Count of surname+address matches |
Address | AddressKYCSummary | Count of address matches found |
DateOfBirth | DateOfBirthKYCSummary | Count of date of birth matches |
Alerts | AlertsKYCSummary | Count of alert matches found |
Report Summary
A report summary contains a few nested items that resemble the follwoing:
Report Summary
"reportSummary": {
"datablocksSummary": {
"datablockSummaryList": [{
"decision": "1",
"name": "CreditReference"
}, {
"decision": "1",
"name": "Telephony"
}
]
}
}
<ReportSummary>
<DatablocksSummary>
<!-- Can contain multiple DatablockSummary elements -->
<DatablockSummary>
<Name>{ Name of the source }</Name>
<Decision>{ Result (1: Pass, 0: Refer, -1: Fail) }</Decision>
</DatablockSummary>
</DatablocksSummary>
</ReportSummary>
Decision Matrix
Block containing 2 + 2 matching result.
Decision Matrix
"decisionMatrix": {
"code": "******",
"decision": {
"outcome": "1",
"reason": "Individual has a full match to forename surname premise postcode with ID verified and DOB"
},
"name": "****************",
"rules": {
"ruleList": [{
"id": "CreditReference Datablock",
"name": "BSO/USA/Bespoke/Nam/NameDOB",
"outcome": "1",
"reason": "Individual has a full match to forename surname and DOB"
}, {
"id": "Telephony Datablock",
"name": "BSO/USA/Bespoke/NamPremPC/ID/90/NameAddress",
"outcome": "1",
"reason": "Individual has a full match to forename surname premise postcode"
}
]
}
}
<DecisionMatrix>
<Code>W2DMUSA</Code>
<!-- Decision: Contains final result of 2 + 2 matching --> <Decision> <!-- Outcome: Final result of 2 + 2 matching -->
<Outcome>-1</Outcome> <!-- Reason: Explanation for result-->
<Reason>Customer Has Not Passed Our Requirements - No Matches Found</Reason>
</Decision>
<Name>W2 Decision Matrix USA</Name> <!-- Rules: List of checks that contributed to 2 + 2 matching result -->
<Rules>
<RuleList>
<!-- A collection of rule elements--> <Rule>
<Code />
<Id>CreditReference Datablock USA-2709</Id>
<Name>BSO/USA/Bespoke/Nam/DOBAddress/Mismatch</Name>
<Outcome />
<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
</Rule>
</RuleList>
</Rules>
</DecisionMatrix>
Sandbox
Query options for Sandbox
"options": {
"sandbox": "true"
}
<QueryOptions>
<KeyValueOfstringstring>
<Key>Sandbox</Key>
<Value>true</Value>
</KeyValueOfstringstring>
</QueryOptions>
City: | “Birmingham” |
DayOfBirth: | 15 |
Forename: | “Cassie” |
HouseNumber: | “3782” |
MonthOfBirth: | 02 |
Postcode: | “35203” |
Region: | “AL” |
Street: | “Broad Street” |
Surname: | “Ketron” |
YearOfBirth: | 1977 |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | Pass |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | NotApplicable |
City: | “Pittsburgh” |
DayOfBirth: | 18 |
Forename: | “Erika” |
HouseNumber: | “4200” |
MonthOfBirth: | 07 |
Postcode: | “15219” |
Region: | “PA” |
Street: | “Losh Lane” |
Surname: | “Oneil” |
YearOfBirth: | 1980 |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | Fail |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | Pass |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | NotApplicable |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | NotApplicable |
W2 Data EKYC CA 005
W2 Data EKYC CA 005 is an identity verification service for Canada. It uses Credit Reference Data, Telephone Directory, Passports and ID Card. This service will leave a credit lenders footprint.
Product Code: W2-DATA-EKYC-CA-005
Query Data
The following QueryData elements pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 15 | Mandatory | |
MiddleNames | String | 15 | Optional | |
Surname | String | 30 | Mandatory | |
Gender | String | Optional | Must be ‘M’ or ‘F’ if provided | |
DayOfBirth | Integer | 2 | Optional | |
MonthOfBirth | Integer | 2 | Optional | |
YearOfBirth | Integer | 4 | Optional | |
HouseName | String | 26 | Mandatory if no HouseNumber given | |
HouseNumber | String | 26 | Mandatory if no HouseName given | |
Street | String | 255 | Mandatory | |
Region | String | 2 | Mandatory | Must be a Canadian province code in two letter format, e.g. “AB” |
City | String | 100 | Mandatory | |
Postcode | String | 5 | Mandatory | |
Phone Number | String | 16 | Optional | Please provide the phone number as one contiguous set of numbers with no other characters or spaces. |
PersonalId | String | 11 | Optional | Personal ID is US Social Security Number and can be in either of these formats:’xxx-xxx-xxx’ or ’xxxxxxxxx’ |
After performing the search, the validation result (pass, fail, etc. will be part of the TransactionInformation returned for the service call.
Request
Example Request
<QueryData>
<City>Edmonton</City>
<Forename>Robert</Forename>
<Gender>M</Gender>
<HouseNumber>3688</HouseNumber>
<Postcode>T5J 2R4</Postcode>
<Region>AB</Region>
<Street>184th Street</Street>
<Surname>Beck</Surname>
</QueryData>
"Data": {
"City": "Edmonton",
"DayOfBirth": 12,
"Forename": "Robert",
"HouseNumber": "3688",
"MonthOfBirth": 12,
"Postcode": "T5J 2R4",
"Region": "AB",
"Street": "184th Street",
"Surname": "Beck",
"YearOfBirth": 1969
}
Response
Example Response
<W2DataEkycUs005Result>
<CreditReference />
<DriverLicence />
<Passport />
<SearchRef>F4C330D5-20AF-458A-8CE3-38C38A787F65</SearchRef>
<Summary>
<DecisionMatrix>
<Code>W2DMCAN</Code>
<Decision>
<Outcome>0</Outcome>
<Reason>Individual has matched name and address to the Credit Reference</Reason>
</Decision>
<Name>W2 Global Canadian DM</Name>
<Rules>
<RuleList>
<!-- THERE WILL BE MANY OF THESE -->
<Rule>
<Code />
<Id>CreditReference Datablock USA-2690</Id>
<Name>BSO/CAN/CRA/Fraud</Name>
<Outcome />
<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
</Rule>
</RuleList>
</Rules>
</DecisionMatrix>
<KYCSummary>
<Address>
<Count>3</Count>
</Address>
<Alerts>
<Count>0</Count>
</Alerts>
<DateOfBirth>
<Count>0</Count>
</DateOfBirth>
<FullNameAndAddress>
<Count>3</Count>
</FullNameAndAddress>
<SurnameAndAddress>
<Count>3</Count>
</SurnameAndAddress>
</KYCSummary>
<ReportSummary>
<DatablocksSummary>
<DatablockSummaryList>
<DatablockSummary>
<Decision />
<Name>Telephony</Name>
</DatablockSummary>
<DatablockSummary>
<Decision />
<Name>Telephony</Name>
</DatablockSummary>
<DatablockSummary>
<Decision>-1</Decision>
<Name>CreditReference</Name>
</DatablockSummary>
</DatablockSummaryList>
</DatablocksSummary>
</ReportSummary>
</Summary>
<Telephony>
<ErrorCode />
<ErrorMessage />
<Summary />
<TelephonyRecord />
<Type>NoMatch</Type>
</Telephony>
</W2DataEkycUs005Result>
"w2DataEkycCa005Result": {
"creditReference": {
"creditReferenceRecords": {
"creditReferenceRecordList": [{
"addresses": {
"addressList": [{
"countryCode": "CAN",
"postTown": "Edmonton",
"postcode": "T5J 2R4",
"premise": "3688",
"region": "AB",
"street": "184th Street"
}
]
},
"person": {
"dateOfBirth": "1969-12-12",
"name": {
"forename": "Robert",
"surname": "Beck"
}
}
}
]
},
"creditReferenceSummary": {
"idVerified": "1"
},
"summary": {
"decision": "1",
"decisionReasons": {
"decisionReasonList": [{
"decision": "1",
"element": "CreditReferenceSummary/IDVerified"
}, {
"decision": "1",
"element": "CreditReferenceRecord/Person/Name/Forename"
}, {
"decision": "1",
"element": "CreditReferenceRecord/Person/Name/Surname"
}, {
"decision": "1",
"element": "CreditReferenceRecord/Person/DateOfBirth"
}, {
"decision": "1",
"element": "CreditReferenceRecord/Addresses/Address/@Current"
}, {
"decision": "1",
"element": "CreditReferenceRecord/Addresses/Address/Premise"
}, {
"decision": "1",
"element": "CreditReferenceRecord/Addresses/Address/Street"
}, {
"decision": "1",
"element": "CreditReferenceRecord/Addresses/Address/PostTown"
}, {
"decision": "1",
"element": "CreditReferenceRecord/Addresses/Address/Postcode"
}
]
}
}
},
"searchRef": "37873fcc-6281-4913-b6df-5f26497abfab",
"summary": {
"decisionMatrix": {
"code": "******",
"decision": {
"outcome": "1",
"reason": "Individual has a full match to forename surname premise postcode with ID verified and DOB"
},
"name": "****************",
"rules": {
"ruleList": [{
"id": "CreditReference Datablock",
"name": "BSO/CAN/Bespoke/Nam/NameDOB",
"outcome": "1",
"reason": "Individual has a full match to forename surname and DOB"
}, {
"id": "Telephony Datablock",
"name": "BSO/CAN/Bespoke/NamPremPC/ID/90/NameAddress",
"outcome": "1",
"reason": "Individual has a full match to forename surname premise postcode"
}
]
}
},
"kycSummary": {
"address": {
"count": "4"
},
"alerts": {
"count": "0"
},
"dateOfBirth": {
"count": "3"
},
"fullNameAndAddress": {
"count": "1"
},
"surnameAndAddress": {
"count": "0"
}
},
"reportSummary": {
"datablocksSummary": {
"datablockSummaryList": [{
"decision": "1",
"name": "CreditReference"
}, {
"decision": "1",
"name": "Telephony"
}
]
}
}
},
"telephony": {
"summary": {
"decision": "1",
"decisionReasons": {
"decisionReasonList": [{
"decision": "1",
"element": "TelephonyRecord/Person/Name/Forename"
}, {
"decision": "1",
"element": "TelephonyRecord/Person/Name/Surname"
}, {
"decision": "1",
"element": "TelephonyRecord/Address/Premise"
}, {
"decision": "1",
"element": "TelephonyRecord/Address/Postcode"
}
]
}
},
"telephonyRecord": {
"address": {
"countryCode": "CAN",
"current": "1",
"postTown": "Edmonton",
"postcode": "T5J 2R4",
"premise": "3688",
"region": "AB",
"street": "184th Street"
},
"person": {
"name": {
"forename": "Robert",
"surname": "Beck"
}
},
"telephones": {
"telephoneList": [{
"customerType": "R",
"listingType": "DQ",
"number": "780-916-3124",
"type": "U"
}
]
}
},
"type": "Result"
}
}
The following tables give more detail about the various response elements:
Property Name | Type | Description |
---|---|---|
SearchRef | String | Unique identifier for this search |
Summary | Summary | Summary of information returned from various data sources |
Telephony | TelephonyResult | Results of check from telephone records |
DriverLicence | DriverLicenceResult | Results of check from driving licence records |
Passport | PassportResult | Results of check from passport records |
CreditReference | CreditReferenceResult | Results of credit check |
Summary
Property Name | Type | Description |
---|---|---|
KYCSummary | KYCSummary | Summary of KYC result |
ReportSummary | ReportSummary | Summary of individual source checks |
DecisionMatrix | DecisionMatrix | Block containing 2 + 2 matching result |
KYCSummary
Property Name | Type | Description |
---|---|---|
FullNameAndAddress | FullNameAndAddressKYCSummary | Count of name+address matches |
SurnameAndAddress | SurnameAndAddressKYCSummary | Count of surname+address matches |
Address | AddressKYCSummary | Count of address matches found |
DateOfBirth | DateOfBirthKYCSummary | Count of date of birth matches |
Alerts | AlertsKYCSummary | Count of alert matches found |
Report Summary
A report summary contains a few nested items that resemble the follwoing:
Report Summary
<ReportSummary>
<DatablocksSummary>
<!-- Can contain multiple DatablockSummary elements -->
<DatablockSummary>
<Name>{ Name of the source }</Name>
<Decision>{ Result (1: Pass, 0: Refer, -1: Fail }</Decision>
</DatablockSummary>
</DatablocksSummary>
</ReportSummary>
"reportSummary": {
"datablocksSummary": {
"datablockSummaryList": [{
"decision": "1",
"name": "CreditReference"
}, {
"decision": "1",
"name": "Telephony"
}
]
}
}
Decision Matrix Block containing 2 + 2 matching result.
Decision Matrix
"decisionMatrix": {
"code": "******",
"decision": {
"outcome": "1",
"reason": "Individual has a full match to forename surname premise postcode with ID verified and DOB"
},
"name": "****************",
"rules": {
"ruleList": [{
"id": "CreditReference Datablock",
"name": "BSO/CAN/Bespoke/Nam/NameDOB",
"outcome": "1",
"reason": "Individual has a full match to forename surname and DOB"
}, {
"id": "Telephony Datablock",
"name": "BSO/CAN/Bespoke/NamPremPC/ID/90/NameAddress",
"outcome": "1",
"reason": "Individual has a full match to forename surname premise postcode"
}
]
}
}
<DecisionMatrix>
<Code>W2DMCAN</Code>
<!-- Decision: Contains final result of 2 + 2 matching --> <Decision> <!-- Outcome: Final result of 2 + 2 matching -->
<Outcome>-1</Outcome> <!-- Reason: Explanation for result-->
<Reason>Customer Has Not Passed Our Requirements - No Matches Found</Reason>
</Decision>
<Name>W2 Decision Matrix USA</Name> <!-- Rules: List of checks that contributed to 2 + 2 matching result -->
<Rules>
<RuleList>
<!-- A collection of rule elements--> <Rule>
<Code />
<Id>CreditReference Datablock USA-2709</Id>
<Name>BSO/CAN/Bespoke/Nam/DOBAddress/Mismatch</Name>
<Outcome />
<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
</Rule>
</RuleList>
</Rules>
</DecisionMatrix>
Sandbox
Query options for Sandbox
"options": {
"sandbox": "true"
}
<QueryOptions>
<KeyValueOfstringstring>
<Key>Sandbox</Key>
<Value>true</Value>
</KeyValueOfstringstring>
</QueryOptions>
City: | “Edmonton” |
DayOfBirth: | 12 |
Forename: | “Robert” |
HouseNumber: | “3688” |
MonthOfBirth: | 12 |
Postcode: | “T5J 2R4” |
Region: | “AB” |
Street: | “184th Street” |
Surname: | “Beck” |
YearOfBirth: | 1969 |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | Pass |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | NotApplicable |
City: | “Ottawa” |
DayOfBirth: | 06 |
Forename: | “Paul” |
HouseNumber: | “4414” |
MonthOfBirth: | 03 |
Postcode: | “K1P 5J4” |
Region: | “ON” |
Street: | “Thurston Dr” |
Surname: | “Shea” |
YearOfBirth: | 1993 |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | Fail |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | NotApplicable |
The corresponding entry in ServiceTransactions will show the following properties:
HaltTriggered: | False |
ServiceTransactionResult: | Success |
ServiceInterpretResult: | NotApplicable |
ServiceTransactionResultMessage: | “This call was generated using sandbox mode” |
ValidationResult: | NotApplicable |
W2 Data EKYC AU 029
W2 Data EKYC AU 029 is an identity verification service for Australia. W2 will combine several sources of data to make a match. We have a default setup for how we combine sources to make a match, which can be configured if needed. Please contact W2 support for more details.
Product Code: W2-DATA-EKYC-AU-029
Query Data
The following QueryData elements pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 15 | Mandatory | |
MiddleNames | String | 15 | Optional | |
Surname | String | 30 | Mandatory | |
Gender | String | Optional | Must be ‘M’ or ‘F’ if provided | |
DayOfBirth | Integer | 2 | Mandatory | |
MonthOfBirth | Integer | 2 | Mandatory | |
YearOfBirth | Integer | 4 | Mandatory | |
HouseName | String | 26 | Mandatory if no HouseNumber given | Minimum address fields are HouseName or Housenumber as well as the postcode. We advise that more address information be sent if possible as this will improve the chances of a match |
HouseNumber | String | 26 | Mandatory if no HouseName given | |
Street | String | 255 | Optional | |
Region | String | 255 | Optional | |
City | String | 100 | Optional | |
Postcode | String | 5 | Mandatory | |
Phone Number | String | 16 | Optional | Please provide the phone number as one contiguous set of numbers with no other characters or spaces. |
NationalId | String | 30 | Optional |
After performing the search, the validation result (pass, fail, etc.) will be part of the TransactionInformation returned for the service call.
Request
Example Request
"Data": {
"City": "Kilmore",
"DayOfBirth": 1,
"Forename": "John",
"Gender": "M",
"HouseNumber": "1",
"Postcode": "1234",
"Region": "VIC",
"Street": "High Street",
"Surname": "Smith",
"YearOfBirth": 1980
}
<QueryData>
<City>Kilmore</City>
<DayOfBirth>01</DayOfBirth>
<Forename>John</Forename>
<Gender>M</Gender>
<HouseNumber>1</Houseumber>
<Postcode>1234</Postcode>
<Region>VIC</Region>
<Street>High Street</Street>
<Surname>Smith</Surname>
<YearOfBirth>1980</YearOfBirth>
</QueryData>
Response
The following shows the basic schema for the <W2DataEkyc029Result>
object that is returned in the <ServiceResult>
Section of the <ProcessRequestResult>
object.
Sample Response
"w2DataEkycAU029Result": {
"dataSources": [{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddress",
"NumberOfMatches": 1,
"Source": "Credit"
}
],
"interpretResult": "Pass",
"Message": "The call was successful",
"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycAU029Result>
<DataSources>
<!-- An array of MatchingSource elements -->
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>
{ true | false }
</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>
{
NotAssigned | NameAndAddress | NameAndDateOfBirth |
NameAndAddressAndDateOfBirth | MortalityHighConfidence |
MortalityLowConfidence | SurnameAndPhoneNumberAtAddress
}
</MatchingCriteria>
<NumberOfMatches>
{ 0 - 99 }
<NumberOfMatches>
<Source>
{
8 = Credit
9 = Goverment
10 = Commercial
11 = Consumer
12 = Utility
13 = Proprietary
14 = Teleco
15 = Postal
}
<Source>
</MatchingSource>
</DataSources>
<InterpretResult>
{
NotPerformed | Pass | Fail | Refer | NotApplicable | NoInterpretPerformed
}
</InterpretResult>
<Message>
{ A message containing additional information about the call }
</Message>
<TransactionResult>
{
None | Success | SuccessNoResults | SuccessIncompleteResults |
MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
}
</TransactionResult>
</W2DataEkycAU029Result>
Below is some more information about the some of the elements of the response that require explanation:
DataSources = A collection showing every source of data that was used to formulate the result. Each source is represented by a <MatchingSource>
elment.
AllowMultipleRecordsAsSeparateDataSources = Indicates that two different record matches from the same data source may count as independent sources when formulating the 2 + 2 result. For example, two Insight results may count as two sources, rather than one, as they would do under normal service circumstances.
MatchingCriteria = Precisely what data has been matched by the data source. E.g. NameAndAddressAndDateOfBirth
NumberOfMatches = The number of matches found by this data source
Source = An integer representing the source of the data match. E.g. 8 = Credit
SourceId | Source Matched | Notes |
---|---|---|
8 | Credit | Established credit agencies in the country (Coverage: > 90%; Update Frequency: Daily) |
9 | Government | Electoral data, driver’s license or history (Coverage: > 90%; Update Frequency: Daily) |
10 | Commercial | Insurance Records, Business Directory, Tenancy Information (Coverage: > 50%; Update Frequency: Quarterly ) |
11 | Consumer | Public Records, Citizen Data sources, marketing and membership data (the AA etc) (Coverage: > 50%; Update Frequency: Quarterly ) |
12 | Utility | Data issued for a national utility provider which includes telephone, gas, electricity, or water. (Coverage: > 90%; Update Frequency: Annually) |
13 | Proprietary | |
14 | Teleco | Public Number Directory (Coverage: > 75%; Update Frequency: Annually) |
15 | Postal | |
** | ** |
InterpretResult = The overall verification result, based on what matches were found in the data source against the query data submitted. The possibilities are Pass, Fail or Refer
Message = Gives some more details / context on the verification result
TransactionResult = A diagnostic result showing whether or not any technical errors were experienced during the check. This should always be “Success” unless a technical error has occured, in which case the verification check will be aborted.
Example Response
Examples on the side show a case where we have found one NameAndAddress match on the Government and 3 NameAndAddressAndDateOfBirth matches on Commercial. This has resulted in a Pass.
Sample Response
"w2DataEkycAU029Result": {
"dataSources": [{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddress",
"NumberOfMatches": 1,
"Source": "Utility"
},
{
"AllowMultipleRecordsAsSeparateDataSources": true,
"MatchingCriteria": "NameAndAddressAndDateOfBirth",
"NumberOfMatches": 3,
"Source": "Credit"
}
],
"interpretResult": "Pass",
"Message": "The call was successful",
"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycAU029Result>
<DataSources>
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>NameAndAddress</MatchingCriteria>
<NumberOfMatches>1<NumberOfMatches>
<Source>9<Source>
</MatchingSource>
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>NameAndAddressAndDateOfBirth</MatchingCriteria>
<NumberOfMatches>3<NumberOfMatches>
<Source>10<Source>
</MatchingSource>
</DataSources>
<InterpretResult>Pass</InterpretResult>
<Message />
<TransactionResult>Success</TransactionResult>
</W2DataEkycAU029Result>
Transaction Result
HaltTriggered | False |
ServiceTransactionResult | - Success - SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated - SuccessNoResults - No matches found - ServerErrorGeneralError - An error occurred - ServiceFailureError- Unable to contact third party service - ClientErrorInsufficientInformation- Required field not supplied or insufficient/invalid information |
ServiceInterpretResult | - OneResult - MultipleResults - Fail - NoResults - NoInterpretPerformed - NotPerformed - An error occurred and the search was not performed |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | - Pass - NotPerformed - No search occurred to match against- Fail - MissingMandatoryField or PatternNotMatched |
Sandbox
Example Request - W2 Data Ekyc AU 029
{
"Bundle": "KYC_AU_029",
"Data": {
"Forename": "Michael",
"Surname": "Tschank",
"HouseNumber": "51",
"Street": "Nobilegasse",
"City":"Wien",
"Postcode": "1150"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
Sandbox Example Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | Flat | House Name/Number | Street | Postcode |
---|---|---|---|---|---|---|---|---|
Bailey | Flynn | 30 | 12 | 1979 | 90 | Sunset Drive | 4730 | |
Cody | Rene | 12 | 2 | 1986 | 73 | Moruya Street | 2484 | |
Hayley | Allwood | 5 | 4 | 1990 | 76 | Sale Street | 1934 | |
Isabel | Fitchett | 8 | 1 | 1976 | 78 | Gregory Way | 6220 | |
Joseph | James | 10 | 11 | 1965 | 43 | Davis Street | 4055 | |
Liam | Parkes | 25 | 8 | 1980 | 52 | Parkes Road | 3012 | |
Lincoln | Barrow | 3 | 5 | 1956 | 59 | Lewin Street | 2655 | |
Ryan | Highett | 17 | 9 | 1949 | 15 | Tanner Street | 946 |
W2 Data EKYC DK 029
W2 Data EKYC DK 029 is an identity verification service for Denmark. W2 will combine several sources of data to make a match. We have a default setup for how we combine sources to make a match, which can be configured if needed. Please contact W2 support for more details.
Product Code: W2-DATA-EKYC-DK-029
Query Data
The following QueryData elements pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 15 | Mandatory | |
MiddleNames | String | 15 | Optional | |
Surname | String | 30 | Mandatory | |
Gender | String | Optional | Must be ‘M’ or ‘F’ if provided | |
DayOfBirth | Integer | 2 | Mandatory | |
MonthOfBirth | Integer | 2 | Mandatory | |
YearOfBirth | Integer | 4 | Mandatory | |
HouseName | String | 26 | Mandatory if no HouseNumber given | Minimum address fields are HouseName or Housenumber as well as the postcode. We advise that more address information be sent if possible as this will improve the chances of a match |
HouseNumber | String | 26 | Mandatory if no HouseName given | |
Street | String | 255 | Optional | |
Region | String | 255 | Optional | |
City | String | 100 | Optional | |
Postcode | String | 5 | Mandatory | |
Phone Number | String | 16 | Optional | Please provide the phone number as one contiguous set of numbers with no other characters or spaces. |
NationalId | String | 30 | Optional |
After performing the search, the validation result (pass, fail, etc.) will be part of the TransactionInformation returned for the service call.
Request
Example Request
"Data": {
"City": "Copenhagen",
"DayOfBirth": 1,
"Forename": "Johann",
"Gender": "M",
"HouseNumber": "1",
"Postcode": "8600",
"Region": "Sjaelland",
"Street": "High Street",
"Surname": "Nielsen",
"YearOfBirth": 1980
}
<QueryData>
<City>Copenhagen</City>
<DayOfBirth>01</DayOfBirth>
<Forename>Johann</Forename>
<Gender>M</Gender>
<HouseNumber>1</Houseumber>
<Postcode>8600</Postcode>
<Region>Sjaelland</Region>
<Street>High Street</Street>
<Surname>Nielsen</Surname>
<YearOfBirth>1980</YearOfBirth>
</QueryData>
Response
The following shows the basic schema for the <W2DataEkyc029Result>
object that is returned in the <ServiceResult>
Section of the <ProcessRequestResult>
object.
Sample Response
"w2DataEkycDK029Result": {
"dataSources": [{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddress",
"NumberOfMatches": 1,
"Source": "Credit"
}
],
"interpretResult": "Pass",
"Message": "The call was successful",
"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycDK029Result>
<DataSources>
<!-- An array of MatchingSource elements -->
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>
{ true | false }
</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>
{
NotAssigned | NameAndAddress | NameAndDateOfBirth |
NameAndAddressAndDateOfBirth | MortalityHighConfidence |
MortalityLowConfidence | SurnameAndPhoneNumberAtAddress
}
</MatchingCriteria>
<NumberOfMatches>
{ 0 - 99 }
<NumberOfMatches>
<Source>
{
8 = Credit
9 = Goverment
10 = Commercial
11 = Consumer
12 = Utility
13 = Proprietary
14 = Teleco
15 = Postal
}
<Source>
</MatchingSource>
</DataSources>
<InterpretResult>
{
NotPerformed | Pass | Fail | Refer | NoResults |
OneResult | MultipleResults | NotApplicable | NoInterpretPerformed
}
</InterpretResult>
<Message>
{ A message containing additional information about the call }
</Message>
<TransactionResult>
{
None | Success | SuccessNoResults | SuccessIncompleteResults |
MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
}
</TransactionResult>
</W2DataEkycDK029Result>
Below is some more information about the some of the elements of the response that require explanation:
DataSources = A collection showing every source of data that was used to formulate the result. Each source is represented by a <MatchingSource>
elment.
AllowMultipleRecordsAsSeparateDataSources = Indicates that two different record matches from the same data source may count as independent sources when formulating the result. For example, two Insight results may count as two sources, rather than one, as they would do under normal service circumstances.
MatchingCriteria = Precisely what data has been matched by the data source. E.g. NameAndAddressAndDateOfBirth
NumberOfMatches = The number of matches found by this data source
Source = An integer representing the source of the data match. E.g. 8 = Credit
SourceId | Source Matched | Notes |
---|---|---|
8 | Credit | Established credit agencies in the country (Coverage: > 90%; Update Frequency: Daily) |
9 | Government | Electoral data, driver’s license or history (Coverage: > 90%; Update Frequency: Daily) |
10 | Commercial | Insurance Records, Business Directory, Tenancy Information (Coverage: > 50%; Update Frequency: Quarterly ) |
11 | Consumer | Public Records, Citizen Data sources, marketing and membership data (the AA etc) (Coverage: > 50%; Update Frequency: Quarterly ) |
12 | Utility | Data issued for a national utility provider which includes telephone, gas, electricity, or water. (Coverage: > 90%; Update Frequency: Annually) |
13 | Proprietary | |
14 | Teleco | Public Number Directory (Coverage: > 75%; Update Frequency: Annually) |
15 | Postal |
InterpretResult = The overall verification result, based on what matches were found in the data source against the query data submitted. The possibilities are Pass, Fail or Refer
Message = Gives some more details / context on the verification result
TransactionResult = A diagnostic result showing whether or not any technical errors were experienced during the check. This should always be “Success” unless a technical error has occurred, in which case the verification check will be aborted.
Example Response:
Example Response
"w2DataEkycDK029Result": {
"dataSources": [{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddress",
"NumberOfMatches": 1,
"Source": "Credit"
},{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddressAndDateOfBirth",
"NumberOfMatches": 3,
"Source": "Goverment"
}
],
"interpretResult": "Pass",
"Message": "The call was successful",
"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycDK029Result>
<DataSources>
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>NameAndAddress</MatchingCriteria>
<NumberOfMatches>1<NumberOfMatches>
<Source>9<Source>
</MatchingSource>
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>NameAndAddressAndDateOfBirth</MatchingCriteria>
<NumberOfMatches>3<NumberOfMatches>
<Source>10<Source>
</MatchingSource>
</DataSources>
<InterpretResult>Pass</InterpretResult>
<Message />
<TransactionResult>Success</TransactionResult>
</W2DataEkycDK029Result>
Transaction Result
HaltTriggered | False |
ServiceTransactionResult | - Success - SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated - SuccessNoResults - No matches found - ServerErrorGeneralError - An error occurred - ServiceFailureError- Unable to contact third party service - ClientErrorInsufficientInformation- Required field not supplied or insufficient/invalid information |
ServiceInterpretResult | - OneResult - MultipleResults - Fail - NoResults - NoInterpretPerformed - NotPerformed - An error occurred and the search was not performed |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | - Pass - NotPerformed - No search occurred to match against - Fail - MissingMandatoryField or PatternNotMatched |
Sandbox
Example Request - W2 Data Ekyc DK 029
{
"Bundle": "KYC_DK_029",
"Data": {
"Forename": "Michael",
"Surname": "Tschank",
"HouseNumber": "51",
"Street": "Nobilegasse",
"City":"Wien",
"Postcode": "1150"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
Sandbox Example Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | Flat | House Name/Number | Street | Postcode | National Id | Result |
---|---|---|---|---|---|---|---|---|---|---|
Bent | Faurby | 29 | 2 | 1968 | 1 | Haldor Topsoe Alle | 2800 | Fail | ||
Karl | Gjellerup | 1 | 3 | 1969 | 35 | Langeline Alle | 2100 | Pass | ||
Meir | Aron Goldschmidt | 28 | 6 | 1975 | 9 | Kirkebjerg Parkvej | 2605 | Pass | ||
Stig | Dalager | 2 | 12 | 1952 | 85 | Korsnaebvej | 4673 | 2387544 | Pass | |
Tove | Ditlevsen | 16 | 4 | 1971 | 14 A | Lyngsovej | 8600 | 040888-9877 | Inconclusive |
W2 Data EKYC ES 029
W2 Data EKYC ES 029 is an identity verification service for Spain. W2 will combine several sources of data to make a match. We have a default setup for how we combine sources to make a match, which can be configured if needed. Please contact W2 support for more details.
Product Code: W2-DATA-EKYC-ES-029
Query Data
The following QueryData elements pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 15 | Mandatory | |
MiddleNames | String | 15 | Optional | |
Surname | String | 30 | Mandatory | |
Gender | String | Optional | Must be ‘M’ or ‘F’ if provided | |
DayOfBirth | Integer | 2 | Mandatory | |
MonthOfBirth | Integer | 2 | Mandatory | |
YearOfBirth | Integer | 4 | Mandatory | |
HouseName | String | 26 | Mandatory if no HouseNumber given | Minimum address fields are HouseName or Housenumber as well as the postcode. We advise that more address information be sent if possible as this will improve the chances of a match |
HouseNumber | String | 26 | Mandatory if no HouseName given | |
Street | String | 255 | Optional | |
Region | String | 255 | Optional | |
City | String | 100 | Optional | |
Postcode | String | 5 | Mandatory | |
Phone Number | String | 16 | Optional | Please provide the phone number as one contiguous set of numbers with no other characters or spaces. |
NationalId | String | 30 | Optional |
After performing the search, the validation result (pass, fail, etc.) will be part of the TransactionInformation returned for the service call.
Request
Example Request
"Data": {
"City": "Madrid",
"DayOfBirth": 27,
"Forename": "Mariano",
"HouseNumber": "1",
"MonthOfBirth": 3,
"Postcode": "28071",
"Street": "Palace of Moncloa",
"Surname": "Rajoy",
"YearOfBirth": 1955
}
<QueryData>
<City>Madrid</City>
<DayOfBirth>27</DayOfBirth>
<Forename>Mariano</Forename>
<HouseNumber>1</HouseNumber>
<MonthOfBirth>03</MonthOfBirth>
<Postcode>28071</Postcode>
<Street>Palace of Moncloa</Street>
<Surname>Rajoy</Surname>
<YearOfBirth>1955</YearOfBirth>
</QueryData>
Response
The following shows the basic schema for the <W2DataEkyc029Result>
object that is returned in the <ServiceResult>
Section of the <ProcessRequestResult>
object.
Sample Response
"w2DataEkycES029Result": {
"dataSources": [{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddress",
"NumberOfMatches": 1,
"Source": "Credit"
}
],
"interpretResult": "Pass",
"Message": "The call was successful",
"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycES029Result>
<DataSources>
<!-- An array of MatchingSource elements -->
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>
{ true | false }
</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>
{
NotAssigned | NameAndAddress | NameAndDateOfBirth |
NameAndAddressAndDateOfBirth | MortalityHighConfidence |
MortalityLowConfidence | SurnameAndPhoneNumberAtAddress
}
</MatchingCriteria>
<NumberOfMatches>
{ 0 - 99 }
<NumberOfMatches>
<Source>
{
8 = Credit
9 = Goverment
10 = Commercial
11 = Consumer
12 = Utility
13 = Proprietary
14 = Teleco
15 = Postal
}
<Source>
</MatchingSource>
</DataSources>
<InterpretResult>
{
NotPerformed | Pass | Fail | Refer | NoResults |
OneResult | MultipleResults | NotApplicable | NoInterpretPerformed
}
</InterpretResult>
<Message>
{ A message containing additional information about the call }
</Message>
<TransactionResult>
{
None | Success | SuccessNoResults | SuccessIncompleteResults |
MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
}
</TransactionResult>
</W2DataEkycES029Result>
Below is some more information about the some of the elements of the response that require explanation:
DataSources = A collection showing every source of data that was used to formulate the result. Each source is represented by a <MatchingSource>
elment.
AllowMultipleRecordsAsSeparateDataSources = Indicates that two different record matches from the same data source may count as independent sources when formulating the 2 + 2 result. For example, two Insight results may count as two sources, rather than one, as they would do under normal service circumstances.
MatchingCriteria = Precisely what data has been matched by the data source. E.g. NameAndAddressAndDateOfBirth
NumberOfMatches = The number of matches found by this data source
Source = An integer representing the source of the data match. E.g. 8 = Credit
SourceId | Source Matched | Notes |
---|---|---|
8 | Credit | Established credit agencies in the country (Coverage: > 90%; Update Frequency: Daily) |
9 | Government | Electoral data, driver’s license or history (Coverage: > 90%; Update Frequency: Daily) |
10 | Commercial | Insurance Records, Business Directory, Tenancy Information (Coverage: > 50%; Update Frequency: Quarterly ) |
11 | Consumer | Public Records, Citizen Data sources, marketing and membership data (the AA etc) (Coverage: > 50%; Update Frequency: Quarterly ) |
12 | Utility | Data issued for a national utility provider which includes telephone, gas, electricity, or water. (Coverage: > 90%; Update Frequency: Annually) |
13 | Proprietary | |
14 | Teleco | Public Number Directory (Coverage: > 75%; Update Frequency: Annually) |
15 | Postal | |
** | ** |
InterpretResult = The overall verification result, based on what matches were found in the data source against the query data submitted. The possibilities are Pass, Fail or Refer
Message = Gives some more details / context on the verification result
TransactionResult = A diagnostic result showing whether or not any technical errors were experienced during the check. This should always be “Success” unless a technical error has occurred, in which case the verification check will be aborted.
Example Response:
The below example shows a case where we have found one NameAndAddress match on the Government and 3 NameAndAddressAndDateOfBirth matches on Commercial. This has resulted in a Pass.
Example Response
"w2DataEkycES029Result": {
"dataSources": [{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddress",
"NumberOfMatches": 1,
"Source": "Credit"
},{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddressAndDateOfBirth",
"NumberOfMatches": 3,
"Source": "Goverment"
}
],
"interpretResult": "Pass",
"Message": "The call was successful",
"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycES029Result>
<DataSources>
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>NameAndAddress</MatchingCriteria>
<NumberOfMatches>1<NumberOfMatches>
<Source>9<Source>
</MatchingSource>
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>NameAndAddressAndDateOfBirth</MatchingCriteria>
<NumberOfMatches>3<NumberOfMatches>
<Source>10<Source>
</MatchingSource>
</DataSources>
<InterpretResult>Pass</InterpretResult>
<Message />
<TransactionResult>Success</TransactionResult>
</W2DataEkycES029Result>
Transaction Result
HaltTriggered | False |
ServiceTransactionResult | - Success - SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated - SuccessNoResults - No matches found - ServerErrorGeneralError - An error occurred - ServiceFailureError- Unable to contact third party service - ClientErrorInsufficientInformation- Required field not supplied or insufficient/invalid information |
ServiceInterpretResult | - OneResult - MultipleResults - Fail - NoResults - NoInterpretPerformed - NotPerformed - An error occurred and the search was not performed |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | - Pass - NotPerformed - No search occurred to match against - Fail - MissingMandatoryField or PatternNotMatched |
Sandbox
Example Request - W2 Data Ekyc ES 029
{
"Bundle": "KYC_ES_029",
"Data": {
"Forename": "Michael",
"Surname": "Tschank",
"HouseNumber": "51",
"Street": "Nobilegasse",
"City":"Wien",
"Postcode": "1150"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
Sandbox Example Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | Flat | House Name/Number | Street | Postcode | Result |
---|---|---|---|---|---|---|---|---|---|
Alonso | Vázquez | 3 | 8 | 1964 | 215 | CALLE HACIENCA DE PAVONES | 28030 | Pass | |
Alvar | Leyva Escobedo | 2 | 1 | 1987 | 94 | Navarredonda de la Rinconada | 37607 | Pass | |
Artemisa | Bernal Sauceda | 13 | 8 | 1953 | 95 | Calle Carril de la Fuente | 13326 | Pass | |
Carlos | Rojas Vila | 7 | 4 | 1976 | 66 | La Tablada | 38677 | Fail | |
Félix | María Samaniego | 11 | 7 | 1975 | 4-10 | C/MEDES | 8023 | Pass | |
Francisco | de Quevedo | 21 | 8 | 1950 | 1A | B Calle Laguna Negra | 42003 | NoResults | |
Gladys | Chapa Valverde | 4 | 9 | 1976 | 3 | Canónigo Valiño | 46300 | Pass | |
Keren | Almonte Esquivel | 17 | 9 | 1999 | 57 | Xunqueira de Ambía | 32670 | Pass | |
Luana | Velasco Cervantes | 23 | 12 | 1965 | 45 | Tormos | 03795 | Inconclusive | |
Menna | Fonseca Guardado | 2 | 4 | 1982 | 5 | Ctra. Hornos | 26213 | Inconclusive | |
Miguel | de Unamuno | 25 | 2 | 1961 | 11 2F | CALLE LOS MARTINEZ DE ESCOBAR | 35007 | Fail | |
PEDRO | LOPEZ | 18 | 2 | 1955 | 19 | CALLE JUANELO | 28012 | Fail |
W2 Data EKYC FR 029
W2 Data EKYC FR 029 is an identity verification service for France. W2 will combine several sources of data to make a match. We have a default setup for how we combine sources to make a match, which can be configured if needed. Please contact W2 support for more details.
Product Code: W2-DATA-EKYC-FR-029
Query Data
The following QueryData elements pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 15 | Mandatory | |
MiddleNames | String | 15 | Optional | |
Surname | String | 30 | Mandatory | |
Gender | String | Optional | Must be ‘M’ or ‘F’ if provided | |
DayOfBirth | Integer | 2 | Mandatory | |
MonthOfBirth | Integer | 2 | Mandatory | |
YearOfBirth | Integer | 4 | Mandatory | |
HouseName | String | 26 | Mandatory if no HouseNumber given | Minimum address fields are HouseName or Housenumber as well as the postcode. We advise that more address information be sent if possible as this will improve the chances of a match |
HouseNumber | String | 26 | Mandatory if no HouseName given | |
Street | String | 255 | Optional | |
Region | String | 255 | Optional | |
City | String | 100 | Optional | |
Postcode | String | 5 | Mandatory | |
Phone Number | String | 16 | Optional | Please provide the phone number as one contiguous set of numbers with no other characters or spaces. |
NationalId | String | 30 | Optional |
After performing the search, the validation result (pass, fail, etc.) will be part of the TransactionInformation returned for the service call.
Request
Sample Request
"Data": {
"City": "Paris",
"DayOfBirth": 21,
"Forename": "Emmanuel",
"HouseNumber": "55",
"MonthOfBirth": 12,
"Postcode": "75008",
"Surname": "Macron",
"Street": "Rue du Faubourg",
"YearOfBirth": 1977
}
<QueryData>
<City>Paris</City>
<DayOfBirth>21</DayOfBirth>
<Forename>Emmanuel</Forename>
<HouseNumber>55</HouseNumber>
<MonthOfBirth>12</MonthOfBirth>
<Postcode>75008</Postcode>
<Surname>Macron</Surname>
<Street>Rue du Faubourg</Street>
<YearOfBirth>1977</YearOfBirth>
</QueryData>
Response
The following shows the basic schema for the <W2DataEkyc029Result>
object that is returned in the <ServiceResult>
Section of the <ProcessRequestResult>
object.
Sample Response
"w2DataEkycFR029Result": {
"dataSources": [{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddress",
"NumberOfMatches": 1,
"Source": "Credit"
}
],
"interpretResult": "Pass",
"Message": "The call was successful",
"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycFR029Result>
<DataSources>
<!-- An array of MatchingSource elements -->
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>
{ true | false }
</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>
{
NotAssigned | NameAndAddress | NameAndDateOfBirth |
NameAndAddressAndDateOfBirth | MortalityHighConfidence |
MortalityLowConfidence | SurnameAndPhoneNumberAtAddress
}
</MatchingCriteria>
<NumberOfMatches>
{ 0 - 99 }
<NumberOfMatches>
<Source>
{
8 = Credit
9 = Goverment
10 = Commercial
11 = Consumer
12 = Utility
13 = Proprietary
14 = Teleco
15 = Postal
}
<Source>
</MatchingSource>
</DataSources>
<InterpretResult>
{
NotPerformed | Pass | Fail | Refer | NoResults |
OneResult | MultipleResults | NotApplicable | NoInterpretPerformed
}
</InterpretResult>
<Message>
{ A message containing additional information about the call }
</Message>
<TransactionResult>
{
None | Success | SuccessNoResults | SuccessIncompleteResults |
MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
}
</TransactionResult>
</W2DataEkycFR029Result>
Below is some more information about the some of the elements of the response that require explanation:
DataSources = A collection showing every source of data that was used to formulate the result. Each source is represented by a <MatchingSource>
elment.
AllowMultipleRecordsAsSeparateDataSources = Indicates that two different record matches from the same data source may count as independent sources when formulating the 2 + 2 result. For example, two Insight results may count as two sources, rather than one, as they would do under normal service circumstances.
MatchingCriteria = Precisely what data has been matched by the data source. E.g. NameAndAddressAndDateOfBirth
NumberOfMatches = The number of matches found by this data source
Source = An integer representing the source of the data match. E.g. 8 = Credit
SourceId | Source Matched | Notes |
---|---|---|
8 | Credit | Established credit agencies in the country (Coverage: > 90%; Update Frequency: Daily) |
9 | Government | Electoral data, driver’s license or history (Coverage: > 90%; Update Frequency: Daily) |
10 | Commercial | Insurance Records, Business Directory, Tenancy Information (Coverage: > 50%; Update Frequency: Quarterly ) |
11 | Consumer | Public Records, Citizen Data sources, marketing and membership data (the AA etc) (Coverage: > 50%; Update Frequency: Quarterly ) |
12 | Utility | Data issued for a national utility provider which includes telephone, gas, electricity, or water. (Coverage: > 90%; Update Frequency: Annually) |
13 | Proprietary | |
14 | Teleco | Public Number Directory (Coverage: > 75%; Update Frequency: Annually) |
15 | Postal | |
InterpretResult = The overall verification result, based on what matches were found in the data source against the query data submitted. The possibilities are Pass, Fail or Refer
Message = Gives some more details / context on the verification result
TransactionResult = A diagnostic result showing whether or not any technical errors were experienced during the check. This should always be “Success” unless a technical error has occurred, in which case the verification check will be aborted.
Example Response:
Example Response
"w2DataEkycFR029Result": {
"dataSources": [{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddress",
"NumberOfMatches": 1,
"Source": "Credit"
},{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddressAndDateOfBirth",
"NumberOfMatches": 3,
"Source": "Goverment"
}
],
"interpretResult": "Pass",
"Message": "The call was successful",
"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycFR029Result>
<DataSources>
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>NameAndAddress</MatchingCriteria>
<NumberOfMatches>1<NumberOfMatches>
<Source>9<Source>
</MatchingSource>
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>NameAndAddressAndDateOfBirth</MatchingCriteria>
<NumberOfMatches>3<NumberOfMatches>
<Source>10<Source>
</MatchingSource>
</DataSources>
<InterpretResult>Pass</InterpretResult>
<Message />
<TransactionResult>Success</TransactionResult>
</W2DataEkycFR029Result>
Transaction Result
HaltTriggered | False |
ServiceTransactionResult | - Success - SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated - SuccessNoResults - No matches found - ServerErrorGeneralError - An error occurred - ServiceFailureError- Unable to contact third party service - ClientErrorInsufficientInformation- Required field not supplied or insufficient/invalid information |
ServiceInterpretResult | - OneResult - MultipleResults - Fail - NoResults - NoInterpretPerformed - NotPerformed -An error occurred and the search was not performed |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | - Pass - NotPerformed - No search occurred to match against - Fail - MissingMandatoryField or PatternNotMatched |
Sandbox
Example Request - W2 Data Ekyc FR 029
{
"Bundle": "KYC_FR_029",
"Data": {
"Forename": "Michael",
"Surname": "Tschank",
"HouseNumber": "51",
"Street": "Nobilegasse",
"City":"Wien",
"Postcode": "1150"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
Sandbox Example Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | Flat | House Name/Number | Street | Postcode | Result |
---|---|---|---|---|---|---|---|---|---|
Camille | Pelchat | 23 | 5 | 1987 | 69 | rue Lenotre | 35000 | Pass | |
Dorene | Bordeaux | 1 | 4 | 2001 | 85 | Square de la Couronne | 77330 | Pass | |
Émile | Bernard | 24 | 9 | 1979 | 19 | rue de la paix | 45260 | Pass | |
Jacquenett | DAubigne | 11 | 4 | 1959 | 62 | boulevard de la Liberation | 13014 | Pass | |
Jacques | Morel | 28 | 6 | 1994 | 24 | rue du petit val | 2310 | Fail | |
Martin | Fréminet | 10 | 12 | 1987 | 39 | rue Jean de Bernardy | 13001 | Pass | |
Monique | Desnoyer | 12 | 12 | 1974 | 72 | Place de la Gare | 31770 | Pass | |
Paige | Léveillé | 28 | 11 | 1967 | 64 | rue de la Hulotais | 59430 | Inconclusive | |
Simon | Marmion | 8 | 1 | 1969 | 166 | rue du Général Leclerc | 67540 | Inconclusive | |
Suzanne | Valadon | 22 | 2 | 1985 | 22 | chemin de Pénatière | 38640 | Fail | |
Vincent | Bérubé | 26 | 4 | 1965 | 96 | rue des six frères Ruellan | 95110 | Fail |
W2 Data EKYC DE 029
W2 Data EKYC DE 029 is an identity verification service for Germany. W2 will combine several sources of data to make a match. We have a default setup for how we combine sources to make a match, which can be configured if needed. Please contact W2 support for more details.
Product Code: W2-DATA-EKYC-DE-029
Query Data
The following QueryData elements pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 15 | Mandatory | |
MiddleNames | String | 15 | Optional | |
Surname | String | 30 | Mandatory | |
Gender | String | Optional | Must be ‘M’ or ‘F’ if provided | |
DayOfBirth | Integer | 2 | Mandatory | |
MonthOfBirth | Integer | 2 | Mandatory | |
YearOfBirth | Integer | 4 | Mandatory | |
HouseName | String | 26 | Mandatory if no HouseNumber given | Minimum address fields are HouseName or Housenumber as well as the postcode. We advise that more address information be sent if possible as this will improve the chances of a match |
HouseNumber | String | 26 | Mandatory if no HouseName given | |
Street | String | 255 | Optional | |
Region | String | 255 | Optional | |
City | String | 100 | Optional | |
Postcode | String | 5 | Mandatory | |
Phone Number | String | 16 | Optional | Please provide the phone number as one contiguous set of numbers with no other characters or spaces. |
NationalId | String | 30 | Optional |
After performing the search, the validation result (pass, fail, etc.) will be part of the TransactionInformation returned for the service call.
Request
Sample Request
"Data": {
"City": "Berlin",
"DayOfBirth": 19,
"Forename": "Emerson",
"HouseNumber": "34",
"MonthOfBirth": 10,
"Postcode": "76007",
"Surname": "Reus",
"Street": "Dorfstrasse",
"YearOfBirth": 1988
}
<QueryData>
<City>Berlin</City>
<DayOfBirth>19</DayOfBirth>
<Forename>Emerson</Forename>
<HouseNumber>34</HouseNumber>
<MonthOfBirth>10</MonthOfBirth>
<Postcode>76007</Postcode>
<Surname>Reus</Surname>
<Street>Dorfstrasse</Street>
<YearOfBirth>1988</YearOfBirth>
</QueryData>
Response
The following shows the basic schema for the <W2DataEkyc029Result>
object that is returned in the <ServiceResult>
Section of the <ProcessRequestResult>
object.
Sample Response
"w2DataEkycDE029Result": {
"dataSources": [{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddress",
"NumberOfMatches": 1,
"Source": "Credit"
}
],
"interpretResult": "Pass",
"Message": "The call was successful",
"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycDE029Result>
<DataSources>
<!-- An array of MatchingSource elements -->
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>
{ true | false }
</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>
{
NotAssigned | NameAndAddress | NameAndDateOfBirth |
NameAndAddressAndDateOfBirth | MortalityHighConfidence |
MortalityLowConfidence | SurnameAndPhoneNumberAtAddress
}
</MatchingCriteria>
<NumberOfMatches>
{ 0 - 99 }
<NumberOfMatches>
<Source>
{
8 = Credit
9 = Goverment
10 = Commercial
11 = Consumer
12 = Utility
13 = Proprietary
14 = Teleco
15 = Postal
}
<Source>
</MatchingSource>
</DataSources>
<InterpretResult>
{
NotPerformed | Pass | Fail | Refer | NoResults |
OneResult | MultipleResults | NotApplicable | NoInterpretPerformed
}
</InterpretResult>
<Message>
{ A message containing additional information about the call }
</Message>
<TransactionResult>
{
None | Success | SuccessNoResults | SuccessIncompleteResults |
MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
}
</TransactionResult>
</W2DataEkycDE029Result>
Below is some more information about the some of the elements of the response that require explanation:
DataSources = A collection showing every source of data that was used to formulate the result. Each source is represented by a <MatchingSource>
elment.
AllowMultipleRecordsAsSeparateDataSources = Indicates that two different record matches from the same data source may count as independent sources when formulating the 2 + 2 result. For example, two Insight results may count as two sources, rather than one, as they would do under normal service circumstances.
MatchingCriteria = Precisely what data has been matched by the data source. E.g. NameAndAddressAndDateOfBirth
NumberOfMatches = The number of matches found by this data source
Source = An integer representing the source of the data match. E.g. 8 = Credit
SourceId | Source Matched | Notes |
---|---|---|
8 | Credit | Established credit agencies in the country (Coverage: > 90%; Update Frequency: Daily) |
9 | Government | Electoral data, driver’s license or history (Coverage: > 90%; Update Frequency: Daily) |
10 | Commercial | Insurance Records, Business Directory, Tenancy Information (Coverage: > 50%; Update Frequency: Quarterly ) |
11 | Consumer | Public Records, Citizen Data sources, marketing and membership data (the AA etc) (Coverage: > 50%; Update Frequency: Quarterly ) |
12 | Utility | Data issued for a national utility provider which includes telephone, gas, electricity, or water. (Coverage: > 90%; Update Frequency: Annually) |
13 | Proprietary | |
14 | Teleco | Public Number Directory (Coverage: > 75%; Update Frequency: Annually) |
15 | Postal | |
InterpretResult = The overall verification result, based on what matches were found in the data source against the query data submitted. The possibilities are Pass, Fail or Refer
Message = Gives some more details / context on the verification result
TransactionResult = A diagnostic result showing whether or not any technical errors were experienced during the check. This should always be “Success” unless a technical error has occurred, in which case the verification check will be aborted.
Example Response:
Example Response
"w2DataEkycDE029Result": {
"dataSources": [{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddress",
"NumberOfMatches": 1,
"Source": "Credit"
},{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddressAndDateOfBirth",
"NumberOfMatches": 3,
"Source": "Goverment"
}
],
"interpretResult": "Pass",
"Message": "The call was successful",
"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycDE029Result>
<DataSources>
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>NameAndAddress</MatchingCriteria>
<NumberOfMatches>1<NumberOfMatches>
<Source>9<Source>
</MatchingSource>
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>NameAndAddressAndDateOfBirth</MatchingCriteria>
<NumberOfMatches>3<NumberOfMatches>
<Source>10<Source>
</MatchingSource>
</DataSources>
<InterpretResult>Pass</InterpretResult>
<Message />
<TransactionResult>Success</TransactionResult>
</W2DataEkycDE029Result>
Transaction Result
HaltTriggered | False |
ServiceTransactionResult | - Success - SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated - SuccessNoResults - No matches found - ServerErrorGeneralError - An error occurred - ServiceFailureError- Unable to contact third party service - ClientErrorInsufficientInformation- Required field not supplied or insufficient/invalid information |
ServiceInterpretResult | - OneResult - MultipleResults - Fail - NoResults - NoInterpretPerformed - NotPerformed -An error occurred and the search was not performed |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | - Pass - NotPerformed - No search occurred to match against - Fail - MissingMandatoryField or PatternNotMatched |
Sandbox
Example Request - W2 Data Ekyc DE 029
{
"Bundle": "KYC_DE_029",
"Data": {
"Forename": "Lukas",
"Surname": "Jonas",
"HouseNumber": "23",
"Street": "Gartenstraße",
"Postcode": "37645"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
Sandbox Example Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | Flat | House Name/Number | Street | Postcode | Result |
---|---|---|---|---|---|---|---|---|---|
Lukas | Jonas | 10 | 10 | 1968 | 23 | Gartenstraße | 14982 | Pass | |
Jacques | Morel | 28 | 6 | 1994 | 24 | Ocean View Street | 2310 | Fail | |
Finn | Elias | 22 | 2 | 1985 | 22 | Hauptstrasse | 38640 | Fail | |
Tobias | Ben | 8 | 1 | 1969 | 166 | Bahnhofstrasse | 67540 | Inconclusive |
W2 Data EKYC NL 029
W2 Data EKYC NL 029 is an identity verification service for Netherlands. W2 will combine several sources of data to make a match. We have a default setup for how we combine sources to make a match, which can be configured if needed. Please contact W2 support for more details.
Product Code: W2-DATA-EKYC-NL-029
Query Data
The following QueryData elements pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 15 | Mandatory | |
MiddleNames | String | 15 | Optional | |
Surname | String | 30 | Mandatory | |
Gender | String | Optional | Must be ‘M’ or ‘F’ if provided | |
DayOfBirth | Integer | 2 | Mandatory | |
MonthOfBirth | Integer | 2 | Mandatory | |
YearOfBirth | Integer | 4 | Mandatory | |
HouseName | String | 26 | Mandatory if no HouseNumber given | Minimum address fields are HouseName or Housenumber as well as the postcode. We advise that more address information be sent if possible as this will improve the chances of a match |
HouseNumber | String | 26 | Mandatory if no HouseName given | |
Street | String | 255 | Optional | |
Region | String | 255 | Optional | |
City | String | 100 | Optional | |
Postcode | String | 6 | Mandatory | |
Phone Number | String | 16 | Optional | Please provide the phone number as one contiguous set of numbers with no other characters or spaces. |
NationalId | String | 30 | Optional |
After performing the search, the validation result (pass, fail, etc.) will be part of the TransactionInformation returned for the service call.
Request
Sample Request
"Data": {
"City": "Amsterdam",
"DayOfBirth": 14,
"Forename": "Noah",
"HouseNumber": "22",
"MonthOfBirth": 10,
"Postcode": "5811BC",
"Surname": "De Jong",
"Street": "Bankastraat",
"YearOfBirth": 1965
}
<QueryData>
<City>Amsterdam</City>
<DayOfBirth>14</DayOfBirth>
<Forename>Noah</Forename>
<HouseNumber>22</HouseNumber>
<MonthOfBirth>10</MonthOfBirth>
<Postcode>5811BC</Postcode>
<Surname>De Jong</Surname>
<Street>Bankastraat</Street>
<YearOfBirth>1965</YearOfBirth>
</QueryData>
Response
The following shows the basic schema for the <W2DataEkyc029Result>
object that is returned in the <ServiceResult>
Section of the <ProcessRequestResult>
object.
Sample Response
"w2DataEkycNL029Result": {
"dataSources": [{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddress",
"NumberOfMatches": 1,
"Source": "Credit"
}
],
"interpretResult": "Pass",
"Message": "The call was successful",
"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycNL029Result>
<DataSources>
<!-- An array of MatchingSource elements -->
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>
{ true | false }
</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>
{
NotAssigned | NameAndAddress | NameAndDateOfBirth |
NameAndAddressAndDateOfBirth | MortalityHighConfidence |
MortalityLowConfidence | SurnameAndPhoneNumberAtAddress
}
</MatchingCriteria>
<NumberOfMatches>
{ 0 - 99 }
<NumberOfMatches>
<Source>
{
8 = Credit
9 = Goverment
10 = Commercial
11 = Consumer
12 = Utility
13 = Proprietary
14 = Teleco
15 = Postal
}
<Source>
</MatchingSource>
</DataSources>
<InterpretResult>
{
NotPerformed | Pass | Fail | Refer | NoResults |
OneResult | MultipleResults | NotApplicable | NoInterpretPerformed
}
</InterpretResult>
<Message>
{ A message containing additional information about the call }
</Message>
<TransactionResult>
{
None | Success | SuccessNoResults | SuccessIncompleteResults |
MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
}
</TransactionResult>
</W2DataEkycNL029Result>
Below is some more information about the some of the elements of the response that require explanation:
DataSources = A collection showing every source of data that was used to formulate the result. Each source is represented by a <MatchingSource>
elment.
AllowMultipleRecordsAsSeparateDataSources = Indicates that two different record matches from the same data source may count as independent sources when formulating the 2 + 2 result. For example, two Insight results may count as two sources, rather than one, as they would do under normal service circumstances.
MatchingCriteria = Precisely what data has been matched by the data source. E.g. NameAndAddressAndDateOfBirth
NumberOfMatches = The number of matches found by this data source
Source = An integer representing the source of the data match. E.g. 8 = Credit
SourceId | Source Matched | Notes |
---|---|---|
8 | Credit | Established credit agencies in the country (Coverage: > 90%; Update Frequency: Daily) |
9 | Government | Electoral data, driver’s license or history (Coverage: > 90%; Update Frequency: Daily) |
10 | Commercial | Insurance Records, Business Directory, Tenancy Information (Coverage: > 50%; Update Frequency: Quarterly ) |
11 | Consumer | Public Records, Citizen Data sources, marketing and membership data (the AA etc) (Coverage: > 50%; Update Frequency: Quarterly ) |
12 | Utility | Data issued for a national utility provider which includes telephone, gas, electricity, or water. (Coverage: > 90%; Update Frequency: Annually) |
13 | Proprietary | |
14 | Teleco | Public Number Directory (Coverage: > 75%; Update Frequency: Annually) |
15 | Postal | |
InterpretResult = The overall verification result, based on what matches were found in the data source against the query data submitted. The possibilities are Pass, Fail or Refer
Message = Gives some more details / context on the verification result
TransactionResult = A diagnostic result showing whether or not any technical errors were experienced during the check. This should always be “Success” unless a technical error has occurred, in which case the verification check will be aborted.
Example Response:
Example Response
"w2DataEkycNL029Result": {
"dataSources": [{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddress",
"NumberOfMatches": 1,
"Source": "Credit"
},{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddressAndDateOfBirth",
"NumberOfMatches": 3,
"Source": "Goverment"
}
],
"interpretResult": "Pass",
"Message": "The call was successful",
"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycNL029Result>
<DataSources>
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>NameAndAddress</MatchingCriteria>
<NumberOfMatches>1<NumberOfMatches>
<Source>9<Source>
</MatchingSource>
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>NameAndAddressAndDateOfBirth</MatchingCriteria>
<NumberOfMatches>3<NumberOfMatches>
<Source>10<Source>
</MatchingSource>
</DataSources>
<InterpretResult>Pass</InterpretResult>
<Message />
<TransactionResult>Success</TransactionResult>
</W2DataEkycNL029Result>
Transaction Result
HaltTriggered | False |
ServiceTransactionResult | - Success - SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated - SuccessNoResults - No matches found - ServerErrorGeneralError - An error occurred - ServiceFailureError- Unable to contact third party service - ClientErrorInsufficientInformation- Required field not supplied or insufficient/invalid information |
ServiceInterpretResult | - OneResult - MultipleResults - Fail - NoResults - NoInterpretPerformed - NotPerformed -An error occurred and the search was not performed |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | - Pass - NotPerformed - No search occurred to match against - Fail - MissingMandatoryField or PatternNotMatched |
Sandbox
Example Request - W2 Data Ekyc NL 029
{
"Bundle": "KYC_NL_029",
"Data": {
"Forename": "Daan",
"Surname": "De Jong",
"HouseNumber": "1",
"Street": "Bankastraat",
"Postcode": "4811DC"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
Sandbox Example Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | Flat | House Name/Number | Street | Postcode | Result |
---|---|---|---|---|---|---|---|---|---|
Daan | De Jong | 20 | 10 | 1978 | 1 | Bankastraat | 4811DC | Pass | |
Milan | Janssen | 28 | 6 | 1994 | 24 | Paleisstraat | 2132MH | Fail | |
Levi | Visser | 21 | 3 | 1987 | 22 | Schoolstraat | 4812MC | Fail | |
Jan | Van Dijk | 19 | 2 | 1979 | 166 | Sportlaan | 2232MA | Inconclusive |
W2 Data Ekyc Global Multisource 043
W2 Data Ekyc Global MultiSource 043 is a global identity verification service that can be performed for 75 countries and matches on multiple datasources.
Product Code: W2-DATA-EKYC-GLOBAL_MULTISOURCE-043
Query Data
The following QueryData properties pertain to this service, please note that the fields MUST be in the same order as shown below.
Property Name | Type | Min Length | Max Length | Optional/Mandatory | Notes | Accepted Characters |
---|---|---|---|---|---|---|
City | String | 1 | 20 | Optional | All but not , |
|
Country | String | 3 | 3 | Mandatory* | * A 3 character ISO country code i.e. GBR, USA etc. See appendix for a full list of supported countries. | Only ISO Country Codes |
County | String | 1 | 20 | Optional* | * This is a mandatory field if the Country code is set to IRL. Please remove the “County” from the name (e.g to send “County Wexford”, just use “Wexford”) | All but not , |
DayOfBirth | Integer | 1 | 2 | Mandatory | Numbers only greater than 0 |
|
Forename | String | 1 | 15 | Mandatory | ||
Gender | String | 1 | 1 | Optional* | * Either M or F (This is case sensitive and needs to be uppercase) | |
HouseName/HouseNumber | String | 1 | 26 | Mandatory* | * Either house name or house number must be supplied may also include Flat number i.e. Flat 1, 4 | All but not , |
MiddleNames | String | 15 | Optional | |||
MonthOfBirth | Integer | 1 | 2 | Mandatory | Numbers only greater than 0 |
|
PersonalId | String | 4 | 9 | Optional* | * US only, if this has been configured as required but is omitted, then the only possible results will be Fail or Refer | |
Postcode | String | 3 | 8 | Mandatory* | * Optional if Country is set to IRL (Ireland) | All but not , |
Region | String | 2 | 2 | Optional* | * Mandatory if Country is set to USA. Requires a valid 2 character state code. (e.g NY) | |
Street | String | 1 | 40 | Mandatory* | * Optional if Country is set to GBR (United Kingdom) | All but not , |
Surname | String | 1 | 30 | Mandatory | ||
YearOfBirth | Integer | 1 | 4 | Mandatory | Numbers only greater than 0 |
After performing the search, the validation result (pass, fail, etc.) will be part of the <TransactionInformation>
returned for the service call.
Request
Ireland Example:
Ireland Example
<QueryData>
<Country>IRL</Country>
<County>Wexford</County>
<DayOfBirth>13</DayOfBirth>
<Forename>Teague</Forename>
<HouseNumber>8</HouseNumber>
<MonthOfBirth>1</MonthOfBirth>
<Street>Hospital Road</Street>
<Surname>Mullen</Surname>
<YearOfBirth>1949</YearOfBirth>
</QueryData>
"Data": {
"Country": "IRL",
"County": "Wexford",
"DayOfBirth": 13,
"Forename": "Teague",
"HouseNumber": "8",
"MonthOfBirth": 1,
"Street": "Hospital Road",
"Surname": "Mullen",
"YearOfBirth": 1949
}
United States Example:
United States Example
<QueryData>
<Country>USA</Country>
<DayOfBirth>28</DayOfBirth>
<Forename>Susan</Forename>
<HouseNumber>2071</HouseNumber>
<MonthOfBirth>9</MonthOfBirth>
<Postcode>34744</Postcode>
<Region>FL</Region>
<PersonalId>537430927</PersonalId>
<Street>McDonald Avenue</Street>
<Surname>Barker</Surname>
<YearOfBirth>1959</YearOfBirth>
</QueryData>
"Data": {
"Country": "USA",
"DayOfBirth": 28,
"Forename": "Susan",
"HouseNumber": "2071",
"MonthOfBirth": 9,
"Postcode": "34744",
"Region": "FL",
"PersonalId": "537430927",
"Street": "McDonald Avenue",
"Surname": "Barker",
"YearOfBirth": 1959
}
United Kingdom Example:
United Kingdom Example
<QueryData>
<Country>GBR</Country>
<DayOfBirth>25</DayOfBirth>
<Forename>Gabriel</Forename>
<HouseNumber>74</HouseNumber>
<MonthOfBirth>3</MonthOfBirth>
<Postcode>LE67 8WE</Postcode>
<Street>Golf Road</Street>
<Surname>Peacock</Surname>
<YearOfBirth>1987</YearOfBirth>
</QueryData>
"Data": {
"Country": "GBR",
"DayOfBirth": "25",
"Forename": "Gabriel",
"HouseNumber": "74",
"MonthOfBirth": "3",
"Postcode": "LE67 8WE",
"Street": "Golf Road",
"Surname": "Peacock",
"YearOfBirth": "1987"
}
Response
The following shows the basic schema for the <W2DataEkycMultiSource043Result>
object that is returned in the <ServiceResult>
Section of the <ProcessRequestResult>
object.
Example Response
<W2DataEkycGlobal043Result>
<DataSources>
<!-- An array of MatchingSource elements -->
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>
{ true | false }
</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>
{
NameAndPersonalId | NameAndAddress | NameAndDateOfBirth |
NameAndAddressAndDateOfBirth
}
</MatchingCriteria>
<NumberOfMatches>
{ 0 - 1 }
<NumberOfMatches>
<Source>
{
0 = NotAssigned
1 = ElectoralRoll
8 = Credit
9 = Government
11 = Consumer
12 = Utility
15 = Postal
}
<Source>
</MatchingSource>
</DataSources>
<InterpretResult>
{
NotPerformed | Pass | Fail | Refer | NoInterpretPerformed
}
</InterpretResult>
<Message>
{ A message containing additional information about the call }
</Message>
<TransactionResult>
{
None | Success | SuccessNoResults | SuccessIncompleteResults |
MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
}
</TransactionResult>
<RawResponse>
[
{
"DataSource": "DS",
"FirstNameMatch":"Full|Initial|NoMatch",
"SurnameMatch":"Full|Partial|NoMatch",
"DobMatch": "Full|Partial|NoMatch",
"AddressMatch": "Full|Partial|NoMatch",
"SsnMatch": "Full|Partial|NoMatch"
}
]
</RawResponse>
<SsnMatch>true|false</SsnMatch>
</W2DataEkycGlobal043Result>
"w2DataEkycGlobal043Result": {
"rawResponse": "[{\"DataSource\":\"TESTDB\",\"FirstNameMatch\":\"Full\",\"SurnameMatch\":\"Full\",\"DobMatch\":\"Full\",\"AddressMatch\":\"Full\",\"SsnMatch\":null},{\"DataSource\":\"TESTDB2\",\"FirstNameMatch\":\"Full\",\"SurnameMatch\":\"Full\",\"DobMatch\":\"Full\",\"AddressMatch\":\"Full\",\"SsnMatch\":null}]",
"ssnMatch": false,
"dataSources": [{
"allowMultipleRecordsAsSeparateDataSources": true,
"matchingCriteria": "NameAndAddressAndDateOfBirth",
"numberOfMatches": 1,
"source": 11
}, {
"allowMultipleRecordsAsSeparateDataSources": true,
"matchingCriteria": "NameAndAddressAndDateOfBirth",
"numberOfMatches": 1,
"source": 8
}
],
"interpretResult": "Pass",
"message": "Matching performed using 11,8 sources as per profile",
"transactionResult": "Success"
}
Below is some more information about the some of the elements of the response that require explanation:
Datasources = A collection showing every source of data that was used to formulate the result. Each source is represented by a <MatchingSource>
element.
AllowMultipleRecordsAsSeparateDataSources = Indicates that two different record matches from the same data source may count as independent sources when formulating the 2 + 2 result. For example, two Teleco results may count as two sources, rather than one, as they would do under normal service circumstances.
MatchingCriteria = Precisely what data has been matched by the data source. E.g. NameAndAddressAndDateOfBirth
NumberOfMatches = The number of matches found by this data source
Source = The source of the data match. E.g. Credit
Transaction Result
HaltTriggered | False |
ServiceTransactionResult | - Success - SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated - SuccessNoResults - No matches found - ServerErrorGeneralError - An error occurred - ServiceFailureError- Unable to contact third party service - ClientErrorInsufficientInformation - Required field not supplied or insufficient/invalid information - ClientErrorInformationFormatInvalid - Address fields cannot contain commas |
ServiceInterpretResult | - NotPerformed - An error occurred and the search was not performed - Pass - Fail - Inconclusive - NotApplicable - Validation has failed, please check ValidationResult for further details. |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | - Pass - NotPerformed - No search occurred to match against - Fail - MissingMandatoryField or PatternNotMatched |
Sandbox
Sandbox mode can be used to test the service. By setting the following query option and sending some the below query data we will return a pre-configured response without actually calling our suppliers.
Example Request - W2 Data Ekyc Global Multisource 043
{
"Bundle": "W2_DATA_EKYC_GLOBAL_MULTISOURCE_043",
"Data": {
"Forename": "Michael",
"Surname": "Tschank",
"HouseNumber": "51",
"Street": "Nobilegasse",
"City":"Wien",
"Postcode": "1150"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
To see the details of the service response of each sandbox case, simply click on it in the table below:
Sandbox Example Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | PersonalId (SSN) | Flat | House Name/Number | Street | County | Postcode | Region | Country |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Aaron | Russell | 9 | 4 | 2000 | 055221235 | 2785 | Wayback Lane | 11530 | NY | USA | ||
Amantzi | Acevedo | 12 | 7 | 1979 | 53 | Rua do Paseo | 41907 | |||||
Bernadette | McLennan | 22 | 12 | 1972 | 78 | Moira Road | Cork | IRL | ||||
Bryan | Roy | 17 | 7 | 1948 | 521905310 | 293 | Clearview Drive | 80030 | CO | USA | ||
Delmo | Padovano | 13 | 7 | 1957 | 140 | Via Giulio Camuzzoni | 89040 | |||||
Eva | Poulsen | 2 | 12 | 1990 | 8 | Budapester Strasse | 24515 | |||||
Faith | Long | 7 | 9 | 1982 | 508824444 | 795 | Rollins Road | 69131 | NE | USA | ||
Gabriel | Peacock | 25 | 3 | 1987 | 74 | Golf Road | LE67 8WE | |||||
Isabelle | Warner | 3 | 10 | 1988 | 87 | Jubilee Drive | NR29 3UY | |||||
Leonard | Galvan | 28 | 9 | 1939 | 538451234 | 1295 | Conifer Drive | 98109 | WA | USA | ||
Logan | Jordan | 6 | 9 | 1958 | 25 | Thompsons Lane | YO42 3DT | |||||
Milla | Ingham | 30 | 12 | 1955 | 48 | Wigley Street | 5043 | |||||
Naomi | Dennis | 3 | 8 | 2000 | 629865555 | 3350 | Baker Avenue | 76011 | TX | USA | ||
Nuala | Keogh | 22 | 11 | 1980 | 16 | Woodbrook Heights | Sligo | IRL | ||||
Ralph | Kaestner | 22 | 12 | 1948 | 67 | Gruenauer Strasse | 21272 | |||||
Sabine | Dupuis | 6 | 8 | 1983 | 88 | rue Victor Hugo | 60200 | |||||
Selma | Hill | 4 | 2 | 1953 | 375609845 | 2297 | Cross Street | 48723 | MI | USA | ||
Shanna | Wright | 19 | 2 | 1994 | 604149876 | 1692 | Freed Drive | 95340 | CA | USA | ||
Susan | Barker | 28 | 9 | 1959 | 537430927 | 2071 | McDonald Avenue | 34744 | FL | USA | ||
Teague | Mullen | 13 | 1 | 1949 | 8 | Hospital Road | Wexford | IRL | ||||
Timothy | McGrath | 6 | 9 | 1991 | 355528765 | 4637 | Virginia Street | 60605 | IL | USA |
Country Data
The following table shows the countries supported by the W2 Global Ekyc Global Multisource 043 service.
ISO Code | Country |
---|---|
ALB | Albania |
ARE | United Arab Emirates |
ARG | Argentina |
ARM | Armenia |
AUS | Australia |
AZE | Azerbaijan |
BEL | Belgium |
BEN | Benin |
BGR | Bulgaria |
BIH | Bosnia And Herzegovina |
BLR | Belarus |
BMU | Bermuda |
BRN | Brunei Darussalam |
CAN | Canada |
CHE | Switzerland |
CHL | Chile |
CHN | China |
CIV | Côte D`ivoire/Ivory Coast |
CMR | Cameroon |
CYM | Cayman Islands |
CZE | Czech Republic |
DEU | Germany |
DNK | Denmark |
EGY | Egypt |
ESP | Spain |
EST | Estonia |
FIN | Finland |
FRA | France |
GBR | United Kingdom |
GEO | Georgia |
GIB | Gibraltar |
GRC | Greece |
HKG | Hong Kong |
HRV | Croatia |
HUN | Hungary |
IDN | Indonesia |
IND | India |
IRL | Ireland |
IRN | Iran, Islamic Republic Of |
ISL | Iceland |
ISR | Israel |
ITA | Italy |
KAZ | Kazakstan |
KGZ | Kyrgyzstan |
LIE | Liechtenstein |
LTU | Lithuania |
LUX | Luxembourg |
LVA | Latvia |
MAR | Morocco |
MCO | Monaco |
MDA | Moldova, Republic Of |
MEX | Mexico |
MYS | Malaysia |
NLD | Netherlands |
NOR | Norway |
NZL | New Zealand |
OMN | Oman |
PAK | Pakistan |
POL | Poland |
PRI | Puerto Rico |
PRT | Portugal |
PSE | Palestine |
QAT | Qatar |
ROU | Romania |
RUS | Russian Federation |
SGP | Singapore |
SVK | Slovakia |
SWE | Sweden |
TJK | Tajikistan |
TKM | Turkmenistan |
TUR | Turkey |
UKR | Ukraine |
USA | United States |
UZB | Uzbekistan |
VEN | Venezuela |
ZAF | South Africa |
W2 Data Ekyc Singlesource 043
W2 Data Ekyc Global SingleSource 043 is a global identity verification service that can be performed for 169 countries and matches on a single datasource. Contents
Product Code: W2-DATA-EKYC-GLOBAL_SINGLESOURCE-043
Query Data
The following QueryData properties pertain to this service, please note that the fields MUST be in the same order as shown below.
Property Name | Type | Min Length | Max Length | Optional/Mandatory | Notes | Accepted Characters |
---|---|---|---|---|---|---|
City | String | 1 | 20 | Optional | All but not , |
|
Country | String | 3 | 3 | Mandatory* | * A 3 character ISO country code i.e. GBR, USA etc. See appendix for a full list of supported countries. | Only ISO Country Codes |
County | String | 1 | 20 | Optional* | * This is a mandatory field if the Country code is set to IRL. Please remove the “County” from the name (e.g to send “County Wexford”, just use “Wexford”) | All but not , |
DayOfBirth | Integer | 1 | 2 | Mandatory | Numbers only greater than 0 |
|
Forename | String | 1 | 15 | Mandatory | ||
Gender | String | 1 | 1 | Optional* | * Either M or F (This is case sensitive and needs to be uppercase) | |
HouseName/HouseNumber | String | 1 | 26 | Mandatory* | * Either house name or house number must be supplied may also include Flat number i.e. Flat 1, 4 | All but not , |
MiddleNames | String | 15 | Optional | |||
MonthOfBirth | Integer | 1 | 2 | Mandatory | Numbers only greater than 0 |
|
PersonalId | String | 4 | 9 | Optional* | * US only, if this has been configured as required but is omitted, then the only possible results will be Fail or Refer | |
Postcode | String | 3 | 8 | Mandatory* | * Optional if Country is set to IRL (Ireland) | All but not , |
Region | String | 2 | 2 | Optional* | * Mandatory if Country is set to USA. Requires a valid 2 character state code. (e.g NY) | |
Street | String | 1 | 40 | Mandatory* | * Optional if Country is set to GBR (United Kingdom) | All but not , |
Surname | String | 1 | 30 | Mandatory | ||
YearOfBirth | Integer | 1 | 4 | Mandatory | Numbers only greater than 0 |
After performing the search, the validation result (pass, fail, etc.) will be part of the <TransactionInformation>
returned for the service call.
Request
Ireland Example:
Ireland Example
<QueryData>
<Country>IRL</Country>
<County>Wexford</County>
<DayOfBirth>13</DayOfBirth>
<Forename>Teague</Forename>
<HouseNumber>8</HouseNumber>
<MonthOfBirth>1</MonthOfBirth>
<Street>Hospital Road</Street>
<Surname>Mullen</Surname>
<YearOfBirth>1949</YearOfBirth>
</QueryData>
"Data": {
"Country": "IRL",
"County": "Wexford",
"DayOfBirth": 13,
"Forename": "Teague",
"HouseNumber": "8",
"MonthOfBirth": 1,
"Street": "Hospital Road",
"Surname": "Mullen",
"YearOfBirth": 1949
}
United States Example:
United States Example
<QueryData>
<Country>USA</Country>
<DayOfBirth>28</DayOfBirth>
<Forename>Susan</Forename>
<HouseNumber>2071</HouseNumber>
<MonthOfBirth>9</MonthOfBirth>
<Postcode>34744</Postcode>
<Region>FL</Region>
<PersonalId>537430927</PersonalId>
<Street>McDonald Avenue</Street>
<Surname>Barker</Surname>
<YearOfBirth>1959</YearOfBirth>
</QueryData>
"Data": {
"Country": "USA",
"DayOfBirth": 28,
"Forename": "Susan",
"HouseNumber": "2071",
"MonthOfBirth": 9,
"Postcode": "34744",
"Region": "FL",
"PersonalId": "537430927",
"Street": "McDonald Avenue",
"Surname": "Barker",
"YearOfBirth": 1959
}
United Kingdom Example:
United Kingdom Example
<QueryData>
<Country>GBR</Country>
<DayOfBirth>25</DayOfBirth>
<Forename>Gabriel</Forename>
<HouseNumber>74</HouseNumber>
<MonthOfBirth>3</MonthOfBirth>
<Postcode>LE67 8WE</Postcode>
<Street>Golf Road</Street>
<Surname>Peacock</Surname>
<YearOfBirth>1987</YearOfBirth>
</QueryData>
"Data": {
"Country": "GBR",
"DayOfBirth": 25,
"Forename": "Gabriel",
"HouseNumber": "74",
"MonthOfBirth": 3,
"Postcode": "LE67 8WE",
"Street": "Golf Road",
"Surname": "Peacock",
"YearOfBirth": 1987
}
Response
The following shows the basic schema for the <W2DataEkycSingleSource043Result>
object that is returned in the <ServiceResult>
Section of the <ProcessRequestResult>
object.
Example Response
<W2DataEkycGlobal043Result>
<DataSources>
<!-- An array of MatchingSource elements -->
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>
{ true | false }
</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>
{
NameAndPersonalId | NameAndAddress | NameAndDateOfBirth |
NameAndAddressAndDateOfBirth
}
</MatchingCriteria>
<NumberOfMatches>
{ 0 - 1 }
<NumberOfMatches>
<Source>
{
0 = NotAssigned
1 = ElectoralRoll
8 = Credit
9 = Government
11 = Consumer
12 = Utility
15 = Postal
}
<Source>
</MatchingSource>
</DataSources>
<InterpretResult>
{
NotPerformed | Pass | Fail | Refer | NoInterpretPerformed
}
</InterpretResult>
<Message>
{ A message containing additional information about the call }
</Message>
<TransactionResult>
{
None | Success | SuccessNoResults | SuccessIncompleteResults |
MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
}
</TransactionResult>
<RawResponse>
[
{
"DataSource": "DS",
"FirstNameMatch":"Full|Initial|NoMatch",
"SurnameMatch":"Full|Partial|NoMatch",
"DobMatch": "Full|Partial|NoMatch",
"AddressMatch": "Full|Partial|NoMatch",
"SsnMatch": "Full|Partial|NoMatch"
}
]
</RawResponse>
<SsnMatch>true|false</SsnMatch>
</W2DataEkycGlobal043Result>
"w2DataEkycGlobal043Result": {
"rawResponse": "{\"DataSource\":\"TESTDB\",\"FirstNameMatch\":\"Full\",\"SurnameMatch\":\"Full\",\"DobMatch\":\"Full\",\"AddressMatch\":\"Full\",\"SsnMatch\":null}",
"ssnMatch": false,
"dataSources": [{
"allowMultipleRecordsAsSeparateDataSources": true,
"matchingCriteria": "NameAndAddressAndDateOfBirth",
"numberOfMatches": 1,
"source": 11
}
],
"interpretResult": "Pass",
"message": "Matching performed using 11 sources as per profile",
"transactionResult": "Success"
}
Below is some more information about the some of the elements of the response that require explanation:
Datasources = There will only ever be zero or 1 matching source
AllowMultipleRecordsAsSeparateDataSources = Indicates that two different record matches from the same data source may count as independent sources when formulating the 2 + 2 result. For example, two Teleco results may count as two sources, rather than one, as they would do under normal service circumstances.
MatchingCriteria = Precisely what data has been matched by the data source. E.g. NameAndAddressAndDateOfBirth
NumberOfMatches = Will only ever be zero or 1.
Source = The source of the data match. E.g. Teleco
Transaction Result
HaltTriggered | False |
ServiceTransactionResult | - Success - SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated -SuccessNoResults - No matches found - ServerErrorGeneralError - An error occurred - ServiceFailureError- Unable to contact third party service - ClientErrorInsufficientInformation - Required field not supplied or insufficient/invalid information- ClientErrorInformationFormatInvalid - Address fields cannot contain commas |
ServiceInterpretResult | - NotPerformed - An error occurred and the search was not performed - Pass - Fail - Inconclusive - NotApplicable - Validation has failed, please check ValidationResult for further details. |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | - Pass - NotPerformed - No search occurred to match against - Fail - MissingMandatoryField or PatternNotMatched |
Sandbox
Sandbox mode can be used to test the service. By setting the following query option and sending some the below query data we will return a pre-configured response without actually calling our suppliers.
Example Request - W2 Data Ekyc Global Singlesource 043
{
"Bundle": "W2_DATA_EKYC_GLOBAL_SINGLESOURCE_043",
"Data": {
"Forename": "Michael",
"Surname": "Tschank",
"HouseNumber": "51",
"Street": "Nobilegasse",
"City":"Wien",
"Postcode": "1150"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
To see the details of the service response of each sandbox case, simply click on it in the table below:
Sandbox Example Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | PersonalId (SSN) | Flat | House Name/Number | Street | County | Postcode | Region | Country |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Amantzi | Acevedo | 12 | 7 | 1979 | 53 | Rua do Paseo | 41907 | |||||
Bernadette | McLennan | 22 | 12 | 1972 | 78 | Moira Road | Cork | IRL | ||||
Bryan | Roy | 17 | 7 | 1948 | 521905310 | 293 | Clearview Drive | 80030 | CO | USA | ||
Faith | Long | 7 | 9 | 1982 | 508824444 | 795 | Rollins Road | 69131 | NE | USA | ||
Gabriel | Peacock | 25 | 3 | 1987 | 74 | Golf Road | LE67 8WE | |||||
Isabelle | Warner | 3 | 10 | 1988 | 87 | Jubilee Drive | NR29 3UY | |||||
Milla | Ingham | 30 | 12 | 1955 | 48 | Wigley Street | 5043 | |||||
Nuala | Keogh | 22 | 11 | 1980 | 16 | Woodbrook Heights | Sligo | IRL | ||||
Ralph | Kaestner | 22 | 12 | 1948 | 67 | Gruenauer Strasse | 21272 | |||||
Sabine | Dupuis | 6 | 8 | 1983 | 88 | rue Victor Hugo | 60200 | |||||
Susan | Barker | 28 | 9 | 1959 | 537430927 | 2071 | McDonald Avenue | 34744 | FL | USA | ||
Teague | Mullen | 13 | 1 | 1949 | 8 | Hospital Road | Wexford | IRL |
Country Data
The following table shows the countries supported by the W2 Global Ekyc Global Singlesource 043 service.
ISO Code | Country |
---|---|
ALB | Albania |
ARE | United Arab Emirates |
ARG | Argentina |
ARM | Armenia |
AUS | Australia |
AZE | Azerbaijan |
BEL | Belgium |
BEN | Benin |
BGR | Bulgaria |
BIH | Bosnia And Herzegovina |
BLR | Belarus |
BMU | Bermuda |
BRN | Brunei Darussalam |
CAN | Canada |
CHE | Switzerland |
CHL | Chile |
CHN | China |
CIV | Côte D`ivoire/Ivory Coast |
CMR | Cameroon |
CYM | Cayman Islands |
CZE | Czech Republic |
DEU | Germany |
DNK | Denmark |
EGY | Egypt |
ESP | Spain |
EST | Estonia |
FIN | Finland |
FRA | France |
GBR | United Kingdom |
GEO | Georgia |
GIB | Gibraltar |
GRC | Greece |
HKG | Hong Kong |
HRV | Croatia |
HUN | Hungary |
IDN | Indonesia |
IND | India |
IRL | Ireland |
IRN | Iran, Islamic Republic Of |
ISL | Iceland |
ISR | Israel |
ITA | Italy |
KAZ | Kazakstan |
KGZ | Kyrgyzstan |
LIE | Liechtenstein |
LTU | Lithuania |
LUX | Luxembourg |
LVA | Latvia |
MAR | Morocco |
MCO | Monaco |
MDA | Moldova, Republic Of |
MEX | Mexico |
MYS | Malaysia |
NLD | Netherlands |
NOR | Norway |
NZL | New Zealand |
OMN | Oman |
PAK | Pakistan |
POL | Poland |
PRI | Puerto Rico |
PRT | Portugal |
PSE | Palestine |
QAT | Qatar |
ROU | Romania |
RUS | Russian Federation |
SGP | Singapore |
SVK | Slovakia |
SWE | Sweden |
TJK | Tajikistan |
TKM | Turkmenistan |
TUR | Turkey |
UKR | Ukraine |
USA | United States |
UZB | Uzbekistan |
VEN | Venezuela |
ZAF | South Africa |
W2 Data Address Lookup 024
W2DataAddressLookup024Service is an address verification service. It provides a fully-formed address where partial details are provided. If there are multiple possible matches, it provides the list of them, up to a limit of 100.
Product Code: W2-DATA-ADDRESS_LOOK_UP-024
Properties
The following properties pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
HouseName | String | 26 | Optional | |
HouseNumber | String | 26 | Optional | |
Postcode | String | 8 | Mandatory | |
Street | String | 40 | Optional | |
City | String | 20 | Optional | |
Country | String | 3 | Optional | If set, must be a valid three-letter ISO country code as described here. If not set, the search will be within the United Kingdom (GBR) |
Notes
Usually this service is part of a larger bundle and appears toward the start of the workflow.
Each address match will have an AddressId element. You can use this address code to call the service again and retrieve that specific address only at no cost. To do this add a QueryOptions property with key AddressLookupRef and with the address code as the value.
If this QueryOptions parameter is provided the above QueryData will be ignored.
Response
Example Response
<W2DataAddressLookUp024Result>
<!-- One or more of these -->
<Results>
<W2DataAddressLookUp024Response>
<AddressLookupRef>TEST0004494</AddressLookupRef>
<Country>GBR/>
<HouseName />
<HouseNumber />
<SubBuildingName>Flat 12</SubBuildingName>
<DepartmentName/>
<DependentLocality/>
<DependentThroughfare/>
<DoubleDependentLocality/>
<OrganisationName/>
<PoBox/>
<Postcode>IV448TZ</Postcode>
<PostTown>TRAINING TOWN</PostTown>
<Thoroughfare>Heathfield House</Thoroughfare>
<AddressLine1>Flat 12 Heathfield House</AddressLine1>
<AddressLine2>TRAINING TOWN IV448TZ</AddressLine2>
<AddressLine3>United Kingdom</AddressLine3>
<AddressSummary>Flat 12, Heathfield House, TRAINING TOWN, IV448TZ, United kingdom</AddressSummary>
</W2DataAddressLookUp024Response>
</Results>
</W2DataAddressLookUp024Result>
"w2DataAddressLookUp024Result": {
"results": [{
"addressLookupRef": "W2AR0001-0001-0001-0003",
"addressSummary": "42 Some Street, Some Town, HU12 9FL",
"buildingNumber": "42",
"postTown": "Some Town",
"postcode": "HU12 9FL",
"thoroughfare": "Some Street"
}
]
}
Transaction Result
HaltTriggered | False |
ServiceTransactionResult | - Success - ClientErrorInsufficientInformation- Required field not supplied |
ServiceInterpretResult | - OneResult - MultipleResults - NoResults - NotPerformed - An error occurred and the search was not performed |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | - NotApplicable - No search occurred to match against- Fail- MissingMandatoryField or PatternNotMatched |
Sandbox
Example Request - W2 Data Address Lookup 024
{
"Bundle": "KYC_ADDRESS_LOOKUP_024",
"Data": {
"Forename": "Michael",
"Surname": "Tschank",
"HouseNumber": "51",
"Street": "Nobilegasse",
"City":"Wien",
"Postcode": "1150"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
HaltTriggered | False |
ServiceTransactionResult | Success |
ServiceInterpretResult | NoResults |
ServiceTransactionResultMessage | “This call was generated using sandbox mode” |
ValidationResult | NotApplicable |
HaltTriggered | False |
ServiceTransactionResult | Success |
ServiceInterpretResult | MultipleResults |
ServiceTransactionResultMessage | “This call was generated using sandbox mode” |
ValidationResult | NotApplicable |
HaltTriggered | False |
ServiceTransactionResult | Success |
ServiceInterpretResult | OneResult |
ServiceTransactionResultMessage | “This call was generated using sandbox mode” |
ValidationResult | NotApplicable |
HaltTriggered | False |
ServiceTransactionResult | Success |
ServiceInterpretResult | MultipleResults |
ServiceTransactionResultMessage | “This call was generated using sandbox mode” |
ValidationResult | NotApplicable |
HaltTriggered | False |
ServiceTransactionResult | Success |
ServiceInterpretResult | OneResult |
ServiceTransactionResultMessage | “This call was generated using sandbox mode” |
ValidationResult | NotApplicable |
HaltTriggered | False |
ServiceTransactionResult | Success |
ServiceInterpretResult | OneResult |
ServiceTransactionResultMessage | “This call was generated using sandbox mode” |
ValidationResult | NotApplicable |
W2 Data Email Validate 010
W2DataEmailValidate010Service provides a range of fraud intelligence services using the email address as a key data point to generate a customization risk score. User can search data by email address or by a combination of email and IP address.
Product Code: W2-DATA-EMAIL_VALIDATE-010
Properties
The following properties pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
String | 300 | Mandatory | ||
IP | String | 40 | Optional | IPv4 |
Response
Example Response - W2DataEmailValidate010Service
<QueryEmailAndIPResponse>
<Company/>
<Country>US</Country>
<Dob>01/01/1980</Dob>
<DomainAge>1997-06-18T07:00:00Z</DomainAge>
<DomainCategory/>
<DomainCompany/>
<DomainCorporate/>
<DomainCountryMatch i:nil="true"/>
<DomainCountryName>United+States</DomainCountryName>
<DomainExists>Yes</DomainExists>
<DomainName>test.com</DomainName>
<DomainRelevantInfo>Valid Domain from United States</DomainRelevantInfo>
<DomainRelevantInfoID>508</DomainRelevantInfoID>
<DomainRiskCountry i:nil="true"/>
<DomainRiskLevel>Moderate</DomainRiskLevel>
<DomainRiskLevelID>3</DomainRiskLevelID>
<EAAdvice>Fraud Review</EAAdvice>
<EAAdviceID>1</EAAdviceID>
<EAReason>Fraud Level 3</EAReason>
<EAReasonID>1</EAReasonID>
<EARiskBand>Fraud Score 900 to 999</EARiskBand>
<EARiskBandID>6</EARiskBandID>
<EAScore>973</EAScore>
<EAStatusID>2</EAStatusID>
<EName>UNKNOWN+P</EName>
<Email>[email protected]</Email>
<EmailAge/>
<EmailExists>Yes</EmailExists>
<Fraud_type>Card Not Present Fraud</Fraud_type>
<Gender/>
<IpAddress>100.100.100.100</IpAddress>
<IpDomain/>
<IpTimezone/>
<Ip_Anonymousdetected/>
<Ip_CallingcCode i:nil="true"/>
<Ip_City/>
<Ip_CityConf/>
<Ip_ContinentCode/>
<Ip_CorporateProxy/>
<Ip_Country/>
<Ip_CountryCode/>
<Ip_Countryconf/>
<Ip_Isp/>
<Ip_MetroCode/>
<Ip_NetSpeedCell/>
<Ip_Org/>
<Ip_PostalCode/>
<Ip_PostalConf/>
<Ip_Region/>
<Ip_RegionConf/>
<Ip_Reputation>Good</Ip_Reputation>
<Ip_RiskLevel>Moderate</Ip_RiskLevel>
<Ip_RiskLevelId>3</Ip_RiskLevelId>
<Ip_RiskReason>Moderate Risk</Ip_RiskReason>
<Ip_RiskReasonId>301</Ip_RiskReasonId>
<Ip_RisksCore/>
<Ip_UserType/>
<Location>North+Pole,+Canada</Location>
<Title/>
</QueryEmailAndIPResponse>
"w2DataEmailValidate010EmailAndIpResult": {
"company": "dave+Corp",
"country": "US",
"dob": "",
"domainAge": "2012-05-01T07:00:00Z",
"domainCategory": "Fraud+Mitigation+Services",
"domainCompany": "dave+Corp",
"domainCorporate": "Yes",
"domainCountryName": "United+States",
"domainExists": "Yes",
"domainName": "dave.com",
"domainRelevantInfo": "Low Risk Domain",
"domainRelevantInfoID": "510",
"domainRiskLevel": "Low",
"domainRiskLevelID": "4",
"eaAdvice": "Lower Fraud Risk",
"eaAdviceID": "3",
"eaReason": "Email Created at least 2.4 Years Ago",
"eaReasonID": 14,
"eaRiskBand": "Fraud Score 101 to 300",
"eaRiskBandID": "2",
"eaScore": "181",
"eaStatusID": "4",
"eName": "",
"email": "[email protected]",
"emailAge": "",
"emailExists": "Not Sure",
"fraud_type": "",
"gender": "",
"location": "",
"title": ""
}
The table below contains explanations for the fields returned in the response:
Field | Type | Explanation |
---|---|---|
Company | String | The name of the company in which the email belongs |
Country | String | Domain Country Code |
Dob | String | The date of birth for the person who owns the email address. |
DomainAge | datetime | The creation date of the domain. This field may be blank for some queries. Returned in UTC format |
DomainCategory | String | The category type for the company in which the email belongs. |
DomainCompany | String | The domain of the company in which the email belongs. |
DomainCorporate | String | Possible values: Yes No Null |
DomainCountryMatch | String | FUTURE ENHANCEMENT – The logic for this field will be implemented at a later date This field can be either Yes, No, or blank. Value indicates whether the country of the Email matched the billing address country. A mismatch indicates a higher risk of fraud. If no country input was provided, this field will be left blank Pre-defined Input Parameters required to return a value: - billcountry This field can be either Yes, No, or blank. Value indicates whether the country of the Email matched the billing address country. A mismatch indicates a higher risk of fraud. If no country input was provided, this field will be left blank Pre-defined Input Parameters required to return a value: - billcountry |
DomainCountryName | String | The country of the company in which the email belongs. |
DomainExists | String | Verification of whether the email domain exists. Values are: Yes No Not Anymore Not Sure |
DomainName | String | The email address domain name. |
DomainRelevantInfo | Int | The relevant info description. See domainrelevantinfoID |
DomainRelevantInfoID | Int | 501 - NoKnownRisk 502 - RiskCountry 503 - HighRiskCategory 504 - HighRiskDomain 505 - RecentlyCreated 506 - InvalidDomain 507 - LowRiskCategory 508 - ValidDomainFromCountry 509 - ValidDomain 510 - LowRiskDomain 511 - ReviewRiskCategory 521 - LowRiskEmailDomainforCompany 522 - LowRiskEmailDomainforIndustry 523 - LowRiskEmailDomainforNetwork 524 - VeryLowRiskEmailDomainforCompany 525 - VeryLowRiskEmailDomainforIndustry 526 - VeryLowRiskEmailDomainforNetwork 527 - HighRiskEmailDomainforCompany 528 - HighRiskEmailDomainforIndustry 529 - HighRiskEmailDomainforNetwork 530 - VeryHighRiskEmailDomainforCompany 531 - VeryHighRiskEmailDomainforIndustry 532 - VeryHighRiskEmailDomainforNetwork |
DomainRiskCountry | String | FUTURE ENHANCEMENT – The logic for this field will be implemented at a later date This field can be either Yes or No. The field will be set to “Yes”if the country associated with the email’s domain is associated with a high risk of fraud; otherwise, it will be set to “No”Pre-defined Input Parameters required to return a value: - billcountry |
DomainRiskLevel | String | The risk level description. See domainrisklevelID above. |
DomainRiskLevelID | Int | Possible values: 1 - VeryHigh 2 - High 3 - Moderate 4 - Low 5 - VeryLow 6 - Review |
EAAdvice | String | Serves as a guideline based on the risk associated with the email address. |
EAAdviceID | String | Serves as a guideline based on the risk associated with the email address.1 - Fraud Review 2 - Unclear Risk 3 - Lower Fraud Risk 4 - Moderate Fraud Risk 11 - Data Entry Review 1001 - Custom Fraud Score Define |
EAReason | String | Provides relevant information to understand the Fraud Score. See above for all possible values. |
EAReasonID | String | Possible values are: 1 - Fraud Level X 2 - Email does not exist 3 - Domain does not exist 4 - Risky Domain 5 - Risky Country 6 - Risky Email Name 7 - Numeric Email 8 - Limited History for Email 9 - Email Recently Created 10 - Email linked to High Risk Account 11 - Good Level X 12 - Low Risk Domain 13 - Email Created X Years Ago 14 - Email Created at least X Years Ago 15 - Email Linked to Low Risk Account 16 - InvalidEmailSyntax 17 - Mailbox is Full 18 - Mailbox is Inactive 19 - Corporate Link 20 - Mailbox is Expired 21 - User Defined Risk Domain 22 - User Defined Low Risk Domain 23 - Velocity Level X 24 - Risk Domain Category 25 - Low Risk Domain Category 26 - High Risk Email Account 27 - Email Created at least X Months Ago 28 - Valid Email From X Country Domain 29 - Valid Domain From X Country 30 - Potentially Breached Email 31 - Fraud Emails Linked X 32 - Good Email Linked Level X 33 - Fraud IP Level X 34 - Good IP Level X 35 - Risky Proxy IP 36 - Risk IP Behavior 37 - Risky IP Country 38 - IP Not Found 39 - IP Invalid Syntax Format 40 - High Risk IP 51 - Good Popularity 52 - Risk Domain Category Review 53 - Tumbling Abuse 54 - Email Enumeration for Company 55 - Email Enumeration for Industry 61 - Customer Email not Provided 62 - Risk Email Pattern 63 - Suspected Fraud 101 - Low Risk Email Domain for Company 102 - Low Risk IP for Company 103 - Low Risk IP Geolocation for Company 104 - Low Risk Email Domain for Industry 105 - Low Risk IP for Industry 106 - Low Risk IP Geolocation for Industry 107 - Low Risk Email Domain for Network 108 - Low Risk IP for Network 109 - Low Risk IP Geolocation for Network 110 - Very Low Risk Email Domain for Company 111 - Very Low Risk IP for Company 112 - Very Low Risk IP Geolocation for Company 113 - Very Low Risk Email Domain for Industry 114 - Very Low Risk IP for Industry 115 - Very Low Risk IP Geolocation for Industry 116 - Very Low Risk Email Domain for Network 117 - Very Low Risk IP for Network 118 - Very Low Risk IP Geolocation for Network 121 - High Risk Email Domain for Company 122 - High Risk IP for Company 123 - High Risk IP Geolocation for Company 124 - High Risk Email Domain for Industry 125 - High Risk IP for Industry 126 - High Risk IP Geolocation for Industry 127 - High Risk Email Domain for Network 128 - High Risk IP for Network 129 - High Risk IP Geolocation for Network 130 - Very High Risk Email Domain for Company 131 - Very High Risk IP for Company 132 - Very High Risk IP Geolocation for Company 133 - Very High Risk Email Domain for Industry 134 - Very High Risk IP for Industry 135 - Very High Risk IP Geolocation for Industry 136 - Very High Risk Email Domain for Network 137 - Very High Risk IP for Network 138 - Very High Risk IP Geolocation for Network |
EARiskBand | String | You can create customised risk levels for your business. You can also view specific elements or attributes associated with an email and customise results. Emailage provides 6 preloaded and recommended ‘Risk Band’ score ranges. Admins can update these ranges or add up to 20 new ranges |
EARiskBandID | Int | You can create customised risk levels for your business. You can also view specific elements or attributes associated with an email and customise results. Emailage provides 6 preloaded and recommended ‘Risk Band’ score ranges. Admins can update these ranges or add up to 20 new ranges |
EAScore | String | Proprietary algorithm that calculates the fraud risk associated with an email address. |
EAStatusID | String | The possible values of EAStatusID: 0 - GeneralError 1 - Certified 2 - Verified 3 - EmailNonxistent 4 - ValidDomain 5 - DomainInexistent |
EName | String | The name of the person who owns the email address |
String | Email address provided for the query | |
EmailAge | datetime | The creation date of the email. This field may be blank for some queries. Returned in UTC format |
EmailExists | String | Verification of whether the email address exists. Values are: Yes No Not Anymore Not Sure |
Fraud_type | String | This field provides the type of fraud marked for the queried value. If multiple companies within our system marked the queried value as fraud, we provide the fraud type of the latest company that made the marking. Please note: this field will ONLY be returned for queries that were marked as fraud in our system. Possible values are: -Card Not Present Fraud -Customer Dispute (Chargeback) -First Party Fraud -First Payment Default -Identify Theft (Fraud Application) -Identify Theft (Account Take Over) -Suspected Fraud (Not Confirmed) -Synthetic ID -Other |
Gender | String | The gender of the person who owns the email address |
IpAddress | String | IP address provided for the query |
IpDomain | String | The second level domain associated with the IP address. This will be something like “example.com” or “example.co.uk”, not “foo.example.com” |
IpTimezone | String | The time zone associated with the IP address. Time zone names are taken from the IANA time zone database |
Ip_Anonymousdetected | String | Indicates whether the user’s IP address is an anonymous proxy. The values for this field are: Yes No |
Ip_CallingcCode | String | The calling code (area code) for the IP. |
Ip_City | String | For US, the city where the IP is located (e.g. San Francisco) |
Ip_CityConf | String | |
Ip_ContinentCode | String | The continent associated with the IP, e.g. North America |
Ip_CorporateProxy | String | Indicates whether the user’s IP address is a known corporate proxy. This field can be either Yes or No. |
Ip_Country | String | The name of the country associated with the IP. |
Ip_CountryCode | String | A two-character ISO 3166-1 country code for the country associated with the IP address. In addition to the standard codes, we may also return one of the following: A1 - an anonymous proxy. A2 - a satellite provider. EU - an IP in a block used by multiple European countries. AP - an IP in a block used by multiple Asia/Pacific region countries. The US country code is returned for IP addresses associated with overseas US military bases. |
Ip_Countryconf | String | |
Ip_Isp | String | The name of the service provider for the IP (e.g. Optimum Online). |
Ip_MetroCode | String | The metro code associated with the IP address. These are only available for IP addresses in the US. |
Ip_NetSpeedCell | String | The network speed associated with the IP address. This can be one of the following values: Dialup Cable/DSL Corporate Cellular |
Ip_Org | String | The organization associated with the IP (e.g. HSA-UWC). |
Ip_PostalCode | String | |
Ip_PostalConf | String | |
Ip_Region | String | For US, the state where the IP is located (e.g. California). |
Ip_RegionConf | String | |
Ip_Reputation | String | The reputation of the proxy, indicates the likelihood that the user’s IP address is an open proxy. The values for this field are: Good Moderate High Risk Very High Risk |
Ip_RiskLevel | String | See Ip_RiskLevelId |
Ip_RiskLevelId | String | Provides the fraud risk for the IP Address, the values for this field are: 1 - Very High 2 - High 3 - Moderate 4 - Low 5 - Very Low |
Ip_RiskReason | String | See Ip_RiskReasonId |
Ip_RiskReasonId | String | Provides relevant information (most important reason) to understand the IP Risk Level: 301 - Moderate Risk 307 - Risk Country 308 - Anonymous Proxy 309 - Risk Proxy 310 - IP Not Found 311 - Moderate By Proxy Reputation And Country Code 312 - Invalid IP Syntax 313 - TOR Network IP 321 - Low Risk IP for Company 322 - Low Risk IP Geolocation for Company 323 - Low Risk IP for Industry 324 - Low Risk IP Geolocation for Industry 325 - Low Risk IP for Network 326 - Low Risk IP Geolocation for Network 327 - Very Low Risk IP for Company 328 - Very Low Risk IP Geolocation for Company 329 - Very Low Risk IP for Industry 330 - Very Low Risk IP Geolocation for Industry 331 - Very Low Risk IP for Network 332 - Very Low Risk IP Geolocation for Network 333 - High Risk IP for Company 334 - High Risk IP Geolocation for Company 335 - High Risk IP for Industry 336 - High Risk IP Geolocation for Industry 337 - High Risk IP for Network 338 - High Risk IP Geolocation for Network 339 - Very High Risk IP for Company 340 - Very High Risk IP Geolocation for Company 341 - Very High Risk IP for Industry 342 - Very High Risk IP Geolocation for Industry 343 - Very High Risk IP for Network 344 - Very High Risk IP Geolocation for Network |
Ip_RisksCore | String | |
Ip_UserType | String | The user type associated with the IP address. This will be one of the following values: business cafe cellular college contentDeliveryNetwork government hosting library military residential router school searchEngineSpider traveler |
Location | String | The location of the person who owns the email address. |
Title | String | The title of the email owner. |
ServiceTransactions Result
HaltTriggered | False |
ServiceTransactionResult | Failed |
ServiceInterpretResult | NotApplicable |
ServiceTransactionResultMessage | “Required field not supplied - Email” |
ValidationResult | Failed |
HaltTriggered | False |
ServiceTransactionResult | Success |
ServiceInterpretResult | OneResult |
ServiceTransactionResultMessage | “This call was generated using sandbox mode” |
ValidationResult | Pass |
There are also the following addresses that return different results = “[email protected]”, “[email protected]”, “[email protected]” and “[email protected]”.
Sandbox
Sandbox mode can be used to test the service. By setting the following query option the API will only respond with mocked requests from pre-configured responses.
Sandbox Request
Example Request
{
"Bundle": "KYC_EMAIL_VALIDATE",
"Data": {
"Email":"[email protected]"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
<QueryData>
<Email>[email protected]</Email>
</QueryData>
<QueryOptions>
<KeyValueOfstringstring>
<Key>Sandbox</Key>
<Value>True</Value>
</KeyValueOfstringstring>
</QueryOptions>
Sandbox Response
Example Response
<W2DataEmailValidate010EmailAndIpResult>
<Company>Emailage+Corp</c:Company>
<Country>US</c:Country>
<Dob/>
<DomainAge>2012-05-01T07:00:00Z</DomainAge>
<DomainCategory>Fraud+Mitigation+Services</DomainCategory>
<DomainCompany>Emailage+Corp</DomainCompany>
<DomainCorporate>Yes</DomainCorporate>
<DomainCountryMatch i:nil="true"/>
<DomainCountryName>United+States</DomainCountryName>
<DomainExists>Yes</DomainExists>
<DomainName>emailage.com</DomainName>
<DomainRelevantInfo>Low Risk Domain</DomainRelevantInfo>
<DomainRelevantInfoID>510</DomainRelevantInfoID>
<DomainRiskCountry i:nil="true"/>
<DomainRiskLevel>Low</DomainRiskLevel>
<DomainRiskLevelID>4</DomainRiskLevelID>
<EAAdvice>Lower Fraud Risk</EAAdvice>
<EAAdviceID>3</EAAdviceID>
<EAReason>Email Created at least 2.4 Years Ago</EAReason>
<EAReasonID>14</EAReasonID>
<EARiskBand>Fraud Score 101 to 300</EARiskBand>
<EARiskBandID>2</EARiskBandID>
<EAScore>181</EAScore>
<EAStatusID>4</EAStatusID>
<EName/>
<Email>[email protected]</Email>
<EmailAge/>
<EmailExists>Not Sure</EmailExists>
<Fraud_type/>
<Gender/>
<IpAddress i:nil="true"/>
<IpDomain i:nil="true"/>
<IpTimezone i:nil="true"/>
<Ip_Anonymousdetected i:nil="true"/>
<Ip_CallingcCode i:nil="true"/>
<Ip_City i:nil="true"/>
<Ip_CityConf i:nil="true"/>
<Ip_ContinentCode i:nil="true"/>
<Ip_CorporateProxy i:nil="true"/>
<Ip_Country i:nil="true"/>
<Ip_CountryCode i:nil="true"/>
<Ip_Countryconf i:nil="true"/>
<Ip_Isp i:nil="true"/>
<Ip_MetroCode i:nil="true"/>
<Ip_NetSpeedCell i:nil="true"/>
<Ip_Org i:nil="true"/>
<Ip_PostalCode i:nil="true"/>
<Ip_PostalConf i:nil="true"/>
<Ip_Region i:nil="true"/>
<Ip_RegionConf i:nil="true"/>
<Ip_Reputation i:nil="true"/>
<Ip_RiskLevel i:nil="true"/>
<Ip_RiskLevelId i:nil="true"/>
<Ip_RiskReason i:nil="true"/>
<Ip_RiskReasonId i:nil="true"/>
<Ip_RisksCore i:nil="true"/>
<Ip_UserType i:nil="true"/>
<Location/>
<Title/>
</W2DataEmailValidate010EmailAndIpResult>
"w2DataEmailValidate010EmailAndIpResult": {
"company": "Emailage+Corp",
"country": "US",
"dob": "",
"domainAge": "2012-05-01T07:00:00Z",
"domainCategory": "Fraud+Mitigation+Services",
"domainCompany": "Emailage+Corp",
"domainCorporate": "Yes",
"domainCountryName": "United+States",
"domainExists": "Yes",
"domainName": "emailage.com",
"domainRelevantInfo": "Low Risk Domain",
"domainRelevantInfoID": "510",
"domainRiskLevel": "Low",
"domainRiskLevelID": "4",
"eaAdvice": "Lower Fraud Risk",
"eaAdviceID": "3",
"eaReason": "Email Created at least 2.4 Years Ago",
"eaReasonID": 14,
"eaRiskBand": "Fraud Score 101 to 300",
"eaRiskBandID": "2",
"eaScore": "181",
"eaStatusID": "4",
"eName": "",
"email": "[email protected]",
"emailAge": "",
"emailExists": "Not Sure",
"fraud_type": "",
"gender": "",
"location": "",
"title": ""
}
ID Check UK Driving Licence Number
ID Check UK Driving Licence Number service ID Check UK Driving Licence Number service. IDCheckUKDrivingLicenceNumberService is a driving licence verification service. It checks the validity of the driving licence number, and checks the driving licence number against any additional supplied optional parameters.
Product Code: W2-DATA-DRIVING_LICENCE_NUMBER-UK-024
Properties The following properties pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
DrivingLicenceNumber | String | Mandatory | ||
Surname | String | Optional | ||
DayOfBirth | Int | Optional | ||
MonthOfBirth | Int | Optional | ||
YearOfBirth | Int | Optional | ”yyyy” |
After performing the search, the validation result (pass, fail, etc.) will be part of the TransactionInformation returned for the service call.
Request
Example Request
<QueryData>
<DrivingLicenceNumber>RUSSF802087TG9EV11</DrivingLicenceNumber>
</QueryData>
{
"Bundle": "KYC_UKDrivingLicenceMRZ",
"Data": {
"DrivingLicenceNumber":"RUSSF802087TG9EV11"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
Response
Sample Response
<IDCheckUKDrivingLicenceNumberResult>
<!-- Errors found on the entered driving licence number, if any. -->
<ValidationErrors/>
</IDCheckUKDrivingLicenceNumberResult>
"idCheckUKDrivingLicenceNumberResult": {
"validationErrors": []
}
Sample Response - Number not recognised
<IDCheckUKDrivingLicenceNumberResult>
<ValidationErrors>
<string>Licence number is not 18 characters</string>
</ValidationErrors>
</IDCheckUKDrivingLicenceNumberResult>
"idCheckUKDrivingLicenceNumberResult": {
"validationErrors": [
"Licence number is not 18 characters"
]
}
Sandbox
Example 1
<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>Pass</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
"HaltTriggered": "False",
"ServiceTransactionResult": "Success",
"ServiceInterpretResult": "Pass",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
Example 2
<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>Inconclusive</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
"HaltTriggered": "False",
"ServiceTransactionResult": "Success",
"ServiceInterpretResult": "Inconclusive",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
Example 3
<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>Inconclusive</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
"HaltTriggered": "False",
"ServiceTransactionResult": "Success",
"ServiceInterpretResult": "Inconclusive",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
ID Check Passport MRZ
ID Check Passport MRZ service IDCheckPassportMRZService is a passport verification service. It checks the validity of the machine readable zone (MRZ), and checks the MRZ against any additional supplied optional parameters.
Product Code: W2-DATA-PASSPORT_MRZ-024
Properties
The following properties pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
MRZ | String | Mandatory | ||
PassportNumber | String | Optional | ||
Country | IsoCountriesEnum | Optional | Validates against the MRZ’s nationality if supplied (does not validate against the Country of Issue).Cannot be “None” | |
ForeName | String | Optional | ||
Surname | String | Optional | ||
MiddleNames | String | Optional | ||
DayOfBirth | Int | Optional | ||
MonthOfBirth | Int | Optional | ||
YearOfBirth | Int | Optional | ”yyyy” | |
Gender | String | Optional | Must be “M” or “F” if supplied |
After performing the search, the validation result (pass, fail, etc.) will be part of the TransactionInformation returned for the service call.
Request
Sample Request
<QueryData>
<PassportNumber>MRZ... Data truncated</PassportNumber>
</QueryData>
"Data": {
"MRZ": "MRZ... Data truncated"
}
Response
Sample Response
<IDCheckPassportMRZResult> <ValidationErrors>
<string>{ e.g. MRZ is not 88 characters}</string>
</ValidationErrors>
</IDCheckPassportMRZResult>
"idCheckPassportMRZResult": {
"validationErrors": [
"e.g. MRZ is not 88 characters"
]
}
Sandbox
Example Request
<QueryData>
<PassportNumber>P< CZESPECIMIN<< VZOR<<<<<<<<<<<<<<<<<<<<<<<<< 99003853< 1CZE1101018M120704611010111<<<<<< 94</PassportNumber>
</QueryData>
{
"Bundle": "KYC_PassportMRZ",
"Data": {
"PassportNumber":"P< CZESPECIMIN<< VZOR<<<<<<<<<<<<<<<<<<<<<<<<< 99003853< 1CZE1101018M120704611010111<<<<<< 94"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
Example 1
<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>Pass</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
"HaltTriggered": "False",
"ServiceTransactionResult": "Success",
"ServiceInterpretResult": "Pass",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
Example 2
<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>Inconclusive</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
"HaltTriggered": "False",
"ServiceTransactionResult": "Success",
"ServiceInterpretResult": "Inconclusive",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
Example 3
<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>Inconclusive</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
"HaltTriggered": "False",
"ServiceTransactionResult": "Success",
"ServiceInterpretResult": "Inconclusive",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
W2 Data IDV Check 013
1. Introduction
W2_DATA_IDVCHECK_013 is an identity verification service that uses physical documentation to verify an individual.
Product Code: W2-DATA-IDVCHECK-013
2. A Note About The Document Upload
Use of this service is a two-part process, in that before making a call to a bundle containing this service, any documents that are required must already be uploaded to our systems by using the DocumentUpload endpoint. Details on this service method can be found in the “UploadDocument” section of this page.
3. Callback Preference
This service can take up to 24 hours but usually less than 2 hours to give a final response. This is because it involves a manual human intelligence task. Because of this, details of how this response should be communicated need to be agreed with W2 during the onboarding process. The current options are:
- HTTP POST request to a specified endpoint (Formatted in XML or Json)
This preference must be agreed with W2 during the on-boarding process in order to use the service.
4. Query Data
The following query data properties pertain to this service.
Property Name | Type | Optional/Mandatory | Notes |
---|---|---|---|
Forename | String | Mandatory | |
Surname | String | Mandatory | |
HouseName | String | Mandatory if no HouseNumber given | |
HouseNumber | String | Mandatory if no HouseName given | |
Postcode | String | Mandatory | |
DayOfBirth | Int | Mandatory | |
MonthOfBirth | Int | Mandatory | |
YearOfBirth | Int | Mandatory | (yyyy) |
Country | IsoCountriesEnum | Mandatory | Cannot be “None” |
Gender | String | Optional | Must be “M” or “F” if supplied |
PhoneNumber | String | Optional | |
MobileNumber | String | Optional | |
Flat | String | Optional | |
Street | String | Optional | |
City | String | Optional | |
County | String | Optional |
In addition, an image of the formal identification document must be sent using the UploadFile object, which sits alongside QueryData as part of the ServiceRequest object. It needs to contain the following fields:
Property Name | Type | Optional/Mandatory | Notes |
---|---|---|---|
UploadedFiles | UploadedFile[] | Mandatory |
The UploadedFile object(s) needs to contain the following:
Property Name | Type | Optional/Mandatory | Notes |
---|---|---|---|
DocumentUID | GUID | Mandatory | ID of document |
Service | ServiceEnum | Mandatory | This must be set to W2_DATA_IDVCHECK_013 |
Query Options
The QueryOptions element is optional and is used for optional configuration options. This service uses two possible query options.
Name | Possible Values | Description |
---|---|---|
DocumentCategory | ID Address Both |
ID indicates that the document is used for proof of identity (for example a passport) and the service will attempt to verify as such. Address indicates that this is used for proof of address (for example a utility bill) and will attempt to verify as such. If this field is left out then we will assume both. |
VerificationAction | ID POA Either Both |
This value indicates the type of check that desired. ID indicates that a proof of identity check is required. POA indicates a proof of address check is required. Either indicates that verification of one or the other is required. Both indicates that both checks are required. This can be used when the type of document is unknown. If this is specified, any value in DocumentCategory will be ignored. If ‘ID’, ‘Either’ or ‘POA’ are selected within the VerificationAction field then service is only billed once. ‘Both’ will bill twice as both documents have been verified uniquely. If this field is left out then we will assume both. |
ID documents are Passports, National ID cards, Driving license, Residence Permits. Any other document is not a proof of Identity.
Proof of Address is usually utilities or phone bills or tax statements. Other kinds of bills may also be accepted.
5. Immediate Response
The service will then immediately send back a W2_DATA_IDVCHECK_013 result, which is part of the ServiceResult object of the response.
The W2_DATA_IDVCHECK_013 result contains the following fields:
Property Name | Type | Possible Outcomes |
---|---|---|
CallId | String | This will be a unique ID representing this request. This value is what will link this call to the final decision. |
ErrorCode | String | “0000” if no errors were encountered. Otherwise it will be an error code. |
ErrorDesc | String | “Successful” if the application was successfully submitted. Otherwise it will be a description of the error encountered. |
More information on this object can be found in the class documentation here.
A corresponding ServiceTransaction is also sent with the following fields:
Property Name | Type | Possible Outcomes |
---|---|---|
Service | ServiceEnum | Always “W2_DATA_IDVCHECK_013” |
ServiceInterpretResult | ServiceTransactionResultCategoryEnum | Always “NotApplicable” |
ServiceTransactionResult | ServiceTransactionResultEnum | “Success” if the application was successfully submitted. Otherwise it will be an error label, details on which can be found in Service Transaction Result Message |
ServiceTransactionResultMessage | String | “Application successfully sent” if the application was successfully submitted. Otherwise it will be details of what went wrong |
ServiceValidationDetails | ServiceValidationResultDetails | NULL if QueryData passed validation, otherwise will be a collection of errors explaining why the QueryData is not valid |
ValidationResult | ValidationResultEnum | “Pass” if all validations conditions are met. Otherwise will be details on what needs to be changed in order to pass validation. |
More information on this object can be found in the class documentation here. Note that this is a receipt for the request and not the final result. The final result is sent as a second response.
6. Sample SOAP Request / Response
Sample Request
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none"> http://tempuri.org/IService/KYCCheck </Action>
</s:Header>
<s:Body>
<KYCCheck xmlns="http://tempuri.org/">
<serviceRequest xmlns:d4p1="http://schemas.datacontract.org/2004/07/NeuromancerLibrary.DataContracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<d4p1:BundleData>
<d4p1:BundleName>W2_DATA_IDVCHECK_013</d4p1:BundleName>
</d4p1:BundleData>
<d4p1:QueryData>
<d4p1:City i:nil="true" />
<d4p1:Country>GBR</d4p1:Country>
<d4p1:County i:nil="true" />
<d4p1:DateOfBirthMatchThreshold i:nil="true" />
<d4p1:DayOfBirth>1</d4p1:DayOfBirth>
<d4p1:DrivingLicenceNumber i:nil="true" />
<d4p1:Flat i:nil="true" />
<d4p1:Forename>John</d4p1:Forename>
<d4p1:Gender i:nil="true" />
<d4p1:HouseNumber>1</d4p1:HouseNumber>
<d4p1:IdCardNumber i:nil="true" />
<d4p1:Maiden i:nil="true" />
<d4p1:MiddleNames i:nil="true" />
<d4p1:MobileNumber i:nil="true" />
<d4p1:MonthOfBirth>1</d4p1:MonthOfBirth>
<d4p1:NameQuery i:nil="true" />
<d4p1:NameQueryMatchThreshold i:nil="true" />
<d4p1:NationalId i:nil="true" />
<d4p1:PassportNumber i:nil="true" />
<d4p1:PhoneNumber i:nil="true" />
<d4p1:PlaceOfBirth i:nil="true" />
<d4p1:Postcode>123 AAA</d4p1:Postcode>
<d4p1:ProfileId i:nil="true" />
<d4p1:Region i:nil="true" />
<d4p1:Street i:nil="true" />
<d4p1:Surname>Smith</d4p1:Surname>
<d4p1:TaxCode i:nil="true" />
<d4p1:TravelVisaNumber i:nil="true" />
<d4p1:YearOfBirth>1980</d4p1:YearOfBirth>
</d4p1:QueryData>
<d4p1:QueryOptions />
<d4p1:ServiceAuthorisation>
<d4p1:APIKey>ABC</d4p1:APIKey>
<d4p1:ClientReference i:nil="true" />
<d4p1:ClientSubaccount i:nil="true" />
<d4p1:ClientUser i:nil="true" />
<d4p1:RefersToServiceCallReference i:nil="true" />
</d4p1:ServiceAuthorisation>
<d4p1:UploadedFiles>
<d4p1:UploadedFile>
<d4p1:DocumentReference i:nil="true" />
<d4p1:DocumentUID>6e22449c-c979-40b6-88f5-ae9ce4594da9</d4p1:DocumentUID>
<d4p1:Group i:nil="true" />
<d4p1:Index i:nil="true" />
<d4p1:Service>W2_DATA_IDVCHECK_013</d4p1:Service>
</d4p1:UploadedFile>
<d4p1:UploadedFile>
<d4p1:DocumentReference i:nil="true" />
<d4p1:DocumentUID>b035520a-391e-4182-9026-244178086e55</d4p1:DocumentUID>
<d4p1:Group i:nil="true" />
<d4p1:Index i:nil="true" />
<d4p1:Service>W2_DATA_IDVCHECK_013</d4p1:Service>
</d4p1:UploadedFile>
</d4p1:UploadedFiles>
</serviceRequest>
</KYCCheck>
</s:Body>
</s:Envelope>
{
"Data": {
"Country": "GBR",
"DayOfBirth": 1,
"Forename": "Johnny",
"HouseNumber": "44",
"MonthOfBirth": 1,
"Postcode": "CF36 5DJ",
"Surname": "Testy",
"YearOfBirth": 1990
},
"Files": [
{
"DocumentReference": "Test Image",
"Id": "0FF8F8BA-F0BB-4B53-86D6-7185D9019269",
"Service": "W2_DATA_IDVCHECK_013"
}
]
}
Sample Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header />
<s:Body>
<KYCCheckResponse xmlns="http://tempuri.org/">
<KYCCheckResult xmlns:a="http://schemas.datacontract.org/2004/07/NeuromancerLibrary.DataContracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:ClientProvidedData>
<a:ClientReference i:nil="true" />
<a:ClientSubaccount i:nil="true" />
<a:ClientUser i:nil="true" />
<a:RefersToServiceCallReference i:nil="true" />
</a:ClientProvidedData>
<a:ProcessRequestResult>
<b:ServiceResult>
<b:DirectorUKCheckResult i:nil="true" />
<b:IDCheckATBravoResult i:nil="true" />
<b:IDCheckAddressLookupResult i:nil="true" />
<b:IDCheckCHBravoResult i:nil="true" />
<b:IDCheckCZBravoResult i:nil="true" />
<b:IDCheckDEAlphaResult i:nil="true" />
<b:IDCheckDEBravoResult i:nil="true" />
<b:IDCheckITBravoResult i:nil="true" />
<b:IDCheckNLAlphaResult i:nil="true" />
<b:IDCheckNameLookupResult i:nil="true" />
<b:IDCheckPassportMRZResult i:nil="true" />
<b:IDCheckRUBravoResult i:nil="true" />
<b:IDCheckSKBravoResult i:nil="true" />
<b:IDCheckUKAlphaResult i:nil="true" />
<b:IDCheckUKDeltaResult i:nil="true" />
<b:IDCheckUKDrivingLicenceNumberResult i:nil="true" />
<b:IDCheckZAAlphaResult i:nil="true" />
<b:IDDocumentCheckResult i:nil="true" />
<b:PEPDeskCheckResult i:nil="true" />
<b:ProfileDetailsResult i:nil="true" />
<b:SISPlusCheckResult i:nil="true" />
<b:SPFPlusCheckResult i:nil="true" />
<b:W2DataAddressLookUp007Result i:nil="true" />
<b:W2DataEkybUk009Result i:nil="true" />
<b:W2DataEkycUk007Result i:nil="true" />
<b:W2DataIdvcheck013Result >
<c:CallId>WSCR3C6BE94E0BFB4CCAA092968BF5E448BE</c:CallId>
<c:ErrorCode>0000</c:ErrorCode>
<c:ErrorDesc>Successful</c:ErrorDesc>
</b:W2DataIdvcheck013Result>
<b:WatchlistCheckResult i:nil="true" />
</b:ServiceResult>
<b:TransactionInformation>
<b:InterpretResult>NotApplicable</b:InterpretResult>
<b:ServiceCallReference>3c6be94e-0bfb-4cca-a092-968bf5e448be</b:ServiceCallReference>
<b:ServiceTransactions>
<b:ServiceTransactionInformation>
<b:FailedOverTo i:nil="true" />
<b:HaltTriggered>false</b:HaltTriggered>
<b:Service>W2_DATA_IDVCHECK_013</b:Service>
<b:ServiceInterpretResult>NotApplicable</b:ServiceInterpretResult>
<b:ServiceTransactionResult>Success</b:ServiceTransactionResult>
<b:ServiceTransactionResultMessage> Application Submitted Successfully. </b:ServiceTransactionResultMessage>
<b:ServiceValidationDetails i:nil="true" />
<b:ValidationResult>Pass</b:ValidationResult>
</b:ServiceTransactionInformation>
</b:ServiceTransactions>
</b:TransactionInformation>
</a:ProcessRequestResult>
</KYCCheckResult>
</KYCCheckResponse>
</s:Body>
</s:Envelope>
{
"results": {
"w2DataIdvcheck013Result": {
"callId": "WSCR1C2B4A33C78D4355B93391F9C56BEDAV",
"errorCode": "0000",
"errorDesc": "Successful"
}
},
"transaction": {
"interpretResult": "Pass",
"serviceCallReference": "37d86697-3cb3-4e1b-a14b-7723bc14768f",
"serviceTransactions": [{
"haltTriggered": false,
"service": "W2_DATA_IDVCHECK_013",
"serviceInterpretResult": "NotApplicable",
"serviceTransactionResult": "Success",
"serviceTransactionResultMessage": "Application Submitted Successfully.",
"validationResult": "Pass"
}
]
}
}
7. Final Response
Approximately 30 minutes after the initial request (this time will vary as it involves a manual human intelligence task), W2 will send a second response to the initial query, containing the final result. This result will be sent either by email or HTTP POST as request. The recipient email address / URL endpoint will have been agreed upon during the on-boarding process.
Email Response
If email was requested, an email will be sent out containing the Call ID of the initial request and the “Pass” or “Fail” result. It will look something like this:
Result Email |
---|
Subject: W2_DATA_IDVCHECK_013 Result Dear [Company Name], This is the final result of a call to W2_DATA_IDVCHECK_013 that you made at [Date Of Request], Please see the result below. CallID: [Call ID returned by first response] Result: [“PASS” or “FAIL”] Kind regards W2 Global Data |
POST Response
If a POST response was requested, a HTTP post request will be sent out containing a populated TransactionInformation object serialized into XML or Json.
The TransactionInformation object will be identical in structure to the one returned in the immediate response except that it also contains your ClientReference. However it will only contain a single ServiceTransaction which will be the final result of the W2_DATA_IDVCHECK_013 call.
This ServiceTransaction will have the following fields:
Property Name | Type | Possible Outcomes |
---|---|---|
Service | ServiceEnum | Always “W2_DATA_IDVCHECK_013” |
Service Interpret Result | ServiceTransactionResultCategoryEnum | “Pass” or “Fail”. This is the final result. |
Service Transaction Result | ServiceTransactionResultEnum | Always “Success” |
Service Transaction Result Message | String | This will be the Call ID value of the initial service response and, if the result was not a Pass, followed by the reason why after a semicolon, ie: “WSCRB0C3B15DA015454DBF94BD9C8BF660DA; ID expired” |
Service Validation Details | ServiceValidationResultDetails | Always NULL |
Validation Result | ValidationResultEnum | Always “NotApplicable” |
The end result is that the resulting HTTP POST request will look something like this:
Result POST request |
---|
POST [Callback URL] HTTP/1.1 Content-Type: application/xml or application/json Authorization: Basic [Network credential built from company name and API key - see note 1] Host: [Callback URL host] Content-Length: [Length of message] Expect: 100-continue [XML of TransactionInformation object] |
Example TransactionInformation
{
"ServiceTransactions": [
{
"Service": "W2_DATA_IDVCHECK_013",
"ServiceTransactionResult": "Success",
"ServiceTransactionResultMessage": "64f7be75-299b-4ee0-a1be-fdb776acc2d1",
"ValidationResult": "NotApplicable",
"HaltTriggered": false,
"ServiceInterpretResult": "Pass",
"ServiceHasFailedOver": false
}
],
"ServiceCallReference": "57f27731-902c-44b8-b28c-0a5382f7484d",
"InterpretResult": "NotApplicable",
"ClientReference": "123"
}
<TransactionInformation
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ServiceTransactions>
<ServiceTransactionInformation>
<Service>W2_DATA_IDVCHECK_013</Service>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>
WSCR1C2B4A33C78D4355B93391F9C56BEDAV
</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
<HaltTriggered>false</HaltTriggered>
<ServiceInterpretResult>Pass</ServiceInterpretResult>
<ServiceHasFailedOver>false</ServiceHasFailedOver>
</ServiceTransactionInformation>
</ServiceTransactions>
<ServiceCallReference>c391453f-4546-4306-a274-5520addc812f</ServiceCallReference>
<InterpretResult>Not Applicable</InterpretResult>
<ClientReference>123</ClientReference>
</TransactionInformation>
Note 1: An authorization header is added to give customers the option to authenticate the request before accepting it. The credential is a network credential made up from the following:
- Username: Name of company as it appears in Portal
- Password: Company API key
The resulting value is constructed as follows (as described here):
- Username and password are combined into a string “username:password”.
- The resulting string is then encoded using the RFC2045-MIME variant of Base64, except not limited to 76 char/line.
This will create something like:
Example Authorization Header |
---|
Basic VzI6cGl6emE= |
Allowing the endpoint server to deny the request based on this credential if that is preferred.
8. Final Response Test Tool
The following tool will spoof a final POST response, allowing you to test receiving it. Simply fill in the address of your endpoint and, if needed, any other values that you need to test and click the “Send Post Request” button. The “Request” and “Response” boxes will show what was sent and received. Fields that are left blank will send their default value. Note that this tool always gives a final result of “Fail” due to “Fraud”.
9. “Refer” Result
Sometimes the result may not be a pass or a fail, but a “Refer”.
A “Refer” result happens when there is something about the document that is preventing a final decision from being made. The most common cause of this is that the ID is expired or illegible.
If the result has been received via email, the reason is outlined below the result. Here is an example of what the email might look like:
Example of “Refer” Result Email |
---|
Subject: W2_DATA_IDVCHECK_013 Result Dear Globex Corporation, Further action required, please see below. This is the final result of a call to W2_DATA_IDVCHECK_013 that you made on 15 January 2016 11:59:30, Please see the result below. CallID: WSCRB0C3B15DA015454DBF94BD9C8BF660DA Result: Refer Details: ID expired This means that the submitted document is not adequate for a final decision to be made. A correct document will need to be submitted in order to get a final Pass / Fail decision. This will require a slightly altered submission to W2_DATA_IDVCHECK_013 that contains the new document and references CallID: WSCRB0C3B15DA015454DBF94BD9C8BF660DA. To find out how to do this, please see the “Refer Result” section on this page: http://developer.w2globaldata.com/Documentation/W2DataIdvcheck013Service/#ReferResult For further details on this result, please login to https://portal.idvcheck.com using the details given during on-boarding. Kind regards W2 Global Data |
If the result has been received via postback, the reason is given next to the unique ID in the ServiceTransactionResultMessage field of the ServiceTransactionInform object. It is separated from the ID with a semi-colon. Here is an example of what the post request might look like:
Example of “Refer” Result Post
<TransactionInformation
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd=" http://www.w3.org/2001/XMLSchema">
<ServiceTransactions>
<ServiceTransactionInformation>
<Service>W2_DATA_IDVCHECK_013</Service>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>
WSCRB0C3B15DA015454DBF94BD9C8BF660DA;ID expired
</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
<HaltTriggered>false</HaltTriggered>
<ServiceInterpretResult>Inconclusive</ServiceInterpretResult>
<ServiceHasFailedOver>false</ServiceHasFailedOver>
</ServiceTransactionInformation>
</ServiceTransactions>
<InterpretResult>NotApplicable</InterpretResult>
</TransactionInformation>
"transaction": {
"interpretResult": "NotApplicable",
"serviceCallReference": "37d86697-3cb3-4e1b-a14b-7723bc14768f",
"serviceTransactions": [{
"haltTriggered": false,
"service": "W2_DATA_IDVCHECK_013",
"serviceInterpretResult": "Inconclusive",
"serviceTransactionResult": "Success",
"serviceTransactionResultMessage": "WSCRB0C3B15DA015454DBF94BD9C8BF660DA;ID expired",
"validationResult": "NotApplicable"
}
]
}
POST https://www.globexcorporation.com/services/callbackservice.svc HTTP/1.1 |
Content-Type: application/xml |
Authorization: Basic VzI6cGl6emE= |
Host: www.globexcorporation.com |
Content-Length: 869 |
Expect: 100-continue |
What To Do In The Event of a “Refer” Result
To complete the verification, a replacement / corrected document will need to be uploaded that satisfies the requirements needed for a final decision to be made.
To do this, follow these steps:
-
Upload a replacement / corrected document to W2 systems using the UploadDocument API method. ( REST link)
-
Make a new call to W2_DATA_IDVCHECK_013 with the DocumentUID of the newly uploaded document inserted into UploadedFiles array and add a query option with the key uniqueid and the value as the unique ID of the original call. Query data is not necessary for this request.
This will re-open the process for this document, and the new result will come through via email / postback in the same way as the original result. If the new result is also a “refer”, this process can be repeated until the document is verified.
Could I Send A New Application With The Corrected Document Instead Of Doing The Above?
It is not recommended to send a new application in the event of a refer, as this will incur a second charge. Using the method described above will not incur any further charges and is the recommended course of action in the event of a refer result.
10. Sandbox
Example Request - W2 Data IDV Check 013
{
"Bundle": "W2_DATA_IDVCHECK_013",
"Data": {
"Forename": "Louie",
"Surname": "Ellis",
"HouseNameNumber": "92",
"DayOfBirth": 19,
"MonthOfBirth": 2,
"YearOfBirth": 1944,
"Country": "GBR",
"Postcode": "PE12 0WS"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
If the following details are set, the application will successfully submit, and when the final result comes through via POST / email it will be a PASS:
Field | Value |
---|---|
Forename | Louie |
Surname | Ellis |
HouseNameNumber | 92 |
Postcode | PE12 0WS |
DayOfBirth | 19 |
MonthOfBirth | 2 |
YearOfBirth | 1944 |
Country | GBR |
If the following details are set, the application will successfully submit, and when the final result comes through via POST / email it will be a FAIL:
Field | Value |
---|---|
Forename | Riley |
Surname | Davies |
HouseNameNumber | 4 |
Postcode | GU4 4UF |
DayOfBirth | 27 |
MonthOfBirth | 2 |
YearOfBirth | 1974 |
Country | GBR |
If the following details are set, the application will successfully submit, and when the final result comes through via POST / email it will be a REFER due to “ID EXPIRED”:
Field | Value |
---|---|
Forename | Megan |
Surname | Brookes |
HouseNameNumber | 98 |
Postcode | RG19 9DW |
DayOfBirth | 9 |
MonthOfBirth | 8 |
YearOfBirth | 1979 |
Country | GBR |
For more details on what a “Refer” result means, please see here
If the following details are set, the application will successfully submit, and when the final result comes through via POST / email it will be a REFER due to “ID ok, POA illegible”:
Field | Value |
---|---|
Forename | Olivia |
Surname | Wheeler |
HouseNameNumber | 82 |
Postcode | PO38 4UU |
DayOfBirth | 4 |
MonthOfBirth | 2 |
YearOfBirth | 1940 |
Country | GBR |
If the following details are set, the application will successfully submit, and when the final result comes through via POST / email it will be a REFER due to “POA ok, ID invalid”:
Field | Value |
---|---|
Forename | Jayden |
Surname | Edwards |
HouseNameNumber | 42 |
Postcode | PL12 8XY |
DayOfBirth | 1 |
MonthOfBirth | 5 |
YearOfBirth | 1982 |
Country | GBR |
Finalising a REFER result
In a real world situation you would want to upload a second document in response to a “Refer” result as described in the link above.
This can also be done in sandbox mode for this call. Simply make a request without any query data, and a query option value of uniqueid set to value “WSCRA055F2C9FC32415FB4D189488108F4EB” (still with the sandbox query option set).
The ServiceTransactionInformation object will return the same as above, with the following difference:
<ServiceTransactionResultMessage> Successfully Re-submitted Application.
(This call was generated using sandbox mode) </ServiceTransactionResultMessage>
11. IDV Response Codes
Reason Code | Description |
---|---|
Approve/Fix | An easy fix is required to approve the application, for example a typo, or incorrect DOB. |
Expired | Application has been marked as expired, due to duplicate application or inactivity. |
Fraud | The ID document has been identified as fraudulent. |
ID and POA Discrepancy | The ID document and the proof of address document are not showing the same information. |
ID and POA Illegible | ID and POA documents are of poor quality or cannot be read. Screenshots, photocopies or black & white images are not acceptable. |
ID and POA Incorrect | ID and POA documents are non-compliant or do not match registration detail. |
ID Expired | ID document has expired. |
ID Expired, POA OK | The proof of address document is approved but the ID document has expired. |
ID Illegible | ID document is of poor quality or cannot be read. Screenshots, photocopies or black & white images are not acceptable. |
ID Illegible, POA OK | The proof of address document is approved but the ID document is not legible enough for a final decision to be made. |
ID Incorrect | ID document is not in the applicant’s name. |
ID Incorrect Details | The ID document is showing information known to be incorrect. |
ID Incorrect, POA Non-compliant | The ID document is not a recognised valid form of ID and the proof of address is non-compliant. |
ID Non-compliant | ID document is non-compliant - voter and tax cards are not acceptable, for example |
ID Non-compliant, POA OK | The proof of address is approved but the ID document is non-compliant |
ID OK, POA Illegible | The ID document is approved but the proof of address is not legible enough for a final decision to be made. |
ID OK, POA Non-compliant | The ID document is approved but the proof of address is non-compliant. |
ID OK, POA Out of Date | The ID document is approved but the proof of address is out of date. |
ID, POA Invalid | Both the ID document and the proof of address are invalid. |
Missing dom photo page or POA stamp | Sub-reason code for Russia, Ukrainian and Belarus applications. |
Missing back of ID | POI document is missing image of the back of ID document. |
No Match | No record of the individual can be found. |
POA Illegible | POA document is of poor quality or cannot be read. Screenshots, photocopies or black & white images are not acceptable. |
POA Incorrect | POA document is not in the applicant’s name or there is an address mismatch. |
POA Incorrect Details | The proof of address contains information known to be incorrect. |
POA Internet Copy | POA document is either a screenshot or printed out electronic document. Please request original PDF document or photo of original document. |
POA Non-compliant | POA document is non-compliant - mobile bills and insurance documents are not acceptable, for example. |
POA OK, ID Invalid | The proof of address is approved but the ID document is not recognised as a valid ID document. |
POA Out of Date | POA document is outside of the acceptable date range. |
POA Out of Date range | The proof of address is out of the specified date range. |
POA Wrong Format | POA document file has been converted/altered, please ask the customer for the original file. |
Suspicious Docs | POI and/or POA are high risk. |
Refer | Application referred for further clarification or additional documents. |
W2 Data EKYB UK 009
This is a “Know Your Business” service.
This service can be used in two ways, Firstly you can enter a company name i.e. “W2GlobalData” in the NameQuery field and you will get a list of companies that match that search term, along with a small summary of information. The second way is used to obtain a full company report, which contains a much more extensive set of data. This can be done by calling the service and supplying the CompanyId QueryOption, with a company identifier. The company identifier can be obtained from the first call to this service.
Product Code: W2-DATA-EKYB-UK-009
Properties
The following properties pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
NameQuery | String | 8 | Optional | See notes below |
Notes
- The NameQuery field is optional if you supply the CompanyId in the query options and want a full report.
You can search in Ireland by setting the CountryCode query option to IE.
Examples
Example 1
<QueryData>
<NameQuery>W2 Global data</NameQuery>
</QueryData>
{
"data": {
"nameQuery":"W2 Global Data"
}
}
Example 2
<CompanySearchResult>
<Address>
<Address>UNIT 18 CBTC2, CAPITAL BUSINESS PARK, CARDIFF</Address>
<Country i:nil="true" />
<Postcode>CF3 2PX</Postcode>
<TelephoneNumber i:nil="true" />
</Address>
<CompanyType>Ltd</d:CompanyType>
<Country>GB</d:Country>
<DateOfLatestAccounts>############</d:DateOfLatestAccounts>
<DateOfLatestAccountsSpecified>true</d:DateOfLatestAccountsSpecified>
<Id>GB003/0/07669978</Id>
<Monitoring>false</Monitoring>
<Name>W2 GLOBAL DATA SOLUTIONS LIMITED</Name>
<OnlineReports>true</OnlineReports>
<RegistrationNumber>07669978</RegistrationNumber>
<Status>Active</Status>
</CompanySearchResult>
"companySearchResults": [{
"address": {
"address": "UNIT 18 CBTC2, CAPITAL BUSINESS PARK, CARDIFF",
"country": "UK",
"postcode": "CF3 2PX",
"telephoneNumber": "000000000"
},
"companyType": "Ltd",
"country": "GB",
"dateOfLatestAccountsSpecified": false,
"monitoring": false,
"name": "W2 GLOBAL DATA SOLUTIONS LIMITED",
"onlineReports": false,
"registrationNumber": "07669978"
}
]
Example 3
<QueryOptions>
<KeyValueOfstringstring>
<Key>CompanyId</Key>
<Value>GB003/0/07669978</Value>
</KeyValueOfstringstring>
</QueryOptions>
"Options" : {
"CompanyId":"GB003/0/07669978"
}
Example 4
<QueryData>
<NameQuery>W2 Global data</NameQuery>
</QueryData>
<QueryOptions>
<KeyValueOfstringstring>
<Key>CountryCode</Key>
<Value>IE</Value>
</KeyValueOfstringstring>
</QueryOptions>
{
"data": {
"nameQuery": "W2 Global Data"
},
"options": {
"CountryCode": "IE"
}
}
Sandbox
Example Request - W2 Data EKYB UK 009
{
"Bundle": "KYB_GB_IE",
"Data": {
"NameQuery": "W2FakeCompany"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
If the following details are set, a single fictitious single company result is returned in W2DataEkybUk009Result/CompanySearchResults
NameQuery: | W2FakeCompany |
If the following details are set, multiple fictitious company results will be returned in W2DataEkybUk009Result/CompanySearchResults
NameQuery: | W2FakeMultipleCompany |
If the following details are set, a single fictitious no company result is returned in W2DataEkybUk009Result/CompanySearchResults
NameQuery: | NullCompany |
By adding the following key value pair to the QueryOptions you will get a fake company report
Key: | CompanyId |
Value: | FK000/0/0000001 |
Company Report Response
This is an extensive report containing a full set of information about a company.
Example 5
<W2DataEkybUk009Result>
<CompanyReports>
<CompanyReport>
<AdditionalAccountsItems>
<AdditionalAccountsItem>
<CostOfSales>0</CostOfSales>
<DirectorsEmoluments>0</DirectorsEmoluments>
<Export>0</Export>
<FinancialYear>2016-01-01T00:00:00</FinancialYear>
<LongTermHpFinanceLeaseLiabilities>0</LongTermHpFinanceLeaseLiabilities>
<RevaluationReserve>0</RevaluationReserve>
<ShortTermHpFinanceLeaseLiabilities>0</ShortTermHpFinanceLeaseLiabilities>
</AdditionalAccountsItem>
</AdditionalAccountsItems>
<AdvisorsInformation>
<AdvisorsInformation>
<AuditorName>AuditorName</AuditorName>
<SolicitorName>SolicitorName</SolicitorName>
</AdvisorsInformation>
</AdvisorsInformation>
<BankerInformation>
<BankerDetails>
<BankerAddress>
<City>City</City>
<HouseNumber>HouseNumber</HouseNumber>
<PostalCode>PostalCode</PostalCode>
<Province>Province</Province>
<SimpleValue />
<Street>Street</Street>
</BankerAddress>
<BankerCode>BankerCode</BankerCode>
<BankerName>BankerName</BankerName>
</BankerDetails>
</BankerInformation>
<BankruptcyData>
<HasBankruptcyExactAddressMatch>HasBankruptcyExactAddressMatch
</HasBankruptcyExactAddressMatch>
<HasBankruptcyExactNameAndAddressMatch>HasBankruptcyExactNameAndAddressMatch
</HasBankruptcyExactNameAndAddressMatch>
<HasBankruptcyExactNameMatch>HasBankruptcyExactNameMatch
</HasBankruptcyExactNameMatch>
</BankruptcyData>
<Commentaries>
<Commentary>
<CommentaryText>CommentaryText</CommentaryText>
<Positivity>Positivity</Positivity>
</Commentary>
</Commentaries>
<CompanyActivties>
<CompanyActivity>
<ActivityCode>ActivityCode</ActivityCode>
<ActivityDescription>ActivityDescription</ActivityDescription>
</CompanyActivity>
</CompanyActivties>
<CompanyHistory>
<CompanyStatusHistoryItem>
<Date>2016-01-01T00:00:00</Date>
<Description>Description</Description>
</CompanyStatusHistoryItem>
</CompanyHistory>
<CountyCourtJudgments>
<CcjReport>
<CaseNumber>CaseNumber</CaseNumber>
<CccjDate>2016-01-01T00:00:00</CccjDate>
<CcjAmount>0</CcjAmount>
<CcjDatePaid>2016-01-01T00:00:00</CcjDatePaid>
<CcjStatus>CcjStatus</CcjStatus>
<Court>Court</Court>
<IncomingRecordDetails>IncomingRecordDetails</IncomingRecordDetails>
</CcjReport>
</CountyCourtJudgments>
<CreditScore>
<CurrentContractLimit>CurrentContractLimit</CurrentContractLimit>
<CurrentCreditRating>
<CommonCreditRatingDescription>CommonCreditRatingDescription
</CommonCreditRatingDescription>
<CreditLimit>0</CreditLimit>
<ProviderCreditRating0to100>0</ProviderCreditRating0to100>
<ProviderRatingDescription>ProviderRatingDescription
</ProviderRatingDescription>
<Value>Value</Value>
</CurrentCreditRating>
<DateOfLatestRatingChange>2016-01-01T00:00:00</DateOfLatestRatingChange>
<PreviousCreditRating>
<CommonCreditRatingDescription>CommonCreditRatingDescription
</CommonCreditRatingDescription>
<CreditLimit>0</CreditLimit>
<ProviderCreditRating0to100>0</ProviderCreditRating0to100>
<ProviderRatingDescription>ProviderRatingDescription
</ProviderRatingDescription>
<Value>Value</Value>
</PreviousCreditRating>
</CreditScore>
<CurrentDirectors>
<CompanyDirector>
<Address />
<DateOfBirth>2016-01-01T00:00:00</DateOfBirth>
<Fullname>Fullname</Fullname>
<Position>
<CorporatePosition>
<AppointmentDate>2016-01-01T00:00:00</AppointmentDate>
<AppointmentDateSpecified>true</AppointmentDateSpecified>
<CommonCode>CommonCode</CommonCode>
<ProviderCode>ProviderCode</ProviderCode>
<Value>ProviderCode</Value>
</CorporatePosition>
</Position>
</CompanyDirector>
</CurrentDirectors>
<EmailAddress>[email protected]</EmailAddress>
<EmployeeInformation>
<CompanyEmployeeInformation>
<DateReported>112</DateReported>
<NumberOfEmployees>NumberOfEmployees</NumberOfEmployees>
</CompanyEmployeeInformation>
</EmployeeInformation>
<ExtendedGroupStructure/>
<FaxNumber>FaxNumber</FaxNumber>
<FinanceSheets>
<FinanceSheet>
<BalanceSheet />
<OtherFinancials />
<ProfitAndLoss>
<YearlyProfitAndLossReport>
<ConsolidatedAccounts>true</ConsolidatedAccounts>
<Currency>Currency</Currency>
<FinancialYear>2016-01-01T00:00:00</FinancialYear>
<NumberOfWeeks>1</NumberOfWeeks>
<Amortisation>100</Amortisation>
<Depreciation>100</Depreciation>
<Dividends>100</Dividends>
<ExtraordinaryCosts>ExtraordinaryCosts</ExtraordinaryCosts>
<ExtraordinaryIncome>100</ExtraordinaryIncome>
<FinancialExpenses>100</FinancialExpenses>
<FinancialIncome>100</FinancialIncome>
<MinorityInterests>10</MinorityInterests>
<OperatingCosts>50</OperatingCosts>
<OperatingProfit>50</OperatingProfit>
<OtherAppropriations>100</OtherAppropriations>
<PensionCosts>10</PensionCosts>
<ProfitAfterTax>90</ProfitAfterTax>
<ProfitBeforeTax>100</ProfitBeforeTax>
<RetainedProfit>10</RetainedProfit>
<Revenue>10</Revenue>
<Tax>50</Tax>
<WagesAndSalaries>100</WagesAndSalaries>
</YearlyProfitAndLossReport>
</ProfitAndLoss>
<Ratios />
</FinanceSheet>
</FinanceSheets>
<GroupStructure>
<Affiliates>
<CompanyInformation>
<Address>
<f:City>City</f:City>
<f:HouseNumber>HouseNumber</f:HouseNumber>
<f:PostalCode>PostalCode</f:PostalCode>
<f:Province>Province</f:Province>
<f:SimpleValue />
<f:Street>Street</f:Street>
</Address>
<Country>GB</Country>
<Id>Id</Id>
<Name>Name</Name>
<OfficeType>OfficeType</OfficeType>
<PhoneNumber>PhoneNumber</PhoneNumber>
<RegistrationNumber>RegistrationNumber</RegistrationNumber>
<SafeNumber>SafeNumber</SafeNumber>
<Status>Status</Status>
<Type>Type</Type>
<VatNumber>VatNumber</VatNumber>
</CompanyInformation>
</Affiliates>
<ImmediateHoldingParent>
<Address>
<f:City>City</f:City>
<f:HouseNumber>HouseNumber</f:HouseNumber>
<f:PostalCode>PostalCode</f:PostalCode>
<f:Province>Province</f:Province>
<f:SimpleValue />
<f:Street>Street</f:Street>
</Address>
<Country>GB</Country>
<Id>Id</Id>
<Name>Name</Name>
<OfficeType>OfficeType</OfficeType>
<PhoneNumber>PhoneNumber</PhoneNumber>
<RegistrationNumber>RegistrationNumber</RegistrationNumber>
<SafeNumber>SafeNumber</SafeNumber>
<Status>Status</Status>
<Type>Type</Type>
<VatNumber>VatNumber</VatNumber>
</ImmediateHoldingParent>
<Subsidiaries>
<CompanyInformation>
<Address>
<f:City>City</f:City>
<f:HouseNumber>HouseNumber</f:HouseNumber>
<f:PostalCode>PostalCode</f:PostalCode>
<f:Province>Province</f:Province>
<f:SimpleValue />
<f:Street>Street</f:Street>
</Address>
<Country>GB</Country>
<Id>Id</Id>
<Name>Name</Name>
<OfficeType>OfficeType</OfficeType>
<PhoneNumber>PhoneNumber</PhoneNumber>
<RegistrationNumber>RegistrationNumber</RegistrationNumber>
<SafeNumber>SafeNumber</SafeNumber>
<Status>Status</Status>
<Type>Type</Type>
<VatNumber>VatNumber</VatNumber>
</CompanyInformation>
</Subsidiaries>
<UltimateHoldingParent>
<Address>
<f:City>City</f:City>
<f:HouseNumber>HouseNumber</f:HouseNumber>
<f:PostalCode>PostalCode</f:PostalCode>
<f:Province>Province</f:Province>
<f:SimpleValue />
<f:Street>Street</f:Street>
</Address>
<Country>GB</Country>
<Id>Id</Id>
<Name>Name</Name>
<OfficeType>OfficeType</OfficeType>
<PhoneNumber>PhoneNumber</PhoneNumber>
<RegistrationNumber>RegistrationNumber</RegistrationNumber>
<SafeNumber>SafeNumber</SafeNumber>
<Status>Status</Status>
<Type>Type</Type>
<VatNumber>VatNumber</VatNumber>
</UltimateHoldingParent>
</GroupStructure>
<Id>0</Id>
<MainAddress>
<City>City</City>
<HouseNumber>HouseNumber</HouseNumber>
<PostalCode>PostalCode</PostalCode>
<Province>Province</Province>
<SimpleValue />
<Street>Street</Street>
<Country>GB</Country>
<PhoneNumber>PhoneNumber</PhoneNumber>
</MainAddress>
<MortgageInformation>
<MortgageDetails>
<MortgageDetails>
<AmountSecured>AmountSecured</AmountSecured>
<DateChargeCreated>DateChargeCreated</DateChargeCreated>
<DateChargeRegistered>DateChargeRegistered</DateChargeRegistered>
<DateChargeSatisfied>DateChargeSatisfied</DateChargeSatisfied>
<Details>Details</Details>
<MortgageType>MortgageType</MortgageType>
<PersonsEntitled>PersonsEntitled</PersonsEntitled>
<Status>Status</Status>
</MortgageDetails>
</MortgageDetails>
<MortgageSummary>
<Outstanding>0</Outstanding>
<Satsified>0</Satsified>
</MortgageSummary>
</MortgageInformation>
<NegativeRating>NegativeRating</NegativeRating>
<OtherAddresses>
<ExtendedAddressInfo>
<City>City</City>
<HouseNumber>HouseNumber</HouseNumber>
<PostalCode>PostalCode</PostalCode>
<Province>Province</Province>
<SimpleValue />
<Street>Street</Street>
<Country>GB</Country>
<PhoneNumber>PhoneNumber</PhoneNumber>
</ExtendedAddressInfo>
</OtherAddresses>
<PaymentData>
<AnnualDbtWithTrend>
<PaymentDataEntry>
<Balance>Balance</Balance>
<DBTTrend>DBTTrend</DBTTrend>
<DBTValue>DBTValue</DBTValue>
<Month>Month</Month>
</PaymentDataEntry>
</AnnualDbtWithTrend>
<Balance>Balance</Balance>
<BalanceP1>BalanceP1</BalanceP1>
<BalanceP2>BalanceP2</BalanceP2>
<BalanceP3>BalanceP3</BalanceP3>
<BalanceP4>BalanceP4</BalanceP4>
<BalanceWithinTerms>BalanceWithinTerms</BalanceWithinTerms>
<Dbt>Dbt</Dbt>
<InvoicesBetween3And12Months>
<PaidInTerms>PaidInTerms</PaidInTerms>
<PaidP1>PaidP1</PaidP1>
<PaidP2>PaidP2</PaidP2>
<PaidP3>PaidP3</PaidP3>
<PaidP4>PaidP4</PaidP4>
<TotalPaid>TotalPaid</TotalPaid>
</InvoicesBetween3And12Months>
<InvoicesLast3Months>
<PaidInTerms>PaidInTerms</PaidInTerms>
<PaidP1>PaidP1</PaidP1>
<PaidP2>PaidP2</PaidP2>
<PaidP3>PaidP3</PaidP3>
<PaidP4>PaidP4</PaidP4>
<TotalPaid>TotalPaid</TotalPaid>
</InvoicesLast3Months>
<LastSixMonthsBalance>
<PaymentDataEntry>
<Balance>Balance</Balance>
<DBTTrend>DBTTrend</DBTTrend>
<DBTValue>DBTValue</DBTValue>
<Month>Month</Month>
</PaymentDataEntry>
</LastSixMonthsBalance>
<PaymentTrend>PaymentTrend</PaymentTrend>
<TotalNoofInvoicesAvailable>TotalNoofInvoicesAvailable
</TotalNoofInvoicesAvailable>
<TotalNoofInvoicesOwingAfter30DaysDue>TotalNoofInvoicesOwingAfter30DaysDue
</TotalNoofInvoicesOwingAfter30DaysDue>
<TotalNoofInvoicesOwingBefore30DaysDue>TotalNoofInvoicesOwingBefore30DaysDue
</TotalNoofInvoicesOwingBefore30DaysDue>
<TotalNoofInvoicesPaidAfter30DaysDue>TotalNoofInvoicesPaidAfter30DaysDue
</TotalNoofInvoicesPaidAfter30DaysDue>
<TotalNoofInvoicesPaidBefore30DaysDue>TotalNoofInvoicesPaidBefore30DaysDue
</TotalNoofInvoicesPaidBefore30DaysDue>
<TotalTradeLines>TotalTradeLines</TotalTradeLines>
<TotalTradeLinesOutstanding>TotalTradeLinesOutstanding</TotalTradeLinesOutstanding>
</PaymentData>
<PremiseType>PremiseType</PremiseType>
<PreviousAddresses>
<ExtendedAddressInfo>
<City>City</City>
<HouseNumber>HouseNumber</HouseNumber>
<PostalCode>PostalCode</PostalCode>
<Province>Province</Province>
<SimpleValue />
<Street>Street</Street>
<Country>GB</Country>
<PhoneNumber>PhoneNumber</PhoneNumber>
</ExtendedAddressInfo>
</PreviousAddresses>
<PreviousDirectors>
<CompanyDirector>
<Address />
<DateOfBirth>2016-01-01T00:00:00</DateOfBirth>
<Fullname>Fullname</Fullname>
<Position>
<CorporatePosition>
<AppointmentDate>2016-01-01T00:00:00</AppointmentDate>
<AppointmentDateSpecified>true</AppointmentDateSpecified>
<CommonCode>CommonCode</CommonCode>
<ProviderCode>ProviderCode</ProviderCode>
<Value>ProviderCode</Value>
</CorporatePosition>
</Position>
</CompanyDirector>
</PreviousDirectors>
<PreviousNames>
<CompanyNameChange>
<DateChangedFromPreviousName>2016-01-01T00:00:00
</DateChangedFromPreviousName>
<PreviousName>PreviousName</PreviousName>
</CompanyNameChange>
</PreviousNames>
<ShareCapitalStructure>
<IssuedShareCapital>IssuedShareCapital</IssuedShareCapital>
<NominalShareCapital>NominalShareCapital</NominalShareCapital>
<Shareholders>
<ShareHolder>
<Address>
<f:City>City</f:City>
<f:HouseNumber>HouseNumber</f:HouseNumber>
<f:PostalCode>PostalCode</f:PostalCode>
<f:Province>Province</f:Province>
<f:SimpleValue />
<f:Street>Street</f:Street>
</Address>
<Name>Name</Name>
<PercentageShares>PercentageShares</PercentageShares>
</ShareHolder>
</Shareholders>
</ShareCapitalStructure>
<StatusHistory>
<CompanyStatusHistoryItem>
<Date>2016-01-01T00:00:00</Date>
<Description>Description</Description>
</CompanyStatusHistoryItem>
</StatusHistory>
<Summary>
<BusinessName>BusinessName</BusinessName>
<CommercialCourt />
<CompanyRegistrationNumber>FK000/0/0000001</CompanyRegistrationNumber>
<CompanyStatus>CompanyStatus</CompanyStatus>
<ContactAddress />
<ContactTelephoneNumber />
<Country>GB</Country>
<CreditRating />
<DateOfCompanyRegistration />
<DateOfStartingOperations />
<LastTurnoverFigure>10</LastTurnoverFigure>
<LatestShareholderEquityFigure>10</LatestShareholderEquityFigure>
<LegalForm />
<MainActivity />
<Number>01010101010</Number>
<PrincipalActivityCode />
<PrincipalActivityDescription />
<RegisteredCompanyName />
<TypeOfOwnership />
<VatRegistrationDate>2016-01-01T00:00:00</VatRegistrationDate>
<VatRegistrationNumber>FK00000000001</VatRegistrationNumber>
</Summary>
<WebPages>
<string>http://testwebpage.com</string>
</WebPages>
</CompanyReport>
</CompanyReports>
<CompanySearchResults />
</W2DataEkybUk009Result>
"w2DataEkybUk009Result": {
"companyReports": [{
"additionalAccountsItems": [{
"costOfSales": "0",
"directorsEmoluments": "0",
"export": "0",
"financialYear": "2016-01-01T00:00:00",
"longTermHpFinanceLeaseLiabilities": "0",
"revaluationReserve": "0",
"shortTermHpFinanceLeaseLiabilities": "0"
}
],
"advisorsInformation": [{
"auditorName": "AuditorName",
"solicitorName": "SolicitorName"
}
],
"bankerInformation": [{
"bankerAddress": {
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
},
"bankerCode": "BankerCode",
"bankerName": "BankerName"
}
],
"bankruptcyData": {
"hasBankruptcyExactAddressMatch": "HasBankruptcyExactAddressMatch",
"hasBankruptcyExactNameAndAddressMatch": "HasBankruptcyExactNameAndAddressMatch",
"hasBankruptcyExactNameMatch": "HasBankruptcyExactNameMatch"
},
"commentaries": [{
"commentaryText": "CommentaryText",
"positivity": "Positivity"
}
],
"companyActivties": [{
"activityCode": "ActivityCode",
"activityDescription": "ActivityDescription"
}
],
"companyHistory": [{
"date": "2016-01-01T00:00:00",
"description": "Description"
}
],
"countyCourtJudgments": [{
"caseNumber": "CaseNumber",
"cccjDate": "2016-01-01T00:00:00",
"ccjAmount": 0.0,
"ccjDatePaid": "2016-01-01T00:00:00",
"ccjStatus": "CcjStatus",
"court": "Court",
"incomingRecordDetails": "IncomingRecordDetails"
}
],
"creditScore": {
"currentContractLimit": "CurrentContractLimit",
"currentCreditRating": {
"commonCreditRatingDescription": "CommonCreditRatingDescription",
"creditLimit": 0.0,
"providerCreditRating0to100": 0.0,
"providerRatingDescription": "ProviderRatingDescription",
"value": "Value"
},
"dateOfLatestRatingChange": "2016-01-01T00:00:00",
"previousCreditRating": {
"commonCreditRatingDescription": "CommonCreditRatingDescription",
"creditLimit": 0.0,
"providerCreditRating0to100": 0.0,
"providerRatingDescription": "ProviderRatingDescription",
"value": "Value"
}
},
"currentDirectors": [{
"dateOfBirth": "2016-01-01T00:00:00",
"fullname": "Fullname",
"position": [{
"appointmentDate": "2016-01-01T00:00:00",
"appointmentDateSpecified": true,
"commonCode": "CommonCode",
"providerCode": "ProviderCode",
"value": "ProviderCode"
}
]
}
],
"emailAddress": "[email protected]",
"employeeInformation": [{
"dateReported": 112,
"numberOfEmployees": "NumberOfEmployees"
}
],
"faxNumber": "FaxNumber",
"financeSheets": [{
"profitAndLoss": [{
"amortisation": "100",
"depreciation": "100",
"dividends": "100",
"extraordinaryCosts": "100",
"extraordinaryIncome": "100",
"financialExpenses": "100",
"financialIncome": "100",
"minorityInterests": "10",
"operatingCosts": "50",
"operatingProfit": "50",
"otherAppropriations": "100",
"pensionCosts": "10",
"profitAfterTax": "90",
"profitBeforeTax": "100",
"retainedProfit": "10",
"revenue": "10",
"tax": "50",
"wagesAndSalaries": "100",
"consolidatedAccounts": true,
"currency": "Currency",
"financialYear": "2016-01-01T00:00:00",
"numberOfWeeks": 1
}
]
}
],
"groupStructure": {
"affiliates": [{
"address": {
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
},
"country": "GB",
"id": "Id",
"name": "Name",
"officeType": "OfficeType",
"phoneNumber": "PhoneNumber",
"registrationNumber": "RegistrationNumber",
"safeNumber": "SafeNumber",
"status": "Status",
"type": "Type",
"vatNumber": "VatNumber"
}
],
"immediateHoldingParent": {
"address": {
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
},
"country": "GB",
"id": "Id",
"name": "Name",
"officeType": "OfficeType",
"phoneNumber": "PhoneNumber",
"registrationNumber": "RegistrationNumber",
"safeNumber": "SafeNumber",
"status": "Status",
"type": "Type",
"vatNumber": "VatNumber"
},
"subsidiaries": [{
"address": {
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
},
"country": "GB",
"id": "Id",
"name": "Name",
"officeType": "OfficeType",
"phoneNumber": "PhoneNumber",
"registrationNumber": "RegistrationNumber",
"safeNumber": "SafeNumber",
"status": "Status",
"type": "Type",
"vatNumber": "VatNumber"
}
],
"ultimateHoldingParent": {
"address": {
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
},
"country": "GB",
"id": "Id",
"name": "Name",
"officeType": "OfficeType",
"phoneNumber": "PhoneNumber",
"registrationNumber": "RegistrationNumber",
"safeNumber": "SafeNumber",
"status": "Status",
"type": "Type",
"vatNumber": "VatNumber"
}
},
"id": "0",
"mainAddress": {
"country": "GB",
"phoneNumber": "PhoneNumber",
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
},
"mortgageInformation": {
"mortgageDetails": [{
"amountSecured": "AmountSecured",
"dateChargeCreated": "DateChargeCreated",
"dateChargeRegistered": "DateChargeRegistered",
"dateChargeSatisfied": "DateChargeSatisfied",
"details": "Details",
"mortgageType": "MortgageType",
"personsEntitled": "PersonsEntitled",
"status": "Status"
}
],
"mortgageSummary": {
"outstanding": 0,
"satsified": 0
}
},
"negativeRating": "NegativeRating",
"otherAddresses": [{
"country": "GB",
"phoneNumber": "PhoneNumber",
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
}
],
"paymentData": {
"annualDbtWithTrend": [{
"balance": "Balance",
"dbtTrend": "DBTTrend",
"dbtValue": "DBTValue",
"month": "Month"
}
],
"balance": "Balance",
"balanceP1": "BalanceP1",
"balanceP2": "BalanceP2",
"balanceP3": "BalanceP3",
"balanceP4": "BalanceP4",
"balanceWithinTerms": "BalanceWithinTerms",
"dbt": "Dbt",
"invoicesBetween3And12Months": {
"paidInTerms": "PaidInTerms",
"paidP1": "PaidP1",
"paidP2": "PaidP2",
"paidP3": "PaidP3",
"paidP4": "PaidP4",
"totalPaid": "TotalPaid"
},
"invoicesLast3Months": {
"paidInTerms": "PaidInTerms",
"paidP1": "PaidP1",
"paidP2": "PaidP2",
"paidP3": "PaidP3",
"paidP4": "PaidP4",
"totalPaid": "TotalPaid"
},
"lastSixMonthsBalance": [{
"balance": "Balance",
"dbtTrend": "DBTTrend",
"dbtValue": "DBTValue",
"month": "Month"
}
],
"paymentTrend": "PaymentTrend",
"totalNoofInvoicesAvailable": "TotalNoofInvoicesAvailable",
"totalNoofInvoicesOwingAfter30DaysDue": "TotalNoofInvoicesOwingAfter30DaysDue",
"totalNoofInvoicesOwingBefore30DaysDue": "TotalNoofInvoicesOwingBefore30DaysDue",
"totalNoofInvoicesPaidAfter30DaysDue": "TotalNoofInvoicesPaidAfter30DaysDue",
"totalNoofInvoicesPaidBefore30DaysDue": "TotalNoofInvoicesPaidBefore30DaysDue",
"totalTradeLines": "TotalTradeLines",
"totalTradeLinesOutstanding": "TotalTradeLinesOutstanding"
},
"premiseType": "PremiseType",
"previousAddresses": [{
"country": "GB",
"phoneNumber": "PhoneNumber",
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
}
],
"previousDirectors": [{
"dateOfBirth": "2016-01-01T00:00:00",
"fullname": "Fullname",
"position": [{
"appointmentDate": "2016-01-01T00:00:00",
"appointmentDateSpecified": true,
"commonCode": "CommonCode",
"providerCode": "ProviderCode",
"value": "ProviderCode"
}
]
}
],
"previousNames": [{
"dateChangedFromPreviousName": "2016-01-01T00:00:00",
"previousName": "PreviousName"
}
],
"shareCapitalStructure": {
"issuedShareCapital": "IssuedShareCapital",
"nominalShareCapital": "NominalShareCapital",
"shareholders": [{
"address": {
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
},
"name": "Name",
"percentageShares": "PercentageShares"
}
]
},
"statusHistory": [{
"date": "2016-01-01T00:00:00",
"description": "Description"
}
],
"summary": {
"businessName": "BusinessName",
"companyRegistrationNumber": "FK000/0/0000001",
"companyStatus": "CompanyStatus",
"country": "GB",
"lastTurnoverFigure": 10.0,
"latestShareholderEquityFigure": 10.0,
"number": "01010101010",
"vatRegistrationDate": "2016-01-01T00:00:00",
"vatRegistrationNumber": "FK00000000001"
},
"webPages": [
"http://testwebpage.com"
]
}
],
"companySearchResults": []
}
W2 Data Age Verification 007 Service
W2DataAgeVerification007Service is an age verification service for the United Kingdom. It provides a date of birth check against an age threshold, using various public data sources to verify that the age is either above or below the given age threshold.
Product Code: W2-DATA-AGE_VERIFICATION-007
Properties
The following properties pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 15 | Mandatory | |
MiddleName | String | 15 | Optional | |
Surname | String | 15 | Mandatory | |
DayOfBirth | Integer | 2 | Mandatory | |
MonthOfBirth | Integer | 2 | Mandatory | |
YearOfBirth | Integer | 4 | Mandatory | |
HouseName | String | 26 | Mandatory if no HouseNumber given | |
HouseNumber | String | 26 | Mandatory if no HouseName given | |
Postcode | String | 8 | Mandatory | |
Street | String | 40 | Optional | |
County | String | 20 | Optional | |
City | String | 20 | Optional | |
Country | String | 3 | Optional | If set, must be a valid three-letter ISO country code as described here. If not set, the search will be within the United Kingdom (GBR) |
AgeVerificationThreshold | Integer | 3 | Mandatory | The age limit that the searched-for individual will be checked against. This will probably be something like 18, 16, 25 etc |
AgeVerificationPassIf | Integer | 3 | Mandatory | A number between 1 and 4 that tells us what check needs to be made against the limit. The options are: 1: GreaterThan2: GreaterThanOrEqualTo3: LessThan4: LessThanOrEqualToFor example, to check that an individual is 18 or over, the AgeVerificationThreshold should be 18 and the AgeVerificationPassIf should be 2 (GreaterThanOrEqualTo). |
Response
Example Response:
<W2DataAgeVerification007Result>
<VerifiedDob>True</VerifiedDob>
<ThresholdMet>True</ThresholdMet>
<AgeVerificationThreshold>18</AgeVerificationThreshold>
<PassIf>GreaterThanOrEqualTo</PassIf>
</Message>
</W2DataAgeVerification007Result>
"w2DataAgeVerification007Result": {
"ageVerificationThreshold": 25,
"passIf": "LessThan",
"thresholdMet": true,
"verifiedDob": true
}
Each of the properties describes the following:
Property Name | Type | Description |
---|---|---|
VerifiedDob | Bool | Confirms whether or not the requested DOB has been successfully matched to the searched individual. |
ThresholdMet | Bool | TRUE if the individual has passed the requested test. For example, if the requested age threshold was 18 and the test was GreaterThanOrEqualTo, and the service has confirmed that the individual is indeed 18 or over, this will be TRUE.If the test has failed then this value will be FALSE. Additionally, if the date of birth was not verified in the first place then this will also be a FALSE |
PassIf | String | The requested test, in plain English. |
AgeVerificationThreshold | Int | The requested age limit |
Message | String | Further details on result, if necessary. This is mostly used for reporting errors. |
Result Interpretation
In the service transaction information block (ServiceResponse > ProcessRequestResult > TransactionInformation > ServiceTransactions) the ServiceInterpretResult value will be “Pass” if the threshold was met, and “Fail” if it wasn’t. In the event of an unexpected error, the value will be “NotPerformed” and more information can be found in either the ServiceTransactionResultMessage field of the same block, or the Message block of the service result.
Sandbox
Example Request - W2 Data Age Verification 007 Service
{
"Bundle": "KYC_UK_AGE_VERIFY",
"Data": {
"Forename": "Charlotte",
"Surname": "Hurst",
"HouseNumber": "47",
"DayOfBirth": 12,
"MonthOfBirth": 5,
"YearOfBirth": 2009,
"Street": "Bootham Terrace",
"Postcode": "KW14 3ZB"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
To use one of these sandbox cases, the requested DayOfBirth must be “12”, the MonthOfBirth must be “5”, and the year of birth must be whatever it takes to make them the age specified in the “Age” column on todays date.
Forename | Surname | HouseNumber | Street | Postcode | Flat | Age |
---|---|---|---|---|---|---|
Charlotte | Hurst | 47 | Bootham Terrace | KW14 3ZB | 12 | |
Ava | Perkins | 53 | Russell Rd | DE55 8YN | 15 | |
Jonathan | Norton | 94 | Dover Road | ZE2 1UE | 8 | 16 |
Harrison | Humphreys | 77 | Horsefair Green | CV32 0GD | 17 | |
Bailey | Dale | 37 | Princes Street | TN17 7ND | 18 | |
Matilda | Knowles | 80 | Thirsk Road | G84 3FZ | 2 | 19 |
Liam | Henderson | 81 | Fulford Road | SA20 2DR | 20 | |
Rhys | Chapman | 17 | Colorado Way | TW10 7ZH | 21 | |
Adam | Davidson | 29 | North Promenade | FK14 2WX | 22 | |
Aidan | Waters | 22 | Thames Street | TD9 0WX | 25 | |
Victoria | Bishop | 85 | Baldock Street | IV1 3HG | 25 | 28 |
Nicholas | Gilbert | 65 | Gordon Terrace | TS9 1DX | 50 |
Forename | Surname | HouseNumber | Street | Postcode | Flat | Day/Month/Year OfBirth |
---|---|---|---|---|---|---|
Samantha | Cole | 56 | Wressle Road | NN29 4PQ | 30/3/2011 | |
Freddie | Turnbull | 15 | Hudson St | PH15 8ES | 2/7/2009 | |
Abbie | May | 86 | Warner Close | LA14 6SD | 1/9/2008 | |
Bradley | Fox | 65 | Walwyn Rd | SP7 2QD | 31 | 7/9/2008 |
Kieran | Hart | 98 | Town Lane | LN11 6RU | 7/3/2007 | |
Maddison | Palmer | 92 | Dunmow Road | S72 5AH | 10/6/2005 | |
Daisy | McLean | 56 | Brynglas Road | GL1 3JL | 12/4/2005 | |
Rachel | Ali | 38 | Guild Street | SE2 8YX | 22/11/2003 | |
Rachel | Griffiths | 30 | Cheriton Rd | WR14 6JZ | 5 | 8/4/2003 |
Archie | Lawrence | 26 | Glenurquhart Road | AB45 2QP | 1/11/2001 | |
Rachel | Rose | 37 | Ash Lane | NR19 8TS | 28/3/2001 | |
Evan | Barlow | 53 | Scrimshire Lane | SY5 3YQ | 6/4/2000 | |
Louise | Conway | 19 | Jesmond Rd | EX13 6EQ | 24/12/1998 | |
Joseph | Power | 56 | Haslemere Road | TD13 0UW | 14/5/1998 | |
Lauren | Lowe | 58 | Bootham Terrace | IV25 5YR | 19/1/1997 | |
Aidan | Walton | 74 | George Street | DD5 6GZ | 16/9/1995 | |
Natasha | Pritchard | 87 | Ponteland Rd | PA6 0TH | 16/4/1995 | |
Lydia | Hart | 50 | Castledore Road | B60 4PF | 5/11/1993 | |
Matthew | Dodd | 64 | Hexham Road | IV40 5LA | 20/8/1992 | |
Isobel | Birch | 36 | Ramsgate Rd | NE47 7HH | 9 | 18/3/1992 |
Logan | Kemp | 93 | Wartnaby Road | PA31 6YD | 17/7/1990 | |
Jodie | Mellor | 4 | Neville Street | L36 7GR | 5/2/1990 | |
Lara | Baxter* | 68 | Marcham Road | YO6 8AS | 12/5/1990 |
- Lara Baxter will always return an error with the message “A service error occurred”, and is intended for testing error scenarios.
Geo-Affordability 007
Geo-Affordability service checks if the specific person’s valid economic status based on their regional location.
Product Code: GEO-AFFORDABILITY-007
Properties
The following properties pertain to this service.
Property Name | Type | Optional/Mandatory | Notes |
---|---|---|---|
Postcode | String | Mandatory | Unique code used for identifying UK addresses. |
Response
Example Response:
<GeoAffordability007Result>
<Postcode>CF119PS</Postcode>
<PublicDerogatorySegment>
<Rag>G</Rag>
<Binary>O</Binary>
</PublicDerogatorySegment>
<LifeStyleSegment>
<Rag>R</Rag>
<Binary>R</Binary>
</LifeStyleSegment>
<VulnerableSegment>
<Rag>A</Rag>
<Binary>O</Binary>
</VulnerableSegment>
<GeoIndicator>ORO</GeoIndicator>
<GeoIndex>2</GeoIndex>
</GeoAffordability007Result>
"GeoAffordability007Result": {
"Postcode":"CF119PS",
"PublicDerogatorySegment":{
"Rag":"G",
"Binary":"O"
},
"LifeStyleSegment":{
"Rag":"R",
"Binary":"R"
},
"VulnerableSegment":{
"Rag":"A",
"Binary":"O"
},
"GeoIndicator":"ORO",
"GeoIndex":"2"
}
Each of the properties describes the following:
Property Name | Type | Notes |
---|---|---|
Postcode | String | Unique code used for identifying UK addresses. |
Public Derogatory Segment | Segment | Public Derogatory Segment. |
Lifestyle Segment | Segment | Lifestyle Segment. |
Vulnerable Segment | Segment | Vulnerable Segment. |
GEO_INDICATOR | String | Geo-Affordability Indicator (3 byte) - Exc ONS. |
GEO_INDEX | Integer | Geo-Affordability Index Exc ONS - Super-Low (3), Low (2), Medium (1), High (0). |
Segements
Represents the type of Segment.
Property Name | Type | Notes |
---|---|---|
RAG | String | Will always be one of the following: R - Red, A - Amber, G - Green or X - Not Assigned |
Binary | String | Will always be R - Red or O - Other |
Sandbox
To see the details of the service response of each sandbox case, simply click on it in the table below:
Sandbox Example Cases
(Click on a sandbox case to see the service result data here)
Postcode | Public Derogatory Segment (RAG) | Public Derogatory Segment (Binary) | Lifestyle Segment (RAG) | Lifestyle Segment (Binary) | Vulnerable Segment (RAG) | Vulnerable Segment (Binary) | GEO_INDICATOR | GEO_INDEX |
---|---|---|---|---|---|---|---|---|
G837BB | A | O | A | O | A | O | OOO | 0 |
CO154AE | G | O | A | O | G | O | OOO | 0 |
S87TA | A | O | R | R | A | O | ORO | 1 |
TS260RF | R | R | R | R | R | R | RRR | 3 |
TQ88BD | A | O | R | R | R | R | ORR | 2 |
Property Insights 007
Property Insights service checks their economic status based off client household information.
Product Code: PROPERTY-INSIGHTS_007
Properties
The following properties pertain to this service.
Property Name | Type | Optional/Mandatory | Notes |
---|---|---|---|
Title | String | Mandatory | The status or profession of the individual. |
Forename | String | Mandatory | The Forename of the individual. |
Middle Name | String | Optional | The middle name of the individual. |
Surname | String | Mandatory | The last name of the individual. |
Date of Birth | String | Optional | The date of birth of the individual. |
Gross Annual Income | Integer | Optional | Salary earned in one working year. |
Bank Sort Code | String | Optional* | Identifies both the bank and the branch where the account is held. * Mandatory if Bank Account Number is also provided. |
Bank Account Number | String | Optional* | Unique 8 digit code that identifies an individuals bank account. * Mandatory if Bank Sort Code is also provided. |
House Number | String | Mandatory | The HouseNumber of the individual. |
Street | String | Mandatory | The Street of the individual. |
City | String | Mandatory | The City of the individual. |
Postcode | String | Mandatory | Unique code used for identifying UK addresses. |
Response
Example Response:
<PropertyInsights007Result>
<Characteristics>
<characteristic>
<Code>KHC040</Code>
<Value>M</Value>
</characteristic>
<characteristic>
<Code>KHC041</Code>
<Value>M</Value>
</characteristic>
<characteristic>
<Code>KHC042</Code>
<Value>M</Value>
</characteristic>
</Characteristics>
</PropertyInsights007Result>
"PropertyInsights007Result": {
"Characteristics": [
{
"Code":"KHC040",
"Value":"M"
},
{
"Code":"KHC041",
"Value":"M"
},
{
"Code":"KHC042",
"Value":"M"
}]
}
Each of the properties describes the following:
Property Name | Type | Notes |
---|---|---|
Characteristics | Characteristic | This provides details of the characteristics contained within the response. |
Characteristic
Represents the type of Characteristic.
Property Name | Type | **Notes |
---|---|---|
Code | String | The code is the Id of an individual characteristic. |
Value | String | The raw value of the individual characteristic. |
Description | String | The human-readable description of the characteristics. |
Interpreted Value | String | The value of the characteristic interpreted to human-readable text. |
Sandbox
Sandbox Example Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | House Number | Postcode |
---|---|---|---|---|---|---|
James | Thorpe | 10 | 6 | 1978 | 4 | AB54 4PN |
Ahenobarbus | Michal | 31 | 12 | 1944 | 68 | RH13 3HE |
Allen | Kiril | 8 | 1 | 1943 | 99 | IVT X34 |
W2 Data EKYB Global Online 009
This is a “Know Your Business” service used to generate KYB reports.
Product Code: W2-DATA-EKYB-GlobalOnline-009
The service is broken down into two steps and requires calling our api twice:
- Finding the company (Company search)
- Generating the report (Report generation)
1) Company Search
The first step is all about finding the company you want.
All that’s needed is the company’s name and country. Sending these to our api will return a list of matched companies with basic information.
Each company has a CompanyId that is used in the next step to generate the report.
Searching companies is free.
Query Data
Add these to the Data section of the request
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
NameQuery | String | - | Mandatory | Name of the Company e.g. “W2 Global Data” |
Country | String | 3 | Mandatory | IS0 3 Country Code e.g. “GBR” |
2) Report Generation
The second step is where we generate the report.
Calling the api with a CompanyId from the previous step will generate the report for that company.
Query Options
Add these to the Options section of the request
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
CompanyId | String | - | Mandatory | CompanyId found from the Company Search step e.g. GB-0-07559968 |
KybReason | String | - | Optional | Kyb Reason is required for generating reports from Germany. Possible options for KybReason listed below. |
KybReason Options:
- Credit decisioning
- Future business credit assessment
- Existing business credit assessment
- Realisation check receivables collection
- Purchase contract
- Goods credit insurance
- Leasing or rent contract
- Insurance contract
Examples
Example 1
<QueryData>
<NameQuery>W2 Global data</NameQuery>
</QueryData>
{
"data": {
"nameQuery":"W2 Global Data",
"country":"GBR"
}
}
Example 2
<CompanySearchResult>
<Address>
<Address>UNIT 18 CBTC2, CAPITAL BUSINESS PARK, CARDIFF</Address>
<Country i:nil="true" />
<Postcode>CF3 2PX</Postcode>
<TelephoneNumber i:nil="true" />
</Address>
<CompanyType>Ltd</d:CompanyType>
<Country>GB</d:Country>
<DateOfLatestAccounts>############</d:DateOfLatestAccounts>
<DateOfLatestAccountsSpecified>true</d:DateOfLatestAccountsSpecified>
<Id>GB003/0/07669978</Id>
<Monitoring>false</Monitoring>
<Name>W2 GLOBAL DATA SOLUTIONS LIMITED</Name>
<OnlineReports>true</OnlineReports>
<RegistrationNumber>07669978</RegistrationNumber>
<Status>Active</Status>
</CompanySearchResult>
"companySearchResults": [{
"address": {
"address": "UNIT 18 CBTC2, CAPITAL BUSINESS PARK, CARDIFF",
"country": "UK",
"postcode": "CF3 2PX",
"telephoneNumber": "000000000"
},
"companyType": "Ltd",
"country": "GB",
"dateOfLatestAccountsSpecified": false,
"monitoring": false,
"name": "W2 GLOBAL DATA SOLUTIONS LIMITED",
"onlineReports": false,
"registrationNumber": "07669978"
}
]
Example 3
<QueryOptions>
<KeyValueOfstringstring>
<Key>CompanyId</Key>
<Value>GB003/0/07669978</Value>
</KeyValueOfstringstring>
</QueryOptions>
"Options" : {
"CompanyId":"GB003/0/07669978"
}
Sandbox
Example Request - W2 Data EKYB 009
{
"Bundle": "KYB_009",
"Data": {
"NameQuery": "W2FakeCompany"
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
If the following details are set, a single fictitious single company result is returned in W2DataEkyb009Result/CompanySearchResults
NameQuery: | W2FakeCompany |
If the following details are set, multiple fictitious company results will be returned in W2DataEkyb009Result/CompanySearchResults
NameQuery: | W2FakeMultipleCompany |
If the following details are set, a single fictitious no company result is returned in W2DataEkyb009Result/CompanySearchResults
NameQuery: | NullCompany |
By adding the following key value pair to the QueryOptions you will get a fake company report
Key: | CompanyId |
Value: | FK000/0/0000001 |
Company Report Response
This is an extensive report containing a full set of information about a company.
Example 5
<W2DataEkyb009Result>
<CompanyReports>
<CompanyReport>
<AdditionalAccountsItems>
<AdditionalAccountsItem>
<CostOfSales>0</CostOfSales>
<DirectorsEmoluments>0</DirectorsEmoluments>
<Export>0</Export>
<FinancialYear>2016-01-01T00:00:00</FinancialYear>
<LongTermHpFinanceLeaseLiabilities>0</LongTermHpFinanceLeaseLiabilities>
<RevaluationReserve>0</RevaluationReserve>
<ShortTermHpFinanceLeaseLiabilities>0</ShortTermHpFinanceLeaseLiabilities>
</AdditionalAccountsItem>
</AdditionalAccountsItems>
<AdvisorsInformation>
<AdvisorsInformation>
<AuditorName>AuditorName</AuditorName>
<SolicitorName>SolicitorName</SolicitorName>
</AdvisorsInformation>
</AdvisorsInformation>
<BankerInformation>
<BankerDetails>
<BankerAddress>
<City>City</City>
<HouseNumber>HouseNumber</HouseNumber>
<PostalCode>PostalCode</PostalCode>
<Province>Province</Province>
<SimpleValue />
<Street>Street</Street>
</BankerAddress>
<BankerCode>BankerCode</BankerCode>
<BankerName>BankerName</BankerName>
</BankerDetails>
</BankerInformation>
<BankruptcyData>
<HasBankruptcyExactAddressMatch>HasBankruptcyExactAddressMatch
</HasBankruptcyExactAddressMatch>
<HasBankruptcyExactNameAndAddressMatch>HasBankruptcyExactNameAndAddressMatch
</HasBankruptcyExactNameAndAddressMatch>
<HasBankruptcyExactNameMatch>HasBankruptcyExactNameMatch
</HasBankruptcyExactNameMatch>
</BankruptcyData>
<Commentaries>
<Commentary>
<CommentaryText>CommentaryText</CommentaryText>
<Positivity>Positivity</Positivity>
</Commentary>
</Commentaries>
<CompanyActivties>
<CompanyActivity>
<ActivityCode>ActivityCode</ActivityCode>
<ActivityDescription>ActivityDescription</ActivityDescription>
</CompanyActivity>
</CompanyActivties>
<CompanyHistory>
<CompanyStatusHistoryItem>
<Date>2016-01-01T00:00:00</Date>
<Description>Description</Description>
</CompanyStatusHistoryItem>
</CompanyHistory>
<CountyCourtJudgments>
<CcjReport>
<CaseNumber>CaseNumber</CaseNumber>
<CccjDate>2016-01-01T00:00:00</CccjDate>
<CcjAmount>0</CcjAmount>
<CcjDatePaid>2016-01-01T00:00:00</CcjDatePaid>
<CcjStatus>CcjStatus</CcjStatus>
<Court>Court</Court>
<IncomingRecordDetails>IncomingRecordDetails</IncomingRecordDetails>
</CcjReport>
</CountyCourtJudgments>
<CreditScore>
<CurrentContractLimit>CurrentContractLimit</CurrentContractLimit>
<CurrentCreditRating>
<CommonCreditRatingDescription>CommonCreditRatingDescription
</CommonCreditRatingDescription>
<CreditLimit>0</CreditLimit>
<ProviderCreditRating0to100>0</ProviderCreditRating0to100>
<ProviderRatingDescription>ProviderRatingDescription
</ProviderRatingDescription>
<Value>Value</Value>
</CurrentCreditRating>
<DateOfLatestRatingChange>2016-01-01T00:00:00</DateOfLatestRatingChange>
<PreviousCreditRating>
<CommonCreditRatingDescription>CommonCreditRatingDescription
</CommonCreditRatingDescription>
<CreditLimit>0</CreditLimit>
<ProviderCreditRating0to100>0</ProviderCreditRating0to100>
<ProviderRatingDescription>ProviderRatingDescription
</ProviderRatingDescription>
<Value>Value</Value>
</PreviousCreditRating>
</CreditScore>
<CurrentDirectors>
<CompanyDirector>
<Address />
<DateOfBirth>2016-01-01T00:00:00</DateOfBirth>
<Fullname>Fullname</Fullname>
<Position>
<CorporatePosition>
<AppointmentDate>2016-01-01T00:00:00</AppointmentDate>
<AppointmentDateSpecified>true</AppointmentDateSpecified>
<CommonCode>CommonCode</CommonCode>
<ProviderCode>ProviderCode</ProviderCode>
<Value>ProviderCode</Value>
</CorporatePosition>
</Position>
</CompanyDirector>
</CurrentDirectors>
<EmailAddress>[email protected]</EmailAddress>
<EmployeeInformation>
<CompanyEmployeeInformation>
<DateReported>112</DateReported>
<NumberOfEmployees>NumberOfEmployees</NumberOfEmployees>
</CompanyEmployeeInformation>
</EmployeeInformation>
<ExtendedGroupStructure/>
<FaxNumber>FaxNumber</FaxNumber>
<FinanceSheets>
<FinanceSheet>
<BalanceSheet />
<OtherFinancials />
<ProfitAndLoss>
<YearlyProfitAndLossReport>
<ConsolidatedAccounts>true</ConsolidatedAccounts>
<Currency>Currency</Currency>
<FinancialYear>2016-01-01T00:00:00</FinancialYear>
<NumberOfWeeks>1</NumberOfWeeks>
<Amortisation>100</Amortisation>
<Depreciation>100</Depreciation>
<Dividends>100</Dividends>
<ExtraordinaryCosts>ExtraordinaryCosts</ExtraordinaryCosts>
<ExtraordinaryIncome>100</ExtraordinaryIncome>
<FinancialExpenses>100</FinancialExpenses>
<FinancialIncome>100</FinancialIncome>
<MinorityInterests>10</MinorityInterests>
<OperatingCosts>50</OperatingCosts>
<OperatingProfit>50</OperatingProfit>
<OtherAppropriations>100</OtherAppropriations>
<PensionCosts>10</PensionCosts>
<ProfitAfterTax>90</ProfitAfterTax>
<ProfitBeforeTax>100</ProfitBeforeTax>
<RetainedProfit>10</RetainedProfit>
<Revenue>10</Revenue>
<Tax>50</Tax>
<WagesAndSalaries>100</WagesAndSalaries>
</YearlyProfitAndLossReport>
</ProfitAndLoss>
<Ratios />
</FinanceSheet>
</FinanceSheets>
<GroupStructure>
<Affiliates>
<CompanyInformation>
<Address>
<f:City>City</f:City>
<f:HouseNumber>HouseNumber</f:HouseNumber>
<f:PostalCode>PostalCode</f:PostalCode>
<f:Province>Province</f:Province>
<f:SimpleValue />
<f:Street>Street</f:Street>
</Address>
<Country>GB</Country>
<Id>Id</Id>
<Name>Name</Name>
<OfficeType>OfficeType</OfficeType>
<PhoneNumber>PhoneNumber</PhoneNumber>
<RegistrationNumber>RegistrationNumber</RegistrationNumber>
<SafeNumber>SafeNumber</SafeNumber>
<Status>Status</Status>
<Type>Type</Type>
<VatNumber>VatNumber</VatNumber>
</CompanyInformation>
</Affiliates>
<ImmediateHoldingParent>
<Address>
<f:City>City</f:City>
<f:HouseNumber>HouseNumber</f:HouseNumber>
<f:PostalCode>PostalCode</f:PostalCode>
<f:Province>Province</f:Province>
<f:SimpleValue />
<f:Street>Street</f:Street>
</Address>
<Country>GB</Country>
<Id>Id</Id>
<Name>Name</Name>
<OfficeType>OfficeType</OfficeType>
<PhoneNumber>PhoneNumber</PhoneNumber>
<RegistrationNumber>RegistrationNumber</RegistrationNumber>
<SafeNumber>SafeNumber</SafeNumber>
<Status>Status</Status>
<Type>Type</Type>
<VatNumber>VatNumber</VatNumber>
</ImmediateHoldingParent>
<Subsidiaries>
<CompanyInformation>
<Address>
<f:City>City</f:City>
<f:HouseNumber>HouseNumber</f:HouseNumber>
<f:PostalCode>PostalCode</f:PostalCode>
<f:Province>Province</f:Province>
<f:SimpleValue />
<f:Street>Street</f:Street>
</Address>
<Country>GB</Country>
<Id>Id</Id>
<Name>Name</Name>
<OfficeType>OfficeType</OfficeType>
<PhoneNumber>PhoneNumber</PhoneNumber>
<RegistrationNumber>RegistrationNumber</RegistrationNumber>
<SafeNumber>SafeNumber</SafeNumber>
<Status>Status</Status>
<Type>Type</Type>
<VatNumber>VatNumber</VatNumber>
</CompanyInformation>
</Subsidiaries>
<UltimateHoldingParent>
<Address>
<f:City>City</f:City>
<f:HouseNumber>HouseNumber</f:HouseNumber>
<f:PostalCode>PostalCode</f:PostalCode>
<f:Province>Province</f:Province>
<f:SimpleValue />
<f:Street>Street</f:Street>
</Address>
<Country>GB</Country>
<Id>Id</Id>
<Name>Name</Name>
<OfficeType>OfficeType</OfficeType>
<PhoneNumber>PhoneNumber</PhoneNumber>
<RegistrationNumber>RegistrationNumber</RegistrationNumber>
<SafeNumber>SafeNumber</SafeNumber>
<Status>Status</Status>
<Type>Type</Type>
<VatNumber>VatNumber</VatNumber>
</UltimateHoldingParent>
</GroupStructure>
<Id>0</Id>
<MainAddress>
<City>City</City>
<HouseNumber>HouseNumber</HouseNumber>
<PostalCode>PostalCode</PostalCode>
<Province>Province</Province>
<SimpleValue />
<Street>Street</Street>
<Country>GB</Country>
<PhoneNumber>PhoneNumber</PhoneNumber>
</MainAddress>
<MortgageInformation>
<MortgageDetails>
<MortgageDetails>
<AmountSecured>AmountSecured</AmountSecured>
<DateChargeCreated>DateChargeCreated</DateChargeCreated>
<DateChargeRegistered>DateChargeRegistered</DateChargeRegistered>
<DateChargeSatisfied>DateChargeSatisfied</DateChargeSatisfied>
<Details>Details</Details>
<MortgageType>MortgageType</MortgageType>
<PersonsEntitled>PersonsEntitled</PersonsEntitled>
<Status>Status</Status>
</MortgageDetails>
</MortgageDetails>
<MortgageSummary>
<Outstanding>0</Outstanding>
<Satsified>0</Satsified>
</MortgageSummary>
</MortgageInformation>
<NegativeRating>NegativeRating</NegativeRating>
<OtherAddresses>
<ExtendedAddressInfo>
<City>City</City>
<HouseNumber>HouseNumber</HouseNumber>
<PostalCode>PostalCode</PostalCode>
<Province>Province</Province>
<SimpleValue />
<Street>Street</Street>
<Country>GB</Country>
<PhoneNumber>PhoneNumber</PhoneNumber>
</ExtendedAddressInfo>
</OtherAddresses>
<PaymentData>
<AnnualDbtWithTrend>
<PaymentDataEntry>
<Balance>Balance</Balance>
<DBTTrend>DBTTrend</DBTTrend>
<DBTValue>DBTValue</DBTValue>
<Month>Month</Month>
</PaymentDataEntry>
</AnnualDbtWithTrend>
<Balance>Balance</Balance>
<BalanceP1>BalanceP1</BalanceP1>
<BalanceP2>BalanceP2</BalanceP2>
<BalanceP3>BalanceP3</BalanceP3>
<BalanceP4>BalanceP4</BalanceP4>
<BalanceWithinTerms>BalanceWithinTerms</BalanceWithinTerms>
<Dbt>Dbt</Dbt>
<InvoicesBetween3And12Months>
<PaidInTerms>PaidInTerms</PaidInTerms>
<PaidP1>PaidP1</PaidP1>
<PaidP2>PaidP2</PaidP2>
<PaidP3>PaidP3</PaidP3>
<PaidP4>PaidP4</PaidP4>
<TotalPaid>TotalPaid</TotalPaid>
</InvoicesBetween3And12Months>
<InvoicesLast3Months>
<PaidInTerms>PaidInTerms</PaidInTerms>
<PaidP1>PaidP1</PaidP1>
<PaidP2>PaidP2</PaidP2>
<PaidP3>PaidP3</PaidP3>
<PaidP4>PaidP4</PaidP4>
<TotalPaid>TotalPaid</TotalPaid>
</InvoicesLast3Months>
<LastSixMonthsBalance>
<PaymentDataEntry>
<Balance>Balance</Balance>
<DBTTrend>DBTTrend</DBTTrend>
<DBTValue>DBTValue</DBTValue>
<Month>Month</Month>
</PaymentDataEntry>
</LastSixMonthsBalance>
<PaymentTrend>PaymentTrend</PaymentTrend>
<TotalNoofInvoicesAvailable>TotalNoofInvoicesAvailable
</TotalNoofInvoicesAvailable>
<TotalNoofInvoicesOwingAfter30DaysDue>TotalNoofInvoicesOwingAfter30DaysDue
</TotalNoofInvoicesOwingAfter30DaysDue>
<TotalNoofInvoicesOwingBefore30DaysDue>TotalNoofInvoicesOwingBefore30DaysDue
</TotalNoofInvoicesOwingBefore30DaysDue>
<TotalNoofInvoicesPaidAfter30DaysDue>TotalNoofInvoicesPaidAfter30DaysDue
</TotalNoofInvoicesPaidAfter30DaysDue>
<TotalNoofInvoicesPaidBefore30DaysDue>TotalNoofInvoicesPaidBefore30DaysDue
</TotalNoofInvoicesPaidBefore30DaysDue>
<TotalTradeLines>TotalTradeLines</TotalTradeLines>
<TotalTradeLinesOutstanding>TotalTradeLinesOutstanding</TotalTradeLinesOutstanding>
</PaymentData>
<PremiseType>PremiseType</PremiseType>
<PreviousAddresses>
<ExtendedAddressInfo>
<City>City</City>
<HouseNumber>HouseNumber</HouseNumber>
<PostalCode>PostalCode</PostalCode>
<Province>Province</Province>
<SimpleValue />
<Street>Street</Street>
<Country>GB</Country>
<PhoneNumber>PhoneNumber</PhoneNumber>
</ExtendedAddressInfo>
</PreviousAddresses>
<PreviousDirectors>
<CompanyDirector>
<Address />
<DateOfBirth>2016-01-01T00:00:00</DateOfBirth>
<Fullname>Fullname</Fullname>
<Position>
<CorporatePosition>
<AppointmentDate>2016-01-01T00:00:00</AppointmentDate>
<AppointmentDateSpecified>true</AppointmentDateSpecified>
<CommonCode>CommonCode</CommonCode>
<ProviderCode>ProviderCode</ProviderCode>
<Value>ProviderCode</Value>
</CorporatePosition>
</Position>
</CompanyDirector>
</PreviousDirectors>
<PreviousNames>
<CompanyNameChange>
<DateChangedFromPreviousName>2016-01-01T00:00:00
</DateChangedFromPreviousName>
<PreviousName>PreviousName</PreviousName>
</CompanyNameChange>
</PreviousNames>
<ShareCapitalStructure>
<IssuedShareCapital>IssuedShareCapital</IssuedShareCapital>
<NominalShareCapital>NominalShareCapital</NominalShareCapital>
<Shareholders>
<ShareHolder>
<Address>
<f:City>City</f:City>
<f:HouseNumber>HouseNumber</f:HouseNumber>
<f:PostalCode>PostalCode</f:PostalCode>
<f:Province>Province</f:Province>
<f:SimpleValue />
<f:Street>Street</f:Street>
</Address>
<Name>Name</Name>
<PercentageShares>PercentageShares</PercentageShares>
</ShareHolder>
</Shareholders>
</ShareCapitalStructure>
<StatusHistory>
<CompanyStatusHistoryItem>
<Date>2016-01-01T00:00:00</Date>
<Description>Description</Description>
</CompanyStatusHistoryItem>
</StatusHistory>
<Summary>
<BusinessName>BusinessName</BusinessName>
<CommercialCourt />
<CompanyRegistrationNumber>FK000/0/0000001</CompanyRegistrationNumber>
<CompanyStatus>CompanyStatus</CompanyStatus>
<ContactAddress />
<ContactTelephoneNumber />
<Country>GB</Country>
<CreditRating />
<DateOfCompanyRegistration />
<DateOfStartingOperations />
<LastTurnoverFigure>10</LastTurnoverFigure>
<LatestShareholderEquityFigure>10</LatestShareholderEquityFigure>
<LegalForm />
<MainActivity />
<Number>01010101010</Number>
<PrincipalActivityCode />
<PrincipalActivityDescription />
<RegisteredCompanyName />
<TypeOfOwnership />
<VatRegistrationDate>2016-01-01T00:00:00</VatRegistrationDate>
<VatRegistrationNumber>FK00000000001</VatRegistrationNumber>
</Summary>
<WebPages>
<string>http://testwebpage.com</string>
</WebPages>
</CompanyReport>
</CompanyReports>
<CompanySearchResults />
</W2DataEkyb009Result>
"w2DataEkyb009Result": {
"companyReports": [{
"additionalAccountsItems": [{
"costOfSales": "0",
"directorsEmoluments": "0",
"export": "0",
"financialYear": "2016-01-01T00:00:00",
"longTermHpFinanceLeaseLiabilities": "0",
"revaluationReserve": "0",
"shortTermHpFinanceLeaseLiabilities": "0"
}
],
"advisorsInformation": [{
"auditorName": "AuditorName",
"solicitorName": "SolicitorName"
}
],
"bankerInformation": [{
"bankerAddress": {
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
},
"bankerCode": "BankerCode",
"bankerName": "BankerName"
}
],
"bankruptcyData": {
"hasBankruptcyExactAddressMatch": "HasBankruptcyExactAddressMatch",
"hasBankruptcyExactNameAndAddressMatch": "HasBankruptcyExactNameAndAddressMatch",
"hasBankruptcyExactNameMatch": "HasBankruptcyExactNameMatch"
},
"commentaries": [{
"commentaryText": "CommentaryText",
"positivity": "Positivity"
}
],
"companyActivties": [{
"activityCode": "ActivityCode",
"activityDescription": "ActivityDescription"
}
],
"companyHistory": [{
"date": "2016-01-01T00:00:00",
"description": "Description"
}
],
"countyCourtJudgments": [{
"caseNumber": "CaseNumber",
"cccjDate": "2016-01-01T00:00:00",
"ccjAmount": 0.0,
"ccjDatePaid": "2016-01-01T00:00:00",
"ccjStatus": "CcjStatus",
"court": "Court",
"incomingRecordDetails": "IncomingRecordDetails"
}
],
"creditScore": {
"currentContractLimit": "CurrentContractLimit",
"currentCreditRating": {
"commonCreditRatingDescription": "CommonCreditRatingDescription",
"creditLimit": 0.0,
"providerCreditRating0to100": 0.0,
"providerRatingDescription": "ProviderRatingDescription",
"value": "Value"
},
"dateOfLatestRatingChange": "2016-01-01T00:00:00",
"previousCreditRating": {
"commonCreditRatingDescription": "CommonCreditRatingDescription",
"creditLimit": 0.0,
"providerCreditRating0to100": 0.0,
"providerRatingDescription": "ProviderRatingDescription",
"value": "Value"
}
},
"currentDirectors": [{
"dateOfBirth": "2016-01-01T00:00:00",
"fullname": "Fullname",
"position": [{
"appointmentDate": "2016-01-01T00:00:00",
"appointmentDateSpecified": true,
"commonCode": "CommonCode",
"providerCode": "ProviderCode",
"value": "ProviderCode"
}
]
}
],
"emailAddress": "[email protected]",
"employeeInformation": [{
"dateReported": 112,
"numberOfEmployees": "NumberOfEmployees"
}
],
"faxNumber": "FaxNumber",
"financeSheets": [{
"profitAndLoss": [{
"amortisation": "100",
"depreciation": "100",
"dividends": "100",
"extraordinaryCosts": "100",
"extraordinaryIncome": "100",
"financialExpenses": "100",
"financialIncome": "100",
"minorityInterests": "10",
"operatingCosts": "50",
"operatingProfit": "50",
"otherAppropriations": "100",
"pensionCosts": "10",
"profitAfterTax": "90",
"profitBeforeTax": "100",
"retainedProfit": "10",
"revenue": "10",
"tax": "50",
"wagesAndSalaries": "100",
"consolidatedAccounts": true,
"currency": "Currency",
"financialYear": "2016-01-01T00:00:00",
"numberOfWeeks": 1
}
]
}
],
"groupStructure": {
"affiliates": [{
"address": {
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
},
"country": "GB",
"id": "Id",
"name": "Name",
"officeType": "OfficeType",
"phoneNumber": "PhoneNumber",
"registrationNumber": "RegistrationNumber",
"safeNumber": "SafeNumber",
"status": "Status",
"type": "Type",
"vatNumber": "VatNumber"
}
],
"immediateHoldingParent": {
"address": {
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
},
"country": "GB",
"id": "Id",
"name": "Name",
"officeType": "OfficeType",
"phoneNumber": "PhoneNumber",
"registrationNumber": "RegistrationNumber",
"safeNumber": "SafeNumber",
"status": "Status",
"type": "Type",
"vatNumber": "VatNumber"
},
"subsidiaries": [{
"address": {
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
},
"country": "GB",
"id": "Id",
"name": "Name",
"officeType": "OfficeType",
"phoneNumber": "PhoneNumber",
"registrationNumber": "RegistrationNumber",
"safeNumber": "SafeNumber",
"status": "Status",
"type": "Type",
"vatNumber": "VatNumber"
}
],
"ultimateHoldingParent": {
"address": {
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
},
"country": "GB",
"id": "Id",
"name": "Name",
"officeType": "OfficeType",
"phoneNumber": "PhoneNumber",
"registrationNumber": "RegistrationNumber",
"safeNumber": "SafeNumber",
"status": "Status",
"type": "Type",
"vatNumber": "VatNumber"
}
},
"id": "0",
"mainAddress": {
"country": "GB",
"phoneNumber": "PhoneNumber",
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
},
"mortgageInformation": {
"mortgageDetails": [{
"amountSecured": "AmountSecured",
"dateChargeCreated": "DateChargeCreated",
"dateChargeRegistered": "DateChargeRegistered",
"dateChargeSatisfied": "DateChargeSatisfied",
"details": "Details",
"mortgageType": "MortgageType",
"personsEntitled": "PersonsEntitled",
"status": "Status"
}
],
"mortgageSummary": {
"outstanding": 0,
"satsified": 0
}
},
"negativeRating": "NegativeRating",
"otherAddresses": [{
"country": "GB",
"phoneNumber": "PhoneNumber",
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
}
],
"paymentData": {
"annualDbtWithTrend": [{
"balance": "Balance",
"dbtTrend": "DBTTrend",
"dbtValue": "DBTValue",
"month": "Month"
}
],
"balance": "Balance",
"balanceP1": "BalanceP1",
"balanceP2": "BalanceP2",
"balanceP3": "BalanceP3",
"balanceP4": "BalanceP4",
"balanceWithinTerms": "BalanceWithinTerms",
"dbt": "Dbt",
"invoicesBetween3And12Months": {
"paidInTerms": "PaidInTerms",
"paidP1": "PaidP1",
"paidP2": "PaidP2",
"paidP3": "PaidP3",
"paidP4": "PaidP4",
"totalPaid": "TotalPaid"
},
"invoicesLast3Months": {
"paidInTerms": "PaidInTerms",
"paidP1": "PaidP1",
"paidP2": "PaidP2",
"paidP3": "PaidP3",
"paidP4": "PaidP4",
"totalPaid": "TotalPaid"
},
"lastSixMonthsBalance": [{
"balance": "Balance",
"dbtTrend": "DBTTrend",
"dbtValue": "DBTValue",
"month": "Month"
}
],
"paymentTrend": "PaymentTrend",
"totalNoofInvoicesAvailable": "TotalNoofInvoicesAvailable",
"totalNoofInvoicesOwingAfter30DaysDue": "TotalNoofInvoicesOwingAfter30DaysDue",
"totalNoofInvoicesOwingBefore30DaysDue": "TotalNoofInvoicesOwingBefore30DaysDue",
"totalNoofInvoicesPaidAfter30DaysDue": "TotalNoofInvoicesPaidAfter30DaysDue",
"totalNoofInvoicesPaidBefore30DaysDue": "TotalNoofInvoicesPaidBefore30DaysDue",
"totalTradeLines": "TotalTradeLines",
"totalTradeLinesOutstanding": "TotalTradeLinesOutstanding"
},
"premiseType": "PremiseType",
"previousAddresses": [{
"country": "GB",
"phoneNumber": "PhoneNumber",
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
}
],
"previousDirectors": [{
"dateOfBirth": "2016-01-01T00:00:00",
"fullname": "Fullname",
"position": [{
"appointmentDate": "2016-01-01T00:00:00",
"appointmentDateSpecified": true,
"commonCode": "CommonCode",
"providerCode": "ProviderCode",
"value": "ProviderCode"
}
]
}
],
"previousNames": [{
"dateChangedFromPreviousName": "2016-01-01T00:00:00",
"previousName": "PreviousName"
}
],
"shareCapitalStructure": {
"issuedShareCapital": "IssuedShareCapital",
"nominalShareCapital": "NominalShareCapital",
"shareholders": [{
"address": {
"city": "City",
"houseNumber": "HouseNumber",
"postalCode": "PostalCode",
"province": "Province",
"street": "Street"
},
"name": "Name",
"percentageShares": "PercentageShares"
}
]
},
"statusHistory": [{
"date": "2016-01-01T00:00:00",
"description": "Description"
}
],
"summary": {
"businessName": "BusinessName",
"companyRegistrationNumber": "FK000/0/0000001",
"companyStatus": "CompanyStatus",
"country": "GB",
"lastTurnoverFigure": 10.0,
"latestShareholderEquityFigure": 10.0,
"number": "01010101010",
"vatRegistrationDate": "2016-01-01T00:00:00",
"vatRegistrationNumber": "FK00000000001"
},
"webPages": [
"http://testwebpage.com"
]
}
],
"companySearchResults": []
}
W2 Affordability Data 045
Product Code: W2_AFFORDABILITY_DATA_045
This is a service which assists in determining affordability for a customer based on lifestyle factors and high cost short term credit applications.
Query Data
# Example request with all fields
{
"Bundle": "W2_AFFORDABILITY_DATA_045",
"Data": {
"City": "Kings Landing",
"County": "Blaenau Gwent",
"DayOfBirth": 1,
"Email": "[email protected]",
"Forename": "Lauren",
"HouseName": "Rose Cottage",
"HouseNumber": "14",
"MobileNumber": "07539587538",
"MonthOfBirth": 1,
"Postcode": "SW1A 1AA",
"Street": "Abbey Road",
"Surname": "Ford",
"YearOfBirth": 1985
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
Add these to the Data section of the request
Property Name | Type | Length | Optional/Mandatory |
---|---|---|---|
Forename | String | 30 | Mandatory |
Surname | String | 30 | Mandatory |
DayOfBirth | Integer | 2 | Optional |
MonthOfBirth | Integer | 2 | Optional |
YearOfBirth | Integer | 4 | Optional |
HouseName | String | 26 | Optional |
HouseNumber | String | 26 | Optional |
Postcode | String | 8 | Optional |
Street | String | 40 | Optional |
County | String | 20 | Optional |
City | String | 20 | Optional |
String | 30 | Optional | |
MobileNumber | String | 12 | Optional |
Requirements
This service requires at least one of DOB, Email, Mobile number or Address to be provided with Forename + Surname.
A valid Address must contain at least a House Name/House Number, Street and Postcode.
Sandbox
Use these set responses to test your integration. Learn how to use our Sandbox here.
(Click on the row to see the result)
Sandbox Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth |
---|---|---|---|---|
Gabriel | POLLEN | 1 | 1 | 1985 |
Alexander | Hepworth | 1 | 1 | 1985 |
David | Mcdonald | 1 | 1 | 1985 |
Steven | Down | 1 | 1 | 1985 |
David | Mcdonald | 1 | 1 | 1985 |
W2 Affordability VRS 045
Product Code: W2_AFFORDABILITY_VRS_045
This is a service which facilitates checks on whether a customer has a self-declared vulnerability.
Query Data
# Example request with all fields
{
"Bundle": "W2_AFFORDABILITY_VRS_045",
"Data": {
"City": "Kings Landing",
"County": "Blaenau Gwent",
"DayOfBirth": 1,
"Email": "[email protected]",
"Forename": "John",
"HouseName": "Rose Cottage",
"HouseNumber": "14",
"MobileNumber": "07539587538",
"MonthOfBirth": 1,
"Postcode": "SW1A 1AA",
"Street": "Abbey Road",
"Surname": "Gurung",
"YearOfBirth": 1985
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
Add these to the Data section of the request
Property Name | Type | Length | Optional/Mandatory |
---|---|---|---|
Forename | String | 30 | Mandatory |
Surname | String | 30 | Mandatory |
DayOfBirth | Integer | 2 | Optional |
MonthOfBirth | Integer | 2 | Optional |
YearOfBirth | Integer | 4 | Optional |
HouseName | String | 26 | Optional |
HouseNumber | String | 26 | Optional |
Postcode | String | 8 | Optional |
Street | String | 40 | Optional |
County | String | 20 | Optional |
City | String | 20 | Optional |
String | 30 | Optional | |
MobileNumber | String | 12 | Optional |
Requirements
This service requires at least one of DOB, Email, Mobile number or Address to be provided with Forename + Surname.
A valid Address must contain at least a House Name/House Number, Street and Postcode.
Sandbox
Use these set responses to test your integration. Learn how to use our Sandbox here.
(Click on the row to see the result)
Sandbox Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth |
---|---|---|---|---|
John | Gurung | 1 | 1 | 1985 |
dean | Webb | 1 | 1 | 1985 |
mojhaid | Donnellan | 1 | 1 | 1985 |
Andrejs | mitchell | 1 | 1 | 1985 |
Richard | Hewlett | 1 | 1 | 1985 |
W2 Data RNS 007
About the service
Product Code: W2_Data_RNS_007
RNS 007 is part of W2’s Affordability suite of services.
The service returns a score based on an individual’s ability to afford your product or service. The score comprises of numerous public data derived characteristics, the data sources being predominantly Electoral Roll, CCJ & Postcode statistics.
Request
# Example request with all fields
{
"Bundle": "W2DataRNS007",
"Data": {
"Forename": "Hywel",
"Surname": "Griffiths",
"Street": "Churchway Road",
"Postcode": "LL28 4DB",
"HouseNumber": "31",
"City": "Colwyn Bay",
"DayOfBirth":18,
"MonthOfBirth":8,
"YearOfBirth":1991
},
"Options": {
"Sandbox": "true"
},
"ClientReference": "your-client-reference"
}
These are the request properties available to this service:
Property Name | Type | Length | Optional/Mandatory |
---|---|---|---|
Title | String | 15 | Optional |
Forename | String | 15 | Mandatory |
MiddleNames | String | 15 | Optional |
Surname | String | 30 | Mandatory |
DayOfBirth | Integer | 2 | Optional |
MonthOfBirth | Integer | 2 | Optional |
YearOfBirth | Integer | 4 | Optional |
HouseName | String | 26 | Optional** |
HouseNumber | String | 26 | Optional** |
Postcode | String | 8 | Mandatory |
Street | String | 36 | Mandatory |
City | String | 58 | Mandatory |
** One of HouseName or HouseNumber is required.
Response
Response example
Response example in the right column ->
# Example response
"w2DataRNS007Result": {
"score": 350
}
Response Breakdown
Property | Description |
---|---|
Score | An integer between 0 and 500. A lower score denotes the applicant is poorer quality and is therefore more likely to enter arrears. A higher score denotes the applicant is of better quality and is more likely to keep up to date with payments towards credit agreements |
Sandbox
Use these set responses to test your integration. Learn how to use our Sandbox here.
(Click on the row to see the result)
Sandbox Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | House Number | Street | City | Postcode |
---|---|---|---|---|---|---|---|---|
Harri | Vaughan | 13 | 5 | 1990 | 13 | Powers Close | Wrexham | LL11 0FB |
Rhisiart | Cecil | 28 | 8 | 1986 | 41 | Church Close | Cardiff | CF10 1AB |
Gwawr | Prichard | 26 | 7 | 1968 | 20 | Torbay Road | Llanelli | SA14 8AF |
Hywel | Griffiths | 18 | 8 | 1991 | 31 | Churchway Road | Colwyn Bay | LL28 4DB |
Deprecated Services
W2 Data Post Redirect 028
W2 Data Post Redirect 028 This service searches a Royal Mail database of Notifications of Change of Address (NCOA) to see if a redirect exists for an individual at a particular address.
Due to the nature of our contract with Royal Mail we can only confirm that a redirect exists and the status of the redirect (Active, Cancelled, Expired, Pending). We cannot confirm whether the redirect is from or to the address in question.
We can only include this service in a bundle with other services.
Query Data
The API uses the following Query Data fields for this service.
Property Name | Type | Optional/Mandatory |
---|---|---|
Forename | string | Mandatory |
Surname | string | Mandatory |
HouseName | string | Mandatory* |
HouseNumber | string | Mandatory* |
Flat | string | Optional |
Street | string | Optional |
City | string | Optional |
Postcode | string | Mandatory |
DayOfBirth | integer | Optional |
MonthOfBirth | integer | Optional |
YearOfBirth | integer | Optional |
Please note that for this service we have to use exact matching to perform our searching, so for example Dave Smith would not match David Smith.
The minimum address fields we require is house name/number and postcode. The address match has to be exact for us to return a match so the more address information that can be supplied the better chances there will be of finding a match.
Date of birth is optional but if included must include all three fields and be a valid date.
Response
In the <ServiceResult>
section of the response we return the <W2DataPostRedirectResult>
element which contains the following fields:
Example Response
"w2DataPostRedirect028Result": {
"matchFound": true,
"redirectionStatus":"Active"
}
<W2DataPostRedirect028Result>
<MatchFound>true | false</MatchFound>
<RedirectionStatus>Active | Cancelled | Expired | Pending</RedirectionStatus>
</W2DataPostRedirect028Result>
In the <ServiceTransactions>
element we return a <ServiceTransactionInformation>
element as per our usual services. The <ServiceInterpretResult>
element will either be OneResult or NoResults.
Sandbox
The following table lists all sandbox cases that will return a result for this service.
Sandbox Example Cases
(Click on a sandbox case to see the service result data here)
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | Flat | House Name/Number | Postcode | Result |
---|---|---|---|---|---|---|---|---|
Ahenobarbus | Michal | 31 | 12 | 1944 | 68 | RH13 3HE | OneResult | |
James | Thorpe | 10 | 6 | 1978 | 4 | AB54 4PN | OneResult |
W2 Data EKYC Lite US 005 Service
Query Data
The following QueryData elements pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
Forename | String | 15 | Mandatory | |
MiddleNames | String | 15 | Optional | |
Surname | String | 30 | Mandatory | |
Gender | String | Optional | Must be ‘M’ or ‘F’ if provided | |
DayOfBirth | Integer | 2 | Optional | |
MonthOfBirth | Integer | 2 | Optional | |
YearOfBirth | Integer | 4 | Optional | |
HouseName | String | 26 | Mandatory if no HouseNumber given | |
HouseNumber | String | 26 | Mandatory if no HouseName given | |
Street | String | 255 | Mandatory | |
Region | String | 2 | Mandatory | Must be a USA state code in two letter format, e.g. “OH” |
City | String | 100 | Mandatory | |
Postcode | String | 5 | Mandatory | Must be five numeric digits |
Phone Number | String | 16 | Optional | Please provide the phone number as one contiguous set of numbers with no other characters or spaces. |
PersonalId | String | 11 | Optional | Personal ID is US Social Security Number and can be in any one of the three formats:’xxx-xx-xxxx’ or ‘xxx xx xxxx’ or ‘xxxxxxxxx’ |
After performing the search, the validation result (pass, fail, etc.) will be part of the TransactionInformation returned for the service call.
Request
Sample Request
"Data": {
"City": "BURLESON",
"Forename": "DARRELL",
"Gender": "M",
"HouseNumber": "2624",
"PhoneNumber": "8174473203",
"Postcode": "76028",
"Region": "TX",
"Street": "CASTLE PINES DR",
"Surname": "BOEDEKER"
}
<QueryData>
<City>BURLESON</City>
<Forename>DARRELL</Forename>
<Gender>M</Gender>
<HouseNumber>2624</HouseNumber>
<PhoneNumber>8174473203</PhoneNumber>
<Postcode>76028</Postcode>
<Region>TX</Region>
<Street>CASTLE PINES DR</Street>
<Surname>BOEDEKER</Surname>
</QueryData>
Response
The following shows the basic schema for the <W2DataEkycLiteUs005Result>
object that is returned in the <ServiceResult>
Section of the <ProcessRequestResult>
object.
Sample Response
"w2DataEkycLiteUs005Result": {
"dataSources": [{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddress",
"NumberOfMatches": 1,
"Source": "MortalityData"
}
],
"interpretResult": "Pass",
"Message": "The call was successful",
"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycLiteUs005Result>
<DataSources>
<!-- An array of MatchingSource elements -->
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>
{ true | false }
</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>
{
NameAndAddress | NameAndDateOfBirth |
NameAndAddressAndDateOfBirth | MortalityHighConfidence |
MortalityLowConfidence
}
</MatchingCriteria>
<NumberOfMatches>
{ 0 - 99 }
<NumberOfMatches>
<Source>
{
0 = NotAssigned
6 = MortalityData
8 = Credit
14 = Telephone
16 = SSN
17 = DrivingLicence
}
<Source>
</MatchingSource>
</DataSources>
<InterpretResult>
{
NotPerformed | Pass | Fail | Refer |
NotApplicable | NoInterpretPerformed
}
</InterpretResult>
<Message>
{ A message containing additional information about the call }
</Message>
<TransactionResult>
{
None | Success | SuccessNoResults | SuccessIncompleteResults |
MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
}
</TransactionResult>
</W2DataEkycLiteUs005Result>
Example Response
Example Response
"w2DataEkycLiteUs005Result": {
"dataSources": [{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddress",
"NumberOfMatches": 1,
"Source": "MortalityData"
},{
"AllowMultipleRecordsAsSeparateDataSources": false,
"MatchingCriteria": "NameAndAddressAndDateOfBirth",
"NumberOfMatches": 3,
"Source": "Credit"
}
],
"interpretResult": "Pass",
"Message": "The call was successful",
"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycLiteUs005Result>
<DataSources>
<MatchingSource>
<AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
<MatchingCriteria>NameAndAddress</MatchingCriteria>
<NumberOfMatches>1</NumberOfMatches>
<Source>1</Source>
</MatchingSource>
</DataSources>
<InterpretResult>Pass</InterpretResult>
<Message>This call was generated using sandbox mode</Message>
<TransactionResult>Success</TransactionResult>
</W2DataEkycLiteUs005Result>
Transaction Result
HaltTriggered | Usually false, but can be true if this service is used within a bundle that can trigger a halt condition. |
ServiceTransactionResult | - Success - SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated - SuccessNoResults - No matches found - ServerErrorGeneralError - An error occurred - ServiceFailureError - Unable to contact third party service - ClientErrorInsufficientInformation- Required field not supplied or insufficient/invalid information |
ServiceInterpretResult | - Pass - Fail - Refer - NoInterpretPerformed - NotPerformed - An error occurred and the search was not performed |
ServiceTransactionResultMessage | Usually empty, can contain optional information such as too many matches etc. |
ValidationResult | - Pass - NotPerformed - No search occurred to match against -Fail -MissingMandatoryField or PatternNotMatched |
Sandbox
Sandbox mode can be used to test the service. By setting the following query option and sending some the below query data we will return a pre-configured response without actually calling our suppliers.
Query options for Sandbox
"options": {
"sandbox": "true"
}
<QueryOptions>
<KeyValueOfstringstring>
<Key>Sandbox</Key>
<Value>true</Value>
</KeyValueOfstringstring>
</QueryOptions>
Forename | Surname | Day Of Birth | Month Of Birth | Year Of Birth | House Number | Street | City | Region | Postcode | Personal Id | Result |
---|---|---|---|---|---|---|---|---|---|---|---|
Angela | Huggins | 13 | 6 | 1970 | 3912 | Atha Drive | Bakersfield | CA | 93301 | No Matches Found | |
Ashley | Reinhardt | 11 | 4 | 1971 | 2647 | Lighthouse Drive | Springfield | MO | 65806 | 1x Name & Address & DOB - Credit | |
Danielle | Estrada | 3 | 8 | 1990 | 2473 | Pringle Drive | Chicago | IL | 60605 | 1x Name & Address - Telco | |
David | Bergeron | 3 | 10 | 1993 | 1156 | Sardis Station | Golden Valley | MN | 55427 | 501113964 | 1x Name & Address & DOB - SSN |
Eric | Glenn | 23 | 1 | 1974 | 1371 | Eva Pearl Street | Monticello | LA | 70814 | 1x Name & Address - Credit | |
James | Silvestre | 24 | 1 | 1980 | 3443 | Valley Street | Salem | NJ | 08079 | 1x Name &Address - Driving License | |
Marie | Hawks | 2 | 7 | 1974 | 1139 | Dogwood Road | Phoenix | AZ | 85008 | 1x Name & Address - Telco | |
Samuel | Witt | 20 | 10 | 1994 | 2893 | Walton Street | Salem | UT | 84653 | 254420123 | 1x Name & Address - SSN |
Sharen | Holt | 21 | 2 | 1968 | 2053 | Rhapsody Street | Gainesville | FL | 32607 | 1x Name & Address - Credit | |
1x Name & Address & DOB - SSN | |||||||||||
Timothy | Mesa | 21 | 9 | 1984 | 30111 | Conifer Drive | Seattle | WA | 98109 | 1x Name & Address - Driving License |
ID Check Address Lookup
IDCheckAddressLookup is an address verification service. It provides a fully-formed address where partial details are provided. If there are multiple possible matches, it provides the list of them, up to a limit of 100.
Query Data
The following elements of the Query Data pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
———————- | ——— | ———- | —————————– | ———- |
HouseName | String | 26 | Optional | |
HouseNumber | String | 26 | Optional | |
Street | String | 40 | Optional | |
County | String | 20 | Optional | |
City | String | 20 | Optional | |
Postcode | String | 8 | Notes Below | Mandatory only if the addresslookupref query option is not set (see below). |
Country | String | 3 | Optional | If set, must be a valid three-letter ISO country code as described here. If not set, the search will be within the United Kingdom (GBR) |
Notes
- Usually this service is part of a larger bundle and appears toward the start of the workflow. If it finds a single address, the full details are retrieved and used to override address fields in QueryData.
If there are multiple matches, each match will have an IDCheckAddressLookupAddressCode element. You can use this address code to call the API again and retrieve that specific address only. To do this add a QueryOptions property with key addresslookupref and with the address code as the value. If this QueryOptions parameter is provided the above QueryData will be ignored. It is mandatory that one of the following is provided:
- addresslookupref as a QueryOptions parameter
- Postcode
Query Options
When the service finds one result, instead of returning a ‘Find’ result (discovering the address matches linked to the query information), the service will return a ‘Retrieve’ result (get all of the information pertaining to that address).
If you would like to override this behaviour, you can use the retrieveifsingle query option. If you set this value to false, instead of performing a ‘Retrieve’, the service will peform a ‘Find’ but only return the one result available.
All other values will ignore this key, and return the ‘Retrieve’ result upon a single match.
Retrieve Override if one match found
<QueryOptions>
<KeyValueOfstringstring>
<Key>retrieveifsingle</Key>
<Value>false</Value>
</KeyValueOfstringstring>
</QueryOptions>
"Options" : {
"retrieveifsingle":"false"
}
Response
Example Response
<IDCheckAddressLookupResult>
<IDCheckAddressLookupMatches>
<!-- One or more of these -->
<IDCheckAddressLookupMatch>
<AdminAreaCode/>
<AdminAreaName/>
<Barcode/>
<Block/>
<BuildingName/>
<BuildingNumber/>
<CheckAddressType>Unknown</CheckAddressType>
<City/>
<Company/>
<CountryIso2/>
<CountryIso3/>
<CountryIsoNumber/>
<CountryName/>
<DataLevel>Unknown</DataLevel>
<Department/>
<District/>
<DomesticId/>
<IDCheckAddressLookupAddressCode>GBR|53587885</IDCheckAddressLookupAddressCode>
<Label/>
<Language/>
<LanguageAlternatives/>
<Line1/>
<Line2/>
<Line3/>
<Line4/>
<Line5/>
<Neighbourhood/>
<POBoxNumber/>
<PostalCode/>
<Province/>
<ProvinceCode/>
<ProvinceName/>
<SecondaryStreet/>
<SortingNumber1/>
<SortingNumber2/>
<Street/>
<SubBuilding/>
<Text>BS1 5EH, Avon Imaging Ltd, 13-14, Orchard Street, Bristol</Text>
</IDCheckAddressLookupMatch>
<IDCheckAddressLookupMatches>
</IDCheckAddressLookupResult>
"idCheckAddressLookupResult": {
"idCheckAddressLookupMatches": [{
"checkAddressType": "Unknown",
"dataLevel": "Unknown",
"idCheckAddressLookupAddressCode": "GBR|PR|2700912|0|0|0",
"text": "30a Kensal Road, Bristol, BS3..."
}, {
"checkAddressType": "Unknown",
"dataLevel": "Unknown",
"idCheckAddressLookupAddressCode": "GBR|PR|25898718|0|0|0",
"text": "30b Kensal Road, Bristol, BS3..."
}
]
}
Sandbox
Query options for Sandbox
"options": {
"sandbox": "true"
}
<QueryOptions>
<KeyValueOfstringstring>
<Key>Sandbox</Key>
<Value>true</Value>
</KeyValueOfstringstring>
</QueryOptions>
Example 1
<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>OneResult</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
"HaltTriggered": "False",
"ServiceTransactionResult": "Success",
"ServiceInterpretResult": "OneResult",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
Example 2
<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>OneResult</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
"HaltTriggered": "False",
"ServiceTransactionResult": "Success",
"ServiceInterpretResult": "OneResult",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
Example 3
<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>MultipleResults</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
"HaltTriggered": "False",
"ServiceTransactionResult": "Success",
"ServiceInterpretResult": "MultipleResults",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
Example 4
<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>SuccessNoResults</ServiceTransactionResult>
<ServiceInterpretResult>NotApplicable</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
"HaltTriggered": "False",
"ServiceTransactionResult": "SuccessNoResults",
"ServiceInterpretResult": "NotApplicable",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
Example 5
<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>SuccessNoResults</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
"HaltTriggered": "False",
"ServiceTransactionResult": "SuccessNoResults",
"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
"ValidationResult": "NotApplicable"
}
W2 Data Address Lookup 007
W2DataAddressLookup007Service is an address verification service. It provides a fully-formed address where partial details are provided. If there are multiple possible matches, it provides the list of them, up to a limit of 100.
Properties
The following properties pertain to this service.
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
HouseNameNumber | String | 26 | Mandatory if no HouseName or HouseNumber given | |
HouseName | String | 26 | Mandatory if no HouseNameNumber or HouseNumber given | |
HouseNumber | String | 26 | Mandatory if no HouseNameNumber or HouseName given | |
Postcode | String | 8 | Mandatory | |
Street | String | 40 | Optional | |
County | String | 20 | Optional | |
City | String | 20 | Optional | |
Country | String | 3 | Optional | If set, must be a valid three-letter ISO country code as described here. If not set, the search will be within the United Kingdom (GBR) |
Notes
- Usually this service is part of a larger bundle and appears toward the start of the workflow. Each address match will have an AddressId element. You can use this address code to call the W2_Data_Ekyc_Uk_007 Service again and retrieve that specific address only. To do this add a QueryOptions property with key AddressLookupRef and with the address code as the value.
If this QueryOptions parameter is provided the above QueryData will be ignored.
Response
Example Response
<W2DataAddressLookUp007Result>
<!-- One or more of these -->
<AddressMatches>
<AddressMatch>
<AddressId>TEST0004494</AddressId>
<Country />
<County>ISLE OF SKYE</County>
<District />
<HouseName />
<HouseNumber>FLAT 3</HouseNumber>
<PoBox />
<PostCode>IV448TZ</PostCode>
<PostTown>TRAINING TOWN</PostTown>
<Street1>HEATHFIELD HOUSE</Street1>
<Street2>ROWLANDS CLOSE</Street2>
<SubBuilding />
</AddressMatch>
</AddressMatches>
<MatchType>MultipleMatch</MatchType>
</W2DataAddressLookUp007Result>
"w2DataAddressLookUp007Result": {
"addressMatches": [
{
"houseNumber": "42",
"postCode": "hu12 9fl",
"postTown": "Some Town",
"street1": "Some Street"
}
],
"matchType": "FullMatch"
}
Sandbox
Query options for Sandbox
"options": {
"sandbox": "true"
}
<QueryOptions>
<KeyValueOfstringstring>
<Key>Sandbox</Key>
<Value>true</Value>
</KeyValueOfstringstring>
</QueryOptions>
HaltTriggered | False |
ServiceTransactionResult | Success |
ServiceInterpretResult | NoResults |
ServiceTransactionResultMessage | “This call was generated using sandbox mode” |
ValidationResult | NotApplicable |
HaltTriggered | False |
ServiceTransactionResult | Success |
ServiceInterpretResult | MultipleResults |
ServiceTransactionResultMessage | “This call was generated using sandbox mode” |
ValidationResult | NotApplicable |
HaltTriggered | False |
ServiceTransactionResult | Success |
ServiceInterpretResult | OneResult |
ServiceTransactionResultMessage | “This call was generated using sandbox mode” |
ValidationResult | NotApplicable |
HaltTriggered | False |
ServiceTransactionResult | Success |
ServiceInterpretResult | MultipleResults |
ServiceTransactionResultMessage | “This call was generated using sandbox mode” |
ValidationResult | NotApplicable |
EKYB IDS
EKYB Identifier Data Set is a KYB service that provides the ability to globally search for a company by name or Registration number. The result returned contains one or more matching companies (currently limited to 10). Each matching company contains a small data set of information about the company including a unique identifier (id) field which is essential should the consumer wish to retrieve a detailed data set about the company.
Product Code: EKYB_IDS
Properties
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
NameQuery | String | min. 3 | Optional | See notes below |
CompanyRegNumber | String | Optional | See notes below | |
Country | String - 3 letter ISO Standard Country code | 3 | Mandatory | |
Region | String - 2 letter USA state code | 2 | Optional | See notes below |
Notes
Either NameQuery in QueryData or CompanyRegNumber in QueryOptions must be supplied in order to perform company search.
If Country code is USA, 2 letter USA state code can be optionally provided as a Region.
Examples
Request example 1:
{
"Data": {
"NameQuery": "W2 Global Data",
"Country": "GBR"
}
}
<QueryData>
<Country>GBR</Country>
<NameQuery>W2 Global Data</NameQuery>
</QueryData>
Request example 2:
{
"Data": {
"Country": "GBR"
},
"Options": {
"CompanyRegNumber": "07669978"
}
}
<QueryData>
<Country>GBR</Country>
</QueryData>
<QueryOptions>
<KeyValueOfstringstring>
<Key>CompanyRegNumber</Key>
<Value>07669978</Value>
</KeyValueOfstringstring>
</QueryOptions>
Example Response
{
"ekybIdsResult": {
"companies": [
{
"country": "GBR",
"id": "6C0E94A0789779CCDFEC1B4686C6DCD2",
"name": "W2 Global Data Solutions Limited",
"registrationNumber": "07669978"
},
{
"country": "GBR",
"id": "FB6C26769EE5EF680839AB1A2AF0468B",
"name": "W2 Global Data Solutions",
"registrationNumber": "07669938"
}
]
}
}
<EkybIdsResult>
<Companies>
<c:EkybIdsCompany>
<c:Country>GBR</c:Country>
<c:Id>6C0E94A0789779CCDFEC1B4686C6DCD2</c:Id>
<c:Name>W2 Global Data Solutions Limited</c:Name>
<c:RegistrationNumber>07669978</c:RegistrationNumber>
</c:EkybIdsCompany>
<c:EkybIdsCompany>
<c:Country>GBR</c:Country>
<c:Id>FB6C26769EE5EF680839AB1A2AF0468B</c:Id>
<c:Name>W2 Global Data Solutions</c:Name>
<c:RegistrationNumber>07669938</c:RegistrationNumber>
</c:EkybIdsCompany>
</Companies>
</EkybIdsResult>
EKYB DDS
EKYB Dynamic Data Set is a KYB service which allows consumers to retrieve the fresh company data set from the primary source register. This service will perform a live company check and return the most up-to-date data back.
Product Code: EKYB_DDS
Properties
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
CompanyId | String | 32 - alphanumeric characters | Mandatory | See notes below |
Notes
CompanyId is the unique identifier of a company which is typically retrieved by performing EKYB_IDS check.
Examples
Example Request:
{
"Options": {
"CompanyId": "6C0E94A0789779CCDFEC1B4686C6DCD2"
}
}
<QueryOptions>
<KeyValueOfstringstring>
<Key>CompanyId</Key>
<Value>6C0E94A0789779CCDFEC1B4686C6DCD2</Value>
</KeyValueOfstringstring>>
</QueryOptions>
Example Response:
{
"ekybDdsResult": {
"company": {
"address": [
"3 Alexandra Gate",
"Ffordd Pengam",
"Cardiff",
"CF24 2SA",
"Wales"
],
"country": "GBR",
"dateOfIncorporation": "2011-06-14",
"extraData": {
"activity": "Sample activity",
"authorizedCapital": "500000",
"currentAppointments": "5",
"dateNameChange": "2019-05-10",
"dissolutionDate": "2019-05-10",
"email": "[email protected]",
"englishName": "Sample business english",
"fax": "(+44) 0330 088 9542",
"lei": "984500846DF40E859999",
"linkedin": "https://www.linkedin.com/company/sample",
"listedOnStockExchange": "false",
"mobile": "(+44) 0330 088 9542",
"numberOfEmployees": "999",
"oenace": "99999",
"otherName": "Sample business2",
"phone": "(+44) 0330 088 9542",
"providedStatus": "ACTIVE",
"registerCourt": "Sample",
"registrarOfCompanies": "Sample",
"remarks": "Optional Remarks",
"resignedAppointments": "5",
"securities": "Sample",
"shareCapital": "99999",
"shareCurrency": "GBP",
"shareDescription": "Description",
"siret": "32295938800016",
"state": "State",
"taxCode": "9999999",
"url": "https://sample.com",
"vat": "GB869155189"
},
"formattedAddress": {
"careOf": "",
"cc": "UK",
"city": "Cardiff",
"country": "Wales",
"district": "Ffordd Pengam",
"extra": "extra",
"number": "number",
"region": "region",
"state": "state",
"street": "3 Alexandra Gate",
"zip": "CF24 2SA"
},
"id": "6C0E94A0789779CCDFEC1B4686C6DCD2",
"lastAnnouncementDate": "2019-05-10",
"latestAccounts": {
"category": "small",
"lastMadeUpDate": "2019-12-31",
"nextDueDate": "2021-09-30",
"overdue": "false",
"referenceDate": "31-12"
},
"latestReturn": {
"lastMadeUpDate": "2018-06-14",
"nextDueDate": "2019-06-28",
"overdue": "NO"
},
"legalForm": "ltd",
"managingDirectors": [
"Sample name 1",
"Sample name 2"
],
"name": "W2 Global Data Solutions Limited",
"people": {
"agent": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"position": "agent",
"role": "agent",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"director": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"position": "Director",
"role": "Sample role",
"startDate": "2018-10-26",
"status": "CURRENT"
}
],
"eeigManager": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"position": "EEIG Manager",
"role": "EEIG Manager",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"factor": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"liquidator": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"position": "agent",
"role": "agent",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"managingDirector": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"parsedSignatureRights": "Sample",
"position": "Managing director",
"role": "Managing director",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"member": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"position": "Board member",
"role": "Board member",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"officer": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"position": "Chief Technical Owner",
"role": "Chief Technical Owner",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"person": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"personAuthorised": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"receiver": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"secretary": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"position": "Secretary",
"role": "Secretary",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"shareholder": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"capital": "50000",
"isCorporate": "1",
"name": "First Owning Samplecompany",
"numberOfShares": "5",
"percentage": "5",
"status": "CURRENT"
},
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"name": "Second Owning Samplecompany",
"percentage": "95",
"status": "CURRENT"
}
],
"ultimateBeneficialOwner": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"position": "UBO",
"role": "UBO",
"startDate": "2000-01-01",
"status": "CURRENT"
}
]
},
"rawAddress": "3 Alexandra Gate, Ffordd Pengam, Cardiff, CF24 2SA",
"registrationNumber": "07669978",
"relations": {
"branch": [
{
"address": [
"32 New Street",
"W1T 1JY",
"London"
],
"formattedAddress": {
"cc": "",
"city": "London",
"number": "32",
"street": "New Street",
"zip": "W1T 1JY"
},
"identity": "0099CF4AAB78FF3181A1043C73199A8E",
"status": "LIVE"
},
{
"address": [
"32 New Street",
"W1T 1JY",
"London"
],
"formattedAddress": {
"cc": "",
"city": "London",
"number": "32",
"street": "New Street",
"zip": "W1T 1JY"
},
"identity": "CCA601201F3C4A9AAFA981BC164F3A2A",
"status": "LIVE"
}
],
"inRelation": [
{
"address": [
"32 New Street",
"W1T 1JY",
"London"
],
"formattedAddress": {
"cc": "",
"city": "London",
"number": "32",
"street": "New Street",
"zip": "W1T 1JY"
},
"identity": "E0A51ABD448B4EEABAD6E474E0EE6B12",
"status": "LIVE"
}
],
"replacedBy": [
{
"address": [
"32 New Street",
"W1T 1JY",
"London"
],
"formattedAddress": {
"cc": "",
"city": "London",
"number": "32",
"street": "New Street",
"zip": "W1T 1JY"
},
"identity": "994DA12329674684A4FB31C0B66D8C98",
"status": "LIVE"
}
],
"replaces": [
{
"address": [
"32 New Street",
"W1T 1JY",
"London"
],
"formattedAddress": {
"cc": "",
"city": "London",
"number": "32",
"street": "New Street",
"zip": "W1T 1JY"
},
"identity": "1C8F81E506A44F829E0C4312DDCBB655",
"status": "LIVE"
}
],
"splitInto": [
{
"address": [
"32 New Street",
"W1T 1JY",
"London"
],
"formattedAddress": {
"cc": "",
"city": "London",
"number": "32",
"street": "New Street",
"zip": "W1T 1JY"
},
"identity": "2B1E86C5E490401184951D33ECFEFAD0",
"status": "LIVE"
}
],
"takenOverBy": [
{
"address": [
"32 New Street",
"W1T 1JY",
"London"
],
"formattedAddress": {
"cc": "",
"city": "London",
"number": "32",
"street": "New Street",
"zip": "W1T 1JY"
},
"identity": "802C7644337F4EDD9FA4CEDE50C29A49",
"status": "LIVE"
}
],
"tookOver": [
{
"address": [
"32 New Street",
"W1T 1JY",
"London"
],
"formattedAddress": {
"cc": "",
"city": "London",
"number": "32",
"street": "New Street",
"zip": "W1T 1JY"
},
"identity": "FE10A780BCCB460FA7FE92A9E99DB788",
"status": "LIVE"
}
]
},
"secretaries": [
"Sample name"
],
"sicNaceCodes": [
"63110"
],
"signatureRights": "Sample signatureRights",
"status": "LIVE",
"structuredNaceCodes": [
{
"code": "12345678",
"description": "Sample remote data base information retrieval",
"type": "Sample type"
},
{
"code": "999999",
"description": "Sample Information Services",
"type": "Sample type"
}
],
"typeOfOwnership": []
}
}
}
<EkybDdsResult>
<Company>
<Address>
<string>3 Alexandra Gate</string>
<string>Ffordd Pengam</string>
<string>Cardiff</string>
<string>CF24 2SA</string>
<string>Wales</string>
</Address>
<Country>GBR</Country>
<DateOfIncorporation>2011-06-14</DateOfIncorporation>
<ExtraData>
<Activity>Sample activity</Activity>
<AuthorizedCapital>500000</AuthorizedCapital>
<CurrentAppointments>5</CurrentAppointments>
<DateNameChange>2019-05-10</DateNameChange>
<DissolutionDate>2019-05-10</DissolutionDate>
<Email>[email protected]</Email>
<EnglishName>Sample business english</EnglishName>
<Fax>(+44) 0330 088 9542</Fax>
<Lei>984500846DF40E859999</Lei>
<Linkedin>https://www.linkedin.com/company/sample</Linkedin>
<ListedOnStockExchange>false</ListedOnStockExchange>
<Mobile>(+44) 0330 088 9542</Mobile>
<NumberOfEmployees>999</NumberOfEmployees>
<Oenace>99999</Oenace>
<OtherName>Sample business2</OtherName>
<Phone>(+44) 0330 088 9542</Phone>
<ProvidedStatus>ACTIVE</ProvidedStatus>
<RegisterCourt>Sample</RegisterCourt>
<RegistrarOfCompanies>Sample</RegistrarOfCompanies>
<Remarks>Optional Remarks</Remarks>
<ResignedAppointments>5</ResignedAppointments>
<Securities>Sample</Securities>
<ShareCapital>99999</ShareCapital>
<ShareCurrency>GBP</ShareCurrency>
<ShareDescription>Description</ShareDescription>
<Siret>32295938800016</Siret>
<State>State</State>
<TaxCode>9999999</TaxCode>
<Url>https://sample.com</Url>
<Vat>GB869155189</Vat>
</ExtraData>
<FormattedAddress>
<CareOf/>
<Cc>UK</Cc>
<City>Cardiff</City>
<Country>Wales</Country>
<District>Ffordd Pengam</District>
<Extra>extra</Extra>
<Number>number</Number>
<Region>region</Region>
<State>state</State>
<Street>3 Alexandra Gate</Street>
<Zip>CF24 2SA</Zip>
</FormattedAddress>
<Id>6C0E94A0789779CCDFEC1B4686C6DCD2</Id>
<LastAnnouncementDate>2019-05-10</LastAnnouncementDate>
<LatestAccounts>
<Category>small</Category>
<LastMadeUpDate>2019-12-31</LastMadeUpDate>
<NextDueDate>2021-09-30</NextDueDate>
<Overdue>false</Overdue>
<ReferenceDate>31-12</ReferenceDate>
</LatestAccounts>
<LatestReturn>
<LastMadeUpDate>2018-06-14</LastMadeUpDate>
<NextDueDate>2019-06-28</NextDueDate>
<Overdue>NO</Overdue>
</LatestReturn>
<LegalForm>ltd</LegalForm>
<ManagingDirectors>
<string>Sample name 1</string>
<string>Sample name 2</string>
</ManagingDirectors>
<Name>W2 Global Data Solutions Limited</Name>
<People>
<Agent>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position>agent</Position>
<Role>agent</Role>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Agent>
<Director>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position>Director</Position>
<Role>Sample role</Role>
<StartDate>2018-10-26</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Director>
<EeigManager>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position>EEIG Manager</Position>
<Role>EEIG Manager</Role>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</EeigManager>
<Factor>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position/>
<Role/>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Factor>
<Liquidator>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position>agent</Position>
<Role>agent</Role>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Liquidator>
<ManagingDirector>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights>Sample</ParsedSignatureRights>
<Position>Managing director</Position>
<Role>Managing director</Role>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</ManagingDirector>
<Member>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position>Board member</Position>
<Role>Board member</Role>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Member>
<Officer>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position>Chief Technical Owner</Position>
<Role>Chief Technical Owner</Role>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Officer>
<Person>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position/>
<Role/>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Person>
<PersonAuthorised>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position/>
<Role/>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</PersonAuthorised>
<Receiver>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position/>
<Role/>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Receiver>
<Secretary>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position>Secretary</Position>
<Role>Secretary</Role>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Secretary>
<Shareholder>
<EkybCompanyShareholder>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<Capital>50000</Capital>
<IsCorporate>1</IsCorporate>
<Name>First Owning Samplecompany</Name>
<NumberOfShares>5</NumberOfShares>
<Percentage>5</Percentage>
<Status>CURRENT</Status>
</EkybCompanyShareholder>
<EkybCompanyShareholder>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<Capital/>
<IsCorporate/>
<Name>Second Owning Samplecompany</Name>
<NumberOfShares/>
<Percentage>95</Percentage>
<Status>CURRENT</Status>
</EkybCompanyShareholder>
</Shareholder>
<UltimateBeneficialOwner>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position>UBO</Position>
<Role>UBO</Role>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</UltimateBeneficialOwner>
</People>
<RawAddress>3 Alexandra Gate, Ffordd Pengam, Cardiff, CF24 2SA</RawAddress>
<RegistrationNumber>07669978</RegistrationNumber>
<Relations>
<Branch>
<EkybCompanyBranch>
<Address>
<string>32 New Street</string>
<string>W1T 1JY</string>
<string>London</string>
</Address>
<FormattedAddress>
<CareOf/>
<Cc/>
<City>London</City>
<Country/>
<District/>
<Extra/>
<Number>32</Number>
<Region/>
<State/>
<Street>New Street</Street>
<Zip>W1T 1JY</Zip>
</FormattedAddress>
<Identity>0099CF4AAB78FF3181A1043C73199A8E</Identity>
<Status>LIVE</Status>
</EkybCompanyBranch>
<EkybCompanyBranch>
<Address>
<string>32 New Street</string>
<string>W1T 1JY</string>
<string>London</string>
</Address>
<FormattedAddress>
<CareOf/>
<Cc/>
<City>London</City>
<Country/>
<District/>
<Extra/>
<Number>32</Number>
<Region/>
<State/>
<Street>New Street</Street>
<Zip>W1T 1JY</Zip>
</FormattedAddress>
<Identity>CCA601201F3C4A9AAFA981BC164F3A2A</Identity>
<Status>LIVE</Status>
</EkybCompanyBranch>
</Branch>
<InRelation>
<EkybCompanyBranch>
<Address>
<string>32 New Street</string>
<string>W1T 1JY</string>
<string>London</string>
</Address>
<FormattedAddress>
<CareOf/>
<Cc/>
<City>London</City>
<Country/>
<District/>
<Extra/>
<Number>32</Number>
<Region/>
<State/>
<Street>New Street</Street>
<Zip>W1T 1JY</Zip>
</FormattedAddress>
<Identity>E0A51ABD448B4EEABAD6E474E0EE6B12</Identity>
<Status>LIVE</Status>
</EkybCompanyBranch>
</InRelation>
<ReplacedBy>
<EkybCompanyBranch>
<Address>
<string>32 New Street</string>
<string>W1T 1JY</string>
<string>London</string>
</Address>
<FormattedAddress>
<CareOf/>
<Cc/>
<City>London</City>
<Country/>
<District/>
<Extra/>
<Number>32</Number>
<Region/>
<State/>
<Street>New Street</Street>
<Zip>W1T 1JY</Zip>
</FormattedAddress>
<Identity>994DA12329674684A4FB31C0B66D8C98</Identity>
<Status>LIVE</Status>
</EkybCompanyBranch>
</ReplacedBy>
<Replaces>
<EkybCompanyBranch>
<Address>
<string>32 New Street</string>
<string>W1T 1JY</string>
<string>London</string>
</Address>
<FormattedAddress>
<CareOf/>
<Cc/>
<City>London</City>
<Country/>
<District/>
<Extra/>
<Number>32</Number>
<Region/>
<State/>
<Street>New Street</Street>
<Zip>W1T 1JY</Zip>
</FormattedAddress>
<Identity>1C8F81E506A44F829E0C4312DDCBB655</Identity>
<Status>LIVE</Status>
</EkybCompanyBranch>
</Replaces>
<SplitInto>
<EkybCompanyBranch>
<Address>
<string>32 New Street</string>
<string>W1T 1JY</string>
<string>London</string>
</Address>
<FormattedAddress>
<CareOf/>
<Cc/>
<City>London</City>
<Country/>
<District/>
<Extra/>
<Number>32</Number>
<Region/>
<State/>
<Street>New Street</Street>
<Zip>W1T 1JY</Zip>
</FormattedAddress>
<Identity>2B1E86C5E490401184951D33ECFEFAD0</Identity>
<Status>LIVE</Status>
</EkybCompanyBranch>
</SplitInto>
<TakenOverBy>
<EkybCompanyBranch>
<Address>
<string>32 New Street</string>
<string>W1T 1JY</string>
<string>London</string>
</Address>
<FormattedAddress>
<CareOf/>
<Cc/>
<City>London</City>
<Country/>
<District/>
<Extra/>
<Number>32</Number>
<Region/>
<State/>
<Street>New Street</Street>
<Zip>W1T 1JY</Zip>
</FormattedAddress>
<Identity>802C7644337F4EDD9FA4CEDE50C29A49</Identity>
<Status>LIVE</Status>
</EkybCompanyBranch>
</TakenOverBy>
<TookOver>
<EkybCompanyBranch>
<Address>
<string>32 New Street</string>
<string>W1T 1JY</string>
<string>London</string>
</Address>
<FormattedAddress>
<CareOf/>
<Cc/>
<City>London</City>
<Country/>
<District/>
<Extra/>
<Number>32</Number>
<Region/>
<State/>
<Street>New Street</Street>
<Zip>W1T 1JY</Zip>
</FormattedAddress>
<Identity>FE10A780BCCB460FA7FE92A9E99DB788</Identity>
<Status>LIVE</Status>
</EkybCompanyBranch>
</TookOver>
</Relations>
<Secretaries>
<string>Sample name</string>
</Secretaries>
<SicNaceCodes>
<string>63110</string>
</SicNaceCodes>
<SignatureRights>Sample signatureRights</SignatureRights>
<Status>LIVE</Status>
<StructuredNaceCodes>
<EkybCompanyNaceCode>
<Code>12345678</Code>
<Description>Sample remote data base information retrieval</Description>
<Type>Sample type</Type>
</EkybCompanyNaceCode>
<EkybCompanyNaceCode>
<Code>999999</Code>
<Description>Sample Information Services</Description>
<Type>Sample type</Type>
</EkybCompanyNaceCode>
</StructuredNaceCodes>
<TypeOfOwnership/>
</Company>
</EkybDdsResult>
EKYB PDS
EKYB Premium Data Set is a KYB service which enables the retrieval of company data set including Officer and shareholder information. This service is not currently enabled for all jurisdictions.
Product Code: EKYB_PDS
Properties
Property Name | Type | Length | Optional/Mandatory | Notes |
---|---|---|---|---|
CompanyId | String | 32 - alphanumeric characters | Mandatory | See notes below |
Country | String - 3 letter ISO Standard Country code | 3 | Mandatory |
Notes
CompanyId is the unique identifier of a company which is typically retrieved by performing EKYB_IDS check.
Examples
Example Request:
{
"Data": {
"Country": "GBR"
},
"Options": {
"CompanyId": "6C0E94A0789779CCDFEC1B4686C6DCD2"
}
}
<QueryData>
<Country>GBR</Country>
</QueryData>
<QueryOptions>
<KeyValueOfstringstring>
<Key>CompanyId</Key>
<Value>6C0E94A0789779CCDFEC1B4686C6DCD2</Value>
</KeyValueOfstringstring>>
</QueryOptions>
Example Response:
{
"ekybPdsResult": {
"company": {
"address": [
"3 Alexandra Gate",
"Ffordd Pengam",
"Cardiff",
"CF24 2SA",
"Wales"
],
"country": "GBR",
"dateOfIncorporation": "2011-06-14",
"extraData": {
"activity": "Sample activity",
"authorizedCapital": "500000",
"currentAppointments": "5",
"dateNameChange": "2019-05-10",
"dissolutionDate": "2019-05-10",
"email": "[email protected]",
"englishName": "Sample business english",
"fax": "(+44) 0330 088 9542",
"lei": "984500846DF40E859999",
"linkedin": "https://www.linkedin.com/company/sample",
"listedOnStockExchange": "false",
"mobile": "(+44) 0330 088 9542",
"numberOfEmployees": "999",
"oenace": "99999",
"otherName": "Sample business2",
"phone": "(+44) 0330 088 9542",
"providedStatus": "ACTIVE",
"registerCourt": "Sample",
"registrarOfCompanies": "Sample",
"remarks": "Optional Remarks",
"resignedAppointments": "5",
"securities": "Sample",
"shareCapital": "99999",
"shareCurrency": "GBP",
"shareDescription": "Description",
"siret": "32295938800016",
"state": "State",
"taxCode": "9999999",
"url": "https://sample.com",
"vat": "GB869155189"
},
"formattedAddress": {
"careOf": "",
"cc": "UK",
"city": "Cardiff",
"country": "Wales",
"district": "Ffordd Pengam",
"extra": "extra",
"number": "number",
"region": "region",
"state": "state",
"street": "3 Alexandra Gate",
"zip": "CF24 2SA"
},
"id": "6C0E94A0789779CCDFEC1B4686C6DCD2",
"industryCode": [
"Code123",
"Code456"
],
"lastAnnouncementDate": "2019-05-10",
"latestAccounts": {
"category": "small",
"lastMadeUpDate": "2019-12-31",
"nextDueDate": "2021-09-30",
"overdue": "false",
"referenceDate": "31-12"
},
"latestReturn": {
"lastMadeUpDate": "2018-06-14",
"nextDueDate": "2019-06-28",
"overdue": "NO"
},
"legalForm": "ltd",
"managingDirectors": [
"Sample name 1",
"Sample name 2"
],
"name": "W2 Global Data Solutions Limited",
"people": {
"agent": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"position": "agent",
"role": "agent",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"director": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"position": "Director",
"role": "Sample role",
"startDate": "2018-10-26",
"status": "CURRENT"
}
],
"eeigManager": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"position": "EEIG Manager",
"role": "EEIG Manager",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"factor": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"liquidator": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"position": "agent",
"role": "agent",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"managingDirector": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"parsedSignatureRights": "Sample",
"position": "Managing director",
"role": "Managing director",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"member": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"position": "Board member",
"role": "Board member",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"officer": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"position": "Chief Technical Owner",
"role": "Chief Technical Owner",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"person": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"personAuthorised": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"receiver": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"secretary": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"position": "Secretary",
"role": "Secretary",
"startDate": "2000-01-01",
"status": "CURRENT"
}
],
"shareholder": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"capital": "50000",
"isCorporate": "1",
"name": "First Owning Samplecompany",
"numberOfShares": "5",
"percentage": "5",
"status": "CURRENT"
},
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"name": "Second Owning Samplecompany",
"percentage": "95",
"status": "CURRENT"
}
],
"ultimateBeneficialOwner": [
{
"address": [
"10 Sample Street",
"W1T 5JY",
"London",
"UK"
],
"dateOfBirth": "1900-01-01",
"description": "Optional Description",
"endDate": "2000-01-01",
"name": "Sample name",
"position": "UBO",
"role": "UBO",
"startDate": "2000-01-01",
"status": "CURRENT"
}
]
},
"purpose": [
"The purpose of the company 1",
"The purpose of the company 2"
],
"rawAddress": "3 Alexandra Gate, Ffordd Pengam, Cardiff, CF24 2SA",
"registrationNumber": "07669978",
"relations": {
"branch": [
{
"address": [
"32 New Street",
"W1T 1JY",
"London"
],
"formattedAddress": {
"cc": "",
"city": "London",
"number": "32",
"street": "New Street",
"zip": "W1T 1JY"
},
"identity": "0099CF4AAB78FF3181A1043C73199A8E",
"status": "LIVE"
},
{
"address": [
"32 New Street",
"W1T 1JY",
"London"
],
"formattedAddress": {
"cc": "",
"city": "London",
"number": "32",
"street": "New Street",
"zip": "W1T 1JY"
},
"identity": "CCA601201F3C4A9AAFA981BC164F3A2A",
"status": "LIVE"
}
],
"inRelation": [
{
"address": [
"32 New Street",
"W1T 1JY",
"London"
],
"formattedAddress": {
"cc": "",
"city": "London",
"number": "32",
"street": "New Street",
"zip": "W1T 1JY"
},
"identity": "E0A51ABD448B4EEABAD6E474E0EE6B12",
"status": "LIVE"
}
],
"replacedBy": [
{
"address": [
"32 New Street",
"W1T 1JY",
"London"
],
"formattedAddress": {
"cc": "",
"city": "London",
"number": "32",
"street": "New Street",
"zip": "W1T 1JY"
},
"identity": "994DA12329674684A4FB31C0B66D8C98",
"status": "LIVE"
}
],
"replaces": [
{
"address": [
"32 New Street",
"W1T 1JY",
"London"
],
"formattedAddress": {
"cc": "",
"city": "London",
"number": "32",
"street": "New Street",
"zip": "W1T 1JY"
},
"identity": "1C8F81E506A44F829E0C4312DDCBB655",
"status": "LIVE"
}
],
"splitInto": [
{
"address": [
"32 New Street",
"W1T 1JY",
"London"
],
"formattedAddress": {
"cc": "",
"city": "London",
"number": "32",
"street": "New Street",
"zip": "W1T 1JY"
},
"identity": "2B1E86C5E490401184951D33ECFEFAD0",
"status": "LIVE"
}
],
"takenOverBy": [
{
"address": [
"32 New Street",
"W1T 1JY",
"London"
],
"formattedAddress": {
"cc": "",
"city": "London",
"number": "32",
"street": "New Street",
"zip": "W1T 1JY"
},
"identity": "802C7644337F4EDD9FA4CEDE50C29A49",
"status": "LIVE"
}
],
"tookOver": [
{
"address": [
"32 New Street",
"W1T 1JY",
"London"
],
"formattedAddress": {
"cc": "",
"city": "London",
"number": "32",
"street": "New Street",
"zip": "W1T 1JY"
},
"identity": "FE10A780BCCB460FA7FE92A9E99DB788",
"status": "LIVE"
}
]
},
"secretaries": [
"Sample name"
],
"sicNaceCodes": [
"63110"
],
"signatureRights": "Sample signatureRights",
"status": "LIVE",
"structuredNaceCodes": [
{
"code": "12345678",
"description": "Sample remote data base information retrieval",
"type": "Sample type"
},
{
"code": "999999",
"description": "Sample Information Services",
"type": "Sample type"
}
],
"typeOfOwnership": []
}
}
}
<EkybPdsResult>
<Company>
<Address>
<string>3 Alexandra Gate</string>
<string>Ffordd Pengam</string>
<string>Cardiff</string>
<string>CF24 2SA</string>
<string>Wales</string>
</Address>
<Country>GBR</Country>
<DateOfIncorporation>2011-06-14</DateOfIncorporation>
<ExtraData>
<Activity>Sample activity</Activity>
<AuthorizedCapital>500000</AuthorizedCapital>
<CurrentAppointments>5</CurrentAppointments>
<DateNameChange>2019-05-10</DateNameChange>
<DissolutionDate>2019-05-10</DissolutionDate>
<Email>[email protected]</Email>
<EnglishName>Sample business english</EnglishName>
<Fax>(+44) 0330 088 9542</Fax>
<Lei>984500846DF40E859999</Lei>
<Linkedin>https://www.linkedin.com/company/sample</Linkedin>
<ListedOnStockExchange>false</ListedOnStockExchange>
<Mobile>(+44) 0330 088 9542</Mobile>
<NumberOfEmployees>999</NumberOfEmployees>
<Oenace>99999</Oenace>
<OtherName>Sample business2</OtherName>
<Phone>(+44) 0330 088 9542</Phone>
<ProvidedStatus>ACTIVE</ProvidedStatus>
<RegisterCourt>Sample</RegisterCourt>
<RegistrarOfCompanies>Sample</RegistrarOfCompanies>
<Remarks>Optional Remarks</Remarks>
<ResignedAppointments>5</ResignedAppointments>
<Securities>Sample</Securities>
<ShareCapital>99999</ShareCapital>
<ShareCurrency>GBP</ShareCurrency>
<ShareDescription>Description</ShareDescription>
<Siret>32295938800016</Siret>
<State>State</State>
<TaxCode>9999999</TaxCode>
<Url>https://sample.com</Url>
<Vat>GB869155189</Vat>
</ExtraData>
<FormattedAddress>
<CareOf/>
<Cc>UK</Cc>
<City>Cardiff</City>
<Country>Wales</Country>
<District>Ffordd Pengam</District>
<Extra>extra</Extra>
<Number>number</Number>
<Region>region</Region>
<State>state</State>
<Street>3 Alexandra Gate</Street>
<Zip>CF24 2SA</Zip>
</FormattedAddress>
<Id>6C0E94A0789779CCDFEC1B4686C6DCD2</Id>
<IndustryCode>
<string>Code123</string>
<string>Code456</string>
</IndustryCode>
<LastAnnouncementDate>2019-05-10</LastAnnouncementDate>
<LatestAccounts>
<Category>small</Category>
<LastMadeUpDate>2019-12-31</LastMadeUpDate>
<NextDueDate>2021-09-30</NextDueDate>
<Overdue>false</Overdue>
<ReferenceDate>31-12</ReferenceDate>
</LatestAccounts>
<LatestReturn>
<LastMadeUpDate>2018-06-14</LastMadeUpDate>
<NextDueDate>2019-06-28</NextDueDate>
<Overdue>NO</Overdue>
</LatestReturn>
<LegalForm>ltd</LegalForm>
<ManagingDirectors>
<string>Sample name 1</string>
<string>Sample name 2</string>
</ManagingDirectors>
<Name>W2 Global Data Solutions Limited</Name>
<People>
<Agent>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position>agent</Position>
<Role>agent</Role>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Agent>
<Director>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position>Director</Position>
<Role>Sample role</Role>
<StartDate>2018-10-26</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Director>
<EeigManager>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position>EEIG Manager</Position>
<Role>EEIG Manager</Role>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</EeigManager>
<Factor>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position/>
<Role/>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Factor>
<Liquidator>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position>agent</Position>
<Role>agent</Role>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Liquidator>
<ManagingDirector>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights>Sample</ParsedSignatureRights>
<Position>Managing director</Position>
<Role>Managing director</Role>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</ManagingDirector>
<Member>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position>Board member</Position>
<Role>Board member</Role>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Member>
<Officer>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position>Chief Technical Owner</Position>
<Role>Chief Technical Owner</Role>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Officer>
<Person>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position/>
<Role/>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Person>
<PersonAuthorised>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position/>
<Role/>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</PersonAuthorised>
<Receiver>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position/>
<Role/>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Receiver>
<Secretary>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position>Secretary</Position>
<Role>Secretary</Role>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</Secretary>
<Shareholder>
<EkybCompanyShareholder>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<Capital>50000</Capital>
<IsCorporate>1</IsCorporate>
<Name>First Owning Samplecompany</Name>
<NumberOfShares>5</NumberOfShares>
<Percentage>5</Percentage>
<Status>CURRENT</Status>
</EkybCompanyShareholder>
<EkybCompanyShareholder>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<Capital/>
<IsCorporate/>
<Name>Second Owning Samplecompany</Name>
<NumberOfShares/>
<Percentage>95</Percentage>
<Status>CURRENT</Status>
</EkybCompanyShareholder>
</Shareholder>
<UltimateBeneficialOwner>
<EkybCompanyPerson>
<Address>
<string>10 Sample Street</string>
<string>W1T 5JY</string>
<string>London</string>
<string>UK</string>
</Address>
<DateOfBirth>1900-01-01</DateOfBirth>
<Description>Optional Description</Description>
<EndDate>2000-01-01</EndDate>
<IsCorporate/>
<Name>Sample name</Name>
<Occupation/>
<ParsedSignatureRights/>
<Position>UBO</Position>
<Role>UBO</Role>
<StartDate>2000-01-01</StartDate>
<Status>CURRENT</Status>
</EkybCompanyPerson>
</UltimateBeneficialOwner>
</People>
<Purpose>
<string>The purpose of the company 1</string>
<string>The purpose of the company 2</string>
</Purpose>
<RawAddress>3 Alexandra Gate, Ffordd Pengam, Cardiff, CF24 2SA</RawAddress>
<RegistrationNumber>07669978</RegistrationNumber>
<Relations>
<Branch>
<EkybCompanyBranch>
<Address>
<string>32 New Street</string>
<string>W1T 1JY</string>
<string>London</string>
</Address>
<FormattedAddress>
<CareOf/>
<Cc/>
<City>London</City>
<Country/>
<District/>
<Extra/>
<Number>32</Number>
<Region/>
<State/>
<Street>New Street</Street>
<Zip>W1T 1JY</Zip>
</FormattedAddress>
<Identity>0099CF4AAB78FF3181A1043C73199A8E</Identity>
<Status>LIVE</Status>
</EkybCompanyBranch>
<EkybCompanyBranch>
<Address>
<string>32 New Street</string>
<string>W1T 1JY</string>
<string>London</string>
</Address>
<FormattedAddress>
<CareOf/>
<Cc/>
<City>London</City>
<Country/>
<District/>
<Extra/>
<Number>32</Number>
<Region/>
<State/>
<Street>New Street</Street>
<Zip>W1T 1JY</Zip>
</FormattedAddress>
<Identity>CCA601201F3C4A9AAFA981BC164F3A2A</Identity>
<Status>LIVE</Status>
</EkybCompanyBranch>
</Branch>
<InRelation>
<EkybCompanyBranch>
<Address>
<string>32 New Street</string>
<string>W1T 1JY</string>
<string>London</string>
</Address>
<FormattedAddress>
<CareOf/>
<Cc/>
<City>London</City>
<Country/>
<District/>
<Extra/>
<Number>32</Number>
<Region/>
<State/>
<Street>New Street</Street>
<Zip>W1T 1JY</Zip>
</FormattedAddress>
<Identity>E0A51ABD448B4EEABAD6E474E0EE6B12</Identity>
<Status>LIVE</Status>
</EkybCompanyBranch>
</InRelation>
<ReplacedBy>
<EkybCompanyBranch>
<Address>
<string>32 New Street</string>
<string>W1T 1JY</string>
<string>London</string>
</Address>
<FormattedAddress>
<CareOf/>
<Cc/>
<City>London</City>
<Country/>
<District/>
<Extra/>
<Number>32</Number>
<Region/>
<State/>
<Street>New Street</Street>
<Zip>W1T 1JY</Zip>
</FormattedAddress>
<Identity>994DA12329674684A4FB31C0B66D8C98</Identity>
<Status>LIVE</Status>
</EkybCompanyBranch>
</ReplacedBy>
<Replaces>
<EkybCompanyBranch>
<Address>
<string>32 New Street</string>
<string>W1T 1JY</string>
<string>London</string>
</Address>
<FormattedAddress>
<CareOf/>
<Cc/>
<City>London</City>
<Country/>
<District/>
<Extra/>
<Number>32</Number>
<Region/>
<State/>
<Street>New Street</Street>
<Zip>W1T 1JY</Zip>
</FormattedAddress>
<Identity>1C8F81E506A44F829E0C4312DDCBB655</Identity>
<Status>LIVE</Status>
</EkybCompanyBranch>
</Replaces>
<SplitInto>
<EkybCompanyBranch>
<Address>
<string>32 New Street</string>
<string>W1T 1JY</string>
<string>London</string>
</Address>
<FormattedAddress>
<CareOf/>
<Cc/>
<City>London</City>
<Country/>
<District/>
<Extra/>
<Number>32</Number>
<Region/>
<State/>
<Street>New Street</Street>
<Zip>W1T 1JY</Zip>
</FormattedAddress>
<Identity>2B1E86C5E490401184951D33ECFEFAD0</Identity>
<Status>LIVE</Status>
</EkybCompanyBranch>
</SplitInto>
<TakenOverBy>
<EkybCompanyBranch>
<Address>
<string>32 New Street</string>
<string>W1T 1JY</string>
<string>London</string>
</Address>
<FormattedAddress>
<CareOf/>
<Cc/>
<City>London</City>
<Country/>
<District/>
<Extra/>
<Number>32</Number>
<Region/>
<State/>
<Street>New Street</Street>
<Zip>W1T 1JY</Zip>
</FormattedAddress>
<Identity>802C7644337F4EDD9FA4CEDE50C29A49</Identity>
<Status>LIVE</Status>
</EkybCompanyBranch>
</TakenOverBy>
<TookOver>
<EkybCompanyBranch>
<Address>
<string>32 New Street</string>
<string>W1T 1JY</string>
<string>London</string>
</Address>
<FormattedAddress>
<CareOf/>
<Cc/>
<City>London</City>
<Country/>
<District/>
<Extra/>
<Number>32</Number>
<Region/>
<State/>
<Street>New Street</Street>
<Zip>W1T 1JY</Zip>
</FormattedAddress>
<Identity>FE10A780BCCB460FA7FE92A9E99DB788</Identity>
<Status>LIVE</Status>
</EkybCompanyBranch>
</TookOver>
</Relations>
<Secretaries>
<string>Sample name</string>
</Secretaries>
<SicNaceCodes>
<string>63110</string>
</SicNaceCodes>
<SignatureRights>Sample signatureRights</SignatureRights>
<Status>LIVE</Status>
<StructuredNaceCodes>
<EkybCompanyNaceCode>
<Code>12345678</Code>
<Description>Sample remote data base information retrieval</Description>
<Type>Sample type</Type>
</EkybCompanyNaceCode>
<EkybCompanyNaceCode>
<Code>999999</Code>
<Description>Sample Information Services</Description>
<Type>Sample type</Type>
</EkybCompanyNaceCode>
</StructuredNaceCodes>
<TypeOfOwnership/>
</Company>
</EkybPdsResult>
FAQs
What is a bundle?
A bundle is a collection of one or more services. All calls to the API go through a bundle. Each call can call only one bundle.
Does W2 provide international ID checks?
Yes. We provide ID checks across multiple jurisdictions, please ask your account manager/commercial contact for the most up to date list.
Will my service calls leave a Credit Lenders footprint or affect a credit rating?
It will be clearly indicated on each service documentation page whether the search will leave a footprint. However, as a general rule, if the service provider is a credit bureau then yes a foot print will be left.
What is a 2 plus 2 Check?
To confirm someone’s identity to meet JMLSG and UK regulator guidelines a verification known as a 2+2 is the expectation. This involved taking two pieces of information about the person and matching them against two different data sources. Typically for the UK this would be name and address against one source (such as electoral register) and name and date of birth against another source (such as credit record). The data sources used and matching terms defined will differ from country to country depending on the service and data available.
How do Scoring Thresholds work?
Matching Thresholds
The matching logic thresholds are explained below:
Name Matching Logic
W2 use a numbered scoring system for name matching.
- A score of 100 means that Alert Profile name matches exactly the Client record name.
- A score of 90 means that Alert Profile name contains Client record name in same order with no gaps.
- A score of 85 means that Alert Profile name contains Client record name in same order.
- A score of 80 means that Alert Profile name contains Client record name in any order.
Date of Birth Matching Logic
For Date of Birth matching a numbered scoring system 0-100 (100 being a total match) with a weighting towards Year of Birth and positive/negative depending on factors that match/mismatch is used:
- Year of Birth match is +60, Year of Birth mismatch is -60
- Month of Birth match is +20, Month of Birth mismatch is -20
- Day of Birth match is +20, Day of Birth mismatch is -20
- Missing information in any of the above fields is +/-0
When calling records using a score on either Name and/or Date of Birth only records matching that score or greater will be returned. In some cases the Date of Birth held within Sanctions records is not in a recognisable format, such as ‘circa 1960’ or ‘between 1965 and 1970’. In these, and other similar cases we treat the Date of Birth as missing for scoring purposes.
Glossary
Term | Definition |
---|---|
AML | Anti Money laundering. |
KYC | Know Your Customer. The process of identifying an individual. |
eKYC | electronic Know Your Customer. The process of identifying a consumer using electronic data sources. |
Service | One of our data sources or services, each service provides different information and operations see our services page for more information. |
Bundle | A collection of services. All calls to the API go through bundles and call all services in the bundle sequentially. |
KYB | Know Your Business. The process of identifying a business and learning key pieces of information about it. |
SIS | Standard International Sanctions. A combination of international sanctions lists issued by various governments. Details of the contents can be obtained from your account manager. |
Watchlist | The most comprehensive, or ‘level 3’ PEP, Sanction and Adverse content available through W2. |
PEP | Politically Exposed Person |
SPF | Senior Political Figure. |
PEPselect | Level 2 PEP data |
ADV | Automated Document verification |
MDV | Manual Document Verification |
Contact Us
To log a support call please email: