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
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 | 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 |
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 is 4MB, please ensure your documents are no larger than this before uploading.
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 |
SSN_Append 007 US | No | Yes | SSN Append 007 service for USA |
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 | A know your business service |
Age Verification
Service | Footprint | Sandbox | Description |
---|---|---|---|
W2 Data Age Verification 007 Service | No | Yes | An age verification service for the UK |
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 |