NAV
REST SOAP

Getting Started

Some key concepts you should know…
The W2 API is built around a few simple concepts 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:

  1. Fail if Alpha returns Fail or Inconclusive,
  2. 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 use 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/kyccheck?api-version=1.1 (Deprecated)
1.2 https://api.w2globaldata.com/kyc-check?api-version=1.2 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"
	}
}

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"
      }
    ]
  }
}

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

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 Latest

Request & Response

Full Request example:

{
    "caseId":"15b49d9c-ce55-4adb-a241-6e4020207219",
    "bundle":"SPFPlusCheck",
    "Options": {
		"Sandbox": "False",
		"Key": "Value"
	}
}

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.

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

Upload Document

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 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"
}

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

Document Verification


This section describes how the Document Verification API endpoint functions

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
    }
}
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"
}

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 and 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 ‘blacking out’ 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

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
}

Facial Comparison Full Response Example 2

{
  "isMatch": false,
  "confidence": 12
}
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

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 
}

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 Latest

Properties

The following properties pertain for a creation of 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 Integer Optional The HouseNumber of the individual.
Street String Optional The Street of the individual.
TownCity String Optional The Town/City of the individiual.
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.

The W2 CaseId will be provided if successfully created.

Updating a Case


Situations where you may need to update a case include:

  1. If an individual gets married and their surname changes.
  2. If a subject moved house.
  3. If there was a error in the original case creation.
  4. 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 
}

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?::YOUR_CASEID::api-version=1.3
1.4 https://api.w2globaldata.com/cases?::YOUR_CASEID::api-version=1.3 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 Integer Optional The HouseNumber of the individual.
Street String Optional The Street of the individual.
TownCity String Optional The Town/City of the individiual.
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.

Updating a case returns a Case Id fo 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",
    "ongoingMonitoring": true,
    "creationDate": "2021-02-08T16:31:46.9916806Z",
    "lastUpdatedDate": "2021-05-11T09:33:50.4035756Z"
}

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 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.

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

*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"
        }
    ],
    "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 retreives 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 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 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.

Uassigning 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.

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.

  1. Upload Document Request
  2. Upload Document Response

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>

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>

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>

Query Options

Sandbox request example


<QueryOptions>
   <KeyValueOfstringstring>
   	<Key>Sandbox</Key>
        <Value>True</Value>
    </KeyValueOfstringstring>
</QueryOptions>

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>

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>

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>


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>
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>
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
Beta Whether a service is currently available in Beta only

Sanctions List Checks

Service Footprint Sandbox Beta Only Description
SIS Plus No Yes No Checks if a specified person is under a standard international sanction
SPF Plus No Yes No Checks if a specified person is a senior political figure
PEPDesk No Yes No Checks if a specified person is a politically exposed person
Watchlist Check No Yes No DOW Jones Watchlist check
Profile Details No Yes No Profile Details is a profile retrieval service.
PEP and Sanction 006 No Yes No Checks if a specified person is on a PEP or Sanctions list
W2-DATA-W2-DATA-DISQUALIFIEDS-UK-008 No Yes Yes Perform searches against a list of Disqualified Directors

Identity Check Services UK

Service Footprint Sandbox Beta Only Description
W2 DATA EKYC UK 007 Yes Yes No A UK Identity check service
ID Check Name Lookup No Yes No A name verification service.
Director Check UK No Yes No Searches the UK database of directors
W2DataEkycUk007B Yes Yes No UK Identity verification service
W2DataEkycUk015 Yes Yes No UK Identity verification service
W2 Data Bank Account Verification Uk 007 Service Yes Yes Yes  
W2 Data Mortality Uk 035 No Yes Yes Mortality verification service

Identity Check International

Service Footprint Sandbox Beta Only Description
ID Check AT Bravo Yes Yes No Identity check service for Austria
ID Check CH Bravo Yes Yes No Identity check service for Switzerland
ID Check CZ Bravo Yes Yes No Identity Check service for Czech Republic
ID Check DE Bravo Yes Yes No Identity Check service for Germany
ID Check IT Bravo Yes Yes No An Identity Check service for Italy
ID Check SK Bravo Yes Yes No An Identity check service for the Slovak Republic
W2 Data Ekyc SCANDI 025 No No No An Identity Check service for Sweden, Norway and Denmark
W2 Data EKYC AU 029 Yes Yes Yes Identity check for Australia
W2 Data EKYC DK 029 Yes Yes Yes Identity check for Denmark
W2 Data EKYC ES 029 Yes Yes No Identity check for Spain
W2 Data EKYC FR 029 Yes Yes No Identity check for France
W2 Data EKYC DE 029 Yes Yes No Identity check for Germany
W2 Data EKYC NL 029 Yes Yes No Identity check for Netherlands
W2 Data Ekyc Global Multisource 043 No Yes No Global Id check service
W2 Data Ekyc Singlesource 043 No Yes No Global Id check service
SSN_Append 007 US No Yes No SSN Append 007 service for USA

Address Lookup

Service Footprint Sandbox Beta Only Description
W2 Data Address Lookup 024 No Yes No W2’s address lookup service for the UK and international addresses
W2 Data Email Validate 010 No No No  

Document Services

Service Footprint Sandbox Beta Only Description
ID Check UK Driving Licence Number No Yes No A driving licence verification service
ID Check Passport MRZ No Yes No A passport verification service
W2 Data IDV Check 013 No Yes No An identity verification service that uses physical documentation

Know Your Business Services

Service Footprint Sandbox Beta Only Description
EKYB IDS No Yes No A Global know your business service that searches for companies
EKYB DDS No Yes No A Global know your business service that retrieves live data for a company
EKYB PDS No Yes No A Global know your business service that retrieves premium data for a company
EKYB UBO No Yes No A Global know your business service that retrieves UBO report for a company
W2 Data EKYB UK 009 No Yes No A know your business service

Age Verification

Service Footprint Sandbox Beta Only Description
W2 Data Age Verification 007 Service No Yes Yes An age verification service for the UK

SIS Plus


Standard International Sanctions (SISPlus) service
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.

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.
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 exclude 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 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 supress alerts that are generated on either individuals (if you are conducting a search on a known business/entity) OR supress 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
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.

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.
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.

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.
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 exclude 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 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.

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.
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 exclude 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 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 supress alerts that are generated on either individuals (if you are conducting a search on a known business/entity) OR supress 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.

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 Director companie as listed on Companies House.
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  
Email 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, stret 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 madiden 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>
	<SourceWebLink/>
	<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 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.

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.
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.
BirthYea 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",
    }
<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>
</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 Individuals/Entities When applied, this filter will supress alerts that are generated on either individuals (if you are conducting a search on a known business/entity) OR supress 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.

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.

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.

Properties

The following properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes
NameQuery String   Optional  
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.

Properties

The following Query Data properties pertain to this service.

Property Name Type Optional/Mandatory Notes
NameQuery String Mandatory The name of the person you are searching for.

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

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.

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 Characeters
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 possiblities 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
- ClientErrorInsufficientInformationRequired 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
- FailMissingMandatoryField 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 abouts this differs.

Below are the properties that will display if any address variance occurs, then these will be displayed :

Property Name Type
HouseName String
HouseNumber Integer
Street String
Postcode String
Flat String

Sandbox

Example Request - W2 Data Ekyc 007B

{
    "Bundle": "KYC_UK_007B",
    "Data": {
        "Forename": "Abbie",
        "Surname": "Forster",
        "DayOfBirth": 26,
        "MonthOfBirth": 12,
        "YearOfBirth": 1962,
        "HouseNumber": 241,
        "Street": "Ocean View",
        "Postcode": "WT1 1TD"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

To see the details of the service response of each sandbox case, simply click on it in the table below:

Sandbox Example Cases

      (Click on a sandbox case to see the service result data here)
      
Forename Surname Day Of Birth Month Of Birth Year Of Birth Flat House Name/Number Street Postcode
Abbie Forster 26 12 1962 241 Ocean View WT1 1TD
Abbie Forster 26 12 1962
Abby Cameron 16 10 1970 192 Ocean View WT1 1TD
Abby Peacock 25 6 1982 58 Ocean View WT1 1TD
Abigail Ford 22 10 1956 146 Ocean View WT1 1TD
Abigail George 22 5 1985 23 Ocean View WT1 1TD
Adam Davidson 12 5 1965 29 North Promenade FK14 2WX
Adam Massey 1 6 1960 22 Ocean View WT1 1TD
Adam Potts 3 9 1982 218 Ocean View WT1 1TD
Ahenobarbus Michal 31 12 1944 68 RH13 3HE
Alex Chambers 14 7 1960 188 Ocean View WT1 1TD
Alex Robson 8 4 1961 65 Ocean View WT1 1TD
Alexander Robinson 9 5 1981 240 Ocean View WT1 1TD
Alexander Ward 12 6 1993 347 Ocean View WT1 1TD
Alexandra Duncan 27 9 1971 197 Ocean View WT1 1TD
Alfie Woods 3 3 1956 25 Ocean View WT1 1TD
Alicia Doherty 13 6 1949 176 Ocean View WT1 1TD
Allen Kiril 8 1 1943 99 IVT X34
Allen Kiril 8 1 1943
Amber Lowe 29 12 1991 342 Ocean View WT1 1TD
Amelia Dunn 10 2 1960 345 Ocean View WT1 1TD
Andrew Newton 30 12 1959 53 Ocean View WT1 1TD
Andrew Kirk 10 10 1964 177 Ocean View WT1 1TD
Angeline Error 12 3 1972 380 Ocean View NP1 1NP
Ava Connor 3 6 1962 44 Ocean View WT1 1TD
Ava Gardner 28 7 1963 207 Ocean View WT1 1TD
Bailey Mason 8 9 1968 49 Ocean View WT1 1TD
Ben Jennings 14 6 1952 70 Ocean View WT1 1TD
Benjamin Davis 3 7 1962 321 Ocean View WT1 1TD
Bethany Hancock 8 10 1983 33 Ocean View WT1 1TD
Bethany Hughes 12 7 1943 47 Ocean View WT1 1TD
Billy Cross 11 2 1987 185 Ocean View WT1 1TD
Billy Jones 31 12 1944 68 RH13 3HE
Bradley Griffin 28 9 1967 19 Ocean View WT1 1TD
Bradley Oliver 15 11 1973 209 Ocean View WT1 1TD
Brooke Bell 9 11 1989 215 Ocean View WT1 1TD
Caitlin Williams 1 1 1974 365 Ocean View WT1 1TD
Callum Error 5 5 1992 7 Ocean View Z15 007B
Callum Power 6 9 1998 336 Ocean View WT1 1TD
Cameron Parker 17 12 1959 3 Ocean View WT1 1TD
Cameron Khan 8 9 1951 30 Ocean View WT1 1TD
Charlie Holt 16 8 1991 79 Ocean View WT1 1TD
Charlie Robinson 8 7 1949 80 Ocean View WT1 1TD
Charlie Storey 8 6 1962 29 Ocean View WT1 1TD
Charlie Wilkinson 18 11 1968 26 LN4 7AT
Charlotte Patel 4 11 1958 211 Ocean View WT1 1TD
Chelsea Burke 20 10 1987 189 Ocean View WT1 1TD
Chelsea Stanley 26 5 1958 165 Ocean View WT1 1TD
Chloe Error 12 3 1980 44 Ocean View Z15 007B
Chloe Pope 19 10 1969 81 Ocean View WT1 1TD
Christopher Kirby 25 6 1961 170 Ocean View WT1 1TD
Connor Brown 5 11 1974 225 Ocean View WT1 1TD
Corey Bell 5 3 1980 175 Ocean View WT1 1TD
Corey Hutchinson 23 6 1976 205 Ocean View WT1 1TD
Daisy Hutchinson 4 7 1975 63 Ocean View WT1 1TD
Daniel Daly 27 5 1981 75 Ocean View WT1 1TD
Danielle Gallagher 28 3 1940 50 Ocean View WT1 1TD
David Armstrong 25 2 1951 114 Ocean View WT1 1TD
David Cameron 9 10 1966 5 BS8 1HN
David Robson 9 5 1992 42 HU12 9FL
Declan Baker 15 9 1978 329 Ocean View WT1 1TD
Declan Woods 11 1 1975 37 Ocean View WT1 1TD
Dominic Stewart 26 3 1953 193 Ocean View WT1 1TD
Dylan Rhodes 23 9 1952 333 Ocean View WT1 1TD
Elise Dodd 15 7 1992 11 Ocean View WT1 1TD
Elise Sullivan 15 2 1983 61 Ocean View WT1 1TD
Elizabeth Lloyd 12 1 1967 21 Ocean View WT1 1TD
Elizabeth Sims 4 12 1973 194 Ocean View WT1 1TD
Ella Smith 16 3 1971 14 Ocean View WT1 1TD
Ellie Rice 2 11 1974 66 Ocean View WT1 1TD
Ellis Austin 23 5 1954 173 Ocean View WT1 1TD
Ellis Price 17 11 1960 198 Ocean View WT1 1TD
Emily Burrows 21 12 1980 231 Ocean View WT1 1TD
Emily Nixon 29 7 1966 186 Ocean View WT1 1TD
Emma Hughes 26 12 1953 171 Ocean View WT1 1TD
Erin Harding 2 9 1975 234 Ocean View WT1 1TD
Erin Holmes 9 5 1983 200 Ocean View WT1 1TD
Evan Duncan 5 10 1962 202 Ocean View WT1 1TD
Ewan Wells 3 10 1961 191 Ocean View WT1 1TD
Finley Hyde 25 10 1964 233 Ocean View WT1 1TD
Georgia Barrett 27 12 1987 73 Ocean View WT1 1TD
Georgia Ford 14 3 1987 232 Ocean View WT1 1TD
Grace Stevenson 27 3 1992 238 Ocean View WT1 1TD
Harrison Johnson 10 2 1964 12 Ocean View WT1 1TD
Harrison Potter 2 10 1972 28 Ocean View WT1 1TD
Harry Hutchinson 16 12 1992 4 Ocean View WT1 1TD
Harvey Atkins 15 10 1964 224 Ocean View WT1 1TD
Harvey Lyons 2 8 1975 335 Ocean View WT1 1TD
Harvey Rice 19 4 1962 166 Ocean View WT1 1TD
Henry Wood 1 3 1973 74 Ocean View WT1 1TD
Imogen Rice 15 7 1987 174 Ocean View WT1 1TD
Isaac Atkinson 13 12 1940 13 Ocean View WT1 1TD
Isaac Wilson 8 4 1964 239 Ocean View WT1 1TD
Isabel Wallace 24 7 1980 34 Ocean View WT1 1TD
Isabelle Davidson 22 10 1997 1 Ocean View WT1 1TD
Isabelle Error 15 2 1973 168 Ocean View NP1 1NP
Isabelle Nolan 15 2 1973 168 Ocean View WT1 1TD
Jack Doherty 28 1 1978 10 Ocean View WT1 1TD
Jake Holt 29 10 1975 201 Ocean View WT1 1TD
Jake Thornton 26 6 1968 327 Ocean View WT1 1TD
James Greenwood 3 10 1983 76 Ocean View WT1 1TD
James Nicholls 2 5 1994 46 Ocean View WT1 1TD
James Smart 9 9 1963 54 Ocean View WT1 1TD
James Thorpe 10 6 1978 4 AB54 4PN
Jamie Hammond 14 8 1956 56 Ocean View WT1 1TD
Jane Fleming 25 10 1952 16 Ocean View WT1 1TD
Jasmine Burgess 26 8 1997 242 Ocean View WT1 1TD
Jasmine Mason 15 4 1993 348 Ocean View WT1 1TD
Jasmine Peacock 24 12 1959 230 Ocean View WT1 1TD
Jay Parkes 15 10 1952 182 Ocean View WT1 1TD
Jayden Brooks 3 10 1983 350 Ocean View WT1 1TD
Jennifer Error 3 11 1975 151 Ocean View NP1 1NP
Jennifer Thomson 12 11 1967 27 Ocean View WT1 1TD
Jessica Townsend 19 5 1983 331 Ocean View WT1 1TD
Jodie Johnson 27 4 1954 69 Ocean View WT1 1TD
Joel Marshall 22 7 1951 330 Ocean View WT1 1TD
Joel Moore 21 9 1995 206 Ocean View WT1 1TD
Joel Wilkinson 13 2 1949 60 Ocean View WT1 1TD
John Error 23 3 1956 45 Ocean View NP1 1NP
Jordan Dale 10 3 1986 213 Ocean View WT1 1TD
Joseph Birch 11 11 1982 228 Ocean View WT1 1TD
Joseph Jordan 8 1 1997 337 Ocean View WT1 1TD
Jude Sykes 9 4 1966 67 Ocean View WT1 1TD
Kai Davis 10 10 1979 36 Ocean View WT1 1TD
Kate Blake 8 9 1968 15 Ocean View WT1 1TD
Katherine Gibson 9 7 1997 39 Ocean View WT1 1TD
Kayleigh Weston 17 5 1952 195 Ocean View WT1 1TD
Keira Wood 10 4 1978 20 Ocean View WT1 1TD
Kieran Newman 6 3 1987 220 Ocean View WT1 1TD
Lara Barrett 19 7 1958 351 Ocean View WT1 1TD
Laura Stephens 6 12 1989 59 Ocean View WT1 1TD
Leah Boyle 2 2 1985 204 Ocean View WT1 1TD
Leo Shepherd 6 7 1962 180 Ocean View WT1 1TD
Leon Frost 19 7 1973 64 Ocean View WT1 1TD
Liam Holt 3 2 1976 183 Ocean View WT1 1TD
Liam Sheppard 20 10 1965 214 Ocean View WT1 1TD
Lily Error 9 3 1995 381 Ocean View NP1 1NP
Lily Ross 21 4 1996 219 Ocean View WT1 1TD
Logan Pearce 6 3 1983 311 Ocean View WT1 1TD
Logan Potts 8 6 1985 57 Ocean View WT1 1TD
Logan Russell 16 10 1966 221 Ocean View WT1 1TD
Louie Finch 24 1 1993 55 Ocean View WT1 1TD
Louie Reed 3 12 1956 332 Ocean View WT1 1TD
Louis Norman 1 2 1961 71 Ocean View WT1 1TD
Louise Error 28 2 1987 567 Ocean View NP1 1NP
Louise Stephenson 3 11 1949 68 Ocean View WT1 1TD
Lucy Error 5 8 1967 56 Ocean View Z15 007B
Lydia Frost 12 2 1988 236 Ocean View WT1 1TD
Lydia Vincent 23 9 1980 222 Ocean View WT1 1TD
Maisie Sharpe 26 10 1931 45 Ocean View WT1 1TD
Mark Error 14 9 1938 800 Ocean View NP1 1NP
Mason Chadwick 23 4 1975 26 Ocean View WT1 1TD
Matilda Ross 7 6 1965 7 Ocean View WT1 1TD
Matthew Error 23 6 1990 2 Ocean View NP1 1NP
Maya Burrows 23 1 1953 48 Ocean View WT1 1TD
Megan Crawford 5 4 1957 1B 1 Orchid Bank WT2 2DF
Melissa Glover 21 3 1981 203 Ocean View WT1 1TD
Muhammad West 26 4 1983 349 Ocean View WT1 1TD
Natasha Edwards 7 4 1963 42 Ocean View WT1 1TD
Natasha Mills 26 1 1944 40 Ocean View WT1 1TD
Natasha Winter 7 2 1973 184 Ocean View WT1 1TD
Nathan Wilkins 12 6 1996 17 Ocean View WT1 1TD
Nicholas Brookes 9 3 1966 229 Ocean View WT1 1TD
Nicholas Daly 20 6 1968 2 Ocean View WT1 1TD
Noah Clayton 15 5 1972 223 Ocean View WT1 1TD
Oliver Thomson 30 1 1968 235 Ocean View WT1 1TD
Oliver Watts 18 8 1982 346 Ocean View WT1 1TD
Olivia Owens 29 6 1990 38 Ocean View WT1 1TD
Olivia Reed 3 5 1979 52 Ocean View WT1 1TD
Oscar Craig 8 7 1940 340 Ocean View WT1 1TD
Oscar Mason 5 1 1991 326 Ocean View WT1 1TD
Owen OConnor 2 4 1973 169 Ocean View WT1 1TD
Owen Storey 8 9 1968 179 Ocean View WT1 1TD
Paige Giles 29 6 1933 43 Ocean View WT1 1TD
Peter Bird 8 5 1978 167 Ocean View WT1 1TD
Peter McKenzie 5 9 1973 227 Ocean View WT1 1TD
Peter Williams 18 5 1973 72 Ocean View WT1 1TD
Peter Winter 28 3 1951 32 Ocean View WT1 1TD
Poppy Kerr 12 4 1967 237 Ocean View WT1 1TD
Reece Frost 1 3 1976 77 Ocean View WT1 1TD
Rhys Shepherd 19 2 1966 24 Ocean View WT1 1TD
Robert Barker 3 11 1986 18 Ocean View WT1 1TD
Robert Robert 11 7 1965 51 Ocean View WT1 1TD
Rosie Coles 22 10 1968 341 Ocean View WT1 1TD
Ruby Error 23 7 1956 33 Ocean View Z15 007B
Ryan Leach 27 12 1943 8 Ocean View WT1 1TD
Ryan Morgan 14 6 1967 328 Ocean View WT1 1TD
Ryan Walton 13 2 1947 41 Ocean View WT1 1TD
Sam Error 7 5 1967 102 Ocean View NP1 1NP
Sam Hartley 17 5 1952 35 Ocean View WT1 1TD
Samuel Yates 16 11 1966 216 Ocean View WT1 1TD
Scott Fuller 12 12 1966 196 Ocean View WT1 1TD
Sean Gough 6 5 1966 6 Ocean View WT1 1TD
Sebastian Atkinson 27 9 1989 212 Ocean View WT1 1TD
Sienna Storey 20 10 1965 62 Ocean View WT1 1TD
Simon Abbott 21 11 1983 31 Ocean View WT1 1TD
Sophia ODonnell 7 12 1986 187 Ocean View WT1 1TD
Suzanne Error 8 11 1978 47 Ocean View Z15 007B
Taylor Giles 19 6 1984 164 Ocean View WT1 1TD
Taylor Giles 19 6 1984
Taylor Harvey 30 6 1994 210 Ocean View WT1 1TD
Thomas Arnold 24 10 1987 344 Ocean View WT1 1TD
Thomas Oliver 19 2 1960 178 Ocean View WT1 1TD
Thomas Quinn 7 12 1962 78 Ocean View WT1 1TD
Tom Goodwin 12 9 1973 5 Ocean View WT1 1TD
Tom Error 1 5 1998 3 Ocean View Z15 007B
Tyler Singh 21 8 1944 338 Ocean View WT1 1TD
William Baldwin 5 2 1985 339 Ocean View WT1 1TD
Zachary Marshall 24 4 1947 9 Ocean View WT1 1TD
Zak Carr 2 3 1985 243 Ocean View WT1 1TD
Zak Error 2 3 1985 243 Ocean View NP1 1NP

W2DataEkycUk015


Within the TransUnion service you are able to request either an Identity check or an Anti-Money Laundering check, which will leave the corresponding footprints against the individuals credit file, further information can be found below:

Identity check:
Is an identity verification service that includes the Edited Electoral Roll, CCJ and Credit Lenders data. This service will leave a Identification Check footprint on the lenders profile of the person you are requesting information about.

Money Laundering Check:
Is an identity verification service that includes the full Electoral Roll, CCJ and Credit Lenders data. This service will leave a money laundering footprint on the lenders profile of the person you are requesting information about.

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 Characeters
Title String   10 Optional All apart from (new line ' - \ \\ ,)
Forename String 1 15 Mandatory All apart from (new line ' - \ \\ ,)
MiddleNames String   15 Optional All apart from (new line ' - \ \\ ,)
Surname String 1 30 Mandatory All apart from (new line ' - \ \\ ,)
DayOfBirth Integer 1 2 Mandatory Numbers Only - greater than 0
MonthOfBirth Integer 1 2 Mandatory Numbers Only - greater than 0
YearOfBirth Integer 1 4 Mandatory Numbers Only - greater than 0
HouseName String 1 26 Either HouseName or  
HouseNumber String 1 26 HouseNumber is Mandatory  
Flat String   20 Optional  
Street String   40 Optional  
Region String   20 Optional  
County String   20 Optional  
Country String   20 Optional  
City String   20 Optional  
Postcode String 1 8 Mandatory  

After performing the search, the validation result (pass, fail, etc.) will be part of the <TransactionInformation> returned for the service call. 

Request

The following is an example SOAP request to the W2 Data Ekyc UK 015 Service. 

<serviceRequest>
    <BundleData>
        <BundleName>{YOUR BUNDLE NAME HERE}</BundleName>
    </BundleData>
    <QueryData>
        <DayOfBirth>{e.g. 01}</DayOfBirth>
        <Forename>{e.g. JOHN}</Forename>
        <MiddleNames>{e.g. JAMES} </MiddleNames>
        <MonthOfBirth>{e.g. 01}</MonthOfBirth>
        <Surname>{e.g. SMITH}</Surname>
        <YearOfBirth>{e.g. 1990}</YearOfBirth>
    </QueryData>  
    <ServiceAuthorisation>
        <APIKey>{YOUR API KEY HERE}</APIKey>
        <ClientReference>{YOUR CLIENT REFERENCE HERE}</ClientReference>
    </ServiceAuthorisation>
</serviceRequest>

Footprint Configuration

"options": {
	"FootprintConfiguration": "MoneyLaundering" | "Identification"
}
<QueryOptions>
  <KeyValueOfstringstring>
    <Key>FootprintConfiguration</Key>
    <Value>MoneyLaundering OR Identification</Value>
  </KeyValueOfstringstring>
</QueryOptions>

Response

The following shows the basic schema for the <W2DataEkycUk015Result> object that is returned in the <ServiceResult> Section of the <ProcessRequestResult> object.

SOAP

<W2DataEkycUk015Result>
    <DataSources>
        <!-- An array of MatchingSource elements --> 
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>
                { true | false }
            </AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>
                { 
                    NotAssigned | NameAndAddress | NameAndDateOfBirth |
                    NameAndAddressAndDateOfBirth | MortalityHighConfidence | 
                    MortalityLowConfidence | SurnameAndPhoneNumberAtAddress
                }
            </MatchingCriteria>
            <NumberOfMatches>           
                { 0 - 99 }
            <NumberOfMatches>
            <Source>
               {
                    0 = NotAssigned 
                    1 = ElectoralRoll 
                    2 = CCJ
                    3 = CreditLendersA
                    4 = CreditLendersB
                    5 = BT_OSIS 
                    6 = MortalityData
                    7 = CreditLendersC
                }            
            <Source>
        </MatchingSource>
    </DataSources>
    <InterpretResult>
        { 
            NotPerformed | Pass | Fail | Refer | NoResults | 
            OneResult | MultipleResults | NotApplicable | NoInterpretPerformed 
        }
    </InterpretResult>
    <Message>
        { A message containing additional information about the call }
    </Message>
    <TransactionResult>
        {
            None | Success | SuccessNoResults | SuccessIncompleteResults |
            MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
            NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
        }
    </TransactionResult>
</W2DataEkycUk015Result>

Below is some more information about the some of the elements of the response that require explanation:

DataSources = A collection showing every source of data that was used to formulate the result. Each source is represented by a elment.

AllowMultipleRecordsAsSeparateDataSources= Indicates that two different record matches from the same data source may count as independent sources when formulating the 2 + 2 result. For example, two Insight results may count as two sources, rather than one, as they would do under normal service circumstances.

MatchingCriteria = Precisely what data has been matched by the data source. E.g. NameAndAddressAndDateOfBirth

NumberOfMatches = The number of matches found by this data source

Source = An integer representing the source of the data match. E.g. 2 = CCJ (County Court Judgement)

SourceId Source Matched
1 Electoral Roll
2 County Court Judgements (CCJs)
3 N/A
4 Credit Lenders (Insight)
5 BT_OSIS
6 Mortality Data
7 Credit Lenders(Call Credit)

InterpretResult = The overall verification result, based on what matches were found in the data source against the query data submitted. The possiblities are Pass, Fail or Refer

Message = Gives some more details / context on the verification result

TransactionResult = A diagnostic result showing whether or not any technical errors were experienced during the check. This should always be “Success” unless a technical error has occured, in which case the verification check will be aborted.

Example Response: The below example shows a case where we have found one NameAndAddress match on the Electoral roll and 3 NameAndAddressAndDateOfBirth matches on CreditLendersB. This has resulted in a Pass.

Example Response - W2 Data Ekyc UK 15

<W2DataEkycUk015Result>
    <DataSources>
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>NameAndAddress</MatchingCriteria>
            <NumberOfMatches>1<NumberOfMatches>
            <Source>1<Source>
        </MatchingSource>
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>true</AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>NameAndAddressAndDateOfBirth</MatchingCriteria>
            <NumberOfMatches>3<NumberOfMatches>
            <Source>4<Source>
        </MatchingSource>
     </DataSources>
     <InterpretResult>Pass</InterpretResult>
     <Message />
     <TransactionResult>Success</TransactionResult>
</W2DataEkycUk015Result>

Transaction Result

HaltTriggered False
ServiceTransactionResult - Success
- SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated
- SuccessNoResults - No matches found
- ServerErrorGeneralError - An error occurred
- ServiceFailureError - Unable to contact third party service
- ClientErrorInsufficientInformationRequired 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
- FailMissingMandatoryField or PatternNotMatched

Sandbox

Example Request - Director Check UK

{
    "Bundle": "KYC_UK_015",
    "Data": {
        "Forename": "Amber",
        "Surname": "Ball",
        "DayOfBirth": 9,
        "MonthOfBirth": 7,
        "YearOfBirth": 1957,
        "HouseNumber": 147,
        "Street": "Ocean View",
        "Postcode": "WT1 1TD"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

To see the details of the service response of each sandbox case, simply click on it in the table below:

Sandbox Example Cases

      (Click on a sandbox case to see the service result data here)
      
Forename Surname Day Of Birth Month Of Birth Year Of Birth Flat House Name/Number Street Postcode
Amber Ball 9 7 1957 147 Ocean View WT1 1TD
Anquan Error 14 5 1978 10 Error Road ER3 3OR
Billy Jones 31 12 1944 68 RH13 3HE
Callum Error 5 5 1992 7 Ocean View Z15 007B
Cameron Parker 17 12 1959 3 Ocean View WT1 1TD
Charlie Error 12 6 1965 83 Ocean View Z15 007B
Charlie Wilkinson 18 11 1968 26 LN4 7AT
Chloe Error 12 3 1980 44 Ocean View Z15 007B
David Robson 9 5 1992 42 HU12 9FL
Declan Woods 11 1 1975 37 Ocean View WT1 1TD
Elise Dodd 15 7 1992 11 Ocean View WT1 1TD
Fred Error 3 4 1986 56 Ocean View NP1 1NP
Isaac Atkinson 13 12 1940 13 Ocean View WT1 1TD
Jack Doherty 28 1 1978 10 Ocean View WT1 1TD
James Error 10 6 1978 4 Ocean View NP1 1NP
James Thorpe 10 6 1978 4 AB54 4PN
Jamie Error 15 8 1959 57 Ocean View NP1 1NP
John Smith 8 11 1977 76 Ocean View WT1 1TD
Jonny Miles 8 1 1943 2 99 IVT X34
Kate Blake 8 9 1968 15 Ocean View WT1 1TD
Laura Error 28 7 1965 33 Ocean View NP1 1NP
Luana Melania 11 12 1924 8 AB54 5TR
Lucy Error 5 8 1967 56 Ocean View Z15 007B
Martin Error 3 9 1987 63 Ocean View NP1 1NP
Mary Error 1 12 1991 32 Ocean View NP1 1NP
Megan Crawford 5 4 1957 1B 1 Orchid Bank WT2 2DF
Micah Stefanu 10 4 1952 7 AB54 5TR
Moray Abdiou 11 12 1924 26 LN4 7AT
Nicholas Daly 20 6 1968 2 Ocean View WT1 1TD
Olivia Owens 29 6 1990 38 Ocean View WT1 1TD
Rosie Duncan 1 2 1967 40 AB41 7YW
Ruby Error 23 7 1956 33 Ocean View Z15 007B
Suzanne Error 8 11 1978 47 Ocean View Z15 007B
Theron Marcel 8 1 1943 99 IVT X34
Tom Goodwin 12 9 1973 5 Ocean View WT1 1TD
Tom Error 1 5 1998 3 Ocean View Z15 007B
Vincenc Claus 10 4 1952 7 AB54 5TR

W2 Data Bank Account Verification Uk 007 Service


A bank account verification service for the UK

Query Data

The following QueryData elements pertain to this service.

Property Name Type Length Optional/Mandatory Notes
AccountNumber String 8 Mandatory 8 digits
SortCode String 8 Mandatory 6 digits plus 2 hyphens
Forename String 15 Mandatory Maximum 15 characters
MiddleNames String 15 Optional Maximum 15 characters
Surname String 30 Mandatory Maximum 30 characters
DayOfBirth Integer 2 Optional  
MonthOfBirth Integer 2 Optional  
YearOfBirth Integer 4 Optional  
HouseName String 26 Mandatory if no HouseNumber given Maximum 26 characters
HouseNumber String 26 Mandatory if no HouseName given Maximum 26 characters
City String 100 Optional  
Postcode String 8 Mandatory Must be a valid UK postcode

 

Request

Example Request - W2 Data Bank Account Verification Uk 007

  "Data": {
  	"AccountNumber": "12345678",
  	"City": "Crawley",
  	"DayOfBirth": 31,
  	"Forename": "Billy",
  	"HouseNumber": 68,
  	"MonthOfBirth": 12,
  	"Postcode": "RH13 3HE",
  	"SortCode": "12-13-14",
  	"Surname": "Jones",
  	"YearOfBirth": 1944
  }
<QueryData>
 <AccountNumber>12345678</AccountNumber>
 <City>Crawley</City>
 <DayOfBirth>31</DayOfBirth>
 <Forename>Billy</Forename>
 <HouseNumber>68</HouseNumber>
 <MonthOfBirth>12</MonthOfBirth>
 <Postcode>RH13 3HE</Postcode>
 <SortCode>12-13-14</SortCode>
 <Surname>Jones</Surname>
 <YearOfBirth>1944</YearOfBirth>
</QueryData>

Response

The following shows the basic schema for the <BankAccountVerificationResult> object that is returned in the <ServiceResult> Section of the <ProcessRequestResult> object.   

Sample Response - W2 Data Bank Account Verification Uk 007

<BankAccountVerificationResult>
    <Characteristics>
        {
            <Characteristic>
            {
               <Code>
                   { A characteristic code }
               </Code>
               <Value>
                   { A characteristic value }
               </Value>
            }
            </Characteristic>
        }
    </Characteristics>
    <MatchingFields>
        {
            <MatchingField>
            {
                <FieldLabel>
                    { A matching field label }
                </FieldLabel>
                <IsValid>
                    { A Boolean value }
                </IsValid>
                <Value>
                    { A matching field value }
                </Value>
            }
            </MatchingField>
        }
    </MatchingFields>
    <InterpretResult>
        { 
            NotPerformed | Pass | Fail | Refer |
            NotApplicable | NoInterpretPerformed 
        }
    </InterpretResult>
    <Message>
        { A message containing additional information about the call }
    </Message>
    <TransactionResult>
        {
            None | Success | SuccessNoResults | SuccessIncompleteResults |
            MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
            NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
        }
    </TransactionResult>
</BankAccountVerificationResult>

Example Response

The example shows a case where we have found one NameAndAddress match and valid AccountNumber and SortCode.

Example Response - W2 Data Bank Account Verification Uk 007

      "bankAccountVerificationResult": {
      	"characteristics": [{
      			"code": "RNILF04",
      			"value": "289"
      		}, {
      			"code": "ESC41",
      			"value": "1"
      		}, {
      			"code": "SSC5",
      			"value": "M"
      		}, {
      			"code": "CSC1",
      			"value": "1"
      		}, {
      			"code": "ASC200",
      			"value": "M"
      		}, {
      			"code": "ASC201",
      			"value": "M"
      		}, {
      			"code": "A_E101",
      			"value": "1"
      		}, {
      			"code": "A_N101",
      			"value": "1"
      		}, {
      			"code": "A_C12",
      			"value": "N"
      		}, {
      			"code": "A_C13",
      			"value": "N"
      		}, {
      			"code": "LSC157",
      			"value": "C"
      		}, {
      			"code": "LSC173",
      			"value": "C"
      		}, {
      			"code": "LSC250",
      			"value": "1"
      		}, {
      			"code": "ZSC006",
      			"value": "1"
      		}, {
      			"code": "ZSC007",
      			"value": "C"
      		}, {
      			"code": "ZSC026",
      			"value": "10"
      		}, {
      			"code": "ZSC027",
      			"value": "C"
      		}, {
      			"code": "LSC074",
      			"value": "C"
      		}, {
      			"code": "YSC827",
      			"value": "G"
      		}, {
      			"code": "YSC877",
      			"value": "R"
      		}, {
      			"code": "YSC301",
      			"value": "11"
      		}, {
      			"code": "YSC351",
      			"value": "L"
      		}, {
      			"code": "DSC1",
      			"value": "Y"
      		}, {
      			"code": "ESC941",
      			"value": "1"
      		}, {
      			"code": "FSC3",
      			"value": "Y"
      		}, {
      			"code": "QSC001",
      			"value": "1"
      		}, {
      			"code": "KSC156",
      			"value": "C"
      		}, {
      			"code": "KHC002",
      			"value": "114950"
      		}, {
      			"code": "KHC020",
      			"value": "197147"
      		}, {
      			"code": "KHC043",
      			"value": "A"
      		}, {
      			"code": "KHC202",
      			"value": "M"
      		}, {
      			"code": "KHC301",
      			"value": "88"
      		}, {
      			"code": "KHC404",
      			"value": "564"
      		}, {
      			"code": "WCF507",
      			"value": "M"
      		}, {
      			"code": "QSC070",
      			"value": "1"
      		}, {
      			"code": "QSC074",
      			"value": "1"
      		}, {
      			"code": "QSC034",
      			"value": "1"
      		}
      	],
      	"interpretResult": "Pass",
      	"matchingFields": [{
      			"fieldLabel": "Account number confirmation",
      			"isValid": true,
      			"value": "Valid"
      		}, {
      			"fieldLabel": "Sort code confirmation",
      			"isValid": true,
      			"value": "Valid"
      		}, {
      			"fieldLabel": "Age of account",
      			"isValid": true,
      			"value": "36 Months"
      		}, {
      			"fieldLabel": "Name Match",
      			"isValid": true,
      			"value": "MELISSA BONSTOW"
      		}, {
      			"fieldLabel": "Address Match",
      			"isValid": true,
      			"value": "4000, WEST FEN ROAD, CB6 1AN"
      		}
      	],
     	"message": "This service has passed as the bank account number and sort code have successfully matched",
      	"scores": [],
      	"transactionResult": "Success"
      }
<BankAccountVerificationResult>
  <Characteristics>
   <Characteristic>
    <Code>QSC070</Code>
    <Value>1</Value>
   </Characteristic>
   <Characteristic>
    <Code>QSC074</Code>
    <Value>1</Value>
   </Characteristic>
  </Characteristics>
  <InterpretResult>Pass</InterpretResult>
  <MatchingFields>
   <MatchingField> 
    <FieldLabel>Account number confirmation</FieldLabel>
    <IsValid>true</IsValid>
    <Value>Valid</Value> 
   </MatchingField> 
   <MatchingField> 
    <FieldLabel>Sort code confirmation</FieldLabel> 
    <IsValid>true</IsValid> 
    <Value>Valid</Value> 
   </MatchingField> 
   <MatchingField> 
    <FieldLabel>Age of account</FieldLabel> 
    <IsValid>true</IsValid> 
    <Value>14 months</Value>
   </MatchingField> 
   <MatchingField> 
    <FieldLabel>Name Match</FieldLabel>
    <IsValid>true</IsValid> 
    <Value>Mina Heaney</Value> 
   </MatchingField> 
   <MatchingField> 
    <FieldLabel>Address Match</FieldLabel> 
    <IsValid>true</IsValid> 
    <Value>4032, ELY, CB6 1AN</Value> 
   </MatchingField> 
  </MatchingFields>
  <Message>
   This service has passed as the bank account number and sort code have successfully matched
  </Message>
  <Scores/>
  <TransactionResult>Success</TransactionResult>
 </BankAccountVerificationResult>

Transaction Result

HaltTriggered Usually false, but can be true if this service is used within a bundle that can trigger a halt condition.
ServiceTransactionResult
  • Success
  • SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated
  • SuccessNoResults - No matches found
  • ServerErrorGeneralError - An error occurred
  • ServiceFailureError- Unable to contact third party service
  • ClientErrorInsufficientInformation - Required field not supplied or insufficient/invalid information
ServiceInterpretResult
  • Pass - QSC070 (Sort Code Verification) = 1
    AND
    QSC074 (Account Number Verification) = 1
  • Fail - QSC070 (Sort Code Verification) NOT = 1 (or 2 if the other is a 2)
    or
    QSC074 (Account Number Verification) NOT = 1 (or 2 if the other is a 2)
  • Refer - QSC070 (Sort Code Verification) = 2
    AND
    QSC074 (Account Number Verification) = 1

    or

    QSC070 (Sort Code Verification) = 1
    AND
    QSC074 (Account Number Verification) = 2

    or

    QSC070 (Sort Code Verification) = 2
    AND
    QSC074 (Account Number Verification) = 2
  • NoInterpretPerformed
  • NotPerformed - An error occurred and the search was not performed
CharacteristicResultValues
Default Value Description
N Sort Code / Account Number not supplied
X Sort Code / Account Number invalid
H Sort Code / Account Number validation not available
M No Data
C No Qualifying Accounts
A Sort Code / Account Number not validated
1 Sort Code / Account Number valid
2 Sort Code / Account Number valid less one digit
3 Account Number valid at 6 bytes
ServiceTransactionResultMessage Usually empty, can contain optional information such as too many matches etc.
ValidationResult
  • Pass
  • NotPerformed - No search occurred to match against
  • Fail - MissingMandatoryField or PatternNotMatched

Sandbox

Example Request - W2 Data Bank Account Verification

{
    "Bundle": "BankAccountVerification007",
    "Data": {
		"AccountNumber": "03299391",
		"SortCode": "09-01-27",
		"Forename": "Nicloe",
		"Surname": "Ncube",
		"DayOfBirth": 5,
		"MonthOfBirth": 10,
		"YearOfBirth": 1988,
		"HouseNumber": 549,
		"Street": "Cromwell Road",
		"Town": "Ely",
		"Postcode": "CB6 1AS"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}
Scenario Explanation Forename Middlename Surname Day Of Birth Month Of Birth Year Of Birth Bank Sort Code Bank Account Number House Number Street 1 Town Postcode
Fail Sort Code / Account Number not validated Nicloe Alan Ncube 05 10 1988 09-01-27 03299391 549 Cromwell Road Ely CB6 1AS
Fail Sort Code / Account Number not validated Vilamantos M Ali 19 09 1993 09-01-27 03299391 1330 Cromwell Road Ely CB6 1AS
Fail Sort Code valid less one digit / Account Number not validated Leasa Maria Gibson 21 03 1957 09-01-27 03299391 623 West Fen Road Ely CB6 1AN
Fail Sort Code valid less one digit / Account Number not validated Rd   Huckle 20 10 1979 09-01-27 03299391 12 Cromwell Road Ely CB6 1AS
Fail Sort Code valid less one digit / Account Number not validated Dan Moses   Bloomer 31 01 1989 09-01-27 03299391 33 Cromwell Road Ely CB6 1AS
Fail Sort Code valid / Account Number not validated Marlon   Davenport 03 03 1988 09-01-27 03299391 30 Cromwell Road Ely CB6 1AS
Pass Sort Code / Account Number valid Melissa   Bonstow 20 04 1978 60-15-28 66599864 4000 West Fen Road Ely CB6 1AN
Pass Sort Code / Account Number valid B Craig Susca 30 10 1971 11-00-51 00971999 4023 West Fen Road Ely CB6 1AN
Pass Sort Code / Account Number valid Jordan V Milstead 16 06 1977 30-84-51 39399468 3990 West Fen Road Ely CB6 1AN
Refer Sort Code valid / Account Number valid less one digit Maj C Borovyk 06 06 1991 09-01-28 39349919 4007 West Fen Road Ely CB6 1AN
Refer Sort Code valid / Account Number valid less one digit Ganesh Alice Lilleystone 06 07 1988 09-01-28 79284500 4008 West Fen Road Ely CB6 1AN
Refer Sort Code valid / Account Number valid less one digit John D Thomas Haywrd 02 09 1993 09-01-28 37609943 4019 West Fen Road Ely CB6 1AN

W2 Data Mortality Uk 035


W2 Data Mortality Uk 035 is a UK identity verification service that checks data against a variety of different sources to determine if the person is deceased.If there are multiple matches, it provides a list of them, up to a limit of 10.

Query Data

The following properties pertain to this service, please note that the fields MUST be in the same order as shown below.

Property Name Type Length Optional/Mandatory Notes
DayOfBirth Integer 2 Mandatory  
Forename String 15 Mandatory  
Flat String 55 Optional  
HouseName/HouseNumber String 55 Mandatory Either house name or house number must be supplied may also include Flat number i.e. Flat 1, 4
MiddleNames String 15 Optional  
MonthOfBirth Integer 2 Mandatory  
Postcode String 8 Mandatory  Must be a valid Uk postcode. 
Surname String 30 Mandatory  
YearOfBirth Integer 4 Mandatory  

Request

These are example requests when calling the W2 Data Mortality Uk 035 Service:

Example Request

  "Data": {
    "DayOfBirth": 16,
    "Forename": "Brandon",
    "HouseName": "1 HANOVER GRANGE",
    "MonthOfBirth": 11,
    "Postcode": "YO167BX",
    "Surname": "Truman",
    "YearOfBirth": 1945
  }
<QueryData>
  <DayOfBirth>16</DayOfBirth>
  <Forename>Brandon</Forename>
  <HouseName>1 HANOVER GRANGE</HouseName>
  <MonthOfBirth>11</MonthOfBirth>
  <Postcode>YO167BX</Postcode>
  <Surname>Truman</Surname>
  <YearOfBirth>1945</YearOfBirth>
</QueryData>

Response

Example Response

"W2DataMortalityUk035Result" : {
    "MortalityResult" : {
        "MortalityResponse"
            "MatchData" : {
                "AddressMatch" : "true",
                "DobMatch" : "true",
                "NameMatch" : "true",
                "PostcodeMatch" : "true"
            },
            "Person" : {
                "Address1" : "1 HANOVER GRANGE",
                "Address2" : "BRIDLINGTON",
                "Address3" : "EAST RIDING OF YORKSHIRE",
                "Address4" : "Y016 7BX",
                "Address5" : "",
                "DateOfBirth" : "1945-11-1600:00:00",
                "DateOfDeath" : "2019-09-1900:00:00",
                "Forename" : "BRANDON",
                "MiddleName" : "LEWIS",
                "Postcode" : "Y0167BX",
                "Score" : "9",
                "Surname" : "TRUMAN",
                "Title" : "MR",
                "UniqueReferenceNumber" : "06186191"
            } 
        }
    }
}
<W2DataMortalityUk035Result>
    <ServiceResult>
        <MortalityResponse>
            <MatchData>
                <AddressMatch>true</AddressMatch>
                <DobMatch>true</DobMatch>
                <NameMatch>true</NameMatch>
                <PostcodeMatch>true</PostcodeMatch>
            </MatchData>
            <Person>
                <Address1>1 HANOVER GRANGE</Address1>
                <Address2>BRIDLINGTON</Address2>
                <Address3>EAST RIDING OF YORKSHIRE</Address3>
                <Address4>Y016 7BX</Address4>
                <Address5/>
                <DateOfBirth>1945-11-1600:00:00</DateOfBirth>
                <DateOfDeath>2019-09-1900:00:00</DateOfDeath>
                <Forename>BRANDON</Forename>
                <MiddleName>LEWIS</MiddleName>
                <Postcode>Y0167BX</Postcode>
                <Score>9</Score>
                <Surname>TRUMAN</Surname>
                <Title>MR</Title>
                <UniqueReferenceNumber>06186191</UniqueReferenceNumber>
            <Person>
        </MortalityResponse>
    </ServiceResult>
</W2DataMortalityUk035Result>

The following shows the basic schema for the <W2DataMortalityUk035Result> object that is returned in the <ServiceResult> Section of the <ProcessRequestResult> object.


Transaction Result
After performing the search, the <TransactionInformation> will be part of the <ProcessRequestParameters> returned for the service call.

Example TransactionInformation result - W2 Data Mortality Uk 035

<TransactionInformation>
    <InterpretResult>NotApplicable</InterpretResult>
    <ServiceCallReference>96edada3-b5f7-40d0-869a-c37a6266b50a</ServiceCallReference>
    <ServiceTransactions>
        <ServiceTransactionInformation>
            <FailedOverTo>null</FailedOverTo>
            <HaltTriggered>false</HaltTriggered>
            <Service>W2_DATA_MORTALITY_UK_035</Service>
            <ServiceInterpretResult>OneResult</ServiceInterpretResult>
            <ServiceTransactionResult>Success</ServiceTransactionResult>
            <ServiceTransactionResultMessage>One Match Found</ServiceTransactionResultMessage>
            <ServiceValidationDetails>null</ServiceValidationDetails>
            <ValidationResult>Pass</ValidationResult>
        </ServiceTransactionInformation>
    </ServiceTransactions>
</TransactionInformation>

The following shows the basic schema for the <TransactionInformation> object that is returned in the <ProcessRequestResult> object.

FailoverOverTo Did the service encounter a third party error, and fail over to an alternate service? (Not applicable for this service).
HaltTriggered Was there a halt condition included in the bundle that has been triggered.
ServiceInterpretResult - OneResult- MultipleResults- NoResults- NotPerformed - An error occurred and the search was not performed
ServiceTransactionResult - Success- SuccessNoResults- SuccessIncompleteResults - Too many matches generated, results truncated- ClientErrorInsufficientInformation Required field not supplied- ClientErrorInformationFormatInvalidInvalid format in field- ServerErrorGeneralError Error with third party service
ServiceTransactionResultMessage - One Potential Match Found- Multiple Potential Matches Found- No Potential Matches Found
ServiceValidationDetails Shows the messages related to a validation error if applicable.
ValidationResult - NotApplicable **- No search occurred to match against- **Fail MissingMandatoryField or PatternNotMatched

Sandbox

Example Request - W2 Data Mortality Uk 035

{
    "Bundle": "W2-DATA-MORTALITY-UK-035",
    "Data": {
      "DayOfBirth": 11,
      "Forename": "Alex",
      "HouseNumber": 81,
      "MonthOfBirth": 3,
      "Postcode": "PA33 7WB",
      "Street":