NAV
REST SOAP

Getting Started

Some key concepts you should know…
The W2 API is built around a few simple concepts which, when brought together, provide powerful and flexible solutions.

Services


W2 has a wide portfolio of products that we name Services, ranging from checking against datasources such as global Sanctions list, Identity checking using credit reference agencies, document verification and many more.

A full list of all services can be found here.

Services are accessed through the API via Bundles.

Bundles


A bundle is a collection of one or more services. Services can be ordered in a bundle in any way you choose.

When you call the W2 API you specify a bundle name. By collecting services in a Bundle, only one API call is then required to execute all services in that Bundle.

Bundles are configured by W2. This will be completed as part of the on-boarding process.

Typical bundle example

As an example, if you wanted to confirm an individual’s identity and check that they are not on any Sanctions lists, the bundle might look like this:

Bundle Name Services Service Description
KYC_ID_CHECK_EXAMPLE  IdCheckUKAlphaFull UK Identity Check
  SISCheckPlus Standard International Sanctions
  PEPDesk Politically Exposed Persons

This bundle example contains three services. The first one, IdCheckUkAlphaFull, checks various sources (Electoral Roll, credit lenders, etc.) to confirm an individual’s identity. The next two services check the given name against a Sanctions list and a Politically Exposed Persons list.

To execute this bundle you would call the KYCCheck method on the API with the bundle name (KYC_ID_CHECK_EXAMPLE) and the required identity information (name, date of birth, address, etc.). The API will run through each service in sequence and return the results in one response. In the above example if the identity was good but the individual turns up in a PEP list you might get something like this:

Bundle Name Services Service Description Service Result
KYC_ID_Check_Sanctions IdCheckUKAlphaFull UK Identity Check PASS
  SISCheckPlus Standard International Sanctions NO RESULTS
  PEPDesk Politically exposed persons 1 RESULT

The Response will also contain more detailed information about each result.

Bundle Workflows

Also known as ‘Interpret and Halt’ or ‘Staged Search Manager’. As part of setting up a bundle W2 can configure settings that can ‘Interpret’ service level and bundle level results as well as ’Halting’ the execution of a Bundle should a certain result be returned from an individual Service.

Bundle Result Interpretation

W2 can configure how the API will interpret the overall result for the whole bundle. For example, in the example bundle above, if the Alpha service returned a “Fail” result then the bundle’s overall result would also be “Fail”. The possible results for Bundle results are Pass, Fail or Inconclusive. 

Bundle Halting

We can also configure the bundle to Halt after each service based on the result of that service. So for example you might decide that if Alpha returns a Fail (i.e. this identity is not valid) then there is no point checking the sanctions lists, so the bundle will stop there and not call the rest of the services in the bundle.

So in our example above let us assume that we have configured the following rules:

  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

W2 provides an API Sandbox mode that allows developers to test bundles without fear of leaving a footprint or incur service charges.

The Sandbox consist of set of pre-defined test records for a range of test scenarios. You can find the Sandbox test data for each Service on their respective pages.

Sandbox is available in all environments.

To use our Sandbox add the “Sandbox” Query Option to your request with the value set to “true”.

{
    "Bundle": "...",
    "Data": {
        "Forename": "..."
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

Two Plus Two Check


Our identity check services attempt to do a Two Plus Two check.

All this means is that we will attempt to match the name and address from one data source and the name and date of birth from another independent data source.

For example, if we can find the name and address on the Electoral Roll and the name and date of birth on a credit lenders record then that would be a Two Plus Two check. If we only found the information on the Electoral Roll then that would not be a Two Plus Two check as this only uses one data source.

REST

This section describes how to use the W2 RESTful API

Location

Live: https://api.w2globaldata.com

UAT: https://api-uat.w2globaldata.com

Authentication

The W2 REST API uses basic authentication. You will need to add a basic authorization header with your api key base 64 encoded to all requests.

Header Key Header Pattern
Authorization Basic Base64EncodedW2ApiKey

API Versioning

To call a specific version of the API append the API version query option to the end of the URL like this: https://api.w2globaldata.com/kyc-check?api-version=1.1

We strongly recommend that you provide a version number with all of your requests. A request without a version number will default to the latest version of the API so you might experience changes you are not prepared for.

HTTP Status Codes

The W2 RESTful API closely adheres to the standard use of HTTP status codes. You can expect to find one of the following status codes in your response data.

Http Response Http Statuscode Description
Retrieved (OK) 200 A 200 response indicates that the request has succeeded and the resource has been retrieved.
Created 201 An 201 response indicates that the request has succeeded and a resource was created.
OK No Content 204 A 204 response indicates that the request has succeeded and there was nothing to return.
Bad Request 400 A Bad request response indicates that due to invalid properties provided, the server was unable to process the request.
Unauthorised 401 An unauthorised response suggests that missing valid authentication and therefore the request could not be processed.
Forbidden 403 A forbidden error suggests that the server understands the request however authorization is denied. Please contact our support team in order to gain access.
Not Found 404 A not found error suggests the resource does not exist.
Internal Server Error 500 An Internal server error suggests that there is a problem with the server. Please contact our support team.

KYC Check


This section describes how the KYC check API endpoint functions

How to call the endpoint

To call the endpoint you will need to perform a HTTP POST request to the URL:

API Version Url
1.0 https://api.w2globaldata.com/kyccheck?api-version=1.0 (Deprecated)
1.1 https://api.w2globaldata.com/kyc-check?api-version=1.1 (Deprecated)
1.2 https://api.w2globaldata.com/kyc-check?api-version=1.2
1.3 https://api.w2globaldata.com/kyc-check?api-version=1.3
1.4 https://api.w2globaldata.com/kyc-check?api-version=1.4
1.5 https://api.w2globaldata.com/kyc-check?api-version=1.5 Latest

Request & Response

Full Request example:

{
	"Bundle": "Bundle123",
	"ClientReference": "MyReference123",
	"Data": {
		"AgeVerificationPassIf": 0,
		"AgeVerificationThreshold": 0,
		"City": "Newport",
		"Country": "Wales",
		"County": "Gwent",
		"DateOfBirthMatchThreshold": 80,
		"DayOfBirth": 10,
		"DrivingLicenceNumber": "123",
		"Email": "[email protected]",
		"Flat": "12",
		"Forename": "Tyrion",
		"Gender": "Male",
		"HouseName": "Casterly Rock",
		"HouseNumber": "10",
		"IP": "192.168.0.1",
		"IdCardNumber": "123",
		"MRZ": ">>123>>",
		"Maiden": "???",
		"MiddleNames": "James",
		"MobileNumber": "001",
		"MonthOfBirth": 10,
		"NameQuery": "Tyrion Lannister",
		"NameQueryMatchThreshold": 80,
		"NationalId": "123",
		"PassportNumber": "123",
		"PersonalId": "123",
		"PhoneNumber": "000123",
		"PlaceOfBirth": "Lannisport",
		"Postcode": "LANN1",
		"ProfileId": "123-123-123-123",
		"Region": "Westerlands",
		"Street": "Lannisport Street",
		"Surname": "Lannister",
		"TaxCode": "123",
		"Title": "Lord",
		"TravelVisaNumber": "123",
		"YearOfBirth": 273
	},
	"Files": [{
		"Id": "123",
		"Reference": "123-ref-321",
		"Group": "group1",
		"Index": 0,
		"Service": "W2_DATA_IDVCHECK_013"
		}
	],
	"Options": {
		"Sandbox": "False",
		"Key": "Value"
	}
}
                Example provided in REST tab

KYC Check Response Example (SIS Plus service call):



{
  "clientReference": "123-456-789",
  "results": {
    "sisPlusCheckResult": {
      "matchResults": [
        {
          "matchType": "Person",
          "name": "John Dave Smith",
          "nameMatchScore": 85,
          "profileId": "SANC-d28cdbbd-5c0e-1a1b-4c1c-88a6b5790e82"
        },
        {
          "matchType": "Person",
          "name": "John Dave Smith",
          "nameMatchScore": 85,
          "profileId": "SANC-081d73e2-b1cd-baeb-176b-cf1607b75381"
        },
        {
          "matchType": "Person",
          "name": "John Dave Smith",
          "nameMatchScore": 85,
          "profileId": "SANC-dac80327-376e-6784-e793-3d39904726f5"
        },
        {
          "matchType": "Person",
          "name": "Dave John Smith",
          "nameMatchScore": 80,
          "profileId": "SANC-9763b970-f325-77bc-5c7e-46d7c18b3f06"
        }
      ]
    }
  },
  "transaction": {
    "interpretResult": "NotApplicable",
    "serviceCallReference": "8bb44731-9103-47b2-979e-f27c69f9d68b",
    "serviceTransactions": [
      {
        "haltTriggered": false,
        "service": "SISPlusCheck",
        "serviceInterpretResult": "MultipleResults",
        "serviceTransactionResult": "Success",
        "serviceTransactionResultMessage": "This call was generated using sandbox mode",
        "validationResult": "Pass"
      }
    ]
  }
}
                Example provided in REST tab

Request Properties

Use this table to find the meaning of each of the fields in the request.

Property Description
Bundle The Bundle section states which bundle you are calling and is mandatory for every service call. A bundle is a collection of services which will be agreed with W2 Support.
ClientReference A reference identifying this call for your reference i.e. ‘My Company Testing’.
Data The Data object contains all the information about the individual or organisation you are querying. Which fields you need to include will be different for each service and many of them are only used for specific services. See the service page for each service you are calling.
Files This element is provided to supply the details of documents that are required for a service in the bundle to complete its work. For example, when using the IDDocumentCheck service, an image of the document must be associated with the call. This association is performed by adding the Unique ID of the document that was returned when it was uploaded to an item in this array.
Options These are optional parameters for some extra fields not covered in the Data object. The whole section is optional. The most common use is to set Sandbox mode, where you can call the service and get standard responses. For further information, each service has examples of how to structure a call to the sandbox.

Client Provided Data

This section simply reflects back information that was submitted in the API call.

Property Description
ClientReference This reflects back the client reference that was supplied in the request
ClientSubaccount An optional reference to identify which of your client accounts this call was made for.
ClientUser An optional reference to identify which individual user made this call. For future compatibility with W2 products we suggest this value should be the user’s email address.
RefersToServiceCallReference Links this call to a previous call by specifying the previous ServiceCallReference.

Transaction Information

This section contains the interpret result for the whole bundle, the service call reference and a section of meta data for each service.

Property Description
InterpretResult The validation result of the Interpret function.
1. Pass - The information supplied to the bundle passed validation.
2. Fail- The information supplied to the bundle failed validation.
3. Inconclusive- It was not possible to generate a clear validation result from the information supplied. It may be necessary to refer this query for further investigation.
4. NoInterpretPerformed - No interpret was performed in this case. Check the other information returned by the services to determine why.
5. NotApplicable - Interpret is not enabled for this bundle.
ServiceTransactions A collection of ServiceTransactionInformation objects. See below
ServiceCallReference A unique reference for this service call.

Service Transaction Information

Every service that is called will return one of these:

Property Description
Service The service that was invoked.
ServiceInterpretResult The validation result of the service interpret function.
1. Pass - The query data resulted in a pass.
2. Fail - The query data resulted in a failure.
3. Inconclusive - The query data resulted in an inconclusive outcome.
4. NoResults - The query data returned no results.
5. OneResult - The query data returned a single result.
6. MultipleResults - The query data returned multiple results.
7. NotApplicable - Interpret is not applicable to the call or wasn’t enabled.
8. NotPerformed - An error prevented this result from being categorised.
ServiceTransactionResult The validation result for service transaction.
1. Success - The service executed successfully.
2. SuccessNoResults - The service executed successfully but no results were generated.
3. SuccessIncompleteResults - The service executed successfully but too many results were generated to return them all, so the results have been truncated.
4. MultipleChoices - The service could not continue as there are multiple choices available and one of them must be selected or the query must be submitted with more concise information in order to complete execution.
5. ClientErrorInsufficientInformation - There was insufficient information for the service to execute. Check that all of the required fields for the service were supplied.
6. NotExecutedDueToPreviousHalt - The service was not executed because a previous service in the bundle triggered a halt.
7. ServerErrorGeneralError - A general error occurred on the server trying to run the service.
ServiceTransactionResultMessage The message associated with the ServiceTransactionResult if applicable. The ServiceTransactionResultMessage is usually null, but in some cases may provide some insight into the ServiceTransactionResult. For example, if a service returns SuccessIncompleteResults the ServiceTransactionResultMessage may contain an explanation of why, such as there being a limit of 100 results per query. There is no standard across services for this field so it should not be relied upon, instead it is better to use it for debugging or additional information and rely on the ServiceTransactionResult which has consistent behaviour.
ValidationResult The validation result…
1. Pass - The information supplied to the service passed validation
2. Fail - The information supplied to the service failed validation.
3. Inconclusive - It was not possible to generate a clear validation result from the information supplied. It may be necessary to refer this query for further investigation.
4. NoValidationPerformed - No validation was performed in this case. Check the other information returned by the service to determine why.
5. NotApplicable - The service is not a service that performs validation and therefore validation is not applicable.
ServiceValidationDetails This field provides information about the pre-execution validation step and should be read in conjunction with the ValidationResult field.
HaltTriggered True if the service halted after this service

Document Verification


This section describes how the Document Verification API endpoint functions

This section is for consuming the service W2-DATA-DOCUMENT_CHECK-039.
If using W2 Data IDV Check 013 please refer to Upload Document

Endpoints

Endpoint Description
Crop This endpoint is used to remove the background from an image of a document. This is helpful when you wish to display the document back to your customer as part their journey.
Verify The Verify endpoint performs the document verification.

Important Definitions

Term Definition
Document Type When using W2’s document verification api’s you will be asked to supply the Document Type of the document you are verifying. This refers to the size standards for identification documents specified by ISO. You can read more about the standard here. W2 currently Supports ID1 or ID3 documents

Crop

This section describes how the Crop API endpoint functions.
The Crop endpoint is used to perform document verification.

How to call the endpoint
To call the endpoint you will need to perform a HTTP POST request to the URL:

Calling document verification crop endpoint using C#

    using System;
    using System.IO;
    using System.Net.Http;
    using System.Threading.Tasks;
    using Newtonsoft.Json;

    public class Program
    {
        public class CropResult
        {
            public string Image { get; set; }
        }

        static async Task Main(string[] args)
        {
            var client = new HttpClient();

            var content = new MultipartFormDataContent();

            content.Add(new ByteArrayContent(File.ReadAllBytes("/ID1-Page1.png")), "Image", "image.png");

            content.Add(new StringContent("Id1"), "DocumentType");

            content.Add(new StringContent("1"), "Page");

            var response = await client.SendAsync(new HttpRequestMessage
            {
                Method = HttpMethod.Post,
                Headers = { { "Authorization", "Basic YourApiKey" } },
                RequestUri = new Uri("https://api.w2globaldata.com/document-verification/crop?api=version=1.1"),
                Content = content
            });

            var cropResult = JsonConvert.DeserializeObject<CropResult>(
                await response.Content.ReadAsStringAsync());

            File.WriteAllBytes("id1-cropped.png", Convert.FromBase64String(cropResult.Image));

            Console.WriteLine("Cropped image saved");

            Console.ReadLine();
        }
    }
Api Version Url
1.1 and greater https://api.w2globaldata.com/document-verification/crop

Content Type
The crop endpoint expects the body of requests to be in the form-data format. Responses will be in application/json format

Crop Request Structure

Property Description
Page (int) Represents the page of the document you are cropping.
- Required
- Must be between 1 and 3
- 1 for the front page of the document
- 2 for the back page of the document
- 3 for additional page of the document
DocumentType (string) A string representing the type of the document you are cropping.
- Required
- Must be either ‘ID1’ or ‘ID3’
Image (file) Image data representing the image you wish to crop
- Required
- File must be either JPEG, PNG or BMP
ClientReference (string) A reference identifying this call for your reference.
- Optional

Crop Response Structure

Example of a full document verification crop response

{
    "image": "{Base 64 data removed for documentation}",
    "metadata": {
        "glare": 0,
        "sharpness": 62
    }
}
                Example provided in REST tab
Property Name Description
Image(string) Base 64 string representing the cropped document image.
Meta Data (object) Represents extended data obtained from cropping the image. The values provided are not guaranteed to exist on each request.

Verify

This section describes how the Verify API endpoint functions.
The Verify endpoint is used to perform document verification.

How to call the endpoint
To call the endpoint you will need to perform a HTTP POST request to the URL:

Example of how to call the document verification verify endpoint using C#

    using System;
    using System.IO;
    using System.Net.Http;
    using System.Threading.Tasks;
    using Newtonsoft.Json;

    public class VerifyResult
    {
        public string Result { get; set; }

        // OTHER PROPERTIES LEFT OUT FOR DEMO
    }

    public class Program
    {
        static async Task Main(string[] args)
        {
            var client = new HttpClient();

            var content = new MultipartFormDataContent();

            content.Add(new ByteArrayContent(File.ReadAllBytes("/Id1Image-front.png")), "pages", "id1-front.png");

            content.Add(new ByteArrayContent(File.ReadAllBytes("/Id1Image-back.png")), "pages", "id1-back.png");

            content.Add(new StringContent("Id1"), "DocumentType");

            content.Add(new StringContent("123"), "ClientReference");

            var response = await client.SendAsync(new HttpRequestMessage
            {
                Method = HttpMethod.Post,
                Headers = { { "Authorization", "Basic YourApiKey" } },
                RequestUri = new Uri("https://api.w2globaldata.com/document-verification/verify?api-version=1.1"),
                Content = content
            });

            var verificationResult = JsonConvert.DeserializeObject<VerifyResult>(
                await response.Content.ReadAsStringAsync());

            Console.WriteLine($"Verification result: {verificationResult.Result}");

            Console.ReadLine();
        }
    }
Api Version URL
1.1 and greater https://api.w2globaldata.com/document-verification/verify

Content Type
The verify endpoint expects the body of requests to be in the form-data format. Responses will be in application/json format.

Verify Request Structure

Property Description
Pages (File) An array of image data files that represent the images of the document.
- At least one page required
- File must be either JPEG, PNG or BMP
DocumentType (string) A string representing the type of the document you are cropping.
- Required
- Must be either ‘ID1’ or ‘ID3’
ClientReference (string) A reference identifying this call for your reference.
- Optional

Example of a full document verification response

{
    "alerts": [
        {
            "name": "Document Expired",
            "description": "Checked if the document is expired.",
            "mitigation": "The document has expired",
            "result": "Refer"
        },
        {
            "name": "Visible Color Response",
            "description": "Verified the color response of an element on the visible image.",
            "mitigation": "The color response is incorrect",
            "result": "Failed"
        },
        {
            "name": "Visible Pattern",
            "description": "Verified the presence of a pattern on the visible image.",
            "mitigation": "A visible pattern was not found",
            "result": "Failed"
        },
        {
            "name": "Document Number Crosscheck",
            "description": "Compare the machine-readable document number field to the human-readable document number field.",
            "mitigation": "The document numbers do not match",
            "result": "Refer"
        },
        {
            "name": "Birth Date Check Digit",
            "description": "Verified that the birth date check digit is correct.",
            "mitigation": "The birth date check digit is correct",
            "result": "Refer"
        },
        {
            "name": "Birth Date Crosscheck",
            "description": "Compare the machine-readable birth date field to the human-readable birth date field.",
            "mitigation": "The birth dates match",
            "result": "Refer"
        },
        {
            "name": "Birth Date Valid",
            "description": "Verified that the birth date is valid.",
            "mitigation": "The birth date is valid",
            "result": "Refer"
        },
        {
            "name": "Composite Check Digit",
            "description": "Verified that the composite check digit is correct.",
            "mitigation": "The composite check digit is correct",
            "result": "Refer"
        },
        {
            "name": "Document Classification",
            "description": "Verified that the type of document is supported and is able to be fully authenticated.",
            "mitigation": "The document type is supported",
            "result": "Refer"
        },
        {
            "name": "Document Crosscheck Aggregation",
            "description": "Compared the machine-readable fields to the human-readable fields.",
            "mitigation": "There are not a large number of differences between electronic and human-readable data sources",
            "result": "Refer"
        },
        {
            "name": "Document Number Check Digit",
            "description": "Verified that the document number check digit is correct.",
            "mitigation": "The document number check digit is correct",
            "result": "Refer"
        },
        {
            "name": "Expiration Date Check Digit",
            "description": "Verified that the expiration date check digit is correct.",
            "mitigation": "The expiration date check digit is correct",
            "result": "Refer"
        },
        {
            "name": "Expiration Date Crosscheck",
            "description": "Compare the machine-readable expiration date field to the human-readable expiration date field.",
            "mitigation": "The expiration dates match",
            "result": "Refer"
        },
        {
            "name": "Expiration Date Valid",
            "description": "Verified that the expiration date is valid.",
            "mitigation": "The expiration date is valid",
            "result": "Refer"
        },
        {
            "name": "Full Name Crosscheck",
            "description": "Compare the machine-readable full name field to the human-readable full name field.",
            "mitigation": "The full names match",
            "result": "Refer"
        },
        {
            "name": "Issue Date Valid",
            "description": "Verified that the issue date is valid.",
            "mitigation": "The issue date is valid",
            "result": "Refer"
        },
        {
            "name": "Issuing State Valid",
            "description": "Verified that the issuing state is valid.",
            "mitigation": "The issuing state is valid",
            "result": "Refer"
        },
        {
            "name": "Sex Crosscheck",
            "description": "Compare the machine-readable sex field to the human-readable sex field.",
            "mitigation": "The sexes match",
            "result": "Refer"
        },
        {
            "name": "Visible Color Response",
            "description": "Verified the color response of an element on the visible image.",
            "mitigation": "The color response is correct",
            "result": "Refer"
        },
        {
            "name": "Visible Pattern",
            "description": "Verified the presence of a pattern on the visible image.",
            "mitigation": "A visible pattern was found",
            "result": "Refer"
        }
    ],
    "checkedRegions": [
        {
            "name": "Back Reg",
            "height": 55,
            "width": 69,
            "xAxis": 180,
            "yAxis": 124
        },
        {
            "name": "Background",
            "height": 52,
            "width": 359,
            "xAxis": 325,
            "yAxis": 138
        },
        {
            "name": "Background Blue Color",
            "height": 52,
            "width": 359,
            "xAxis": 325,
            "yAxis": 138
        },
        {
            "name": "Background EU",
            "height": 56,
            "width": 65,
            "xAxis": 471,
            "yAxis": 136
        },
        {
            "name": "Background Red Color",
            "height": 52,
            "width": 359,
            "xAxis": 325,
            "yAxis": 138
        },
        {
            "name": "Birth Date",
            "height": 37,
            "width": 153,
            "xAxis": 203,
            "yAxis": 69
        },
        {
            "name": "Birth Place",
            "height": 35,
            "width": 353,
            "xAxis": 203,
            "yAxis": 97
        },
        {
            "name": "Document Number",
            "height": 46,
            "width": 177,
            "xAxis": 544,
            "yAxis": 2
        },
        {
            "name": "Expiration Date",
            "height": 31,
            "width": 166,
            "xAxis": 243,
            "yAxis": 150
        },
        {
            "name": "Fixed Reg",
            "height": 65,
            "width": 83,
            "xAxis": 232,
            "yAxis": 48
        },
        {
            "name": "Full Name",
            "height": 51,
            "width": 472,
            "xAxis": 244,
            "yAxis": 81
        },
        {
            "name": "Issuing Information",
            "height": 33,
            "width": 168,
            "xAxis": 244,
            "yAxis": 194
        },
        {
            "name": "Locator",
            "height": 164,
            "width": 146,
            "xAxis": 589,
            "yAxis": 107
        },
        {
            "name": "MRZ Locate",
            "height": 189,
            "width": 155,
            "xAxis": 1,
            "yAxis": 281
        },
        {
            "name": "MRZ1 (Visible)",
            "height": 44,
            "width": 699,
            "xAxis": 24,
            "yAxis": 311
        },
        {
            "name": "MRZ2 (Visible)",
            "height": 46,
            "width": 699,
            "xAxis": 24,
            "yAxis": 348
        },
        {
            "name": "MRZ3 (Visible)",
            "height": 51,
            "width": 699,
            "xAxis": 24,
            "yAxis": 388
        },
        {
            "name": "MRZ3 Check",
            "height": 70,
            "width": 86,
            "xAxis": 31,
            "yAxis": 354
        },
        {
            "name": "Photo",
            "height": 261,
            "width": 211,
            "xAxis": 26,
            "yAxis": 165
        },
        {
            "name": "Remarks Photo Side",
            "height": 97,
            "width": 289,
            "xAxis": 248,
            "yAxis": 304
        },
        {
            "name": "Seal",
            "height": 65,
            "width": 120,
            "xAxis": 532,
            "yAxis": 247
        },
        {
            "name": "Sex",
            "height": 36,
            "width": 58,
            "xAxis": 204,
            "yAxis": 140
        },
        {
            "name": "Signature",
            "height": 81,
            "width": 226,
            "xAxis": 499,
            "yAxis": 307
        },
        {
            "name": "Signature Label Black",
            "height": 39,
            "width": 154,
            "xAxis": 555,
            "yAxis": 387
        },
        {
            "name": "Type Header",
            "height": 60,
            "width": 323,
            "xAxis": 220,
            "yAxis": 0
        },
        {
            "name": "Type of Permit",
            "height": 51,
            "width": 295,
            "xAxis": 241,
            "yAxis": 242
        },
        {
            "name": "Validator 1",
            "height": 66,
            "width": 117,
            "xAxis": 10,
            "yAxis": 1
        },
        {
            "name": "Verify <<",
            "height": 122,
            "width": 607,
            "xAxis": 90,
            "yAxis": 316
        }
    ],
    "metaData": {
        "name": "Tyrion Lannister",
        "dateOfBirth": "1990-08-01T00:00:00.0000000Z",
        "mrz": "IRGGRJF321822427<<<<<<<<<<<<1234010M1511114KEN<<<<<<<<<<<8ICTHREEMALE<<TECH<REFRESH<<<<<",
        "documentNumber": "123456789",
        "documentExpiryDate": "31/05/2022"
    },
    "result": "Refer",
    "photo": "<Base 64 encoded image removed for documentation>",
    "signature": "<Base 64 encoded image removed for documentation"
}
                Example provided in REST tab

Response Properties
This table describes the properties of the response.

Property Name Description
Alerts (array of objects) Represents the alerts generated from verifying the document. See the table below for details.
Checked Regions (array of objects) Shows the checked regions of the verified document. See the table below for details.
Meta Data (dictionary) A dictionary of key value pairs representing data from the verified document. We cannot guarantee the existence of any values in this dictionary. For example, verifying one document may return the Name on the document where as verifying another may not.
Result Represents the result of the verification.
Possible values:
- Pass
- Fail
- Refer
Photo Represents a base 64 encoded image of the cut out photo on the verified document.
Signature Represents a base 64 encoded image of the cut out signature on the verified document.

Alert

Property Name Description
Name (string) The name of the alert.
Description (string) The description of the alert.
Mitigation (string) The action(s) that can manually be performed to mitigate the alert.
Result (string) The alert result:
Failed - The alert indicates a failure of a document verification metric.
Refer - The alert indicates the possible manual verification metric that could not confidently be guaranteed correct by automated checks.

Alert table
On a document verification, the number of security checks completed varies from document to document, based on the number of security features that the document contains. To achieve an overall Pass, not every check needs to pass, and this alert table will highlight the checks that were not passed.

Checks that do not pass, are broken down into 2 categories – ‘Refer’ and ‘Failed’.

A ‘Refer’ simply refers to a potential warning or information alert that normally indicates that the quality of the image did not allow the check to be completed. Users normally find on human inspection of these, they are passed, and most clients will simply ignore these alerts if the overall result of the Document verification is a Pass.

The ‘Failed’ checks indicate that the check was completed, but there was an element of the check that failed the verification. This will normally be associated with referred or failed checks; however, the visual checks can also fail depending on document classification. These should normally result in some human inspection, but again, are normally only checked in circumstances where the overall document check has not passed.

Regions checked
This table gives co-ordinates of the areas of the document that have been assessed and automatically reviewed. W2 provides these regions so clients can extract the specific regions of the document that relate to the checks that have been completed and inspect/review if they see fit. If clients are storing the documents, these regions can also be used as marker for ‘redacting’ Personal Identifiable Information (PII).

Meta Data
This is the region where extracted information from the document is reported on via optical data recognition (OCR). W2 currently only reports on the Name, Date of birth, Machine-Readable zone (MRZ), Document Number and Document Expiry Date of a document. We are looking to expand these offerings to include document classification, address etc soon.

Result
This is the overall result of the document verification. This is the final, overall recommendation from W2 regarding how the document verification should be treated.

Photo
This is the photo that is extracted by the document verification. It is this photo that is normally used by the facial comparison SDK to compare the selfie picture against.

Signature
If a signature is included on the document, this is the region that will extract the image of the signature.

Checked Regions

Property Name Description
Name (string) The name of the document region.
Height (int) The height of the document region.
Width(int) the width of the document region.
xAxis (int) The x-axis co-ordinate or the document region
yAxis (int) The y-axis co-ordinate of the document region

Classify And Verify

This section describes how the Classify And Verify API endpoint functions.
The Classify And Verify endpoint is used to perform document classification and verification.

How to call the endpoint
To call the endpoint you will need to perform a HTTP POST request to the URL:

Example of how to call the document classification and verification classifyAndVerify endpoint using C#

    using System;
    using System.IO;
    using System.Net.Http;
    using System.Threading.Tasks;
    using Newtonsoft.Json;

    public class ClassifyVerifyResult
    {
        public DocumentClassification Classification { get; set; }

        public DocumentVerification Verification { get; set; }
    }

    public class DocumentClassification
    {
        public string ClassificationResult { get; set; }

        // OTHER PROPERTIES LEFT OUT FOR DEMO
    }

    public class DocumentVerification
    {
        public string Result { get; set; }

        // OTHER PROPERTIES LEFT OUT FOR DEMO
    }

    public class Program
    {
        static async Task Main(string[] args)
        {
            var client = new HttpClient();

            var content = new MultipartFormDataContent();

            content.Add(new ByteArrayContent(File.ReadAllBytes("/Id1Image-front.png")), "pages", "id1-front.png");

            content.Add(new ByteArrayContent(File.ReadAllBytes("/Id1Image-back.png")), "pages", "id1-back.png");

            content.Add(new StringContent("Id1"), "DocumentType");

            content.Add(new StringContent("123"), "ClientReference");

            content.Add(new StringContent("true"), "AutoVerify");

            var response = await client.SendAsync(new HttpRequestMessage
            {
                Method = HttpMethod.Post,
                Headers = { { "Authorization", "Basic YourApiKey" } },
                RequestUri = new Uri("https://api.w2globaldata.com/document-verification/classifyAndVerify?api-version=1.5"),
                Content = content
            });

            var classificationVerificationResult = JsonConvert.DeserializeObject<ClassifyVerifyResult>(
                await response.Content.ReadAsStringAsync());

            Console.WriteLine($"Classification result: {classificationVerificationResult.Classification.ClassificationResult}");
            Console.WriteLine($"Verification result: {classificationVerificationResult.Verification.Result}");

            Console.ReadLine();
        }
    }
Api Version URL
1.3 and greater https://api.w2globaldata.com/document-verification/classifyAndVerify

Content Type
The classifyAndVerify endpoint expects the body of requests to be in the form-data format. Responses will be in application/json format.

Verify Request Structure

Property Description
Pages (File) An array of image data files that represent the images of the document.
- At least one page required
- File must be either JPEG, PNG or BMP
DocumentType (string) A string representing the type of the document you are cropping.
- Required
- Must be either ‘ID1’ or ‘ID3’
ClientReference (string) A reference identifying this call for your reference.
- Optional
AutoVerify (boolean) A boolean flag indicating whether to perform automatic verification on successful classification.

Example of a full document verification response

{
    "classification": {
        "classificationResult": "Pass",
        "classificationDetails": {
            "classificationName": "Passport",
            "version": "2006",
            "type": "ePassport",
            "issuerCode": "GBR",
            "issuerName": "United Kingdom (Citizen)"
        }
    },
    "verification": {
        "alerts": [
            {
                "name": "Document Expired",
                "description": "Checked if the document is expired.",
                "mitigation": "Check if the document has expired",
                "result": "Refer"
            },
            {
                "name": "Birth Date Check Digit",
                "description": "Verified that the birth date check digit is correct.",
                "mitigation": "The birth date check digit is correct",
                "result": "Passed"
            },
            {
                "name": "Birth Date Crosscheck",
                "description": "Compare the machine-readable birth date field to the human-readable birth date field.",
                "mitigation": "The birth dates match",
                "result": "Passed"
            },
            {
                "name": "Birth Date Valid",
                "description": "Verified that the birth date is valid.",
                "mitigation": "The birth date is valid",
                "result": "Passed"
            },
            {
                "name": "Composite Check Digit",
                "description": "Verified that the composite check digit is correct.",
                "mitigation": "The composite check digit is correct",
                "result": "Passed"
            },
            {
                "name": "Document Classification",
                "description": "Verified that the type of document is supported and is able to be fully authenticated.",
                "mitigation": "The document type is supported",
                "result": "Passed"
            },
            {
                "name": "Document Number Check Digit",
                "description": "Verified that the document number check digit is correct.",
                "mitigation": "The document number check digit is correct",
                "result": "Passed"
            },
            {
                "name": "Document Tampering Detection",
                "description": "Examines a document for evidence of tampering",
                "mitigation": "No evidence of document tampering was detected.",
                "result": "Passed"
            },
            {
                "name": "Document Tampering Detection",
                "description": "Examines a document for evidence of tampering",
                "mitigation": "No evidence of document tampering was detected.",
                "result": "Passed"
            },
            {
                "name": "Expiration Date Check Digit",
                "description": "Verified that the expiration date check digit is correct.",
                "mitigation": "The expiration date check digit is correct",
                "result": "Passed"
            },
            {
                "name": "Expiration Date Valid",
                "description": "Verified that the expiration date is valid.",
                "mitigation": "The expiration date is valid",
                "result": "Passed"
            },
            {
                "name": "Full Name Crosscheck",
                "description": "Compare the machine-readable full name field to the human-readable full name field.",
                "mitigation": "The full names match",
                "result": "Passed"
            },
            {
                "name": "Issue Date Valid",
                "description": "Verified that the issue date is valid.",
                "mitigation": "The issue date is valid",
                "result": "Passed"
            },
            {
                "name": "Issuing State Valid",
                "description": "Verified that the issuing state is valid.",
                "mitigation": "The issuing state is valid",
                "result": "Passed"
            },
            {
                "name": "Nationality Valid",
                "description": "Verified that the nationality is valid.",
                "mitigation": "The nationality is valid",
                "result": "Passed"
            },
            {
                "name": "Personal Number Check Digit",
                "description": "Verified that the personal number check digit is correct.",
                "mitigation": "The personal number check digit is correct",
                "result": "Passed"
            },
            {
                "name": "Photo Printing",
                "description": "Verified the presence of a printing feature on the photo.",
                "mitigation": "The photo printing technique was detected",
                "result": "Passed"
            },
            {
                "name": "Visible Pattern",
                "description": "Verified the presence of a pattern on the visible image.",
                "mitigation": "A visible pattern was found",
                "result": "Passed"
            },
            {
                "name": "Visible Pattern",
                "description": "Verified the presence of a pattern on the visible image.",
                "mitigation": "A visible pattern was found",
                "result": "Passed"
            },
            {
                "name": "Visible Pattern",
                "description": "Verified the presence of a pattern on the visible image.",
                "mitigation": "A visible pattern was found",
                "result": "Passed"
            },
            {
                "name": "Visible Photo Characteristics",
                "description": "Verifies the visible characteristics of the Photo",
                "mitigation": "The photo has the expected appearance",
                "result": "Passed"
            }
        ],
        "checkedRegions": [
            {
                "name": "Background",
                "height": 270,
                "width": 574,
                "xAxis": 1337,
                "yAxis": 466
            },
            {
                "name": "Background Bird",
                "height": 324,
                "width": 486,
                "xAxis": 986,
                "yAxis": 702
            },
            {
                "name": "Birth Date",
                "height": 76,
                "width": 520,
                "xAxis": 625,
                "yAxis": 483
            },
            {
                "name": "Birth Place",
                "height": 76,
                "width": 668,
                "xAxis": 801,
                "yAxis": 592
            },
            {
                "name": "Color Validator",
                "height": 262,
                "width": 278,
                "xAxis": 1613,
                "yAxis": 506
            },
            {
                "name": "Document Type Country Code VIZ",
                "height": 109,
                "width": 294,
                "xAxis": 54,
                "yAxis": 1005
            },
            {
                "name": "Expiration Date",
                "height": 85,
                "width": 520,
                "xAxis": 616,
                "yAxis": 791
            },
            {
                "name": "Given Name",
                "height": 68,
                "width": 1224,
                "xAxis": 616,
                "yAxis": 293
            },
            {
                "name": "Issue Date",
                "height": 70,
                "width": 511,
                "xAxis": 621,
                "yAxis": 688
            },
            {
                "name": "Issuing Authority",
                "height": 70,
                "width": 603,
                "xAxis": 1231,
                "yAxis": 694
            },
            {
                "name": "MRZ Locate",
                "height": 420,
                "width": 428,
                "xAxis": 0,
                "yAxis": 891
            },
            {
                "name": "MRZ1 (Visible)",
                "height": 109,
                "width": 1774,
                "xAxis": 54,
                "yAxis": 1005
            },
            {
                "name": "MRZ2 (Visible)",
                "height": 73,
                "width": 1774,
                "xAxis": 54,
                "yAxis": 1142
            },
            {
                "name": "Nationality Name",
                "height": 70,
                "width": 1227,
                "xAxis": 614,
                "yAxis": 389
            },
            {
                "name": "Photo",
                "height": 643,
                "width": 518,
                "xAxis": 92,
                "yAxis": 218
            },
            {
                "name": "Photo Printing",
                "height": 629,
                "width": 501,
                "xAxis": 101,
                "yAxis": 220
            },
            {
                "name": "Rt Reg",
                "height": 150,
                "width": 201,
                "xAxis": 1215,
                "yAxis": 594
            },
            {
                "name": "Sex",
                "height": 68,
                "width": 148,
                "xAxis": 616,
                "yAxis": 592
            },
            {
                "name": "Sex Label Anchor",
                "height": 303,
                "width": 429,
                "xAxis": 525,
                "yAxis": 389
            },
            {
                "name": "Signature",
                "height": 195,
                "width": 579,
                "xAxis": 1270,
                "yAxis": 786
            },
            {
                "name": "Surname",
                "height": 66,
                "width": 1233,
                "xAxis": 612,
                "yAxis": 198
            },
            {
                "name": "Surname Label Anchor",
                "height": 341,
                "width": 652,
                "xAxis": 447,
                "yAxis": 0
            },
            {
                "name": "Top Pattern",
                "height": 235,
                "width": 445,
                "xAxis": 6,
                "yAxis": 20
            },
            {
                "name": "Validator",
                "height": 239,
                "width": 540,
                "xAxis": 182,
                "yAxis": 36
            }
        ],
        "metaData": {
            "name": "Tyrion Lannister",
            "dateOfBirth": "1990-08-01T00:00:00.0000000Z",
            "mrz": "IRGGRJF321822427<<<<<<<<<<<<1234010M1511114KEN<<<<<<<<<<<8ICTHREEMALE<<TECH<REFRESH<<<<<",
            "documentNumber": "123456789",
            "documentExpiryDate": "31/05/2022"
        },
        "result": "Refer",
        "photo": "<Base 64 encoded image removed for documentation>",
        "signature": "<Base 64 encoded image removed for documentation>"
    }
}
                Example provided in REST tab

Response Properties
This table describes the properties of the response.

Property Name Description
Classification Represents the classification result of the document.
Verification Represents the verification result of the document. Please refer to the response properties here.

Classification

Property Name Description
ClassificationResult (string) The classification result:
Pass - Indicates a successful classification of the document.
Fail - Indicates a unsuccessful classification of the document.
ClassificationDetails (dictionary) A dictionary of key value pairs representing data from the classified document. We cannot guarantee the existence of any values in this dictionary. For example, classifying one document may return the Version on the document where as verifying another may not. However, we do guarantee the existence of ClassificationName - when ClassificationResult of Fail is present ClassificationName will always be Unknown.

ClassificationDetails

Property Name Description
ClassificationName (string) General category of the document type.
Version (string) The series - such as year, letter, or integer - to which the document belongs.
Type (string) Document subtype, such as Driver License, Driver License Under 21, Identification Card, Over 21, and Under 21.
IssuerCode (string) Code of the Government jurisdiction (country, state, or province) that issued the document.
IssuerName (string) Government jurisdiction (country, state, or province) that issued the document.

Verification

The verification response is the same as the Verify endpoint. Please refer to the response properties in the verify endpoint documentation.

Facial Comparison


This section describes how the Facial Comparison API endpoint functions

Example of how to call facial comparison endpoint using C#

    using System;
    using System.IO;
    using System.Net.Http;
    using System.Threading.Tasks;
    using Newtonsoft.Json;

    public class ComparisonResult
    {
        public bool IsMatch { get; set; }

        public int Confidence { get; set; }
    }

    public class Program
    {
        static async Task Main(string[] args)
        {
            var client = new HttpClient();

            var content = new MultipartFormDataContent();

            content.Add(new ByteArrayContent(File.ReadAllBytes("/face1.png")), "Current", "current.png");

            content.Add(new ByteArrayContent(File.ReadAllBytes("/face2.png")), "Comparison", "comparison.png");

            content.Add(new StringContent("123"), "ClientReference");

            var response = await client.SendAsync(new HttpRequestMessage
            {
                Method = HttpMethod.Post,
                Headers = { { "Authorization", "Basic YourApiKey" } },
                RequestUri = new Uri("https://api.w2globaldata.com/facial-comparison/compare?api-version=1.1"),
                Content = content
            });

            var comparisonResult = JsonConvert.DeserializeObject<ComparisonResult>(
                await response.Content.ReadAsStringAsync());

            Console.WriteLine($"Comparison result: {comparisonResult.IsMatch}");

            Console.ReadLine();
        }
    }

Endpoints

Endpoint Description
Compare This endpoint is used to determine whether the face in two different images are the same or not.

Request Properties
This details the fields of a facial comparison compare request.

   
Current (file) The Current element is the image captured from the device camera. It has to be a file rather than a text. When using the facial comparison endpoint, the Current image can be uploaded from the device. This element is compulsory, it cannot be removed or left empty.
- Required
- File must be either JPEG, PNG or BMP

Please ensure that the image presented is smaller than 1.5Mb. If an image larger than this is presented, the endpoint will compress the image (ensuring that the solution works) however this will have a detrimental effect on the response time.
Comparison (file) The Comparison is the image to be compared against the Current image. It has to be a file rather than a text. When using the facial comparison endpoint, the Comparison image can be uploaded from the device. This element is compulsory, it cannot be removed or left empty.
- Required
- File must be either JPEG, PNG or BMP

Please ensure that the image presented is smaller than 1.5Mb. If an image larger than this is presented, the endpoint will compress the image (ensuring that the solution works) however this will have a detrimental effect on the response time.
ClientReference (string) The Client Reference identifies this call for your reference.
- Optional

Response Properties
This table describes the properties of the response.

Facial Comparison Full Response Example 1

{
  "isMatch": true,
  "confidence": 100
}
                Example provided in REST tab

Facial Comparison Full Response Example 2

{
  "isMatch": false,
  "confidence": 12
}
                Example provided in REST tab
Property Name Description
isMatch (Boolean) Represents whether the uploaded images match each other: true = match, false = not a match. This is based on the confidence score returned, >= 85 will return true, <85 will return false
confidence (int) A score of 0 - 100 percentage, 0 indicates no match and 100 indicates 100% match

Upload Document


This section is for consuming the W2 Data IDV Check 013 service.
If using W2-DATA-DOCUMENT_CHECK-039 please refer to Document verification.

How to call the endpoint

To call the endpoint you will need to perform a HTTP POST request to the URL:

API Version URL
1.0 https://api.w2globaldata.com/documentupload?api-version=1.0 (Deprecated)
1.1 https://api.w2globaldata.com/document-upload?api-version=1.1
1.2 https://api.w2globaldata.com/document-upload?api-version=1.2
1.3 https://api.w2globaldata.com/document-upload?api-version=1.3
1.4 https://api.w2globaldata.com/document-upload?api-version=1.4
1.5 https://api.w2globaldata.com/document-upload?api-version=1.5 Latest

Content Type

The document upload endpoint expects the body of requests to be in the form-data format.

Request - Document Upload

Property Optional/Mandatory Details
ServiceAuthorisation Mandatory Contains authorisation information to identify the person using the service. See here
Reference Optional Contains a client-specified tracking reference. Maximum 100 Characters
Type Mandatory None - No type specified / known.
JPEG - A JPEG (Joint Picture Experts Group Image).
PNG - A PNG (Portable Network Graphics) image.
PDF - A PDF (Portable Document Format).
Document Mandatory Base64 Encoded representation of the document to upload.
Expiry Optional Desired expiry date to apply to the document to upload.
If left blank, W2 will use the default value of 14 days to expire the document. This can be set anywhere up to a maximum of 6 months.
Once the expiration date has been reached, W2 will remove the image data from our system, however the footprint of the upload will be preserved.
QueryOptions Optional Specify optional flags that alter the invocation of the service. See here

Response - Document Upload

Upload Document Response

{
    "bytesUploaded": 108920,
    "reference": "123",
    "documentTypeValidationSucceeded": true,
    "id": "0e397a02-4b7c-5494-abf0-14e2230be606",
    "resolvedDocumentType": "JPEG"
}
                Example provided in REST tab

Response Properties

Property Name Description
BytesUploaded The number of bytes uploaded to check against expected number.
Reference An echo of the value that was used on submission - useful when operating asynchronously.
DocumentTypeValidationSucceeded Whether or not the resolved document type matched the type specified by the user (e.g if the user specified the document was a PNG, and the document resolved to a PNG, this value is true).
Id The system assigned unique Id applied to this document on upload. Used to refer to the document when associating documents with a service as a part of the Files element of a KYC Check request.
ResolvedDocumentType The document type as resolved by the service - this can be compared against the expected (submitted) type for validation purposes.
- None
- No type specified / known.
- JPEG - A JPEG (Joint Picture Experts Group Image).
- PNG - A PNG (Portable Network Graphics) image.
- PDF - A PDF (Portable Document Format)

Document Size Limit

Case Management

Creation of a Case


What is a case?

A case is a collection of data attribute on a individual or entity on which the verification service will be performed. To trigger a service you will need to create a case containing the attributes you want to return.

Calling our cases API

Example Create Cases Request

{
          "Forename": "TEST_FORENAME",
          "Surname": "TEST_SURNAME",
          "DayOfBirth": 1,
          "MonthOfBirth": 1,
          "YearOfBirth": 2001,
          "ClientReference": "REST_TEST",
          "HouseNumber": "20",
          "Country": "GBR",
          "Postcode": "CF3 3CA",
          "Type": "Person",
          "OngoingMonitoring":true,
          "Email": "[email protected]",
          "Region":"South East",
          "TaxCode":"123",
          "PlaceOfBirth":"London, United Kingdom",
          "DrivingLicenceNumber":"RUSSF802087TG9EV11",
          "MRZ":"P<CZESPECIMIN<<VZOR<<<<<<<<<<<<<<<<<<<<<<<<<99003853<1CZE1101018M120704611010111<<<<<<94",
          "Gender":"M"
}

Example Successful Create Cases Response

{
    "caseId": "cd35f8a0-f30c-4cfc-9bcb-12bf58d44876"
}

The section below describes how to call the Case endpoint.

To call the endpoint you will need to perform a HTTP POST request to the URL:

API Version Url
1.2 https://api.w2globaldata.com/Cases?api-version=1.2
1.3 https://api.w2globaldata.com/Cases?api-version=1.3
1.4 https://api.w2globaldata.com/Cases?api-version=1.4
1.5 https://api.w2globaldata.com/Cases?api-version=1.5 Latest

Properties

The following properties pertain for a creation of a case.

Property Name Type Optional/Mandatory Notes
ClientReference String Mandatory While mandatory the client reference does not have to be unique.
You can use this property to link Cases back to entities in your own systems.
Forename String Optional The Forename of the individual.
MiddleNames String Optional The MiddleNames of the individual.
Surname String Optional The Surname of the individual.
DayOfBirth Integer Optional The DayOfBirth of the individual.
MonthOfBirth Integer Optional The MonthOfBirth of the individual.
YearOfBirth Integer Optional The YearOfBirth of the individual.
Title String Optional The Title of the individual.
HouseName String Optional The HouseName of the individual.
HouseNumber String Optional The HouseNumber of the individual.
Street String Optional The Street of the individual.
TownCity String Optional The Town/City of the individual.
County String Optional The County of the individual.
Country String Optional THe Country of the individual.
Postcode String Optional The Postcode of the individual.
Type String Optional The Type of case. If blank the case type will default to an individual case type.
OngoingMonitoring Boolean Optional Set OngoingMonitoring.
Email String Optional The Email of the individual.
Region String Optional The Region of the individual.
TaxCode String Optional The TaxCode of the individual.
PlaceOfBirth String Optional The PlaceOfBirth of the individual.
DrivingLicenceNumber String Optional The DrivingLicenceNumber of the individual.
MRZ String Optional The MRZ of the individual.
Gender String Optional The Gender of the individual.

The W2 CaseId will be provided if successfully created.

Updating a Case


Situations where you may need to update a case include:

  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,
          "Email": "[email protected]",
          "Region":"South West",
          "TaxCode":"124",
          "PlaceOfBirth":"Cardiff, United Kingdom",
          "DrivingLicenceNumber":"RUSSF802087TG9EV12",
          "MRZ":"P<CZESPECIMIN<<VZOR<<<<<<<<<<<<<<<<<<<<<<<<<99003853<1CZE1101018M120704611010111<<<<<<94",
          "Gender":"M"
}

Example Successful Update Cases Response

{
    "Your Case has been updated succesfully",
    "caseId": "cd35f8a0-f30c-4cfc-9bcb-12bf58d44876"
}

To call the endpoint you will need to perform a HTTP PUT request to the URL:

API Version Url
1.3 https://api.w2globaldata.com/cases/{caseId}?api-version=1.3
1.4 https://api.w2globaldata.com/cases/{caseId}?api-version=1.4
1.5 https://api.w2globaldata.com/cases/{caseId}?api-version=1.5 Latest

Properties

The following properties pertain for updating a case.

Property Name Type Optional/Mandatory Notes
ClientReference String Mandatory Your ClientReference.
Forename String Optional The Forename of the individual.
MiddleNames String Optional The MiddleNames of the individual.
Surname String Optional The Surname of the individual.
DayOfBirth Integer Optional The DayOfBirth of the individual.
MonthOfBirth Integer Optional The MonthOfBirth of the individual.
YearOfBirth Integer Optional The YearOfBirth of the individual.
Title String Optional The Title of the individual.
HouseName String Optional The HouseName of the individual.
HouseNumber String Optional The HouseNumber of the individual.
Street String Optional The Street of the individual.
TownCity String Optional The Town/City of the individual.
County String Optional The County of the individual.
Country String Optional THe Country of the individual.
Postcode String Optional The Postcode of the individual.
Type String Optional The Type of case. If blank the case type will default to an individual case type.
OngoingMonitoring Boolean Optional Set OngoingMonitoring.
Email String Optional The Email of the individual.
Region String Optional The Region of the individual.
TaxCode String Optional The TaxCode of the individual.
PlaceOfBirth String Optional The PlaceOfBirth of the individual.
DrivingLicenceNumber String Optional The DrivingLicenceNumber of the individual.
MRZ String Optional The passport MRZ of the individual.
Gender String Optional The Gender of the individual.

Updating a case returns a Case Id for the updated case.

Getting a Case


Calling our get case API

The section below describes how to call the Get Case endpoint.

Example Successful Get Cases Response

{
    "id": "4dbbbc65-e20e-4317-b395-5525405a4955",
    "companyId": 1,
    "type": "Person",
    "forename": "Kev",
    "middleNames": "",
    "surname": "Flemming",
    "dayOfBirth": 0,
    "monthOfBirth": 0,
    "yearOfBirth": 0,
    "clientReference": "some ref",
    "title": "something",
    "houseName": "number zero",
    "houseNumber": "0a",
    "street": "string",
    "townCity": "something else",
    "county": "string",
    "country": "string",
    "postcode": "string",
    "email": "string",
    "ongoingMonitoring": true,
    "creationDate": "2021-02-08T16:31:46.9916806Z",
    "lastUpdatedDate": "2021-05-11T09:33:50.4035756Z",
    "Region":"South East",
    "TaxCode":"123",
    "PlaceOfBirth":"London, United Kingdom",
    "DrivingLicenceNumber":"RUSSF802087TG9EV11",
    "MRZ":"P<CZESPECIMIN<<VZOR<<<<<<<<<<<<<<<<<<<<<<<<<99003853<1CZE1101018M120704611010111<<<<<<94",
    "Gender":"M"
}

To call the endpoint you will need to perform a HTTP GET request to the URL:

API Version Url
1.4 https://api.w2globaldata.com/Cases/{caseId}?api-version=1.4
1.5 https://api.w2globaldata.com/Cases/{caseId}?api-version=1.5 Latest

The W2 Case will be returned, if found.

Searching for a Case(s)


Calling our Search case API

The section below describes how to call the Search Case endpoint. If no search criteria is entered, the endpoint will retrieve the top 100 cases.

Pagination Options

There are two required pagination options that need to be provided in the query string.

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",
            "email": "[email protected]"
        }
    ],
    "stats": {
        "totalCount": 3,
        "pageCount": 3
    }
}

To call the endpoint you will need to perform a HTTP GET request to the URL:

API Version Url
1.5 https://api.w2globaldata.com/Cases?RiskGroup=low&PageNumber=0&PageSize=1&api-version=1.5 Latest

The W2 Case(s) will be returned, if found.

Getting Case Results


Calling our get case results API

The section below describes how to call the Get Case Results endpoint. This endpoint retrieves the latest 100 results.

Example Successful Get Cases Response

{
    "caseId": "437fb3e1-4430-4265-84da-cc22aa1fde19",
    "results": [
        {
            "id": "e73f75a2-6160-46b9-b1e2-2753e9fbcbb8",
            "caseId": "437fb3e1-4430-4265-84da-cc22aa1fde19",
            "type": "monitoring",
            "reference": "My monitoring reference",
            "resultDate": "2021-02-15T10:03:39.3691603+00:00",
            "numberOfAlerts": 0
        },
        {
            "id": "6cb53ec0-14d2-4579-9b3a-92e29ca63369",
            "caseId": "437fb3e1-4430-4265-84da-cc22aa1fde19",
            "type": "monitoring",
            "reference": "My monitoring reference",
            "resultDate": "2021-02-15T09:44:29.547256+00:00",
            "numberOfAlerts": 26
        }]
}

To call the endpoint you will need to perform a HTTP GET request to the URL:

API Version Url
1.4 https://api.w2globaldata.com/Cases/{caseId}/results?api-version=1.4
1.5 https://api.w2globaldata.com/Cases/{caseId}/results?api-version=1.5 Latest

The W2 Case Results will be returned, if found.

Getting Case Audit History


Calling our get case audit history case API

The section below describes how to call the Getting Case Audit History endpoint.

Example Successful Get Case Audit Response

{
    "audits": [
        {
            "caseId": "4257206f-18d1-43cd-9388-f7359963c5e0",
            "id": "a63a2fda-ade7-4ccc-ab68-0474f3784709",
            "actionDate": "2021-05-28T12:57:55.3665984Z",
            "action": "Updated",
            "propertiesChanged": [
                {
                    "name": "forename",
                    "old": "dean",
                    "new": "kev"
                },
                {
                    "name": "surname",
                    "old": "",
                    "new": "flemming"
                },
                {
                    "name": "ClientReference",
                    "old": "AAA-123/kent",
                    "new": "AAA-124/kent"
                }
            ]
        },
        {
            "caseId": "4257206f-18d1-43cd-9388-f7359963c5e0",
            "id": "0dd2baaf-e64c-40cb-b82d-ac0232a53542",
            "user": {
                "id": "54616a62-8807-4145-ad6d-2ba36e5fe946",
                "name": "bob"
            },
            "actionDate": "2021-05-28T12:57:55.297519Z",
            "action": "Created",
            "propertiesChanged": [
                {
                    "name": "forename",
                    "new": "dean",
                },
                {
                    "name": "ClientReference",
                    "new": "AAA-123/kent",
                }
            ]
        }
    ]
}

To call the endpoint you will need to perform a HTTP GET request to the URL:

API Version Url
1.4 https://api.w2globaldata.com/Cases/{caseId}/audits?api-version=1.4
1.5 https://api.w2globaldata.com/Cases/{caseId}/audits?api-version=1.5 Latest

The 100 most recent W2 Audits for the provided case id will be returned in descending date order, if the case exists.

Assigning Risk Groups to Cases


Calling our assign risk group to case API

The section below describes how to call the Assign Risk Group endpoint.

Request example:

{
	"RiskGroupId": "id of a risk group"
}

To call the endpoint you will need to perform a HTTP PUT request to the URL:

API Version Url
1.5 https://api.w2globaldata.com/Cases/{caseId}/riskgroup?api-version=1.5 Latest

A risk Group represents a collection of cases that present a similar level of risk to the organisation, and therefore are monitoring on an ongoing basis to a similar standard. While there are certain risk groups set up by default (Low, High and ex-customer) the client will need to define in the portal the ongoing actions that are taken for the corresponding groups.

This endpoint will assign a case to a risk group.

Unassigning Risk Groups from Cases


Calling our unassign risk group from a case API

The section below describes how to call the Unassign Risk Group endpoint.

To call the endpoint you will need to perform a HTTP DELETE request to the URL:

API Version Url
1.5 https://api.w2globaldata.com/Cases/{caseId}/riskgroup?api-version=1.5 Latest

This endpoint will unassign a case from a risk group.

Bundle Workflow Triggers


This section describes how the Bundle/Workflow trigger API endpoint functions

How to call the endpoint

To call the endpoint you will need to perform a HTTP POST request to the URL:

API Version Url
1.4 https://api.w2globaldata.com/case-kyc-check?api-version=1.4
1.5 https://api.w2globaldata.com/case-kyc-check?api-version=1.5 Latest

Request & Response

Full Request example:

{
    "caseId":"15b49d9c-ce55-4adb-a241-6e4020207219",
    "bundle":"SPFPlusCheck",
    "Options": {
        "Sandbox": "False",
        "Key": "Value",
        "NameQueryMatchThreshold": "Accepted values: 80, 85, 90, 100",
        "DateOfBirthMatchThreshold": "Accepted values: -100 to 100"
    }
}

KYC Check Response Example (SPF Plus service call):

{
    "clientReference": "CaseReference",
    "results": {
        "spfPlusCheckResult": {
            "matchResults": [
                {
                    "matchType": "Person",
                    "name": "Theresa Jones",
                    "nameMatchScore": 90,
                    "profileId": "SANC-d69d6314-4ab0-90db-efa3-735eb3f2a283"
                },
                {
                    "matchType": "Unknown",
                    "name": "Theresa Harrison",
                    "nameMatchScore": 80,
                    "profileId": "SANC-4edac9cc-3ee8-f7dc-4ec3-2fa7df3401bd"
                }
            ]
        }
    },
    "transaction": {
        "interpretResult": "NotApplicable",
        "serviceCallReference": "b3a13e17-1fbf-424a-81f9-1c1c38d43a1a",
        "serviceTransactions": [
            {
                "haltTriggered": false,
                "service": "SPFPlusCheck",
                "serviceInterpretResult": "MultipleResults",
                "serviceTransactionResult": "Success",
                "validationResult": "Pass"
            }
        ]
    }
}

Request Properties

Use this table to find the meaning of each of the fields in the request.

Property Description
Bundle The Bundle section states which bundle you are calling and is mandatory for every service call. A bundle is a collection of services which will be agreed with W2 Support.
CaseId The identifier of the case to be used for the bundle call. This field is mandatory.
Options These are optional parameters for some extra fields not covered in the Data object. The whole section is optional. The most common use is to set Sandbox mode, where you can call the service and get standard responses. For further information, each service has examples of how to structure a call to the sandbox.
NameQueryMatchThreshold and DateOfBirthMatchThreshold options are explained further here: FAQs. These thresholds will only work with these services: SIS Plus, SPF Plus, PEPDesk, Watchlist Check, PEP and Sanction 006, W2-DATA-DISQUALIFIEDS-UK-008, W2 Data Ekyc SCANDI 025

Client Provided Data

This section simply reflects back information that was submitted in the API call.

Property Description
ClientReference This reflects back the client reference that was supplied in the request
ClientSubaccount An optional reference to identify which of your client accounts this call was made for.
ClientUser An optional reference to identify which individual user made this call. For future compatibility with W2 products we suggest this value should be the user’s email address.
RefersToServiceCallReference Links this call to a previous call by specifying the previous ServiceCallReference.

Transaction Information

This section contains the interpret result for the whole bundle, the service call reference and a section of meta data for each service.

Property Description
InterpretResult The validation result of the Interpret function.
1. Pass - The information supplied to the bundle passed validation.
2. Fail- The information supplied to the bundle failed validation.
3. Inconclusive- It was not possible to generate a clear validation result from the information supplied. It may be necessary to refer this query for further investigation.
4. NoInterpretPerformed - No interpret was performed in this case. Check the other information returned by the services to determine why.
5. NotApplicable - Interpret is not enabled for this bundle.
ServiceTransactions A collection of ServiceTransactionInformation objects. See below
ServiceCallReference A unique reference for this service call.

Service Transaction Information

Every service that is called will return one of these:

Property Description
Service The service that was invoked.
ServiceInterpretResult The validation result of the service interpret function.
1. Pass - The query data resulted in a pass.
2. Fail - The query data resulted in a failure.
3. Inconclusive - The query data resulted in an inconclusive outcome.
4. NoResults - The query data returned no results.
5. OneResult - The query data returned a single result.
6. MultipleResults - The query data returned multiple results.
7. NotApplicable - Interpret is not applicable to the call or wasn’t enabled.
8. NotPerformed - An error prevented this result from being categorised.
ServiceTransactionResult The validation result for service transaction.
1. Success - The service executed successfully.
2. SuccessNoResults - The service executed successfully but no results were generated.
3. SuccessIncompleteResults - The service executed successfully but too many results were generated to return them all, so the results have been truncated.
4. MultipleChoices - The service could not continue as there are multiple choices available and one of them must be selected or the query must be submitted with more concise information in order to complete execution.
5. ClientErrorInsufficientInformation - There was insufficient information for the service to execute. Check that all of the required fields for the service were supplied.
6. NotExecutedDueToPreviousHalt - The service was not executed because a previous service in the bundle triggered a halt.
7. ServerErrorGeneralError - A general error occurred on the server trying to run the service.
ServiceTransactionResultMessage The message associated with the ServiceTransactionResult if applicable. The ServiceTransactionResultMessage is usually null, but in some cases may provide some insight into the ServiceTransactionResult. For example, if a service returns SuccessIncompleteResults the ServiceTransactionResultMessage may contain an explanation of why, such as there being a limit of 100 results per query. There is no standard across services for this field so it should not be relied upon, instead it is better to use it for debugging or additional information and rely on the ServiceTransactionResult which has consistent behaviour.
ValidationResult The validation result…
1. Pass - The information supplied to the service passed validation
2. Fail - The information supplied to the service failed validation.
3. Inconclusive - It was not possible to generate a clear validation result from the information supplied. It may be necessary to refer this query for further investigation.
4. NoValidationPerformed - No validation was performed in this case. Check the other information returned by the service to determine why.
5. NotApplicable - The service is not a service that performs validation and therefore validation is not applicable.
ServiceValidationDetails This field provides information about the pre-execution validation step and should be read in conjunction with the ValidationResult field.
HaltTriggered True if the service halted after this service

Risk Groups

What is a Risk Group?

A risk group allows for the classification of cases by risk as determined by your organisation.

Creating Risk Groups


Calling our Risk Group API

Example Successful Create Risk Group Response


{
    "riskGroup": {
        "name": "high"
    }
}

The section below describes how to call the Create Risk Group endpoint.

To call the endpoint you will need to perform a HTTP POST request to the URL:

API Version Url
1.5 https://api.w2globaldata.com/riskgroups?api-version=1.5 Latest

A risk group will be created.

Retrieving Risk Groups


Calling our Risk Group API

Example Successful Get Risk Group Response

[
    {
        "id": "09e8dca6-e3f5-11eb-ba80-0242ac130004",
        "name": "High"
    },
    {
        "id": "1d394f16-e3f5-11eb-ba80-0242ac130004",
        "name": "Medium"
    },
    {
        "id": "2175912a-e3f5-11eb-ba80-0242ac130004",
        "name": "Low"
    }
]

The section below describes how to call the Get Risk Group endpoint.

To call the endpoint you will need to perform a HTTP GET request to the URL:

API Version Url
1.5 https://api.w2globaldata.com/riskgroups?api-version=1.5 Latest

A list of your risk groups will be provided if any exist.

SOAP

API V3 Documentation


An overview of the W2 Global Data API V3

API Version 3

LIVE: https://apiv3.w2globaldata.com/Service.svc?wsdl

UAT: https://apiv3-uat.w2globaldata.com/Service.svc?wsdl

The API exposes two methods: KYCCheck and DocumentUpload.

KYCCheck

This is the most common method for calling the API. The call to the KYCCheck method takes a bundle name and a set of query data as parameters and goes through each service in that bundle. It will return a response from each service that is called along with an interpret result.

DocumentUpload

Some services perform document verification by looking at images of important documents (passports and driving licenses etc.) and as such we need to upload a document to W2. This method is used to upload documents.

  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>
            {"Example provided in SOAP tab"}

The bundle data tag indicates which bundle you are calling and is mandatory for every service call. A bundle is a collection of services which will be agreed with W2 Support.

Query Data

Query Data

<QueryData>
    <AgeVerificationPassIf>?</neur:AgeVerificationPassIf>
    <AgeVerificationThreshold>?</neur:AgeVerificationThreshold>
    <City>?</City>
    <Country>?</Country>
    <County>?</County>
    <DateOfBirthMatchThreshold>?</DateOfBirthMatchThreshold>
    <DayOfBirth>?</DayOfBirth>
    <DrivingLicenceNumber>?</DrivingLicenceNumber>
    <Email>?</Email>
    <Flat>?</Flat>
    <Forename>?</Forename>
    <Gender>?</Gender>
    <HouseName>?</HouseName>
    <HouseNumber>?</HouseNumber>
    <IP>?</IP>
    <IdCardNumber>?</IdCardNumber>
    <MRZ>?</MRZ>
    <Maiden>?</Maiden>
    <MiddleNames>?</MiddleNames>
    <MobileNumber>?</MobileNumber>
    <MonthOfBirth>?</MonthOfBirth>
    <NameQuery>?</NameQuery>
    <NameQueryMatchThreshold>?</NameQueryMatchThreshold>
    <NationalId>?</NationalId>
    <PassportNumber>?</PassportNumber>
    <PersonalId>?</PersonalId>
    <PhoneNumber>?</PhoneNumber>
    <PlaceOfBirth>?</PlaceOfBirth>
    <Postcode>?</Postcode>
    <ProfileId>?</ProfileId>
    <Region>?</Region>
    <Street>?</Street>
    <Surname>?</Surname>
    <TaxCode>?</TaxCode>
    <Title>?</Title>
    <TravelVisaNumber>?</TravelVisaNumber>
    <YearOfBirth>?</YearOfBirth>
</QueryData>
            {"Example provided in SOAP tab"}

SIS (Standard International Sanctions) example


<QueryData>
    <DayOfBirth>{e.g. 21}</DayOfBirth>
    <MonthOfBirth>{e.g. 02}</MonthOfBirth>
    <NameQuery>{e.g. Robert Mugabe}</NameQuery>
    <YearOfBirth>{e.g. 1924}</YearOfBirth>
</QueryData>
            {"Example provided in SOAP tab"}

Query Options

Sandbox request example


<QueryOptions>
   <KeyValueOfstringstring>
   	<Key>Sandbox</Key>
        <Value>True</Value>
    </KeyValueOfstringstring>
</QueryOptions>
            {"Example provided in SOAP tab"}

These are optional parameters for some extra fields not covered in the Query Data. The whole section is optional. The most common use is to set Sandbox mode, where you can call the service and get standard responses. For further information, each service has examples of how to structure a call to the sandbox.

Service Authorisation

Service Authorisation example

<ServiceAuthorisation>
   <APIKey>
   	Your API key provided by W2.
    </APIKey>
    <!--Optional:-->
    <ClientReference>
   	A reference identifying this call i.e. My Company Testing.
      </ClientReference>
    <!--Optional:-->
    <ClientSubaccount>
        An optional reference to identify which of your client accounts this call was made for.
    </ClientSubaccount>
    <!--Optional:-->
    <ClientUser>
    	An optional reference to identify which individual user made this call. If specified,
        this value must be the email address of a known user account assigned to your company 
        currently in the W2 Global Database. If a value is specified here that can't be validated 
        as an existing account, then the call will fail with an Invalid Client User error.
      </ClientUser>
    <!--Optional:-->
    <RefersToServiceCallReference>
        Links this call to a previous call by specifying the previous ServiceCallReference.
    </RefersToServiceCallReference>
</ServiceAuthorisation>
            {"Example provided in SOAP tab"}

Uploaded Files

Uploaded Files example


<UploadedFiles>
  <!--Zero or more repetitions:-->
  <neur:UploadedFile>
    <DocumentReference>
        A client-provided reference to help identify the document.
    </DocumentReference>
    <DocumentUID>
        The Unique identifier returned from the Document Upload service when uploading this document.
    </DocumentUID>
    <Group>
        An optional identifier used to group documents.
    </Group>
    <Index>
        An optional value used to indicate the index of this document 
        within its group (if provided) or overall if no group is specified 
    </Index>
    <Service>
        Indicates which service in the specified bundle this document should be associated with
    </Service>
  </UploadedFile>
</UploadedFiles>
            {"Example provided in SOAP tab"}

KYC Check Response


The response object contains the response from every service in your bundle as well as placeholders for any uncalled services. For every service that is called we also return a Service Transaction Information object that contains metadata about that service call. We also include an Interpret result which represents a combined response from all the services called.

Full Response

Full Response example

<Envelope>
   <Body>
      <KYCCheckResponse>
         <KYCCheckResult>
            <ClientProvidedData>
               <ClientReference>
                   Your client reference will be visible here.
               </ClientReference>
               <ClientSubaccount>
                   If supplied the client sub account will be visible here.
               </ClientSubaccount>
               <ClientUser>
                   If supplied the client user will be visible here.
               </ClientUser>
               <RefersToServiceCallReference>
                   If supplied the call reference will be visible here.
               </RefersToServiceCallReference>
            </ClientProvidedData>
            <ProcessRequestResult>
               <ServiceResult>
                  <!-- More information about each service's response 
                       can be found on relevant the service's page-->
                  <DirectorUKCheckResult />
                  <IDCheckATBravoResult />
                  <IDCheckAddressLookupResult />
                  <IDCheckCHBravoResult />
                  <IDCheckCZBravoResult />
                  <IDCheckDEAlphaResult />
                  <IDCheckDEBravoResult />
                  <IDCheckITBravoResult />
                  <IDCheckNLAlphaResult />
                  <IDCheckNameLookupResult />
                  <IDCheckPassportMRZResult />
                  <IDCheckRUBravoResult />
                  <IDCheckSKBravoResult />
                  <IDCheckUKAlphaResult />
                  <IDCheckUKDeltaResult />
                  <IDCheckUKDrivingLicenceNumberResult />
                  <IDCheckZAAlphaResult />
                  <IDDocumentCheckResult />
                  <PEPDeskCheckResult />
                  <ProfileDetailsResult />
                  <SISPlusCheckResult />
                  <SPFPlusCheckResult />
                  <W2DataAddressLookUp007Result />
                  <W2DataEkybUk009Result />
                  <W2DataEkycUk007Result />
                  <W2DataIdvcheck013Result />
                  <WatchlistCheckResult >
                  <W2DataEkycScandi025Result />
               </ServiceResult>
               <TransactionInformation>
                  <InterpretResult>
                    { NoInterpretPerformed | Pass | Inconclusive | Fail | NotApplicable }
                  </InterpretResult>
                  <ServiceCallReference>
                    { the unique identifier for this call }
                  </ServiceCallReference>
                  <ServiceTransactions>
                     <--Multiple values here -->
                     <ServiceTransactionInformation>
                        <FailedOverTo>
                            If a service "crashes" we can configure another to take it's place. 
                            the fail-over service name will be here
                        </FailedOverTo>
                        <HaltTriggered>
                       	    { true | false}
                        </HaltTriggered>
                        <Service>
                            The name of the service called
                        </Service>
                        <ServiceInterpretResult>
                            { Pass | Fail | Inconclusive | 
                              NoResults | OneResult | MultipleResults | 
                              NotApplicable | NotPerformed }
                        </ServiceInterpretResult>
                        <ServiceTransactionResult>
                            { None |  SuccessNoResults | SuccessIncompleteResults | 
                              MultipleChoices | ClientErrorInformationFormatInvalid | 
                              ClientErrorInsufficientInformation | NotExecutedDueToPreviousHalt | 
                              ServerErrorGeneralError | ServiceFailureError }
                        </ServiceTransactionResult>
                        <ServiceTransactionResultMessage>
                            Any messages from the service call
                        </ServiceTransactionResultMessage>
                        <ServiceValidationDetails>
                             This object provides the details of the validation step. 
                             If all validation succeeded, then the ValidationFailureReasons 
                             field will be set to null.                        
                        </ServiceValidationDetails>
                        <ValidationResult>
                            { Pass | Fail | Inconclusive | 
                              NoValidationPerformed | NotApplicable }
                        </ValidationResult>
                     </ServiceTransactionInformation>
                  </ServiceTransactions>
               </TransactionInformation>
            </ProcessRequestResult>
         </KYCCheckResult>
      </KYCCheckResponse>
   </Body>
</Envelope>
            {"Example provided in SOAP tab"}

Client Provided Data

This section simply reflects back information that was submitted in the API call.

Property Description
ClientReference This reflects back the client reference that was supplied in the request.
ClientSubaccount An optional reference to identify which of your client accounts this call was made for.
ClientUser An optional reference to identify which individual user made this call. For future compatibility with W2 products we suggest this value should be the user’s email address.
RefersToServiceCallReference Links this call to a previous call by specifying the previous ServiceCallReference.

Transaction Information

This section contains the interpret result for the whole bundle, the service call reference and a section of meta data for each service.

Property Details
InterpretResult The validation result of the Interpret function.
1. Pass- The information supplied to the bundle passed validation.
2. Fail- The information supplied to the bundle failed validation.
3. Inconclusive- It was not possible to generate a clear validation result from the information supplied. It may be necessary to refer this query for further investigation.
4. NoInterpretPerformed - No interpret was performed in this case. Check the other information returned by the services to determine why.
5. NotApplicable - Interpret is not enabled for this bundle.
ServiceTransactions A collection of ServiceTransactionInformation objects. See below
ServiceCallReference A unique reference for this service call.

Service Transaction information

Every service that is called will return one of these:

Property Details
Service The service that was invoked.
ServiceInterpretResult 1. Pass- The query data resulted in a pass.
2. Fail - The query data resulted in a failure.
3. Inconclusive - The query data resulted in an inconclusive outcome.
4. NoResults - The query data returned no results.
5. OneResult - The query data returned a single result.
6. MultipleResults- The query data returned multiple results.
7. NotApplicable- Interpret is not applicable to the call or wasn’t enabled.
8. NotPerformed - An error prevented this result from being categorised.
ServiceTransactionResult 1. Success- The service executed successfully.
2. SuccessNoResults- The service executed successfully but no results were generated.
3. SuccessIncompleteResults- The service executed successfully but too many results were generated to return them all, so the results have been truncated.
4. MultipleChoices - The service could not continue as there are multiple choices available and one of them must be selected or the query must be submitted with more concise information in order to complete execution.
5. ClientErrorInsufficientInformation- There was insufficient information for the service to execute. Check that all of the required fields for the service were supplied.
6. NotExecutedDueToPreviousHalt- The service was not executed because a previous service in the bundle triggered a halt.
7. ServerErrorGeneralError - A general error occurred on the server trying to run the service.
ServiceTransactionResultMessage The message associated with the ServiceTransactionResult if applicable. The ServiceTransactionResultMessage is usually null, but in some cases may provide some insight into the ServiceTransactionResult. For example, if a service returns SuccessIncompleteResults the ServiceTransactionResultMessage may contain an explanation of why, such as there being a limit of 100 results per query. There is no standard across services for this field so it should not be relied upon, instead it is better to use it for debugging or additional information and rely on the ServiceTransactionResult which has consistent behaviour.
ValidationResult 1. Pass - The information supplied to the service passed validation
2. Fail - The information supplied to the service failed validation.
3. Inconclusive - It was not possible to generate a clear validation result from the information supplied. It may be necessary to refer this query for further investigation.
4. NoValidationPerformed - No validation was performed in this case. Check the other information returned by the service to determine why.
5. NotApplicable - The service is not a service that performs validation and therefore validation is not applicable.
ServiceValidationDetails This field provides information about the pre-execution validation step and should be read in conjunction with the ValidationResult field.
HaltTriggered True if the service halted after this service

Upload Document

Upload Document Request

A full description of the upload document request

Sample Requests

This is the structure of a typical SOAP request to the service.

<Envelope>
  <Header>
    <Action>http://tempuri.org/IService/UploadDocument</Action>
  </Header>
  <Body>
    <UploadDocument>
      <DocumentUploadRequest>
        <DocumentData>
            /9j/4TmVRXhpZgAASUkqAAgAAAANAAABBAABAAAAwBQAAAEBBAABAAAArAsAAA8B//----- Data Truncated
        </DocumentData>
        <DocumentExpiry>2016-01-01T00:00:00</DocumentExpiry>
        <DocumentReference>MyDocumentReference</DocumentReference>
        <DocumentType>JPEG</DocumentType>
        <ServiceAuthorisation>
          <APIKey>APIKey</APIKey>
          <ClientReference />
          <ClientSubaccount />
          <ClientUser />
          <RefersToServiceCallReference />
        </ServiceAuthorisation>
      </documentUploadRequest>
    </UploadDocument>
  </Body>
</Envelope>
            {"Example provided in SOAP tab"}
Property Details
ServiceAuthorisation Contains authorisation information to identify the person using the service. See here
DocumentReference Contains a client-specified tracking reference. Maximum 100 Characters
DocumentType None - No type specified / known.
JPEG - A JPEG (Joint Picture Experts Group Image).
PNG - A PNG (Portable Network Graphics) image.
PDF - A PDF (Portable Document Format)
DocumentData Base64 Encoded representation of the document to upload.
DocumentExpiry Desired expiry date to apply to the document to upload.
If left blank, W2 will use the default value of 14 days to expire the document. This can be set anywhere up to a maximum of 6 months.
Once the expiration date has been reached, W2 will remove the image data from our system, however the footprint of the upload will be preserved.
QueryOptions Specify optional flags that alter the invocation of the service. See here

Notes

The maximum file size that we accept for a document upload through SOAP is 4MB. Upload documents up to 15MB through our REST API.

The DocumentData field must contain a Base64 Encoded representation of the document to upload. The recommended method for creating this representation is to use OpenSSL and issuing the following command;

The DocumentData field example

openssl enc -Base64 -in {inputFilePath} -out {outputFilePath} 

The output from the above will be a text string similar to;

/9j/4TmVRXhpZgAASUkqAAgAAAANAAABBAABAAAAwBQAAAEBBAABAAAArAsAAA8B
AgAIAAAAqgAAABABAgAJAAAAsgAAABIBAwABAAAAAQAAABoBBQABAAAAvAAAABsB
BQABAAAAxAAAACgBAwABAAAAAgAAADEBAgAOAAAAzAAAADIBAgAUAAAA2gAAABMC
AwABAAAAAQAAAGmHBAABAAAA7gAAACWIBAABAAAAVAwAAGYMAABzYW1zdW5nAFNN
LU45MTBGAABIAAAAAQAAAEgAAAABAAAATjkxMEZYWFUxQk9DMwAyMDE1OjA4OjAz
IDExOjIwOjM5AB8AmoIFAAEAAABoAgAAnYIFAAEAAABwAgAAIogDAAEAAAACAAAA
J4gDAAEAAAAoAAAAAJAHAAQAAAAwMjIwA5ACABQAAAB4AgAABJACABQAAACMAgAA
......(Output truncated)

Upload Document Response

A full description of the upload document request

Example Response

A Response example

<Envelope>
   <Body>
      <UploadDocumentResponse>
         <UploadDocumentResult>
            <BytesUploaded>9100</BytesUploaded>
            <DocumentReference>MyImage</DocumentReference>
            <DocumentTypeValidationSucceeded>true</DocumentTypeValidationSucceeded>
            <DocumentUID>756df058-6548-4535-a09d-6e47ffdbbd7d</DocumentUID>
            <ResolvedDocumentType>JPEG</ResolvedDocumentType>
         </UploadDocumentResult>
      </UploadDocumentResponse>
   </Body>
</Envelope>
            {"Example provided in SOAP tab"}
Property Name Description
BytesUploaded The number of bytes uploaded to check against expected number.
ResolvedDocumentType The document type as resolved by the service - this can be compared against the expected (submitted) type for validation purposes.
None - No type specified / known.
JPEG - A JPEG (Joint Picture Experts Group Image).
PNG - A PNG (Portable Network Graphics) image.
PDF - A PDF (Portable Document Format)
DocumentTypeValidationSucceeded Whether or not the resolved document type matched the type specified by the user (e.g if the user specified the document was a PNG, and the document resolved to a PNG, this value is true).
DocumentUID The system assigned unique Id applied to this document on upload. Used to refer to the document when associating documents with a service as a part of the UploadedFiles element of a Service Request
DocumentReference An echo of the value that was used on submission - useful when operating asynchronously.

Services

Services Overview


All of our services are exposed through bundles and you will need a bundle name in order to call a service. W2 Support will configure bundles for you, please contact us if this hasn’t been done already.

Each of our service provides different functionality see below for each service.

Footprint Whether a service leaves a footprint or not
Sandbox Whether a service has a sandbox mode available

Sanctions List Checks

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

Identity Check Services UK

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

Identity Check International

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

Address Lookup

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

Document Services

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

Know Your Business Services

Service Footprint Sandbox Description
W2 Data EKYB UK 009 No Yes Know your business service for UK and Ireland businesses
W2 Data EKYB Global Online 009 No Yes A know your business service for Global businesses

Age Verification

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

Affordability Services

Service Footprint Sandbox Description
W2 Affordability Data 045 No Yes An affordability service for identifying financially vulnerable individuals.
W2 Affordability VRS 045 No Yes An affordability service for identifying self-declared vulnerability individuals.
W2 Data RNS 007 Yes Yes A simple risk score service for assessing affordability of individuals.</div>

SIS Plus


Standard International Sanctions (SISPlus) service checks if a specified person is under a standard international sanction. If there are multiple matches, it provides a list of them, up to a limit of 100.

Product Code: W2-DATA-SANCTION-001

Properties

The following properties pertain to this service.

Property Name Type Optional/Mandatory Notes
NameQuery String Mandatory* The name of the person you are searching for. Default field used for matching, can be blank if Forename/MiddleNames/Surname used instead.
NameQueryMatchThreshold Integer Optional The minimum name match score to match against. Default is 80 (all matches)
DateOfBirthMatchThreshold Integer Optional The minimum date of birth score to match against. Default is null (off). If supplied, at least one component of the date of birth must be supplied.
DayOfBirth Integer Optional Used with DateOfBirthMatchThreshold.
MonthOfBirth Integer Optional Used with DateOfBirthMatchThreshold.
YearOfBirth Integer Optional Used with DateOfBirthMatchThreshold.

Response
The following table gives some more details about the response.

Example Business Response


"SISPlusCheckResult": {
	"MatchResults": [
		{
			"MatchType": "Unknown",
			"Name": "GAZPROM TELEKOM, OOO",
			"NameMatchScore": "90",
			"ProfileId": "SANC-bb310261-ad57-9a34-a4bd-18044e9a0b35"
		}
	]
}


<SISPlusCheckResult>
 <MatchResults>
	<!-- one or more of these -->
	<CheckMatch>
	   <BirthDay />
	   <BirthMonth />
	   <BirthYear />
	   <DateOfBirthMatchScore />
	   <MatchType>Unknown</MatchType>
	   <Name>GAZPROM TELEKOM, OOO</Name>
	   <NameMatchScore>90</NameMatchScore>
	   <ProfileId>SANC-bb310261-ad57-9a34-a4bd-18044e9a0b35</ProfileId>
	</CheckMatch>	
 </MatchResults>
</SISPlusCheckResult>

Example Response

"SISPlusCheckResult": {
	"MatchResults": [
		{
			"MatchType": "Person",
			"Name": "KIM, Jong Un",
			"NameMatchScore": "90",
			"ProfileId": "SANC-3501c004-7b45-3f64-bfa2-158bf79065ac"
		}
	]
}
<SISPlusCheckResult>
 <MatchResults>
	<!-- one or more of these -->
	<CheckMatch>
	   <BirthDay />
	   <BirthMonth />
	   <BirthYear />
	   <DateOfBirthMatchScore />
	   <MatchType>Person</MatchType>
	   <Name>KIM, Jong Un</Name>
	   <NameMatchScore>100</NameMatchScore>
	   <ProfileId>SANC-3501c004-7b45-3f64-bfa2-158bf79065ac</ProfileId>
	</CheckMatch>	
 </MatchResults>
</SISPlusCheckResult>
Property Name Type Description
BirthDay String The birth day of the record matched against.
BirthMonth Integer The birth month of the record matched against.
BirthYear Integer The birth month of the record matched against.
DateOfBirthMatchScore Integer The score that this record’s date of birth matched the query date.
MatchType MatchTypeEnum The type of match where the data is available in the source. See below
Name String The name of the record matched against. Depending on the source data there may be multiple names here combined into one.
NameMatchScore Integer The score that this record’s name matched the query name.
ProfileId String A unique reference for a profile that can be subsequently retrieved in full using the Profile Details Service.

Notes
The date of birth parameters will be null if no date of birth matching threshold was specified, even if the record has a date of birth, as it reflects the matching that occurred.

MatchTypeEnum
Represents the type of match.

Enumeration Value Value Description
Person 1 The match is a Person.
Entity 2 The match is an Entity.
Unknown 3 The match is of unknown type. This may represent missing data and does not necessarily mean ‘other’.
Vessel 4 The match is a vessel (usually maritime).
Aircraft 5 The match is an aircraft.

Transaction Result

HaltTriggered False
ServiceTransactionResult Success
SuccessNoResults
SuccessIncompleteResults - Too many matches generated, results truncated
ClientErrorInsufficientInformation - Required field not supplied
ClientErrorInformationFormatInvalid - Invalid format in field
ServerErrorGeneralError - Error with third party service
ServiceInterpretResult OneResult
MultipleResults
NoResults
NotPerformed - An error occurred and the search was not performed
ServiceTransactionResultMessage Usually empty, can contain optional information such as too many matches etc.
ValidationResult NotApplicable - No search occurred to match against
Fail - MissingMandatoryField or PatternNotMatched

Alert Filters

Available Filters

Applying Filters:

    "Options": {
        "Sandbox": "false",
        "IncludeCountries":"GBR,UDF,SUP - Up to 20 comma delimited countries",
        "ExcludeEntities": "true | false",
        "ExcludeIndividuals": "true | false",
        "ExcludeExPeps": "true | false"
    }
<QueryOptions>
  <KeyValueOfstringstring>
    <Key>Sandbox</Key>
    <Value>false</Value>
  </KeyValueOfstringstring>
  <KeyValueOfstringstring>
    <Key>IncludeCountries</Key>
    <Value>GBR,UDF,SUP - Up to 20 comma delimited countries</Value>
  </KeyValueOfstringstring>
  <KeyValueOfstringstring>
    <Key>ExcludeIndividuals</Key>
    <Value>true | false</Value>
  </KeyValueOfstringstring>
  <KeyValueOfstringstring>
    <Key>ExcludeEntities</Key>
    <Value>true | false</Value>
  </KeyValueOfstringstring>
  <KeyValueOfstringstring>
    <Key>ExcludeExPeps</Key>
    <Value>true | false</Value>
  </KeyValueOfstringstring>
</QueryOptions>
Filter Type Description
Include Countries If included, this filter will only return alerts that are on profiles that indicate that the main country of residence/activity is in the included country. Please note that if this filter is used, we advise to also use the 2 additional filters for undefined and supra-Nationals. This will include alerts generated for subjects that cannot be readily assigned to a country.
Exclude Ex-PEPs If included, this filter excludes alerts that would have been generated on individuals that have left the office that attracted their ‘PEP status’ for a defined period of time. For a risk based approach, it is normally appropriate to consider ex-PEPs for some time, however, this time will differ based on the risk profile of the business that your organisation conducts.
Exclude Individuals/Entities When applied, this filter will suppress alerts that are generated on either individuals (if you are conducting a search on a known business/entity) OR suppress entities (if conducting a search on an known individual)

Sandbox

Example Request - SIS Plus

{
    "Bundle": "KYC_SIS",
    "Data": {
        "NameQuery": "David Cameron"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

If the Sandbox query option is set to “true” the following entry will be returned in the ServiceResult:

Example Response for “Kim Jong Un”:

{
	"HaltTriggered": "False",
	"ServiceInterpretResult": "Multiple Results",
	"ServiceTransactionResult": "Success",
	"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
	"ValidationResult": "Pass"
}
<HaltTriggered> False </HaltTriggered>
<ServiceInterpretResult> Multiple Results </ServiceInterpretResult>
<ServiceTransactionResult> Success </ServiceTransactionResult>
<ServiceTransactionResultMessage> "This call was generated using sandbox mode" </ServiceTransactionResultMessage>
<ValidationResult> Pass </ValidationResult>

Example Response for all OTHER name queries:

{
	"HaltTriggered": "False",
	"ServiceInterpretResult": "NoResults",
	"ServiceTransactionResult": "SuccessNoResults",
	"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
	"ValidationResult": "Pass"
}
<HaltTriggered> False </HaltTriggered>
<ServiceInterpretResult> NoResults </ServiceInterpretResult>
<ServiceTransactionResult> SuccessNoResults </ServiceTransactionResult>
<ServiceTransactionResultMessage> "This call was generated using sandbox mode" </ServiceTransactionResultMessage>
<ValidationResult> Pass </ValidationResult>

SPF Plus

Senior Political Figures (SPFPlus) service checks if a specified person is a senior political figure (cabinet level or equivalent). If there are multiple matches, it provides a list of them, up to a limit of 100.

Product Code: W2-DATA-SPF-001

Properties

The following properties pertain to this service.

Property Name Type Optional/Mandatory Notes
NameQuery String Mandatory* The name of the person you are searching for. Default field used for matching, can be blank if Forename/MiddleNames/Surname used instead.
NameQueryMatchThreshold Integer Optional The minimum name match score to match against. Default is 80 (all matches)
DateOfBirthMatchThreshold Integer Optional The minimum date of birth score to match against. Default is null (off). If supplied, at least one component of the date of birth must be supplied.
DayOfBirth Integer Optional Used with DateOfBirthMatchThreshold.
MonthOfBirth Integer Optional Used with DateOfBirthMatchThreshold.
YearOfBirth Integer Optional Used with DateOfBirthMatchThreshold.



Transaction Result

HaltTriggered False
ServiceTransactionResult Success
SuccessNoResults
SuccessIncompleteResults - Too many matches generated, results truncated
ClientErrorInsufficientInformation - Required field not supplied
ClientErrorInformationFormatInvalid - Invalid format in field
ServerErrorGeneralError - Error with third party service
ServiceInterpretResult OneResult
MultipleResults
NoResults
NotPerformed - An error occurred and the search was not performed
ServiceTransactionResultMessage Usually empty, can contain optional information such as too many matches etc.
ValidationResult NotApplicable - No search occurred to match against
Fail - MissingMandatoryField or PatternNotMatched

Response

The following table gives some more details about the response.

Example Response

  "SPFPlusCheckResult": {
  	"MatchResults": [{
  			"MatchType": "Unknown",
  			"Name": "KIM Jong Un",
  			"NameMatchScore": "100",
  			"ProfileId": "SANC-ee33479b-caaf-1a2d-4d75-e91692143035"
  		}
  	]
  }
<SPFPlusCheckResult>
  <MatchResults>
    <CheckMatch>
      <BirthDay />
      <BirthMonth />
      <BirthYear />
      <DateOfBirthMatchScore />
      <MatchType>Unknown</MatchType>
      <Name>KIM Jong Un</Name>
      <NameMatchScore>100</NameMatchScore>
      <ProfileId>SANC-ee33479b-caaf-1a2d-4d75-e91692143035</ProfileId>
    </CheckMatch>
  </MatchResults>
</SPFPlusCheckResult>
Property Name Type Description
BirthDay String The birth day of the record matched against.
BirthMonth Integer The birth month of the record matched against.
BirthYear Integer The birth month of the record matched against.
DateOfBirthMatchScore Integer The score that this record’s date of birth matched the query date.
MatchType MatchTypeEnum The type of match where the data is available in the source. See below
Name String The name of the record matched against. Depending on the source data there may be multiple names here combined into one.
NameMatchScore Integer The score that this record’s name matched the query name.
ProfileId String A unique reference for a profile that can be subsequently retrieved in full using the Profile Details Service.

Notes
The date of birth parameters will be null if no date of birth matching threshold was specified, even if the record has a date of birth, as it reflects the matching that occurred.

MatchTypeEnum
Represents the type of match.

Enumeration Value Value Description
Person 1 The match is a Person.
Entity 2 The match is an Entity.
Unknown 3 The match is of unknown type. This may represent missing data and does not necessarily mean ‘other’.
Vessel 4 The match is a vessel (usually maritime).
Aircraft 5 The match is an aircraft.

Alert Filters

Available Filters

Applying Filters:

    "Options": {
        "Sandbox": "false",
        "IncludeCountries":"GBR,UDF,SUP - Up to 20 comma delimited countries",
    }
<QueryOptions>
  <KeyValueOfstringstring>
    <Key>Sandbox</Key>
    <Value>false</Value>
  </KeyValueOfstringstring>
  <KeyValueOfstringstring>
    <Key>IncludeCountries</Key>
    <Value>GBR,UDF,SUP - Up to 20 comma delimited countries</Value>
  </KeyValueOfstringstring>
</QueryOptions>
Filter Type Description
Include Countries If included, this filter will only return alerts that are on profiles that indicate that the main country of residence/activity is in the included country. Please note that if this filter is used, we advise to also use the 2 additional filters for undefined and supra-Nationals. This will include alerts generated for subjects that cannot be readily assigned to a country.

Sandbox

Example Request - SPF Plus

{
    "Bundle": "KYC_SPF",
    "Data": {
        "NameQuery": "David Cameron"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

If the Sandbox query option is set to “true” the following entry will be returned in the ServiceResult:

Example Response for “David Cameron”:

{
	"HaltTriggered": "False",
	"ServiceInterpretResult": "Multiple Results",
	"ServiceTransactionResult": "Success",
	"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
	"ValidationResult": "Pass"
}
<HaltTriggered> False </HaltTriggered>
<ServiceInterpretResult> Multiple Results </ServiceInterpretResult>
<ServiceTransactionResult> Success </ServiceTransactionResult>
<ServiceTransactionResultMessage> "This call was generated using sandbox mode" </ServiceTransactionResultMessage>
<ValidationResult> Pass </ValidationResult>

Example Response for all OTHER name queries:

{
	"HaltTriggered": "False",
	"ServiceInterpretResult": "NoResults",
	"ServiceTransactionResult": "SuccessNoResults",
	"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
	"ValidationResult": "Pass"
}
<HaltTriggered> False </HaltTriggered>
<ServiceInterpretResult> NoResults </ServiceInterpretResult>
<ServiceTransactionResult> SuccessNoResults </ServiceTransactionResult>
<ServiceTransactionResultMessage> "This call was generated using sandbox mode" </ServiceTransactionResultMessage>
<ValidationResult> Pass </ValidationResult>

PEPDesk

Politically Exposed Persons service

PEPDesk service checks if a specified person is a politically exposed person, i.e. they are in a prominent public position or a close relative of someone who is. If there are multiple matches, it provides a list of them, up to a limit of 100.

Product Code: W2-DATA-PEP-003

Properties

The following properties pertain to this service.

Property Name Type Optional/Mandatory Notes
NameQuery String Mandatory* The name of the person you are searching for. Default field used for matching, can be blank if Forename/MiddleNames/Surname used instead.
NameQueryMatchThreshold Integer Optional The minimum name match score to match against. Default is 80 (all matches)
DateOfBirthMatchThreshold Integer Optional The minimum date of birth score to match against. Default is null (off). If supplied, at least one component of the date of birth must be supplied.
DayOfBirth Integer Optional Used with DateOfBirthMatchThreshold.
MonthOfBirth Integer Optional Used with DateOfBirthMatchThreshold.
YearOfBirth Integer Optional Used with DateOfBirthMatchThreshold.

Response

PEP Desk Response

  "PEPDeskCheckResult": {
    "MatchResults": [
      {
         "birthDay": 8,
         "birthMonth": 1,
         "birthYear": 1983,
         "matchType": "Person",
         "name": "Kim, Jong Un",
         "nameMatchScore": 100,
         "profileId": "839ecc35-3ebc-e340-b4cb-f298ce520995"
      }
    ]
  }
<PEPDeskCheckResult>
	 <!-- One or more of these --> 
	 <MatchResults>
		<CheckMatch>
		   <BirthDay>8<BirthDay/>
		   <BirthMonth>1<BirthMonth/>
		   <BirthYear>1983</BirthYear>
		   <DateOfBirthMatchScore />
		   <MatchType>Person</MatchType>
		   <Name>Kim, Jong Un</Name>
		   <NameMatchScore>100</NameMatchScore>
		   <ProfileId>839ecc35-3ebc-e340-b4cb-f298ce520995</ProfileId>
		</CheckMatch>
	 </MatchResults>
</PEPDeskCheckResult>

The following table gives some more details about the response.

Property Name Type Description
BirthDay String The birth day of the record matched against.
BirthMonth Integer The birth month of the record matched against.
BirthYear Integer The birth month of the record matched against.
DateOfBirthMatchScore Integer The score that this record’s date of birth matched the query date.
MatchType MatchTypeEnum The type of match where the data is available in the source. See below
Name String The name of the record matched against. Depending on the source data there may be multiple names here combined into one.
NameMatchScore Integer The score that this record’s name matched the query name.
ProfileId String A unique reference for a profile that can be subsequently retrieved in full using the Profile Details Service.

Notes
The date of birth parameters will be null if no date of birth matching threshold was specified, even if the record has a date of birth, as it reflects the matching that occurred.

MatchTypeEnum
Represents the type of match.

Enumeration Value Value Description
Person 1 The match is a Person.
Entity 2 The match is an Entity.
Unknown 3 The match is of unknown type. This may represent missing data and does not necessarily mean ‘other’.
Vessel 4 The match is a vessel (usually maritime).
Aircraft 5 The match is an aircraft.

Transaction Result

HaltTriggered False
ServiceTransactionResult Success
SuccessNoResults
SuccessIncompleteResults - Too many matches generated, results truncated
ClientErrorInsufficientInformation - Required field not supplied
ClientErrorInformationFormatInvalid - Invalid format in field
ServerErrorGeneralError - Error with third party service
ServiceInterpretResult OneResult
MultipleResults
NoResults
NotPerformed - An error occurred and the search was not performed
ServiceTransactionResultMessage Usually empty, can contain optional information such as too many matches etc.
ValidationResult NotApplicable - No search occurred to match against
Fail - MissingMandatoryField or PatternNotMatched

Alert Filters

Available Filters

Applying Filters:

    "Options": {
        "Sandbox": "false",
        "IncludeCountries":"GBR,UDF,SUP - Up to 20 comma delimited countries",
        "ExcludeExPeps": "true | false",
        "IncludeExPEPsFromDate": "1990-08-17 OR 1990-08-17T06:04:18Z - UTC Date Time"
    }
<QueryOptions>
  <KeyValueOfstringstring>
    <Key>Sandbox</Key>
    <Value>false</Value>
  </KeyValueOfstringstring>
  <KeyValueOfstringstring>
    <Key>IncludeCountries</Key>
    <Value>GBR,UDF,SUP - Up to 20 comma delimited countries</Value>
  </KeyValueOfstringstring>
  <KeyValueOfstringstring>
    <Key>ExcludeExPeps</Key>
    <Value>true | false</Value>
  </KeyValueOfstringstring>
  <KeyValueOfstringstring>
    <Key>IncludeExPEPsFromDate</Key>
    <Value>1990-08-17 OR 1990-08-17T06:04:18Z - UTC Date Time</Value>
  </KeyValueOfstringstring>
</QueryOptions>
Filter Type Description
Include Countries If included, this filter will only return alerts that are on profiles that indicate that the main country of residence/activity is in the included country. Please note that if this filter is used, we advise to also use the 2 additional filters for undefined and supra-Nationals. This will include alerts generated for subjects that cannot be readily assigned to a country.
Exclude Ex-PEP If included, this filter excludes alerts that would have been generated on individuals that have left the office that attracted their ‘PEP status’ for a defined period of time. For a risk based approach, it is normally appropriate to consider ex-PEPs for some time, however, this time will differ based on the risk profile of the business that your organisation conducts.
IncludeExPEPsFromDate If included, this filter includes alerts that are generated on individuals who gained their ex-PEP status after the specified date.

Sandbox

Example Request - PEP Desk

{
    "Bundle": "KYC_PEP",
    "Data": {
        "NameQuery": "David Cameron"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

Example Response for “David Cameron”:

{
	"HaltTriggered": "False",
	"ServiceInterpretResult": "Multiple Results",
	"ServiceTransactionResult": "Success",
	"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
	"ValidationResult": "Pass"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>OneResult</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>Pass</ValidationResult>

Example Response for all OTHER name queries:

{
	"HaltTriggered": "False",
	"ServiceInterpretResult": "NoResults",
	"ServiceTransactionResult": "SuccessNoResults",
	"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
	"ValidationResult": "Pass"
}
<HaltTriggered> False </HaltTriggered>
<ServiceInterpretResult> NoResults </ServiceInterpretResult>
<ServiceTransactionResult> SuccessNoResults </ServiceTransactionResult>
<ServiceTransactionResultMessage> "This call was generated using sandbox mode" </ServiceTransactionResultMessage>
<ValidationResult> Pass </ValidationResult>

Watchlist Check


Watchlist service checks if a specified person or entity is held within a comprehensive dataset comprising PEP, Sanction, Adverse media content and enforcement watchlists from around the globe. If there are multiple matches, it provides a list of them, up to a limit of 100.

Product Code: W2-DATA-PEP_AND_SANCTION-002

Response
The following shows a sample of the <WatchlistCheckResult> object that is returned in the <ServiceResult> Section of the <ProcessRequestResult> object

Properties

The following properties pertain to this service.

Property Name Type Optional/Mandatory Notes
NameQuery String Mandatory* The name of the person you are searching for. Default field used for matching, can be blank if Forename/MiddleNames/Surname used instead.
NameQueryMatchThreshold Integer Optional The minimum name match score to match against. Default is 80 (all matches)
DateOfBirthMatchThreshold Integer Optional The minimum date of birth score to match against. Default is null (off). If supplied, at least one component of the date of birth must be supplied.
DayOfBirth Integer Optional Used with DateOfBirthMatchThreshold.
MonthOfBirth Integer Optional Used with DateOfBirthMatchThreshold.
YearOfBirth Integer Optional Used with DateOfBirthMatchThreshold.

Response
The following table gives some more details about the response.

Sample Response - Watchlist Check

"WatchlistCheckResult": {
	"MatchResults": [{
			"MatchType": "Person",
			"Name": "JOHN SMITH",
			"NameMatchScore": "85",
			"ProfileId": "69e10264-4b90-64fe-b4b7-c9dddafd0241"
		}, {
			"MatchType": "Person",
			"Name": "JOHN JAMES SMITH",
			"NameMatchScore": "85",
			"ProfileId": "cb5f2851-64c0-6866-0ed1-da306e45efb2"
		}
	]
}
<WatchlistCheckResult>
	 <MatchResults>
		<CheckMatch>
		   <BirthDay />
		   <BirthMonth />
		   <BirthYear />
		   <DateOfBirthMatchScore />
		   <MatchType>Person</MatchType>
		   <Name>JOHN SMITH</Name>
		   <NameMatchScore>85</NameMatchScore>
		   <ProfileId>69e10264-4b90-64fe-b4b7-c9dddafd0241</ProfileId>
		</CheckMatch>
		<CheckMatch>
		   <BirthDay />
		   <BirthMonth />
		   <BirthYear />
		   <DateOfBirthMatchScore />
		   <MatchType>Person</MatchType>
		   <Name>JOHN JAMES SMITH</Name>
		   <NameMatchScore>85</NameMatchScore>
		   <ProfileId>cb5f2851-64c0-6866-0ed1-da306e45efb2</ProfileId>
		</CheckMatch>
	 </MatchResults>
</WatchlistCheckResult>
Property Name Type Description
BirthDay String The birth day of the record matched against.
BirthMonth Integer The birth month of the record matched against.
BirthYear Integer The birth month of the record matched against.
DateOfBirthMatchScore Integer The score that this record’s date of birth matched the query date.
MatchType MatchTypeEnum The type of match where the data is available in the source. See below
Name String The name of the record matched against. Depending on the source data there may be multiple names here combined into one.
NameMatchScore Integer The score that this record’s name matched the query name.
ProfileId String A unique reference for a profile that can be subsequently retrieved in full using the Profile Details Service.

Notes
The date of birth parameters will be null if no date of birth matching threshold was specified, even if the record has a date of birth, as it reflects the matching that occurred.

MatchTypeEnum
Represents the type of match.

Enumeration Value Value Description
Person 1 The match is a Person.
Entity 2 The match is an Entity.
Unknown 3 The match is of unknown type. This may represent missing data and does not necessarily mean ‘other’.
Vessel 4 The match is a vessel (usually maritime).
Aircraft 5 The match is an aircraft.

Transaction Result

HaltTriggered False
ServiceTransactionResult Success
SuccessNoResults
SuccessIncompleteResults - Too many matches generated, results truncated
ClientErrorInsufficientInformation - Required field not supplied
ClientErrorInformationFormatInvalid - Invalid format in field
ServerErrorGeneralError - Error with third party service
ServiceInterpretResult OneResult
MultipleResults
NoResults
NotPerformed - An error occurred and the search was not performed
ServiceTransactionResultMessage Usually empty, can contain optional information such as too many matches etc.
ValidationResult NotApplicable - No search occurred to match against
Fail - MissingMandatoryField or PatternNotMatched

Alert Filters

Available Filters

Applying Filters:

    "Options": {
        "Sandbox": "false",
        "IncludeCountries":"GBR,UDF,SUP - Up to 20 comma delimited countries",
        "ExcludeEntities": "true | false",
        "ExcludeIndividuals": "true | false",
        "ExcludeExPeps": "true | false"
    }
<QueryOptions>
  <KeyValueOfstringstring>
    <Key>Sandbox</Key>
    <Value>false</Value>
  </KeyValueOfstringstring>
  <KeyValueOfstringstring>
    <Key>IncludeCountries</Key>
    <Value>GBR,UDF,SUP - Up to 20 comma delimited countries</Value>
  </KeyValueOfstringstring>
  <KeyValueOfstringstring>
    <Key>ExcludeIndividuals</Key>
    <Value>true | false</Value>
  </KeyValueOfstringstring>
  <KeyValueOfstringstring>
    <Key>ExcludeEntities</Key>
    <Value>true | false</Value>
  </KeyValueOfstringstring>
  <KeyValueOfstringstring>
    <Key>ExcludeExPeps</Key>
    <Value>true | false</Value>
  </KeyValueOfstringstring>
</QueryOptions>
Filter Type Description
Include Countries If included, this filter will only return alerts that are on profiles that indicate that the main country of residence/activity is in the included country. Please note that if this filter is used, we advise to also use the 2 additional filters for undefined and supra-Nationals. This will include alerts generated for subjects that cannot be readily assigned to a country.
Exclude Ex-PEPs If included, this filter excludes alerts that would have been generated on individuals that have left the office that attracted their ‘PEP status’ for a defined period of time. For a risk based approach, it is normally appropriate to consider ex-PEPs for some time, however, this time will differ based on the risk profile of the business that your organisation conducts.
Exclude Individuals/Entities When applied, this filter will suppress alerts that are generated on either individuals (if you are conducting a search on a known business/entity) OR suppress entities (if conducting a search on an known individual)

Sandbox

Example Request - Watchlist

{
    "Bundle": "KYC_Watchlist",
    "Data": {
        "NameQuery": "David Cameron"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

If the Sandbox query option is set to “true” the following entry will be returned in the ServiceResult:

Example Response for “Kim Jong Un”:

{
	"HaltTriggered": "False",
	"ServiceInterpretResult": "OneResult",
	"ServiceTransactionResult": "Success",
	"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
	"ValidationResult": "Pass"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>OneResult</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>Pass</ValidationResult>

Example Response for all OTHER name queries:

{
	"HaltTriggered": "False",
	"ServiceInterpretResult": "NoResults",
	"ServiceTransactionResult": "SuccessNoResults",
	"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
	"ValidationResult": "Pass"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>NoResults</ServiceInterpretResult>
<ServiceTransactionResult>SuccessNoResults</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>Pass</ValidationResult>

Profile Details


ProfileDetails is a profile retrieval service. For any check that returns a profile ID this service will retrieve the full report on that ID.

Product Codes: W2-DATA-PROFILE_DETAILS-024

Properties

The following properties pertain to this service.

Property Name Type Optional/Mandatory Notes
ProfileID String Mandatory A unique profile reference, as returned by one of the ‘Check’ services. NB: For UK Directors the ID returned by DirectorUKCheck the Companies House number must be prefixed with ‘DIR-‘, e.g. ‘DIR-99999999’.

Director UK Details Response

Example Response - Director UK Details

{
  "ProfileDetailsResult": {
    "DirectorUKDetailsResult": {
      "DirectorUKDetailsDirector": {
        "Address1": "221B Baker Street",
        "Address4": "London",
        "BirthDate": "01/01/1970",
        "DirectorNumber": "123456789",
        "Directorships": {
          "Directorship": {
            "AppointDate": "01/01/1980",
            "CompanyName": "DIRSE LLP",
            "CompanyNumber": "AB123456",
            "CompanyStatus": "Active - Accounts Filed",
            "CreditLimit": "10000",
            "CreditRating": "79",
            "Function": "LLP Member"
          }
        },
        "Name": "Jessica Black",
        "Nationality": "U.KINGDOM",
        "Postcode": "W1S 1AA",
        "Title": "Mrs"
      }
    }
  }
}
<ProfileDetailsResult>
	<DirectorUKDetailsResult >
		<DirectorUKDetailsDirector >
		<Address1>221B Baker Street</Address1>
		<Address2 />
		<Address3 />
		<Address4>London</Address4>
		<Address5 />
		<BirthDate>01/01/1970</BirthDate>
		<DirectorNumber>123456789</DirectorNumber>
		<Directorships>
			<Directorship>
				<AppointDate>01/01/1980</AppointDate>
				<CompanyName>DIRSE LLP</CompanyName>
				<CompanyNumber>AB123456</CompanyNumber>
				<CompanyStatus>Active - Accounts Filed</CompanyStatus>
				<CreditLimit>10000</CreditLimit>
				<CreditRating>79</CreditRating>
				<Function>LLP Member</Function>
			</Directorship>
		</Directorships>
		<Honours />
		<Name>Jessica Black</Name>
		<Nationality>U.KINGDOM</Nationality>
		<Postcode>W1S 1AA</Postcode>
		<Title>Mrs</Title>
		</DirectorUKDetailsDirector>
		<DirectorUKDetailsErrors  />
	</DirectorUKDetailsResult>
</ProfileDetailsResult>

Response Properties

Property Name Type Description
Address1 String First line of address.
Address2 String Second line of address.
Address3 String Third line of address.
Address4 String Fourth line of address.
Address5 String Fifth line of address.
BirthDate String Date of birth in a ‘dd/MM/yyyy’ format.
DirectorNumber String Number of director.
Directorships Directorships List of directorships held by director. See below.
Honours String Honours held by director.
Name String Name of director.
Nationality String Nationality of director.
Postcode String Postcode of director.
Title String Title of director.

Directorships
Directorships are a collection of one or more Directorship items, which are defined below.

Property Name Type Description
AppointDate String Date director was appointed.
CompanyName String Name of company.
CompanyNumber String Company number, as listed on Companies House.
CompanyStatus String How active the company still is.
CreditLimit String Credit limit of the company.
CreditRating String Credit rating of the company.
Function String Official function of director.

PEP Details Response

Example Response - PEP Details

"profileDetailsResult": {
	"pepDeskDetailsResult": {
		"additionalInformation": [],
		"country": [
			"European Union",
			"United Kingdrom"
		],
		"dateOfBirth": [
			"09.10.1966"
		],
		"functionDetails": [{
				"category": "State Executive Function, Government, Ministries",
				"dateNotInchargeSince": "",
				"exPEP": false,
				"function": "European Council",
				"specificFunction": "Member"
			}, {
				"category": "Heads of State, Major Government Offices and Support",
				"dateNotInchargeSince": "",
				"exPEP": false,
				"function": "Office of the Prime Minister, Cabinet Office",
				"specificFunction": "Minister for the Civil Service"
			}, {
				"category": "Political Leaders",
				"dateNotInchargeSince": "",
				"exPEP": false,
				"function": "Conservative Party",
				"specificFunction": "Leader"
			}
		],
		"gender": "Male",
		"nameDetails": [{
				"alternativeScript": "",
				"firstName": "David William Donald",
				"fullName": "",
				"lastName": "Cameron",
				"otherName": "Cameron, David",
				"title": "Mr."
			}, {
				"alternativeScript": "",
				"firstName": "David William Donald",
				"fullName": "",
				"lastName": "Cameron",
				"otherName": "Cameron, David",
				"title": "The Rt Hon Mr."
			}
		],
		"placeOfBirth": [
			"London, United Kingdom"
		]
	}
}
<PEPDeskDetailsResult >
	<AdditionalInformation/>
	<Country>
		<string>European Union</string>
		<string>United Kingdom</string>
	</Country>
	<DateOfBirth>
		<string>09.10.1966</string>
	</DateOfBirth>
	<FunctionDetails>
		<PEPDeskFunctionDetails>
			<Category>State Executive Function, Government, Ministries</Category>
			<DateNotInchargeSince/>
			<ExPEP>false</ExPEP>
			<Function>European Council</Function>
			<SpecificFunction>Member</SpecificFunction>
		</PEPDeskFunctionDetails>
		<PEPDeskFunctionDetails>
			<Category>Heads of State, Major Government Offices and Support</Category>
			<DateNotInchargeSince/>
			<ExPEP>false</ExPEP>
			<Function>Office of the Prime Minister, Cabinet Office</Function>
			<SpecificFunction>Minister for the Civil Service</SpecificFunction>
		</PEPDeskFunctionDetails>
		<PEPDeskFunctionDetails>
			<Category>Political Leaders</Category>
			<DateNotInchargeSince/>
			<ExPEP>false</ExPEP>
			<Function>Conservative Party</Function>
			<SpecificFunction>Leader</SpecificFunction>
		</PEPDeskFunctionDetails>
	</FunctionDetails>
	<Gender>Male</Gender>
	<NameDetails>
		<PEPDeskNameDetails>
			<AlternativeScript/>
			<FirstName>David William Donald</FirstName>
			<FullName/>
			<LastName>Cameron</LastName>
			<OtherName>Cameron, David</OtherName>
			<Title>Mr.</Title>
		</PEPDeskNameDetails>
		<PEPDeskNameDetails>
			<AlternativeScript/>
			<FirstName>David William Donald</FirstName>
			<FullName/>
			<LastName>Cameron</LastName>
			<OtherName>Cameron, David</OtherName>
			<Title>The Rt Hon Mr.</Title>
		</PEPDeskNameDetails>
	</NameDetails>
	<PlaceOfBirth>
		<string>London, United Kingdom</string>
	</PlaceOfBirth>
</PEPDeskDetailsResult>

Response Properties

Property Name Type Description
AdditionalInformation String  
Country String  
DateOfBirth String  
FunctionDetails PEPDeskFunctionDetails See below
Gender String  
NameDetails PEPDeskNameDetails See below
PlaceOfBirth String  

PEPDeskFunctionDetails

Property Name Type Description
Function String  
SpecificFunction String  
Category String  
DateNotInchargeSince String  
ExPEP Boolean  

PEPDeskNameDetails

Property Name Type Description
Title String  
FirstName String  
LastName String  
FullName String  
OtherName String  
AlternativeScript String  

SIS Plus / SPF Plus Details Response

Example Response - SIS Plus / SPF Plus Details

          "sisPlusDetailsResult": {
                "active": true,
                "addressDetails": [
                    {
                        "address": "",
                        "addressRemarks": "",
                        "city": "",
                        "country": "Korea, North",
                        "postcode": "",
                        "province": ""
                    }
                ],
                "aliasDetails": [],
                "callsign": [
                    ""
                ],
                "citizenShip": [],
                "constituancy": [],
                "dateOfBirth": [],
                "documents": [],
                "email": [],
                "eyes": [],
                "fax": [],
                "grt": [],
                "hair": [],
                "height": [],
                "imageUrl": [],
                "languages": [],
                "legalBasis": [],
                "listingDate": [],
                "marks": [],
                "nameDetails": [
                    {
                        "courtesyTitle": "",
                        "firstName": "",
                        "fullName": "KIM, Jong Un",
                        "lastName": "",
                        "middleName": "",
                        "suffix": "",
                        "title": "Chairman of the Workers' Party of Korea"
                    }
                ],
                "offense": [],
                "pageUrl": [
                    "http://www.treasury.gov/resource-center/sanctions/SDN-List/Pages/default.aspx"
                ],
                "phone": [],
                "placeOfBirth": [],
                "politicalParty": [],
                "program": [
                    "DPRK3"
                ],
                "remarks": [
                    "DOB 08 Jan 1984; Secondary sanctions risk: North Korea Sanctions Regulations, sections 510.201 and 510.210; Transactions Prohibited For Persons Owned or Controlled By U.S. Financial Institutions: North Korea Sanctions Regulations section 510.214; Chairman of the Workers' Party of Korea."
                ],
                "riskCode": [
                    "WL"
                ],
                "sex": [],
                "source": [
                    "Specially Designated Nationals List"
                ],
                "tin": [],
                "tonnage": [],
                "type": [
                    "individual"
                ],
                "vesselFlag": [],
                "vesselOwner": [],
                "vesselType": [],
                "wantedBy": [],
                "website": [],
                "weight": []
            }
 "spfPlusDetailsResult": {
                "active": true,
                "addressDetails": [
                    {
                        "address": "",
                        "addressRemarks": "",
                        "city": "",
                        "country": "Korea, North - NDE",
                        "postcode": "",
                        "province": ""
                    }
                ],
                "aliasDetails": [],
                "callsign": [],
                "citizenShip": [],
                "constituancy": [],
                "dateOfBirth": [],
                "documents": [],
                "email": [],
                "eyes": [],
                "fax": [],
                "grt": [],
                "hair": [],
                "height": [],
                "imageUrl": [],
                "languages": [],
                "legalBasis": [],
                "listingDate": [],
                "marks": [],
                "nameDetails": [
                    {
                        "courtesyTitle": "",
                        "firstName": "KIM",
                        "fullName": "KIM Jong Un",
                        "lastName": "Un",
                        "middleName": "Jong",
                        "suffix": "",
                        "title": "Chairman, KWP"
                    }
                ],
                "offense": [],
                "pageUrl": [
                    "https://www.cia.gov/library/publications/world-leaders-1/KN.html"
                ],
                "phone": [],
                "placeOfBirth": [],
                "politicalParty": [],
                "program": [
                    "World Leaders"
                ],
                "remarks": [],
                "riskCode": [
                    "PEP"
                ],
                "sex": [],
                "source": [
                    "Chiefs of State and Cabinet Members of Foreign Governments"
                ],
                "tin": [],
                "tonnage": [],
                "type": [],
                "vesselFlag": [],
                "vesselOwner": [],
                "vesselType": [],
                "wantedBy": [
                    "Central Intelligence Agency"
                ],
                "website": [],
                "weight": []
            }

<SISPlusDetailsResult xmlns:c="http://schemas.datacontract.org/2004/07/NeuromancerLibrary.DataContracts.SanctionsPlus">
	<Active>true</Active>
	<AddressDetails>
		<SanctionsPlusAddressDetails>
			<Address></Address>
			<AddressRemarks></AddressRemarks>
			<City></City>
			<Country>Korea, North</Country>
			<Postcode/>
			<Province/>
		</SanctionsPlusAddressDetails>
	</AddressDetails>
	<AliasDetails/>
	<Callsign></Callsign>
	<CitizenShip/>
	<Constituancy/>
	<DateOfBirth/>
	<Documents/>
	<Email/>
	<Eyes/>
	<Fax/>
	<GRT/>
	<Hair/>
	<Height/>
	<ImageUrl/>
	<Languages/>
	<LegalBasis/>
	<ListingDate/>
	<Marks/>
	<NameDetails>
		<SanctionsPlusNameDetails>
			<CourtesyTitle/>
			<FirstName/>
			<FullName>KIM, Jong Un</c:FullName>
			<LastName/>
			<MiddleName/>
			<Suffix/>
			<Title>Chairman of the Workers' Party of Korea</c:Title>
		</SanctionsPlusNameDetails>
	</NameDetails>
	<Offense/>
	<PageUrl>
		<string>http://www.treasury.gov/resource-center/sanctions/SDN-List/Pages/default.aspx</string>
	</PageUrl>
	<Phone/>
	<PlaceOfBirth/>
	<PoliticalParty/>
	<Program>
		<string>DPRK3</string>
	</Program>
	<Remarks>
		<string>DOB 08 Jan 1984; Secondary sanctions risk: North Korea Sanctions Regulations, sections 510.201 and 510.210; Transactions Prohibited For Persons Owned or Controlled By U.S. Financial Institutions: North Korea Sanctions Regulations section 510.214; Chairman of the Workers' Party of Korea.</string>
	</Remarks>
	<RiskCode>
		<string>WL</string>
	</RiskCode>
	<Sex/>
	<Source>
		<string>Specially Designated Nationals List</string>
	</Source>
	<TIN/>
	<Tonnage/>
	<Type>
		<string>individual</string>
	</Type>
	<VesselFlag/>
	<VesselOwner/>
	<VesselType/>
	<WantedBy/>
	<Website/>
	<Weight/>
</SISPlusDetailsResult>
<SPFPlusDetailsResult>
	<Active>true</Active>
	<AddressDetails>
		<SanctionsPlusAddressDetails>
			<Address/>
			<AddressRemarks/>
			<City/>
			<Country>Korea, North - NDE</Country>
			<Postcode/>
			<Province/>
		</SanctionsPlusAddressDetails>
	</AddressDetails>
	<AliasDetails/>
	<Callsign/>
	<CitizenShip/>
	<Constituancy/>
	<DateOfBirth/>
	<Documents/>
	<Email/>
	<Eyes/>
	<Fax/>
	<GRT/>
	<Hair/>
	<Height/>
	<ImageUrl/>
	<Languages/>
	<LegalBasis/>
	<ListingDate/>
	<Marks/>
	<NameDetails>
		<SanctionsPlusNameDetails>
			<CourtesyTitle/>
			<FirstName>KIM</FirstName>
			<FullName>KIM Jong Un</FullName>
			<LastName>Un</LastName>
			<MiddleName>Jong</MiddleName>
			<Suffix/>
			<Title>Chairman, KWP</Title>
		</SanctionsPlusNameDetails>
	</NameDetails>
	<Offense/>
	<PageUrl>
		<string>https://www.cia.gov/library/publications/world-leaders-1/KN.html</string>
	</PageUrl>
	<Phone/>
	<PlaceOfBirth/>
	<PoliticalParty/>
	<Program>
		<string>World Leaders</string>
	</Program>
	<Remarks/>
	<RiskCode>
		<string>PEP</string>
	</RiskCode>
	<Sex/>
	<Source>
		<string>Chiefs of State and Cabinet Members of Foreign Governments</string>
	</Source>
	<TIN/>
	<Tonnage/>
	<Type/>
	<VesselFlag/>
	<VesselOwner/>
	<VesselType/>
	<WantedBy>
		<string>Central Intelligence Agency</d:string>
	</WantedBy>
	<Website/>
	<Weight/>
</SPFPlusDetailsResult>

Response Properties

Property Name Type Description
NameDetails SanctionsPlusNameDetails See below.
Eyes String  
Hair String  
Weight String  
Height String  
Marks String  
Sex String  
Languages String  
TIN String  
Documents String  
PlaceOfBirth String  
DateOfBirth String  
Citizenship String  
Phone String  
Fax String  
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, street name, PO Box, etc.
CountryProfileUrl String Represents the name of the Dow Jones Country Profile Document.
City String The city component of the address.
CountryCode String The country code for the address.

WatchlistEntityAliasData

Property Name Type Description
Name String The name of the alias.
SingleStringName String The single string name of the alias.
OriginalScriptName String The name of the alias in its original script if available.
AliasType WatchlistAliasTypeEnum The type of alias. See below for further details.

WatchlistAliasTypeEnum

Enumeration Name Value Description
PrimaryAlias 1 The alias is the primary alias of the record.
AlsoKnownAs 2 The record is also known as this alias.
FormerlyKnownAs 3 The record was formerly known by this alias.
NowKnownAs 4 The record is now known by this alias.
Unknown 5 The type of alias is unknown.
MaidenName 6 The alias is a maiden name of the record.
SpellingVariation 7 The alias a spelling variation of another alias.
LowQualityAlsoKnownAs 8 The alias is record is also known by this alias, but the reliability of this information may be poor.

WatchlistAssociateData

Property Name Type Description
Name String The name of the associate.
ProfileId String The Profile Id of the associate.
Relationship String The relationship the associate has to the record.
Ex Boolean Whether or not the associate is an ex-associate.

WatchlistBirthPlaceData

Property Name Type Description
BirthPlace String The birthplace of the record.

WatchlistClassificationData

Property Name Type Description
WatchlistClassification String The main classification, usually Politically Exposed Person (PEP), Relative or Close Associate (RCA), Special Interest Person (SIP), or Special Interest Entity (SIE).
ListClassification String The list classification. This depends on the WatchlistClassification. It usually indicates a type of crime or a list the record belongs to that is relevant to the WatchlistClassification.
SubListClassification String The sub classification. This depends on the ListClassification. It is usually a more specific classification, for example a specific crime.

WatchlistCountryData

Property Name Type Description
CountryCode String The country code.
CountryName String The name of the country.
CountryType String The type of relationship with the country. For example, the record could be a resident.

WatchlistDateEventData

Property Name Type Description
Day Integer The day the event occurred.
Month Integer The month the event occurred.
Year Integer The year the event occurred.
Notes String Any notes associated with the date event.
DateType String The type of event, e.g. date of birth, date of resignation, etc.

WatchlistGenderEnum

Enumeration Name Value Description
Unknown 0 The record’s gender is unknown or unspecified.
Male 1 The record’s gender is Male.
Female 2 The record’s gender is Female.

WatchlistIdentifierData

Property Name Type Description
IDType String The type of identifier. This is usually a document identifier such as company number, passport number, etc.
Value String The value of the identifier. This is the actual value of the IDType, such as the actual passport number.
Notes Integer Any notes associated with the identifier.

WatchlistImageData

Property Name Type Description
ImageURL String The URL of an image associated with the record.

MatchTypeEnum

Enumeration Name Value Description
Person 1 The match is a Person.
Entity 2 the match is an Entity.
Unknown 3 The match is of unknown type. This may represent missing data and does not necessarily mean ‘other’.
Vessel 4 The match is a vessel (usually maritime).
Aircraft 5 The match is an aircraft.

WatchlistOccupationData

Property Name Type Description
RoleTypeName String The type of the role, usually primary occupation, other role, or previous role.
SinceDay Integer The day the occupation began.
SinceMonth Integer The month the occupation began.
SinceYear Integer The year the occupation began.
ToDay Integer The day the occupation ended.
ToMonth Integer The month the occupation ended.
ToYear Integer The year the occupation ended.
OccupationName String The name of the occupation.
Title String The title the record holds. If the record is deceased this may sometimes be indicated here.

WatchlistSanctionData

Property Name Type Description
SanctionName String The name of the sanction, usually an official list.
SanctionStatus String The status of the sanction (not the record), usually whether it is a current or suspended sanction.
ListCategoryName String The ListCategory associated with the sanction (not the record).
SinceDay Integer The day this sanction started.
SinceMonth Integer The month this sanction started.
SinceYear Integer The year this sanction started.
ToDay Integer The day this sanction ended.
ToMonth Integer The month this sanction ended.
ToYear Integer The year this sanction ended.

WatchlistSourceData

Property Name Type Description
Source String The source used to obtain data about the record. Usually a URL or document name.

WatchlistVesselData

Property Name Type Description
VesselCallSign String The call sign of the vessel.
VesselType String The type of vessel.
VesselTonnage String The tonnage of the vessel.
VesselGRT String The gross register tonnage (GRT) of the vessel.
VesselOwner String The owner of the vessel.
VesselFlag String The flag belonging to the vessel.

PEP and Sanctions 006 Details Response

Example Response - PEP and Sanctions 006 Details

          "w2DataPepAndSanction006DetailsResult": {
                "addresses": [],
                "aka": "",
                "aliases": [],
                "countryName": "Korea, Democratic People's Republic Of",
                "directId": "49cbbbe4-c838-4a45-8f76-79b9644f5f11",
                "dob": "January 08, 1984",
                "dob2": "January 08, 1983",
                "effectiveDate": "2016",
                "entryCategory": "PEP",
                "entryDesc": "Individual",
                "firstName": "Jong-un",
                "govDesignation": "",
                "lastName": "Kim",
                "levelDesc": "N/A",
                "masterId": 0,
                "name": "Kim, Jong-un",
                "nationalId": "",
                "otherId": "",
                "passportId": "",
                "pob": "Pyongyang, North Korea",
                "positions": "Sanctioned Entity. Supreme Leader of North Korea, effective from December 17, 2011.",
                "prefix": "",
                "primaryName": "김정은",
                "profileId": "WC225108553",
                "relatedId": 0,
                "relationships": [],
                "remarks": "According to bbc.com; July 6, 2016: Kim Jong-un has been imposed sanctions for human rights abuses by the US Treasury. Kim was named as directly responsible for violations in North Korea which is already under an extensive sanctions regime for its nuclear",
                "sourceName": "Website",
                "subCatDesc": "Govt Branch Member",
                "suffix": "",
                "touchDate": "2019-08-02T10:02:34.443",
                "watch": false
            }
<ProfileDetailsResult>
  <W2DataPepAndSanction006DetailsResult>
	<Addresses/>
	<Aka/>
	<Aliases/>
	<CountryName>Korea, Democratic People's Republic Of</CountryName>
	<DirectId>49cbbbe4-c838-4a45-8f76-79b9644f5f11</DirectId>
	<Dob>January 08, 1984</Dob>
	<Dob2>January 08, 1983</Dob2>
	<EffectiveDate>2016</EffectiveDate>
	<EntryCategory>PEP</EntryCategory>
	<EntryDesc>Individual</EntryDesc>
	<FirstName>Jong-un</FirstName>
	<GovDesignation/>
	<LastName>Kim</LastName>
	<LevelDesc>N/A</LevelDesc>
	<MasterId>0</MasterId>
	<Name>Kim, Jong-un</Name>
	<NationalId/>
	<OtherId/>
	<PassportId/>
	<Pob>Pyongyang, North Korea</Pob>
	<Positions>Sanctioned Entity. Supreme Leader of North Korea, effective from December 17, 2011.</Positions>
	<Prefix/>
	<PrimaryName>김정은</PrimaryName>
	<ProfileId>WC225108553</ProfileId>
	<RelatedId>0</RelatedId>
	<Relationships/>
	<Remarks>According to bbc.com; July 6, 2016: Kim Jong-un has been imposed sanctions for human rights abuses by the US Treasury. Kim was named as directly responsible for violations in North Korea which is already under an extensive sanctions regime for its nuclear</Remarks>
	<SourceName>Website</SourceName>
	<SourceWebLinks/>
	<SubCatDesc>Govt Branch Member</SubCatDesc>
	<Suffix/>
	<TouchDate>2019-08-02T10:02:34.443</TouchDate>
	<Watch>false</c:Watch>
</W2DataPepAndSanction006DetailsResult>
</ProfileDetailsResult>

Response Properties

Property Name Type Description
Addresses String[] List of addresses
Aka String Nickname
Aliases String[] List of alternative names
CountryName String Country
DirectId String Original supplier ID
DOB String Date of birth
DOB2 String Second date of birth
EffectiveDate String Date that record became active
EntryCategory String Category of record
EntryDesc String Type of entity
ExpirationDate String Date of record expiry
FirstName String First name
GovDesignation String Categorisation of record as given by the regulatory body
LastName String Last name
LevelDesc String Level of exposure for the PEP
MasterId String Profile ID for consolidated sanctions profiles
Name String Full name
NationalId String National ID number
Organization String Organisation that entity belongs to
OtherId String Identification value for other unique forms of identification offered by countries
PassportId String Passport number
PictureFile String Indicates if a picture is available
Pob String Place of birth
Positions String Positions held
Prefix String Title, i.e. “Mr”
PrimaryName String Original, non-Romanized name
ProfileId String Profile ID
RelatedId String Indicates that relationships exist with other entities
Relationships String Lists relationships with other entities. These contain the following values:
Is (string): Nature of relationship
ToName (string): Name of relation
ToProfileId (string): Profile ID of relation
Remarks String Any additional miscellaneous information
SourceName String Source where entry originated
SourceWebLink(Deprecated) String URL of information source
SourceWebLinks String URL of information source
SubCatDesc String Record sub-category
Suffix String Name suffix
TouchDate String Last date of change to record
Watch String Indicates that there is negative news about the PEP

Sandbox

Example Request - Profile Details

{
    "Bundle": "KYC_ProfileDetails",
    "Data": {
        "NameQuery": "David Cameron"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

If the Sandbox query option is set to “true” the following entry will be returned in the ServiceResult:

Example Response for “DIR-123456789”:

{
	"HaltTriggered": "False",
	"ServiceInterpretResult": "NotApplicable",
	"ServiceTransactionResult": "Success",
	"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
	"ValidationResult": "NotApplicable"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>NotApplicable</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>

Example Response for “69e10264-4b90-64fe-b4b7-c9dddafd0241”:

{
	"HaltTriggered": "False",
	"ServiceInterpretResult": "NotApplicable",
	"ServiceTransactionResult": "Success",
	"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
	"ValidationResult": "NotApplicable"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>NotApplicable</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>

Example Response for “cb5f2851-64c0-6866-0ed1-da306e45efb2”:

 {
	"HaltTriggered": "False",
	"ServiceInterpretResult": "NotApplicable",
	"ServiceTransactionResult": "Success",
	"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
	"ValidationResult": "NotApplicable"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>NotApplicable</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>

Example Response for “79bb61cd-6dca-b477-d688-c41947e11c4f”:

{
	"HaltTriggered": "False",
	"ServiceInterpretResult": "NotApplicable",
	"ServiceTransactionResult": "Success",
	"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
	"ValidationResult": "NotApplicable"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>NotApplicable</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>

Example Response for “SANC-a39a68a8-f82b-df96-f880-dedcafc2f1fb”:

{
	"HaltTriggered": "False",
	"ServiceInterpretResult": "NotApplicable",
	"ServiceTransactionResult": "Success",
	"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
	"ValidationResult": "NotApplicable"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>NotApplicable</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>

Example Response for “SANC-cbe61692-1455-5cb6-879f-03864696e457”:

{
	"HaltTriggered": "False",
	"ServiceInterpretResult": "NotApplicable",
	"ServiceTransactionResult": "Success",
	"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
	"ValidationResult": "NotApplicable"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>NotApplicable</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>

PEP and Sanction 006
The following profile ID’s will give PEP and Sanction 006 profile details responses in sandbox mode:

  • WC49767
  • WC66266
  • WC191511
  • WC209189
  • WC401565
  • WC1868226
  • WC1980603
  • WC2320427
  • WC7064012
  • WC7245560
  • WC7310683
  • WC225000086

Example ServiceTransactions Result

{
	"HaltTriggered": "False",
	"ServiceInterpretResult": "NotApplicable",
	"ServiceTransactionResult": "Success",
	"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
	"ValidationResult": "NotApplicable"
}
<HaltTriggered>False</HaltTriggered>
<ServiceInterpretResult>NotApplicable</ServiceInterpretResult>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>

Example ServiceTransactions Result

{
	"HaltTriggered": "False",
	"ServiceInterpretResult": "NotApplicable",
	"ServiceTransactionResult": "Success",
	"ServiceTransactionResultMessage": "This call was generated using sandbox mode",
	"ValidationResult": "NotApplicable"
}
<HaltTriggered> False
<ServiceInterpretResult> NotApplicable
<ServiceInterpretResult> NoValidationPerformed
<ServiceTransactionResult> SuccessNoResults
<ServiceTransactionResultMessage> "This call was generated using sandbox mode"
<ValidationResult> NotApplicable

PEP and Sanction 006


PEP and Sanctions 006 service checks if a specified person is a politically exposed person, i.e. they are in a prominent public position or a close relative of someone who is, or under sanction. If there are multiple matches, it provides a list of them, up to a limit of 100.

Product Code: W2-DATA-PEP_AND_SANCTION-006

Properties

The following properties pertain to this service.

Property Name Type Optional/Mandatory Notes
NameQuery String Mandatory* The name of the person you are searching for. Default field used for matching, can be blank if Forename/MiddleNames/Surname used instead.
NameQueryMatchThreshold Integer Optional The minimum name match score to match against. Default is 80 (all matches).
DateOfBirthMatchThreshold Integer Optional The minimum date of birth score to match against. Default is null (off). If supplied, at least one component of the date of birth must be supplied.
DayOfBirth Integer Optional Used with DateOfBirthMatchThreshold.
MonthOfBirth Integer Optional Used with DateOfBirthMatchThreshold.
YearOfBirth Integer Optional Used with DateOfBirthMatchThreshold.

Response

The following table gives some more details about the response.

Example Response - PEP and Sanction 006

"w2DataPepAndSanction006Result": {
	"matchResults": [{
		 "birthDay": 8,
         "birthMonth": 1,
         "birthYear": 1984,
         "matchType": "Person",
         "name": "Jong-un Kim",
         "nameMatchScore": 80,
         "profileId": "WC225108553"
		}
	]
}
<W2DataPepAndSanction006Result>
	 <!-- One or more of these --> 
	 <MatchResults>
		<CheckMatch>
		   <BirthDay />
		   <BirthMonth />
		   <BirthYear />
		   <DateOfBirthMatchScore />
		   <MatchType>Person</MatchType>
		   <Name>Al Zoubi, Muhammad Hussein</Name>
		   <NameMatchScore>85</NameMatchScore>
		   <ProfileId>WC8042</ProfileId>
		</CheckMatch>
	 </MatchResults>
</W2DataPepAndSanction006Result>
Property Name Type Description
BirthDay Integer The birth day of the record matched against.
BirthMonth Integer The birth month of the record matched against.
BirthYear Integer The birth month of the record matched against.
DateOfBirthMatchScore Integer The score that this record’s date of birth matched the query date.
MatchType MatchTypeEnum The type of match where the data is available in the source. See below
Name String The name of the record matched against. Depending on the source data there may be multiple names here combined into one.
NameMatchScore Integer The score that this record’s name matched the query name.
ProfileId String A unique reference for a profile that can be subsequently retrieved in full using the ProfileDetails Service.

Transaction Result

HaltTriggered False
ServiceTransactionResult Success
SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated
ServerErrorGeneralError - An error occurred
ClientErrorInsufficientInformation - Required field not supplied - NameQuery or Forename / Surname
ServiceInterpretResult OneResult
MultipleResults
NoResults
NotPerformed - An error occurred and the search was not performed
ServiceTransactionResultMessage Usually empty, can contain optional information such as too many matches etc.
ValidationResult NotApplicable - No search occurred to match against
Fail - MissingMandatoryField or PatternNotMatched
Pass

MatchTypeEnum
More information about the match type

Enumeration Value Value Description
Person 1 The match is a Person.
Entity 2 The match is an Entity.
Unknown 3 The match is of unknown type. This may represent missing data and does not necessarily mean ‘other’.
Vessel 4 The match is a vessel (usually maritime).
Aircraft 5 The match is an aircraft.

Alert Filters

Available Filters

Applying Filters:

    "Options": {
        "Sandbox": "false",
        "IncludeCountries":"GBR,UDF,SUP - Up to 20 comma delimited countries",
        "ExcludeEntities": "true | false",
        "ExcludeIndividuals": "true | false",
        "ExcludeExPeps": "true | false"
    }
<QueryOptions>
  <KeyValueOfstringstring>
    <Key>Sandbox</Key>
    <Value>false</Value>
  </KeyValueOfstringstring>
  <KeyValueOfstringstring>
    <Key>IncludeCountries</Key>
    <Value>GBR,UDF,SUP - Up to 20 comma delimited countries</Value>
  </KeyValueOfstringstring>
  <KeyValueOfstringstring>
    <Key>ExcludeIndividuals</Key>
    <Value>true | false</Value>
  </KeyValueOfstringstring>
  <KeyValueOfstringstring>
    <Key>ExcludeEntities</Key>
    <Value>true | false</Value>
  </KeyValueOfstringstring>
  <KeyValueOfstringstring>
    <Key>ExcludeExPeps</Key>
    <Value>true | false</Value>
  </KeyValueOfstringstring>
</QueryOptions>
Filter Type Description
Include Countries If included, this filter will only return alerts that are on profiles that indicate that the main country of residence/activity is in the included country. Please note that if this filter is used, we advise to also use the 2 additional filters for undefined and supra-Nationals. This will include alerts generated for subjects that cannot be readily assigned to a country.
Exclude Ex-PEPs If included, this filter excludes alerts that would have been generated on individuals that have left the office that attracted their ‘PEP status’ for a defined period of time. For a risk based approach, it is normally appropriate to consider ex-PEPs for some time, however, this time will differ based on the risk profile of the business that your organisation conducts.
Exclude Individuals/Entities When applied, this filter will suppress alerts that are generated on either individuals (if you are conducting a search on a known business/entity) OR suppress entities (if conducting a search on an known individual)

Sandbox

Example Request - PEP and Sanctions 006

{
    "Bundle": "KYC_Watchlist_006",
    "Data": {
        "NameQuery": "Ahenobarbus Michal"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

W2-DATA-DISQUALIFIEDS-UK-008


W2-DATA-DISQUALIFIEDS-UK-008 This service searches a list of Disqualified Directors. This list is updated once a week.

Product Code: W2-DATA-DISQUALIFIEDS-UK-008

Query Data & Request

This service uses the following query data:

Example Request - W2 Global Data Disqualified Directors Service

<serviceRequest>
    <BundleData>
        <BundleName>{YOUR BUNDLE NAME HERE}</BundleName>
    </BundleData>
    <QueryData>
        <DateOfBirthMatchThreshold>{e.g. 100}</DateOfBirthMatchThreshold>
        <DayOfBirth>{e.g. 01}</DayOfBirth>
        <Forename>{e.g. JOHN}</Forename>
        <MiddleNames>{e.g. JAMES} </MiddleNames>
        <MonthOfBirth>e.g. 01}</MonthOfBirth>
        <NameQueryMatchThreshold>{ e.g. 100}</NameQueryMatchThreshold>
        <Surname>{e.g. SMITH}</Surname>
        <YearOfBirth>{e.g. 1990}</YearOfBirth>
    </QueryData>
    <ServiceAuthorisation>
        <APIKey>{YOUR API KEY HERE}</APIKey>
        <ClientReference>>{YOUR CLIENT REFERENCE HERE}</ClientReference>
    </ServiceAuthorisation>
</serviceRequest>
{
	"Bundle": "YOURBUNDLE",
	"Data": {
  		"DateOfBirthMatchThreshold":100,
		"DayOfBirth": 22,
		"Forename": "JOHN",
    		"MiddleNames":"JAMES",
    		"NameQueryMatchThreshold":100,
		"MonthOfBirth": 10,
		"Surname": "JAMES",
		"YearOfBirth": 1997
	}
}
FieldName Type Mandatory Notes
Forename string Y The forename of the person you are searching for.
Middlenames string N The middlename of the person you are searching for.
Surname string Y The surname of the person you are searching for.
NameQueryMatchThreshold integer N The minimum name match score* to match against. If not supplied we will assume 80.
DayOfBirth integer Y The day of the date of birth.
MonthOfBirth integer Y The month of the date of birth.
YearOfBirth integer Y The year of the date of birth.
DateOfBirthMatchingThreshold integer N The minimum date of birth score* to match against. If not supplied we will assume 0.
Postcode string N Used to further filter results if supplied.

Response

Sample Response for W2 Global Data Disqualified Directors Service

"w2DataDisqualifiedsUk008Result": {
            "results": [
                {
                    "details": {
                        "disqualifications": [
                            {
                                "caseNumber": "IJK676897642398",
                                "companyName": "SOUTH SEA TRADING",
                                "courtName": "INSOLVENCY SERVICE",
                                "disqualificationType": "UNDERTAKING",
                                "endDate": "2018-03-14T00:00:00",
                                "sectionOfTheAct": "CDDA 1986 S7",
                                "startDate": "2013-03-15T00:00:00",
                                "undertakingDate": "0001-01-01T00:00:00"
                            }
                        ],
                        "exemptions": [
                            {
                                "companyName": "ACME PRODUCTION LIMITED",
                                "endDate": "2016-01-01T00:00:00",
                                "purpose": "SANDBOX",
                                "startDate": "2015-01-01T00:00:00"
                            },
                            {
                                "companyName": "ADVENTURE WORKS",
                                "endDate": "2016-01-01T00:00:00",
                                "purpose": "SANDBOX",
                                "startDate": "2015-01-01T00:00:00"
                            }
                        ],
                        "person": {
                            "dateOfBirth": "1944-12-31T00:00:00",
                            "foreName": "Billy",
                            "id": "4",
                            "postcode": "RH13 3HE",
                            "searchableNames": [
                                "Billy Jones"
                            ],
                            "surname": "Jones"
                        },
                        "variation": {
                            "actionDate": "2018-01-01T00:00:00",
                            "caseNumber": "LMN234682769827364",
                            "courtName": "GLASGOW HIGH COURT"
                        }
                    },
                    "dob": "1944-12-31T00:00:00",
                    "dobScore": 100,
                    "matchedName": "Billy Jones",
                    "nameScore": 100
                }
            ]
        }
<W2DataDisqualifiedsUk008Result>
    <ErrorMessage />
    <Results>
        <!-- 0 or more of these -->
        <DirectorsSearchResult>
            <Details>
                <Disqualification>
                    <CaseNumber>ABC1234567</CaseNumber>
                    <CompanyName>ACME PRODUCTIONS</CompanyName>
                    <CourtName>HIGH COURT</CourtName>
                    <DisqualificationType>UNDERTAKING</DisqualificationType>
                    <EndDate>2017-11-30T00:00:00</EndDate>
                    <SectionOfTheAct>CDDA 1986 S7</SectionOfTheAct>
                    <StartDate>2016-06-01T00:00:00</StartDate>
                    <UndertakingDate>2016-05-11T00:00:00</UndertakingDate>
                </Disqualification>
                <Exemptions>
                    <!-- 0 or more of these -->
                    <Exemption>
                       <CompanyName>SOUTH SEA TRADING Co.</CompanyName>
                       <EndDate>2018-12-01T00:00:00</EndDate>
                       <Purpose>0000000001</Purpose>
                       <StartDate>2016-07-27T00:00:00</StartDate>
                    </Exemption>
                </Exemptions>
                <Person>
                    <AddressLine1>1 HIGH STREET</AddressLine1>
                    <AddressLine2>SOME PLACE</AddressLine2>
                    <CorporateNumber/>
                    <Country>UK</Country>
                    <CountryRegistration/>
                    <County/>
                    <DateOfBirth>1900-01-01T00:00:00</DateOfBirth>
                    <ForeName>JOHN</ForeName>
                    <Honours/>
                    <Id>123456789</Id>
                    <Nationality>BRITISH</Nationality>
                    <PostTown>SOME TOWN</PostTown>
                    <Postcode>AB1 2CD</Postcode>
                    <SearchableNames>
                        <!-- 1 or more of these aliases -->
                        <string>JOHN SMITH</string>
                        <string>JOHN JAMES SMITH</string>   
                    </SearchableNames>
                    <Surname>SMITH</Surname>
                    <Title>MR</Title>
                </Person>
                <Variation>
                    <ActionDate>2016-01-01</ActionDate>
                    <CaseNumber>ABC123</CaseNumber> 
                    <CourtName>HIGH COURT</CourtName>
                </Variation>
            </Details>
            <!-- THE DOB we matched on -->
            <Dob>1900-01-01</Dob>
            <!-- The dob score we found -->
            <DobScore>100</DobScore>
            <!-- The alias we matched on -->
            <MatchedName>John Smith</MatchedName>
            <!-- The score of the name we matched on -->   
            <NameScore>100</NameScore>
        </DirectorsSearchResult>
    </Results>
</W2DataDisqualifiedsUk008Result>

The table below contains explanations for a few of the fields returned in the response:

Field Explanation
Dob This is the date of birth that was provided in the query data that was used for searching. This can be different to the Person.DateOfBirth field if a low threshold is set for dob scoring and an exact match is not required.
DobScore This is the match score for the Person.DateOfBirth field against the dob that was used in the query.
MatchedName This is the name in the Person.SearchableNames collection that had the highest score.
NameScore The highest score found from the searchable names.
Person.SearchableNames This is a collection of known aliases for the individual in question. This field is what is used for searching.

Sandbox

Example Request - W2 DATA DISQUALIFIEDS UK 008

{
    "Bundle": "W2DataDisqualifiedsUk008",
    "Data": {
        "Forename": "James",
        "Surname": "Thorpe",
        "DayOfBirth": 10,
        "MonthOfBirth": 6,
        "YearOfBirth": 1978
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

This service has the following Sandbox Cases:

Forename Surname Date Of Birth Postcode Searchable Names Notes
James Thorpe 1978-06-10 AB54 4PN “James Thorpe”, “James Sebastien Thorpe”, “Thorpe James”, “James Thorpey”, “Sebastien James Thorpe” Returns a Disqualified Director with no exemptions or validations.
Ahenobarbus Michal 1944-12-31 RH13 3HE “Ahenobarbus Michal”, “Ahenobarbus Geronimo Michal”, “Michal Ahenobarbus”, “Ahenobarbusero Michal”, “Sebastien Ahenobarbus Michal” Returns a Disqualified Director with one exemption and no validations.
Allen Kiril 1943-01-08 IVT X34 “Allen Kiril”, “Allen Brian Kiril”, “Kiril Allen” Returns a Disqualified Director with two exemptions and no validations.
Billy Jones 1944-12-31 RH13 3HE “Billy Jones” Returns a Disqualified Director with two exemptions and one validations.

W2 DATA EKYC UK 007


This service has been deprecated.


W2_Data_Ekyc_Uk_007 Service is an identity verification service that includes the full Electoral Roll along with credit bureau data. This service will leave a money laundering footprint on the bureau profile of the person you are requesting information about.

Product Code: W2-DATA-EKYC-UK-007

Query Data

The following Query Data properties pertain to this service. Please note that in the SOAP request the fields should be in alphabetical order.  

Property Name Type Length Optional/Mandatory
Forename String 15 Mandatory
MiddleNames String 15 Optional
Surname String 30 Mandatory
DayOfBirth Integer 2 Mandatory
MonthOfBirth Integer 2 Mandatory
YearOfBirth Integer 4 Mandatory
HouseName String 26 Optional *
HouseNumber String 26 Optional *
Flat String 20 Optional *
Street String 40 Optional *
Region String 20 Optional *
County String 20 Optional *
Country String 20 Optional *
City String 20 Optional *
Postcode String 8 Optional *

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

Notes

  • By default we include a check for Mortality Data. Users can turn this option off by adding the IncludeHaloMortalityCheck query option and setting it to false *Please note this setting is case sensitive, so something like includehalomortalitycheck (all lowercase) won’t be picked up. *You can find information about the sandbox version of this service here.

Example Requests

Example 1 Request

{
    "Bundle": "{YOUR BUNDLE NAME HERE}",
    "Data": {
        "DayOfBirth": 22,
        "Forename": "Isabelle",
        "MonthOfBirth": 10,
        "Surname": "Davidson",
        "YearOfBirth": 1997        
    },
    "Options": {
        "AddressLookupRef": "12345"
    },
    "ClientReference": "{YOUR CLIENT REFERENCE HERE}"
}
 <serviceRequest>
   <BundleData>
     <BundleName>{YOUR BUNDLE NAME HERE}</BundleName>
   </BundleData>
   <QueryData>
     <DayOfBirth>{e.g. 01}</DayOfBirth>
     <Forename>{e.g. JOHN}</Forename>
     <MiddleNames>{e.g. JAMES} </MiddleNames>
     <MonthOfBirth>{e.g. 01}</MonthOfBirth>
     <Surname>e.g. SMITH</Surname>
     <YearOfBirth>{e.g. 1990}</YearOfBirth>
   </QueryData>
   <QueryOptions>
     <KeyValueOfstringstring>
       <Key>{AddressLookupRef}</Key>
       <Value>{e.g. 12345}</Value>
     </KeyValueOfstringstring>
   </QueryOptions>
   <ServiceAuthorisation>
     <APIKey>{YOUR API KEY HERE}</APIKey>
     <ClientReference>{YOUR CLIENT REFERENCE HERE}</ClientReference>
   </ServiceAuthorisation>
 </serviceRequest>

Example 2 Request

{
    "Bundle": "{YOUR BUNDLE NAME HERE}",
    "Data": {
    	"City": "Newport",
        "DayOfBirth": 22,
        "Forename": "Isabelle",
        "MonthOfBirth": 10,
        "Postcode": "WT1 1TD",
        "Surname": "Davidson",
        "YearOfBirth": 1997,
        "HouseNumber": "40",
        "MiddleNames":"Hope",
        "Street":"Awesome Street"
    },
    "ClientReference": "{YOUR CLIENT REFERENCE HERE}"
}
    <serviceRequest>
        <BundleData>
            <BundleName>{YOUR BUNDLE NAME HERE}</BundleName>
        </BundleData>
        <QueryData>
            <City>{e.g. Cardiff }</City>
            <DayOfBirth>{e.g. 01}</DayOfBirth>
            <Forename>{e.g. JOHN}</Forename>
            <HouseNumber>{e.g. 1 }</HouseNumber>
            <MiddleNames>{e.g. JAMES} </MiddleNames>
            <MonthOfBirth>{e.g. 01}</MonthOfBirth>
            <Postcode>{e.g. CF10 4RU }</Postcode>
            <Street>{e.g. Falcon Dr}</Street>
            <Surname>{e.g. SMITH}</Surname>
            <YearOfBirth>{e.g. 1990}</YearOfBirth>
        </QueryData>
        <ServiceAuthorisation>
            <APIKey>{YOUR API KEY HERE}</APIKey>
            <ClientReference>{YOUR CLIENT REFERENCE HERE}</ClientReference>
        </ServiceAuthorisation>
    </serviceRequest>        

Example 3 Request

{
    "Bundle": "{YOUR BUNDLE NAME HERE}",
    "Data": {
        "DayOfBirth": 22,
        "Forename": "Isabelle",
        "MonthOfBirth": 10,
        "Surname": "Davidson",
        "YearOfBirth": 1997        
    },
    "Options": {
        "AddressLookupRef": "12345",
        "IncludeHaloMortalityCheck":"true"
    },
    "ClientReference": "{YOUR CLIENT REFERENCE HERE}"
}
    <serviceRequest>
        <BundleData>
            <BundleName>{YOUR BUNDLE NAME HERE}</BundleName>
        </BundleData>
        <QueryData>
            <DayOfBirth>{e.g. 01}</DayOfBirth>
            <Forename>{e.g. JOHN}</Forename>
            <MiddleNames>{e.g. JAMES} </MiddleNames>
            <MonthOfBirth>{e.g. 01}</MonthOfBirth>
            <Surname>{e.g. SMITH}</Surname>
            <YearOfBirth>{e.g. 1990}</YearOfBirth>
        </QueryData>
        <QueryOptions>
            <KeyValueOfstringstring>
                <Key>{AddressLookupRef}</Key>
                <Value>{e.g. 12345}</Value>
            </KeyValueOfstringstring>
            <KeyValueOfstringstring>
                <Key>{IncludeHaloMortalityCheck}</Key>
                <Value>{false}</Value>
            </KeyValueOfstringstring>
        </QueryOptions>
        <ServiceAuthorisation>
            <APIKey>{YOUR API KEY HERE}</APIKey>
            <ClientReference>{YOUR CLIENT REFERENCE HERE}</ClientReference>
        </ServiceAuthorisation>
    </serviceRequest>

Example Responses

The responses below are just a few examples of possible responses there are other possible responses which may vary based on your particular bundle configuration but the examples below cover the main examples. 

General Response

{
    "clientReference": "{YOUR CLIENT REFERENCE}",
    "results": {
        "w2DataEkycUk007Result": {
            "identityCheckResult": {
                "matchInformation": {
                    "independentDataSources": true | false | null ,
                    "nameAndAddressMatch": true | false,
                    "nameAndDateOfBirthMatch": true | false
                },
                "matchResult": "NotChecked | TwoPlusTwo | TwoPlusOne | OnePlusOne | NoMatch"
            }
        }
    },
    "transaction": {
        "interpretResult": "Pass | Fail | Inconclusive | NotApplicable | NotPerformed",
        "serviceCallReference": "{Call reference will be a new GUID here}",
        "serviceTransactions": [
            {
                "haltTriggered": true | false,
                "service": "W2DataEkycUk007",
                "serviceInterpretResult": "Pass | Fail | Inconclusive",
                "serviceTransactionResult": "Success",
                "serviceTransactionResultMessage": " Any information pertinent to this call",
                "validationResult": "Pass | Fail | Inconclusive | NoValidationPerformed | NotApplicable"
            }
        ]
    }
}
    <ProcessRequestResult>
        <ServiceResult>
            {other services excluded from this example}
            <W2DataEkycUk007Result>
                <IdentityCheckResult>
                    <MatchInformation>
                        <IndependantDataSources>{ true | false | null }</IndependantDataSources>
                        <NameAndAddressMatch>{ true | false }</NameAndAddressMatch>
                        <NameAndDateOfBirthMatch>{ true | false }</NameAndDateOfBirthMatch>
                    </MatchInformation>
                    <MatchResult>                      { NotChecked | TwoPlusTwo | TwoPlusOne | OnePlusOne | NoMatch }                    </MatchResult>
                </IdentityCheckResult>
            </W2DataEkycUk007Result>
        </ServiceResult>
        <TransactionInformation>
            <InterpretResult>                { Pass | Fail | Inconclusive | NotApplicable | NotPerformed }            </InterpretResult>
            <ServiceCallReference>{Call reference will be a new GUID here}</ServiceCallReference>
            <ServiceTransactions>
                <ServiceTransactionInformation>
                    <FailedOverTo>{ only used if failovers are configured }</FailedOverTo>
                    <HaltTriggered>{ true | false }</HaltTriggered>
                    <Service>W2DataEkycUk007</Service>
                    <ServiceInterpretResult>{ Pass | Fail | Inconclusive }</ServiceInterpretResult>
                    <ServiceTransactionResult>{ Success }</ServiceTransactionResult>
                    <ServiceTransactionResultMessage>                         { Any information pertinent to this call }                    </ServiceTransactionResultMessage>
                    <ServiceValidationDetails>                         { only filled in if there are problems with the validation}                    </ServiceValidationDetails>
                    <ValidationResult>                         { Pass | Fail | Inconclusive | NoValidationPerformed | NotApplicable }                    </ValidationResult>
                </ServiceTransactionInformation>
            </ServiceTransactions>
        </TransactionInformation>
    </ProcessRequestResult>    

Successful Response

{
    "clientReference": "{YOUR CLIENT REFERENCE}",
    "results": {
        "w2DataEkycUk007Result": {
            "identityCheckResult": {
                "matchInformation": {
                    "independentDataSources": true,
                    "nameAndAddressMatch": true,
                    "nameAndDateOfBirthMatch": true
                },
                "matchResult": "TwoPlusTwo"
            }
        }
    },
    "transaction": {
        "interpretResult": "Pass",
        "serviceCallReference": "{Call reference will be a new GUID here}",
        "serviceTransactions": [
            {
                "haltTriggered": false,
                "service": "W2DataEkycUk007",
                "serviceInterpretResult": "Pass",
                "serviceTransactionResult": "Success",
                "validationResult": "Pass"
            }
        ]
    }
}
    <ProcessRequestResult>
        <ServiceResult>
            <W2DataEkycUk007Result>
                <IdentityCheckResult>
                    <MatchInformation>
                        <IndependantDataSources>true</IndependantDataSources>
                        <NameAndAddressMatch>true</NameAndAddressMatch>
                        <NameAndDateOfBirthMatch>true</NameAndDateOfBirthMatch>
                    </MatchInformation>
                    <MatchResult>TwoPlusTwo</MatchResult>
                </IdentityCheckResult>
            </W2DataEkycUk007Result>
        </ServiceResult>
        <TransactionInformation>
            <InterpretResult>Pass</InterpretResult>
            <ServiceCallReference>{e.g. 558003c3-3154-4e55-9c9e-e2dfb897b098}</ServiceCallReference>
            <ServiceTransactions>
                <ServiceTransactionInformation>
                    <FailedOverTo />
                    <HaltTriggered>false</HaltTriggered>
                    <Service>W2DataEkycUk007</Service>
                    <ServiceInterpretResult>Pass</ServiceInterpretResult>
                    <ServiceTransactionResult>Success</ServiceTransactionResult>
                    <ServiceTransactionResultMessage />
                    <ServiceValidationDetails />
                    <ValidationResult>Pass</ValidationResult>
                </ServiceTransactionInformation>
            </ServiceTransactions>
        </TransactionInformation>
    </ProcessRequestResult> 

Inconclusive Response

{
    "clientReference": "{YOUR CLIENT REFERENCE}",
    "results": {
        "w2DataEkycUk007Result": {
            "identityCheckResult": {
                "matchInformation": {
                    "independentDataSources": false,
                    "nameAndAddressMatch": true,
                    "nameAndDateOfBirthMatch": true
                },
                "matchResult": "TwoPlusTwo"
            }
        }
    },
    "transaction": {
        "interpretResult": "Inconclusive",
        "serviceCallReference": "{Call reference will be a new GUID here}",
        "serviceTransactions": [
            {
                "haltTriggered": false,
                "service": "W2DataEkycUk007",
                "serviceInterpretResult": "Inconclusive",
                "serviceTransactionResult": "Success",
                "validationResult": "Pass"
            }
        ]
    }
}
    <ProcessRequestResult>
        <ServiceResult>
            <W2DataEkycUk007Result>
                <IdentityCheckResult>
                    <MatchInformation>
                        <IndependantDataSources>false</IndependantDataSources>
                        <NameAndAddressMatch>true</NameAndAddressMatch>
                        <NameAndDateOfBirthMatch>true</NameAndDateOfBirthMatch>
                    </MatchInformation>
                    <MatchResult>TwoPlusOne</MatchResult>
                </IdentityCheckResult>
            </W2DataEkycUk007Result>
        </ServiceResult>
        <TransactionInformation>
            <InterpretResult>Inconclusive</InterpretResult>
            <ServiceCallReference>{e.g. 558003c3-3154-4e55-9c9e-e2dfb897b098}</ServiceCallReference>
            <ServiceTransactions>
                <ServiceTransactionInformation>
                    <FailedOverTo />
                    <HaltTriggered>false</HaltTriggered>
                    <Service>W2DataEkycUk007</Service>
                    <ServiceInterpretResult>Inconclusive</ServiceInterpretResult>
                    <ServiceTransactionResult>Success</ServiceTransactionResult>
                    <ServiceTransactionResultMessage />
                    <ServiceValidationDetails />
                    <ValidationResult>Pass</ValidationResult>
                </ServiceTransactionInformation>
            </ServiceTransactions>
        </TransactionInformation>
    </ProcessRequestResult>

Example Failing Response

{
    "clientReference": "{YOUR CLIENT REFERENCE}",
    "results": {
        "w2DataEkycUk007Result": {
            "identityCheckResult": {
                "matchInformation": {
                    "nameAndAddressMatch": false,
                    "nameAndDateOfBirthMatch": false
                },
                "matchResult": "NoMatch"
            }
        }
    },
    "transaction": {
        "interpretResult": "Fail",
        "serviceCallReference": "{Call reference will be a new GUID here}",
        "serviceTransactions": [
            {
                "haltTriggered": false,
                "service": "W2DataEkycUk007",
                "serviceInterpretResult": "Fail",
                "serviceTransactionResult": "Success",
                "validationResult": "Pass"
            }
        ]
    }
}
    <ProcessRequestResult>
        <ServiceResult>
            <W2DataEkycUk007Result>
                <IdentityCheckResult>
                    <MatchInformation>
                        <IndependantDataSources />
                        <NameAndAddressMatch>false</NameAndAddressMatch>
                        <NameAndDateOfBirthMatch>false</NameAndDateOfBirthMatch>
                    </MatchInformation>
                    <MatchResult>NoMatch</MatchResult>
                </IdentityCheckResult>
            </W2DataEkycUk007Result>
        </ServiceResult>
        <TransactionInformation>
            <InterpretResult>Fail</InterpretResult>
            <ServiceCallReference>{e.g. 558003c3-3154-4e55-9c9e-e2dfb897b098}</ServiceCallReference>
            <ServiceTransactions>
                <ServiceTransactionInformation>
                    <FailedOverTo />
                    <HaltTriggered>false</HaltTriggered>
                    <Service>W2DataEkycUk007</Service>
                    <ServiceInterpretResult>Fail</ServiceInterpretResult>
                    <ServiceTransactionResult>Success</ServiceTransactionResult>
                    <ServiceTransactionResultMessage />
                    <ServiceValidationDetails />
                    <ValidationResult>Pass</ValidationResult>
                </ServiceTransactionInformation>
            </ServiceTransactions>
        </TransactionInformation>
    </ProcessRequestResult>

Additional Information Response

"w2DataEkycUk007Result": {
	"fullResponse": {
		"mortalityData": [],
		"mortalityDataCheckType": "NotChecked | FullMatch | PartialMatch | NoMatch | MultipleMatch",
		"uniqueAddressMatchFound": true | false,
		"verificationData": {
			"electoralRollNameAndAddressMatch": true | false,
			"electoralRollNameAndDateOfBirthMatch": "NotChecked | FullMatch | PartialMatch | NoMatch | MultipleMatch",
			"lendersContributingToTheCreditFileCount": 0 - 99,
			"matchDateOfBirthUsingCreditRecords": "NotChecked | FullMatch | PartialMatch | NoMatch | MultipleMatch",
			"numberCcj": 0 - 99
		}
	},
	"identityCheckResult": {
		"matchInformation": {
			"independentDataSources": true | false | null,
			"nameAndAddressMatch": true | false,
			"nameAndDateOfBirthMatch": true | false
		},
		"matchResult": "NotChecked | TwoPlusTwo | TwoPlusOne | OnePlusOne | NoMatch"
	}
}
    <W2DataEkycUk007Result>
        <FullResponse>
            <MortalityData/>
            <MortalityDataCheckType>
                { NotChecked | FullMatch | PartialMatch | NoMatch | MultipleMatch }
            </MortalityDataCheckType>
            <UniqueAddressMatchFound>                { true | false }           </UniqueAddressMatchFound>
            <VerificationData>
                <ElectoralRollNameAndAddressMatch>                    { true | false }                </ElectoralRollNameAndAddressMatch>
                <ElectoralRollNameAndDateOfBirthMatch>
                    { NotChecked | FullMatch | PartialMatch | NoMatch | MultipleMatch }
                </ElectoralRollNameAndDateOfBirthMatch>
                <LendersContributingToTheCreditFileCount>                    { 0 - 99 }                </LendersContributingToTheCreditFileCount>
                <MatchDateOfBirthUsingCreditRecords>
                    { NotChecked | FullMatch | PartialMatch | NoMatch | MultipleMatch }
                </MatchDateOfBirthUsingCreditRecords>
                <NumberCcj>                    { 0 - 99 }                </NumberCcj>
            </VerificationData>
        </FullResponse>
        <IdentityCheckResult>
            <MatchInformation>
                <IndependantDataSources>{ true | false | null }</IndependantDataSources>
                <NameAndAddressMatch>{ true | false }</NameAndAddressMatch>
                <NameAndDateOfBirthMatch>{ true | false }</NameAndDateOfBirthMatch>
            </MatchInformation>
            <MatchResult>
                { NotChecked | TwoPlusTwo | TwoPlusOne | OnePlusOne | NoMatch }
            </MatchResult>
        </IdentityCheckResult>
    </W2DataEkycUk007Result>

Sandbox

 

Listed below are the details to set and the response you should expect to see (to see the details of the service response of each sandbox case, simply click on it in the table below).

Sandbox Example Cases

        
          (Click on a sandbox case to see the service result data here)
        
      
Forename Surname Day Of Birth Month Of Birth Year Of Birth Flat House Name/Number Street Postcode Result
Aaron Cross 20 6 1973 254 Ocean View WT1 1TD Inconclusive
Aaron John 3 8 1976 85 Ocean View WT1 1TD None
Abbie Forster 26 12 1962 241 Ocean View WT1 1TD None
Adam Davidson 12 5 1965 29 North Promenade FK14 2WX None
Ahenobarbus Michal 31 12 1944 68 RH13 3HE NotPerformed
Alice Jenkins 13 10 1983 First Floor Flat 9 Orchid Bank WT2 2DF Inconclusive
Allen Kiril 8 1 1943 99 IVT X34 None
Allison Leigh 17 4 1974 91 Brick Lane E1 6QL Pass
Angeline Error 12 3 1972 380 Ocean View NP1 1NP NotPerformed
Anquan Error 14 5 1978 10 Error Road ER3 3OR NotPerformed
Bethany Sharp 26 7 1949 259 Wellington Road South SK2 6NG None
Bradley Oliver 15 11 1973 209 Ocean View WT1 1TD Pass
Cameron Evans 24 12 1953 Flat B 5 Orchid Bank WT2 2DF Fail
Cerys Clayton 21 4 1983 Second Floor Flat 9 Orchid Bank WT2 2DF Inconclusive
Chloe Hardy 12 1 1979 1A 1 Orchid Bank WT2 2DF Pass
Connor Error 1 2 1947 8 Error Road ER3 3OR NotPerformed
David Cameron 9 10 1966 5 BS8 1HN None
David Error 7 3 1931 3 Error Road ER3 3OR Pass
Edward Pearson 9 4 1985 253 Ocean View WT1 1TD None
Evan Duncan 5 10 1962 202 Ocean View WT1 1TD None
Faisul Miah 4 12 1977 91 Brick Lane E1 6QL Pass
Francesca Murray 2 9 1964 32 TF12 3DY Fail
Francesca Woodward 23 9 1976 127 Ocean View WT1 1TD None
Isabelle Error 15 2 1973 168 Ocean View NP1 1NP NotPerformed
Jane Error 27 7 1986 168 Ocean View NP1 1NP NotPerformed
Jennifer Sykes 13 3 1938 57 S66 6LT Inconclusive
Jonny Miles 8 1 1943 2 99 IVT X34 NotPerformed
Kelvin Thursby 25 4 1985 91 Brick Lane E1 6QL Pass
Lily Error 9 3 1995 381 Ocean View NP1 1NP NotPerformed
Luana Melania 11 12 1924 8 AB54 5TR Inconclusive
Madison Reynolds 1 1 1900 85 NR24 9JB Pass
Megan Crawford 5 4 1957 1B 1 Orchid Bank WT2 2DF Pass
Moray Abdiou 11 12 1924 26 LN4 7AT Pass
Nicole Williamson 12 2 1976 379 WT1 1TD None
Rob James 12 10 1983 91 Brick Lane E1 6QL Pass
Rosie Duncan 1 2 1967 40 AB41 7YW None
Samantha Abbott 23 2 1966 137 Ocean View WT1 1TD None
Scott James 17 8 1976 91 Brick Lane E1 6QL Pass
Shannon Macdonald 21 1 1962 Flat B 7 Orchid Bank WT2 2DF Pass

ID Check Name Lookup


IDCheckNameLookupService is a name verification service. It checks that the name is not salacious, incomplete or randomly typed characters.

Product Name: W2-DATA-SALACIOUS_NAME-023

Properties

The following properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes
NameQuery String   Mandatory* Default field used for matching, can be blank if Forename/MiddleNames/Surname used instead
Forename String   Optional Used when NameQuery is not specified
MiddleNames String   Optional Used when NameQuery is not specified
Surname String   Optional Used when NameQuery is not specified

Response

Example Response - ID Check Name Lookup

"idCheckNameLookupResult": {
"validationResultReason": "The name is not salacious"
}
<IDCheckNameLookupResult>
  <ValidationResultReason>    The name is not salacious  </ValidationResultReason>
</IDCheckNameLookupResult>

 

Sandbox

Example Request - ID Check Name Lookup

{
    "Bundle": "IDCheckNameLookup",
    "Data": {
        "NameQuery": "John Smith"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

Sandbox Examples

Example Response for “John Smith”

"idCheckNameLookupResult": {
"validationResultReason": "The name is not salacious"
}
<IDCheckNameLookupResult>
  <ValidationResultReason>    The name is not salacious  </ValidationResultReason>
</IDCheckNameLookupResult>

The corresponding ServiceTransactions will show the following properties:

HaltTriggered False
ServiceTransactionResult - Success
ServiceInterpretResult - Pass
ServiceTransactionResultMessage “This call was generated using sandbox mode”
ValidationResult - NotApplicable

Example Response for “Mickey Mouse”

"idCheckNameLookupResult": {
"validationResultReason": "The name is flagged against our blacklist of known salacious words"
}
<IDCheckNameLookupResult>
  <ValidationResultReason>    The name is flagged against our blacklist of known salacious words  </ValidationResultReason>
</IDCheckNameLookupResult>

The corresponding ServiceTransactions will show the following properties:

HaltTriggered False
ServiceTransactionResult - Success
ServiceInterpretResult - Inconclusive
ServiceTransactionResultMessage “This call was generated using sandbox mode”
ValidationResult - NotApplicable

Example Response for “aabbccddee”

"idCheckNameLookupResult": {
	"validationResultReason": "The name appears to have been entered by hitting random keys"
}
<IDCheckNameLookupResult>
  <ValidationResultReason>    The name appears to have been entered by hitting random keys  </ValidationResultReason>
</IDCheckNameLookupResult>

The corresponding ServiceTransactions will show the following properties:

HaltTriggered False
ServiceTransactionResult - Success
ServiceInterpretResult - Inconclusive
ServiceTransactionResultMessage “This call was generated using sandbox mode”
ValidationResult - NotApplicable

The corresponding IDCheckNameLookupResult will show the following properties:

HaltTriggered False
ServiceTransactionResult - Success
ServiceInterpretResult - Pass
ServiceTransactionResultMessage “This call was generated using sandbox mode”
ValidationResult - NotApplicable

Director Check UK


Director Check UK (DirectorUKCheck) service lets you search by name the UK database of directors (Companies House). If there are multiple matches, it provides a list of them, up to a limit of 100.

Product Code: W2-DATA-DIRECTOR-UK-009

Properties

The following Query Data properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes Accepted Characters
NameQuery String   Mandatory* Default field used for matching, can be blank if Forename/MiddleNames/Surname used instead  
Forename String   Optional Used when NameQuery is not specified  
MiddleNames String   Optional Used when NameQuery is not specified  
Surname String   Optional Used when NameQuery is not specified  
DayOfBirth Integer 2 Optional   Numbers Only - greater than 0
MonthOfBirth Integer 2 Optional   Numbers Only - greater than 0
YearOfBirth Integer 4 Optional   Numbers Only - greater than 0

Request

Example Request

<QueryData >
  <NameQuery>John Smith</NameQuery>
</QueryData>
"Data": {
	"NameQuery": "Jessica Black"
}

Response

Example Response

"directorUKCheckResult": {
	"directorUKCheckErrors": {
		"errorDetails": []
	},
	"directorUKCheckResults": {
		"result": [{
				"address1": "221B Baker Street",
				"address2": "",
				"birthDate": "01/01/1970",
				"country": "United Kingdrom",
				"county": "",
				"directorNumber": "1234565789",
				"name": "Jessica Black",
				"postcode": "W1S 1AA",
				"town": "London"
			}
		]
	}
}
<DirectorUKCheckResult>  <DirectorUKCheckErrors>
    <ErrorDetails/>
  </DirectorUKCheckErrors>
  <DirectorUKCheckResults>
    <!-- One or more of these -->
    <Result>
      <Address1>221B Baker Street</Address1>
      <Address2/>
      <BirthDate>01/01/1970</BirthDate>
      <Country>United Kingdom</Country>
      <County/>
      <DirectorNumber>1234565789</DirectorNumber>
      <Name>John Smith</Name>
      <Postcode>W1S 1AA</Postcode>
      <Town>London</Town>
    </Result>
  </DirectorUKCheckResults>
</DirectorUKCheckResult>

Sandbox

Example Request - Director Check UK

{
    "Bundle": "DirectorUKCheck",
    "Data": {
        "NameQuery": "Jessica Black"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

Sandbox Examples

Sample Response for “Jessica Black”

"directorUKCheckResult": {
	"directorUKCheckErrors": {
		"errorDetails": []
	},
	"directorUKCheckResults": {
		"result": [{
				"address1": "221B Baker Street",
				"address2": "",
				"birthDate": "01/01/1970",
				"country": "United Kingdrom",
				"county": "",
				"directorNumber": "1234565789",
				"name": "Jessica Black",
				"postcode": "W1S 1AA",
				"town": "London"
			}, {
				"address1": "221B Flour Street",
				"address2": "",
				"birthDate": "01/01/1960",
				"country": "United Kingdrom",
				"county": "",
				"directorNumber": "1234565789",
				"name": "Jessica Black",
				"postcode": "W1S 1BB",
				"town": "London"
			}
		]
	}
}
<DirectorUKCheckResult>
  <DirectorUKCheckErrors>
    <ErrorDetails/>
  </DirectorUKCheckErrors>  <DirectorUKCheckResults> 
    <Result>
      <Result>
        <Address1>221B Baker Street</Address1>
        <Address2/>
        <BirthDate>01/01/1970</BirthDate>
        <Country>United Kingdrom</Country>
        <County/>
        <DirectorNumber>1234565789</DirectorNumber>
        <Name>Jessica Black</Name>
        <Postcode>W1S 1AA</Postcode>
        <Town>London</Town>
      </Result>
      <Result>
        <Address1>221B Flour Street</Address1>
        <Address2/>
        <BirthDate>01/01/1960</BirthDate>
        <Country>United Kingdom</Country>
        <County/>
        <DirectorNumber>1234565789</DirectorNumber>
        <Name>Jessica Black</Name>
        <Postcode>W1S 1BB</Postcode>
        <Town>London</Town>
      </Result>
    </Result>
  </DirectorUKCheckResults>
</DirectorUKCheckResult>

The corresponding ServiceTransactions will show the following properties:

HaltTriggered False
ServiceTransactionResult - Success
ServiceInterpretResult - MultipleResults
ServiceTransactionResultMessage “This call was generated using sandbox mode”
ValidationResult - NotApplicable

The corresponding ServiceTransactions will show the following properties:

HaltTriggered False
ServiceTransactionResult SuccessNoResult
ServiceInterpretResult NoResults
ServiceTransactionResultMessage “This call was generated using sandbox mode”
ValidationResult NotApplicable

W2 Data Ekyc UK 005


W2 Data Ekyc UK 005 is an identity verification service that includes the full Electoral Roll and Credit Bureau data. This service will leave a money laundering footprint on the bureau profile of the person you are requesting information about.

Product Code: UK eKYC (005)

Query Data

The following QueryData properties pertain to this service. Please note in the actual SOAP request the fields should be in alphabetical order.

Property Name Type Length Optional/Mandatory Notes
Forename String 15 Mandatory  
MiddleNames String 15 Optional The contents of this field will be converted into initials, therefore the character limit can usually be ignored.
Surname String 30 Mandatory  
DayOfBirth Integer 2 Mandatory  
MonthOfBirth Integer 2 Mandatory  
YearOfBirth Integer 4 Mandatory  
HouseName String 26 Optional Either house name or house number must be supplied
HouseNumber String 26 Optional  Either house name or house number must be supplied
Flat String 16 Optional  
Street String 40 Optional  
County String 20 Optional  
City String 20 Optional  
Postcode String 8 Mandatory  
PhoneNumber String 16 Optional Please provide the phone number as one contiguous set of numbers with no other characters or spaces.

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

  • Address information is optional if an AddressLookupRef is supplied in the query options. The AddressLookupRef is retrieved from the W2 Data Address Lookup 024 service as an addressId.

If an AddressLookupRef is not supplied then a minimum of House Name/Number and Postcode are required. Though it is advised to supply as much address information as possible as this is more likely to return a match if no prematched addressId is supplied. 

Request

Example Request - W2 Data Ekyc UK 005

"Data": {
	"DayOfBirth": 20,
	"Forename": "Aaron",
	"HouseNumber": "254",
	"MonthOfBirth": 6,
	"Postcode": "WT1 1TD",        
	"Street": "Ocean View",
	"Surname": "Cross",
	"YearOfBirth": 1973
}
<QueryData>
<DayOfBirth>20</DayOfBirth>
<Forename>Aaron</Forename>
<HouseNumber>254</HouseNumber>
<MonthOfBirth>6</MonthOfBirth>     
<Postcode>WT1 1TD</Postcode>  
<Street>Ocean View</Street>
<Surname>Cross</Surname>
<YearOfBirth>1973</YearOfBirth>
</QueryData>

Response

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

Example Response - W2 Data Ekyc UK 005

"Data": {
	"DayOfBirth": 20,
	"Forename": "Aaron",
	"HouseNumber": "254",
	"MonthOfBirth": 6,
	"Postcode": "WT1 1TD",
	"Street": "Ocean View",
	"Surname": "Cross",
	"YearOfBirth": 1973
}

"w2DataEkycUk005Result": {
	"dataSources": [{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddress",
			"NumberOfMatches": 1,
			"Source": "CreditLendersA"
		}, {
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndDateOfBirth",
			"NumberOfMatches": 1,
			"Source": "Electoral Roll"
		}
	],
	"interpretResult": "Pass",
	"Message": "The call was successful",
	"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycUk005Result>
    <DataSources>
        <!-- An array of MatchingSource elements --> 
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>
                { true | false }
            </AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>
                { 
                    NotAssigned | NameAndAddress | NameAndDateOfBirth |
                    NameAndAddressAndDateOfBirth | MortalityHighConfidence | 
                    MortalityLowConfidence | SurnameAndPhoneNumberAtAddress
                }
            </MatchingCriteria>
            <NumberOfMatches>           
                { 0 - 99 }
            <NumberOfMatches>
            <Source>
               {
                    0 = NotAssigned 
                    1 = ElectoralRoll 
                    2 = CCJ
                    3 = CreditLendersA
                    4 = CreditLendersB
                    5 = BT_OSIS 
                    6 = MortalityData
                }            
            <Source>
        </MatchingSource>
    </DataSources>
    <InterpretResult>
        { 
            NotPerformed | Pass | Fail | Refer | NoInterpretPerformed 
        }
    </InterpretResult>
    <Message>
        { A message containing additional information about the call }
    </Message>
    <TransactionResult>
        {
            None | Success | SuccessNoResults | SuccessIncompleteResults |
            MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
            NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
        }
    </TransactionResult>
</W2DataEkycUk005Result>

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

Datasources = A collection showing every source of data that was used to formulate the result. Each source is represented by a 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 CCJ results may count as two sources, rather than one, as they would do under normal service circumstances.

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

NumberOfMatches = The number of matches found by this data source

Source = The source of the data match. E.g. CCJ

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

Transaction Result

HaltTriggered False
ServiceTransactionResult - Success
- SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated
- SuccessNoResults - No matches found
- ServerErrorGeneralError - An error occurred
- ServiceFailureError - Unable to contact third party service
- ClientErrorInsufficientInformationRequired field not supplied or insufficient/invalid information
- ClientErrorInformationFormatInvalid - Address fields cannot contain commas
ServiceInterpretResult - OneResult
- MultipleResults
- NoResults
- NotPerformed - An error occurred and the search was not performed
ServiceTransactionResultMessage Usually empty, can contain optional information such as too many matches etc.
ValidationResult - Pass
- NotPerformed - No search occurred to match against
- Fail - MissingMandatoryField or PatternNotMatched

Sandbox

Query options for Sandbox

"options": {
	"sandbox": "true"
}
<QueryOptions>
  <KeyValueOfstringstring>
    <Key>Sandbox</Key>
    <Value>true</Value>
  </KeyValueOfstringstring>
</QueryOptions>

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

Sandbox Example Cases

       
       (Click on a sandbox case to see the service result data here) 
       
      
Forename Surname Day Of Birth Month Of Birth Year Of Birth Flat House Name/Number Street Postcode
Aaron Cross 20 6 1973 254 Ocean View WT1 1TD
Aaron John 3 8 1976 85 Ocean View WT1 1TD
Abbie Forster 26 12 1962 241 Ocean View WT1 1TD
Abigail Ford 22 10 1956 146 Ocean View WT1 1TD
Adam Crawford 27 6 1980 374 Ocean View WT1 1TD
Adam Sharpe 20 11 1996 250 Ocean View WT1 1TD
Ahenobarbus Michal 31 12 1944 68 RH13 3HE
Alexander Ball 21 5 1966 108 Ocean View WT1 1TD
Alexander Wallis 28 3 1953 142 Ocean View WT1 1TD
Alisha Owen 16 8 1979 113 Ocean View WT1 1TD
Allen Kiril 8 1 1943 99 IVT X34
Allen Kiril 8 1 1943 99 IVT X34
Amber Ball 9 7 1957 147 Ocean View WT1 1TD
Amelia Brady 14 8 1978 121 Ocean View WT1 1TD
Amy Bowen 6 4 1983 310 Ocean View WT1 1TD
Amy Freeman 12 7 1982 134 Ocean View WT1 1TD
Andrew Lyons 25 12 1973 304 Ocean View WT1 1TD
Andrew Sanders 26 2 1968 116 Ocean View WT1 1TD
Angeline Error 12 3 1972 380 Ocean View NP1 1NP
Ben Blake 5 7 1960 106 Ocean View WT1 1TD
Benjamin Davis 3 7 1962 321 Ocean View WT1 1TD
Bethany Bentley 10 9 1968 312 Ocean View WT1 1TD
Bethany Watts 30 4 1952 255 Ocean View WT1 1TD
Billy Jones 31 12 1944 68 RH13 3HE
Bradley Swift 14 7 1997 247 Ocean View WT1 1TD
Brandon Rose 13 4 1964 378 Ocean View WT1 1TD
Caitlin ODonnell 8 11 1961 268 Ocean View WT1 1TD
Caitlin Williams 1 1 1974 365 Ocean View WT1 1TD
Callum Saunders 13 10 1976 122 Ocean View WT1 1TD
Cerys Holden 24 9 1985 265 Ocean View WT1 1TD
Cerys Reeves 3 3 1978 270 Ocean View WT1 1TD
Charles Coleman 24 2 1964 306 Ocean View WT1 1TD
Charlie Byrne 30 1 1986 300 Ocean View WT1 1TD
Charlie Carroll 24 11 1957 112 Ocean View WT1 1TD
Charlie Clarke 14 2 1957 105 Ocean View WT1 1TD
Charlie Glover 3 12 1990 90 Ocean View WT1 1TD
Charlie Wilkinson 18 11 1968 26 LN4 7AT
Charlotte Cooper 18 4 1973 126 Ocean View WT1 1TD
Christopher Norman 2 5 1966 144 Ocean View WT1 1TD
Christopher Townsend 13 5 1972 83 Ocean View WT1 1TD
Courtney Webb 24 2 1952 148 Ocean View WT1 1TD
Daisy North 12 11 1979 86 Ocean View WT1 1TD
Danielle Evans 1 4 1963 295 Ocean View WT1 1TD
David Armstrong 25 2 1951 114 Ocean View WT1 1TD
David Cameron 9 10 1966 5 BS8 1HN
David Robson 9 5 1992 42 HU12 9FL
Dominic Andrews 2 2 1960 367 Ocean View WT1 1TD
Elise Bryant 19 5 1956 263 Ocean View WT1 1TD
Elizabeth Sheppard 23 10 1952 89 Ocean View WT1 1TD
Ella Fox 25 4 1974 303 Ocean View WT1 1TD
Ella Rowe 3 8 1955 107 Ocean View WT1 1TD
Ellie Horton 1 12 1953 279 Ocean View WT1 1TD
Elliot Gardiner 21 1 1977 259 Ocean View WT1 1TD
Elliot Simpson 21 4 1955 94 Ocean View WT1 1TD
Ellis Bryan 15 10 1967 290 Ocean View WT1 1TD
Emma Coles 10 8 1985 264 Ocean View WT1 1TD
Erin Godfrey 20 3 1964 160 Ocean View WT1 1TD
Eva Little 13 4 1985 150 Ocean View WT1 1TD
Evan Barnett 11 10 1968 153 Ocean View WT1 1TD
Evan Brown 13 4 1956 133 Ocean View WT1 1TD
Evan Butcher 24 8 1947 96 Ocean View WT1 1TD
Evie Boyle 7 4 1942 319 Ocean View WT1 1TD
Finlay Jones 25 10 1966 287 Ocean View WT1 1TD
Finlay Reynolds 20 5 1967 302 Ocean View WT1 1TD
Francesca Kemp 22 6 1968 317 Ocean View WT1 1TD
Francesca Woodward 23 9 1976 127 Ocean View WT1 1TD
Fred Error 3 4 1986 56 Ocean View NP1 1NP
Gabriel Stephens 21 11 1995 357 Ocean View WT1 1TD
Georgina Bird 1 1 1961 322 Ocean View WT1 1TD
Georgina Heath 15 12 1979 293 Ocean View WT1 1TD
Grace Anderson 9 3 1979 102 Ocean View WT1 1TD
Grace Bull 20 11 1978 82 Ocean View WT1 1TD
Gracie Gibbons 7 12 1988 364 Ocean View WT1 1TD
Gracie OSullivan 5 9 1950 111 Ocean View WT1 1TD
Gracie Williamson 28 2 1993 324 Ocean View WT1 1TD
Hannah Harvey 12 4 1983 162 Ocean View WT1 1TD
Hannah Hilton 6 4 1940 323 Ocean View WT1 1TD
Hannah Warner 8 12 1976 130 Ocean View WT1 1TD
Hayden Gray 22 2 1978 143 Ocean View WT1 1TD
Henry Brookes 25 3 1970 245 Ocean View WT1 1TD
Henry Gibson 18 1 1963 251 Ocean View WT1 1TD
Henry Hodgson 12 2 1963 132 Ocean View WT1 1TD
Holly Chapman 3 5 1990 375 Ocean View WT1 1TD
Holly Martin 1 10 1947 115 Ocean View WT1 1TD
Imogen Wilkins 19 4 1973 294 Ocean View WT1 1TD
Isaac Townsend 11 9 1971 138 Ocean View WT1 1TD
Isabella Wallis 22 5 1987 369 Ocean View WT1 1TD
Isabelle Error 15 2 1973 168 Ocean View NP1 1NP
Isabelle Error 15 2 1973 168 Ocean View NP1 1NP
Isabelle Taylor 5 7 1951 273 Ocean View WT1 1TD
Isabelle Vincent 19 9 1949 286 Ocean View WT1 1TD
Jake George 3 6 1977 260 Ocean View WT1 1TD
Jake Perkins 30 8 1978 285 Ocean View WT1 1TD
James Error 10 6 1978 4 Ocean View NP1 1NP
James Owen 23 2 1947 129 Ocean View WT1 1TD
James Smith 29 9 1977 314 Ocean View WT1 1TD
James Thorpe 10 6 1978 4 AB54 4PN
Jamie Error 15 8 1959 57 Ocean View NP1 1NP
Jamie Morton 19 8 1959 355 Ocean View WT1 1TD
Jane Error 27 7 1986 168 Ocean View NP1 1NP
Jasmine Lord 26 3 1949 103 Ocean View WT1 1TD
Jay Greenwood 14 6 1989 101 Ocean View WT1 1TD
Jennifer Error 3 11 1975 151 Ocean View NP1 1NP
Jessica Berry 29 1 1962 377 Ocean View WT1 1TD
Jodie Nolan 14 5 1967 152 Ocean View WT1 1TD
Jodie Woodward 29 6 1982 104 Ocean View WT1 1TD
Joe Sharpe 22 1 1965 87 Ocean View WT1 1TD
Joe Smith 10 5 1985 281 Ocean View WT1 1TD
Joe Waters 22 11 1991 362 Ocean View WT1 1TD
Joe West 21 11 1966 288 Ocean View WT1 1TD
John Bond 1 8 1948 123 Ocean View WT1 1TD
John Error 23 3 1956 45 Ocean View NP1 1NP
Jonathan Boyle 11 10 1983 120 Ocean View WT1 1TD
Jonathan Gibbons 28 3 1961 156 Ocean View WT1 1TD
Jonathan Newman 13 5 1985 93 Ocean View WT1 1TD
Jonny Miles 8 1 1943 2 99 IVT X34
Jordan McLean 14 10 1963 252 Ocean View WT1 1TD
Jordan Payne 28 12 1987 139 Ocean View WT1 1TD
Joshua Bryant 12 3 1977 274 Ocean View WT1 1TD
Katherine Cunningham 22 1 1987 155 Ocean View WT1 1TD
Katherine Stone 5 11 1972 157 Ocean View WT1 1TD
Katie Thornton 30 11 1977 315 Ocean View WT1 1TD
Keira Lamb 5 8 1948 109 Ocean View WT1 1TD
Kian Bartlett 30 7 1974 117 Ocean View WT1 1TD
Kian Morley 11 12 1972 372 Ocean View WT1 1TD
Kian Turnbull 13 6 1977 249 Ocean View WT1 1TD
Kiera Humphries 16 9 1985 297 Ocean View WT1 1TD
Kieran Collins 26 6 1970 258 Ocean View WT1 1TD
Laura Error 28 7 1965 33 Ocean View NP1 1NP
Laura Hewitt 5 10 1951 299 Ocean View WT1 1TD
Laura Sampson 11 3 1982 3 Oaklands BS1 1ST
Leman Russ 22 2 1942 49 BS4 1LT
Lewis Davey 5 10 1986 318 Ocean View WT1 1TD
Lewis Ingram 16 8 1976 140 Ocean View WT1 1TD
Liam Jackson 18 2 1985 277 Ocean View WT1 1TD
Libby Sharpe 23 2 1982 272 Ocean View WT1 1TD
Lilly Watson 24 12 1961 366 Ocean View WT1 1TD
Lily Error 9 3 1995 381 Ocean View NP1 1NP
Logan Douglas 1 6 1992 359 Ocean View WT1 1TD
Logan Fraser 11 10 1951 292 Ocean View WT1 1TD
Logan Pearce 6 3 1983 311 Ocean View WT1 1TD
Lola Turner 24 8 1981 291 Ocean View WT1 1TD
Louie Morrison 27 9 1984 356 Ocean View WT1 1TD
Louie Walters 5 2 1947 308 Ocean View WT1 1TD
Louis Poole 17 12 1980 354 Ocean View WT1 1TD
Louise Error 28 2 1987 567 Ocean View NP1 1NP
Louise Lucas 4 3 1984 269 Ocean View WT1 1TD
Luca Dale 12 11 1950 301 Ocean View WT1 1TD
Lydia Howe 30 5 1967 267 Ocean View WT1 1TD
Maddison Cox 7 11 1993 373 Ocean View WT1 1TD
Maisie Davey 11 10 1964 125 Ocean View WT1 1TD
Maisie Duffy 9 10 1966 276 Ocean View WT1 1TD
Mark Error 14 9 1938 800 Ocean View NP1 1NP
Martin Error 3 9 1987 63 Ocean View NP1 1NP
Mary Error 1 12 1991 32 Ocean View NP1 1NP
Mason Wallis 6 3 1981 88 Ocean View WT1 1TD
Matilda Hewitt 20 5 1963 278 Ocean View WT1 1TD
Matthew Dukes 10 2 1973 Willow BS3 2FF
Max Carpenter 19 11 1953 158 Ocean View WT1 1TD
Maya Burrows 23 1 1953 48 Ocean View WT1 1TD
Maya Harper 25 7 1981 256 Ocean View WT1 1TD
Mia Evans 14 10 1964 320 Ocean View WT1 1TD
Mia Holt 17 7 1972 151 Ocean View WT1 1TD
Millie Richards 18 6 1952 99 Ocean View WT1 1TD
Mohammed Collier 6 9 1996 368 Ocean View WT1 1TD
Molly Abbott 11 1 1973 248 Ocean View WT1 1TD
Morgan Hutchinson 10 10 1988 97 Ocean View WT1 1TD
Morgan Weston 17 2 1965 246 Ocean View WT1 1TD
Naomi Law 23 3 1971 313 Ocean View WT1 1TD
Natasha Pritchard 16 5 1976 87 Ponteland Rd PA6 0TH
Nicholas Chapman 7 7 1973 124 Ocean View WT1 1TD
Nicole Miles 23 12 1969 360 Ocean View WT1 1TD
Nicole Williamson 12 2 1976 379 WT1 1TD
Oliver Pickering 16 3 1986 358 Ocean View WT1 1TD
Oliver Watts 18 8 1982 346 Ocean View WT1 1TD
Olivia Godfrey 14 3 1974 353 Ocean View WT1 1TD
Olivia Jones 12 4 1964 296 Ocean View WT1 1TD
Oscar Doyle 11 1 1979 363 Ocean View WT1 1TD
Owen Talbot 11 4 1984 84 Ocean View WT1 1TD
Patrick Fleming 24 10 1947 98 Ocean View WT1 1TD
Reece Savage 15 9 1972 266 Ocean View WT1 1TD
Rhys Chadwick 2 5 1969 376 Ocean View WT1 1TD
Rhys Page 11 9 1950 283 Ocean View WT1 1TD
Rosie Duncan 1 2 1967 40 AB41 7YW
Ruby Smith 30 10 1951 161 Ocean View WT1 1TD
Ryan Howarth 26 12 1967 261 Ocean View WT1 1TD
Sam Error 7 5 1967 102 Ocean View NP1 1NP
Sam Foster 19 7 1952 275 Ocean View WT1 1TD
Sam Leach 27 2 1957 159 Ocean View WT1 1TD
Samantha Abbott 23 2 1966 137 Ocean View WT1 1TD
Samantha Stokes 2 5 1990 141 Ocean View WT1 1TD
Scott Buckley 3 6 1986 257 Ocean View WT1 1TD
Sean Pope 30 4 1972 282 Ocean View WT1 1TD
Sean Wheeler 30 6 1969 119 Ocean View WT1 1TD
Sophie Benson 16 4 1975 149 Ocean View WT1 1TD
Taylor Benson 21 3 1975 309 Ocean View WT1 1TD
Taylor Coles 6 7 1963 128 Ocean View WT1 1TD
Taylor Giles 19 6 1984 164 Ocean View WT1 1TD
Taylor Giles 19 6 1984
Tegan Steele 17 10 1952 110 Ocean View WT1 1TD
Thomas Holden 30 5 1952 305 Ocean View WT1 1TD
Toby Hussain 29 7 1958 371 Ocean View WT1 1TD
Toby Norton 1 11 1968 95 Ocean View WT1 1TD
Tom Dale 28 3 1957 131 Ocean View WT1 1TD
Tom Payne 8 5 1969 135 Ocean View WT1 1TD
Tom Smithersby 24 7 1958 12 BS11 5ST
William Byrne 14 2 1985 92 Ocean View WT1 1TD
Zak Carr 2 3 1985 243 Ocean View WT1 1TD
Zak Error 2 3 1985 243 Ocean View NP1 1NP
Za Randall 24 12 1960 284 Ocean View WT1 1TD

W2DataEkycUk007B


W2 Data Ekyc UK 007B is an identity verification service that includes the full Electoral Roll, CCJ and Credit Lenders data. This service will leave a money laundering footprint on the lenders profile of the person you are requesting information about.

Product Code: W2-DATA-EKYC-UK-007

Configuration

This service has some configuration that will be discussed with you as part of the on-boarding process. We can configure a matching profile and which sources of information to use when calculating a 2 plus 2 check. Please contact W2 Support for more information.

Query Data

The following Query Data properties pertain to this service. Please note that in the SOAP request the fields must be in alphabetical order.

Property Name Type Min Length Max Length Optional/Mandatory Accepted Characters
Forename String 1 15 Mandatory All apart from (new line ' - \ \\ ,)
MiddleNames String   15 Optional All apart from (new line ' - \ \\ ,)
Surname String 1 30 Mandatory All apart from (new line ' - \ \\ ,)
DayOfBirth Integer 1 2 Mandatory Numbers Only - greater than 0
MonthOfBirth Integer 1 2 Mandatory Numbers Only - greater than 0
YearOfBirth Integer 1 4 Mandatory Numbers Only - greater than 0
HouseName String   26 Optional  
HouseNumber String   26 Optional  
Flat String   20 Optional  
Street String   32 Optional  
Region String   20 Optional  
County String   18 Optional  
Country String   20 Optional  
City String   28 Optional  
Postcode String 1 8 Optional  

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

Notes

  • Address information is optional if an AddressLookupRef is supplied in the query options. The AddressLookupRef is retrieved from the W2 Data Address Lookup 024 service as an addressId.

  • If an AddressLookupRef is not supplied then a minimum of House Name/Number and Postcode are required. Though it is advised to supply as much address information as possible as this is more likely to return a match if no prematched addressId is supplied.

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

Request

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

Example Request - W2 Data Ekyc UK 007B

{
	"Bundle": "YOURBUNDLE",
	"Data": {
		"DayOfBirth": 22,
		"Forename": "Isabelle",
		"MonthOfBirth": 10,
		"Surname": "Davidson",
		"YearOfBirth": 1997
	},
	"Options":{
		"AddressLookupRef":"12345"
	}
}
<serviceRequest>
    <BundleData>
        <BundleName>{YOUR BUNDLE NAME HERE}</BundleName>
    </BundleData>
    <QueryData>
        <DayOfBirth>{e.g. 01}</DayOfBirth>
        <Forename>{e.g. JOHN}</Forename>
        <MiddleNames>{e.g. JAMES} </MiddleNames>
        <MonthOfBirth>{e.g. 01}</MonthOfBirth>
        <Surname>{e.g. SMITH}</Surname>
        <YearOfBirth>{e.g. 1990}</YearOfBirth>
    </QueryData>
    <QueryOptions>
        <KeyValueOfstringstring>
            <Key>{AddressLookupRef}</Key>
            <Value>{e.g. 12345}</Value>
        </KeyValueOfstringstring>
    </QueryOptions>
    <ServiceAuthorisation>
        <APIKey>{YOUR API KEY HERE}</APIKey>
        <ClientReference>{YOUR CLIENT REFERENCE HERE}</ClientReference>
    </ServiceAuthorisation>
</serviceRequest>

Response

Example Response - W2 Data Ekyc UK 007B

"w2DataEkycUk007BResult": {
	"dataSources": [{
		"AllowMultipleRecordsAsSeparateDataSources": false,
		"MatchingCriteria": "NameAndAddressAndDateOfBirth",
		"NumberOfMatches": 2,
		"Source": "CreditLendersB"
		}
	],
	"interpretResult": "Pass",
	"Message": "The call was successful",
	"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycUk007BResult>
	<DataSources>        
		<!-- An array of MatchingSource elements -->         
		<MatchingSource>            
			<AllowMultipleRecordsAsSeparateDataSources>  
				true or false  
			</AllowMultipleRecordsAsSeparateDataSources>
			<MatchingCriteria>
				NotAssigned or NameAndAddress or NameAndDateOfBirth or
				NameAndAddressAndDateOfBirth or MortalityHighConfidence or
				MortalityLowConfidence or SurnameAndPhoneNumberAtAddress
			</MatchingCriteria>
			<NumberOfMatches>
				0 - 99
			<NumberOfMatches>
			<Source>
				0 = NotAssigned
				1 = ElectoralRoll
				2 = CCJ
				3 = CreditLendersA
				4 = CreditLendersB
				5 = BT_OSIS
				6 = MortalityData
			<Source>
		</MatchingSource>
	</DataSources>
	<InterpretResult>
		NotPerformed or Pass or Fail or Refer or NoResults or
		OneResult or MultipleResults or NotApplicable or NoInterpretPerformed
	</InterpretResult>
	<Message>
	A message containing additional information about the call
	</Message>
	<TransactionResult>
	None or Success or SuccessNoResults or SuccessIncompleteResults or
	MultipleChoices or ClientErrorInformationFormatInvalid or ClientErrorInsufficientInformation or
	NotExecutedDueToPreviousHalt or ServerErrorGeneralError or ServiceFailureError
	</TransactionResult>
</W2DataEkycUk007BResult>

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

Below is some more information about the some of the elements of the response that require explanation:
DataSources = A collection showing every source of data that was used to formulate the result. Each source is represented by a <MatchingSource> element.
AllowMultipleRecordsAsSeparateDataSources = Indicates that two different record matches from the same data source may count as independent sources when formulating the 2 + 2 result. For example, two Insight results may count as two sources, rather than one, as they would do under normal service circumstances.

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

NumberOfMatches = The number of matches found by this data source

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

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

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

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

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

Example Response:

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

Example Response - W2 Data Ekyc UK 007B  

<W2DataEkycUk007BResult>
    <DataSources>
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>NameAndAddress</MatchingCriteria>
            <NumberOfMatches>1<NumberOfMatches>
            <Source>1<Source>
        </MatchingSource>
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>true</AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>NameAndAddressAndDateOfBirth</MatchingCriteria>
            <NumberOfMatches>3<NumberOfMatches>
            <Source>4<Source>
        </MatchingSource>
     </DataSources>
     <InterpretResult>Pass</InterpretResult>
     <Message />
     <TransactionResult>Success</TransactionResult>
</W2DataEkycUk007BResult>
"w2DataEkycUk007BResult": {
	"dataSources": [{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddress",
			"NumberOfMatches": 1,
			"Source": "ElectoralRoll"
		},
		{
			"AllowMultipleRecordsAsSeparateDataSources": true,
			"MatchingCriteria": "NameAndAddressAndDateOfBirth",
			"NumberOfMatches": 3,
			"Source": "CreditLendersB"
		}
	],
	"interpretResult": "Pass",
	"Message": "The call was successful",
	"transactionResult": "SuccessIncompleteResults"
}

Transaction Result

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

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

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

Sandbox

Example Request - W2 Data Ekyc 007B

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

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

Sandbox Example Cases

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

W2DataEkycUk015


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

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

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

Product Code: W2-DATA-EKYC-UK-015

Configuration

This service has some configuration that will be discussed with you as part of the on-boarding process. We can configure a matching profile and which sources of information to use when calculating a 2 plus 2 check. Please contact W2 Support for more information.

Query Data

The following Query Data properties pertain to this service. Please note that in the SOAP request the fields must be in alphabetical order.

Property Name Type Min Length Max Length Optional/Mandatory Accepted Characters
Title String   10 Optional All apart from (new line ' - \ \\ ,)
Forename String 1 15 Mandatory All apart from (new line ' - \ \\ ,)
MiddleNames String   15 Optional All apart from (new line ' - \ \\ ,)
Surname String 1 30 Mandatory All apart from (new line ' - \ \\ ,)
DayOfBirth Integer 1 2 Mandatory Numbers Only - greater than 0
MonthOfBirth Integer 1 2 Mandatory Numbers Only - greater than 0
YearOfBirth Integer 1 4 Mandatory Numbers Only - greater than 0
HouseName String 1 26 Either HouseName or  
HouseNumber String 1 26 HouseNumber is Mandatory  
Flat String   20 Optional  
Street String   40 Optional  
Region String   20 Optional  
County String   20 Optional  
Country String   20 Optional  
City String   20 Optional  
Postcode String 1 8 Mandatory  

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

Request

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

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

Footprint Configuration

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

Response

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

SOAP

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

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

DataSources = A collection showing every source of data that was used to formulate the result. Each source is represented by a 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 possibilities are Pass, Fail or Refer

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

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

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

Example Response - W2 Data Ekyc UK 15

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

Transaction Result

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

Product Code: W2-DATA-BANK_ACC_VER-UK-007

Query Data

The following QueryData elements pertain to this service.

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

 

Request

Example Request - W2 Data Bank Account Verification Uk 007

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

Response

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

Sample Response - W2 Data Bank Account Verification Uk 007

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

Example Response

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

Example Response - W2 Data Bank Account Verification Uk 007

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

Transaction Result

HaltTriggered Usually false, but can be true if this service is used within a bundle that can trigger a halt condition.
ServiceTransactionResult
  • 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.

Product Code: W2-DATA-MORTALITY-UK-035

Query Data

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

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

Request

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

Example Request

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

Response

Example Response

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

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


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

Example TransactionInformation result - W2 Data Mortality Uk 035

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

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

FailoverOverTo Did the service encounter a third party error, and fail over to an alternate service? (Not applicable for this service).
HaltTriggered Was there a halt condition included in the bundle that has been triggered.
ServiceInterpretResult - OneResult- MultipleResults- NoResults- NotPerformed - An error occurred and the search was not performed
ServiceTransactionResult - Success- SuccessNoResults- SuccessIncompleteResults - Too many matches generated, results truncated- ClientErrorInsufficientInformation Required field not supplied- 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": "Crescent Avenue",
      "Surname": "Goodwin",
      "YearOfBirth": 1941
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

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

Sandbox Example Cases

      (Click on a sandbox case to see the service result data here)
      
Forename Surname Day Of Birth Month Of Birth Year Of Birth Flat House Name/Number Street Postcode
Alex Goodwin 11 3 1941 81 Crescent Avenue PA33 7WB
Eve Hale 23 2 1963 14 Russell Road PE31 3AH
Oliver Quade 14 5 1969 5 Dover Road AB52 1RZ
Harvey Harris 24 7 1962 112 Wenlock Terrace CF2 1NN
Logan Glover 5 7 1988 80 Emerson Road DG2 6LY
Sofia Warner 7 9 1962 112 Stone St KA27 4TD

Id Check NL Alpha


ID Check NL Alpha is an identity verification service for Netherlands. It uses National Database, Telephone Directory, Passports and ID Card.

Product Code: W2-DATA-EKYC-NL-005

Properties

The following properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes
Forename String 15 Mandatory  
MiddleNames String 15 Optional  
Surname String 30 Mandatory  
Gender String   Optional Must be ‘M’ or ‘F’ if provided
DayOfBirth Integer 2 Mandatory  
MonthOfBirth Integer 2 Mandatory  
YearOfBirth Integer 4 Mandatory  
HouseName String 26 Mandatory if no HouseNumber given  
HouseNumber String 26 Mandatory if no HouseName given  
Street String 40 Mandatory  
County String 20 Optional  
City String 20 Mandatory  
Postcode String 8 Mandatory  
Phone Number String 16 Optional Please provide the phone number as one contiguous set of numbers with no other characters or spaces.

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

Response

Sample Response

"idCheckNLAlphaResult": {
            "individuals": {
                "individual": {
                    "addresses": {},
                    "individualSummary": {}
                },
                "summary": {
                    "decision": "-1",
                    "decisionReasons": {
                        "decisionReasonList": [
                            {
                                "decision": "-1",
                                "element": "Individual/IndividualSummary/DateOfBirthMatch"
                            },
                            {
                                "decision": "-1",
                                "element": "Individual/IndividualSummary/NameMatch"
                            }
                        ]
                    }
                },
                "type": "Result"
            },
            "searchRef": "dd66471d-8d8d-48e2-aafa-12a6c9b4c059",
            "summary": {
                "decisionMatrix": {
                    "code": "******",
                    "decision": {
                        "outcome": "1",
                        "reason": "Individual has only matched on name no address or DOB"
                    },
                    "name": "****************",
                    "rules": {
                        "ruleList": [
                            {
                                "id": "Individuals Datablock",
                                "name": "BSO/DEU/Bespoke/Nam/NameDOB",
                                "outcome": "-1",
                                "reason": "Individual has a full match to forename surname and DOB"
                            },
                            {
                                "id": "Telephony Datablock",
                                "name": "BSO/DEU/Bespoke/NamPremPC/ID/90/NameAddress",
                                "outcome": "-1",
                                "reason": "Individual has a full match to forename surname premise postcode"
                            }
                        ]
                    }
                },
                "kycSummary": {
                    "address": {
                        "count": "4"
                    },
                    "alerts": {
                        "count": "0"
                    },
                    "dateOfBirth": {
                        "count": "3"
                    },
                    "fullNameAndAddress": {
                        "count": "0"
                    },
                    "surnameAndAddress": {
                        "count": "0"
                    }
                },
                "reportSummary": {
                    "datablocksSummary": {
                        "datablockSummaryList": [
                            {
                                "decision": "1",
                                "name": "Individuals"
                            },
                            {
                                "decision": "",
                                "name": "Telephony"
                            }
                        ]
                    }
                }
            },
            "telephony": {
                "type": "NoMatch"
            }
        }
<IDCheckNLAlphaResult>
 <Individuals>
	<ErrorCode />
	<ErrorMessage />
	<Individual>
	   <Addresses>
		  <AddressList>
			 <AddressIndividuals>
				<CountryCode />
				<Current>0</Current>
				<PostTown />
				<Postcode />
				<Premise />
				<Street />
				<SubPremise />
				<TimeAtAddress />
			 </AddressIndividuals>
		  </AddressList>
	   </Addresses>
	   <IdentityDocuments />
	   <IndividualSummary>
		  <AddressMatch>0</AddressMatch>
		  <DateOfBirthMatch>0</DateOfBirthMatch>
		  <HighRiskAddressMatch>0</HighRiskAddressMatch>
		  <NameAndAddressMatch>0</NameAndAddressMatch>
		  <NameMatch>0</NameMatch>
		  <NoOfDateOfBirthMatch>0</NoOfDateOfBirthMatch>
		  <NoOfNameAddressMatch>0</NoOfNameAddressMatch>
		  <NoOfSurnameAddressMatch>0</NoOfSurnameAddressMatch>
		  <SurnameAndAddressMatch>0</SurnameAndAddressMatch>
		  <TelephoneNumberMatch>0</TelephoneNumberMatch>
		  <TotalNumberOfVerifications>0</TotalNumberOfVerifications>
	   </IndividualSummary>
	   <Person />
	   <Source />
	</Individual>
	<Summary>
	   <Decision>-1</Decision>
	   <DecisionReasons>
		  <DecisionReasonList>
			 <DecisionReasonIndividuals>
				<Decision>-1</Decision>
				<Element>Individual/IndividualSummary/HighRiskAddressMatch</Element>
			 </DecisionReasonIndividuals>
			 <DecisionReasonIndividuals>
				<Decision>-1</Decision>
				<Element>Individual/IndividualSummary/DateOfBirthMatch</Element>
			 </DecisionReasonIndividuals>
			 <DecisionReasonIndividuals>
				<Decision>-1</Decision>
				<Element>Individual/IndividualSummary/NoOfDateOfBirthMatch</Element>
			 </DecisionReasonIndividuals>
			 <DecisionReasonIndividuals>
				<Decision>-1</Decision>
				<Element>Individual/IndividualSummary/NameMatch</Element>
			 </DecisionReasonIndividuals>
			 <DecisionReasonIndividuals>
				<Decision>-1</Decision>
				<Element>Individual/IndividualSummary/NoOfSurnameAddressMatch</Element>
			 </DecisionReasonIndividuals>
			 <DecisionReasonIndividuals>
				<Decision />
				<Element>Individual/IndividualSummary/NameAndAddressMatch</Element>
			 </DecisionReasonIndividuals>
			 <DecisionReasonIndividuals>
				<Decision>-1</Decision>
				<Element>Individual/IndividualSummary/NoOfNameAddressMatch</Element>
			 </DecisionReasonIndividuals>
			 <DecisionReasonIndividuals>
				<Decision>-1</Decision>
				<Element>Individual/IndividualSummary/SurnameAndAddressMatch</Element>
			 </DecisionReasonIndividuals>
			 <DecisionReasonIndividuals>
				<Decision>-1</Decision>
				<Element>Individual/IndividualSummary/AddressMatch</Element>
			 </DecisionReasonIndividuals>
			 <DecisionReasonIndividuals>
				<Decision>-1</Decision>
				<Element>Individual/IndividualSummary/TotalNumberOfVerifications</Element>
			 </DecisionReasonIndividuals>
		  </DecisionReasonList>
	   </DecisionReasons>
	</Summary>
	<Type>Result</Type>
 </Individuals>
 <Passport />
 <SearchRef>F2AFE92E-9182-4F34-9807-A27A79780F3C</SearchRef>
 <Summary >
	<DecisionMatrix>
	   <Code>W2DMNLD</Code>
	   <Decision>
		  <Outcome>-1</Outcome>
		  <Reason>Please reprocess search</Reason>
	   </Decision>
	   <Name>W2 Global Netherlands Decision Matrix</Name>
	   <Rules>
		  <RuleList>
			 <Rule>
				<Code />
				<Id>Other-2723</Id>
				<Name>BSO/NLD/NamAddGT2</Name>
				<Outcome/>
				<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
			 </Rule>
			 <Rule>
				<Code />
				<Id>Other-2762</Id>
				<Name>BSO/NLD/NameAddGT2</Name>
				<Outcome/>
				<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
			 </Rule>
			 <Rule>
				<Code />
				<Id>KYC Datablock-2928</Id>
				<Name>BSO/NLD/NamDOB/NamAdd</Name>
				<Outcome/>
				<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
			 </Rule>
			 <Rule>
				<Code />
				<Id>KYC Datablock-2927</Id>
				<Name>BSO/NLD/NamAdd/NamDOB</Name>
				<Outcome/>
				<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
			 </Rule>
			 <Rule>
				<Code />
				<Id>Other-2724</Id>
				<Name>BSO/NLD/NamAdd1</Name>
				<Outcome/>
				<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
			 </Rule>
			 <Rule>
				<Code />
				<Id>Other-2725</Id>
				<Name>BSO/NLD/NameMatchOnly</Name>
				<Outcome/>
				<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
			 </Rule>
			 <Rule>
				<Code />
				<Id>KYC Datablock-1017</Id>
				<Name>KYC/AnyDatabase/Result</Name>
				<Outcome/>
				<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
			 </Rule>
		  </RuleList>
	   </Rules>
	</DecisionMatrix>
	<KYCSummary>
	   <Address>
		  <Count>0</Count>
	   </Address>
	   <Alerts>
		  <Count>0</Count>
	   </Alerts>
	   <DateOfBirth>
		  <Count>0</Count>
	   </DateOfBirth>
	   <FullNameAndAddress>
		  <Count>0</Count>
	   </FullNameAndAddress>
	   <SurnameAndAddress>
		  <Count>0</Count>
	   </SurnameAndAddress>
	</KYCSummary>
	<ReportSummary>
	   <DatablocksSummary>
		  <DatablockSummaryList>
			 <DatablockSummary>
				<Decision>-1</Decision>
				<Name>Individuals</Name>
			 </DatablockSummary>
			 <DatablockSummary>
				<Decision/>
				<Name>Telephony</Name>
			 </DatablockSummary>
		  </DatablockSummaryList>
	   </DatablocksSummary>
	</ReportSummary>
 </Summary>
 <Telephony>
	<ErrorCode>100</ErrorCode>
	<ErrorMessage>Unable to determine the geographical area</ErrorMessage>
	<Summary />
	<TelephonyRecord />
	<Type>Error</Type>
 </Telephony>
</IDCheckNLAlphaResult>

Sandbox

Query options for Sandbox

"options": {
	"sandbox": "true"
}
<QueryOptions>
  <KeyValueOfstringstring>
    <Key>Sandbox</Key>
    <Value>true</Value>
  </KeyValueOfstringstring>
</QueryOptions>

City: “Stein”
DayOfBirth: 14
Forename: “Michael”
HouseNumber: 241
MonthOfBirth: 7
PhoneNumber: “0619154863”
Postcode: “6171KK”
Street: “Stadhouderslaan”
Surname: “Meuleberg”
YearOfBirth: 1975

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceInterpretResult: NotApplicable
ServiceTransactionResult: Success
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: Pass
City: “Hague”
DayOfBirth: 12
Forename: “Thomas”
HouseNumber: 61
MonthOfBirth: 5
Postcode: “2522HK”
Street: “Boele van Hensbroekstraat”
Surname: “Duisenberg”
YearOfBirth: 1981

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceInterpretResult: Fail
ServiceTransactionResult: Success
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: Pass
HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: NotApplicable
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: NoValidationPerformed

ID Check ZA Alpha


ID Check ZA Alpha is an identity verification service for South Africa.

Product Code: W2-DATA-EKYC-ZA-005

Properties

The following properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes
Forename String 15 Mandatory  
MiddleNames String 15 Optional  
Surname String 30 Mandatory  
Gender String   Optional Must be ‘M’ or ‘F’ if provided
DayOfBirth Integer 2 Optional Day, month and year birth components must all have a value, or all be null.
MonthOfBirth Integer 2 Optional Day, month and year birth components must all have a value, or all be null.
YearOfBirth Integer 4 Optional Day, month and year birth components must all have a value, or all be null.
HouseName String 26 Mandatory if no HouseNumber given  
HouseNumber String 26 Mandatory if no HouseName given  
Street String 40 Mandatory  
County String 20 Optional  
City String 20 Optional  
Postcode String 8 Mandatory  
Phone Number String 16 Optional Please provide the phone number as one contiguous set of numbers with no other characters or spaces.
National ID String 20 Mandatory South African national ID number for resident

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

Response

Sample Response

"idCheckZAAlphaResult": {
            "individuals": {
                "individual": {
                    "addresses": {},
                    "individualSummary": {}
                },
                "summary": {
                    "decision": "-1",
                    "decisionReasons": {
                        "decisionReasonList": [
                            {
                                "decision": "-1",
                                "element": "Individual/IndividualSummary/DateOfBirthMatch"
                            },
                            {
                                "decision": "-1",
                                "element": "Individual/IndividualSummary/NameMatch"
                            }
                        ]
                    }
                },
                "type": "Result"
            },
            "searchRef": "e74c23da-fd62-42e6-87ef-8055d1952155",
            "summary": {
                "decisionMatrix": {
                    "code": "******",
                    "decision": {
                        "outcome": "1",
                        "reason": "Individual has only matched on name no address or DOB"
                    },
                    "name": "****************",
                    "rules": {
                        "ruleList": [
                            {
                                "id": "Individuals Datablock",
                                "name": "BSO/DEU/Bespoke/Nam/NameDOB",
                                "outcome": "-1",
                                "reason": "Individual has a full match to forename surname and DOB"
                            },
                            {
                                "id": "Telephony Datablock",
                                "name": "BSO/DEU/Bespoke/NamPremPC/ID/90/NameAddress",
                                "outcome": "-1",
                                "reason": "Individual has a full match to forename surname premise postcode"
                            }
                        ]
                    }
                },
                "kycSummary": {
                    "address": {
                        "count": "4"
                    },
                    "alerts": {
                        "count": "0"
                    },
                    "dateOfBirth": {
                        "count": "3"
                    },
                    "fullNameAndAddress": {
                        "count": "0"
                    },
                    "surnameAndAddress": {
                        "count": "0"
                    }
                },
                "reportSummary": {
                    "datablocksSummary": {
                        "datablockSummaryList": [
                            {
                                "decision": "1",
                                "name": "Individuals"
                            }
                        ]
                    }
                }
            }
        }
<IDCheckZAAlphaResult>
	 <Individuals>
		<ErrorCode>101</ErrorCode>
		<ErrorMessage>MISSING OR WRONG ENTRY: National ID number must be exactly 13 digits;
    			</ErrorMessage>
		<Individual />
		<Summary />
		<Type>Error</Type>
	 </Individuals>
	 <Passport/>
	 <SearchRef>4AA2ADEC-2821-47B5-A165-0C04CF1FBB5D</SearchRef>
	 <Summary>
		<DecisionMatrix>
		   <Code>W2DMZAF</Code>
		   <Decision>
			  <Outcome>-1</Outcome>
			  <Reason>No Matches Have Been Found Individual Has Not Passed Our Requirements
        			</Reason>
		   </Decision>
		   <Name>W2 Global South African DM</Name>
		   <Rules>
			  <RuleList>
				 <Rule>
					<Code />
					<Id>ProveID KYC-3051</Id>
					<Name>BSO/ZAF/NameAddressDOB/IDMismatch</Name>
					<Outcome/>
					<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
				 </Rule>
				 <Rule>
					<Code />
					<Id>ProveID KYC-3048</Id>
					<Name>BSO/ZAF/NameAddressDOB/v2</Name>
					<Outcome/>
					<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
				 </Rule>
				 <Rule>
					<Code />
					<Id>ProveID KYC-3050</Id>
					<Name>BSO/ZAF/NamePremPCodeDOB/v2</Name>
					<Outcome/>
					<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
				 </Rule>
				 <Rule>
					<Code />
					<Id>ProveID KYC-3052</Id>
					<Name>BSO/ZAF/NameDOBOnly</Name>
					<Outcome/>
					<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
				 </Rule>
				 <Rule>
					<Code />
					<Id>Other-3005</Id>
					<Name>BSO/AnyDatabase/Error</Name>
					<Outcome/>
					<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
				 </Rule>
				 <Rule>
					<Code />
					<Id>ProveID-2777</Id>
					<Name>BSO/AnyDatabase/Result</Name>
					<Outcome/>
					<Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
				 </Rule>
			  </RuleList>
		   </Rules>
		</DecisionMatrix>
		<KYCSummary>
		   <Address />
		   <Alerts />
		   <DateOfBirth />
		   <FullNameAndAddress />
		   <SurnameAndAddress />
		</KYCSummary>
		<ReportSummary>
		   <DatablocksSummary>
			  <DatablockSummaryList>
				 <DatablockSummary>
					<Decision/>
					<Name>Individuals</Name>
				 </DatablockSummary>
			  </DatablockSummaryList>
		   </DatablocksSummary>
		</ReportSummary>
	 </Summary>
</IDCheckZAAlphaResult>

Sandbox

DayOfBirth: 15
Forename: “JOHN”
HouseNumber: 10
MonthOfBirth: 3
NationalId: “5603155113083”
Postcode: “6229”
Street: “RUDDLE”
Surname: “WILLING”
YearOfBirth: 1956

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceInterpretResult: Pass
ServiceTransactionResult: Success
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: Pass
DayOfBirth: 28
Forename: “SANJIN”
HouseNumber: 941
MonthOfBirth: 7
NationalId: “8797458748572”
Postcode: “3614”
Street: “STATION ROAD”
Surname: “STANKOVIC”
YearOfBirth: 1933

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceInterpretResult: Fail
ServiceTransactionResult: Success
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: Pass

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceInterpretResult: NotApplicable
ServiceTransactionResult: Success
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: Pass

ID Check AT Bravo


IDCheckATBravo is an identity verification service for Austria.

Product Code: W2-DATA-EKYC-AT-012

Properties

The following properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes
Forename String 30 Mandatory Can contain multiple forenames (separated by a space) if appropriate
MiddleNames String 15 Optional  
Surname String 30 Mandatory  
DayOfBirth Integer 2   Day, month and year birth components must all have a value, or all be null.
MonthOfBirth Integer 2   Day, month and year birth components must all have a value, or all be null.
YearOfBirth Integer 4   Day, month and year birth components must all have a value, or all be null.
HouseName String 26 Optional  
HouseNumber String 26 Optional  
Street String 255 Mandatory  
City String 100 Mandatory  
Postcode String 8 Mandatory This must be four numeric digits. e.g. “1150”
PhoneNumber String   Optional  
MobileNumber String   Optional  
Gender String   Optional Must be ‘M’ or ‘F’

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

Response

Example Response

<IDCheckATBravoResult>
 <AddressMatchResultType>MATCH</AddressMatchResultType>
 <ReferenceNumber>4086000153992802</ReferenceNumber>
</IDCheckATBravoResult>

The following table gives some more details about the response. 

Property Name Type Description
AddressMatchResultType  String Result on whether an address match has been found.
ReferenceNumber String A reference number for the check.

Notes

AddressMatchType Represents the type of match.

Value Description
MATCH A Match can be found.
CANDIDATES Partial matches have been found.

 

Sandbox

Example Request - ID Check AT Bravo

{
    "Bundle": "KYC_AT_012",
    "Data": {
        "Forename": "Michael",
        "Surname": "Tschank",
        "HouseNumber": "51",
        "Street": "Nobilegasse",
        "City":"Wien",
        "Postcode": "1150"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}
City: “Wien”
Forename: “Michael”
HouseNumber: “51”
Postcode: “1150”
Street: “Nobilegasse”
Surname: “Tschank”

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: Pass
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: Pass

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: Inconclusive
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: Pass

ID Check CH Bravo


ID Check CH Bravo is an identity verification service for Switzerland.

Product Code: W2-DATA-EKYC-CH-012

Properties

The following properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes
Forename String 30 Mandatory Can contain multiple forenames (separated by a space) if appropriate
MiddleNames String 15 Optional  
Surname String 30 Mandatory  
DayOfBirth Integer 2   Day, month and year birth components must all have a value, or all be null.
MonthOfBirth Integer 2   Day, month and year birth components must all have a value, or all be null.
YearOfBirth Integer 4   Day, month and year birth components must all have a value, or all be null.
HouseName String 26 Optional  
HouseNumber String 26 Optional  
Street String 255 Mandatory  
City String 100 Mandatory  
Postcode String 8 Mandatory This must be four numeric digits. e.g. “1219”
PhoneNumber String   Optional  
MobileNumber String   Optional  
Gender String   Optional Must be ‘M’ or ‘F’

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

Response

<IDCheckCHBravoResult>
 <AddressMatchResultType>MATCH</AddressMatchResultType>
 <ReferenceNumber>4086000153992802</ReferenceNumber>
</IDCheckCHBravoResult>

The following table gives some more details about the response.   

Property Name Type Description
AddressMatchResultType  String Result on whether an address match has been found.
ReferenceNumber String A reference number for the check.

 

Notes

AddressMatchType Represents the type of match.

Value Description
MATCH A Match can be found.
CANDIDATES Partial matches have been found.

 

Sandbox

Example Request - ID Check CH Bravo

{
    "Bundle": "KYC_CH_012",
    "Data": {
        "Forename": "Michael",
        "Surname": "Tschank",
        "HouseNumber": "51",
        "Street": "Nobilegasse",
        "City":"Wien",
        "Postcode": "1150"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}
City: “Le Lignon”
DayOfBirth: 9
Forename: “Alain”
HouseNumber: “1”
MonthOfBirth: 9
Postcode: “1219”
Street: “Avenue du Lignon”
Surname: “Paipaz”
YearOfBirth: 2000

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: Pass
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: Pass

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: Inconclusive
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: Pass

ID Check CZ Bravo


ID Check CZ Bravo is an identity verification service for the Czech Republic.

Product Code: W2-DATA-EKYC-CZ-012

Properties

The following properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes
Forename String 30 Mandatory Can contain multiple forenames (separated by a space) if appropriate
MiddleNames String 15 Optional  
Surname String 30 Mandatory  
DayOfBirth Integer 2 Optional Day, month and year birth components must all have a value, or all be null.
MonthOfBirth Integer 2 Optional Day, month and year birth components must all have a value, or all be null.
YearOfBirth Integer 4 Optional Day, month and year birth components must all have a value, or all be null. 
HouseName String 26 See notes  
HouseNumber String 26 See notes  
Street String 40 See notes  
Region String 2 Optional  
City String 20 Mandatory  
Postcode String 8 Mandatory  
PhoneNumber String   Optional  
MobileNumber String   Optional  
Gender String   Optional Must be ‘M’ or ‘F’

Notes

If this information is applicable it should be provided as not providing it might lead to a non-match. E.g. If an address has a house number then it should be provided, not providing it might lead to a non-match.

Response

Sample Response

"idCheckCZBravoResult": {
	"addressMatchResultType": "MATCH",
	"referenceNumber": "4674000102754739"
}
<IDCheckCZBravoResult>
 <AddressMatchResultType>MATCH</AddressMatchResultType>
 <ReferenceNumber>4086000153992802</ReferenceNumber>
</IDCheckCZBravoResult>

The following table gives some more details about the response. 

Property Name Type Description
AddressMatchResultType  String Result on whether an address match has been found.
ReferenceNumber String A reference number for the check

Notes

AddressMatchType Represents the type of match.

Value Description 
MATCH A Match can be found.
NO_MATCH A Match has not been found.

Sandbox

Example Request - ID Check CZ Bravo

{
    "Bundle": "KYC_CZ_012",
    "Data": {
        "Forename": "Michael",
        "Surname": "Tschank",
        "HouseNumber": "51",
        "Street": "Nobilegasse",
        "City":"Wien",
        "Postcode": "1150"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}
City: “Praha”
DayOfBirth: 23
Forename: “David”
HouseNumber: “1”
MonthOfBirth: 8
PostCode: 11908
Street: “Zitna”
Surname: “Schovanec”
YearOfBirth: 1986

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: Pass
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: Pass

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: Inconclusive
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: Pass

ID Check DE Bravo


ID Check DE Bravo is an identity verification service for Germany.

Product Code: W2-DATA-EKYC-DE-012

Properties

The following properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes
Forename String 30 Mandatory Can contain multiple forenames (separated by a space) if appropriate
MiddleNames String 15 Optional  
Surname String 30 Mandatory  
DayOfBirth Integer 2   Day, month and year birth components must all have a value, or all be null.
MonthOfBirth Integer 2   Day, month and year birth components must all have a value, or all be null.
YearOfBirth Integer 4   Day, month and year birth components must all have a value, or all be null.
HouseName String 26 Optional  
HouseNumber String 26 Optional  
Street String 255 Mandatory  
City String 100 Mandatory  
Postcode String 8 Mandatory This must be four numeric digits. e.g. “1219”
PhoneNumber String   Optional  
MobileNumber String   Optional  
Gender String   Optional Must be ‘M’ or ‘F’

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

Response

Sample Response

"idCheckDEBravoResult": {
	"addressMatchResultType": "MATCH",
	"referenceNumber": "4086000153992802"
}
<IDCheckDEBravoResult>
 <AddressMatchResultType>MATCH</AddressMatchResultType>
 <ReferenceNumber>4086000153992802</ReferenceNumber>
</IDCheckDEBravoResult>

The following table gives some more details about the response. 

Property Name Type Description
AddressMatchResultType  String Result on whether an address match has been found.
ReferenceNumber String A reference number for the check.

Notes

AddressMatchType Represents the type of match.

Value  Description
MATCH A Match can be found.
CANDIDATES Partial matches have been found.

Sandbox

Example Request - ID Check DE Bravo

{
    "Bundle": "KYC_DE_012",
    "Data": {
        "Forename": "Michael",
        "Surname": "Tschank",
        "HouseNumber": "51",
        "Street": "Nobilegasse",
        "City":"Wien",
        "Postcode": "1150"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}
City: “FRANKFURT”
DayOfBirth: “12”
Forename: “HEIKO”
HouseNumber: “15”
MonthOfBirth: 07
Postcode: “60325”
Street: “SCHUMANNSTR”
Surname: “GRASSMANN”
YearOfBirth: 1985

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: Pass
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: Pass

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: Inconclusive
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: Pass

ID Check IT Bravo


IDCheckITBravo is an identity verification service for Italy. It draws data from a proprietary database, historical fraud archive and telephone and address directory.

Product Code: W2-DATA-EKYC-IT-012

Properties

The following properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes  
Forename String 30 Mandatory Can contain multiple forenames (separated by a space) if appropriate  
MiddleNames String 15 Optional    
Surname String 30 Mandatory    
DayOfBirth Integer 2 See notes Day, month and year birth components must all have a value, or all be null.  
MonthOfBirth Integer 2 See notes Day, month and year birth components must all have a value, or all be null.  
YearOfBirth Integer 4 See notes Day, month and year birth components must all have a value, or all be null.  
HouseName String 26 Mandatory if no HouseNumber given    
HouseNumber String 26 Mandatory if no HouseName given    
Street String 40 Mandatory    
County String 2 Mandatory Province. This must be provided as the two character ISO code. e.g. “BG” for Bergamo. See provinces of Italy (Wikipedia).  
Region String 2 Optional If included, this must be provided as the two digit ISO code. e.g. “62” for Lazio. See regions of Italy (Wikipedia).  
City String 20 Mandatory    
Postcode String 8 Mandatory This must be five numeric digits. e.g. “00040”  
TaxCode String   See notes Codice Fiscale  
PlaceOfBirth String   See notes Municipality of birth  
** PhoneNumber** String   Optional Must be preceded by the area code in brackets: e.g. (0123) 565 555 44
MobileNumber String   Optional    
Gender String   Mandatory Must be ‘M’ or ‘F’  

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

Response

Sample Response

"idCheckITBravoResult": {
	"addressMatchResultType": "MATCH",
	"referenceNumber": "4086000153992802"
}
<IDCheckITBravoResult>
 <AddressMatchResultType>MATCH</AddressMatchResultType>
 <ReferenceNumber>4086000153992802</ReferenceNumber>
</IDCheckITBravoResult>

The following table gives some more details about the response. 

Property Name Type Description
AddressMatchResultType  String Result on whether an address match has been found.
ReferenceNumber String A reference number for the check.

Notes

AddressMatchType
Represents the type of match.

Value  Description
MATCH A Match can be found.
NO_MATCH A Match has not been found.

Sandbox

Example Request - ID Check IT Bravo

{
    "Bundle": "KYC_IT_012",
    "Data": {
        "Forename": "Michael",
        "Surname": "Tschank",
        "HouseNumber": "51",
        "Street": "Nobilegasse",
        "City":"Wien",
        "Postcode": "1150"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}
City: “ROMA”
County: “BM”
Forename: “FILIPPO”
Gender: “M”
HouseNumber: “90”
Postcode: “00133”
Street: “DOMENICO BECCAFUMI”
Surname: “BANGRAZI”
TaxCode: “BNGFPP40T05C390C”

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: Pass
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: Pass

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: Inconclusive
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: Pass

ID Check SK Bravo


IDCheckSKBravo is an identity verification service for the Slovak Republic.

Product Code: W2-DATA-EKYC-SK-012

Properties

The following properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes
Forename String 30 Mandatory Can contain multiple forenames (separated by a space) if appropriate
MiddleNames String 15 Optional  
Surname String 30 Mandatory  
DayOfBirth Integer 2 Optional Day, month and year birth components must all have a value, or all be null.
MonthOfBirth Integer 2 Optional Day, month and year birth components must all have a value, or all be null.
YearOfBirth Integer 4 Optional Day, month and year birth components must all have a value, or all be null.
HouseName String 26 See notes  
HouseNumber String 26 See notes  
Street String 40 See notes  
Region String 2 Optional  
City String 20 Mandatory  
Postcode String 8 Mandatory  
PhoneNumber String   Optional  
MobileNumber String   Optional  
Gender String   Optional Must be ‘M’ or ‘F’

Notes

If this information is applicable it should be provided as not providing it might lead to a non-match. E.g. If an address has a house number then it should be provided, not providing it might lead to a non-match.

Response

Sample Response

"IDCheckSKBravoResult": {
	"addressMatchResultType": "MATCH",
	"referenceNumber": "4086000153992802"
}
<IDCheckSKBravoResult>
 <AddressMatchResultType>MATCH</AddressMatchResultType>
 <ReferenceNumber>4086000153992802</ReferenceNumber>
</IDCheckSKBravoResult>

  The following table gives some more details about the response. 

Property Name Type Description
AddressMatchResultType  String Result on whether an address match has been found.
ReferenceNumber String A reference number for the check. 

AddressMatchType
Represents the type of match.

Value Description
MATCH A Match can be found.
NO_MATCH A Match has not been found.

Sandbox

Example Request - ID Check SK Bravo

{
    "Bundle": "KYC_SK_012",
    "Data": {
        "Forename": "Michael",
        "Surname": "Tschank",
        "HouseNumber": "51",
        "Street": "Nobilegasse",
        "City":"Wien",
        "Postcode": "1150"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}
City: “Bojnice”
DayOfBirth: 11
Forename: “Marek”
MonthOfBirth: 12
PostCode: 81106
Street: “STUROVA”
Surname: “Reiter”
YearOfBirth: 1971

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: Pass
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: Pass 

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: Inconclusive
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: NotPerformed

W2 Data Ekyc SCANDI 025


This service can be used for identity checks in Sweden, Norway and Denmark. It uses Bank ID to confirm an individual’s identity.

This service works slightly differently from our other services in that it runs asynchronously and has a two step process. First you will need to send us the identity to check. We will process this information and return a URL for Bank ID verification. The user will need to navigate to this URL in a browser and complete the Bank ID process there. Once this form is completed the user will be redirected to a URL of your choice.

When the Bank ID form is complete W2 will send a notification with the results of the identity check. We can either notify by email or send an HTTP POST to an endpoint of your choice.

You can force the service to skip the Bank ID process by specifying the SkipScandiBankId QueryOption. This will return the result immediately. The response will only contain information from our supplier’s database and not a full Bank ID check but is still considered a full two plus two check.

Product Code: W2_DATA_EKYC_SCANDI_025

Configuration 

Before using this service you will need to let W2 know the following:

  1. Notification Preference: Whether you would prefer to be notified by email, HTTP POST or both.
  2. Email Address: If you want to be notified by email then we need to know which email address to use.
  3. Notification URL: If you want to be notified by HTTP POST then we need to know a URL to use. see here for more information.
  4. FormattingType: By default if we send an HTTP POST it will be JSON, we can also do XML if prefered.

Request

For this service we require the following information. Please note that:

  1. Most of the required data is supplied in the <QueryData> object as usual, but we also require a redirect URL be supplied in the <QueryOptions> see below.
  2. In an actual SOAP request the data should be supplied in alphabetical order.

Query Data

Property Name Type Length Optional/Mandatory Notes
Forename String 15 Mandatory  
Surname String 15 Mandatory  
City String 30 Mandatory  
Country String 3 Mandatory This must be a 3 character ISO Country code. This service only accepts SWE, DNK or NOR. i.e. Sweden, Denmark or Norway
HouseName String 30 Mandatory if no HouseNumber given  
HouseNumber String 30 Mandatory if no HouseName given  
Street String 30 Mandatory  
Region String 30 Optional  
Post Code String 10 Mandatory  
Day of Birth Integer 2 Mandatory  
Month of Birth Integer 2 Mandatory  
Year of Birth Integer 4 Mandatory  
NationalId String  15 Optional  
DateOfBirthMatchThreshold Integer 2 Optional This can be used to specify the percentage match for date of birth matches. For example if you put 90 in this field then we will consider a 90% match on date of birth to be a pass, when we calculate the interpret result.
NameQueryMatchThreshold Integer 2 Optional This can be used to specify the percentage match for name matches. For example if you put 90 in this field then we will consider a 90% match on name to be a pass, when we calculate the interpret result.

Query Options

Property Name Optional/Mandatory Notes
RedirectUrl Mandatory This is the URL the user will be redirected to after they have filled in the Bank ID form.
** **   
SkipScandiBankId Optional If this is set to “true” then the service will not supply a url for a Bank ID form. It will simply send whatever information is available as per your notification settings.
AddressMatchThreshold Optional 0-100, specifies the required level of matching in the address.

Example Request

Sample Request

{
	"Data": {
		"City": "BILLDAL",
		"Country": "SWE",
		"DayOfBirth": 4,
		"Forename": "SIRI",
		"HouseNumber": "47",
		"MonthOfBirth": 6,
		"Postcode": "21725",
		"Street": "ERIKSBO VÄSTERGÄRDE 47",
		"Surname": "Petersen",
		"YearOfBirth": 1952,
		"NationalId": "23434645634"
	},
	"Options": {
		"RedirectUrl": "https://MY_WEBSITE"
	}
}
    <QueryData>
        <City>BILLDAL</City>
        <Country>SWE</Country>
        <DayOfBirth>04</DayOfBirth>
        <Forename>SIRI</Forename>
        <MonthOfBirth>06</MonthOfBirth>
        <NationalId>23434645634</NationalId>
        <Postcode>21725</Postcode>
        <Region></Region>
        <Street>ERIKSBO VÄSTERGÄRDE 47</Street>
        <Surname>Petersen</Surname>
        <YearOfBirth>1952</YearOfBirth>
    </QueryData>
    <QueryOptions>
        <KeyValueOfstringstring>
            <Key>RedirectUrl</Key>
            <Value>https://{MY_WEBSITE}</Value>
        </KeyValueOfstringstring>
    </QueryOptions>

Example Response

Sample Response

"w2DataEkycScandi025Result": {
	"bankIdFormUrl": "https://test.zignsec.com/v2/Hosted/some guid here",
	"interpretResult": "NotPerformed",
	"message": "Please complete the form at the supplied URL."
}
    <W2DataEkycScandi025Result>
        <Message>Please complete the form at the supplied URL</Message>
        <BankIdFormUrl>
            https://test.zignsec.com/v2/Hosted/{some guid here}
        </BankIdFormUrl>
    </W2DataEkycScandi025Result>

Sample Response - ID check skipped contains a two plus two result

"w2DataEkycScandi025Result": {
      	"interpretResult": "Pass",
      	"message": "Name and Address match found.",
      	"twoPlusTwoCheckResult": {
      		"matchResult": "OnePlusOne",
      		"nameAndAddressMatch": true,
      		"nameAndDateOfBirthMatch": false
      	}
      }
 <W2DataEkycScandi025Result >
 <BankIdFormUrl/>
 <InterpretResult>Pass<InterpretResult>
 <Message>Name and Address match found.<Message>
 <TwoPlusTwoCheckResult >
 <IndependentDataSources/>
 <MatchResult>OnePlusOne<MatchResult>
 <NameAndAddressMatch>true<NameAndAddressMatch>
 <NameAndDateOfBirthMatch>false<NameAndDateOfBirthMatch>
 <TwoPlusTwoCheckResult>
 <W2DataEkycScandi025Result>

Sample Response - No Interpretation, successful transaction

       "serviceTransactions": [{
       		"haltTriggered": false,
       		"service": "W2_DATA_EKYC_SCANDI_025",
       		"serviceInterpretResult": "Fail",
       		"serviceTransactionResult": "Success",
       		"validationResult": "Pass"
       	}
       ]
    <ServiceTransactionInformation>
        <FailedOverTo i:nil="true"/>
        <HaltTriggered>false</HaltTriggered>
        <Service>W2_DATA_EKYC_SCANDI_025</Service>
        <ServiceInterpretResult>NotPerformed</ServiceInterpretResult>
        <ServiceTransactionResult>Success</ServiceTransactionResult>
        <ServiceTransactionResultMessage i:nil="true"/>
        <ServiceValidationDetails i:nil="true"/>
        <ValidationResult>Pass</ValidationResult>
    </ServiceTransactionInformation>

Completing the Request

Once the query has finished, you should be returned a generated URL within the <BankIdFormUrl> tags, you can use this to navigate to the page, and on this page there is a Bank ID login page. Once the user has successfully logged into their Bank ID (and by doing so, authorised you to use their data), the page will redirect to the URL you have previously specified. The system will then return a notification to you in the form of an e-mail, or a POST to an endpoint.

Notfication

When the Bank ID form has been completed W2 will attempt to notify you. We can either send an email or POST to an endpoint.

The email will look something like this:

/ missing image /

The post will be JSON and contains information from the verification process. We can also supply in XML if required, contact W2 support to configure this. The following is an example JSON response:

POST

{  
   "EventType":"ApiV3ServiceResponse",
   "ClientReference":"The client reference from the original call",
   "CallReference":"The call reference from the original call",
   "ClientSubaccount":"The client subaccount from the original call",
   "ServiceResults":{  
      "W2DataEkycScandi025":{  
         "InterpretResult":"PASS | FAIL | REFER | ERROR",
         "CallId":"A unique identifier for the call",
         "TwoPlusTwoResult":{  
            "MatchResult":"TwoPlusTwo | TwoPlusOne | OnePlusOne",
            "NameAndAddressMatch": true | false,
            "NameAndDateOfBirthMatch":true | false,
            "IndependentDataSources":true | false | null
         },
         "Message":"The status of the response",
         "NameAndAddressMessage":"The status of the name and address match in the two plus two check",
         "NameAndDateOfBirthMessage":"The status of the name and date of birth match in the two plus two check"
      }
   },
   "TransactionInformation":{  
      "ServiceTransactions":[  
         {  
            "Service":"W2_DATA_EKYC_SCANDI_025",
            "ServiceInterpretResult":"PASS | FAIL | REFER | ERROR",
            "ServiceTransactionResult":"Success | Fail"
         }
      ]
   }
}

W2 Data EKYC US 005


W2 Data EKYC US 005 is an identity verification service for the USA. It uses Credit Reference Data, Telephone Directory, Passports and ID Card. This service will leave a credit lenders footprint.

Product Code: W2-DATA-EKYC-US-005

Query Data

The following QueryData elements pertain to this service.

Property Name Type Length Optional/Mandatory Notes
Forename String 15 Mandatory  
MiddleNames String 15 Optional  
Surname String 30 Mandatory  
Gender String   Optional Must be ‘M’ or ‘F’ if provided
DayOfBirth Integer 2 Optional  
MonthOfBirth Integer 2 Optional  
YearOfBirth Integer 4 Optional  
HouseName String 26 Mandatory if no HouseNumber given  
HouseNumber String 26 Mandatory if no HouseName given  
Street String 255 Mandatory  
Region String 2 Mandatory Must be a USA state code in two letter format, e.g. “OH”
City String 100 Mandatory  
Postcode String 5 Mandatory Must be five numeric digits
Phone Number String 16 Optional Please provide the phone number as one contiguous set of numbers with no other characters or spaces.
PersonalId String 11 Optional Personal ID is US Social Security Number and can be in any one of the three formats:’xxx-xx-xxxx’ or ‘xxx xx xxxx’ or ‘xxxxxxxxx’

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

Request

Example Request

<QueryData>
 <City>BURLESON</City>
 <Forename>DARRELL</Forename>
 <Gender>M</Gender>
 <HouseNumber>2624</HouseNumber>
 <PhoneNumber>8174473203</PhoneNumber>
 <Postcode>76028</Postcode>
 <Region>TX</Region>
 <Street>CASTLE PINES DR</Street>
 <Surname>BOEDEKER</Surname>
</QueryData>
    "Data": {
    	"City": "BURLESON",
    	"DayOfBirth": 15,
    	"Forename": "DARRELL",
    	"HouseNumber": "3782",
    	"MonthOfBirth": 2,
    	"Postcode": "35203",
    	"Region": "AL",
    	"Street": "Broad Street",
    	"Surname": "Ketron",
    	"YearOfBirth": 1977
    }

Response

Example Response

<W2DataEkycUs005Result>
 <CreditReference />
 <DriverLicence />
 <Passport />
 <SearchRef>F4C330D5-20AF-458A-8CE3-38C38A787F65</SearchRef>
 <Summary>
   <DecisionMatrix>
     <Code>W2DMUSA</Code>
     <Decision>
       <Outcome>0</Outcome>
       <Reason>Individual has matched name and address to the Credit Reference</Reason>
     </Decision>
     <Name>W2 Decision Matrix USA</Name>
     <Rules>
       <RuleList>
         <!-- THERE WILL BE MANY OF THESE -->
         <Rule>
           <Code />
           <Id>CreditReference Datablock USA-2690</Id>
           <Name>BSO/USA/CRA/Fraud</Name>
           <Outcome />
           <Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
         </Rule>
       </RuleList>
     </Rules>
   </DecisionMatrix>
   <KYCSummary>
     <Address>
       <Count>3</Count>
     </Address>
     <Alerts>
       <Count>0</Count>
     </Alerts>
     <DateOfBirth>
       <Count>0</Count>
     </DateOfBirth>
     <FullNameAndAddress>
       <Count>3</Count>
     </FullNameAndAddress>
     <SurnameAndAddress>
       <Count>3</Count>
     </SurnameAndAddress>
   </KYCSummary>
   <ReportSummary>
     <DatablocksSummary>
       <DatablockSummaryList>
     <DatablockSummary>
           <Decision />
           <Name>Telephony</Name>
         </DatablockSummary>
         <DatablockSummary>
           <Decision />
           <Name>Telephony</Name>
         </DatablockSummary>
         <DatablockSummary>
           <Decision>-1</Decision>
           <Name>CreditReference</Name>
         </DatablockSummary>
       </DatablockSummaryList>
     </DatablocksSummary>
   </ReportSummary>
 </Summary>
 <Telephony>
   <ErrorCode />
   <ErrorMessage />
   <Summary />
   <TelephonyRecord />
   <Type>NoMatch</Type>
 </Telephony>
</W2DataEkycUs005Result>
"w2DataEkycUs005Result": {
	"creditReference": {
		"creditReferenceRecords": {
			"creditReferenceRecordList": [{
					"addresses": {
						"addressList": [{
								"countryCode": "USA",
								"postTown": "Birmingham",
								"postcode": "35203",
								"premise": "3782",
								"region": "AL",
								"street": "Broad Street"
							}
						]
					},
					"person": {
						"dateOfBirth": "1977-02-15",
						"name": {
							"forename": "Cassie",
							"surname": "Ketron"
						}
					}
				}
			]
		},
		"creditReferenceSummary": {
			"idVerified": "1"
		},
		"summary": {
			"decision": "1",
			"decisionReasons": {
				"decisionReasonList": [{
						"decision": "1",
						"element": "CreditReferenceSummary/IDVerified"
					}, {
						"decision": "1",
						"element": "CreditReferenceRecord/Person/Name/Forename"
					}, {
						"decision": "1",
						"element": "CreditReferenceRecord/Person/Name/Surname"
					}, {
						"decision": "1",
						"element": "CreditReferenceRecord/Person/DateOfBirth"
					}, {
						"decision": "1",
						"element": "CreditReferenceRecord/Addresses/Address/@Current"
					}, {
						"decision": "1",
						"element": "CreditReferenceRecord/Addresses/Address/Premise"
					}, {
						"decision": "1",
						"element": "CreditReferenceRecord/Addresses/Address/Street"
					}, {
						"decision": "1",
						"element": "CreditReferenceRecord/Addresses/Address/PostTown"
					}, {
						"decision": "1",
						"element": "CreditReferenceRecord/Addresses/Address/Postcode"
					}
				]
			}
		}
	},
	"searchRef": "37873fcc-6281-4913-b6df-5f26497abfab",
	"summary": {
		"decisionMatrix": {
			"code": "******",
			"decision": {
				"outcome": "1",
				"reason": "Individual has a full match to forename surname premise postcode with ID verified and DOB"
			},
			"name": "****************",
			"rules": {
				"ruleList": [{
						"id": "CreditReference Datablock",
						"name": "BSO/USA/Bespoke/Nam/NameDOB",
						"outcome": "1",
						"reason": "Individual has a full match to forename surname and DOB"
					}, {
						"id": "Telephony Datablock",
						"name": "BSO/USA/Bespoke/NamPremPC/ID/90/NameAddress",
						"outcome": "1",
						"reason": "Individual has a full match to forename surname premise postcode"
					}
				]
			}
		},
		"kycSummary": {
			"address": {
				"count": "4"
			},
			"alerts": {
				"count": "0"
			},
			"dateOfBirth": {
				"count": "3"
			},
			"fullNameAndAddress": {
				"count": "1"
			},
			"surnameAndAddress": {
				"count": "0"
			}
		},
		"reportSummary": {
			"datablocksSummary": {
				"datablockSummaryList": [{
						"decision": "1",
						"name": "CreditReference"
					}, {
						"decision": "1",
						"name": "Telephony"
					}
				]
			}
		}
	},
	"telephony": {
		"summary": {
			"decision": "1",
			"decisionReasons": {
				"decisionReasonList": [{
						"decision": "1",
						"element": "TelephonyRecord/Person/Name/Forename"
					}, {
						"decision": "1",
						"element": "TelephonyRecord/Person/Name/Surname"
					}, {
						"decision": "1",
						"element": "TelephonyRecord/Address/Premise"
					}, {
						"decision": "1",
						"element": "TelephonyRecord/Address/Postcode"
					}
				]
			}
		},
		"telephonyRecord": {
			"address": {
				"countryCode": "USA",
				"current": "1",
				"postTown": "Birmingham",
				"postcode": "35203",
				"premise": "3782",
				"region": "AL",
				"street": "Broad Street"
			},
			"person": {
				"name": {
					"forename": "Cassie",
					"surname": "Ketron"
				}
			},
			"telephones": {
				"telephoneList": [{
						"customerType": "R",
						"listingType": "DQ",
						"number": "205-458-6981",
						"type": "U"
					}
				]
			}
		},
		"type": "Result"
	}
}

The following tables give more detail about the various response elements:

Property Name Type Description
SearchRef String Unique identifier for this search
Summary Summary Summary of information returned from various data sources
Telephony TelephonyResult Results of check from telephone records
DriverLicence DriverLicenceResult Results of check from driving licence records
Passport PassportResult Results of check from passport records
CreditReference CreditReferenceResult Results of credit check

Summary

Property Name Type Description
KYCSummary KYCSummary Summary of KYC result
ReportSummary ReportSummary Summary of individual source checks
DecisionMatrix DecisionMatrix Block containing 2 + 2 matching result

KYCSummary

Property Name Type Description
FullNameAndAddress FullNameAndAddressKYCSummary Count of name+address matches
SurnameAndAddress SurnameAndAddressKYCSummary Count of surname+address matches
Address AddressKYCSummary Count of address matches found
DateOfBirth DateOfBirthKYCSummary Count of date of birth matches
Alerts AlertsKYCSummary Count of alert matches found

Report Summary
A report summary contains a few nested items that resemble the follwoing:

Report Summary

"reportSummary": {
	"datablocksSummary": {
		"datablockSummaryList": [{
				"decision": "1",
				"name": "CreditReference"
			}, {
				"decision": "1",
				"name": "Telephony"
			}
		]
	}
}
<ReportSummary>  
  <DatablocksSummary>
    <!-- Can contain multiple DatablockSummary elements -->
    <DatablockSummary>
      <Name>{ Name of the source }</Name>
      <Decision>{ Result (1: Pass, 0: Refer, -1: Fail) }</Decision>
    </DatablockSummary>
  </DatablocksSummary>
</ReportSummary>

Decision Matrix
Block containing 2 + 2 matching result.

Decision Matrix

	"decisionMatrix": {
		"code": "******",
		"decision": {
			"outcome": "1",
			"reason": "Individual has a full match to forename surname premise postcode with ID verified and DOB"
		},
		"name": "****************",
		"rules": {
			"ruleList": [{
					"id": "CreditReference Datablock",
					"name": "BSO/USA/Bespoke/Nam/NameDOB",
					"outcome": "1",
					"reason": "Individual has a full match to forename surname and DOB"
				}, {
					"id": "Telephony Datablock",
					"name": "BSO/USA/Bespoke/NamPremPC/ID/90/NameAddress",
					"outcome": "1",
					"reason": "Individual has a full match to forename surname premise postcode"
				}
			]
		}
	}
<DecisionMatrix>
  <Code>W2DMUSA</Code>
  <!-- Decision: Contains final result of 2 + 2 matching -->  <Decision>    <!-- Outcome: Final result of 2 + 2 matching -->
    <Outcome>-1</Outcome>    <!-- Reason: Explanation for result-->
    <Reason>Customer Has Not Passed Our Requirements - No Matches Found</Reason>
  </Decision>
  <Name>W2 Decision Matrix USA</Name>  <!-- Rules: List of checks that contributed to 2 + 2 matching result -->
  <Rules>
    <RuleList>
      <!-- A collection of rule elements-->	         <Rule>
        <Code />
        <Id>CreditReference Datablock USA-2709</Id>
        <Name>BSO/USA/Bespoke/Nam/DOBAddress/Mismatch</Name>
        <Outcome />
        <Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
      </Rule>
    </RuleList>
  </Rules>
</DecisionMatrix>

Sandbox

Query options for Sandbox

"options": {
	"sandbox": "true"
}
<QueryOptions>
  <KeyValueOfstringstring>
    <Key>Sandbox</Key>
    <Value>true</Value>
  </KeyValueOfstringstring>
</QueryOptions>
City: “Birmingham”
DayOfBirth: 15
Forename: “Cassie”
HouseNumber: “3782”
MonthOfBirth: 02
Postcode: “35203”
Region: “AL”
Street: “Broad Street”
Surname: “Ketron”
YearOfBirth: 1977

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: Pass
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: NotApplicable
City: “Pittsburgh”
DayOfBirth: 18
Forename: “Erika”
HouseNumber: “4200”
MonthOfBirth: 07
Postcode: “15219”
Region: “PA”
Street: “Losh Lane”
Surname: “Oneil”
YearOfBirth: 1980

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: Fail
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: Pass

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: NotApplicable
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: NotApplicable

W2 Data EKYC CA 005


W2 Data EKYC CA 005 is an identity verification service for Canada. It uses Credit Reference Data, Telephone Directory, Passports and ID Card. This service will leave a credit lenders footprint.

Product Code: W2-DATA-EKYC-CA-005

Query Data

The following QueryData elements pertain to this service.

Property Name Type Length Optional/Mandatory Notes
Forename String 15 Mandatory  
MiddleNames String 15 Optional  
Surname String 30 Mandatory  
Gender String   Optional Must be ‘M’ or ‘F’ if provided
DayOfBirth Integer 2 Optional  
MonthOfBirth Integer 2 Optional  
YearOfBirth Integer 4 Optional  
HouseName String 26 Mandatory if no HouseNumber given  
HouseNumber String 26 Mandatory if no HouseName given  
Street String 255 Mandatory  
Region String 2 Mandatory Must be a Canadian province code in two letter format, e.g. “AB”
City String 100 Mandatory  
Postcode String 5 Mandatory  
Phone Number String 16 Optional Please provide the phone number as one contiguous set of numbers with no other characters or spaces.
PersonalId String 11 Optional Personal ID is US Social Security Number and can be in either of these formats:’xxx-xxx-xxx’ or  ’xxxxxxxxx’

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

Request

Example Request

<QueryData>
 <City>Edmonton</City>
 <Forename>Robert</Forename>
 <Gender>M</Gender>
 <HouseNumber>3688</HouseNumber>
 <Postcode>T5J 2R4</Postcode>
 <Region>AB</Region>
 <Street>184th Street</Street>
 <Surname>Beck</Surname>
</QueryData>
"Data": {
	"City": "Edmonton",
	"DayOfBirth": 12,
	"Forename": "Robert",
	"HouseNumber": "3688",
	"MonthOfBirth": 12,
	"Postcode": "T5J 2R4",
	"Region": "AB",
	"Street": "184th Street",
	"Surname": "Beck",
	"YearOfBirth": 1969
}

Response

Example Response

<W2DataEkycUs005Result>
 <CreditReference />
 <DriverLicence />
 <Passport />
 <SearchRef>F4C330D5-20AF-458A-8CE3-38C38A787F65</SearchRef>
 <Summary>
   <DecisionMatrix>
     <Code>W2DMCAN</Code>
     <Decision>
       <Outcome>0</Outcome>
       <Reason>Individual has matched name and address to the Credit Reference</Reason>
     </Decision>
     <Name>W2 Global Canadian DM</Name>
     <Rules>
       <RuleList>
         <!-- THERE WILL BE MANY OF THESE -->
         <Rule>
           <Code />
           <Id>CreditReference Datablock USA-2690</Id>
           <Name>BSO/CAN/CRA/Fraud</Name>
           <Outcome />
           <Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
         </Rule>
       </RuleList>
     </Rules>
   </DecisionMatrix>
   <KYCSummary>
     <Address>
       <Count>3</Count>
     </Address>
     <Alerts>
       <Count>0</Count>
     </Alerts>
     <DateOfBirth>
       <Count>0</Count>
     </DateOfBirth>
     <FullNameAndAddress>
       <Count>3</Count>
     </FullNameAndAddress>
     <SurnameAndAddress>
       <Count>3</Count>
     </SurnameAndAddress>
   </KYCSummary>
   <ReportSummary>
     <DatablocksSummary>
       <DatablockSummaryList>
     <DatablockSummary>
           <Decision />
           <Name>Telephony</Name>
         </DatablockSummary>
         <DatablockSummary>
           <Decision />
           <Name>Telephony</Name>
         </DatablockSummary>
         <DatablockSummary>
           <Decision>-1</Decision>
           <Name>CreditReference</Name>
         </DatablockSummary>
       </DatablockSummaryList>
     </DatablocksSummary>
   </ReportSummary>
 </Summary>
 <Telephony>
   <ErrorCode />
   <ErrorMessage />
   <Summary />
   <TelephonyRecord />
   <Type>NoMatch</Type>
 </Telephony>
</W2DataEkycUs005Result>
"w2DataEkycCa005Result": {
	"creditReference": {
		"creditReferenceRecords": {
			"creditReferenceRecordList": [{
					"addresses": {
						"addressList": [{
								"countryCode": "CAN",
								"postTown": "Edmonton",
								"postcode": "T5J 2R4",
								"premise": "3688",
								"region": "AB",
								"street": "184th Street"
							}
						]
					},
					"person": {
						"dateOfBirth": "1969-12-12",
						"name": {
							"forename": "Robert",
							"surname": "Beck"
						}
					}
				}
			]
		},
		"creditReferenceSummary": {
			"idVerified": "1"
		},
		"summary": {
			"decision": "1",
			"decisionReasons": {
				"decisionReasonList": [{
						"decision": "1",
						"element": "CreditReferenceSummary/IDVerified"
					}, {
						"decision": "1",
						"element": "CreditReferenceRecord/Person/Name/Forename"
					}, {
						"decision": "1",
						"element": "CreditReferenceRecord/Person/Name/Surname"
					}, {
						"decision": "1",
						"element": "CreditReferenceRecord/Person/DateOfBirth"
					}, {
						"decision": "1",
						"element": "CreditReferenceRecord/Addresses/Address/@Current"
					}, {
						"decision": "1",
						"element": "CreditReferenceRecord/Addresses/Address/Premise"
					}, {
						"decision": "1",
						"element": "CreditReferenceRecord/Addresses/Address/Street"
					}, {
						"decision": "1",
						"element": "CreditReferenceRecord/Addresses/Address/PostTown"
					}, {
						"decision": "1",
						"element": "CreditReferenceRecord/Addresses/Address/Postcode"
					}
				]
			}
		}
	},
	"searchRef": "37873fcc-6281-4913-b6df-5f26497abfab",
	"summary": {
		"decisionMatrix": {
			"code": "******",
			"decision": {
				"outcome": "1",
				"reason": "Individual has a full match to forename surname premise postcode with ID verified and DOB"
			},
			"name": "****************",
			"rules": {
				"ruleList": [{
						"id": "CreditReference Datablock",
						"name": "BSO/CAN/Bespoke/Nam/NameDOB",
						"outcome": "1",
						"reason": "Individual has a full match to forename surname and DOB"
					}, {
						"id": "Telephony Datablock",
						"name": "BSO/CAN/Bespoke/NamPremPC/ID/90/NameAddress",
						"outcome": "1",
						"reason": "Individual has a full match to forename surname premise postcode"
					}
				]
			}
		},
		"kycSummary": {
			"address": {
				"count": "4"
			},
			"alerts": {
				"count": "0"
			},
			"dateOfBirth": {
				"count": "3"
			},
			"fullNameAndAddress": {
				"count": "1"
			},
			"surnameAndAddress": {
				"count": "0"
			}
		},
		"reportSummary": {
			"datablocksSummary": {
				"datablockSummaryList": [{
						"decision": "1",
						"name": "CreditReference"
					}, {
						"decision": "1",
						"name": "Telephony"
					}
				]
			}
		}
	},
	"telephony": {
		"summary": {
			"decision": "1",
			"decisionReasons": {
				"decisionReasonList": [{
						"decision": "1",
						"element": "TelephonyRecord/Person/Name/Forename"
					}, {
						"decision": "1",
						"element": "TelephonyRecord/Person/Name/Surname"
					}, {
						"decision": "1",
						"element": "TelephonyRecord/Address/Premise"
					}, {
						"decision": "1",
						"element": "TelephonyRecord/Address/Postcode"
					}
				]
			}
		},
		"telephonyRecord": {
			"address": {
				"countryCode": "CAN",
				"current": "1",
				"postTown": "Edmonton",
				"postcode": "T5J 2R4",
				"premise": "3688",
				"region": "AB",
				"street": "184th Street"
			},
			"person": {
				"name": {
					"forename": "Robert",
					"surname": "Beck"
				}
			},
			"telephones": {
				"telephoneList": [{
						"customerType": "R",
						"listingType": "DQ",
						"number": "780-916-3124",
						"type": "U"
					}
				]
			}
		},
		"type": "Result"
	}
}

The following tables give more detail about the various response elements:

Property Name Type Description
SearchRef String Unique identifier for this search
Summary Summary Summary of information returned from various data sources
Telephony TelephonyResult Results of check from telephone records
DriverLicence DriverLicenceResult Results of check from driving licence records
Passport PassportResult Results of check from passport records
CreditReference CreditReferenceResult Results of credit check

Summary

Property Name Type Description
KYCSummary KYCSummary Summary of KYC result
ReportSummary ReportSummary Summary of individual source checks
DecisionMatrix DecisionMatrix Block containing 2 + 2 matching result

KYCSummary

Property Name Type Description
FullNameAndAddress FullNameAndAddressKYCSummary Count of name+address matches
SurnameAndAddress SurnameAndAddressKYCSummary Count of surname+address matches
Address AddressKYCSummary Count of address matches found
DateOfBirth DateOfBirthKYCSummary Count of date of birth matches
Alerts AlertsKYCSummary Count of alert matches found

Report Summary
A report summary contains a few nested items that resemble the follwoing:

Report Summary

<ReportSummary>  
  <DatablocksSummary>
    <!-- Can contain multiple DatablockSummary elements -->
    <DatablockSummary>
      <Name>{ Name of the source }</Name>
      <Decision>{ Result (1: Pass, 0: Refer, -1: Fail }</Decision>
    </DatablockSummary>
  </DatablocksSummary>
</ReportSummary>
"reportSummary": {
	"datablocksSummary": {
		"datablockSummaryList": [{
				"decision": "1",
				"name": "CreditReference"
			}, {
				"decision": "1",
				"name": "Telephony"
			}
		]
	}
}

Decision Matrix Block containing 2 + 2 matching result.

Decision Matrix

"decisionMatrix": {
	"code": "******",
	"decision": {
		"outcome": "1",
		"reason": "Individual has a full match to forename surname premise postcode with ID verified and DOB"
	},
	"name": "****************",
	"rules": {
		"ruleList": [{
				"id": "CreditReference Datablock",
				"name": "BSO/CAN/Bespoke/Nam/NameDOB",
				"outcome": "1",
				"reason": "Individual has a full match to forename surname and DOB"
			}, {
				"id": "Telephony Datablock",
				"name": "BSO/CAN/Bespoke/NamPremPC/ID/90/NameAddress",
				"outcome": "1",
				"reason": "Individual has a full match to forename surname premise postcode"
			}
		]
	}
}
<DecisionMatrix>
  <Code>W2DMCAN</Code>
  <!-- Decision: Contains final result of 2 + 2 matching -->  <Decision>    <!-- Outcome: Final result of 2 + 2 matching -->
    <Outcome>-1</Outcome>    <!-- Reason: Explanation for result-->
    <Reason>Customer Has Not Passed Our Requirements - No Matches Found</Reason>
  </Decision>
  <Name>W2 Decision Matrix USA</Name>  <!-- Rules: List of checks that contributed to 2 + 2 matching result -->
  <Rules>
    <RuleList>
      <!-- A collection of rule elements-->	         <Rule>
        <Code />
        <Id>CreditReference Datablock USA-2709</Id>
        <Name>BSO/CAN/Bespoke/Nam/DOBAddress/Mismatch</Name>
        <Outcome />
        <Reason>Reason Not Applicable as Outcome Not Triggered</Reason>
      </Rule>
    </RuleList>
  </Rules>
</DecisionMatrix>

Sandbox

Query options for Sandbox

"options": {
	"sandbox": "true"
}
<QueryOptions>
  <KeyValueOfstringstring>
    <Key>Sandbox</Key>
    <Value>true</Value>
  </KeyValueOfstringstring>
</QueryOptions>
City: “Edmonton”
DayOfBirth: 12
Forename: “Robert”
HouseNumber: “3688”
MonthOfBirth: 12
Postcode: “T5J 2R4”
Region: “AB”
Street: “184th Street”
Surname: “Beck”
YearOfBirth: 1969

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: Pass
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: NotApplicable
City: “Ottawa”
DayOfBirth: 06
Forename: “Paul”
HouseNumber: “4414”
MonthOfBirth: 03
Postcode: “K1P 5J4”
Region: “ON”
Street: “Thurston Dr”
Surname: “Shea”
YearOfBirth: 1993

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: Fail
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: NotApplicable

The corresponding entry in ServiceTransactions will show the following properties:

HaltTriggered: False
ServiceTransactionResult: Success
ServiceInterpretResult: NotApplicable
ServiceTransactionResultMessage: “This call was generated using sandbox mode”
ValidationResult: NotApplicable

W2 Data EKYC AU 029


W2 Data EKYC AU 029 is an identity verification service for Australia. W2 will combine several sources of data to make a match. We have a default setup for how we combine sources to make a match, which can be configured if needed. Please contact W2 support for more details.

Product Code: W2-DATA-EKYC-AU-029

Query Data

The following QueryData elements pertain to this service.

Property Name Type Length Optional/Mandatory Notes
Forename String 15 Mandatory  
MiddleNames String 15 Optional  
Surname String 30 Mandatory  
Gender String   Optional Must be ‘M’ or ‘F’ if provided
DayOfBirth Integer 2 Mandatory  
MonthOfBirth Integer 2 Mandatory  
YearOfBirth Integer 4 Mandatory  
HouseName String 26 Mandatory if no HouseNumber given  Minimum address fields are HouseName or Housenumber as well as the postcode. We advise that more address information be sent if possible as this will improve the chances of a match
HouseNumber String 26 Mandatory if no HouseName given  
Street String 255 Optional  
Region String 255 Optional  
City String 100 Optional  
Postcode String 5 Mandatory  
Phone Number String 16 Optional Please provide the phone number as one contiguous set of numbers with no other characters or spaces.
NationalId String 30 Optional  

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

Request

Example Request

"Data": {
	"City": "Kilmore",
	"DayOfBirth": 1,
	"Forename": "John",
	"Gender": "M",
	"HouseNumber": "1",
	"Postcode": "1234",
	"Region": "VIC",
	"Street": "High Street",
	"Surname": "Smith",
	"YearOfBirth": 1980
}
<QueryData>
  <City>Kilmore</City>
  <DayOfBirth>01</DayOfBirth>
  <Forename>John</Forename>
  <Gender>M</Gender>
  <HouseNumber>1</Houseumber>
  <Postcode>1234</Postcode>
  <Region>VIC</Region>
  <Street>High Street</Street>
  <Surname>Smith</Surname>
  <YearOfBirth>1980</YearOfBirth>
</QueryData>

Response

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

Sample Response

"w2DataEkycAU029Result": {
	"dataSources": [{
		"AllowMultipleRecordsAsSeparateDataSources": false,
		"MatchingCriteria": "NameAndAddress",
		"NumberOfMatches": 1,
		"Source": "Credit"
		}
	],
	"interpretResult": "Pass",
	"Message": "The call was successful",
	"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycAU029Result>
    <DataSources>
        <!-- An array of MatchingSource elements --> 
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>
                { true | false }
            </AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>
                { 
                    NotAssigned | NameAndAddress | NameAndDateOfBirth |
                    NameAndAddressAndDateOfBirth | MortalityHighConfidence | 
                    MortalityLowConfidence | SurnameAndPhoneNumberAtAddress
                }
            </MatchingCriteria>
            <NumberOfMatches>           
                { 0 - 99 }
            <NumberOfMatches>
            <Source>
               {
                    8  = Credit
                    9  = Goverment
                    10 = Commercial
                    11 = Consumer
                    12 = Utility
                    13 = Proprietary
                    14 = Teleco
                    15 = Postal
                }            
            <Source>
        </MatchingSource>
    </DataSources>
    <InterpretResult>
        { 
            NotPerformed | Pass | Fail | Refer | NotApplicable | NoInterpretPerformed 
        }
    </InterpretResult>
    <Message>
        { A message containing additional information about the call }
    </Message>
    <TransactionResult>
        {
            None | Success | SuccessNoResults | SuccessIncompleteResults |
            MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
            NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
        }
    </TransactionResult>
</W2DataEkycAU029Result>

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

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

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

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

NumberOfMatches = The number of matches found by this data source

Source = An integer representing the source of the data match. E.g. 8 = Credit

SourceId Source Matched Notes
8 Credit Established credit agencies in the country (Coverage: > 90%; Update Frequency: Daily)
9 Government Electoral data, driver’s license or history (Coverage: > 90%; Update Frequency: Daily)
10 Commercial Insurance Records, Business Directory, Tenancy Information (Coverage:  > 50%; Update Frequency: Quarterly )
11 Consumer Public Records, Citizen Data sources, marketing and membership data (the AA etc) (Coverage:  > 50%; Update Frequency: Quarterly )
12 Utility Data issued for a national utility provider which includes telephone, gas, electricity, or water. (Coverage: > 90%; Update Frequency:  Annually)
13 Proprietary  
14 Teleco Public Number Directory (Coverage: > 75%; Update Frequency:  Annually)
15 Postal  
** **  

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

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

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

Example Response

Examples on the side show a case where we have found one NameAndAddress match on the Government and 3 NameAndAddressAndDateOfBirth matches on Commercial. This has resulted in a Pass.

Sample Response

"w2DataEkycAU029Result": {
	"dataSources": [{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddress",
			"NumberOfMatches": 1,
			"Source": "Utility"
		},
		{
			"AllowMultipleRecordsAsSeparateDataSources": true,
			"MatchingCriteria": "NameAndAddressAndDateOfBirth",
			"NumberOfMatches": 3,
			"Source": "Credit"
		}
	],
	"interpretResult": "Pass",
	"Message": "The call was successful",
	"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycAU029Result>
    <DataSources>
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>NameAndAddress</MatchingCriteria>
            <NumberOfMatches>1<NumberOfMatches>
            <Source>9<Source>
        </MatchingSource>
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>NameAndAddressAndDateOfBirth</MatchingCriteria>
            <NumberOfMatches>3<NumberOfMatches>
            <Source>10<Source>
        </MatchingSource>
     </DataSources>
     <InterpretResult>Pass</InterpretResult>
     <Message />
     <TransactionResult>Success</TransactionResult>
</W2DataEkycAU029Result>

Transaction Result

HaltTriggered False
ServiceTransactionResult - Success
- SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated
- SuccessNoResults - No matches found
- ServerErrorGeneralError - An error occurred
- ServiceFailureError- Unable to contact third party service
- ClientErrorInsufficientInformationRequired field not supplied or insufficient/invalid information
ServiceInterpretResult - OneResult
- MultipleResults
- Fail
- NoResults
- NoInterpretPerformed
- NotPerformedAn error occurred and the search was not performed
ServiceTransactionResultMessage Usually empty, can contain optional information such as too many matches etc.
ValidationResult - Pass
- NotPerformed - No search occurred to match against- Fail
MissingMandatoryField or PatternNotMatched 

Sandbox

Example Request - W2 Data Ekyc AU 029

{
    "Bundle": "KYC_AU_029",
    "Data": {
        "Forename": "Michael",
        "Surname": "Tschank",
        "HouseNumber": "51",
        "Street": "Nobilegasse",
        "City":"Wien",
        "Postcode": "1150"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

Sandbox Example Cases

        (Click on a sandbox case to see the service result data here)
        
Forename Surname Day Of Birth Month Of Birth Year Of Birth Flat House Name/Number Street Postcode
Bailey Flynn 30 12 1979 90 Sunset Drive 4730
Cody Rene 12 2 1986 73 Moruya Street 2484
Hayley Allwood 5 4 1990 76 Sale Street 1934
Isabel Fitchett 8 1 1976 78 Gregory Way 6220
Joseph James 10 11 1965 43 Davis Street 4055
Liam Parkes 25 8 1980 52 Parkes Road 3012
Lincoln Barrow 3 5 1956 59 Lewin Street 2655
Ryan Highett 17 9 1949 15 Tanner Street 946

W2 Data EKYC DK 029


W2 Data EKYC DK 029 is an identity verification service for Denmark. W2 will combine several sources of data to make a match. We have a default setup for how we combine sources to make a match, which can be configured if needed. Please contact W2 support for more details.

Product Code: W2-DATA-EKYC-DK-029

Query Data

The following QueryData elements pertain to this service.

Property Name Type Length Optional/Mandatory Notes
Forename String 15 Mandatory  
MiddleNames String 15 Optional  
Surname String 30 Mandatory  
Gender String   Optional Must be ‘M’ or ‘F’ if provided
DayOfBirth Integer 2 Mandatory  
MonthOfBirth Integer 2 Mandatory  
YearOfBirth Integer 4 Mandatory  
HouseName String 26 Mandatory if no HouseNumber given  Minimum address fields are HouseName or Housenumber as well as the postcode. We advise that more address information be sent if possible as this will improve the chances of a match
HouseNumber String 26 Mandatory if no HouseName given  
Street String 255 Optional  
Region String 255 Optional  
City String 100 Optional  
Postcode String 5 Mandatory  
Phone Number String 16 Optional Please provide the phone number as one contiguous set of numbers with no other characters or spaces.
NationalId String 30 Optional  

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

Request

Example Request

  "Data": {
  	"City": "Copenhagen",
  	"DayOfBirth": 1,
  	"Forename": "Johann",
  	"Gender": "M",
  	"HouseNumber": "1",
  	"Postcode": "8600",
  	"Region": "Sjaelland",
  	"Street": "High Street",
  	"Surname": "Nielsen",
  	"YearOfBirth": 1980
  }
<QueryData>
  <City>Copenhagen</City>
  <DayOfBirth>01</DayOfBirth>
  <Forename>Johann</Forename>
  <Gender>M</Gender>
  <HouseNumber>1</Houseumber>
  <Postcode>8600</Postcode>
  <Region>Sjaelland</Region>
  <Street>High Street</Street>
  <Surname>Nielsen</Surname>
  <YearOfBirth>1980</YearOfBirth>
</QueryData>

Response

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

Sample Response

"w2DataEkycDK029Result": {
	"dataSources": [{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddress",
			"NumberOfMatches": 1,
			"Source": "Credit"
		}
	],
	"interpretResult": "Pass",
	"Message": "The call was successful",
	"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycDK029Result>
    <DataSources>
        <!-- An array of MatchingSource elements --> 
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>
                { true | false }
            </AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>
                { 
                    NotAssigned | NameAndAddress | NameAndDateOfBirth |
                    NameAndAddressAndDateOfBirth | MortalityHighConfidence | 
                    MortalityLowConfidence | SurnameAndPhoneNumberAtAddress
                }
            </MatchingCriteria>
            <NumberOfMatches>           
                { 0 - 99 }
            <NumberOfMatches>
            <Source>
               {
                    8  = Credit
                    9  = Goverment
                    10 = Commercial
                    11 = Consumer
                    12 = Utility
                    13 = Proprietary
                    14 = Teleco
                    15 = Postal
                }            
            <Source>
        </MatchingSource>
    </DataSources>
    <InterpretResult>
        { 
            NotPerformed | Pass | Fail | Refer | NoResults | 
            OneResult | MultipleResults | NotApplicable | NoInterpretPerformed 
        }
    </InterpretResult>
    <Message>
        { A message containing additional information about the call }
    </Message>
    <TransactionResult>
        {
            None | Success | SuccessNoResults | SuccessIncompleteResults |
            MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
            NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
        }
    </TransactionResult>
</W2DataEkycDK029Result>

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

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

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

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

NumberOfMatches = The number of matches found by this data source

Source = An integer representing the source of the data match. E.g. 8 = Credit

SourceId Source Matched Notes
8 Credit Established credit agencies in the country (Coverage: > 90%; Update Frequency: Daily)
9 Government Electoral data, driver’s license or history (Coverage: > 90%; Update Frequency: Daily)
10 Commercial Insurance Records, Business Directory, Tenancy Information (Coverage:  > 50%; Update Frequency: Quarterly )
11 Consumer Public Records, Citizen Data sources, marketing and membership data (the AA etc) (Coverage:  > 50%; Update Frequency: Quarterly )
12 Utility Data issued for a national utility provider which includes telephone, gas, electricity, or water. (Coverage: > 90%; Update Frequency:  Annually)
13 Proprietary  
14 Teleco Public Number Directory (Coverage: > 75%; Update Frequency:  Annually)
15 Postal  

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

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

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

Example Response:

Example Response

"w2DataEkycDK029Result": {
	"dataSources": [{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddress",
			"NumberOfMatches": 1,
			"Source": "Credit"
		},{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddressAndDateOfBirth",
			"NumberOfMatches": 3,
			"Source": "Goverment"
		}
	],
	"interpretResult": "Pass",
	"Message": "The call was successful",
	"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycDK029Result>
    <DataSources>
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>NameAndAddress</MatchingCriteria>
            <NumberOfMatches>1<NumberOfMatches>
            <Source>9<Source>
        </MatchingSource>
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>NameAndAddressAndDateOfBirth</MatchingCriteria>
            <NumberOfMatches>3<NumberOfMatches>
            <Source>10<Source>
        </MatchingSource>
     </DataSources>
     <InterpretResult>Pass</InterpretResult>
     <Message />
     <TransactionResult>Success</TransactionResult>
</W2DataEkycDK029Result>

Transaction Result

HaltTriggered False
ServiceTransactionResult - Success
- SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated
- SuccessNoResults - No matches found
- ServerErrorGeneralError - An error occurred
- ServiceFailureError- Unable to contact third party service
- ClientErrorInsufficientInformationRequired field not supplied or insufficient/invalid information
ServiceInterpretResult - OneResult
- MultipleResults
- Fail
- NoResults
- NoInterpretPerformed
- NotPerformedAn error occurred and the search was not performed
ServiceTransactionResultMessage Usually empty, can contain optional information such as too many matches etc.
ValidationResult - Pass
- NotPerformed - No search occurred to match against
- Fail
MissingMandatoryField or PatternNotMatched

Sandbox

Example Request - W2 Data Ekyc DK 029

{
    "Bundle": "KYC_DK_029",
    "Data": {
        "Forename": "Michael",
        "Surname": "Tschank",
        "HouseNumber": "51",
        "Street": "Nobilegasse",
        "City":"Wien",
        "Postcode": "1150"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

Sandbox Example Cases

        (Click on a sandbox case to see the service result data here)
        
Forename Surname Day Of Birth Month Of Birth Year Of Birth Flat House Name/Number Street Postcode National Id Result
Bent Faurby 29 2 1968 1 Haldor Topsoe Alle 2800 Fail
Karl Gjellerup 1 3 1969 35 Langeline Alle 2100 Pass
Meir Aron Goldschmidt 28 6 1975 9 Kirkebjerg Parkvej 2605 Pass
Stig Dalager 2 12 1952 85 Korsnaebvej 4673 2387544 Pass
Tove Ditlevsen 16 4 1971 14 A Lyngsovej 8600 040888-9877 Inconclusive

W2 Data EKYC ES 029


W2 Data EKYC ES 029 is an identity verification service for Spain. W2 will combine several sources of data to make a match. We have a default setup for how we combine sources to make a match, which can be configured if needed. Please contact W2 support for more details.

Product Code: W2-DATA-EKYC-ES-029

Query Data

The following QueryData elements pertain to this service.

Property Name Type Length Optional/Mandatory Notes
Forename String 15 Mandatory  
MiddleNames String 15 Optional  
Surname String 30 Mandatory  
Gender String   Optional Must be ‘M’ or ‘F’ if provided
DayOfBirth Integer 2 Mandatory  
MonthOfBirth Integer 2 Mandatory  
YearOfBirth Integer 4 Mandatory  
HouseName String 26 Mandatory if no HouseNumber given  Minimum address fields are HouseName or Housenumber as well as the postcode. We advise that more address information be sent if possible as this will improve the chances of a match
HouseNumber String 26 Mandatory if no HouseName given  
Street String 255 Optional  
Region String 255 Optional  
City String 100 Optional  
Postcode String 5 Mandatory  
Phone Number String 16 Optional Please provide the phone number as one contiguous set of numbers with no other characters or spaces.
NationalId String 30 Optional  

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

Request

Example Request

  "Data": {
  	"City": "Madrid",
  	"DayOfBirth": 27,
  	"Forename": "Mariano",
  	"HouseNumber": "1",
  	"MonthOfBirth": 3,
  	"Postcode": "28071",
  	"Street": "Palace of Moncloa",
  	"Surname": "Rajoy",
  	"YearOfBirth": 1955
  }
<QueryData>
 <City>Madrid</City>
 <DayOfBirth>27</DayOfBirth>
 <Forename>Mariano</Forename>
 <HouseNumber>1</HouseNumber>
 <MonthOfBirth>03</MonthOfBirth>
 <Postcode>28071</Postcode>
 <Street>Palace of Moncloa</Street>
 <Surname>Rajoy</Surname>
 <YearOfBirth>1955</YearOfBirth>
</QueryData>

Response

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

Sample Response

"w2DataEkycES029Result": {
	"dataSources": [{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddress",
			"NumberOfMatches": 1,
			"Source": "Credit"
		}
	],
	"interpretResult": "Pass",
	"Message": "The call was successful",
	"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycES029Result>
    <DataSources>
        <!-- An array of MatchingSource elements --> 
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>
                { true | false }
            </AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>
                { 
                    NotAssigned | NameAndAddress | NameAndDateOfBirth |
                    NameAndAddressAndDateOfBirth | MortalityHighConfidence | 
                    MortalityLowConfidence | SurnameAndPhoneNumberAtAddress
                }
            </MatchingCriteria>
            <NumberOfMatches>           
                { 0 - 99 }
            <NumberOfMatches>
            <Source>
               {
                    8  = Credit
                    9  = Goverment
                    10 = Commercial
                    11 = Consumer
                    12 = Utility
                    13 = Proprietary
                    14 = Teleco
                    15 = Postal
                }            
            <Source>
        </MatchingSource>
    </DataSources>
    <InterpretResult>
        { 
            NotPerformed | Pass | Fail | Refer | NoResults | 
            OneResult | MultipleResults | NotApplicable | NoInterpretPerformed 
        }
    </InterpretResult>
    <Message>
        { A message containing additional information about the call }
    </Message>
    <TransactionResult>
        {
            None | Success | SuccessNoResults | SuccessIncompleteResults |
            MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
            NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
        }
    </TransactionResult>
</W2DataEkycES029Result>

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

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

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

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

NumberOfMatches = The number of matches found by this data source

Source = An integer representing the source of the data match. E.g. 8 = Credit

SourceId Source Matched Notes
8 Credit Established credit agencies in the country (Coverage: > 90%; Update Frequency: Daily)
9 Government Electoral data, driver’s license or history (Coverage: > 90%; Update Frequency: Daily)
10 Commercial Insurance Records, Business Directory, Tenancy Information (Coverage:  > 50%; Update Frequency: Quarterly )
11 Consumer Public Records, Citizen Data sources, marketing and membership data (the AA etc) (Coverage:  > 50%; Update Frequency: Quarterly )
12 Utility Data issued for a national utility provider which includes telephone, gas, electricity, or water. (Coverage: > 90%; Update Frequency:  Annually)
13 Proprietary  
14 Teleco Public Number Directory (Coverage: > 75%; Update Frequency:  Annually)
15 Postal  
 ** **   

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

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

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

Example Response:

The below example shows a case where we have found one NameAndAddress match on the Government and 3 NameAndAddressAndDateOfBirth matches on Commercial. This has resulted in a Pass.

Example Response

"w2DataEkycES029Result": {
	"dataSources": [{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddress",
			"NumberOfMatches": 1,
			"Source": "Credit"
		},{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddressAndDateOfBirth",
			"NumberOfMatches": 3,
			"Source": "Goverment"
		}
	],
	"interpretResult": "Pass",
	"Message": "The call was successful",
	"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycES029Result>
    <DataSources>
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>NameAndAddress</MatchingCriteria>
            <NumberOfMatches>1<NumberOfMatches>
            <Source>9<Source>
        </MatchingSource>
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>NameAndAddressAndDateOfBirth</MatchingCriteria>
            <NumberOfMatches>3<NumberOfMatches>
            <Source>10<Source>
        </MatchingSource>
     </DataSources>
     <InterpretResult>Pass</InterpretResult>
     <Message />
     <TransactionResult>Success</TransactionResult>
</W2DataEkycES029Result>

Transaction Result

HaltTriggered False
ServiceTransactionResult - Success
- SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated
- SuccessNoResults - No matches found
- ServerErrorGeneralError - An error occurred
- ServiceFailureError- Unable to contact third party service
- ClientErrorInsufficientInformationRequired field not supplied or insufficient/invalid information
ServiceInterpretResult - OneResult
- MultipleResults
- Fail
- NoResults
- NoInterpretPerformed
- NotPerformedAn error occurred and the search was not performed
ServiceTransactionResultMessage Usually empty, can contain optional information such as too many matches etc.
ValidationResult - Pass
- NotPerformed - No search occurred to match against
- Fail
MissingMandatoryField or PatternNotMatched

Sandbox

Example Request - W2 Data Ekyc ES 029

{
    "Bundle": "KYC_ES_029",
    "Data": {
        "Forename": "Michael",
        "Surname": "Tschank",
        "HouseNumber": "51",
        "Street": "Nobilegasse",
        "City":"Wien",
        "Postcode": "1150"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

Sandbox Example Cases

      (Click on a sandbox case to see the service result data here)
      
Forename Surname Day Of Birth Month Of Birth Year Of Birth Flat House Name/Number Street Postcode Result
Alonso Vázquez 3 8 1964 215 CALLE HACIENCA DE PAVONES 28030 Pass
Alvar Leyva Escobedo 2 1 1987 94 Navarredonda de la Rinconada 37607 Pass
Artemisa Bernal Sauceda 13 8 1953 95 Calle Carril de la Fuente 13326 Pass
Carlos Rojas Vila 7 4 1976 66 La Tablada 38677 Fail
Félix María Samaniego 11 7 1975 4-10 C/MEDES 8023 Pass
Francisco de Quevedo 21 8 1950 1A B Calle Laguna Negra 42003 NoResults
Gladys Chapa Valverde 4 9 1976 3 Canónigo Valiño 46300 Pass
Keren Almonte Esquivel 17 9 1999 57 Xunqueira de Ambía 32670 Pass
Luana Velasco Cervantes 23 12 1965 45 Tormos 03795 Inconclusive
Menna Fonseca Guardado 2 4 1982 5 Ctra. Hornos 26213 Inconclusive
Miguel de Unamuno 25 2 1961 11 2F CALLE LOS MARTINEZ DE ESCOBAR 35007 Fail
PEDRO LOPEZ 18 2 1955 19 CALLE JUANELO 28012 Fail

W2 Data EKYC FR 029


W2 Data EKYC FR 029 is an identity verification service for France. W2 will combine several sources of data to make a match. We have a default setup for how we combine sources to make a match, which can be configured if needed. Please contact W2 support for more details.

Product Code: W2-DATA-EKYC-FR-029

Query Data

The following QueryData elements pertain to this service.

Property Name Type Length Optional/Mandatory Notes
Forename String 15 Mandatory  
MiddleNames String 15 Optional  
Surname String 30 Mandatory  
Gender String   Optional Must be ‘M’ or ‘F’ if provided
DayOfBirth Integer 2 Mandatory  
MonthOfBirth Integer 2 Mandatory  
YearOfBirth Integer 4 Mandatory  
HouseName String 26 Mandatory if no HouseNumber given  Minimum address fields are HouseName or Housenumber as well as the postcode. We advise that more address information be sent if possible as this will improve the chances of a match
HouseNumber String 26 Mandatory if no HouseName given  
Street String 255 Optional  
Region String 255 Optional  
City String 100 Optional  
Postcode String 5 Mandatory  
Phone Number String 16 Optional Please provide the phone number as one contiguous set of numbers with no other characters or spaces.
NationalId String 30 Optional  

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

Request

Sample Request

  "Data": {
  	"City": "Paris",
  	"DayOfBirth": 21,
  	"Forename": "Emmanuel",
  	"HouseNumber": "55",
  	"MonthOfBirth": 12,
  	"Postcode": "75008",
  	"Surname": "Macron",
  	"Street": "Rue du Faubourg",
  	"YearOfBirth": 1977
  }
<QueryData>
 <City>Paris</City>
 <DayOfBirth>21</DayOfBirth>
 <Forename>Emmanuel</Forename>
 <HouseNumber>55</HouseNumber>
 <MonthOfBirth>12</MonthOfBirth>
 <Postcode>75008</Postcode>
 <Surname>Macron</Surname>
 <Street>Rue du Faubourg</Street>
 <YearOfBirth>1977</YearOfBirth>
</QueryData>

Response

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

Sample Response

"w2DataEkycFR029Result": {
	"dataSources": [{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddress",
			"NumberOfMatches": 1,
			"Source": "Credit"
		}
	],
	"interpretResult": "Pass",
	"Message": "The call was successful",
	"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycFR029Result>
    <DataSources>
        <!-- An array of MatchingSource elements --> 
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>
                { true | false }
            </AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>
                { 
                    NotAssigned | NameAndAddress | NameAndDateOfBirth |
                    NameAndAddressAndDateOfBirth | MortalityHighConfidence | 
                    MortalityLowConfidence | SurnameAndPhoneNumberAtAddress
                }
            </MatchingCriteria>
            <NumberOfMatches>           
                { 0 - 99 }
            <NumberOfMatches>
            <Source>
               {
                    8  = Credit
                    9  = Goverment
                    10 = Commercial
                    11 = Consumer
                    12 = Utility
                    13 = Proprietary
                    14 = Teleco
                    15 = Postal
                }            
            <Source>
        </MatchingSource>
    </DataSources>
    <InterpretResult>
        { 
            NotPerformed | Pass | Fail | Refer | NoResults | 
            OneResult | MultipleResults | NotApplicable | NoInterpretPerformed 
        }
    </InterpretResult>
    <Message>
        { A message containing additional information about the call }
    </Message>
    <TransactionResult>
        {
            None | Success | SuccessNoResults | SuccessIncompleteResults |
            MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
            NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
        }
    </TransactionResult>
</W2DataEkycFR029Result>

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

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

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

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

NumberOfMatches = The number of matches found by this data source

Source = An integer representing the source of the data match. E.g. 8 = Credit

SourceId Source Matched Notes 
8 Credit Established credit agencies in the country (Coverage: > 90%; Update Frequency: Daily)
9 Government Electoral data, driver’s license or history (Coverage: > 90%; Update Frequency: Daily)
10 Commercial Insurance Records, Business Directory, Tenancy Information (Coverage:  > 50%; Update Frequency: Quarterly )
11 Consumer Public Records, Citizen Data sources, marketing and membership data (the AA etc) (Coverage:  > 50%; Update Frequency: Quarterly )
12 Utility Data issued for a national utility provider which includes telephone, gas, electricity, or water. (Coverage: > 90%; Update Frequency:  Annually)
13 Proprietary  
14 Teleco Public Number Directory (Coverage: > 75%; Update Frequency:  Annually)
15 Postal  
     

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

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

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

Example Response:

Example Response

"w2DataEkycFR029Result": {
	"dataSources": [{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddress",
			"NumberOfMatches": 1,
			"Source": "Credit"
		},{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddressAndDateOfBirth",
			"NumberOfMatches": 3,
			"Source": "Goverment"
		}
	],
	"interpretResult": "Pass",
	"Message": "The call was successful",
	"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycFR029Result>
    <DataSources>
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>NameAndAddress</MatchingCriteria>
            <NumberOfMatches>1<NumberOfMatches>
            <Source>9<Source>
        </MatchingSource>
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>NameAndAddressAndDateOfBirth</MatchingCriteria>
            <NumberOfMatches>3<NumberOfMatches>
            <Source>10<Source>
        </MatchingSource>
     </DataSources>
     <InterpretResult>Pass</InterpretResult>
     <Message />
     <TransactionResult>Success</TransactionResult>
</W2DataEkycFR029Result>

Transaction Result

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

Sandbox

Example Request - W2 Data Ekyc FR 029

{
    "Bundle": "KYC_FR_029",
    "Data": {
        "Forename": "Michael",
        "Surname": "Tschank",
        "HouseNumber": "51",
        "Street": "Nobilegasse",
        "City":"Wien",
        "Postcode": "1150"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

Sandbox Example Cases

      (Click on a sandbox case to see the service result data here)
      
Forename Surname Day Of Birth Month Of Birth Year Of Birth Flat House Name/Number Street Postcode Result
Camille Pelchat 23 5 1987 69 rue Lenotre 35000 Pass
Dorene Bordeaux 1 4 2001 85 Square de la Couronne 77330 Pass
Émile Bernard 24 9 1979 19 rue de la paix 45260 Pass
Jacquenett DAubigne 11 4 1959 62 boulevard de la Liberation 13014 Pass
Jacques Morel 28 6 1994 24 rue du petit val 2310 Fail
Martin Fréminet 10 12 1987 39 rue Jean de Bernardy 13001 Pass
Monique Desnoyer 12 12 1974 72 Place de la Gare 31770 Pass
Paige Léveillé 28 11 1967 64 rue de la Hulotais 59430 Inconclusive
Simon Marmion 8 1 1969 166 rue du Général Leclerc 67540 Inconclusive
Suzanne Valadon 22 2 1985 22 chemin de Pénatière 38640 Fail
Vincent Bérubé 26 4 1965 96 rue des six frères Ruellan 95110 Fail

W2 Data EKYC DE 029


W2 Data EKYC DE 029 is an identity verification service for Germany. W2 will combine several sources of data to make a match. We have a default setup for how we combine sources to make a match, which can be configured if needed. Please contact W2 support for more details.

Product Code: W2-DATA-EKYC-DE-029

Query Data

The following QueryData elements pertain to this service.

Property Name Type Length Optional/Mandatory Notes
Forename String 15 Mandatory  
MiddleNames String 15 Optional  
Surname String 30 Mandatory  
Gender String   Optional Must be ‘M’ or ‘F’ if provided
DayOfBirth Integer 2 Mandatory  
MonthOfBirth Integer 2 Mandatory  
YearOfBirth Integer 4 Mandatory  
HouseName String 26 Mandatory if no HouseNumber given  Minimum address fields are HouseName or Housenumber as well as the postcode. We advise that more address information be sent if possible as this will improve the chances of a match
HouseNumber String 26 Mandatory if no HouseName given  
Street String 255 Optional  
Region String 255 Optional  
City String 100 Optional  
Postcode String 5 Mandatory  
Phone Number String 16 Optional Please provide the phone number as one contiguous set of numbers with no other characters or spaces.
NationalId String 30 Optional  

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

Request

Sample Request

  "Data": {
  	"City": "Berlin",
  	"DayOfBirth": 19,
  	"Forename": "Emerson",
  	"HouseNumber": "34",
  	"MonthOfBirth": 10,
  	"Postcode": "76007",
  	"Surname": "Reus",
  	"Street": "Dorfstrasse",
  	"YearOfBirth": 1988
  }
<QueryData>
 <City>Berlin</City>
 <DayOfBirth>19</DayOfBirth>
 <Forename>Emerson</Forename>
 <HouseNumber>34</HouseNumber>
 <MonthOfBirth>10</MonthOfBirth>
 <Postcode>76007</Postcode>
 <Surname>Reus</Surname>
 <Street>Dorfstrasse</Street>
 <YearOfBirth>1988</YearOfBirth>
</QueryData>

Response

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

Sample Response

"w2DataEkycDE029Result": {
	"dataSources": [{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddress",
			"NumberOfMatches": 1,
			"Source": "Credit"
		}
	],
	"interpretResult": "Pass",
	"Message": "The call was successful",
	"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycDE029Result>
    <DataSources>
        <!-- An array of MatchingSource elements --> 
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>
                { true | false }
            </AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>
                { 
                    NotAssigned | NameAndAddress | NameAndDateOfBirth |
                    NameAndAddressAndDateOfBirth | MortalityHighConfidence | 
                    MortalityLowConfidence | SurnameAndPhoneNumberAtAddress
                }
            </MatchingCriteria>
            <NumberOfMatches>           
                { 0 - 99 }
            <NumberOfMatches>
            <Source>
               {
                    8  = Credit
                    9  = Goverment
                    10 = Commercial
                    11 = Consumer
                    12 = Utility
                    13 = Proprietary
                    14 = Teleco
                    15 = Postal
                }            
            <Source>
        </MatchingSource>
    </DataSources>
    <InterpretResult>
        { 
            NotPerformed | Pass | Fail | Refer | NoResults | 
            OneResult | MultipleResults | NotApplicable | NoInterpretPerformed 
        }
    </InterpretResult>
    <Message>
        { A message containing additional information about the call }
    </Message>
    <TransactionResult>
        {
            None | Success | SuccessNoResults | SuccessIncompleteResults |
            MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
            NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
        }
    </TransactionResult>
</W2DataEkycDE029Result>

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

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

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

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

NumberOfMatches = The number of matches found by this data source

Source = An integer representing the source of the data match. E.g. 8 = Credit

SourceId Source Matched Notes 
8 Credit Established credit agencies in the country (Coverage: > 90%; Update Frequency: Daily)
9 Government Electoral data, driver’s license or history (Coverage: > 90%; Update Frequency: Daily)
10 Commercial Insurance Records, Business Directory, Tenancy Information (Coverage:  > 50%; Update Frequency: Quarterly )
11 Consumer Public Records, Citizen Data sources, marketing and membership data (the AA etc) (Coverage:  > 50%; Update Frequency: Quarterly )
12 Utility Data issued for a national utility provider which includes telephone, gas, electricity, or water. (Coverage: > 90%; Update Frequency:  Annually)
13 Proprietary  
14 Teleco Public Number Directory (Coverage: > 75%; Update Frequency:  Annually)
15 Postal  
     

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

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

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

Example Response:

Example Response

"w2DataEkycDE029Result": {
	"dataSources": [{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddress",
			"NumberOfMatches": 1,
			"Source": "Credit"
		},{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddressAndDateOfBirth",
			"NumberOfMatches": 3,
			"Source": "Goverment"
		}
	],
	"interpretResult": "Pass",
	"Message": "The call was successful",
	"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycDE029Result>
    <DataSources>
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>NameAndAddress</MatchingCriteria>
            <NumberOfMatches>1<NumberOfMatches>
            <Source>9<Source>
        </MatchingSource>
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>NameAndAddressAndDateOfBirth</MatchingCriteria>
            <NumberOfMatches>3<NumberOfMatches>
            <Source>10<Source>
        </MatchingSource>
     </DataSources>
     <InterpretResult>Pass</InterpretResult>
     <Message />
     <TransactionResult>Success</TransactionResult>
</W2DataEkycDE029Result>

Transaction Result

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

Sandbox

Example Request - W2 Data Ekyc DE 029

{
    "Bundle": "KYC_DE_029",
    "Data": {
        "Forename": "Lukas",
        "Surname": "Jonas",
        "HouseNumber": "23",
        "Street": "Gartenstraße",
        "Postcode": "37645"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

Sandbox Example Cases

      (Click on a sandbox case to see the service result data here)
      
Forename Surname Day Of Birth Month Of Birth Year Of Birth Flat House Name/Number Street Postcode Result
Lukas Jonas 10 10 1968 23 Gartenstraße 14982 Pass
Jacques Morel 28 6 1994 24 Ocean View Street 2310 Fail
Finn Elias 22 2 1985 22 Hauptstrasse 38640 Fail
Tobias Ben 8 1 1969 166 Bahnhofstrasse 67540 Inconclusive

W2 Data EKYC NL 029


W2 Data EKYC NL 029 is an identity verification service for Netherlands. W2 will combine several sources of data to make a match. We have a default setup for how we combine sources to make a match, which can be configured if needed. Please contact W2 support for more details.

Product Code: W2-DATA-EKYC-NL-029

Query Data

The following QueryData elements pertain to this service.

Property Name Type Length Optional/Mandatory Notes
Forename String 15 Mandatory  
MiddleNames String 15 Optional  
Surname String 30 Mandatory  
Gender String   Optional Must be ‘M’ or ‘F’ if provided
DayOfBirth Integer 2 Mandatory  
MonthOfBirth Integer 2 Mandatory  
YearOfBirth Integer 4 Mandatory  
HouseName String 26 Mandatory if no HouseNumber given  Minimum address fields are HouseName or Housenumber as well as the postcode. We advise that more address information be sent if possible as this will improve the chances of a match
HouseNumber String 26 Mandatory if no HouseName given  
Street String 255 Optional  
Region String 255 Optional  
City String 100 Optional  
Postcode String 6 Mandatory  
Phone Number String 16 Optional Please provide the phone number as one contiguous set of numbers with no other characters or spaces.
NationalId String 30 Optional  

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

Request

Sample Request

  "Data": {
  	"City": "Amsterdam",
  	"DayOfBirth": 14,
  	"Forename": "Noah",
  	"HouseNumber": "22",
  	"MonthOfBirth": 10,
  	"Postcode": "5811BC",
  	"Surname": "De Jong",
  	"Street": "Bankastraat",
  	"YearOfBirth": 1965
  }
<QueryData>
 <City>Amsterdam</City>
 <DayOfBirth>14</DayOfBirth>
 <Forename>Noah</Forename>
 <HouseNumber>22</HouseNumber>
 <MonthOfBirth>10</MonthOfBirth>
 <Postcode>5811BC</Postcode>
 <Surname>De Jong</Surname>
 <Street>Bankastraat</Street>
 <YearOfBirth>1965</YearOfBirth>
</QueryData>

Response

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

Sample Response

"w2DataEkycNL029Result": {
	"dataSources": [{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddress",
			"NumberOfMatches": 1,
			"Source": "Credit"
		}
	],
	"interpretResult": "Pass",
	"Message": "The call was successful",
	"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycNL029Result>
    <DataSources>
        <!-- An array of MatchingSource elements --> 
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>
                { true | false }
            </AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>
                { 
                    NotAssigned | NameAndAddress | NameAndDateOfBirth |
                    NameAndAddressAndDateOfBirth | MortalityHighConfidence | 
                    MortalityLowConfidence | SurnameAndPhoneNumberAtAddress
                }
            </MatchingCriteria>
            <NumberOfMatches>           
                { 0 - 99 }
            <NumberOfMatches>
            <Source>
               {
                    8  = Credit
                    9  = Goverment
                    10 = Commercial
                    11 = Consumer
                    12 = Utility
                    13 = Proprietary
                    14 = Teleco
                    15 = Postal
                }            
            <Source>
        </MatchingSource>
    </DataSources>
    <InterpretResult>
        { 
            NotPerformed | Pass | Fail | Refer | NoResults | 
            OneResult | MultipleResults | NotApplicable | NoInterpretPerformed 
        }
    </InterpretResult>
    <Message>
        { A message containing additional information about the call }
    </Message>
    <TransactionResult>
        {
            None | Success | SuccessNoResults | SuccessIncompleteResults |
            MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
            NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
        }
    </TransactionResult>
</W2DataEkycNL029Result>

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

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

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

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

NumberOfMatches = The number of matches found by this data source

Source = An integer representing the source of the data match. E.g. 8 = Credit

SourceId Source Matched Notes 
8 Credit Established credit agencies in the country (Coverage: > 90%; Update Frequency: Daily)
9 Government Electoral data, driver’s license or history (Coverage: > 90%; Update Frequency: Daily)
10 Commercial Insurance Records, Business Directory, Tenancy Information (Coverage:  > 50%; Update Frequency: Quarterly )
11 Consumer Public Records, Citizen Data sources, marketing and membership data (the AA etc) (Coverage:  > 50%; Update Frequency: Quarterly )
12 Utility Data issued for a national utility provider which includes telephone, gas, electricity, or water. (Coverage: > 90%; Update Frequency:  Annually)
13 Proprietary  
14 Teleco Public Number Directory (Coverage: > 75%; Update Frequency:  Annually)
15 Postal  
     

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

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

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

Example Response:

Example Response

"w2DataEkycNL029Result": {
	"dataSources": [{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddress",
			"NumberOfMatches": 1,
			"Source": "Credit"
		},{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddressAndDateOfBirth",
			"NumberOfMatches": 3,
			"Source": "Goverment"
		}
	],
	"interpretResult": "Pass",
	"Message": "The call was successful",
	"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycNL029Result>
    <DataSources>
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>NameAndAddress</MatchingCriteria>
            <NumberOfMatches>1<NumberOfMatches>
            <Source>9<Source>
        </MatchingSource>
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>NameAndAddressAndDateOfBirth</MatchingCriteria>
            <NumberOfMatches>3<NumberOfMatches>
            <Source>10<Source>
        </MatchingSource>
     </DataSources>
     <InterpretResult>Pass</InterpretResult>
     <Message />
     <TransactionResult>Success</TransactionResult>
</W2DataEkycNL029Result>

Transaction Result

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

Sandbox

Example Request - W2 Data Ekyc NL 029

{
    "Bundle": "KYC_NL_029",
    "Data": {
        "Forename": "Daan",
        "Surname": "De Jong",
        "HouseNumber": "1",
        "Street": "Bankastraat",
        "Postcode": "4811DC"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

Sandbox Example Cases

      (Click on a sandbox case to see the service result data here)
      
Forename Surname Day Of Birth Month Of Birth Year Of Birth Flat House Name/Number Street Postcode Result
Daan De Jong 20 10 1978 1 Bankastraat 4811DC Pass
Milan Janssen 28 6 1994 24 Paleisstraat 2132MH Fail
Levi Visser 21 3 1987 22 Schoolstraat 4812MC Fail
Jan Van Dijk 19 2 1979 166 Sportlaan 2232MA Inconclusive

W2 Data Ekyc Global Multisource 043


W2 Data Ekyc Global MultiSource 043 is a global identity verification service that can be performed for 75 countries and matches on multiple datasources.

Product Code: W2-DATA-EKYC-GLOBAL_MULTISOURCE-043

Query Data

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

Property Name Type Min Length Max Length Optional/Mandatory Notes Accepted Characters
City String 1 20 Optional   All but not ,
Country String 3 3 Mandatory* * A 3 character ISO country code i.e. GBR, USA etc. See appendix for a full list of supported countries. Only ISO Country Codes
County String 1 20 Optional*  * This is a mandatory field if the Country code is set to IRL. Please remove the “County” from the name (e.g to send “County Wexford”, just use “Wexford”) All but not ,
DayOfBirth Integer 1 2 Mandatory    Numbers only greater than 0
Forename String 1 15 Mandatory    
Gender String 1 1 Optional* * Either M or F (This is case sensitive and needs to be uppercase)  
HouseName/HouseNumber String 1 26 Mandatory* * Either house name or house number must be supplied may also include Flat number i.e. Flat 1, 4 All but not ,
MiddleNames String   15 Optional    
MonthOfBirth Integer 1 2 Mandatory    Numbers only greater than 0
PersonalId String 4 9 Optional* * US only, if this has been configured as required but is omitted, then the only possible results will be Fail or Refer  
Postcode String 3 8 Mandatory* * Optional if Country is set to IRL (Ireland) All but not ,
Region String 2 2 Optional* * Mandatory if Country is set to USA. Requires a valid 2 character state code. (e.g NY)  
Street String 1 40 Mandatory* * Optional if Country is set to GBR (United Kingdom) All but not ,
Surname String 1 30 Mandatory    
YearOfBirth Integer 1 4 Mandatory    Numbers only greater than 0

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

Request

Ireland Example:

Ireland Example

<QueryData>
 <Country>IRL</Country>
 <County>Wexford</County>
 <DayOfBirth>13</DayOfBirth>
 <Forename>Teague</Forename>
 <HouseNumber>8</HouseNumber>
 <MonthOfBirth>1</MonthOfBirth>
 <Street>Hospital Road</Street>
 <Surname>Mullen</Surname>
 <YearOfBirth>1949</YearOfBirth>
</QueryData>
   "Data": {
   	"Country": "IRL",
   	"County": "Wexford",
   	"DayOfBirth": 13,
   	"Forename": "Teague",
   	"HouseNumber": "8",
   	"MonthOfBirth": 1,
   	"Street": "Hospital Road",
   	"Surname": "Mullen",
   	"YearOfBirth": 1949
   }

United States Example:

United States Example

<QueryData>
 <Country>USA</Country>
 <DayOfBirth>28</DayOfBirth>
 <Forename>Susan</Forename>
 <HouseNumber>2071</HouseNumber>
 <MonthOfBirth>9</MonthOfBirth>
 <Postcode>34744</Postcode>  
 <Region>FL</Region> 
 <PersonalId>537430927</PersonalId>
 <Street>McDonald Avenue</Street>
 <Surname>Barker</Surname>
 <YearOfBirth>1959</YearOfBirth>
</QueryData>
     "Data": {
     	"Country": "USA",
     	"DayOfBirth": 28,
     	"Forename": "Susan",
     	"HouseNumber": "2071",
     	"MonthOfBirth": 9,
     	"Postcode": "34744",
     	"Region": "FL",
     	"PersonalId": "537430927",
     	"Street": "McDonald Avenue",
     	"Surname": "Barker",
     	"YearOfBirth": 1959
     }

United Kingdom Example:

United Kingdom Example

<QueryData>
 <Country>GBR</Country>
 <DayOfBirth>25</DayOfBirth>
 <Forename>Gabriel</Forename>
 <HouseNumber>74</HouseNumber>
 <MonthOfBirth>3</MonthOfBirth>
 <Postcode>LE67 8WE</Postcode> 
 <Street>Golf Road</Street>
 <Surname>Peacock</Surname>
 <YearOfBirth>1987</YearOfBirth>
</QueryData>
   "Data": {
   	"Country": "GBR",
   	"DayOfBirth": "25",
   	"Forename": "Gabriel",
   	"HouseNumber": "74",
   	"MonthOfBirth": "3",
   	"Postcode": "LE67 8WE",
   	"Street": "Golf Road",
   	"Surname": "Peacock",
   	"YearOfBirth": "1987"
   }

Response

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

Example Response

<W2DataEkycGlobal043Result>
    <DataSources>
        <!-- An array of MatchingSource elements --> 
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>
                { true | false }
            </AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>
                { 
                    NameAndPersonalId | NameAndAddress | NameAndDateOfBirth |
                    NameAndAddressAndDateOfBirth
                }
            </MatchingCriteria>
            <NumberOfMatches>           
                { 0 - 1 }
            <NumberOfMatches>
            <Source>
               {
                    0 = NotAssigned 
                    1 = ElectoralRoll 
                    8 = Credit
                    9 = Government
                   11 = Consumer
                   12 = Utility
                   15 = Postal
                }            
            <Source>
        </MatchingSource>
    </DataSources>
    <InterpretResult>
        { 
            NotPerformed | Pass | Fail | Refer | NoInterpretPerformed 
        }
    </InterpretResult>
    <Message>
        { A message containing additional information about the call }
    </Message>
    <TransactionResult>
        {
            None | Success | SuccessNoResults | SuccessIncompleteResults |
            MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
            NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
        }
    </TransactionResult>
    <RawResponse>
      [
        {
            "DataSource": "DS", 
            "FirstNameMatch":"Full|Initial|NoMatch",
            "SurnameMatch":"Full|Partial|NoMatch", 
            "DobMatch": "Full|Partial|NoMatch",
            "AddressMatch": "Full|Partial|NoMatch",
            "SsnMatch": "Full|Partial|NoMatch"
        }
      ]
   </RawResponse>
   <SsnMatch>true|false</SsnMatch>   
 </W2DataEkycGlobal043Result>
"w2DataEkycGlobal043Result": {
	"rawResponse": "[{\"DataSource\":\"TESTDB\",\"FirstNameMatch\":\"Full\",\"SurnameMatch\":\"Full\",\"DobMatch\":\"Full\",\"AddressMatch\":\"Full\",\"SsnMatch\":null},{\"DataSource\":\"TESTDB2\",\"FirstNameMatch\":\"Full\",\"SurnameMatch\":\"Full\",\"DobMatch\":\"Full\",\"AddressMatch\":\"Full\",\"SsnMatch\":null}]",
	"ssnMatch": false,
	"dataSources": [{
			"allowMultipleRecordsAsSeparateDataSources": true,
			"matchingCriteria": "NameAndAddressAndDateOfBirth",
			"numberOfMatches": 1,
			"source": 11
		}, {
			"allowMultipleRecordsAsSeparateDataSources": true,
			"matchingCriteria": "NameAndAddressAndDateOfBirth",
			"numberOfMatches": 1,
			"source": 8
		}
	],
	"interpretResult": "Pass",
	"message": "Matching performed using 11,8 sources as per profile",
	"transactionResult": "Success"
}

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

Datasources = A collection showing every source of data that was used to formulate the result. Each source is represented by a <MatchingSource> element.

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

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

NumberOfMatches = The number of matches found by this data source

Source = The source of the data match. E.g. Credit

Transaction Result

HaltTriggered False
ServiceTransactionResult - Success
- SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated
- SuccessNoResults - No matches found
- ServerErrorGeneralError - An error occurred
- ServiceFailureError- Unable to contact third party service
- ClientErrorInsufficientInformation - Required field not supplied or insufficient/invalid information
- ClientErrorInformationFormatInvalid - Address fields cannot contain commas
ServiceInterpretResult - NotPerformed - An error occurred and the search was not performed
- Pass
- Fail
- Inconclusive
- NotApplicable - Validation has failed, please check ValidationResult for further details.
ServiceTransactionResultMessage Usually empty, can contain optional information such as too many matches etc.
ValidationResult - Pass
- NotPerformed - No search occurred to match against
- Fail 
MissingMandatoryField or PatternNotMatched

Sandbox

Sandbox mode can be used to test the service. By setting the following query option and sending some the below query data we will return a pre-configured response without actually calling our suppliers.

Example Request - W2 Data Ekyc Global Multisource 043

{
    "Bundle": "W2_DATA_EKYC_GLOBAL_MULTISOURCE_043",
    "Data": {
        "Forename": "Michael",
        "Surname": "Tschank",
        "HouseNumber": "51",
        "Street": "Nobilegasse",
        "City":"Wien",
        "Postcode": "1150"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

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

Sandbox Example Cases

      (Click on a sandbox case to see the service result data here)
      
Forename Surname Day Of Birth Month Of Birth Year Of Birth PersonalId (SSN) Flat House Name/Number Street County Postcode Region Country
Aaron Russell 9 4 2000 055221235 2785 Wayback Lane 11530 NY USA
Amantzi Acevedo 12 7 1979 53 Rua do Paseo 41907
Bernadette McLennan 22 12 1972 78 Moira Road Cork IRL
Bryan Roy 17 7 1948 521905310 293 Clearview Drive 80030 CO USA
Delmo Padovano 13 7 1957 140 Via Giulio Camuzzoni 89040
Eva Poulsen 2 12 1990 8 Budapester Strasse 24515
Faith Long 7 9 1982 508824444 795 Rollins Road 69131 NE USA
Gabriel Peacock 25 3 1987 74 Golf Road LE67 8WE
Isabelle Warner 3 10 1988 87 Jubilee Drive NR29 3UY
Leonard Galvan 28 9 1939 538451234 1295 Conifer Drive 98109 WA USA
Logan Jordan 6 9 1958 25 Thompsons Lane YO42 3DT
Milla Ingham 30 12 1955 48 Wigley Street 5043
Naomi Dennis 3 8 2000 629865555 3350 Baker Avenue 76011 TX USA
Nuala Keogh 22 11 1980 16 Woodbrook Heights Sligo IRL
Ralph Kaestner 22 12 1948 67 Gruenauer Strasse 21272
Sabine Dupuis 6 8 1983 88 rue Victor Hugo 60200
Selma Hill 4 2 1953 375609845 2297 Cross Street 48723 MI USA
Shanna Wright 19 2 1994 604149876 1692 Freed Drive 95340 CA USA
Susan Barker 28 9 1959 537430927 2071 McDonald Avenue 34744 FL USA
Teague Mullen 13 1 1949 8 Hospital Road Wexford IRL
Timothy McGrath 6 9 1991 355528765 4637 Virginia Street 60605 IL USA

Country Data

The following table shows the countries supported by the W2 Global Ekyc Global Multisource 043 service.

ISO Code Country
ALB Albania
ARE United Arab Emirates
ARG Argentina
ARM Armenia
AUS Australia
AZE Azerbaijan
BEL Belgium
BEN Benin
BGR Bulgaria
BIH Bosnia And Herzegovina
BLR Belarus
BMU Bermuda
BRN Brunei Darussalam
CAN Canada
CHE Switzerland
CHL Chile
CHN China
CIV Côte D`ivoire/Ivory Coast
CMR Cameroon
CYM Cayman Islands
CZE Czech Republic
DEU Germany
DNK Denmark
EGY Egypt
ESP Spain
EST Estonia
FIN Finland
FRA France
GBR United Kingdom
GEO Georgia
GIB Gibraltar
GRC Greece
HKG Hong Kong
HRV Croatia
HUN Hungary
IDN Indonesia
IND India
IRL Ireland
IRN Iran, Islamic Republic Of
ISL Iceland
ISR Israel
ITA Italy
KAZ Kazakstan
KGZ Kyrgyzstan
LIE Liechtenstein
LTU Lithuania
LUX Luxembourg
LVA Latvia
MAR Morocco
MCO Monaco
MDA Moldova, Republic Of
MEX Mexico
MYS Malaysia
NLD Netherlands
NOR Norway
NZL New Zealand
OMN Oman
PAK Pakistan
POL Poland
PRI Puerto Rico
PRT Portugal
PSE Palestine
QAT Qatar
ROU Romania
RUS Russian Federation
SGP Singapore
SVK Slovakia
SWE Sweden
TJK Tajikistan
TKM Turkmenistan
TUR Turkey
UKR Ukraine
USA United States
UZB Uzbekistan
VEN Venezuela
ZAF South Africa

W2 Data Ekyc Singlesource 043


W2 Data Ekyc Global SingleSource 043 is a global identity verification service that can be performed for 169 countries and matches on a single datasource. Contents

Product Code: W2-DATA-EKYC-GLOBAL_SINGLESOURCE-043

Query Data

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

Property Name Type Min Length Max Length Optional/Mandatory Notes Accepted Characters
City String 1 20 Optional   All but not ,
Country String 3 3 Mandatory* * A 3 character ISO country code i.e. GBR, USA etc. See appendix for a full list of supported countries. Only ISO Country Codes
County String 1 20 Optional*  * This is a mandatory field if the Country code is set to IRL. Please remove the “County” from the name (e.g to send “County Wexford”, just use “Wexford”) All but not ,
DayOfBirth Integer 1 2 Mandatory    Numbers only greater than 0
Forename String 1 15 Mandatory    
Gender String 1 1 Optional* * Either M or F (This is case sensitive and needs to be uppercase)  
HouseName/HouseNumber String 1 26 Mandatory* * Either house name or house number must be supplied may also include Flat number i.e. Flat 1, 4 All but not ,
MiddleNames String   15 Optional    
MonthOfBirth Integer 1 2 Mandatory    Numbers only greater than 0
PersonalId String 4 9 Optional* * US only, if this has been configured as required but is omitted, then the only possible results will be Fail or Refer  
Postcode String 3 8 Mandatory* * Optional if Country is set to IRL (Ireland) All but not ,
Region String 2 2 Optional* * Mandatory if Country is set to USA. Requires a valid 2 character state code. (e.g NY)  
Street String 1 40 Mandatory* * Optional if Country is set to GBR (United Kingdom) All but not ,
Surname String 1 30 Mandatory    
YearOfBirth Integer 1 4 Mandatory    Numbers only greater than 0

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

Request

Ireland Example:

Ireland Example

<QueryData>
 <Country>IRL</Country>
 <County>Wexford</County>
 <DayOfBirth>13</DayOfBirth>
 <Forename>Teague</Forename>
 <HouseNumber>8</HouseNumber>
 <MonthOfBirth>1</MonthOfBirth>
 <Street>Hospital Road</Street>
 <Surname>Mullen</Surname>
 <YearOfBirth>1949</YearOfBirth>
</QueryData>
"Data": {
	"Country": "IRL",
	"County": "Wexford",
	"DayOfBirth": 13,
	"Forename": "Teague",
	"HouseNumber": "8",
	"MonthOfBirth": 1,
	"Street": "Hospital Road",
	"Surname": "Mullen",
	"YearOfBirth": 1949
}

United States Example:

United States Example

<QueryData>
 <Country>USA</Country>
 <DayOfBirth>28</DayOfBirth>
 <Forename>Susan</Forename>
 <HouseNumber>2071</HouseNumber>
 <MonthOfBirth>9</MonthOfBirth>
 <Postcode>34744</Postcode>  
 <Region>FL</Region> 
 <PersonalId>537430927</PersonalId>
 <Street>McDonald Avenue</Street>
 <Surname>Barker</Surname>
 <YearOfBirth>1959</YearOfBirth>
</QueryData>
  "Data": {
  	"Country": "USA",
  	"DayOfBirth": 28,
  	"Forename": "Susan",
  	"HouseNumber": "2071",
  	"MonthOfBirth": 9,
  	"Postcode": "34744",
  	"Region": "FL",
  	"PersonalId": "537430927",
  	"Street": "McDonald Avenue",
  	"Surname": "Barker",
  	"YearOfBirth": 1959
  }

United Kingdom Example:

United Kingdom Example

<QueryData>
 <Country>GBR</Country>
 <DayOfBirth>25</DayOfBirth>
 <Forename>Gabriel</Forename>
 <HouseNumber>74</HouseNumber>
 <MonthOfBirth>3</MonthOfBirth>
 <Postcode>LE67 8WE</Postcode> 
 <Street>Golf Road</Street>
 <Surname>Peacock</Surname>
 <YearOfBirth>1987</YearOfBirth>
</QueryData>
  "Data": {
  	"Country": "GBR",
  	"DayOfBirth": 25,
  	"Forename": "Gabriel",
  	"HouseNumber": "74",
  	"MonthOfBirth": 3,
  	"Postcode": "LE67 8WE",
  	"Street": "Golf Road",
  	"Surname": "Peacock",
  	"YearOfBirth": 1987
}

Response

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

Example Response

<W2DataEkycGlobal043Result>
    <DataSources>
        <!-- An array of MatchingSource elements --> 
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>
                { true | false }
            </AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>
                { 
                    NameAndPersonalId | NameAndAddress | NameAndDateOfBirth |
                    NameAndAddressAndDateOfBirth
                }
            </MatchingCriteria>
            <NumberOfMatches>           
                { 0 - 1 }
            <NumberOfMatches>
            <Source>
               {
                    0 = NotAssigned 
                    1 = ElectoralRoll 
                    8 = Credit
                    9 = Government
                   11 = Consumer
                   12 = Utility
                   15 = Postal
                }            
            <Source>
        </MatchingSource>
    </DataSources>
    <InterpretResult>
        { 
            NotPerformed | Pass | Fail | Refer | NoInterpretPerformed 
        }
    </InterpretResult>
    <Message>
        { A message containing additional information about the call }
    </Message>
    <TransactionResult>
        {
            None | Success | SuccessNoResults | SuccessIncompleteResults |
            MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
            NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
        }
    </TransactionResult>
    <RawResponse>
      [
        {
            "DataSource": "DS", 
            "FirstNameMatch":"Full|Initial|NoMatch",
            "SurnameMatch":"Full|Partial|NoMatch", 
            "DobMatch": "Full|Partial|NoMatch",
            "AddressMatch": "Full|Partial|NoMatch",
            "SsnMatch": "Full|Partial|NoMatch"
        }
      ]
   </RawResponse>
   <SsnMatch>true|false</SsnMatch>   
 </W2DataEkycGlobal043Result>
      "w2DataEkycGlobal043Result": {
       	"rawResponse": "{\"DataSource\":\"TESTDB\",\"FirstNameMatch\":\"Full\",\"SurnameMatch\":\"Full\",\"DobMatch\":\"Full\",\"AddressMatch\":\"Full\",\"SsnMatch\":null}",
       	"ssnMatch": false,
       	"dataSources": [{
       			"allowMultipleRecordsAsSeparateDataSources": true,
       			"matchingCriteria": "NameAndAddressAndDateOfBirth",
       			"numberOfMatches": 1,
       			"source": 11
       		}
       	],
       	"interpretResult": "Pass",
       	"message": "Matching performed using 11 sources as per profile",
       	"transactionResult": "Success"
       }

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

Datasources = There will only ever be zero or 1 matching source  element.

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

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

NumberOfMatches = Will only ever be zero or 1.

Source = The source of the data match. E.g. Teleco

Transaction Result

HaltTriggered False
ServiceTransactionResult - Success
- SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated
-SuccessNoResults - No matches found
- ServerErrorGeneralError - An error occurred
- ServiceFailureError- Unable to contact third party service
- ClientErrorInsufficientInformation - Required field not supplied or insufficient/invalid information- ClientErrorInformationFormatInvalid - Address fields cannot contain commas
ServiceInterpretResult - NotPerformed - An error occurred and the search was not performed
- Pass
- Fail
- Inconclusive
- NotApplicable - Validation has failed, please check ValidationResult for further details.
ServiceTransactionResultMessage Usually empty, can contain optional information such as too many matches etc.
ValidationResult - Pass
- NotPerformed - No search occurred to match against
- Fail - MissingMandatoryField or PatternNotMatched

Sandbox

Sandbox mode can be used to test the service. By setting the following query option and sending some the below query data we will return a pre-configured response without actually calling our suppliers.

Example Request - W2 Data Ekyc Global Singlesource 043

{
    "Bundle": "W2_DATA_EKYC_GLOBAL_SINGLESOURCE_043",
    "Data": {
        "Forename": "Michael",
        "Surname": "Tschank",
        "HouseNumber": "51",
        "Street": "Nobilegasse",
        "City":"Wien",
        "Postcode": "1150"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

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

Sandbox Example Cases

      (Click on a sandbox case to see the service result data here)
      
Forename Surname Day Of Birth Month Of Birth Year Of Birth PersonalId (SSN) Flat House Name/Number Street County Postcode Region Country
Amantzi Acevedo 12 7 1979 53 Rua do Paseo 41907
Bernadette McLennan 22 12 1972 78 Moira Road Cork IRL
Bryan Roy 17 7 1948 521905310 293 Clearview Drive 80030 CO USA
Faith Long 7 9 1982 508824444 795 Rollins Road 69131 NE USA
Gabriel Peacock 25 3 1987 74 Golf Road LE67 8WE
Isabelle Warner 3 10 1988 87 Jubilee Drive NR29 3UY
Milla Ingham 30 12 1955 48 Wigley Street 5043
Nuala Keogh 22 11 1980 16 Woodbrook Heights Sligo IRL
Ralph Kaestner 22 12 1948 67 Gruenauer Strasse 21272
Sabine Dupuis 6 8 1983 88 rue Victor Hugo 60200
Susan Barker 28 9 1959 537430927 2071 McDonald Avenue 34744 FL USA
Teague Mullen 13 1 1949 8 Hospital Road Wexford IRL

Country Data

The following table shows the countries supported by the W2 Global Ekyc Global Singlesource 043 service.

ISO Code Country
ALB Albania
ARE United Arab Emirates
ARG Argentina
ARM Armenia
AUS Australia
AZE Azerbaijan
BEL Belgium
BEN Benin
BGR Bulgaria
BIH Bosnia And Herzegovina
BLR Belarus
BMU Bermuda
BRN Brunei Darussalam
CAN Canada
CHE Switzerland
CHL Chile
CHN China
CIV Côte D`ivoire/Ivory Coast
CMR Cameroon
CYM Cayman Islands
CZE Czech Republic
DEU Germany
DNK Denmark
EGY Egypt
ESP Spain
EST Estonia
FIN Finland
FRA France
GBR United Kingdom
GEO Georgia
GIB Gibraltar
GRC Greece
HKG Hong Kong
HRV Croatia
HUN Hungary
IDN Indonesia
IND India
IRL Ireland
IRN Iran, Islamic Republic Of
ISL Iceland
ISR Israel
ITA Italy
KAZ Kazakstan
KGZ Kyrgyzstan
LIE Liechtenstein
LTU Lithuania
LUX Luxembourg
LVA Latvia
MAR Morocco
MCO Monaco
MDA Moldova, Republic Of
MEX Mexico
MYS Malaysia
NLD Netherlands
NOR Norway
NZL New Zealand
OMN Oman
PAK Pakistan
POL Poland
PRI Puerto Rico
PRT Portugal
PSE Palestine
QAT Qatar
ROU Romania
RUS Russian Federation
SGP Singapore
SVK Slovakia
SWE Sweden
TJK Tajikistan
TKM Turkmenistan
TUR Turkey
UKR Ukraine
USA United States
UZB Uzbekistan
VEN Venezuela
ZAF South Africa

W2 Data Address Lookup 024


W2DataAddressLookup024Service is an address verification service. It provides a fully-formed address where partial details are provided. If there are multiple possible matches, it provides the list of them, up to a limit of 100.

Product Code: W2-DATA-ADDRESS_LOOK_UP-024

Properties
The following properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes
HouseName String 26 Optional  
HouseNumber String 26 Optional  
Postcode String 8 Mandatory  
Street String 40 Optional  
City String 20 Optional  
Country String 3 Optional  If set, must be a valid three-letter ISO country code as described here. If not set, the search will be within the United Kingdom (GBR)

Notes

Usually this service is part of a larger bundle and appears toward the start of the workflow.
Each address match will have an AddressId element. You can use this address code to call the service again and retrieve that specific address only at no cost. To do this add a QueryOptions property with key AddressLookupRef and with the address code as the value.
If this QueryOptions parameter is provided the above QueryData will be ignored.

Response

Example Response

<W2DataAddressLookUp024Result>
 <!-- One or more of these -->
 <Results>
	<W2DataAddressLookUp024Response>
	   <AddressLookupRef>TEST0004494</AddressLookupRef>
	   <Country>GBR/>
           <HouseName />
           <HouseNumber />
           <SubBuildingName>Flat 12</SubBuildingName>
           <DepartmentName/>
           <DependentLocality/>
           <DependentThroughfare/>
           <DoubleDependentLocality/>
           <OrganisationName/>
           <PoBox/> 
           <Postcode>IV448TZ</Postcode> 
           <PostTown>TRAINING TOWN</PostTown> 
           <Thoroughfare>Heathfield House</Thoroughfare>
           <AddressLine1>Flat 12 Heathfield House</AddressLine1>
           <AddressLine2>TRAINING TOWN  IV448TZ</AddressLine2>
           <AddressLine3>United Kingdom</AddressLine3>
           <AddressSummary>Flat 12, Heathfield House, TRAINING TOWN, IV448TZ, United kingdom</AddressSummary> 
        </W2DataAddressLookUp024Response> 
 </Results> 
</W2DataAddressLookUp024Result>
"w2DataAddressLookUp024Result": {
	"results": [{
			"addressLookupRef": "W2AR0001-0001-0001-0003",
			"addressSummary": "42 Some Street, Some Town, HU12 9FL",
			"buildingNumber": "42",
			"postTown": "Some Town",
			"postcode": "HU12 9FL",
			"thoroughfare": "Some Street"
		}
	]
}

Transaction Result

HaltTriggered False
ServiceTransactionResult - Success
- ClientErrorInsufficientInformationRequired field not supplied
ServiceInterpretResult - OneResult
- MultipleResults
- NoResults
- NotPerformed - An error occurred and the search was not performed
ServiceTransactionResultMessage Usually empty, can contain optional information such as too many matches etc.
ValidationResult - NotApplicable - No search occurred to match against-
FailMissingMandatoryField or PatternNotMatched

 

Sandbox

Example Request - W2 Data Address Lookup 024

{
    "Bundle": "KYC_ADDRESS_LOOKUP_024",
    "Data": {
        "Forename": "Michael",
        "Surname": "Tschank",
        "HouseNumber": "51",
        "Street": "Nobilegasse",
        "City":"Wien",
        "Postcode": "1150"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}
HaltTriggered False
ServiceTransactionResult Success
ServiceInterpretResult NoResults
ServiceTransactionResultMessage “This call was generated using sandbox mode”
ValidationResult NotApplicable
HaltTriggered False
ServiceTransactionResult Success
ServiceInterpretResult MultipleResults
ServiceTransactionResultMessage “This call was generated using sandbox mode”
ValidationResult NotApplicable
HaltTriggered False
ServiceTransactionResult Success
ServiceInterpretResult OneResult
ServiceTransactionResultMessage “This call was generated using sandbox mode”
ValidationResult NotApplicable
HaltTriggered False
ServiceTransactionResult Success
ServiceInterpretResult MultipleResults
ServiceTransactionResultMessage “This call was generated using sandbox mode”
ValidationResult NotApplicable
HaltTriggered False
ServiceTransactionResult Success
ServiceInterpretResult OneResult
ServiceTransactionResultMessage “This call was generated using sandbox mode”
ValidationResult NotApplicable
HaltTriggered False
ServiceTransactionResult Success
ServiceInterpretResult OneResult
ServiceTransactionResultMessage “This call was generated using sandbox mode”
ValidationResult NotApplicable

W2 Data Email Validate 010


W2DataEmailValidate010Service provides a range of fraud intelligence services using the email address as a key data point to generate a customization risk score. User can search data by email address or by a combination of email and IP address. 

Product Code: W2-DATA-EMAIL_VALIDATE-010

Properties

The following properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes
Email String 300 Mandatory  
IP String 40 Optional  IPv4

Response

Example Response - W2DataEmailValidate010Service

<QueryEmailAndIPResponse>
    <Company/>
    <Country>US</Country>
    <Dob>01/01/1980</Dob>
    <DomainAge>1997-06-18T07:00:00Z</DomainAge>
    <DomainCategory/>
    <DomainCompany/>
    <DomainCorporate/>
    <DomainCountryMatch i:nil="true"/>
    <DomainCountryName>United+States</DomainCountryName>
    <DomainExists>Yes</DomainExists>
    <DomainName>test.com</DomainName>
    <DomainRelevantInfo>Valid Domain from United States</DomainRelevantInfo>
    <DomainRelevantInfoID>508</DomainRelevantInfoID>
    <DomainRiskCountry i:nil="true"/>
    <DomainRiskLevel>Moderate</DomainRiskLevel>
    <DomainRiskLevelID>3</DomainRiskLevelID>
    <EAAdvice>Fraud Review</EAAdvice>
    <EAAdviceID>1</EAAdviceID>
    <EAReason>Fraud Level 3</EAReason>
    <EAReasonID>1</EAReasonID>
    <EARiskBand>Fraud Score 900 to 999</EARiskBand>
    <EARiskBandID>6</EARiskBandID>
    <EAScore>973</EAScore>
    <EAStatusID>2</EAStatusID>
    <EName>UNKNOWN+P</EName>
    <Email>[email protected]</Email>
    <EmailAge/>
    <EmailExists>Yes</EmailExists>
    <Fraud_type>Card Not Present Fraud</Fraud_type>
    <Gender/>
    <IpAddress>100.100.100.100</IpAddress>
    <IpDomain/>
    <IpTimezone/>
    <Ip_Anonymousdetected/>
    <Ip_CallingcCode i:nil="true"/>
    <Ip_City/>
    <Ip_CityConf/>
    <Ip_ContinentCode/>
    <Ip_CorporateProxy/>
    <Ip_Country/>
    <Ip_CountryCode/>
    <Ip_Countryconf/>
    <Ip_Isp/>
    <Ip_MetroCode/>
    <Ip_NetSpeedCell/>
    <Ip_Org/>
    <Ip_PostalCode/>
    <Ip_PostalConf/>
    <Ip_Region/>
    <Ip_RegionConf/>
    <Ip_Reputation>Good</Ip_Reputation>
    <Ip_RiskLevel>Moderate</Ip_RiskLevel>
    <Ip_RiskLevelId>3</Ip_RiskLevelId>
    <Ip_RiskReason>Moderate Risk</Ip_RiskReason>
    <Ip_RiskReasonId>301</Ip_RiskReasonId>
    <Ip_RisksCore/>
    <Ip_UserType/>
    <Location>North+Pole,+Canada</Location>
    <Title/> 
</QueryEmailAndIPResponse>
"w2DataEmailValidate010EmailAndIpResult": {
	"company": "dave+Corp",
	"country": "US",
	"dob": "",
	"domainAge": "2012-05-01T07:00:00Z",
	"domainCategory": "Fraud+Mitigation+Services",
	"domainCompany": "dave+Corp",
	"domainCorporate": "Yes",
	"domainCountryName": "United+States",
	"domainExists": "Yes",
	"domainName": "dave.com",
	"domainRelevantInfo": "Low Risk Domain",
	"domainRelevantInfoID": "510",
	"domainRiskLevel": "Low",
	"domainRiskLevelID": "4",
	"eaAdvice": "Lower Fraud Risk",
	"eaAdviceID": "3",
	"eaReason": "Email Created at least  2.4  Years Ago",
	"eaReasonID": 14,
	"eaRiskBand": "Fraud Score 101 to 300",
	"eaRiskBandID": "2",
	"eaScore": "181",
	"eaStatusID": "4",
	"eName": "",
	"email": "[email protected]",
	"emailAge": "",
	"emailExists": "Not Sure",
	"fraud_type": "",
	"gender": "",
	"location": "",
	"title": ""
}

The table below contains explanations for the fields returned in the response:

Field Type Explanation
Company String The name of the company in which the email belongs
Country String Domain Country Code
Dob String The date of birth for the person who owns the email address.
DomainAge datetime The creation date of the domain. This field may be blank for
some queries. Returned in UTC format
DomainCategory String The category type for the company in which the email belongs.
DomainCompany String  The domain of the company in which the email belongs.
DomainCorporate String Possible values:
Yes
No
Null
DomainCountryMatch String FUTURE ENHANCEMENT – The logic for this field will be implemented at a later date
This field can be either Yes, No, or blank. Value indicates whether the country of the Email matched the billing address country. A mismatch indicates a higher risk of fraud. If no country input was provided, this field will be left blank
Pre-defined Input Parameters required to return a value:
- billcountry
This field can be either Yes, No, or blank. Value indicates whether the country of the Email matched the billing address country. A mismatch indicates a higher risk of fraud. If no country input was provided, this field will be left blank
Pre-defined Input Parameters required to return a value:
- billcountry
DomainCountryName String The country of the company in which the email belongs.
DomainExists String Verification of whether the email domain exists. Values are:
Yes
No
Not Anymore
Not Sure
DomainName  String The email address domain name.
DomainRelevantInfo  Int The relevant info description. See domainrelevantinfoID
DomainRelevantInfoID  Int 501 - NoKnownRisk
502 - RiskCountry
503 - HighRiskCategory
504 - HighRiskDomain
505 - RecentlyCreated
506 - InvalidDomain
507 - LowRiskCategory
508 - ValidDomainFromCountry
509 - ValidDomain
510 - LowRiskDomain
511 - ReviewRiskCategory
521 - LowRiskEmailDomainforCompany
522 - LowRiskEmailDomainforIndustry
523 - LowRiskEmailDomainforNetwork
524 - VeryLowRiskEmailDomainforCompany
525 - VeryLowRiskEmailDomainforIndustry
526 - VeryLowRiskEmailDomainforNetwork
527 - HighRiskEmailDomainforCompany
528 - HighRiskEmailDomainforIndustry
529 - HighRiskEmailDomainforNetwork
530 - VeryHighRiskEmailDomainforCompany
531 - VeryHighRiskEmailDomainforIndustry
532 - VeryHighRiskEmailDomainforNetwork
DomainRiskCountry  String FUTURE ENHANCEMENT – The logic for this field will be implemented at a later date
This field can be either Yes or No. The field will be set to “Yes”if the country associated with the email’s domain is
associated with a high risk of fraud; otherwise, it will be set to “No”Pre-defined Input Parameters required to return a value:
- billcountry
DomainRiskLevel  String The risk level description. See domainrisklevelID above.
DomainRiskLevelID  Int  Possible values:
1 - VeryHigh
2 - High
3 - Moderate
4 - Low
5 - VeryLow
6 - Review
EAAdvice  String Serves as a guideline based on the risk associated with the
email address.
EAAdviceID  String Serves as a guideline based on the risk associated with the email address.1 - Fraud Review
2 - Unclear Risk
3 - Lower Fraud Risk
4 - Moderate Fraud Risk
11 - Data Entry Review
1001 - Custom Fraud Score Define
EAReason  String Provides relevant information to understand the Fraud Score. See above for all possible values.
EAReasonID  String Possible values are:
1 - Fraud Level X
2 - Email does not exist
3 - Domain does not exist
4 - Risky Domain
5 - Risky Country
6 - Risky Email Name
7 - Numeric Email
8 - Limited History for Email
9 - Email Recently Created
10 - Email linked to High Risk Account
11 - Good Level X
12 - Low Risk Domain
13 - Email Created X Years Ago
14 - Email Created at least X Years Ago
15 - Email Linked to Low Risk Account
16 - InvalidEmailSyntax
17 - Mailbox is Full
18 - Mailbox is Inactive
19 - Corporate Link
20 - Mailbox is Expired
21 - User Defined Risk Domain
22 - User Defined Low Risk Domain
23 - Velocity Level X
24 - Risk Domain Category
25 - Low Risk Domain Category
26 - High Risk Email Account
27 - Email Created at least X Months Ago
28 - Valid Email From X Country Domain
29 - Valid Domain From X Country
30 - Potentially Breached Email
31 - Fraud Emails Linked X
32 - Good Email Linked Level X
33 - Fraud IP Level X
34 - Good IP Level X
35 - Risky Proxy IP
36 - Risk IP Behavior
37 - Risky IP Country
38 - IP Not Found
39 - IP Invalid Syntax Format
40 - High Risk IP
51 - Good Popularity
52 - Risk Domain Category Review
53 - Tumbling Abuse
54 - Email Enumeration for Company
55 - Email Enumeration for Industry
61 - Customer Email not Provided
62 - Risk Email Pattern
63 - Suspected Fraud
101 - Low Risk Email Domain for Company
102 - Low Risk IP for Company
103 - Low Risk IP Geolocation for Company
104 - Low Risk Email Domain for Industry
105 - Low Risk IP for Industry
106 - Low Risk IP Geolocation for Industry
107 - Low Risk Email Domain for Network
108 - Low Risk IP for Network
109 - Low Risk IP Geolocation for Network
110 - Very Low Risk Email Domain for Company
111 - Very Low Risk IP for Company
112 - Very Low Risk IP Geolocation for Company
113 - Very Low Risk Email Domain for Industry
114 - Very Low Risk IP for Industry
115 - Very Low Risk IP Geolocation for Industry
116 - Very Low Risk Email Domain for Network
117 - Very Low Risk IP for Network
118 - Very Low Risk IP Geolocation for Network
121 - High Risk Email Domain for Company
122 - High Risk IP for Company
123 - High Risk IP Geolocation for Company
124 - High Risk Email Domain for Industry
125 - High Risk IP for Industry
126 - High Risk IP Geolocation for Industry
127 - High Risk Email Domain for Network
128 - High Risk IP for Network
129 - High Risk IP Geolocation for Network
130 - Very High Risk Email Domain for Company
131 - Very High Risk IP for Company
132 - Very High Risk IP Geolocation for Company
133 - Very High Risk Email Domain for Industry
134 - Very High Risk IP for Industry
135 - Very High Risk IP Geolocation for Industry
136 - Very High Risk Email Domain for Network
137 - Very High Risk IP for Network
138 - Very High Risk IP Geolocation for Network
EARiskBand String You can create customised risk levels for your business. You can also view specific elements or attributes associated with an email and customise results. Emailage provides 6 preloaded and recommended ‘Risk Band’ score ranges.
Admins can update these ranges or add up to 20 new ranges
EARiskBandID  Int You can create customised risk levels for your business. You can also view specific elements or attributes associated with an email and customise results. Emailage provides 6 preloaded and recommended ‘Risk Band’ score ranges.
Admins can update these ranges or add up to 20 new ranges
EAScore  String Proprietary algorithm that calculates the fraud risk
associated with an email address.
EAStatusID  String The possible values of EAStatusID:
0 - GeneralError
1 - Certified
2 - Verified
3 - EmailNonxistent
4 - ValidDomain
5 - DomainInexistent
EName  String The name of the person who owns the email address
Email  String Email address provided for the query
EmailAge  datetime The creation date of the email. This field may be blank for some queries. Returned in UTC format
EmailExists  String Verification of whether the email address exists. Values are:
Yes
No
Not Anymore
Not Sure
Fraud_type  String This field provides the type of fraud marked for the queried value. If multiple companies within our system marked the queried value as fraud, we provide the fraud type of the latest company that made the marking. Please note: this field will ONLY be returned for queries that were marked as
fraud in our system. Possible values are:
-Card Not Present Fraud
-Customer Dispute (Chargeback)
-First Party Fraud
-First Payment Default
-Identify Theft (Fraud Application)
-Identify Theft (Account Take Over)
-Suspected Fraud (Not Confirmed)
-Synthetic ID
-Other
Gender  String The gender of the person who owns the email address
IpAddress  String IP address provided for the query
IpDomain  String The second level domain associated with the IP address.
This will be something like “example.com” or
“example.co.uk”, not “foo.example.com”
IpTimezone  String The time zone associated with the IP address. Time zone names are taken from the IANA time zone database
Ip_Anonymousdetected  String Indicates whether the user’s IP address is an anonymous proxy. The values for this field are:
Yes
No
Ip_CallingcCode  String The calling code (area code) for the IP.
Ip_City  String For US, the city where the IP is located (e.g. San Francisco) 
Ip_CityConf  String  
Ip_ContinentCode  String The continent associated with the IP, e.g. North America
Ip_CorporateProxy  String Indicates whether the user’s IP address is a known
corporate proxy. This field can be either Yes or No.
Ip_Country  String The name of the country associated with the IP.
Ip_CountryCode  String A two-character ISO 3166-1 country code for the country associated with the IP address. In addition to the standard codes, we may also return one of the following:
A1 - an anonymous proxy.
A2 - a satellite provider.
EU - an IP in a block used by multiple European countries.
AP - an IP in a block used by multiple Asia/Pacific region countries. The US country code is returned for IP addresses associated with overseas US military bases.
Ip_Countryconf String  
Ip_Isp  String The name of the service provider for the IP (e.g. Optimum Online).
Ip_MetroCode  String The metro code associated with the IP address. These are only available for IP addresses in the US.
Ip_NetSpeedCell  String The network speed associated with the IP address. This can be one of the following values:
Dialup
Cable/DSL
Corporate
Cellular
Ip_Org  String The organization associated with the IP (e.g. HSA-UWC).
Ip_PostalCode  String  
Ip_PostalConf  String  
Ip_Region  String For US, the state where the IP is located (e.g. California).
Ip_RegionConf  String  
Ip_Reputation  String The reputation of the proxy, indicates the likelihood that the user’s IP address is an open proxy. The values for this field are:
Good
Moderate
High Risk
Very High Risk
Ip_RiskLevel  String  See Ip_RiskLevelId
Ip_RiskLevelId  String Provides the fraud risk for the IP Address, the values for this field are:
1 - Very High
2 - High
3 - Moderate
4 - Low
5 - Very Low
Ip_RiskReason  String  See Ip_RiskReasonId
Ip_RiskReasonId  String Provides relevant information (most important reason) to understand the IP Risk Level:
301 - Moderate Risk
307 - Risk Country
308 - Anonymous Proxy
309 - Risk Proxy
310 - IP Not Found
311 - Moderate By Proxy Reputation And Country Code
312 - Invalid IP Syntax
313 - TOR Network IP
321 - Low Risk IP for Company
322 - Low Risk IP Geolocation for Company
323 - Low Risk IP for Industry
324 - Low Risk IP Geolocation for Industry
325 - Low Risk IP for Network
326 - Low Risk IP Geolocation for Network
327 - Very Low Risk IP for Company
328 - Very Low Risk IP Geolocation for Company
329 - Very Low Risk IP for Industry
330 - Very Low Risk IP Geolocation for Industry
331 - Very Low Risk IP for Network
332 - Very Low Risk IP Geolocation for Network
333 - High Risk IP for Company
334 - High Risk IP Geolocation for Company
335 - High Risk IP for Industry
336 - High Risk IP Geolocation for Industry
337 - High Risk IP for Network
338 - High Risk IP Geolocation for Network
339 - Very High Risk IP for Company
340 - Very High Risk IP Geolocation for Company
341 - Very High Risk IP for Industry
342 - Very High Risk IP Geolocation for Industry
343 - Very High Risk IP for Network
344 - Very High Risk IP Geolocation for Network
Ip_RisksCore  String  
Ip_UserType  String The user type associated with the IP address. This will be one of the following values:
business
cafe
cellular
college
contentDeliveryNetwork
government
hosting
library
military
residential
router
school
searchEngineSpider
traveler
Location  String The location of the person who owns the email address.
Title  String The title of the email owner.

  ServiceTransactions Result

HaltTriggered False
ServiceTransactionResult Failed
ServiceInterpretResult NotApplicable
ServiceTransactionResultMessage “Required field not supplied - Email”
ValidationResult Failed
HaltTriggered False
ServiceTransactionResult Success
ServiceInterpretResult OneResult
ServiceTransactionResultMessage “This call was generated using sandbox mode”
ValidationResult Pass

There are also the following addresses that return different results = “[email protected]”, “[email protected]”, “[email protected]” and “[email protected]”.

Sandbox

Sandbox mode can be used to test the service. By setting the following query option the API will only respond with mocked requests from pre-configured responses.

Sandbox Request

Example Request

{
    "Bundle": "KYC_EMAIL_VALIDATE",
    "Data": {
        "Email":"[email protected]"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}
<QueryData>
  <Email>[email protected]</Email>
</QueryData>
<QueryOptions>
  <KeyValueOfstringstring>
    <Key>Sandbox</Key>
    <Value>True</Value>
  </KeyValueOfstringstring>
</QueryOptions>

Sandbox Response

Example Response

<W2DataEmailValidate010EmailAndIpResult>
  <Company>Emailage+Corp</c:Company>
  <Country>US</c:Country>
  <Dob/>
  <DomainAge>2012-05-01T07:00:00Z</DomainAge>
  <DomainCategory>Fraud+Mitigation+Services</DomainCategory>
  <DomainCompany>Emailage+Corp</DomainCompany>
  <DomainCorporate>Yes</DomainCorporate>
  <DomainCountryMatch i:nil="true"/>
  <DomainCountryName>United+States</DomainCountryName>
  <DomainExists>Yes</DomainExists>
  <DomainName>emailage.com</DomainName>
  <DomainRelevantInfo>Low Risk Domain</DomainRelevantInfo>
  <DomainRelevantInfoID>510</DomainRelevantInfoID>
  <DomainRiskCountry i:nil="true"/>
  <DomainRiskLevel>Low</DomainRiskLevel>
  <DomainRiskLevelID>4</DomainRiskLevelID>
  <EAAdvice>Lower Fraud Risk</EAAdvice>
  <EAAdviceID>3</EAAdviceID>
  <EAReason>Email Created at least 2.4 Years Ago</EAReason>
  <EAReasonID>14</EAReasonID>
  <EARiskBand>Fraud Score 101 to 300</EARiskBand>
  <EARiskBandID>2</EARiskBandID>
  <EAScore>181</EAScore>
  <EAStatusID>4</EAStatusID>
  <EName/>
  <Email>[email protected]</Email>
  <EmailAge/>
  <EmailExists>Not Sure</EmailExists>
  <Fraud_type/>
  <Gender/>
  <IpAddress i:nil="true"/>
  <IpDomain i:nil="true"/>
  <IpTimezone i:nil="true"/>
  <Ip_Anonymousdetected i:nil="true"/>
  <Ip_CallingcCode i:nil="true"/>
  <Ip_City i:nil="true"/>
  <Ip_CityConf i:nil="true"/>
  <Ip_ContinentCode i:nil="true"/>
  <Ip_CorporateProxy i:nil="true"/>
  <Ip_Country i:nil="true"/>
  <Ip_CountryCode i:nil="true"/>
  <Ip_Countryconf i:nil="true"/>
  <Ip_Isp i:nil="true"/>
  <Ip_MetroCode i:nil="true"/>
  <Ip_NetSpeedCell i:nil="true"/>
  <Ip_Org i:nil="true"/>
  <Ip_PostalCode i:nil="true"/>
  <Ip_PostalConf i:nil="true"/>
  <Ip_Region i:nil="true"/>
  <Ip_RegionConf i:nil="true"/>
  <Ip_Reputation i:nil="true"/>
  <Ip_RiskLevel i:nil="true"/>
  <Ip_RiskLevelId i:nil="true"/>
  <Ip_RiskReason i:nil="true"/>
  <Ip_RiskReasonId i:nil="true"/>
  <Ip_RisksCore i:nil="true"/>
  <Ip_UserType i:nil="true"/>
  <Location/>
  <Title/>
</W2DataEmailValidate010EmailAndIpResult>
"w2DataEmailValidate010EmailAndIpResult": {
	"company": "Emailage+Corp",
	"country": "US",
	"dob": "",
	"domainAge": "2012-05-01T07:00:00Z",
	"domainCategory": "Fraud+Mitigation+Services",
	"domainCompany": "Emailage+Corp",
	"domainCorporate": "Yes",
	"domainCountryName": "United+States",
	"domainExists": "Yes",
	"domainName": "emailage.com",
	"domainRelevantInfo": "Low Risk Domain",
	"domainRelevantInfoID": "510",
	"domainRiskLevel": "Low",
	"domainRiskLevelID": "4",
	"eaAdvice": "Lower Fraud Risk",
	"eaAdviceID": "3",
	"eaReason": "Email Created at least  2.4  Years Ago",
	"eaReasonID": 14,
	"eaRiskBand": "Fraud Score 101 to 300",
	"eaRiskBandID": "2",
	"eaScore": "181",
	"eaStatusID": "4",
	"eName": "",
	"email": "[email protected]",
	"emailAge": "",
	"emailExists": "Not Sure",
	"fraud_type": "",
	"gender": "",
	"location": "",
	"title": ""
}

ID Check UK Driving Licence Number


ID Check UK Driving Licence Number service ID Check UK Driving Licence Number service. IDCheckUKDrivingLicenceNumberService is a driving licence verification service. It checks the validity of the driving licence number, and checks the driving licence number against any additional supplied optional parameters.

Product Code: W2-DATA-DRIVING_LICENCE_NUMBER-UK-024

Properties The following properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes
DrivingLicenceNumber String   Mandatory  
Surname String   Optional  
DayOfBirth Int   Optional  
MonthOfBirth Int   Optional  
YearOfBirth Int   Optional  ”yyyy”

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

Request

Example Request

<QueryData>                   
  <DrivingLicenceNumber>RUSSF802087TG9EV11</DrivingLicenceNumber>               
</QueryData>
{
    "Bundle": "KYC_UKDrivingLicenceMRZ",
    "Data": {
        "DrivingLicenceNumber":"RUSSF802087TG9EV11"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

Response

Sample Response


<IDCheckUKDrivingLicenceNumberResult>  
<!-- Errors found on the entered driving licence number, if any. -->
  <ValidationErrors/>
</IDCheckUKDrivingLicenceNumberResult>
"idCheckUKDrivingLicenceNumberResult": {
	"validationErrors": []
}

Sample Response - Number not recognised

<IDCheckUKDrivingLicenceNumberResult>
  <ValidationErrors>
    <string>Licence number is not 18 characters</string>
  </ValidationErrors>
</IDCheckUKDrivingLicenceNumberResult>

        "idCheckUKDrivingLicenceNumberResult": {
        	"validationErrors": [
        		"Licence number is not 18 characters"
        	]
        }

 

Sandbox

Example 1

<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>Pass</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
    "HaltTriggered": "False",
    "ServiceTransactionResult": "Success",
    "ServiceInterpretResult": "Pass",
    "ServiceTransactionResultMessage": "This call was generated using sandbox mode",
    "ValidationResult": "NotApplicable"
}

Example 2

<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>Inconclusive</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
    "HaltTriggered": "False",
    "ServiceTransactionResult": "Success",
    "ServiceInterpretResult": "Inconclusive",
    "ServiceTransactionResultMessage": "This call was generated using sandbox mode",
    "ValidationResult": "NotApplicable"
}

Example 3

<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>Inconclusive</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
    "HaltTriggered": "False",
    "ServiceTransactionResult": "Success",
    "ServiceInterpretResult": "Inconclusive",
    "ServiceTransactionResultMessage": "This call was generated using sandbox mode",
    "ValidationResult": "NotApplicable"
}

ID Check Passport MRZ


ID Check Passport MRZ service IDCheckPassportMRZService is a passport verification service. It checks the validity of the machine readable zone (MRZ), and checks the MRZ against any additional supplied optional parameters.

Product Code: W2-DATA-PASSPORT_MRZ-024

Properties

The following properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes
MRZ String   Mandatory  
PassportNumber String   Optional  
Country IsoCountriesEnum   Optional Validates against the MRZ’s nationality if supplied (does not validate against the Country of Issue).Cannot be “None”
ForeName String   Optional  
Surname String   Optional  
MiddleNames  String   Optional  
DayOfBirth Int    Optional  
MonthOfBirth Int    Optional  
YearOfBirth Int    Optional  ”yyyy”
Gender String   Optional Must be “M” or “F” if supplied

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

Request

Sample Request

<QueryData>                   
  <PassportNumber>MRZ... Data truncated</PassportNumber>               
</QueryData>
"Data": {
	"MRZ": "MRZ... Data truncated"
}

Response

Sample Response

<IDCheckPassportMRZResult>  <ValidationErrors>
    <string>{ e.g. MRZ is not 88 characters}</string>
  </ValidationErrors>
</IDCheckPassportMRZResult>
"idCheckPassportMRZResult": {
	"validationErrors": [
	"e.g. MRZ is not 88 characters"
	]
}

Sandbox

Example Request

<QueryData>                   
  <PassportNumber>P< CZESPECIMIN<< VZOR<<<<<<<<<<<<<<<<<<<<<<<<< 99003853< 1CZE1101018M120704611010111<<<<<< 94</PassportNumber>               
</QueryData>
{
    "Bundle": "KYC_PassportMRZ",
    "Data": {
        "PassportNumber":"P< CZESPECIMIN<< VZOR<<<<<<<<<<<<<<<<<<<<<<<<< 99003853< 1CZE1101018M120704611010111<<<<<< 94"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

Example 1

<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>Pass</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
    "HaltTriggered": "False",
    "ServiceTransactionResult": "Success",
    "ServiceInterpretResult": "Pass",
    "ServiceTransactionResultMessage": "This call was generated using sandbox mode",
    "ValidationResult": "NotApplicable"
}

Example 2

<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>Inconclusive</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
    "HaltTriggered": "False",
    "ServiceTransactionResult": "Success",
    "ServiceInterpretResult": "Inconclusive",
    "ServiceTransactionResultMessage": "This call was generated using sandbox mode",
    "ValidationResult": "NotApplicable"
}

 


Example 3


<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>Inconclusive</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
    "HaltTriggered": "False",
    "ServiceTransactionResult": "Success",
    "ServiceInterpretResult": "Inconclusive",
    "ServiceTransactionResultMessage": "This call was generated using sandbox mode",
    "ValidationResult": "NotApplicable"
}

  

W2 Data IDV Check 013

1. Introduction

W2_DATA_IDVCHECK_013 is an identity verification service that uses physical documentation to verify an individual. 

Product Code: W2-DATA-IDVCHECK-013

2. A Note About The Document Upload 

Use of this service is a two-part process, in that before making a call to a bundle containing this service, any documents that are required must already be uploaded to our systems by using the DocumentUpload endpoint. Details on this service method can be found in the “UploadDocument” section of this page.

3. Callback Preference 

This service can take up to 24 hours but usually less than 2 hours to give a final response. This is because it involves a manual human intelligence task. Because of this, details of how this response should be communicated need to be agreed with W2 during the onboarding process. The current options are: 

  • Email
  • HTTP POST request to a specified endpoint (Formatted in XML or Json)

This preference must be agreed with W2 during the on-boarding process in order to use the service. 

4. Query Data

The following query data properties pertain to this service. 

Property Name Type Optional/Mandatory Notes
Forename String Mandatory  
Surname String Mandatory  
HouseName String Mandatory if no HouseNumber given  
HouseNumber String Mandatory if no HouseName given  
Postcode String Mandatory  
DayOfBirth Int Mandatory  
MonthOfBirth Int Mandatory  
YearOfBirth Int Mandatory (yyyy)
Country IsoCountriesEnum Mandatory Cannot be “None”
Gender String Optional Must be “M” or “F” if supplied
PhoneNumber String Optional  
MobileNumber String Optional  
Flat String Optional  
Street String Optional  
City String Optional  
County String Optional   

In addition, an image of the formal identification document must be sent using the UploadFile object, which sits alongside QueryData as part of the ServiceRequest object. It needs to contain the following fields: 

Property Name Type Optional/Mandatory Notes
UploadedFiles UploadedFile[] Mandatory  

The UploadedFile object(s) needs to contain the following: 

Property Name Type Optional/Mandatory Notes
DocumentUID GUID Mandatory ID of document
Service ServiceEnum Mandatory This must be set to W2_DATA_IDVCHECK_013 

Query Options

The QueryOptions element is optional and is used for optional configuration options. This service uses two possible query options.

Name Possible Values Description
DocumentCategory ID
Address
Both
ID indicates that the document is used for proof of identity (for example a passport) and the service will attempt to verify as such. Address indicates that this is used for proof of address (for example a utility bill) and will attempt to verify as such. If this field is left out then we will assume both.
VerificationAction ID
POA
Either
Both
This value indicates the type of check that desired. ID indicates that a proof of identity check is required. POA indicates a proof of address check is required. Either indicates that verification of one or the other is required. Both indicates that both checks are required. This can be used when the type of document is unknown. If this is specified, any value in DocumentCategory will be ignored.

If ‘ID’, ‘Either’ or ‘POA’ are selected within the VerificationAction field then service is only billed once. ‘Both’ will bill twice as both documents have been verified uniquely.

If this field is left out then we will assume both.

ID documents are Passports, National ID cards, Driving license, Residence Permits. Any other document is not a proof of Identity.

Proof of Address is usually utilities or phone bills or  tax statements. Other kinds of bills may also be accepted.  

5. Immediate Response

The service will then immediately send back a W2_DATA_IDVCHECK_013 result, which is part of the ServiceResult object of the response.

The W2_DATA_IDVCHECK_013 result contains the following fields: 

Property Name Type Possible Outcomes
CallId String This will be a unique ID representing this request. This value is what will link this call to the final decision.
ErrorCode String “0000” if no errors were encountered. Otherwise it will be an error code.
ErrorDesc String “Successful” if the application was successfully submitted. Otherwise it will be a description of the error encountered.

More information on this object can be found in the class documentation here.

A corresponding ServiceTransaction is also sent with the following fields: 

Property Name Type Possible Outcomes
Service ServiceEnum Always “W2_DATA_IDVCHECK_013”
ServiceInterpretResult ServiceTransactionResultCategoryEnum Always “NotApplicable”
ServiceTransactionResult ServiceTransactionResultEnum “Success” if the application was successfully submitted. Otherwise it will be an error label, details on which can be found in Service Transaction Result Message
ServiceTransactionResultMessage String “Application successfully sent” if the application was successfully submitted. Otherwise it will be details of what went wrong
ServiceValidationDetails ServiceValidationResultDetails NULL if QueryData passed validation, otherwise will be a collection of errors explaining why the QueryData is not valid
ValidationResult ValidationResultEnum “Pass” if all validations conditions are met. Otherwise will be details on what needs to be changed in order to pass validation.

More information on this object can be found in the class documentation here. Note that this is a receipt for the request and not the final result. The final result is sent as a second response.

6. Sample SOAP Request / Response 

Sample Request

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>
    <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">            http://tempuri.org/IService/KYCCheck    </Action>
  </s:Header>
  <s:Body>
    <KYCCheck xmlns="http://tempuri.org/">
      <serviceRequest           xmlns:d4p1="http://schemas.datacontract.org/2004/07/NeuromancerLibrary.DataContracts"           xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <d4p1:BundleData>
          <d4p1:BundleName>W2_DATA_IDVCHECK_013</d4p1:BundleName>
        </d4p1:BundleData>
        <d4p1:QueryData>
          <d4p1:City i:nil="true" />
          <d4p1:Country>GBR</d4p1:Country>
          <d4p1:County i:nil="true" />
          <d4p1:DateOfBirthMatchThreshold i:nil="true" />
          <d4p1:DayOfBirth>1</d4p1:DayOfBirth>
          <d4p1:DrivingLicenceNumber i:nil="true" />
          <d4p1:Flat i:nil="true" />
          <d4p1:Forename>John</d4p1:Forename>
          <d4p1:Gender i:nil="true" />
          <d4p1:HouseNumber>1</d4p1:HouseNumber>
          <d4p1:IdCardNumber i:nil="true" />
          <d4p1:Maiden i:nil="true" />
          <d4p1:MiddleNames i:nil="true" />
          <d4p1:MobileNumber i:nil="true" />
          <d4p1:MonthOfBirth>1</d4p1:MonthOfBirth>
          <d4p1:NameQuery i:nil="true" />
          <d4p1:NameQueryMatchThreshold i:nil="true" />
          <d4p1:NationalId i:nil="true" />
          <d4p1:PassportNumber i:nil="true" />
          <d4p1:PhoneNumber i:nil="true" />
          <d4p1:PlaceOfBirth i:nil="true" />
          <d4p1:Postcode>123 AAA</d4p1:Postcode>
          <d4p1:ProfileId i:nil="true" />
          <d4p1:Region i:nil="true" />
          <d4p1:Street i:nil="true" />
          <d4p1:Surname>Smith</d4p1:Surname>
          <d4p1:TaxCode i:nil="true" />
          <d4p1:TravelVisaNumber i:nil="true" />
          <d4p1:YearOfBirth>1980</d4p1:YearOfBirth>
        </d4p1:QueryData>
        <d4p1:QueryOptions />
        <d4p1:ServiceAuthorisation>
          <d4p1:APIKey>ABC</d4p1:APIKey>
          <d4p1:ClientReference i:nil="true" />
          <d4p1:ClientSubaccount i:nil="true" />
          <d4p1:ClientUser i:nil="true" />
          <d4p1:RefersToServiceCallReference i:nil="true" />
        </d4p1:ServiceAuthorisation>
        <d4p1:UploadedFiles>
          <d4p1:UploadedFile>
            <d4p1:DocumentReference i:nil="true" />
            <d4p1:DocumentUID>6e22449c-c979-40b6-88f5-ae9ce4594da9</d4p1:DocumentUID>
            <d4p1:Group i:nil="true" />
            <d4p1:Index i:nil="true" />
            <d4p1:Service>W2_DATA_IDVCHECK_013</d4p1:Service>
          </d4p1:UploadedFile>
          <d4p1:UploadedFile>
            <d4p1:DocumentReference i:nil="true" />
            <d4p1:DocumentUID>b035520a-391e-4182-9026-244178086e55</d4p1:DocumentUID>
            <d4p1:Group i:nil="true" />
            <d4p1:Index i:nil="true" />
            <d4p1:Service>W2_DATA_IDVCHECK_013</d4p1:Service>
          </d4p1:UploadedFile>
        </d4p1:UploadedFiles>
      </serviceRequest>
    </KYCCheck>
  </s:Body>
</s:Envelope>
{    
    "Data": {
        "Country": "GBR",
        "DayOfBirth": 1,
        "Forename": "Johnny",
        "HouseNumber": "44",
        "MonthOfBirth": 1,
        "Postcode": "CF36 5DJ",
        "Surname": "Testy",
        "YearOfBirth": 1990
    },
    "Files": [
        {
            "DocumentReference": "Test Image",
            "Id": "0FF8F8BA-F0BB-4B53-86D6-7185D9019269",
            "Service": "W2_DATA_IDVCHECK_013"
        }
    ]
}

Sample Response

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header />
  <s:Body>
    <KYCCheckResponse xmlns="http://tempuri.org/">
      <KYCCheckResult            xmlns:a="http://schemas.datacontract.org/2004/07/NeuromancerLibrary.DataContracts"            xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:ClientProvidedData>
          <a:ClientReference i:nil="true" />
          <a:ClientSubaccount i:nil="true" />
          <a:ClientUser i:nil="true" />
          <a:RefersToServiceCallReference i:nil="true" />
        </a:ClientProvidedData>
        <a:ProcessRequestResult>
          <b:ServiceResult>
            <b:DirectorUKCheckResult i:nil="true" />
            <b:IDCheckATBravoResult i:nil="true"  />
            <b:IDCheckAddressLookupResult i:nil="true"  />
            <b:IDCheckCHBravoResult i:nil="true"  />
            <b:IDCheckCZBravoResult i:nil="true"  />
            <b:IDCheckDEAlphaResult i:nil="true"  />
            <b:IDCheckDEBravoResult i:nil="true"  />
            <b:IDCheckITBravoResult i:nil="true"  />
            <b:IDCheckNLAlphaResult i:nil="true"  />
            <b:IDCheckNameLookupResult i:nil="true"  />
            <b:IDCheckPassportMRZResult i:nil="true"  />
            <b:IDCheckRUBravoResult i:nil="true"  />
            <b:IDCheckSKBravoResult i:nil="true"  />
            <b:IDCheckUKAlphaResult i:nil="true"  />
            <b:IDCheckUKDeltaResult i:nil="true"  />
            <b:IDCheckUKDrivingLicenceNumberResult i:nil="true"  />
            <b:IDCheckZAAlphaResult i:nil="true"  />
            <b:IDDocumentCheckResult i:nil="true"  />
            <b:PEPDeskCheckResult i:nil="true"  />
            <b:ProfileDetailsResult i:nil="true" />
            <b:SISPlusCheckResult i:nil="true"  />
            <b:SPFPlusCheckResult i:nil="true"  />
            <b:W2DataAddressLookUp007Result i:nil="true"  />
            <b:W2DataEkybUk009Result i:nil="true"  />
            <b:W2DataEkycUk007Result i:nil="true"  />
            <b:W2DataIdvcheck013Result >
              <c:CallId>WSCR3C6BE94E0BFB4CCAA092968BF5E448BE</c:CallId>
              <c:ErrorCode>0000</c:ErrorCode>
              <c:ErrorDesc>Successful</c:ErrorDesc>
            </b:W2DataIdvcheck013Result>
            <b:WatchlistCheckResult i:nil="true"  />
          </b:ServiceResult>
          <b:TransactionInformation>
            <b:InterpretResult>NotApplicable</b:InterpretResult>
            <b:ServiceCallReference>3c6be94e-0bfb-4cca-a092-968bf5e448be</b:ServiceCallReference>
            <b:ServiceTransactions>
              <b:ServiceTransactionInformation>
                <b:FailedOverTo i:nil="true" />
                <b:HaltTriggered>false</b:HaltTriggered>
                <b:Service>W2_DATA_IDVCHECK_013</b:Service>
                <b:ServiceInterpretResult>NotApplicable</b:ServiceInterpretResult>
                <b:ServiceTransactionResult>Success</b:ServiceTransactionResult>
                <b:ServiceTransactionResultMessage>                     Application Submitted Successfully.                </b:ServiceTransactionResultMessage>
                <b:ServiceValidationDetails i:nil="true" />
                <b:ValidationResult>Pass</b:ValidationResult>
              </b:ServiceTransactionInformation>
            </b:ServiceTransactions>
          </b:TransactionInformation>
        </a:ProcessRequestResult>
      </KYCCheckResult>
    </KYCCheckResponse>
  </s:Body>
</s:Envelope>
{
	"results": {
		"w2DataIdvcheck013Result": {
			"callId": "WSCR1C2B4A33C78D4355B93391F9C56BEDAV",
			"errorCode": "0000",
			"errorDesc": "Successful"
		}
	},
	"transaction": {
		"interpretResult": "Pass",
		"serviceCallReference": "37d86697-3cb3-4e1b-a14b-7723bc14768f",
		"serviceTransactions": [{
				"haltTriggered": false,
				"service": "W2_DATA_IDVCHECK_013",
				"serviceInterpretResult": "NotApplicable",
				"serviceTransactionResult": "Success",
				"serviceTransactionResultMessage": "Application Submitted Successfully.",
				"validationResult": "Pass"
			}
		]
	}
}

7. Final Response

Approximately 30 minutes after the initial request (this time will vary as it involves a manual human intelligence task), W2 will send a second response to the initial query, containing the final result. This result will be sent either by email or HTTP POST as request. The recipient email address / URL endpoint will have been agreed upon during the on-boarding process.

Email Response
If email was requested, an email will be sent out containing the Call ID of the initial request and the “Pass” or “Fail” result. It will look something like this: 

Result Email
Subject: W2_DATA_IDVCHECK_013 Result
Dear [Company Name],
This is the final result of a call to W2_DATA_IDVCHECK_013 that you made at [Date Of Request],
Please see the result below.
CallID: [Call ID returned by first response]
Result: [“PASS” or “FAIL”]
Kind regards
W2 Global Data

POST Response

If a POST response was requested, a HTTP post request will be sent out containing a populated TransactionInformation object serialized into XML or Json. 

The TransactionInformation object will be identical in structure to the one returned in the immediate response except that it also contains your ClientReference. However it will only contain a single ServiceTransaction which will be the final result of the W2_DATA_IDVCHECK_013 call. 

This ServiceTransaction will have the following fields:

Property Name Type Possible Outcomes
Service ServiceEnum Always “W2_DATA_IDVCHECK_013”
Service Interpret Result ServiceTransactionResultCategoryEnum “Pass” or “Fail”. This is the final result.
Service Transaction Result ServiceTransactionResultEnum Always “Success”
Service Transaction Result Message String This will be the Call ID value of the initial service response and, if the result was not a Pass, followed by the reason why after a semicolon, ie: “WSCRB0C3B15DA015454DBF94BD9C8BF660DA; ID expired”
Service Validation Details ServiceValidationResultDetails Always NULL
Validation Result ValidationResultEnum Always “NotApplicable”

The end result is that the resulting HTTP POST request will look something like this:

Result POST request
POST [Callback URL] HTTP/1.1
Content-Type: application/xml or application/json
Authorization: Basic [Network credential built from company name and API key - see note 1]
Host: [Callback URL host]
Content-Length: [Length of message]
Expect: 100-continue
[XML of TransactionInformation object]

Example TransactionInformation

{
	"ServiceTransactions": [
		{
			"Service": "W2_DATA_IDVCHECK_013",
			"ServiceTransactionResult": "Success",
			"ServiceTransactionResultMessage": "64f7be75-299b-4ee0-a1be-fdb776acc2d1",
			"ValidationResult": "NotApplicable",
			"HaltTriggered": false,
			"ServiceInterpretResult": "Pass",
			"ServiceHasFailedOver": false
		}
	],
	"ServiceCallReference": "57f27731-902c-44b8-b28c-0a5382f7484d",
	"InterpretResult": "NotApplicable",
	"ClientReference": "123"
}
<TransactionInformation 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ServiceTransactions>
    <ServiceTransactionInformation>
      <Service>W2_DATA_IDVCHECK_013</Service>
      <ServiceTransactionResult>Success</ServiceTransactionResult>
      <ServiceTransactionResultMessage>
        WSCR1C2B4A33C78D4355B93391F9C56BEDAV
      </ServiceTransactionResultMessage>
      <ValidationResult>NotApplicable</ValidationResult>
      <HaltTriggered>false</HaltTriggered>
      <ServiceInterpretResult>Pass</ServiceInterpretResult>
      <ServiceHasFailedOver>false</ServiceHasFailedOver>
    </ServiceTransactionInformation>
  </ServiceTransactions>
  <ServiceCallReference>c391453f-4546-4306-a274-5520addc812f</ServiceCallReference>
  <InterpretResult>Not Applicable</InterpretResult>
  <ClientReference>123</ClientReference>
</TransactionInformation>

Note 1: An authorization header is added to give customers the option to authenticate the request before accepting it. The credential is a network credential made up from the following:

  • Username: Name of company as it appears in Portal
  • Password: Company API key

The resulting value is constructed as follows (as described here):

  1. Username and password are combined into a string “username:password”.
  2. The resulting string is then encoded using the RFC2045-MIME variant of Base64, except not limited to 76 char/line.

This will create something like: 

Example Authorization Header
Basic VzI6cGl6emE=

Allowing the endpoint server to deny the request based on this credential if that is preferred. 

8. Final Response Test Tool

The following tool will spoof a final POST response, allowing you to test receiving it. Simply fill in the address of your endpoint and, if needed, any other values that you need to test and click the “Send Post Request” button. The “Request” and “Response” boxes will show what was sent and received.  Fields that are left blank will send their default value. Note that this tool always gives a final result of “Fail” due to “Fraud”.   

 

9. “Refer” Result

Sometimes the result may not be a pass or a fail, but a “Refer”.

A “Refer” result happens when there is something about the document that is preventing a final decision from being made. The most common cause of this is that the ID is expired or illegible.

If the result has been received via email, the reason is outlined below the result. Here is an example of what the email might look like: 

Example of “Refer” Result Email
Subject: W2_DATA_IDVCHECK_013 Result
Dear Globex Corporation,
Further action required, please see below.
This is the final result of a call to W2_DATA_IDVCHECK_013 that you made on 15 January 2016 11:59:30,
Please see the result below.
CallID: WSCRB0C3B15DA015454DBF94BD9C8BF660DA
Result: Refer
Details: ID expired
This means that the submitted document is not adequate for a final decision to be made. A correct document will need to be submitted in order to get a final Pass / Fail decision.
This will require a slightly altered submission to W2_DATA_IDVCHECK_013 that contains the new document and references CallID: WSCRB0C3B15DA015454DBF94BD9C8BF660DA. To find out how to do this, please see the “Refer Result” section on this page: http://developer.w2globaldata.com/Documentation/W2DataIdvcheck013Service/#ReferResult
For further details on this result, please login to https://portal.idvcheck.com using the details given during on-boarding.
Kind regards
W2 Global Data

If the result has been received via postback, the reason is given next to the unique ID in the ServiceTransactionResultMessage field of the ServiceTransactionInform object. It is separated from the ID with a semi-colon. Here is an example of what the post request might look like:

Example of “Refer” Result Post

<TransactionInformation 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:xsd=" http://www.w3.org/2001/XMLSchema">
  <ServiceTransactions>
    <ServiceTransactionInformation>
      <Service>W2_DATA_IDVCHECK_013</Service>
      <ServiceTransactionResult>Success</ServiceTransactionResult>
      <ServiceTransactionResultMessage>
        WSCRB0C3B15DA015454DBF94BD9C8BF660DA;ID expired
      </ServiceTransactionResultMessage>
      <ValidationResult>NotApplicable</ValidationResult>
      <HaltTriggered>false</HaltTriggered>
      <ServiceInterpretResult>Inconclusive</ServiceInterpretResult>
      <ServiceHasFailedOver>false</ServiceHasFailedOver>
    </ServiceTransactionInformation>
  </ServiceTransactions>
  <InterpretResult>NotApplicable</InterpretResult>
</TransactionInformation>
	"transaction": {
		"interpretResult": "NotApplicable",
		"serviceCallReference": "37d86697-3cb3-4e1b-a14b-7723bc14768f",
		"serviceTransactions": [{
				"haltTriggered": false,
				"service": "W2_DATA_IDVCHECK_013",
				"serviceInterpretResult": "Inconclusive",
				"serviceTransactionResult": "Success",
				"serviceTransactionResultMessage": "WSCRB0C3B15DA015454DBF94BD9C8BF660DA;ID expired",
				"validationResult": "NotApplicable"
			}
		]
	}
POST https://www.globexcorporation.com/services/callbackservice.svc HTTP/1.1
Content-Type: application/xml
Authorization: Basic VzI6cGl6emE=
Host: www.globexcorporation.com
Content-Length: 869
Expect: 100-continue

What To Do In The Event of a “Refer” Result

To complete the verification, a replacement / corrected document will need to be uploaded that satisfies the requirements needed for a final decision to be made.

To do this, follow these steps: 

  1. Upload a replacement / corrected document to W2 systems using the UploadDocument API method. ( REST link)

  2. Make a new call to W2_DATA_IDVCHECK_013 with the DocumentUID of the newly uploaded document inserted into UploadedFiles array and add a query option with the key uniqueid and the value as the unique ID of the original call. Query data is not necessary for this request.

This will re-open the process for this document, and the new result will come through via email / postback in the same way as the original result. If the new result is also a “refer”, this process can be repeated until the document is verified. 

Could I Send A New Application With The Corrected Document Instead Of Doing The Above?

It is not recommended to send a new application in the event of a refer, as this will incur a second charge. Using the method described above will not incur any further charges and is the recommended course of action in the event of a refer result. 

10. Sandbox

Example Request - W2 Data IDV Check 013

{
    "Bundle": "W2_DATA_IDVCHECK_013",
    "Data": {
        "Forename": "Louie",
        "Surname": "Ellis",
        "HouseNameNumber": "92",
        "DayOfBirth": 19,
        "MonthOfBirth": 2,
        "YearOfBirth": 1944,
        "Country": "GBR",
        "Postcode": "PE12 0WS"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

If the following details are set, the application will successfully submit, and when the final result comes through via POST / email it will be a PASS:

Field Value
Forename Louie
Surname Ellis
HouseNameNumber 92
Postcode PE12 0WS
DayOfBirth 19
MonthOfBirth 2
YearOfBirth 1944
Country GBR

If the following details are set, the application will successfully submit, and when the final result comes through via POST / email it will be a FAIL:

Field Value
Forename Riley
Surname Davies
HouseNameNumber 4
Postcode GU4 4UF
DayOfBirth 27
MonthOfBirth 2
YearOfBirth 1974
Country GBR

If the following details are set, the application will successfully submit, and when the final result comes through via POST / email it will be a REFER due to “ID EXPIRED”:

Field Value
Forename Megan
Surname Brookes
HouseNameNumber 98
Postcode RG19 9DW
DayOfBirth 9
MonthOfBirth 8
YearOfBirth 1979
Country GBR

For more details on what a “Refer” result means, please see here

If the following details are set, the application will successfully submit, and when the final result comes through via POST / email it will be a REFER due to “ID ok, POA illegible”:

Field Value
Forename Olivia
Surname Wheeler
HouseNameNumber 82
Postcode PO38 4UU
DayOfBirth 4
MonthOfBirth 2
YearOfBirth 1940
Country GBR

If the following details are set, the application will successfully submit, and when the final result comes through via POST / email it will be a REFER due to “POA ok, ID invalid”:

Field Value
Forename Jayden
Surname Edwards
HouseNameNumber 42
Postcode PL12 8XY
DayOfBirth 1
MonthOfBirth 5
YearOfBirth 1982
Country GBR

Finalising a REFER result

In a real world situation you would want to upload a second document in response to a “Refer” result as described in the link above.

This can also be done in sandbox mode for this call. Simply make a request without any query data, and a query option value of uniqueid set to value “WSCRA055F2C9FC32415FB4D189488108F4EB” (still with the sandbox query option set).

The ServiceTransactionInformation object will return the same as above, with the following difference:

<ServiceTransactionResultMessage> Successfully Re-submitted Application. 
                                  (This call was generated using sandbox mode) </ServiceTransactionResultMessage>

11. IDV Response Codes

Reason Code Description
Approve/Fix An easy fix is required to approve the application, for example a typo, or incorrect DOB.
Expired Application has been marked as expired, due to duplicate application or inactivity.
Fraud The ID document has been identified as fraudulent.
ID and POA Discrepancy The ID document and the proof of address document are not showing the same information.
ID and POA Illegible ID and POA documents are of poor quality or cannot be read. Screenshots, photocopies or black & white images are not acceptable.
ID and POA Incorrect ID and POA documents are non-compliant or do not match registration detail.
ID Expired ID document has expired.
ID Expired, POA OK The proof of address document is approved but the ID document has expired.
ID Illegible ID document is of poor quality or cannot be read. Screenshots, photocopies or black & white images are not acceptable.
ID Illegible, POA OK The proof of address document is approved but the ID document is not legible enough for a final decision to be made.
ID Incorrect ID document is not in the applicant’s name.
ID Incorrect Details The ID document is showing information known to be incorrect.
ID Incorrect, POA Non-compliant The ID document is not a recognised valid form of ID and the proof of address is non-compliant.
ID Non-compliant ID document is non-compliant - voter and tax cards are not acceptable, for example
ID Non-compliant, POA OK The proof of address is approved but the ID document is non-compliant
ID OK, POA Illegible The ID document is approved but the proof of address is not legible enough for a final decision to be made.
ID OK, POA Non-compliant The ID document is approved but the proof of address is non-compliant.
ID OK, POA Out of Date The ID document is approved but the proof of address is out of date.
ID, POA Invalid Both the ID document and the proof of address are invalid.
Missing dom photo page or POA stamp Sub-reason code for Russia, Ukrainian and Belarus applications.
Missing back of ID POI document is missing image of the back of ID document.
No Match No record of the individual can be found.
POA Illegible POA document is of poor quality or cannot be read. Screenshots, photocopies or black & white images are not acceptable.
POA Incorrect POA document is not in the applicant’s name or there is an address mismatch.
POA Incorrect Details The proof of address contains information known to be incorrect.
POA Internet Copy POA document is either a screenshot or printed out electronic document. Please request original PDF document or photo of original document.
POA Non-compliant POA document is non-compliant - mobile bills and insurance documents are not acceptable, for example.
POA OK, ID Invalid The proof of address is approved but the ID document is not recognised as a valid ID document.
POA Out of Date POA document is outside of the acceptable date range.
POA Out of Date range The proof of address is out of the specified date range.
POA Wrong Format POA document file has been converted/altered, please ask the customer for the original file.
Suspicious Docs POI and/or POA are high risk.
Refer Application referred for further clarification or additional documents.

W2 Data EKYB UK 009


This is a “Know Your Business” service. 

This service can be used in two ways, Firstly you can enter a company name i.e. “W2GlobalData” in the NameQuery field and you will get a list of companies that match that search term, along with a small summary of information. The second way is used to obtain a full company report, which contains a much more extensive set of data. This can be done by calling the service and supplying the CompanyId QueryOption, with a company identifier. The company identifier can be obtained from the first call to this service.

Product Code: W2-DATA-EKYB-UK-009

Properties

The following properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes
NameQuery String 8 Optional See notes below

Notes

  • The NameQuery field is optional if you supply the CompanyId in the query options and want a full report.

You can search in Ireland by setting the CountryCode query option to IE.

Examples

Example 1

<QueryData>
	<NameQuery>W2 Global data</NameQuery>
</QueryData>
{
	"data": {
		"nameQuery":"W2 Global Data"
		}
}

Example 2

    <CompanySearchResult>
    <Address>
        <Address>UNIT 18 CBTC2, CAPITAL BUSINESS PARK, CARDIFF</Address>
        <Country i:nil="true" />
        <Postcode>CF3 2PX</Postcode>
        <TelephoneNumber i:nil="true" />
    </Address>
    <CompanyType>Ltd</d:CompanyType>
    <Country>GB</d:Country>
    <DateOfLatestAccounts>############</d:DateOfLatestAccounts>
    <DateOfLatestAccountsSpecified>true</d:DateOfLatestAccountsSpecified>
    <Id>GB003/0/07669978</Id>
    <Monitoring>false</Monitoring>
    <Name>W2 GLOBAL DATA SOLUTIONS LIMITED</Name>
    <OnlineReports>true</OnlineReports>
    <RegistrationNumber>07669978</RegistrationNumber>
    <Status>Active</Status>
    </CompanySearchResult>
	"companySearchResults": [{
		"address": {
			"address": "UNIT 18 CBTC2, CAPITAL BUSINESS PARK, CARDIFF",
			"country": "UK",
			"postcode": "CF3 2PX",
			"telephoneNumber": "000000000"
		},
		"companyType": "Ltd",
		"country": "GB",
		"dateOfLatestAccountsSpecified": false,
		"monitoring": false,
		"name": "W2 GLOBAL DATA SOLUTIONS LIMITED",
		"onlineReports": false,
		"registrationNumber": "07669978"
	}
	]

Example 3

<QueryOptions>
	<KeyValueOfstringstring>
		<Key>CompanyId</Key>
		<Value>GB003/0/07669978</Value>
	</KeyValueOfstringstring>
</QueryOptions> 
"Options" : {
	"CompanyId":"GB003/0/07669978"
}

Example 4

<QueryData>
	<NameQuery>W2 Global data</NameQuery>
</QueryData>
<QueryOptions>
	<KeyValueOfstringstring>
		<Key>CountryCode</Key>
		<Value>IE</Value>
	</KeyValueOfstringstring>
</QueryOptions>
{
	"data": {
		"nameQuery": "W2 Global Data"
	},
	"options": {
		"CountryCode": "IE"
	}
}

Sandbox

Example Request - W2 Data EKYB UK 009

{
    "Bundle": "KYB_GB_IE",
    "Data": {
        "NameQuery": "W2FakeCompany"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

If the following details are set, a single fictitious single company result is returned in W2DataEkybUk009Result/CompanySearchResults

NameQuery: W2FakeCompany

If the following details are set, multiple fictitious company results will be returned in W2DataEkybUk009Result/CompanySearchResults

NameQuery: W2FakeMultipleCompany

If the following details are set, a single fictitious no company result is returned in W2DataEkybUk009Result/CompanySearchResults

NameQuery: NullCompany

By adding the following key value pair to the QueryOptions you will get a fake company report

Key: CompanyId
Value: FK000/0/0000001

Company Report Response

This is an extensive report containing a full set of information about a company.

Example 5


<W2DataEkybUk009Result>
	 <CompanyReports>
		<CompanyReport>
		   <AdditionalAccountsItems>
			  <AdditionalAccountsItem>
				 <CostOfSales>0</CostOfSales>
				 <DirectorsEmoluments>0</DirectorsEmoluments>
				 <Export>0</Export>
				 <FinancialYear>2016-01-01T00:00:00</FinancialYear>
				 <LongTermHpFinanceLeaseLiabilities>0</LongTermHpFinanceLeaseLiabilities>
				 <RevaluationReserve>0</RevaluationReserve>
				 <ShortTermHpFinanceLeaseLiabilities>0</ShortTermHpFinanceLeaseLiabilities>
			  </AdditionalAccountsItem>
		   </AdditionalAccountsItems>
		   <AdvisorsInformation>
			  <AdvisorsInformation>
				 <AuditorName>AuditorName</AuditorName>
				 <SolicitorName>SolicitorName</SolicitorName>
			  </AdvisorsInformation>
		   </AdvisorsInformation>
		   <BankerInformation>
			  <BankerDetails>
				 <BankerAddress>
					<City>City</City>
					<HouseNumber>HouseNumber</HouseNumber>
					<PostalCode>PostalCode</PostalCode>
					<Province>Province</Province>
					<SimpleValue />
					<Street>Street</Street>
				 </BankerAddress>
				 <BankerCode>BankerCode</BankerCode>
				 <BankerName>BankerName</BankerName>
			  </BankerDetails>
		   </BankerInformation>
		   <BankruptcyData>
			 <HasBankruptcyExactAddressMatch>HasBankruptcyExactAddressMatch
       				</HasBankruptcyExactAddressMatch>
			 <HasBankruptcyExactNameAndAddressMatch>HasBankruptcyExactNameAndAddressMatch
        			</HasBankruptcyExactNameAndAddressMatch>
			  <HasBankruptcyExactNameMatch>HasBankruptcyExactNameMatch
        			</HasBankruptcyExactNameMatch>
		   </BankruptcyData>
		   <Commentaries>
			  <Commentary>
				 <CommentaryText>CommentaryText</CommentaryText>
				 <Positivity>Positivity</Positivity>
			  </Commentary>
		   </Commentaries>
		   <CompanyActivties>
			  <CompanyActivity>
				 <ActivityCode>ActivityCode</ActivityCode>
				 <ActivityDescription>ActivityDescription</ActivityDescription>
			  </CompanyActivity>
		   </CompanyActivties>
		   <CompanyHistory>
			  <CompanyStatusHistoryItem>
				 <Date>2016-01-01T00:00:00</Date>
				 <Description>Description</Description>
			  </CompanyStatusHistoryItem>
		   </CompanyHistory>
		   <CountyCourtJudgments>
			  <CcjReport>
				 <CaseNumber>CaseNumber</CaseNumber>
				 <CccjDate>2016-01-01T00:00:00</CccjDate>
				 <CcjAmount>0</CcjAmount>
				 <CcjDatePaid>2016-01-01T00:00:00</CcjDatePaid>
				 <CcjStatus>CcjStatus</CcjStatus>
				 <Court>Court</Court>
				 <IncomingRecordDetails>IncomingRecordDetails</IncomingRecordDetails>
			  </CcjReport>
		   </CountyCourtJudgments>
		   <CreditScore>
			  <CurrentContractLimit>CurrentContractLimit</CurrentContractLimit>
			  <CurrentCreditRating>
				 <CommonCreditRatingDescription>CommonCreditRatingDescription
         				</CommonCreditRatingDescription>
				 <CreditLimit>0</CreditLimit>
				 <ProviderCreditRating0to100>0</ProviderCreditRating0to100>
				 <ProviderRatingDescription>ProviderRatingDescription
         				</ProviderRatingDescription>
				 <Value>Value</Value>
			  </CurrentCreditRating>
			  <DateOfLatestRatingChange>2016-01-01T00:00:00</DateOfLatestRatingChange>
			  <PreviousCreditRating>
				 <CommonCreditRatingDescription>CommonCreditRatingDescription
         				</CommonCreditRatingDescription>
				 <CreditLimit>0</CreditLimit>
				 <ProviderCreditRating0to100>0</ProviderCreditRating0to100>
				 <ProviderRatingDescription>ProviderRatingDescription
         				</ProviderRatingDescription>
				 <Value>Value</Value>
			  </PreviousCreditRating>
		   </CreditScore>
		   <CurrentDirectors>
			  <CompanyDirector>
				 <Address />
				 <DateOfBirth>2016-01-01T00:00:00</DateOfBirth>
				 <Fullname>Fullname</Fullname>
				 <Position>
					<CorporatePosition>
					   <AppointmentDate>2016-01-01T00:00:00</AppointmentDate>
					   <AppointmentDateSpecified>true</AppointmentDateSpecified>
					   <CommonCode>CommonCode</CommonCode>
					   <ProviderCode>ProviderCode</ProviderCode>
					   <Value>ProviderCode</Value>
					</CorporatePosition>
				 </Position>
			  </CompanyDirector>
		   </CurrentDirectors>
		   <EmailAddress>[email protected]</EmailAddress>
		   <EmployeeInformation>
			  <CompanyEmployeeInformation>
				 <DateReported>112</DateReported>
				 <NumberOfEmployees>NumberOfEmployees</NumberOfEmployees>
			  </CompanyEmployeeInformation>
		   </EmployeeInformation>
		   <ExtendedGroupStructure/>
		   <FaxNumber>FaxNumber</FaxNumber>
		   <FinanceSheets>
			  <FinanceSheet>
				 <BalanceSheet />
				 <OtherFinancials />
				 <ProfitAndLoss>
					<YearlyProfitAndLossReport>
					   <ConsolidatedAccounts>true</ConsolidatedAccounts>
					   <Currency>Currency</Currency>
					   <FinancialYear>2016-01-01T00:00:00</FinancialYear>
					   <NumberOfWeeks>1</NumberOfWeeks>
					   <Amortisation>100</Amortisation>
					   <Depreciation>100</Depreciation>
					   <Dividends>100</Dividends>
					   <ExtraordinaryCosts>ExtraordinaryCosts</ExtraordinaryCosts>
					   <ExtraordinaryIncome>100</ExtraordinaryIncome>
					   <FinancialExpenses>100</FinancialExpenses>
					   <FinancialIncome>100</FinancialIncome>
					   <MinorityInterests>10</MinorityInterests>
					   <OperatingCosts>50</OperatingCosts>
					   <OperatingProfit>50</OperatingProfit>
					   <OtherAppropriations>100</OtherAppropriations>
					   <PensionCosts>10</PensionCosts>
					   <ProfitAfterTax>90</ProfitAfterTax>
					   <ProfitBeforeTax>100</ProfitBeforeTax>
					   <RetainedProfit>10</RetainedProfit>
					   <Revenue>10</Revenue>
					   <Tax>50</Tax>
					   <WagesAndSalaries>100</WagesAndSalaries>
					</YearlyProfitAndLossReport>
				 </ProfitAndLoss>
				 <Ratios />
			  </FinanceSheet>
		   </FinanceSheets>
		   <GroupStructure>
			  <Affiliates>
				 <CompanyInformation>
					<Address>
					   <f:City>City</f:City>
					   <f:HouseNumber>HouseNumber</f:HouseNumber>
					   <f:PostalCode>PostalCode</f:PostalCode>
					   <f:Province>Province</f:Province>
					   <f:SimpleValue />
					   <f:Street>Street</f:Street>
					</Address>
					<Country>GB</Country>
					<Id>Id</Id>
					<Name>Name</Name>
					<OfficeType>OfficeType</OfficeType>
					<PhoneNumber>PhoneNumber</PhoneNumber>
					<RegistrationNumber>RegistrationNumber</RegistrationNumber>
					<SafeNumber>SafeNumber</SafeNumber>
					<Status>Status</Status>
					<Type>Type</Type>
					<VatNumber>VatNumber</VatNumber>
				 </CompanyInformation>
			  </Affiliates>
			  <ImmediateHoldingParent>
				 <Address>
					<f:City>City</f:City>
					<f:HouseNumber>HouseNumber</f:HouseNumber>
					<f:PostalCode>PostalCode</f:PostalCode>
					<f:Province>Province</f:Province>
					<f:SimpleValue />
					<f:Street>Street</f:Street>
				 </Address>
				 <Country>GB</Country>
				 <Id>Id</Id>
				 <Name>Name</Name>
				 <OfficeType>OfficeType</OfficeType>
				 <PhoneNumber>PhoneNumber</PhoneNumber>
				 <RegistrationNumber>RegistrationNumber</RegistrationNumber>
				 <SafeNumber>SafeNumber</SafeNumber>
				 <Status>Status</Status>
				 <Type>Type</Type>
				 <VatNumber>VatNumber</VatNumber>
			  </ImmediateHoldingParent>
			  <Subsidiaries>
				 <CompanyInformation>
					<Address>
					   <f:City>City</f:City>
					   <f:HouseNumber>HouseNumber</f:HouseNumber>
					   <f:PostalCode>PostalCode</f:PostalCode>
					   <f:Province>Province</f:Province>
					   <f:SimpleValue />
					   <f:Street>Street</f:Street>
					</Address>
					<Country>GB</Country>
					<Id>Id</Id>
					<Name>Name</Name>
					<OfficeType>OfficeType</OfficeType>
					<PhoneNumber>PhoneNumber</PhoneNumber>
					<RegistrationNumber>RegistrationNumber</RegistrationNumber>
					<SafeNumber>SafeNumber</SafeNumber>
					<Status>Status</Status>
					<Type>Type</Type>
					<VatNumber>VatNumber</VatNumber>
				 </CompanyInformation>
			  </Subsidiaries>
			  <UltimateHoldingParent>
				 <Address>
					<f:City>City</f:City>
					<f:HouseNumber>HouseNumber</f:HouseNumber>
					<f:PostalCode>PostalCode</f:PostalCode>
					<f:Province>Province</f:Province>
					<f:SimpleValue />
					<f:Street>Street</f:Street>
				 </Address>
				 <Country>GB</Country>
				 <Id>Id</Id>
				 <Name>Name</Name>
				 <OfficeType>OfficeType</OfficeType>
				 <PhoneNumber>PhoneNumber</PhoneNumber>
				 <RegistrationNumber>RegistrationNumber</RegistrationNumber>
				 <SafeNumber>SafeNumber</SafeNumber>
				 <Status>Status</Status>
				 <Type>Type</Type>
				 <VatNumber>VatNumber</VatNumber>
			  </UltimateHoldingParent>
		   </GroupStructure>
		   <Id>0</Id>
		   <MainAddress>
			  <City>City</City&gt;
			  <HouseNumber>HouseNumber</HouseNumber>
			  <PostalCode>PostalCode</PostalCode>
			  <Province>Province</Province>
			  <SimpleValue />
			  <Street>Street</Street>
			  <Country>GB</Country>
			  <PhoneNumber>PhoneNumber</PhoneNumber>
		   </MainAddress>
		   <MortgageInformation>
			  <MortgageDetails>
				 <MortgageDetails>
					<AmountSecured>AmountSecured</AmountSecured>
					<DateChargeCreated>DateChargeCreated</DateChargeCreated>
					<DateChargeRegistered>DateChargeRegistered</DateChargeRegistered>
					<DateChargeSatisfied>DateChargeSatisfied</DateChargeSatisfied>
					<Details>Details</Details>
					<MortgageType>MortgageType</MortgageType>
					<PersonsEntitled>PersonsEntitled</PersonsEntitled>
					<Status>Status</Status>
				 </MortgageDetails>
			  </MortgageDetails>
			  <MortgageSummary>
				 <Outstanding>0</Outstanding>
				 <Satsified>0</Satsified>
			  </MortgageSummary>
		   </MortgageInformation>
		   <NegativeRating>NegativeRating</NegativeRating>
		   <OtherAddresses>
			  <ExtendedAddressInfo>
				 <City>City</City>
				 <HouseNumber>HouseNumber</HouseNumber>
				 <PostalCode>PostalCode</PostalCode>
				 <Province>Province</Province>
				 <SimpleValue />
				 <Street>Street</Street>
				 <Country>GB</Country>
				 <PhoneNumber>PhoneNumber</PhoneNumber>
			  </ExtendedAddressInfo>
		   </OtherAddresses>
		   <PaymentData>
			  <AnnualDbtWithTrend>
				 <PaymentDataEntry>
					<Balance>Balance</Balance>
					<DBTTrend>DBTTrend</DBTTrend>
					<DBTValue>DBTValue</DBTValue>
					<Month>Month</Month>
				 </PaymentDataEntry>
			  </AnnualDbtWithTrend>
			  <Balance>Balance</Balance>
			  <BalanceP1>BalanceP1</BalanceP1>
			  <BalanceP2>BalanceP2</BalanceP2>
			  <BalanceP3>BalanceP3</BalanceP3>
			  <BalanceP4>BalanceP4</BalanceP4>
			  <BalanceWithinTerms>BalanceWithinTerms</BalanceWithinTerms>
			  <Dbt>Dbt</Dbt>
			  <InvoicesBetween3And12Months>
				 <PaidInTerms>PaidInTerms</PaidInTerms>
				 <PaidP1>PaidP1</PaidP1>
				 <PaidP2>PaidP2</PaidP2>
				 <PaidP3>PaidP3</PaidP3>
				 <PaidP4>PaidP4</PaidP4>
				 <TotalPaid>TotalPaid</TotalPaid>
			  </InvoicesBetween3And12Months>
			  <InvoicesLast3Months>
				 <PaidInTerms>PaidInTerms</PaidInTerms>
				 <PaidP1>PaidP1</PaidP1>
				 <PaidP2>PaidP2</PaidP2>
				 <PaidP3>PaidP3</PaidP3>
				 <PaidP4>PaidP4</PaidP4>
				 <TotalPaid>TotalPaid</TotalPaid>
			  </InvoicesLast3Months>
			  <LastSixMonthsBalance>
				 <PaymentDataEntry>
					<Balance>Balance</Balance>
					<DBTTrend>DBTTrend</DBTTrend>
					<DBTValue>DBTValue</DBTValue>
					<Month>Month</Month>
				 </PaymentDataEntry>
			  </LastSixMonthsBalance>
			  <PaymentTrend>PaymentTrend</PaymentTrend>
			  <TotalNoofInvoicesAvailable>TotalNoofInvoicesAvailable
        			</TotalNoofInvoicesAvailable>
			  <TotalNoofInvoicesOwingAfter30DaysDue>TotalNoofInvoicesOwingAfter30DaysDue
        			</TotalNoofInvoicesOwingAfter30DaysDue>
			  <TotalNoofInvoicesOwingBefore30DaysDue>TotalNoofInvoicesOwingBefore30DaysDue
        			</TotalNoofInvoicesOwingBefore30DaysDue>
			  <TotalNoofInvoicesPaidAfter30DaysDue>TotalNoofInvoicesPaidAfter30DaysDue
        			</TotalNoofInvoicesPaidAfter30DaysDue>
			  <TotalNoofInvoicesPaidBefore30DaysDue>TotalNoofInvoicesPaidBefore30DaysDue
        			</TotalNoofInvoicesPaidBefore30DaysDue>
			  <TotalTradeLines>TotalTradeLines</TotalTradeLines>
			  <TotalTradeLinesOutstanding>TotalTradeLinesOutstanding</TotalTradeLinesOutstanding>
		   </PaymentData>
		   <PremiseType>PremiseType</PremiseType>
		   <PreviousAddresses>
			  <ExtendedAddressInfo>
				 <City>City</City>
				 <HouseNumber>HouseNumber</HouseNumber>
				 <PostalCode>PostalCode</PostalCode>
				 <Province>Province</Province>
				 <SimpleValue />
				 <Street>Street</Street>
				 <Country>GB</Country>
				 <PhoneNumber>PhoneNumber</PhoneNumber>
			  </ExtendedAddressInfo>
		   </PreviousAddresses>
		   <PreviousDirectors>
			  <CompanyDirector>
				 <Address />
				 <DateOfBirth>2016-01-01T00:00:00</DateOfBirth>
				 <Fullname>Fullname</Fullname>
				 <Position>
					<CorporatePosition>
					   <AppointmentDate>2016-01-01T00:00:00</AppointmentDate>
					   <AppointmentDateSpecified>true</AppointmentDateSpecified>
					   <CommonCode>CommonCode</CommonCode>
					   <ProviderCode>ProviderCode</ProviderCode>
					   <Value>ProviderCode</Value>
					</CorporatePosition>
				 </Position>
			  </CompanyDirector>
		   </PreviousDirectors>
		   <PreviousNames>
			  <CompanyNameChange>
				 <DateChangedFromPreviousName>2016-01-01T00:00:00
         				</DateChangedFromPreviousName>
				 <PreviousName>PreviousName</PreviousName>
			  </CompanyNameChange>
		   </PreviousNames>
		   <ShareCapitalStructure>
			  <IssuedShareCapital>IssuedShareCapital</IssuedShareCapital>
			  <NominalShareCapital>NominalShareCapital</NominalShareCapital>
			  <Shareholders>
				 <ShareHolder>
					<Address>
					   <f:City>City</f:City>
					   <f:HouseNumber>HouseNumber</f:HouseNumber>
					   <f:PostalCode>PostalCode</f:PostalCode>
					   <f:Province>Province</f:Province>
					   <f:SimpleValue />
					   <f:Street>Street</f:Street>
					</Address>
					<Name>Name</Name>
					<PercentageShares>PercentageShares</PercentageShares>
				 </ShareHolder>
			  </Shareholders>
		   </ShareCapitalStructure>
		   <StatusHistory>
			  <CompanyStatusHistoryItem>
				 <Date>2016-01-01T00:00:00</Date>
				 <Description>Description</Description>
			  </CompanyStatusHistoryItem>
		   </StatusHistory>
		   <Summary>
			  <BusinessName>BusinessName</BusinessName>
			  <CommercialCourt />
			  <CompanyRegistrationNumber>FK000/0/0000001</CompanyRegistrationNumber>
			  <CompanyStatus>CompanyStatus</CompanyStatus>
			  <ContactAddress />
			  <ContactTelephoneNumber />
			  <Country>GB</Country>
			  <CreditRating />
			  <DateOfCompanyRegistration />
			  <DateOfStartingOperations />
			  <LastTurnoverFigure>10</LastTurnoverFigure>
			  <LatestShareholderEquityFigure>10</LatestShareholderEquityFigure>
			  <LegalForm />
			  <MainActivity />
			  <Number>01010101010</Number>
			  <PrincipalActivityCode />
			  <PrincipalActivityDescription />
			  <RegisteredCompanyName />
			  <TypeOfOwnership />
			  <VatRegistrationDate>2016-01-01T00:00:00</VatRegistrationDate>
			  <VatRegistrationNumber>FK00000000001</VatRegistrationNumber>
		   </Summary>
		   <WebPages>
			  <string>http://testwebpage.com</string>
		   </WebPages>
		</CompanyReport>
	 </CompanyReports>
	 <CompanySearchResults />
  </W2DataEkybUk009Result>
"w2DataEkybUk009Result": {
	"companyReports": [{
			"additionalAccountsItems": [{
					"costOfSales": "0",
					"directorsEmoluments": "0",
					"export": "0",
					"financialYear": "2016-01-01T00:00:00",
					"longTermHpFinanceLeaseLiabilities": "0",
					"revaluationReserve": "0",
					"shortTermHpFinanceLeaseLiabilities": "0"
				}
			],
			"advisorsInformation": [{
					"auditorName": "AuditorName",
					"solicitorName": "SolicitorName"
				}
			],
			"bankerInformation": [{
					"bankerAddress": {
						"city": "City",
						"houseNumber": "HouseNumber",
						"postalCode": "PostalCode",
						"province": "Province",
						"street": "Street"
					},
					"bankerCode": "BankerCode",
					"bankerName": "BankerName"
				}
			],
			"bankruptcyData": {
				"hasBankruptcyExactAddressMatch": "HasBankruptcyExactAddressMatch",
				"hasBankruptcyExactNameAndAddressMatch": "HasBankruptcyExactNameAndAddressMatch",
				"hasBankruptcyExactNameMatch": "HasBankruptcyExactNameMatch"
			},
			"commentaries": [{
					"commentaryText": "CommentaryText",
					"positivity": "Positivity"
				}
			],
			"companyActivties": [{
					"activityCode": "ActivityCode",
					"activityDescription": "ActivityDescription"
				}
			],
			"companyHistory": [{
					"date": "2016-01-01T00:00:00",
					"description": "Description"
				}
			],
			"countyCourtJudgments": [{
					"caseNumber": "CaseNumber",
					"cccjDate": "2016-01-01T00:00:00",
					"ccjAmount": 0.0,
					"ccjDatePaid": "2016-01-01T00:00:00",
					"ccjStatus": "CcjStatus",
					"court": "Court",
					"incomingRecordDetails": "IncomingRecordDetails"
				}
			],
			"creditScore": {
				"currentContractLimit": "CurrentContractLimit",
				"currentCreditRating": {
					"commonCreditRatingDescription": "CommonCreditRatingDescription",
					"creditLimit": 0.0,
					"providerCreditRating0to100": 0.0,
					"providerRatingDescription": "ProviderRatingDescription",
					"value": "Value"
				},
				"dateOfLatestRatingChange": "2016-01-01T00:00:00",
				"previousCreditRating": {
					"commonCreditRatingDescription": "CommonCreditRatingDescription",
					"creditLimit": 0.0,
					"providerCreditRating0to100": 0.0,
					"providerRatingDescription": "ProviderRatingDescription",
					"value": "Value"
				}
			},
			"currentDirectors": [{
					"dateOfBirth": "2016-01-01T00:00:00",
					"fullname": "Fullname",
					"position": [{
							"appointmentDate": "2016-01-01T00:00:00",
							"appointmentDateSpecified": true,
							"commonCode": "CommonCode",
							"providerCode": "ProviderCode",
							"value": "ProviderCode"
						}
					]
				}
			],
			"emailAddress": "[email protected]",
			"employeeInformation": [{
					"dateReported": 112,
					"numberOfEmployees": "NumberOfEmployees"
				}
			],
			"faxNumber": "FaxNumber",
			"financeSheets": [{
					"profitAndLoss": [{
							"amortisation": "100",
							"depreciation": "100",
							"dividends": "100",
							"extraordinaryCosts": "100",
							"extraordinaryIncome": "100",
							"financialExpenses": "100",
							"financialIncome": "100",
							"minorityInterests": "10",
							"operatingCosts": "50",
							"operatingProfit": "50",
							"otherAppropriations": "100",
							"pensionCosts": "10",
							"profitAfterTax": "90",
							"profitBeforeTax": "100",
							"retainedProfit": "10",
							"revenue": "10",
							"tax": "50",
							"wagesAndSalaries": "100",
							"consolidatedAccounts": true,
							"currency": "Currency",
							"financialYear": "2016-01-01T00:00:00",
							"numberOfWeeks": 1
						}
					]
				}
			],
			"groupStructure": {
				"affiliates": [{
						"address": {
							"city": "City",
							"houseNumber": "HouseNumber",
							"postalCode": "PostalCode",
							"province": "Province",
							"street": "Street"
						},
						"country": "GB",
						"id": "Id",
						"name": "Name",
						"officeType": "OfficeType",
						"phoneNumber": "PhoneNumber",
						"registrationNumber": "RegistrationNumber",
						"safeNumber": "SafeNumber",
						"status": "Status",
						"type": "Type",
						"vatNumber": "VatNumber"
					}
				],
				"immediateHoldingParent": {
					"address": {
						"city": "City",
						"houseNumber": "HouseNumber",
						"postalCode": "PostalCode",
						"province": "Province",
						"street": "Street"
					},
					"country": "GB",
					"id": "Id",
					"name": "Name",
					"officeType": "OfficeType",
					"phoneNumber": "PhoneNumber",
					"registrationNumber": "RegistrationNumber",
					"safeNumber": "SafeNumber",
					"status": "Status",
					"type": "Type",
					"vatNumber": "VatNumber"
				},
				"subsidiaries": [{
						"address": {
							"city": "City",
							"houseNumber": "HouseNumber",
							"postalCode": "PostalCode",
							"province": "Province",
							"street": "Street"
						},
						"country": "GB",
						"id": "Id",
						"name": "Name",
						"officeType": "OfficeType",
						"phoneNumber": "PhoneNumber",
						"registrationNumber": "RegistrationNumber",
						"safeNumber": "SafeNumber",
						"status": "Status",
						"type": "Type",
						"vatNumber": "VatNumber"
					}
				],
				"ultimateHoldingParent": {
					"address": {
						"city": "City",
						"houseNumber": "HouseNumber",
						"postalCode": "PostalCode",
						"province": "Province",
						"street": "Street"
					},
					"country": "GB",
					"id": "Id",
					"name": "Name",
					"officeType": "OfficeType",
					"phoneNumber": "PhoneNumber",
					"registrationNumber": "RegistrationNumber",
					"safeNumber": "SafeNumber",
					"status": "Status",
					"type": "Type",
					"vatNumber": "VatNumber"
				}
			},
			"id": "0",
			"mainAddress": {
				"country": "GB",
				"phoneNumber": "PhoneNumber",
				"city": "City",
				"houseNumber": "HouseNumber",
				"postalCode": "PostalCode",
				"province": "Province",
				"street": "Street"
			},
			"mortgageInformation": {
				"mortgageDetails": [{
						"amountSecured": "AmountSecured",
						"dateChargeCreated": "DateChargeCreated",
						"dateChargeRegistered": "DateChargeRegistered",
						"dateChargeSatisfied": "DateChargeSatisfied",
						"details": "Details",
						"mortgageType": "MortgageType",
						"personsEntitled": "PersonsEntitled",
						"status": "Status"
					}
				],
				"mortgageSummary": {
					"outstanding": 0,
					"satsified": 0
				}
			},
			"negativeRating": "NegativeRating",
			"otherAddresses": [{
					"country": "GB",
					"phoneNumber": "PhoneNumber",
					"city": "City",
					"houseNumber": "HouseNumber",
					"postalCode": "PostalCode",
					"province": "Province",
					"street": "Street"
				}
			],
			"paymentData": {
				"annualDbtWithTrend": [{
						"balance": "Balance",
						"dbtTrend": "DBTTrend",
						"dbtValue": "DBTValue",
						"month": "Month"
					}
				],
				"balance": "Balance",
				"balanceP1": "BalanceP1",
				"balanceP2": "BalanceP2",
				"balanceP3": "BalanceP3",
				"balanceP4": "BalanceP4",
				"balanceWithinTerms": "BalanceWithinTerms",
				"dbt": "Dbt",
				"invoicesBetween3And12Months": {
					"paidInTerms": "PaidInTerms",
					"paidP1": "PaidP1",
					"paidP2": "PaidP2",
					"paidP3": "PaidP3",
					"paidP4": "PaidP4",
					"totalPaid": "TotalPaid"
				},
				"invoicesLast3Months": {
					"paidInTerms": "PaidInTerms",
					"paidP1": "PaidP1",
					"paidP2": "PaidP2",
					"paidP3": "PaidP3",
					"paidP4": "PaidP4",
					"totalPaid": "TotalPaid"
				},
				"lastSixMonthsBalance": [{
						"balance": "Balance",
						"dbtTrend": "DBTTrend",
						"dbtValue": "DBTValue",
						"month": "Month"
					}
				],
				"paymentTrend": "PaymentTrend",
				"totalNoofInvoicesAvailable": "TotalNoofInvoicesAvailable",
				"totalNoofInvoicesOwingAfter30DaysDue": "TotalNoofInvoicesOwingAfter30DaysDue",
				"totalNoofInvoicesOwingBefore30DaysDue": "TotalNoofInvoicesOwingBefore30DaysDue",
				"totalNoofInvoicesPaidAfter30DaysDue": "TotalNoofInvoicesPaidAfter30DaysDue",
				"totalNoofInvoicesPaidBefore30DaysDue": "TotalNoofInvoicesPaidBefore30DaysDue",
				"totalTradeLines": "TotalTradeLines",
				"totalTradeLinesOutstanding": "TotalTradeLinesOutstanding"
			},
			"premiseType": "PremiseType",
			"previousAddresses": [{
					"country": "GB",
					"phoneNumber": "PhoneNumber",
					"city": "City",
					"houseNumber": "HouseNumber",
					"postalCode": "PostalCode",
					"province": "Province",
					"street": "Street"
				}
			],
			"previousDirectors": [{
					"dateOfBirth": "2016-01-01T00:00:00",
					"fullname": "Fullname",
					"position": [{
							"appointmentDate": "2016-01-01T00:00:00",
							"appointmentDateSpecified": true,
							"commonCode": "CommonCode",
							"providerCode": "ProviderCode",
							"value": "ProviderCode"
						}
					]
				}
			],
			"previousNames": [{
					"dateChangedFromPreviousName": "2016-01-01T00:00:00",
					"previousName": "PreviousName"
				}
			],
			"shareCapitalStructure": {
				"issuedShareCapital": "IssuedShareCapital",
				"nominalShareCapital": "NominalShareCapital",
				"shareholders": [{
						"address": {
							"city": "City",
							"houseNumber": "HouseNumber",
							"postalCode": "PostalCode",
							"province": "Province",
							"street": "Street"
						},
						"name": "Name",
						"percentageShares": "PercentageShares"
					}
				]
			},
			"statusHistory": [{
					"date": "2016-01-01T00:00:00",
					"description": "Description"
				}
			],
			"summary": {
				"businessName": "BusinessName",
				"companyRegistrationNumber": "FK000/0/0000001",
				"companyStatus": "CompanyStatus",
				"country": "GB",
				"lastTurnoverFigure": 10.0,
				"latestShareholderEquityFigure": 10.0,
				"number": "01010101010",
				"vatRegistrationDate": "2016-01-01T00:00:00",
				"vatRegistrationNumber": "FK00000000001"
			},
			"webPages": [
				"http://testwebpage.com"
			]
		}
	],
	"companySearchResults": []
}

W2 Data Age Verification 007 Service


W2DataAgeVerification007Service is an age verification service for the United Kingdom. It provides a date of birth check against an age threshold, using various public data sources to verify that the age is either above or below the given age threshold.

Product Code: W2-DATA-AGE_VERIFICATION-007

Properties

The following properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes
Forename String 15 Mandatory  
MiddleName String 15 Optional  
Surname String 15 Mandatory  
DayOfBirth Integer 2 Mandatory  
MonthOfBirth Integer 2 Mandatory  
YearOfBirth Integer 4 Mandatory  
HouseName String 26 Mandatory if no HouseNumber given  
HouseNumber String 26 Mandatory if no HouseName given  
Postcode String 8 Mandatory  
Street String 40 Optional  
County String 20 Optional  
City String 20 Optional  
Country String 3 Optional If set, must be a valid three-letter ISO country code as described here. If not set, the search will be within the United Kingdom (GBR)
AgeVerificationThreshold Integer 3 Mandatory The age limit that the searched-for individual will be checked against. This will probably be something like 18, 16, 25 etc
AgeVerificationPassIf Integer 3 Mandatory A number between 1 and 4 that tells us what check needs to be made against the limit. The options are: 1: GreaterThan2: GreaterThanOrEqualTo3: LessThan4: LessThanOrEqualToFor example, to check that an individual is 18 or over, the AgeVerificationThreshold should be 18 and the AgeVerificationPassIf should be 2 (GreaterThanOrEqualTo).

Response

Example Response:

<W2DataAgeVerification007Result>
  <VerifiedDob>True</VerifiedDob>
  <ThresholdMet>True</ThresholdMet>
  <AgeVerificationThreshold>18</AgeVerificationThreshold>
  <PassIf>GreaterThanOrEqualTo</PassIf>
  </Message>
</W2DataAgeVerification007Result>
"w2DataAgeVerification007Result": {
	"ageVerificationThreshold": 25,
	"passIf": "LessThan",
	"thresholdMet": true,
	"verifiedDob": true
}

Each of the properties describes the following:

Property Name Type Description
VerifiedDob Bool Confirms whether or not the requested DOB has been successfully matched to the searched individual.
ThresholdMet Bool TRUE if the individual has passed the requested test. For example, if the requested age threshold was 18 and the test was GreaterThanOrEqualTo, and the service has confirmed that the individual is indeed 18 or over, this will be TRUE.If the test has failed then this value will be FALSE. Additionally, if the date of birth was not verified in the first place then this will also be a FALSE
PassIf String The requested test, in plain English.
AgeVerificationThreshold Int The requested age limit
Message String Further details on result, if necessary. This is mostly used for reporting errors.

Result Interpretation

In the service transaction information block (ServiceResponse > ProcessRequestResult > TransactionInformation > ServiceTransactions) the ServiceInterpretResult value will be “Pass” if the threshold was met, and “Fail” if it wasn’t. In the event of an unexpected error, the value will be “NotPerformed” and more information can be found in either the ServiceTransactionResultMessage field of the same block, or the Message block of the service result.

Sandbox

Example Request - W2 Data Age Verification 007 Service

{
    "Bundle": "KYC_UK_AGE_VERIFY",
    "Data": {
        "Forename": "Charlotte",
        "Surname": "Hurst",
        "HouseNumber": "47",
        "DayOfBirth": 12,
        "MonthOfBirth": 5,
        "YearOfBirth": 2009,
        "Street": "Bootham Terrace",
        "Postcode": "KW14 3ZB"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

To use one of these sandbox cases, the requested DayOfBirth must be “12”, the MonthOfBirth must be “5”, and the year of birth must be whatever it takes to make them the age specified in the “Age” column on todays date.

Forename Surname HouseNumber Street Postcode Flat Age
Charlotte Hurst 47 Bootham Terrace KW14 3ZB   12
Ava Perkins 53 Russell Rd DE55 8YN   15
Jonathan Norton 94 Dover Road ZE2 1UE 8 16
Harrison Humphreys 77 Horsefair Green CV32 0GD   17
Bailey Dale 37 Princes Street TN17 7ND   18
Matilda Knowles 80 Thirsk Road G84 3FZ 2 19
Liam Henderson 81 Fulford Road SA20 2DR   20
Rhys Chapman 17 Colorado Way TW10 7ZH   21
Adam Davidson 29 North Promenade FK14 2WX   22
Aidan Waters 22 Thames Street TD9 0WX   25
Victoria Bishop 85 Baldock Street IV1 3HG 25 28
Nicholas Gilbert 65 Gordon Terrace TS9 1DX   50
Forename Surname HouseNumber Street Postcode Flat Day/Month/Year OfBirth
Samantha Cole 56 Wressle Road NN29 4PQ   30/3/2011
Freddie Turnbull 15 Hudson St PH15 8ES   2/7/2009
Abbie May 86 Warner Close LA14 6SD   1/9/2008
Bradley Fox 65 Walwyn Rd SP7 2QD 31 7/9/2008
Kieran Hart 98 Town Lane LN11 6RU   7/3/2007
Maddison Palmer 92 Dunmow Road S72 5AH   10/6/2005
Daisy McLean 56 Brynglas Road GL1 3JL   12/4/2005
Rachel Ali 38 Guild Street SE2 8YX   22/11/2003
Rachel Griffiths 30 Cheriton Rd WR14 6JZ 5 8/4/2003
Archie Lawrence 26 Glenurquhart Road AB45 2QP   1/11/2001
Rachel Rose 37 Ash Lane NR19 8TS   28/3/2001
Evan Barlow 53 Scrimshire Lane SY5 3YQ   6/4/2000
Louise Conway 19 Jesmond Rd EX13 6EQ   24/12/1998
Joseph Power 56 Haslemere Road TD13 0UW   14/5/1998
Lauren Lowe 58 Bootham Terrace IV25 5YR   19/1/1997
Aidan Walton 74 George Street DD5 6GZ   16/9/1995
Natasha Pritchard 87 Ponteland Rd PA6 0TH   16/4/1995
Lydia Hart 50 Castledore Road B60 4PF   5/11/1993
Matthew Dodd 64 Hexham Road IV40 5LA   20/8/1992
Isobel Birch 36 Ramsgate Rd NE47 7HH 9 18/3/1992
Logan Kemp 93 Wartnaby Road PA31 6YD   17/7/1990
Jodie Mellor 4 Neville Street L36 7GR   5/2/1990
Lara Baxter* 68 Marcham Road YO6 8AS   12/5/1990
  • Lara Baxter will always return an error with the message “A service error occurred”, and is intended for testing error scenarios.

Geo-Affordability 007


Geo-Affordability service checks if the specific person’s valid economic status based on their regional location.

Product Code: GEO-AFFORDABILITY-007

Properties

The following properties pertain to this service.

Property Name Type Optional/Mandatory Notes
Postcode String Mandatory Unique code used for identifying UK addresses.

Response

Example Response:

    <GeoAffordability007Result>
        <Postcode>CF119PS</Postcode>
        <PublicDerogatorySegment>
            <Rag>G</Rag>
            <Binary>O</Binary>
        </PublicDerogatorySegment>
        <LifeStyleSegment>
            <Rag>R</Rag>
            <Binary>R</Binary>
        </LifeStyleSegment>
        <VulnerableSegment>
            <Rag>A</Rag>
            <Binary>O</Binary>
        </VulnerableSegment>
        <GeoIndicator>ORO</GeoIndicator>
        <GeoIndex>2</GeoIndex>
    </GeoAffordability007Result>
"GeoAffordability007Result": {
    "Postcode":"CF119PS",
    "PublicDerogatorySegment":{
        "Rag":"G",
        "Binary":"O"
    },
    "LifeStyleSegment":{
        "Rag":"R",
        "Binary":"R"
    },
    "VulnerableSegment":{
        "Rag":"A",
        "Binary":"O"
    },
    "GeoIndicator":"ORO",
    "GeoIndex":"2"
}

Each of the properties describes the following:

Property Name Type Notes
Postcode String Unique code used for identifying UK addresses.
Public Derogatory Segment Segment Public Derogatory Segment.
Lifestyle Segment Segment Lifestyle Segment.
Vulnerable Segment Segment Vulnerable Segment.
GEO_INDICATOR String Geo-Affordability Indicator (3 byte) - Exc ONS.
GEO_INDEX Integer Geo-Affordability Index Exc ONS - Super-Low (3), Low (2), Medium (1), High (0).

Segements
Represents the type of Segment.

Property Name Type Notes
RAG String Will always be one of the following: R - Red, A - Amber, G - Green or X - Not Assigned
Binary String Will always be R - Red or O - Other

Sandbox

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

Sandbox Example Cases

       
       (Click on a sandbox case to see the service result data here) 
       
      
Postcode Public Derogatory Segment (RAG) Public Derogatory Segment (Binary) Lifestyle Segment (RAG) Lifestyle Segment (Binary) Vulnerable Segment (RAG) Vulnerable Segment (Binary) GEO_INDICATOR GEO_INDEX
G837BB A O A O A O OOO 0
CO154AE G O A O G O OOO 0
S87TA A O R R A O ORO 1
TS260RF R R R R R R RRR 3
TQ88BD A O R R R R ORR 2

Property Insights 007


Property Insights service checks their economic status based off client household information.

Product Code: PROPERTY-INSIGHTS_007

Properties

The following properties pertain to this service.

Property Name Type Optional/Mandatory Notes
Title String Mandatory The status or profession of the individual.
Forename String Mandatory The Forename of the individual.
Middle Name String Optional The middle name of the individual.
Surname String Mandatory The last name of the individual.
Date of Birth String Optional The date of birth of the individual.
Gross Annual Income Integer Optional Salary earned in one working year.
Bank Sort Code String Optional* Identifies both the bank and the branch where the account is held. * Mandatory if Bank Account Number is also provided.
Bank Account Number String Optional* Unique 8 digit code that identifies an individuals bank account. * Mandatory if Bank Sort Code is also provided.
House Number String Mandatory The HouseNumber of the individual.
Street String Mandatory The Street of the individual.
City String Mandatory The City of the individual.
Postcode String Mandatory Unique code used for identifying UK addresses.

Response

Example Response:

    <PropertyInsights007Result>
       <Characteristics>
          <characteristic>
             <Code>KHC040</Code>
             <Value>M</Value>
          </characteristic>
          <characteristic>
             <Code>KHC041</Code>
             <Value>M</Value>
          </characteristic>
          <characteristic>
             <Code>KHC042</Code>
             <Value>M</Value>
          </characteristic>
       </Characteristics>
    </PropertyInsights007Result>
"PropertyInsights007Result": {
    "Characteristics": [
    {
        "Code":"KHC040",
        "Value":"M"
    },
    {
        "Code":"KHC041",
        "Value":"M"
    },
    {
        "Code":"KHC042",
        "Value":"M"
    }]
}

Each of the properties describes the following:

Property Name Type Notes
Characteristics Characteristic This provides details of the characteristics contained within the response.

Characteristic
Represents the type of Characteristic.

Property Name Type **Notes
Code String The code is the Id of an individual characteristic.
Value String The raw value of the individual characteristic.
Description String The human-readable description of the characteristics.
Interpreted Value String The value of the characteristic interpreted to human-readable text.

Sandbox

Sandbox Example Cases

      (Click on a sandbox case to see the service result data here)
      
Forename Surname Day Of Birth Month Of Birth Year Of Birth House Number Postcode
James Thorpe 10 6 1978 4 AB54 4PN
Ahenobarbus Michal 31 12 1944 68 RH13 3HE
Allen Kiril 8 1 1943 99 IVT X34

W2 Data EKYB Global Online 009


This is a “Know Your Business” service used to generate KYB reports. 

Product Code: W2-DATA-EKYB-GlobalOnline-009

The service is broken down into two steps and requires calling our api twice:

  1. Finding the company (Company search)
  2. Generating the report (Report generation)

The first step is all about finding the company you want.

All that’s needed is the company’s name and country. Sending these to our api will return a list of matched companies with basic information.

Each company has a CompanyId that is used in the next step to generate the report.

Searching companies is free.

Query Data

Add these to the Data section of the request

Property Name Type Length Optional/Mandatory Notes
NameQuery String - Mandatory Name of the Company e.g. “W2 Global Data”
Country String 3 Mandatory IS0 3 Country Code e.g. “GBR”

2) Report Generation

The second step is where we generate the report.

Calling the api with a CompanyId from the previous step will generate the report for that company.

Query Options

Add these to the Options section of the request

Property Name Type Length Optional/Mandatory Notes
CompanyId String - Mandatory CompanyId found from the Company Search step e.g. GB-0-07559968
KybReason String - Optional Kyb Reason is required for generating reports from Germany. Possible options for KybReason listed below.

KybReason Options:

  1. Credit decisioning
  2. Future business credit assessment
  3. Existing business credit assessment
  4. Realisation check receivables collection
  5. Purchase contract
  6. Goods credit insurance
  7. Leasing or rent contract
  8. Insurance contract

Examples

Example 1

<QueryData>
	<NameQuery>W2 Global data</NameQuery>
</QueryData>
{
	"data": {
		"nameQuery":"W2 Global Data",
		"country":"GBR"
		}
}

Example 2

    <CompanySearchResult>
    <Address>
        <Address>UNIT 18 CBTC2, CAPITAL BUSINESS PARK, CARDIFF</Address>
        <Country i:nil="true" />
        <Postcode>CF3 2PX</Postcode>
        <TelephoneNumber i:nil="true" />
    </Address>
    <CompanyType>Ltd</d:CompanyType>
    <Country>GB</d:Country>
    <DateOfLatestAccounts>############</d:DateOfLatestAccounts>
    <DateOfLatestAccountsSpecified>true</d:DateOfLatestAccountsSpecified>
    <Id>GB003/0/07669978</Id>
    <Monitoring>false</Monitoring>
    <Name>W2 GLOBAL DATA SOLUTIONS LIMITED</Name>
    <OnlineReports>true</OnlineReports>
    <RegistrationNumber>07669978</RegistrationNumber>
    <Status>Active</Status>
    </CompanySearchResult>
	"companySearchResults": [{
		"address": {
			"address": "UNIT 18 CBTC2, CAPITAL BUSINESS PARK, CARDIFF",
			"country": "UK",
			"postcode": "CF3 2PX",
			"telephoneNumber": "000000000"
		},
		"companyType": "Ltd",
		"country": "GB",
		"dateOfLatestAccountsSpecified": false,
		"monitoring": false,
		"name": "W2 GLOBAL DATA SOLUTIONS LIMITED",
		"onlineReports": false,
		"registrationNumber": "07669978"
	}
	]

Example 3

<QueryOptions>
	<KeyValueOfstringstring>
		<Key>CompanyId</Key>
		<Value>GB003/0/07669978</Value>
	</KeyValueOfstringstring>
</QueryOptions> 
"Options" : {
	"CompanyId":"GB003/0/07669978"
}

Sandbox

Example Request - W2 Data EKYB 009

{
    "Bundle": "KYB_009",
    "Data": {
        "NameQuery": "W2FakeCompany"
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

If the following details are set, a single fictitious single company result is returned in W2DataEkyb009Result/CompanySearchResults

NameQuery: W2FakeCompany

If the following details are set, multiple fictitious company results will be returned in W2DataEkyb009Result/CompanySearchResults

NameQuery: W2FakeMultipleCompany

If the following details are set, a single fictitious no company result is returned in W2DataEkyb009Result/CompanySearchResults

NameQuery: NullCompany

By adding the following key value pair to the QueryOptions you will get a fake company report

Key: CompanyId
Value: FK000/0/0000001

Company Report Response

This is an extensive report containing a full set of information about a company.

Example 5


<W2DataEkyb009Result>
	 <CompanyReports>
		<CompanyReport>
		   <AdditionalAccountsItems>
			  <AdditionalAccountsItem>
				 <CostOfSales>0</CostOfSales>
				 <DirectorsEmoluments>0</DirectorsEmoluments>
				 <Export>0</Export>
				 <FinancialYear>2016-01-01T00:00:00</FinancialYear>
				 <LongTermHpFinanceLeaseLiabilities>0</LongTermHpFinanceLeaseLiabilities>
				 <RevaluationReserve>0</RevaluationReserve>
				 <ShortTermHpFinanceLeaseLiabilities>0</ShortTermHpFinanceLeaseLiabilities>
			  </AdditionalAccountsItem>
		   </AdditionalAccountsItems>
		   <AdvisorsInformation>
			  <AdvisorsInformation>
				 <AuditorName>AuditorName</AuditorName>
				 <SolicitorName>SolicitorName</SolicitorName>
			  </AdvisorsInformation>
		   </AdvisorsInformation>
		   <BankerInformation>
			  <BankerDetails>
				 <BankerAddress>
					<City>City</City>
					<HouseNumber>HouseNumber</HouseNumber>
					<PostalCode>PostalCode</PostalCode>
					<Province>Province</Province>
					<SimpleValue />
					<Street>Street</Street>
				 </BankerAddress>
				 <BankerCode>BankerCode</BankerCode>
				 <BankerName>BankerName</BankerName>
			  </BankerDetails>
		   </BankerInformation>
		   <BankruptcyData>
			 <HasBankruptcyExactAddressMatch>HasBankruptcyExactAddressMatch
       				</HasBankruptcyExactAddressMatch>
			 <HasBankruptcyExactNameAndAddressMatch>HasBankruptcyExactNameAndAddressMatch
        			</HasBankruptcyExactNameAndAddressMatch>
			  <HasBankruptcyExactNameMatch>HasBankruptcyExactNameMatch
        			</HasBankruptcyExactNameMatch>
		   </BankruptcyData>
		   <Commentaries>
			  <Commentary>
				 <CommentaryText>CommentaryText</CommentaryText>
				 <Positivity>Positivity</Positivity>
			  </Commentary>
		   </Commentaries>
		   <CompanyActivties>
			  <CompanyActivity>
				 <ActivityCode>ActivityCode</ActivityCode>
				 <ActivityDescription>ActivityDescription</ActivityDescription>
			  </CompanyActivity>
		   </CompanyActivties>
		   <CompanyHistory>
			  <CompanyStatusHistoryItem>
				 <Date>2016-01-01T00:00:00</Date>
				 <Description>Description</Description>
			  </CompanyStatusHistoryItem>
		   </CompanyHistory>
		   <CountyCourtJudgments>
			  <CcjReport>
				 <CaseNumber>CaseNumber</CaseNumber>
				 <CccjDate>2016-01-01T00:00:00</CccjDate>
				 <CcjAmount>0</CcjAmount>
				 <CcjDatePaid>2016-01-01T00:00:00</CcjDatePaid>
				 <CcjStatus>CcjStatus</CcjStatus>
				 <Court>Court</Court>
				 <IncomingRecordDetails>IncomingRecordDetails</IncomingRecordDetails>
			  </CcjReport>
		   </CountyCourtJudgments>
		   <CreditScore>
			  <CurrentContractLimit>CurrentContractLimit</CurrentContractLimit>
			  <CurrentCreditRating>
				 <CommonCreditRatingDescription>CommonCreditRatingDescription
         				</CommonCreditRatingDescription>
				 <CreditLimit>0</CreditLimit>
				 <ProviderCreditRating0to100>0</ProviderCreditRating0to100>
				 <ProviderRatingDescription>ProviderRatingDescription
         				</ProviderRatingDescription>
				 <Value>Value</Value>
			  </CurrentCreditRating>
			  <DateOfLatestRatingChange>2016-01-01T00:00:00</DateOfLatestRatingChange>
			  <PreviousCreditRating>
				 <CommonCreditRatingDescription>CommonCreditRatingDescription
         				</CommonCreditRatingDescription>
				 <CreditLimit>0</CreditLimit>
				 <ProviderCreditRating0to100>0</ProviderCreditRating0to100>
				 <ProviderRatingDescription>ProviderRatingDescription
         				</ProviderRatingDescription>
				 <Value>Value</Value>
			  </PreviousCreditRating>
		   </CreditScore>
		   <CurrentDirectors>
			  <CompanyDirector>
				 <Address />
				 <DateOfBirth>2016-01-01T00:00:00</DateOfBirth>
				 <Fullname>Fullname</Fullname>
				 <Position>
					<CorporatePosition>
					   <AppointmentDate>2016-01-01T00:00:00</AppointmentDate>
					   <AppointmentDateSpecified>true</AppointmentDateSpecified>
					   <CommonCode>CommonCode</CommonCode>
					   <ProviderCode>ProviderCode</ProviderCode>
					   <Value>ProviderCode</Value>
					</CorporatePosition>
				 </Position>
			  </CompanyDirector>
		   </CurrentDirectors>
		   <EmailAddress>[email protected]</EmailAddress>
		   <EmployeeInformation>
			  <CompanyEmployeeInformation>
				 <DateReported>112</DateReported>
				 <NumberOfEmployees>NumberOfEmployees</NumberOfEmployees>
			  </CompanyEmployeeInformation>
		   </EmployeeInformation>
		   <ExtendedGroupStructure/>
		   <FaxNumber>FaxNumber</FaxNumber>
		   <FinanceSheets>
			  <FinanceSheet>
				 <BalanceSheet />
				 <OtherFinancials />
				 <ProfitAndLoss>
					<YearlyProfitAndLossReport>
					   <ConsolidatedAccounts>true</ConsolidatedAccounts>
					   <Currency>Currency</Currency>
					   <FinancialYear>2016-01-01T00:00:00</FinancialYear>
					   <NumberOfWeeks>1</NumberOfWeeks>
					   <Amortisation>100</Amortisation>
					   <Depreciation>100</Depreciation>
					   <Dividends>100</Dividends>
					   <ExtraordinaryCosts>ExtraordinaryCosts</ExtraordinaryCosts>
					   <ExtraordinaryIncome>100</ExtraordinaryIncome>
					   <FinancialExpenses>100</FinancialExpenses>
					   <FinancialIncome>100</FinancialIncome>
					   <MinorityInterests>10</MinorityInterests>
					   <OperatingCosts>50</OperatingCosts>
					   <OperatingProfit>50</OperatingProfit>
					   <OtherAppropriations>100</OtherAppropriations>
					   <PensionCosts>10</PensionCosts>
					   <ProfitAfterTax>90</ProfitAfterTax>
					   <ProfitBeforeTax>100</ProfitBeforeTax>
					   <RetainedProfit>10</RetainedProfit>
					   <Revenue>10</Revenue>
					   <Tax>50</Tax>
					   <WagesAndSalaries>100</WagesAndSalaries>
					</YearlyProfitAndLossReport>
				 </ProfitAndLoss>
				 <Ratios />
			  </FinanceSheet>
		   </FinanceSheets>
		   <GroupStructure>
			  <Affiliates>
				 <CompanyInformation>
					<Address>
					   <f:City>City</f:City>
					   <f:HouseNumber>HouseNumber</f:HouseNumber>
					   <f:PostalCode>PostalCode</f:PostalCode>
					   <f:Province>Province</f:Province>
					   <f:SimpleValue />
					   <f:Street>Street</f:Street>
					</Address>
					<Country>GB</Country>
					<Id>Id</Id>
					<Name>Name</Name>
					<OfficeType>OfficeType</OfficeType>
					<PhoneNumber>PhoneNumber</PhoneNumber>
					<RegistrationNumber>RegistrationNumber</RegistrationNumber>
					<SafeNumber>SafeNumber</SafeNumber>
					<Status>Status</Status>
					<Type>Type</Type>
					<VatNumber>VatNumber</VatNumber>
				 </CompanyInformation>
			  </Affiliates>
			  <ImmediateHoldingParent>
				 <Address>
					<f:City>City</f:City>
					<f:HouseNumber>HouseNumber</f:HouseNumber>
					<f:PostalCode>PostalCode</f:PostalCode>
					<f:Province>Province</f:Province>
					<f:SimpleValue />
					<f:Street>Street</f:Street>
				 </Address>
				 <Country>GB</Country>
				 <Id>Id</Id>
				 <Name>Name</Name>
				 <OfficeType>OfficeType</OfficeType>
				 <PhoneNumber>PhoneNumber</PhoneNumber>
				 <RegistrationNumber>RegistrationNumber</RegistrationNumber>
				 <SafeNumber>SafeNumber</SafeNumber>
				 <Status>Status</Status>
				 <Type>Type</Type>
				 <VatNumber>VatNumber</VatNumber>
			  </ImmediateHoldingParent>
			  <Subsidiaries>
				 <CompanyInformation>
					<Address>
					   <f:City>City</f:City>
					   <f:HouseNumber>HouseNumber</f:HouseNumber>
					   <f:PostalCode>PostalCode</f:PostalCode>
					   <f:Province>Province</f:Province>
					   <f:SimpleValue />
					   <f:Street>Street</f:Street>
					</Address>
					<Country>GB</Country>
					<Id>Id</Id>
					<Name>Name</Name>
					<OfficeType>OfficeType</OfficeType>
					<PhoneNumber>PhoneNumber</PhoneNumber>
					<RegistrationNumber>RegistrationNumber</RegistrationNumber>
					<SafeNumber>SafeNumber</SafeNumber>
					<Status>Status</Status>
					<Type>Type</Type>
					<VatNumber>VatNumber</VatNumber>
				 </CompanyInformation>
			  </Subsidiaries>
			  <UltimateHoldingParent>
				 <Address>
					<f:City>City</f:City>
					<f:HouseNumber>HouseNumber</f:HouseNumber>
					<f:PostalCode>PostalCode</f:PostalCode>
					<f:Province>Province</f:Province>
					<f:SimpleValue />
					<f:Street>Street</f:Street>
				 </Address>
				 <Country>GB</Country>
				 <Id>Id</Id>
				 <Name>Name</Name>
				 <OfficeType>OfficeType</OfficeType>
				 <PhoneNumber>PhoneNumber</PhoneNumber>
				 <RegistrationNumber>RegistrationNumber</RegistrationNumber>
				 <SafeNumber>SafeNumber</SafeNumber>
				 <Status>Status</Status>
				 <Type>Type</Type>
				 <VatNumber>VatNumber</VatNumber>
			  </UltimateHoldingParent>
		   </GroupStructure>
		   <Id>0</Id>
		   <MainAddress>
			  <City>City</City&gt;
			  <HouseNumber>HouseNumber</HouseNumber>
			  <PostalCode>PostalCode</PostalCode>
			  <Province>Province</Province>
			  <SimpleValue />
			  <Street>Street</Street>
			  <Country>GB</Country>
			  <PhoneNumber>PhoneNumber</PhoneNumber>
		   </MainAddress>
		   <MortgageInformation>
			  <MortgageDetails>
				 <MortgageDetails>
					<AmountSecured>AmountSecured</AmountSecured>
					<DateChargeCreated>DateChargeCreated</DateChargeCreated>
					<DateChargeRegistered>DateChargeRegistered</DateChargeRegistered>
					<DateChargeSatisfied>DateChargeSatisfied</DateChargeSatisfied>
					<Details>Details</Details>
					<MortgageType>MortgageType</MortgageType>
					<PersonsEntitled>PersonsEntitled</PersonsEntitled>
					<Status>Status</Status>
				 </MortgageDetails>
			  </MortgageDetails>
			  <MortgageSummary>
				 <Outstanding>0</Outstanding>
				 <Satsified>0</Satsified>
			  </MortgageSummary>
		   </MortgageInformation>
		   <NegativeRating>NegativeRating</NegativeRating>
		   <OtherAddresses>
			  <ExtendedAddressInfo>
				 <City>City</City>
				 <HouseNumber>HouseNumber</HouseNumber>
				 <PostalCode>PostalCode</PostalCode>
				 <Province>Province</Province>
				 <SimpleValue />
				 <Street>Street</Street>
				 <Country>GB</Country>
				 <PhoneNumber>PhoneNumber</PhoneNumber>
			  </ExtendedAddressInfo>
		   </OtherAddresses>
		   <PaymentData>
			  <AnnualDbtWithTrend>
				 <PaymentDataEntry>
					<Balance>Balance</Balance>
					<DBTTrend>DBTTrend</DBTTrend>
					<DBTValue>DBTValue</DBTValue>
					<Month>Month</Month>
				 </PaymentDataEntry>
			  </AnnualDbtWithTrend>
			  <Balance>Balance</Balance>
			  <BalanceP1>BalanceP1</BalanceP1>
			  <BalanceP2>BalanceP2</BalanceP2>
			  <BalanceP3>BalanceP3</BalanceP3>
			  <BalanceP4>BalanceP4</BalanceP4>
			  <BalanceWithinTerms>BalanceWithinTerms</BalanceWithinTerms>
			  <Dbt>Dbt</Dbt>
			  <InvoicesBetween3And12Months>
				 <PaidInTerms>PaidInTerms</PaidInTerms>
				 <PaidP1>PaidP1</PaidP1>
				 <PaidP2>PaidP2</PaidP2>
				 <PaidP3>PaidP3</PaidP3>
				 <PaidP4>PaidP4</PaidP4>
				 <TotalPaid>TotalPaid</TotalPaid>
			  </InvoicesBetween3And12Months>
			  <InvoicesLast3Months>
				 <PaidInTerms>PaidInTerms</PaidInTerms>
				 <PaidP1>PaidP1</PaidP1>
				 <PaidP2>PaidP2</PaidP2>
				 <PaidP3>PaidP3</PaidP3>
				 <PaidP4>PaidP4</PaidP4>
				 <TotalPaid>TotalPaid</TotalPaid>
			  </InvoicesLast3Months>
			  <LastSixMonthsBalance>
				 <PaymentDataEntry>
					<Balance>Balance</Balance>
					<DBTTrend>DBTTrend</DBTTrend>
					<DBTValue>DBTValue</DBTValue>
					<Month>Month</Month>
				 </PaymentDataEntry>
			  </LastSixMonthsBalance>
			  <PaymentTrend>PaymentTrend</PaymentTrend>
			  <TotalNoofInvoicesAvailable>TotalNoofInvoicesAvailable
        			</TotalNoofInvoicesAvailable>
			  <TotalNoofInvoicesOwingAfter30DaysDue>TotalNoofInvoicesOwingAfter30DaysDue
        			</TotalNoofInvoicesOwingAfter30DaysDue>
			  <TotalNoofInvoicesOwingBefore30DaysDue>TotalNoofInvoicesOwingBefore30DaysDue
        			</TotalNoofInvoicesOwingBefore30DaysDue>
			  <TotalNoofInvoicesPaidAfter30DaysDue>TotalNoofInvoicesPaidAfter30DaysDue
        			</TotalNoofInvoicesPaidAfter30DaysDue>
			  <TotalNoofInvoicesPaidBefore30DaysDue>TotalNoofInvoicesPaidBefore30DaysDue
        			</TotalNoofInvoicesPaidBefore30DaysDue>
			  <TotalTradeLines>TotalTradeLines</TotalTradeLines>
			  <TotalTradeLinesOutstanding>TotalTradeLinesOutstanding</TotalTradeLinesOutstanding>
		   </PaymentData>
		   <PremiseType>PremiseType</PremiseType>
		   <PreviousAddresses>
			  <ExtendedAddressInfo>
				 <City>City</City>
				 <HouseNumber>HouseNumber</HouseNumber>
				 <PostalCode>PostalCode</PostalCode>
				 <Province>Province</Province>
				 <SimpleValue />
				 <Street>Street</Street>
				 <Country>GB</Country>
				 <PhoneNumber>PhoneNumber</PhoneNumber>
			  </ExtendedAddressInfo>
		   </PreviousAddresses>
		   <PreviousDirectors>
			  <CompanyDirector>
				 <Address />
				 <DateOfBirth>2016-01-01T00:00:00</DateOfBirth>
				 <Fullname>Fullname</Fullname>
				 <Position>
					<CorporatePosition>
					   <AppointmentDate>2016-01-01T00:00:00</AppointmentDate>
					   <AppointmentDateSpecified>true</AppointmentDateSpecified>
					   <CommonCode>CommonCode</CommonCode>
					   <ProviderCode>ProviderCode</ProviderCode>
					   <Value>ProviderCode</Value>
					</CorporatePosition>
				 </Position>
			  </CompanyDirector>
		   </PreviousDirectors>
		   <PreviousNames>
			  <CompanyNameChange>
				 <DateChangedFromPreviousName>2016-01-01T00:00:00
         				</DateChangedFromPreviousName>
				 <PreviousName>PreviousName</PreviousName>
			  </CompanyNameChange>
		   </PreviousNames>
		   <ShareCapitalStructure>
			  <IssuedShareCapital>IssuedShareCapital</IssuedShareCapital>
			  <NominalShareCapital>NominalShareCapital</NominalShareCapital>
			  <Shareholders>
				 <ShareHolder>
					<Address>
					   <f:City>City</f:City>
					   <f:HouseNumber>HouseNumber</f:HouseNumber>
					   <f:PostalCode>PostalCode</f:PostalCode>
					   <f:Province>Province</f:Province>
					   <f:SimpleValue />
					   <f:Street>Street</f:Street>
					</Address>
					<Name>Name</Name>
					<PercentageShares>PercentageShares</PercentageShares>
				 </ShareHolder>
			  </Shareholders>
		   </ShareCapitalStructure>
		   <StatusHistory>
			  <CompanyStatusHistoryItem>
				 <Date>2016-01-01T00:00:00</Date>
				 <Description>Description</Description>
			  </CompanyStatusHistoryItem>
		   </StatusHistory>
		   <Summary>
			  <BusinessName>BusinessName</BusinessName>
			  <CommercialCourt />
			  <CompanyRegistrationNumber>FK000/0/0000001</CompanyRegistrationNumber>
			  <CompanyStatus>CompanyStatus</CompanyStatus>
			  <ContactAddress />
			  <ContactTelephoneNumber />
			  <Country>GB</Country>
			  <CreditRating />
			  <DateOfCompanyRegistration />
			  <DateOfStartingOperations />
			  <LastTurnoverFigure>10</LastTurnoverFigure>
			  <LatestShareholderEquityFigure>10</LatestShareholderEquityFigure>
			  <LegalForm />
			  <MainActivity />
			  <Number>01010101010</Number>
			  <PrincipalActivityCode />
			  <PrincipalActivityDescription />
			  <RegisteredCompanyName />
			  <TypeOfOwnership />
			  <VatRegistrationDate>2016-01-01T00:00:00</VatRegistrationDate>
			  <VatRegistrationNumber>FK00000000001</VatRegistrationNumber>
		   </Summary>
		   <WebPages>
			  <string>http://testwebpage.com</string>
		   </WebPages>
		</CompanyReport>
	 </CompanyReports>
	 <CompanySearchResults />
  </W2DataEkyb009Result>
"w2DataEkyb009Result": {
	"companyReports": [{
			"additionalAccountsItems": [{
					"costOfSales": "0",
					"directorsEmoluments": "0",
					"export": "0",
					"financialYear": "2016-01-01T00:00:00",
					"longTermHpFinanceLeaseLiabilities": "0",
					"revaluationReserve": "0",
					"shortTermHpFinanceLeaseLiabilities": "0"
				}
			],
			"advisorsInformation": [{
					"auditorName": "AuditorName",
					"solicitorName": "SolicitorName"
				}
			],
			"bankerInformation": [{
					"bankerAddress": {
						"city": "City",
						"houseNumber": "HouseNumber",
						"postalCode": "PostalCode",
						"province": "Province",
						"street": "Street"
					},
					"bankerCode": "BankerCode",
					"bankerName": "BankerName"
				}
			],
			"bankruptcyData": {
				"hasBankruptcyExactAddressMatch": "HasBankruptcyExactAddressMatch",
				"hasBankruptcyExactNameAndAddressMatch": "HasBankruptcyExactNameAndAddressMatch",
				"hasBankruptcyExactNameMatch": "HasBankruptcyExactNameMatch"
			},
			"commentaries": [{
					"commentaryText": "CommentaryText",
					"positivity": "Positivity"
				}
			],
			"companyActivties": [{
					"activityCode": "ActivityCode",
					"activityDescription": "ActivityDescription"
				}
			],
			"companyHistory": [{
					"date": "2016-01-01T00:00:00",
					"description": "Description"
				}
			],
			"countyCourtJudgments": [{
					"caseNumber": "CaseNumber",
					"cccjDate": "2016-01-01T00:00:00",
					"ccjAmount": 0.0,
					"ccjDatePaid": "2016-01-01T00:00:00",
					"ccjStatus": "CcjStatus",
					"court": "Court",
					"incomingRecordDetails": "IncomingRecordDetails"
				}
			],
			"creditScore": {
				"currentContractLimit": "CurrentContractLimit",
				"currentCreditRating": {
					"commonCreditRatingDescription": "CommonCreditRatingDescription",
					"creditLimit": 0.0,
					"providerCreditRating0to100": 0.0,
					"providerRatingDescription": "ProviderRatingDescription",
					"value": "Value"
				},
				"dateOfLatestRatingChange": "2016-01-01T00:00:00",
				"previousCreditRating": {
					"commonCreditRatingDescription": "CommonCreditRatingDescription",
					"creditLimit": 0.0,
					"providerCreditRating0to100": 0.0,
					"providerRatingDescription": "ProviderRatingDescription",
					"value": "Value"
				}
			},
			"currentDirectors": [{
					"dateOfBirth": "2016-01-01T00:00:00",
					"fullname": "Fullname",
					"position": [{
							"appointmentDate": "2016-01-01T00:00:00",
							"appointmentDateSpecified": true,
							"commonCode": "CommonCode",
							"providerCode": "ProviderCode",
							"value": "ProviderCode"
						}
					]
				}
			],
			"emailAddress": "[email protected]",
			"employeeInformation": [{
					"dateReported": 112,
					"numberOfEmployees": "NumberOfEmployees"
				}
			],
			"faxNumber": "FaxNumber",
			"financeSheets": [{
					"profitAndLoss": [{
							"amortisation": "100",
							"depreciation": "100",
							"dividends": "100",
							"extraordinaryCosts": "100",
							"extraordinaryIncome": "100",
							"financialExpenses": "100",
							"financialIncome": "100",
							"minorityInterests": "10",
							"operatingCosts": "50",
							"operatingProfit": "50",
							"otherAppropriations": "100",
							"pensionCosts": "10",
							"profitAfterTax": "90",
							"profitBeforeTax": "100",
							"retainedProfit": "10",
							"revenue": "10",
							"tax": "50",
							"wagesAndSalaries": "100",
							"consolidatedAccounts": true,
							"currency": "Currency",
							"financialYear": "2016-01-01T00:00:00",
							"numberOfWeeks": 1
						}
					]
				}
			],
			"groupStructure": {
				"affiliates": [{
						"address": {
							"city": "City",
							"houseNumber": "HouseNumber",
							"postalCode": "PostalCode",
							"province": "Province",
							"street": "Street"
						},
						"country": "GB",
						"id": "Id",
						"name": "Name",
						"officeType": "OfficeType",
						"phoneNumber": "PhoneNumber",
						"registrationNumber": "RegistrationNumber",
						"safeNumber": "SafeNumber",
						"status": "Status",
						"type": "Type",
						"vatNumber": "VatNumber"
					}
				],
				"immediateHoldingParent": {
					"address": {
						"city": "City",
						"houseNumber": "HouseNumber",
						"postalCode": "PostalCode",
						"province": "Province",
						"street": "Street"
					},
					"country": "GB",
					"id": "Id",
					"name": "Name",
					"officeType": "OfficeType",
					"phoneNumber": "PhoneNumber",
					"registrationNumber": "RegistrationNumber",
					"safeNumber": "SafeNumber",
					"status": "Status",
					"type": "Type",
					"vatNumber": "VatNumber"
				},
				"subsidiaries": [{
						"address": {
							"city": "City",
							"houseNumber": "HouseNumber",
							"postalCode": "PostalCode",
							"province": "Province",
							"street": "Street"
						},
						"country": "GB",
						"id": "Id",
						"name": "Name",
						"officeType": "OfficeType",
						"phoneNumber": "PhoneNumber",
						"registrationNumber": "RegistrationNumber",
						"safeNumber": "SafeNumber",
						"status": "Status",
						"type": "Type",
						"vatNumber": "VatNumber"
					}
				],
				"ultimateHoldingParent": {
					"address": {
						"city": "City",
						"houseNumber": "HouseNumber",
						"postalCode": "PostalCode",
						"province": "Province",
						"street": "Street"
					},
					"country": "GB",
					"id": "Id",
					"name": "Name",
					"officeType": "OfficeType",
					"phoneNumber": "PhoneNumber",
					"registrationNumber": "RegistrationNumber",
					"safeNumber": "SafeNumber",
					"status": "Status",
					"type": "Type",
					"vatNumber": "VatNumber"
				}
			},
			"id": "0",
			"mainAddress": {
				"country": "GB",
				"phoneNumber": "PhoneNumber",
				"city": "City",
				"houseNumber": "HouseNumber",
				"postalCode": "PostalCode",
				"province": "Province",
				"street": "Street"
			},
			"mortgageInformation": {
				"mortgageDetails": [{
						"amountSecured": "AmountSecured",
						"dateChargeCreated": "DateChargeCreated",
						"dateChargeRegistered": "DateChargeRegistered",
						"dateChargeSatisfied": "DateChargeSatisfied",
						"details": "Details",
						"mortgageType": "MortgageType",
						"personsEntitled": "PersonsEntitled",
						"status": "Status"
					}
				],
				"mortgageSummary": {
					"outstanding": 0,
					"satsified": 0
				}
			},
			"negativeRating": "NegativeRating",
			"otherAddresses": [{
					"country": "GB",
					"phoneNumber": "PhoneNumber",
					"city": "City",
					"houseNumber": "HouseNumber",
					"postalCode": "PostalCode",
					"province": "Province",
					"street": "Street"
				}
			],
			"paymentData": {
				"annualDbtWithTrend": [{
						"balance": "Balance",
						"dbtTrend": "DBTTrend",
						"dbtValue": "DBTValue",
						"month": "Month"
					}
				],
				"balance": "Balance",
				"balanceP1": "BalanceP1",
				"balanceP2": "BalanceP2",
				"balanceP3": "BalanceP3",
				"balanceP4": "BalanceP4",
				"balanceWithinTerms": "BalanceWithinTerms",
				"dbt": "Dbt",
				"invoicesBetween3And12Months": {
					"paidInTerms": "PaidInTerms",
					"paidP1": "PaidP1",
					"paidP2": "PaidP2",
					"paidP3": "PaidP3",
					"paidP4": "PaidP4",
					"totalPaid": "TotalPaid"
				},
				"invoicesLast3Months": {
					"paidInTerms": "PaidInTerms",
					"paidP1": "PaidP1",
					"paidP2": "PaidP2",
					"paidP3": "PaidP3",
					"paidP4": "PaidP4",
					"totalPaid": "TotalPaid"
				},
				"lastSixMonthsBalance": [{
						"balance": "Balance",
						"dbtTrend": "DBTTrend",
						"dbtValue": "DBTValue",
						"month": "Month"
					}
				],
				"paymentTrend": "PaymentTrend",
				"totalNoofInvoicesAvailable": "TotalNoofInvoicesAvailable",
				"totalNoofInvoicesOwingAfter30DaysDue": "TotalNoofInvoicesOwingAfter30DaysDue",
				"totalNoofInvoicesOwingBefore30DaysDue": "TotalNoofInvoicesOwingBefore30DaysDue",
				"totalNoofInvoicesPaidAfter30DaysDue": "TotalNoofInvoicesPaidAfter30DaysDue",
				"totalNoofInvoicesPaidBefore30DaysDue": "TotalNoofInvoicesPaidBefore30DaysDue",
				"totalTradeLines": "TotalTradeLines",
				"totalTradeLinesOutstanding": "TotalTradeLinesOutstanding"
			},
			"premiseType": "PremiseType",
			"previousAddresses": [{
					"country": "GB",
					"phoneNumber": "PhoneNumber",
					"city": "City",
					"houseNumber": "HouseNumber",
					"postalCode": "PostalCode",
					"province": "Province",
					"street": "Street"
				}
			],
			"previousDirectors": [{
					"dateOfBirth": "2016-01-01T00:00:00",
					"fullname": "Fullname",
					"position": [{
							"appointmentDate": "2016-01-01T00:00:00",
							"appointmentDateSpecified": true,
							"commonCode": "CommonCode",
							"providerCode": "ProviderCode",
							"value": "ProviderCode"
						}
					]
				}
			],
			"previousNames": [{
					"dateChangedFromPreviousName": "2016-01-01T00:00:00",
					"previousName": "PreviousName"
				}
			],
			"shareCapitalStructure": {
				"issuedShareCapital": "IssuedShareCapital",
				"nominalShareCapital": "NominalShareCapital",
				"shareholders": [{
						"address": {
							"city": "City",
							"houseNumber": "HouseNumber",
							"postalCode": "PostalCode",
							"province": "Province",
							"street": "Street"
						},
						"name": "Name",
						"percentageShares": "PercentageShares"
					}
				]
			},
			"statusHistory": [{
					"date": "2016-01-01T00:00:00",
					"description": "Description"
				}
			],
			"summary": {
				"businessName": "BusinessName",
				"companyRegistrationNumber": "FK000/0/0000001",
				"companyStatus": "CompanyStatus",
				"country": "GB",
				"lastTurnoverFigure": 10.0,
				"latestShareholderEquityFigure": 10.0,
				"number": "01010101010",
				"vatRegistrationDate": "2016-01-01T00:00:00",
				"vatRegistrationNumber": "FK00000000001"
			},
			"webPages": [
				"http://testwebpage.com"
			]
		}
	],
	"companySearchResults": []
}

W2 Affordability Data 045


Product Code: W2_AFFORDABILITY_DATA_045

This is a service which assists in determining affordability for a customer based on lifestyle factors and high cost short term credit applications.

Query Data

# Example request with all fields
{
    "Bundle": "W2_AFFORDABILITY_DATA_045",
    "Data": {
        "City": "Kings Landing",
        "County": "Blaenau Gwent",
        "DayOfBirth": 1,
        "Email": "[email protected]",
        "Forename": "Lauren",
        "HouseName": "Rose Cottage",
        "HouseNumber": "14",
        "MobileNumber": "07539587538",
        "MonthOfBirth": 1,
        "Postcode": "SW1A 1AA",
        "Street": "Abbey Road",
        "Surname": "Ford",
        "YearOfBirth": 1985
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

Add these to the Data section of the request

Property Name Type Length Optional/Mandatory
Forename String 30 Mandatory
Surname String 30 Mandatory
DayOfBirth Integer 2 Optional
MonthOfBirth Integer 2 Optional
YearOfBirth Integer 4 Optional
HouseName String 26 Optional
HouseNumber String 26 Optional
Postcode String 8 Optional
Street String 40 Optional
County String 20 Optional
City String 20 Optional
Email String 30 Optional
MobileNumber String 12 Optional

Requirements

This service requires at least one of DOB, Email, Mobile number or Address to be provided with Forename + Surname.

A valid Address must contain at least a House Name/House Number, Street and Postcode.

Sandbox

Use these set responses to test your integration. Learn how to use our Sandbox here.

(Click on the row to see the result)

Sandbox Cases

      (Click on a sandbox case to see the service result data here)
      
Forename Surname Day Of Birth Month Of Birth Year Of Birth
Gabriel POLLEN 1 1 1985
Alexander Hepworth 1 1 1985
David Mcdonald 1 1 1985
Steven Down 1 1 1985
David Mcdonald 1 1 1985

W2 Affordability VRS 045


Product Code: W2_AFFORDABILITY_VRS_045

This is a service which facilitates checks on whether a customer has a self-declared vulnerability.

Query Data

# Example request with all fields
{
    "Bundle": "W2_AFFORDABILITY_VRS_045",
    "Data": {
        "City": "Kings Landing",
        "County": "Blaenau Gwent",
        "DayOfBirth": 1,
        "Email": "[email protected]",
        "Forename": "John",
        "HouseName": "Rose Cottage",
        "HouseNumber": "14",
        "MobileNumber": "07539587538",
        "MonthOfBirth": 1,
        "Postcode": "SW1A 1AA",
        "Street": "Abbey Road",
        "Surname": "Gurung",
        "YearOfBirth": 1985
    },
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

Add these to the Data section of the request

Property Name Type Length Optional/Mandatory
Forename String 30 Mandatory
Surname String 30 Mandatory
DayOfBirth Integer 2 Optional
MonthOfBirth Integer 2 Optional
YearOfBirth Integer 4 Optional
HouseName String 26 Optional
HouseNumber String 26 Optional
Postcode String 8 Optional
Street String 40 Optional
County String 20 Optional
City String 20 Optional
Email String 30 Optional
MobileNumber String 12 Optional

Requirements

This service requires at least one of DOB, Email, Mobile number or Address to be provided with Forename + Surname.

A valid Address must contain at least a House Name/House Number, Street and Postcode.

Sandbox

Use these set responses to test your integration. Learn how to use our Sandbox here.

(Click on the row to see the result)

Sandbox Cases

      (Click on a sandbox case to see the service result data here)
      
Forename Surname Day Of Birth Month Of Birth Year Of Birth
John Gurung 1 1 1985
dean Webb 1 1 1985
mojhaid Donnellan 1 1 1985
Andrejs mitchell 1 1 1985
Richard Hewlett 1 1 1985

W2 Data RNS 007


About the service

Product Code: W2_Data_RNS_007

RNS 007 is part of W2’s Affordability suite of services.

The service returns a score based on an individual’s ability to afford your product or service. The score comprises of numerous public data derived characteristics, the data sources being predominantly Electoral Roll, CCJ & Postcode statistics.

Request

# Example request with all fields
{
    "Bundle": "W2DataRNS007",
	"Data": {
		"Forename": "Hywel",
		"Surname": "Griffiths",
		"Street": "Churchway Road",
		"Postcode": "LL28 4DB",
		"HouseNumber": "31",
		"City": "Colwyn Bay",
		"DayOfBirth":18,
		"MonthOfBirth":8,
		"YearOfBirth":1991
	},
    "Options": {
        "Sandbox": "true"
    },
    "ClientReference": "your-client-reference"
}

These are the request properties available to this service:

Property Name Type Length Optional/Mandatory
Title String 15 Optional
Forename String 15 Mandatory
MiddleNames String 15 Optional
Surname String 30 Mandatory
DayOfBirth Integer 2 Optional
MonthOfBirth Integer 2 Optional
YearOfBirth Integer 4 Optional
HouseName String 26 Optional**
HouseNumber String 26 Optional**
Postcode String 8 Mandatory
Street String 36 Mandatory
City String 58 Mandatory

** One of HouseName or HouseNumber is required.

Response

Response example

Response example in the right column ->

# Example response
"w2DataRNS007Result": {
	"score": 350
}

Response Breakdown

Property Description
Score An integer between 0 and 500. A lower score denotes the applicant is poorer quality and is therefore more likely to enter arrears. A higher score denotes the applicant is of better quality and is more likely to keep up to date with payments towards credit agreements

Sandbox

Use these set responses to test your integration. Learn how to use our Sandbox here.

(Click on the row to see the result)

Sandbox Cases

      (Click on a sandbox case to see the service result data here)
      
Forename Surname Day Of Birth Month Of Birth Year Of Birth House Number Street City Postcode
Harri Vaughan 13 5 1990 13 Powers Close Wrexham LL11 0FB
Rhisiart Cecil 28 8 1986 41 Church Close Cardiff CF10 1AB
Gwawr Prichard 26 7 1968 20 Torbay Road Llanelli SA14 8AF
Hywel Griffiths 18 8 1991 31 Churchway Road Colwyn Bay LL28 4DB

Deprecated Services

W2 Data Post Redirect 028


W2 Data Post Redirect 028 This service searches a Royal Mail database of Notifications of Change of Address (NCOA) to see if a redirect exists for an individual at a particular address. Due to the nature of our contract with Royal Mail we can only confirm that a redirect exists and the status of the redirect (Active, Cancelled, Expired, Pending). We cannot confirm whether the redirect is from or to the address in question.  We can only include this service in a bundle with other services.

Query Data 

The API uses the following Query Data fields for this service.

Property Name Type Optional/Mandatory
Forename string Mandatory
Surname string Mandatory 
HouseName string Mandatory*
HouseNumber string Mandatory*
Flat string Optional
Street string Optional
City string Optional
Postcode string Mandatory
DayOfBirth integer Optional
MonthOfBirth integer Optional
YearOfBirth integer Optional

Please note that for this service we have to use exact matching to perform our searching, so for example Dave Smith would not match David Smith.

The minimum address fields we require is house name/number and postcode. The address match has to be exact for us to return a match so the more address information that can be supplied the better chances there will be of finding a match. 

Date of birth is optional but if included must include all three fields and be a valid date.

Response 

In the <ServiceResult> section of the response we return the <W2DataPostRedirectResult> element which contains the following fields: 

Example Response

"w2DataPostRedirect028Result": {
	"matchFound": true,
	"redirectionStatus":"Active"
}
<W2DataPostRedirect028Result>
    <MatchFound>true | false</MatchFound>
    <RedirectionStatus>Active | Cancelled | Expired | Pending</RedirectionStatus>
</W2DataPostRedirect028Result>

In the <ServiceTransactions> element we return a <ServiceTransactionInformation> element as per our usual services. The <ServiceInterpretResult> element will either be OneResult or NoResults. 

Sandbox 

The following table lists all sandbox cases that will return a result for this service. 

Sandbox Example Cases

        (Click on a sandbox case to see the service result data here)
        
Forename Surname Day Of Birth Month Of Birth Year Of Birth Flat House Name/Number Postcode Result
Ahenobarbus Michal 31 12 1944 68 RH13 3HE OneResult
James Thorpe 10 6 1978 4 AB54 4PN OneResult

W2 Data EKYC Lite US 005 Service


 

Query Data    

The following QueryData elements pertain to this service.    

Property Name Type Length Optional/Mandatory Notes
Forename String 15 Mandatory  
MiddleNames String 15 Optional  
Surname String 30 Mandatory  
Gender String   Optional Must be ‘M’ or ‘F’ if provided
DayOfBirth Integer 2 Optional  
MonthOfBirth Integer 2 Optional  
YearOfBirth Integer 4 Optional  
HouseName String 26 Mandatory if no HouseNumber given  
HouseNumber String 26 Mandatory if no HouseName given  
Street String 255 Mandatory  
Region String 2 Mandatory Must be a USA state code in two letter format, e.g. “OH”
City String 100 Mandatory  
Postcode String 5 Mandatory Must be five numeric digits
Phone Number String 16 Optional Please provide the phone number as one contiguous set of numbers with no other characters or spaces.
PersonalId String 11 Optional Personal ID is US Social Security Number and can be in any one of the three formats:’xxx-xx-xxxx’ or ‘xxx xx xxxx’ or ‘xxxxxxxxx’ 

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

Request

Sample Request

  "Data": {
    "City": "BURLESON",
    "Forename": "DARRELL",
    "Gender": "M",
    "HouseNumber": "2624",
    "PhoneNumber": "8174473203",
    "Postcode": "76028",
    "Region": "TX",
    "Street": "CASTLE PINES DR",
    "Surname": "BOEDEKER"
  }
<QueryData>
 <City>BURLESON</City>
 <Forename>DARRELL</Forename>
 <Gender>M</Gender>
 <HouseNumber>2624</HouseNumber>
 <PhoneNumber>8174473203</PhoneNumber>
 <Postcode>76028</Postcode>
 <Region>TX</Region>
 <Street>CASTLE PINES DR</Street>
 <Surname>BOEDEKER</Surname>
</QueryData>

Response

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

Sample Response

"w2DataEkycLiteUs005Result": {
	"dataSources": [{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddress",
			"NumberOfMatches": 1,
			"Source": "MortalityData"
		}
	],
	"interpretResult": "Pass",
	"Message": "The call was successful",
	"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycLiteUs005Result>
    <DataSources>
        <!-- An array of MatchingSource elements --> 
        <MatchingSource>
            <AllowMultipleRecordsAsSeparateDataSources>
                { true | false }
            </AllowMultipleRecordsAsSeparateDataSources>
            <MatchingCriteria>
                { 
                    NameAndAddress | NameAndDateOfBirth |
                    NameAndAddressAndDateOfBirth | MortalityHighConfidence | 
                    MortalityLowConfidence
                }
            </MatchingCriteria>
            <NumberOfMatches>           
                { 0 - 99 }
            <NumberOfMatches>
            <Source>
               {
                    0 = NotAssigned 
                    6 = MortalityData
                    8 = Credit
                    14 = Telephone
                    16 = SSN
                    17 = DrivingLicence
                }            
            <Source>
        </MatchingSource>
    </DataSources>
    <InterpretResult>
        { 
            NotPerformed | Pass | Fail | Refer |
            NotApplicable | NoInterpretPerformed 
        }
    </InterpretResult>
    <Message>
        { A message containing additional information about the call }
    </Message>
    <TransactionResult>
        {
            None | Success | SuccessNoResults | SuccessIncompleteResults |
            MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
            NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
        }
    </TransactionResult>
</W2DataEkycLiteUs005Result>

Example Response

Example Response

"w2DataEkycLiteUs005Result": {
	"dataSources": [{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddress",
			"NumberOfMatches": 1,
			"Source": "MortalityData"
		},{
			"AllowMultipleRecordsAsSeparateDataSources": false,
			"MatchingCriteria": "NameAndAddressAndDateOfBirth",
			"NumberOfMatches": 3,
			"Source": "Credit"
		}
	],
	"interpretResult": "Pass",
	"Message": "The call was successful",
	"transactionResult": "SuccessIncompleteResults"
}
<W2DataEkycLiteUs005Result>
 	<DataSources>
		<MatchingSource>
 			<AllowMultipleRecordsAsSeparateDataSources>false</AllowMultipleRecordsAsSeparateDataSources>
 			<MatchingCriteria>NameAndAddress</MatchingCriteria>
 			<NumberOfMatches>1</NumberOfMatches>
 			<Source>1</Source>
 		</MatchingSource>
 	</DataSources>
	<InterpretResult>Pass</InterpretResult>
	<Message>This call was generated using sandbox mode</Message>
 	<TransactionResult>Success</TransactionResult>
 </W2DataEkycLiteUs005Result>

Transaction Result

HaltTriggered Usually false, but can be true if this service is used within a bundle that can trigger a halt condition.
ServiceTransactionResult - Success
- SuccessIncompleteResults - Too many matches on the search criteria and the results have been truncated
- SuccessNoResults - No matches found
- ServerErrorGeneralError - An error occurred
- ServiceFailureError - Unable to contact third party service
- ClientErrorInsufficientInformationRequired field not supplied or insufficient/invalid information
ServiceInterpretResult - Pass
- Fail
- Refer
- NoInterpretPerformed
- NotPerformed - An error occurred and the search was not performed
ServiceTransactionResultMessage Usually empty, can contain optional information such as too many matches etc.
ValidationResult - Pass
- NotPerformed
- No search occurred to match against
-Fail
-MissingMandatoryField or PatternNotMatched

Sandbox

Sandbox mode can be used to test the service. By setting the following query option and sending some the below query data we will return a pre-configured response without actually calling our suppliers.

Query options for Sandbox

"options": {
	"sandbox": "true"
}
<QueryOptions>
  <KeyValueOfstringstring>
    <Key>Sandbox</Key>
    <Value>true</Value>
  </KeyValueOfstringstring>
</QueryOptions>
Forename Surname Day Of Birth Month Of Birth Year Of Birth House Number Street City Region Postcode Personal Id Result
Angela Huggins 13 6 1970 3912 Atha Drive Bakersfield CA 93301   No Matches Found
Ashley Reinhardt 11 4 1971 2647 Lighthouse Drive Springfield MO 65806   1x Name & Address & DOB - Credit
Danielle Estrada 3 8 1990 2473 Pringle Drive Chicago IL 60605   1x Name & Address - Telco
David Bergeron 3 10 1993 1156 Sardis Station Golden Valley MN 55427 501113964 1x Name & Address & DOB - SSN
Eric Glenn 23 1 1974 1371 Eva Pearl Street Monticello LA 70814   1x Name & Address - Credit
James Silvestre 24 1 1980 3443 Valley Street Salem NJ 08079   1x Name &Address - Driving License
Marie Hawks 2 7 1974 1139 Dogwood Road Phoenix AZ 85008   1x Name & Address - Telco
Samuel Witt 20 10 1994 2893 Walton Street Salem UT 84653 254420123 1x Name & Address - SSN
Sharen Holt 21 2 1968 2053 Rhapsody Street Gainesville FL 32607   1x Name & Address - Credit
1x Name & Address & DOB - SSN                      
Timothy Mesa 21 9 1984 30111 Conifer Drive Seattle WA 98109   1x Name & Address - Driving License

ID Check Address Lookup


IDCheckAddressLookup is an address verification service. It provides a fully-formed address where partial details are provided. If there are multiple possible matches, it provides the list of them, up to a limit of 100.

Query Data

The following elements of the Query Data  pertain to this service.

Property Name Type Length Optional/Mandatory Notes
———————- ——— ———- —————————– ———- 
HouseName String 26 Optional  
HouseNumber String 26 Optional  
Street String 40 Optional  
County String 20 Optional  
City String 20 Optional  
Postcode String 8 Notes Below Mandatory only if the addresslookupref query option is not set (see below).
Country String 3 Optional If set, must be a valid three-letter ISO country code as described here. If not set, the search will be within the United Kingdom (GBR)

Notes

  1. Usually this service is part of a larger bundle and appears toward the start of the workflow. If it finds a single address, the full details are retrieved and used to override address fields in QueryData.

If there are multiple matches, each match will have an IDCheckAddressLookupAddressCode element. You can use this address code to call the API again and retrieve that specific address only. To do this add a QueryOptions property with key addresslookupref and with the address code as the value. If this QueryOptions parameter is provided the above QueryData will be ignored. It is mandatory that one of the following is provided:

  • addresslookupref as a QueryOptions parameter
  • Postcode

Query Options

When the service finds one result, instead of returning a ‘Find’ result (discovering the address matches linked to the query information), the service will return a ‘Retrieve’ result (get all of the information pertaining to that address).

If you would like to override this behaviour, you can use the retrieveifsingle query option. If you set this value to false, instead of performing a ‘Retrieve’, the service will peform a ‘Find’ but only return the one result available.

All other values will ignore this key, and return the ‘Retrieve’ result upon a single match.

Retrieve Override if one match found

<QueryOptions>
   <KeyValueOfstringstring>
      <Key>retrieveifsingle</Key>
      <Value>false</Value>
   </KeyValueOfstringstring>
</QueryOptions>
"Options" : {
	"retrieveifsingle":"false"
}

 

Response

Example Response

<IDCheckAddressLookupResult>
 <IDCheckAddressLookupMatches>
	<!-- One or more of these -->
	<IDCheckAddressLookupMatch>
	   <AdminAreaCode/>
	   <AdminAreaName/>
	   <Barcode/>
	   <Block/>
	   <BuildingName/>
	   <BuildingNumber/>
	   <CheckAddressType>Unknown</CheckAddressType>
	   <City/>
	   <Company/>
	   <CountryIso2/>
	   <CountryIso3/>
	   <CountryIsoNumber/>
	   <CountryName/>
	   <DataLevel>Unknown</DataLevel>
	   <Department/>
	   <District/>
	   <DomesticId/>
	   <IDCheckAddressLookupAddressCode>GBR|53587885</IDCheckAddressLookupAddressCode>
	   <Label/>
	   <Language/>
	   <LanguageAlternatives/>
	   <Line1/>
	   <Line2/>
	   <Line3/>
	   <Line4/>
	   <Line5/>
	   <Neighbourhood/>
	   <POBoxNumber/>
	   <PostalCode/>
	   <Province/>
	   <ProvinceCode/>
	   <ProvinceName/>
	   <SecondaryStreet/>
	   <SortingNumber1/>
	   <SortingNumber2/>
	   <Street/>
	   <SubBuilding/>
	   <Text>BS1 5EH, Avon Imaging Ltd, 13-14, Orchard Street, Bristol</Text>
	</IDCheckAddressLookupMatch>
 <IDCheckAddressLookupMatches>
</IDCheckAddressLookupResult>
"idCheckAddressLookupResult": {
	"idCheckAddressLookupMatches": [{
			"checkAddressType": "Unknown",
			"dataLevel": "Unknown",
			"idCheckAddressLookupAddressCode": "GBR|PR|2700912|0|0|0",
			"text": "30a  Kensal Road, Bristol, BS3..."
		}, {
			"checkAddressType": "Unknown",
			"dataLevel": "Unknown",
			"idCheckAddressLookupAddressCode": "GBR|PR|25898718|0|0|0",
			"text": "30b  Kensal Road, Bristol, BS3..."
		}
	]
}

 

Sandbox

Query options for Sandbox

"options": {
	"sandbox": "true"
}
<QueryOptions>
  <KeyValueOfstringstring>
    <Key>Sandbox</Key>
    <Value>true</Value>
  </KeyValueOfstringstring>
</QueryOptions>

Example 1

<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>OneResult</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
    "HaltTriggered": "False",
    "ServiceTransactionResult": "Success",
    "ServiceInterpretResult": "OneResult",
    "ServiceTransactionResultMessage": "This call was generated using sandbox mode",
    "ValidationResult": "NotApplicable"
}

Example 2

<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>OneResult</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
    "HaltTriggered": "False",
    "ServiceTransactionResult": "Success",
    "ServiceInterpretResult": "OneResult",
    "ServiceTransactionResultMessage": "This call was generated using sandbox mode",
    "ValidationResult": "NotApplicable"
}

Example 3

<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>Success</ServiceTransactionResult>
<ServiceInterpretResult>MultipleResults</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
    "HaltTriggered": "False",
    "ServiceTransactionResult": "Success",
    "ServiceInterpretResult": "MultipleResults",
    "ServiceTransactionResultMessage": "This call was generated using sandbox mode",
    "ValidationResult": "NotApplicable"
}

Example 4

<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>SuccessNoResults</ServiceTransactionResult>
<ServiceInterpretResult>NotApplicable</ServiceInterpretResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
    "HaltTriggered": "False",
    "ServiceTransactionResult": "SuccessNoResults",
    "ServiceInterpretResult": "NotApplicable",
    "ServiceTransactionResultMessage": "This call was generated using sandbox mode",
    "ValidationResult": "NotApplicable"
}

Example 5

<HaltTriggered>False</HaltTriggered>
<ServiceTransactionResult>SuccessNoResults</ServiceTransactionResult>
<ServiceTransactionResultMessage>"This call was generated using sandbox mode"</ServiceTransactionResultMessage>
<ValidationResult>NotApplicable</ValidationResult>
{
    "HaltTriggered": "False",
    "ServiceTransactionResult": "SuccessNoResults",
    "ServiceTransactionResultMessage": "This call was generated using sandbox mode",
    "ValidationResult": "NotApplicable"
}

W2 Data Address Lookup 007


W2DataAddressLookup007Service is an address verification service. It provides a fully-formed address where partial details are provided. If there are multiple possible matches, it provides the list of them, up to a limit of 100.

Properties

The following properties pertain to this service.

Property Name Type Length Optional/Mandatory Notes
HouseNameNumber String 26 Mandatory if no HouseName or HouseNumber given  
HouseName String 26 Mandatory if no HouseNameNumber or HouseNumber given  
HouseNumber String 26 Mandatory if no HouseNameNumber or HouseName given  
Postcode String 8 Mandatory  
Street String 40 Optional  
County String 20 Optional  
City String 20 Optional  
Country String 3 Optional If set, must be a valid three-letter ISO country code as described here. If not set, the search will be within the United Kingdom (GBR)

Notes

  1. Usually this service is part of a larger bundle and appears toward the start of the workflow. Each address match will have an AddressId element. You can use this address code to call the W2_Data_Ekyc_Uk_007 Service again and retrieve that specific address only. To do this add a QueryOptions property with key AddressLookupRef and with the address code as the value.
    If this QueryOptions parameter is provided the above QueryData will be ignored.

Response

Example Response

<W2DataAddressLookUp007Result>
 <!-- One or more of these -->
 <AddressMatches>
	<AddressMatch>
	   <AddressId>TEST0004494</AddressId>
	   <Country />
	   <County>ISLE OF SKYE</County>
	   <District />
	   <HouseName />
	   <HouseNumber>FLAT 3</HouseNumber>
	   <PoBox />
	   <PostCode>IV448TZ</PostCode>
	   <PostTown>TRAINING TOWN</PostTown>
	   <Street1>HEATHFIELD HOUSE</Street1>
	   <Street2>ROWLANDS CLOSE</Street2>
	   <SubBuilding />
	</AddressMatch>
 </AddressMatches>
 <MatchType>MultipleMatch</MatchType>
</W2DataAddressLookUp007Result>
        "w2DataAddressLookUp007Result": {
            "addressMatches": [
                {
                    "houseNumber": "42",
                    "postCode": "hu12 9fl",
                    "postTown": "Some Town",
                    "street1": "Some Street"
                }
            ],
            "matchType": "FullMatch"
        }

Sandbox

Query options for Sandbox

"options": {
	"sandbox": "true"
}
<QueryOptions>
  <KeyValueOfstringstring>
    <Key>Sandbox</Key>
    <Value>true</Value>
  </KeyValueOfstringstring>
</QueryOptions>
HaltTriggered False
ServiceTransactionResult Success
ServiceInterpretResult NoResults
ServiceTransactionResultMessage “This call was generated using sandbox mode”
ValidationResult NotApplicable
HaltTriggered False
ServiceTransactionResult Success
ServiceInterpretResult MultipleResults
ServiceTransactionResultMessage “This call was generated using sandbox mode”
ValidationResult NotApplicable
HaltTriggered False
ServiceTransactionResult Success
ServiceInterpretResult OneResult
ServiceTransactionResultMessage “This call was generated using sandbox mode”
ValidationResult NotApplicable
HaltTriggered False
ServiceTransactionResult Success
ServiceInterpretResult MultipleResults
ServiceTransactionResultMessage “This call was generated using sandbox mode”
ValidationResult NotApplicable

EKYB IDS


EKYB Identifier Data Set is a KYB service that provides the ability to globally search for a company by name or Registration number. The result returned contains one or more matching companies (currently limited to 10). Each matching company contains a small data set of information about the company including a unique identifier (id) field which is essential should the consumer wish to retrieve a detailed data set about the company.

Product Code: EKYB_IDS

Properties

Property Name Type Length Optional/Mandatory Notes
NameQuery String min. 3 Optional  See notes below
CompanyRegNumber String   Optional  See notes below
Country String - 3 letter ISO Standard Country code 3 Mandatory  
Region String - 2 letter USA state code 2 Optional  See notes below

Notes

Either NameQuery in QueryData or CompanyRegNumber in QueryOptions must be supplied in order to perform company search.

If Country code is USA, 2 letter USA state code can be optionally provided as a Region.

Examples

Request example 1:

{
  "Data": {
    "NameQuery": "W2 Global Data",
    "Country": "GBR"
  }
}
<QueryData>
	<Country>GBR</Country>
	<NameQuery>W2 Global Data</NameQuery>
</QueryData>

Request example 2:

{
  "Data": {
    "Country": "GBR"
  },
  "Options": {
    "CompanyRegNumber": "07669978"
  }
}
<QueryData>
	<Country>GBR</Country>
</QueryData>
<QueryOptions>
	<KeyValueOfstringstring>
		<Key>CompanyRegNumber</Key>
		<Value>07669978</Value>
	</KeyValueOfstringstring>
</QueryOptions>

Example Response

{
  "ekybIdsResult": {
    "companies": [
      {
        "country": "GBR",
        "id": "6C0E94A0789779CCDFEC1B4686C6DCD2",
        "name": "W2 Global Data Solutions Limited",
        "registrationNumber": "07669978"
      },
      {
        "country": "GBR",
        "id": "FB6C26769EE5EF680839AB1A2AF0468B",
        "name": "W2 Global Data Solutions",
        "registrationNumber": "07669938"
      }
    ]
  }
}
<EkybIdsResult>
	<Companies>
		 <c:EkybIdsCompany>
            <c:Country>GBR</c:Country>
            <c:Id>6C0E94A0789779CCDFEC1B4686C6DCD2</c:Id>
            <c:Name>W2 Global Data Solutions Limited</c:Name>
            <c:RegistrationNumber>07669978</c:RegistrationNumber>
        </c:EkybIdsCompany>
		<c:EkybIdsCompany>
            <c:Country>GBR</c:Country>
            <c:Id>FB6C26769EE5EF680839AB1A2AF0468B</c:Id>
            <c:Name>W2 Global Data Solutions</c:Name>
            <c:RegistrationNumber>07669938</c:RegistrationNumber>
        </c:EkybIdsCompany>
	</Companies>
</EkybIdsResult>

EKYB DDS


EKYB Dynamic Data Set is a KYB service which allows consumers to retrieve the fresh company data set from the primary source register. This service will perform a live company check and return the most up-to-date data back.

Product Code: EKYB_DDS

Properties

Property Name Type Length Optional/Mandatory Notes
CompanyId String 32 - alphanumeric characters Mandatory  See notes below

Notes

CompanyId is the unique identifier of a company which is typically retrieved by performing EKYB_IDS check.

Examples

Example Request:

{
  "Options": {
    "CompanyId": "6C0E94A0789779CCDFEC1B4686C6DCD2"
  }
}
<QueryOptions>
	<KeyValueOfstringstring>
		<Key>CompanyId</Key>
		<Value>6C0E94A0789779CCDFEC1B4686C6DCD2</Value>
	</KeyValueOfstringstring>>
</QueryOptions>

Example Response:

{
  "ekybDdsResult": {
    "company": {
      "address": [
        "3 Alexandra Gate",
        "Ffordd Pengam",
        "Cardiff",
        "CF24 2SA",
        "Wales"
      ],
      "country": "GBR",
      "dateOfIncorporation": "2011-06-14",
      "extraData": {
        "activity": "Sample activity",
        "authorizedCapital": "500000",
        "currentAppointments": "5",
        "dateNameChange": "2019-05-10",
        "dissolutionDate": "2019-05-10",
        "email": "[email protected]",
        "englishName": "Sample business english",
        "fax": "(+44) 0330 088 9542",
        "lei": "984500846DF40E859999",
        "linkedin": "https://www.linkedin.com/company/sample",
        "listedOnStockExchange": "false",
        "mobile": "(+44) 0330 088 9542",
        "numberOfEmployees": "999",
        "oenace": "99999",
        "otherName": "Sample business2",
        "phone": "(+44) 0330 088 9542",
        "providedStatus": "ACTIVE",
        "registerCourt": "Sample",
        "registrarOfCompanies": "Sample",
        "remarks": "Optional Remarks",
        "resignedAppointments": "5",
        "securities": "Sample",
        "shareCapital": "99999",
        "shareCurrency": "GBP",
        "shareDescription": "Description",
        "siret": "32295938800016",
        "state": "State",
        "taxCode": "9999999",
        "url": "https://sample.com",
        "vat": "GB869155189"
      },
      "formattedAddress": {
        "careOf": "",
        "cc": "UK",
        "city": "Cardiff",
        "country": "Wales",
        "district": "Ffordd Pengam",
        "extra": "extra",
        "number": "number",
        "region": "region",
        "state": "state",
        "street": "3 Alexandra Gate",
        "zip": "CF24 2SA"
      },
      "id": "6C0E94A0789779CCDFEC1B4686C6DCD2",
      "lastAnnouncementDate": "2019-05-10",
      "latestAccounts": {
        "category": "small",
        "lastMadeUpDate": "2019-12-31",
        "nextDueDate": "2021-09-30",
        "overdue": "false",
        "referenceDate": "31-12"
      },
      "latestReturn": {
        "lastMadeUpDate": "2018-06-14",
        "nextDueDate": "2019-06-28",
        "overdue": "NO"
      },
      "legalForm": "ltd",
      "managingDirectors": [
        "Sample name 1",
        "Sample name 2"
      ],
      "name": "W2 Global Data Solutions Limited",
      "people": {
        "agent": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "position": "agent",
            "role": "agent",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "director": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "position": "Director",
            "role": "Sample role",
            "startDate": "2018-10-26",
            "status": "CURRENT"
          }
        ],
        "eeigManager": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "position": "EEIG Manager",
            "role": "EEIG Manager",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "factor": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "liquidator": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "position": "agent",
            "role": "agent",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "managingDirector": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "parsedSignatureRights": "Sample",
            "position": "Managing director",
            "role": "Managing director",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "member": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "position": "Board member",
            "role": "Board member",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "officer": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "position": "Chief Technical Owner",
            "role": "Chief Technical Owner",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "person": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "personAuthorised": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "receiver": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "secretary": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "position": "Secretary",
            "role": "Secretary",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "shareholder": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "capital": "50000",
            "isCorporate": "1",
            "name": "First Owning Samplecompany",
            "numberOfShares": "5",
            "percentage": "5",
            "status": "CURRENT"
          },
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "name": "Second Owning Samplecompany",
            "percentage": "95",
            "status": "CURRENT"
          }
        ],
        "ultimateBeneficialOwner": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "position": "UBO",
            "role": "UBO",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ]
      },
      "rawAddress": "3 Alexandra Gate, Ffordd Pengam, Cardiff, CF24 2SA",
      "registrationNumber": "07669978",
      "relations": {
        "branch": [
          {
            "address": [
              "32 New Street",
              "W1T 1JY",
              "London"
            ],
            "formattedAddress": {
              "cc": "",
              "city": "London",
              "number": "32",
              "street": "New Street",
              "zip": "W1T 1JY"
            },
            "identity": "0099CF4AAB78FF3181A1043C73199A8E",
            "status": "LIVE"
          },
          {
            "address": [
              "32 New Street",
              "W1T 1JY",
              "London"
            ],
            "formattedAddress": {
              "cc": "",
              "city": "London",
              "number": "32",
              "street": "New Street",
              "zip": "W1T 1JY"
            },
            "identity": "CCA601201F3C4A9AAFA981BC164F3A2A",
            "status": "LIVE"
          }
        ],
        "inRelation": [
          {
            "address": [
              "32 New Street",
              "W1T 1JY",
              "London"
            ],
            "formattedAddress": {
              "cc": "",
              "city": "London",
              "number": "32",
              "street": "New Street",
              "zip": "W1T 1JY"
            },
            "identity": "E0A51ABD448B4EEABAD6E474E0EE6B12",
            "status": "LIVE"
          }
        ],
        "replacedBy": [
          {
            "address": [
              "32 New Street",
              "W1T 1JY",
              "London"
            ],
            "formattedAddress": {
              "cc": "",
              "city": "London",
              "number": "32",
              "street": "New Street",
              "zip": "W1T 1JY"
            },
            "identity": "994DA12329674684A4FB31C0B66D8C98",
            "status": "LIVE"
          }
        ],
        "replaces": [
          {
            "address": [
              "32 New Street",
              "W1T 1JY",
              "London"
            ],
            "formattedAddress": {
              "cc": "",
              "city": "London",
              "number": "32",
              "street": "New Street",
              "zip": "W1T 1JY"
            },
            "identity": "1C8F81E506A44F829E0C4312DDCBB655",
            "status": "LIVE"
          }
        ],
        "splitInto": [
          {
            "address": [
              "32 New Street",
              "W1T 1JY",
              "London"
            ],
            "formattedAddress": {
              "cc": "",
              "city": "London",
              "number": "32",
              "street": "New Street",
              "zip": "W1T 1JY"
            },
            "identity": "2B1E86C5E490401184951D33ECFEFAD0",
            "status": "LIVE"
          }
        ],
        "takenOverBy": [
          {
            "address": [
              "32 New Street",
              "W1T 1JY",
              "London"
            ],
            "formattedAddress": {
              "cc": "",
              "city": "London",
              "number": "32",
              "street": "New Street",
              "zip": "W1T 1JY"
            },
            "identity": "802C7644337F4EDD9FA4CEDE50C29A49",
            "status": "LIVE"
          }
        ],
        "tookOver": [
          {
            "address": [
              "32 New Street",
              "W1T 1JY",
              "London"
            ],
            "formattedAddress": {
              "cc": "",
              "city": "London",
              "number": "32",
              "street": "New Street",
              "zip": "W1T 1JY"
            },
            "identity": "FE10A780BCCB460FA7FE92A9E99DB788",
            "status": "LIVE"
          }
        ]
      },
      "secretaries": [
        "Sample name"
      ],
      "sicNaceCodes": [
        "63110"
      ],
      "signatureRights": "Sample signatureRights",
      "status": "LIVE",
      "structuredNaceCodes": [
        {
          "code": "12345678",
          "description": "Sample remote data base information retrieval",
          "type": "Sample type"
        },
        {
          "code": "999999",
          "description": "Sample Information Services",
          "type": "Sample type"
        }
      ],
      "typeOfOwnership": []
    }
  }
}
<EkybDdsResult>
	<Company>
		<Address>
			<string>3 Alexandra Gate</string>
			<string>Ffordd Pengam</string>
			<string>Cardiff</string>
			<string>CF24 2SA</string>
			<string>Wales</string>
		</Address>
		<Country>GBR</Country>
		<DateOfIncorporation>2011-06-14</DateOfIncorporation>
		<ExtraData>
			<Activity>Sample activity</Activity>
			<AuthorizedCapital>500000</AuthorizedCapital>
			<CurrentAppointments>5</CurrentAppointments>
			<DateNameChange>2019-05-10</DateNameChange>
			<DissolutionDate>2019-05-10</DissolutionDate>
			<Email>[email protected]</Email>
			<EnglishName>Sample business english</EnglishName>
			<Fax>(+44) 0330 088 9542</Fax>
			<Lei>984500846DF40E859999</Lei>
			<Linkedin>https://www.linkedin.com/company/sample</Linkedin>
			<ListedOnStockExchange>false</ListedOnStockExchange>
			<Mobile>(+44) 0330 088 9542</Mobile>
			<NumberOfEmployees>999</NumberOfEmployees>
			<Oenace>99999</Oenace>
			<OtherName>Sample business2</OtherName>
			<Phone>(+44) 0330 088 9542</Phone>
			<ProvidedStatus>ACTIVE</ProvidedStatus>
			<RegisterCourt>Sample</RegisterCourt>
			<RegistrarOfCompanies>Sample</RegistrarOfCompanies>
			<Remarks>Optional Remarks</Remarks>
			<ResignedAppointments>5</ResignedAppointments>
			<Securities>Sample</Securities>
			<ShareCapital>99999</ShareCapital>
			<ShareCurrency>GBP</ShareCurrency>
			<ShareDescription>Description</ShareDescription>
			<Siret>32295938800016</Siret>
			<State>State</State>
			<TaxCode>9999999</TaxCode>
			<Url>https://sample.com</Url>
			<Vat>GB869155189</Vat>
		</ExtraData>
		<FormattedAddress>
			<CareOf/>
			<Cc>UK</Cc>
			<City>Cardiff</City>
			<Country>Wales</Country>
			<District>Ffordd Pengam</District>
			<Extra>extra</Extra>
			<Number>number</Number>
			<Region>region</Region>
			<State>state</State>
			<Street>3 Alexandra Gate</Street>
			<Zip>CF24 2SA</Zip>
		</FormattedAddress>
		<Id>6C0E94A0789779CCDFEC1B4686C6DCD2</Id>
		<LastAnnouncementDate>2019-05-10</LastAnnouncementDate>
		<LatestAccounts>
			<Category>small</Category>
			<LastMadeUpDate>2019-12-31</LastMadeUpDate>
			<NextDueDate>2021-09-30</NextDueDate>
			<Overdue>false</Overdue>
			<ReferenceDate>31-12</ReferenceDate>
		</LatestAccounts>
		<LatestReturn>
			<LastMadeUpDate>2018-06-14</LastMadeUpDate>
			<NextDueDate>2019-06-28</NextDueDate>
			<Overdue>NO</Overdue>
		</LatestReturn>
		<LegalForm>ltd</LegalForm>
		<ManagingDirectors>
			<string>Sample name 1</string>
			<string>Sample name 2</string>
		</ManagingDirectors>
		<Name>W2 Global Data Solutions Limited</Name>
		<People>
			<Agent>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position>agent</Position>
					<Role>agent</Role>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Agent>
			<Director>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position>Director</Position>
					<Role>Sample role</Role>
					<StartDate>2018-10-26</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Director>
			<EeigManager>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position>EEIG Manager</Position>
					<Role>EEIG Manager</Role>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</EeigManager>
			<Factor>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position/>
					<Role/>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Factor>
			<Liquidator>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position>agent</Position>
					<Role>agent</Role>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Liquidator>
			<ManagingDirector>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights>Sample</ParsedSignatureRights>
					<Position>Managing director</Position>
					<Role>Managing director</Role>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</ManagingDirector>
			<Member>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position>Board member</Position>
					<Role>Board member</Role>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Member>
			<Officer>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position>Chief Technical Owner</Position>
					<Role>Chief Technical Owner</Role>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Officer>
			<Person>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position/>
					<Role/>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Person>
			<PersonAuthorised>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position/>
					<Role/>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</PersonAuthorised>
			<Receiver>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position/>
					<Role/>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Receiver>
			<Secretary>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position>Secretary</Position>
					<Role>Secretary</Role>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Secretary>
			<Shareholder>
				<EkybCompanyShareholder>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<Capital>50000</Capital>
					<IsCorporate>1</IsCorporate>
					<Name>First Owning Samplecompany</Name>
					<NumberOfShares>5</NumberOfShares>
					<Percentage>5</Percentage>
					<Status>CURRENT</Status>
				</EkybCompanyShareholder>
				<EkybCompanyShareholder>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<Capital/>
					<IsCorporate/>
					<Name>Second Owning Samplecompany</Name>
					<NumberOfShares/>
					<Percentage>95</Percentage>
					<Status>CURRENT</Status>
				</EkybCompanyShareholder>
			</Shareholder>
			<UltimateBeneficialOwner>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position>UBO</Position>
					<Role>UBO</Role>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</UltimateBeneficialOwner>
		</People>
		<RawAddress>3 Alexandra Gate, Ffordd Pengam, Cardiff, CF24 2SA</RawAddress>
		<RegistrationNumber>07669978</RegistrationNumber>
		<Relations>
			<Branch>
				<EkybCompanyBranch>
					<Address>
						<string>32 New Street</string>
						<string>W1T 1JY</string>
						<string>London</string>
					</Address>
					<FormattedAddress>
						<CareOf/>
						<Cc/>
						<City>London</City>
						<Country/>
						<District/>
						<Extra/>
						<Number>32</Number>
						<Region/>
						<State/>
						<Street>New Street</Street>
						<Zip>W1T 1JY</Zip>
					</FormattedAddress>
					<Identity>0099CF4AAB78FF3181A1043C73199A8E</Identity>
					<Status>LIVE</Status>
				</EkybCompanyBranch>
				<EkybCompanyBranch>
					<Address>
						<string>32 New Street</string>
						<string>W1T 1JY</string>
						<string>London</string>
					</Address>
					<FormattedAddress>
						<CareOf/>
						<Cc/>
						<City>London</City>
						<Country/>
						<District/>
						<Extra/>
						<Number>32</Number>
						<Region/>
						<State/>
						<Street>New Street</Street>
						<Zip>W1T 1JY</Zip>
					</FormattedAddress>
					<Identity>CCA601201F3C4A9AAFA981BC164F3A2A</Identity>
					<Status>LIVE</Status>
				</EkybCompanyBranch>
			</Branch>
			<InRelation>
				<EkybCompanyBranch>
					<Address>
						<string>32 New Street</string>
						<string>W1T 1JY</string>
						<string>London</string>
					</Address>
					<FormattedAddress>
						<CareOf/>
						<Cc/>
						<City>London</City>
						<Country/>
						<District/>
						<Extra/>
						<Number>32</Number>
						<Region/>
						<State/>
						<Street>New Street</Street>
						<Zip>W1T 1JY</Zip>
					</FormattedAddress>
					<Identity>E0A51ABD448B4EEABAD6E474E0EE6B12</Identity>
					<Status>LIVE</Status>
				</EkybCompanyBranch>
			</InRelation>
			<ReplacedBy>
				<EkybCompanyBranch>
					<Address>
						<string>32 New Street</string>
						<string>W1T 1JY</string>
						<string>London</string>
					</Address>
					<FormattedAddress>
						<CareOf/>
						<Cc/>
						<City>London</City>
						<Country/>
						<District/>
						<Extra/>
						<Number>32</Number>
						<Region/>
						<State/>
						<Street>New Street</Street>
						<Zip>W1T 1JY</Zip>
					</FormattedAddress>
					<Identity>994DA12329674684A4FB31C0B66D8C98</Identity>
					<Status>LIVE</Status>
				</EkybCompanyBranch>
			</ReplacedBy>
			<Replaces>
				<EkybCompanyBranch>
					<Address>
						<string>32 New Street</string>
						<string>W1T 1JY</string>
						<string>London</string>
					</Address>
					<FormattedAddress>
						<CareOf/>
						<Cc/>
						<City>London</City>
						<Country/>
						<District/>
						<Extra/>
						<Number>32</Number>
						<Region/>
						<State/>
						<Street>New Street</Street>
						<Zip>W1T 1JY</Zip>
					</FormattedAddress>
					<Identity>1C8F81E506A44F829E0C4312DDCBB655</Identity>
					<Status>LIVE</Status>
				</EkybCompanyBranch>
			</Replaces>
			<SplitInto>
				<EkybCompanyBranch>
					<Address>
						<string>32 New Street</string>
						<string>W1T 1JY</string>
						<string>London</string>
					</Address>
					<FormattedAddress>
						<CareOf/>
						<Cc/>
						<City>London</City>
						<Country/>
						<District/>
						<Extra/>
						<Number>32</Number>
						<Region/>
						<State/>
						<Street>New Street</Street>
						<Zip>W1T 1JY</Zip>
					</FormattedAddress>
					<Identity>2B1E86C5E490401184951D33ECFEFAD0</Identity>
					<Status>LIVE</Status>
				</EkybCompanyBranch>
			</SplitInto>
			<TakenOverBy>
				<EkybCompanyBranch>
					<Address>
						<string>32 New Street</string>
						<string>W1T 1JY</string>
						<string>London</string>
					</Address>
					<FormattedAddress>
						<CareOf/>
						<Cc/>
						<City>London</City>
						<Country/>
						<District/>
						<Extra/>
						<Number>32</Number>
						<Region/>
						<State/>
						<Street>New Street</Street>
						<Zip>W1T 1JY</Zip>
					</FormattedAddress>
					<Identity>802C7644337F4EDD9FA4CEDE50C29A49</Identity>
					<Status>LIVE</Status>
				</EkybCompanyBranch>
			</TakenOverBy>
			<TookOver>
				<EkybCompanyBranch>
					<Address>
						<string>32 New Street</string>
						<string>W1T 1JY</string>
						<string>London</string>
					</Address>
					<FormattedAddress>
						<CareOf/>
						<Cc/>
						<City>London</City>
						<Country/>
						<District/>
						<Extra/>
						<Number>32</Number>
						<Region/>
						<State/>
						<Street>New Street</Street>
						<Zip>W1T 1JY</Zip>
					</FormattedAddress>
					<Identity>FE10A780BCCB460FA7FE92A9E99DB788</Identity>
					<Status>LIVE</Status>
				</EkybCompanyBranch>
			</TookOver>
		</Relations>
		<Secretaries>
			<string>Sample name</string>
		</Secretaries>
		<SicNaceCodes>
			<string>63110</string>
		</SicNaceCodes>
		<SignatureRights>Sample signatureRights</SignatureRights>
		<Status>LIVE</Status>
		<StructuredNaceCodes>
			<EkybCompanyNaceCode>
				<Code>12345678</Code>
				<Description>Sample remote data base information retrieval</Description>
				<Type>Sample type</Type>
			</EkybCompanyNaceCode>
			<EkybCompanyNaceCode>
				<Code>999999</Code>
				<Description>Sample Information Services</Description>
				<Type>Sample type</Type>
			</EkybCompanyNaceCode>
		</StructuredNaceCodes>
		<TypeOfOwnership/>
	</Company>
</EkybDdsResult>

EKYB PDS


EKYB Premium Data Set is a KYB service which enables the retrieval of company data set including Officer and shareholder information. This service is not currently enabled for all jurisdictions.

Product Code: EKYB_PDS

Properties

Property Name Type Length Optional/Mandatory Notes
CompanyId String 32 - alphanumeric characters Mandatory  See notes below
Country String - 3 letter ISO Standard Country code 3 Mandatory  

Notes

CompanyId is the unique identifier of a company which is typically retrieved by performing EKYB_IDS check.

Examples

Example Request:

{
  "Data": {
    "Country": "GBR"
  },
  "Options": {
    "CompanyId": "6C0E94A0789779CCDFEC1B4686C6DCD2"
  }
}
<QueryData>
	<Country>GBR</Country>
</QueryData>
<QueryOptions>
	<KeyValueOfstringstring>
		<Key>CompanyId</Key>
		<Value>6C0E94A0789779CCDFEC1B4686C6DCD2</Value>
	</KeyValueOfstringstring>>
</QueryOptions>

Example Response:

{
  "ekybPdsResult": {
    "company": {
      "address": [
        "3 Alexandra Gate",
        "Ffordd Pengam",
        "Cardiff",
        "CF24 2SA",
        "Wales"
      ],
      "country": "GBR",
      "dateOfIncorporation": "2011-06-14",
      "extraData": {
        "activity": "Sample activity",
        "authorizedCapital": "500000",
        "currentAppointments": "5",
        "dateNameChange": "2019-05-10",
        "dissolutionDate": "2019-05-10",
        "email": "[email protected]",
        "englishName": "Sample business english",
        "fax": "(+44) 0330 088 9542",
        "lei": "984500846DF40E859999",
        "linkedin": "https://www.linkedin.com/company/sample",
        "listedOnStockExchange": "false",
        "mobile": "(+44) 0330 088 9542",
        "numberOfEmployees": "999",
        "oenace": "99999",
        "otherName": "Sample business2",
        "phone": "(+44) 0330 088 9542",
        "providedStatus": "ACTIVE",
        "registerCourt": "Sample",
        "registrarOfCompanies": "Sample",
        "remarks": "Optional Remarks",
        "resignedAppointments": "5",
        "securities": "Sample",
        "shareCapital": "99999",
        "shareCurrency": "GBP",
        "shareDescription": "Description",
        "siret": "32295938800016",
        "state": "State",
        "taxCode": "9999999",
        "url": "https://sample.com",
        "vat": "GB869155189"
      },
      "formattedAddress": {
        "careOf": "",
        "cc": "UK",
        "city": "Cardiff",
        "country": "Wales",
        "district": "Ffordd Pengam",
        "extra": "extra",
        "number": "number",
        "region": "region",
        "state": "state",
        "street": "3 Alexandra Gate",
        "zip": "CF24 2SA"
      },
      "id": "6C0E94A0789779CCDFEC1B4686C6DCD2",
      "industryCode": [
        "Code123",
        "Code456"
      ],
      "lastAnnouncementDate": "2019-05-10",
      "latestAccounts": {
        "category": "small",
        "lastMadeUpDate": "2019-12-31",
        "nextDueDate": "2021-09-30",
        "overdue": "false",
        "referenceDate": "31-12"
      },
      "latestReturn": {
        "lastMadeUpDate": "2018-06-14",
        "nextDueDate": "2019-06-28",
        "overdue": "NO"
      },
      "legalForm": "ltd",
      "managingDirectors": [
        "Sample name 1",
        "Sample name 2"
      ],
      "name": "W2 Global Data Solutions Limited",
      "people": {
        "agent": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "position": "agent",
            "role": "agent",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "director": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "position": "Director",
            "role": "Sample role",
            "startDate": "2018-10-26",
            "status": "CURRENT"
          }
        ],
        "eeigManager": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "position": "EEIG Manager",
            "role": "EEIG Manager",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "factor": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "liquidator": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "position": "agent",
            "role": "agent",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "managingDirector": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "parsedSignatureRights": "Sample",
            "position": "Managing director",
            "role": "Managing director",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "member": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "position": "Board member",
            "role": "Board member",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "officer": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "position": "Chief Technical Owner",
            "role": "Chief Technical Owner",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "person": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "personAuthorised": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "receiver": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "secretary": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "position": "Secretary",
            "role": "Secretary",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ],
        "shareholder": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "capital": "50000",
            "isCorporate": "1",
            "name": "First Owning Samplecompany",
            "numberOfShares": "5",
            "percentage": "5",
            "status": "CURRENT"
          },
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "name": "Second Owning Samplecompany",
            "percentage": "95",
            "status": "CURRENT"
          }
        ],
        "ultimateBeneficialOwner": [
          {
            "address": [
              "10 Sample Street",
              "W1T 5JY",
              "London",
              "UK"
            ],
            "dateOfBirth": "1900-01-01",
            "description": "Optional Description",
            "endDate": "2000-01-01",
            "name": "Sample name",
            "position": "UBO",
            "role": "UBO",
            "startDate": "2000-01-01",
            "status": "CURRENT"
          }
        ]
      },
      "purpose": [
        "The purpose of the company 1",
        "The purpose of the company 2"
      ],
      "rawAddress": "3 Alexandra Gate, Ffordd Pengam, Cardiff, CF24 2SA",
      "registrationNumber": "07669978",
      "relations": {
        "branch": [
          {
            "address": [
              "32 New Street",
              "W1T 1JY",
              "London"
            ],
            "formattedAddress": {
              "cc": "",
              "city": "London",
              "number": "32",
              "street": "New Street",
              "zip": "W1T 1JY"
            },
            "identity": "0099CF4AAB78FF3181A1043C73199A8E",
            "status": "LIVE"
          },
          {
            "address": [
              "32 New Street",
              "W1T 1JY",
              "London"
            ],
            "formattedAddress": {
              "cc": "",
              "city": "London",
              "number": "32",
              "street": "New Street",
              "zip": "W1T 1JY"
            },
            "identity": "CCA601201F3C4A9AAFA981BC164F3A2A",
            "status": "LIVE"
          }
        ],
        "inRelation": [
          {
            "address": [
              "32 New Street",
              "W1T 1JY",
              "London"
            ],
            "formattedAddress": {
              "cc": "",
              "city": "London",
              "number": "32",
              "street": "New Street",
              "zip": "W1T 1JY"
            },
            "identity": "E0A51ABD448B4EEABAD6E474E0EE6B12",
            "status": "LIVE"
          }
        ],
        "replacedBy": [
          {
            "address": [
              "32 New Street",
              "W1T 1JY",
              "London"
            ],
            "formattedAddress": {
              "cc": "",
              "city": "London",
              "number": "32",
              "street": "New Street",
              "zip": "W1T 1JY"
            },
            "identity": "994DA12329674684A4FB31C0B66D8C98",
            "status": "LIVE"
          }
        ],
        "replaces": [
          {
            "address": [
              "32 New Street",
              "W1T 1JY",
              "London"
            ],
            "formattedAddress": {
              "cc": "",
              "city": "London",
              "number": "32",
              "street": "New Street",
              "zip": "W1T 1JY"
            },
            "identity": "1C8F81E506A44F829E0C4312DDCBB655",
            "status": "LIVE"
          }
        ],
        "splitInto": [
          {
            "address": [
              "32 New Street",
              "W1T 1JY",
              "London"
            ],
            "formattedAddress": {
              "cc": "",
              "city": "London",
              "number": "32",
              "street": "New Street",
              "zip": "W1T 1JY"
            },
            "identity": "2B1E86C5E490401184951D33ECFEFAD0",
            "status": "LIVE"
          }
        ],
        "takenOverBy": [
          {
            "address": [
              "32 New Street",
              "W1T 1JY",
              "London"
            ],
            "formattedAddress": {
              "cc": "",
              "city": "London",
              "number": "32",
              "street": "New Street",
              "zip": "W1T 1JY"
            },
            "identity": "802C7644337F4EDD9FA4CEDE50C29A49",
            "status": "LIVE"
          }
        ],
        "tookOver": [
          {
            "address": [
              "32 New Street",
              "W1T 1JY",
              "London"
            ],
            "formattedAddress": {
              "cc": "",
              "city": "London",
              "number": "32",
              "street": "New Street",
              "zip": "W1T 1JY"
            },
            "identity": "FE10A780BCCB460FA7FE92A9E99DB788",
            "status": "LIVE"
          }
        ]
      },
      "secretaries": [
        "Sample name"
      ],
      "sicNaceCodes": [
        "63110"
      ],
      "signatureRights": "Sample signatureRights",
      "status": "LIVE",
      "structuredNaceCodes": [
        {
          "code": "12345678",
          "description": "Sample remote data base information retrieval",
          "type": "Sample type"
        },
        {
          "code": "999999",
          "description": "Sample Information Services",
          "type": "Sample type"
        }
      ],
      "typeOfOwnership": []
    }
  }
}
<EkybPdsResult>
	<Company>
		<Address>
			<string>3 Alexandra Gate</string>
			<string>Ffordd Pengam</string>
			<string>Cardiff</string>
			<string>CF24 2SA</string>
			<string>Wales</string>
		</Address>
		<Country>GBR</Country>
		<DateOfIncorporation>2011-06-14</DateOfIncorporation>
		<ExtraData>
			<Activity>Sample activity</Activity>
			<AuthorizedCapital>500000</AuthorizedCapital>
			<CurrentAppointments>5</CurrentAppointments>
			<DateNameChange>2019-05-10</DateNameChange>
			<DissolutionDate>2019-05-10</DissolutionDate>
			<Email>[email protected]</Email>
			<EnglishName>Sample business english</EnglishName>
			<Fax>(+44) 0330 088 9542</Fax>
			<Lei>984500846DF40E859999</Lei>
			<Linkedin>https://www.linkedin.com/company/sample</Linkedin>
			<ListedOnStockExchange>false</ListedOnStockExchange>
			<Mobile>(+44) 0330 088 9542</Mobile>
			<NumberOfEmployees>999</NumberOfEmployees>
			<Oenace>99999</Oenace>
			<OtherName>Sample business2</OtherName>
			<Phone>(+44) 0330 088 9542</Phone>
			<ProvidedStatus>ACTIVE</ProvidedStatus>
			<RegisterCourt>Sample</RegisterCourt>
			<RegistrarOfCompanies>Sample</RegistrarOfCompanies>
			<Remarks>Optional Remarks</Remarks>
			<ResignedAppointments>5</ResignedAppointments>
			<Securities>Sample</Securities>
			<ShareCapital>99999</ShareCapital>
			<ShareCurrency>GBP</ShareCurrency>
			<ShareDescription>Description</ShareDescription>
			<Siret>32295938800016</Siret>
			<State>State</State>
			<TaxCode>9999999</TaxCode>
			<Url>https://sample.com</Url>
			<Vat>GB869155189</Vat>
		</ExtraData>
		<FormattedAddress>
			<CareOf/>
			<Cc>UK</Cc>
			<City>Cardiff</City>
			<Country>Wales</Country>
			<District>Ffordd Pengam</District>
			<Extra>extra</Extra>
			<Number>number</Number>
			<Region>region</Region>
			<State>state</State>
			<Street>3 Alexandra Gate</Street>
			<Zip>CF24 2SA</Zip>
		</FormattedAddress>
		<Id>6C0E94A0789779CCDFEC1B4686C6DCD2</Id>
		<IndustryCode>
			<string>Code123</string>
			<string>Code456</string>
		</IndustryCode>
		<LastAnnouncementDate>2019-05-10</LastAnnouncementDate>
		<LatestAccounts>
			<Category>small</Category>
			<LastMadeUpDate>2019-12-31</LastMadeUpDate>
			<NextDueDate>2021-09-30</NextDueDate>
			<Overdue>false</Overdue>
			<ReferenceDate>31-12</ReferenceDate>
		</LatestAccounts>
		<LatestReturn>
			<LastMadeUpDate>2018-06-14</LastMadeUpDate>
			<NextDueDate>2019-06-28</NextDueDate>
			<Overdue>NO</Overdue>
		</LatestReturn>
		<LegalForm>ltd</LegalForm>
		<ManagingDirectors>
			<string>Sample name 1</string>
			<string>Sample name 2</string>
		</ManagingDirectors>
		<Name>W2 Global Data Solutions Limited</Name>
		<People>
			<Agent>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position>agent</Position>
					<Role>agent</Role>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Agent>
			<Director>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position>Director</Position>
					<Role>Sample role</Role>
					<StartDate>2018-10-26</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Director>
			<EeigManager>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position>EEIG Manager</Position>
					<Role>EEIG Manager</Role>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</EeigManager>
			<Factor>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position/>
					<Role/>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Factor>
			<Liquidator>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position>agent</Position>
					<Role>agent</Role>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Liquidator>
			<ManagingDirector>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights>Sample</ParsedSignatureRights>
					<Position>Managing director</Position>
					<Role>Managing director</Role>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</ManagingDirector>
			<Member>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position>Board member</Position>
					<Role>Board member</Role>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Member>
			<Officer>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position>Chief Technical Owner</Position>
					<Role>Chief Technical Owner</Role>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Officer>
			<Person>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position/>
					<Role/>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Person>
			<PersonAuthorised>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position/>
					<Role/>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</PersonAuthorised>
			<Receiver>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position/>
					<Role/>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Receiver>
			<Secretary>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position>Secretary</Position>
					<Role>Secretary</Role>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</Secretary>
			<Shareholder>
				<EkybCompanyShareholder>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<Capital>50000</Capital>
					<IsCorporate>1</IsCorporate>
					<Name>First Owning Samplecompany</Name>
					<NumberOfShares>5</NumberOfShares>
					<Percentage>5</Percentage>
					<Status>CURRENT</Status>
				</EkybCompanyShareholder>
				<EkybCompanyShareholder>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<Capital/>
					<IsCorporate/>
					<Name>Second Owning Samplecompany</Name>
					<NumberOfShares/>
					<Percentage>95</Percentage>
					<Status>CURRENT</Status>
				</EkybCompanyShareholder>
			</Shareholder>
			<UltimateBeneficialOwner>
				<EkybCompanyPerson>
					<Address>
						<string>10 Sample Street</string>
						<string>W1T 5JY</string>
						<string>London</string>
						<string>UK</string>
					</Address>
					<DateOfBirth>1900-01-01</DateOfBirth>
					<Description>Optional Description</Description>
					<EndDate>2000-01-01</EndDate>
					<IsCorporate/>
					<Name>Sample name</Name>
					<Occupation/>
					<ParsedSignatureRights/>
					<Position>UBO</Position>
					<Role>UBO</Role>
					<StartDate>2000-01-01</StartDate>
					<Status>CURRENT</Status>
				</EkybCompanyPerson>
			</UltimateBeneficialOwner>
		</People>
		<Purpose>
			<string>The purpose of the company 1</string>
			<string>The purpose of the company 2</string>
		</Purpose>
		<RawAddress>3 Alexandra Gate, Ffordd Pengam, Cardiff, CF24 2SA</RawAddress>
		<RegistrationNumber>07669978</RegistrationNumber>
		<Relations>
			<Branch>
				<EkybCompanyBranch>
					<Address>
						<string>32 New Street</string>
						<string>W1T 1JY</string>
						<string>London</string>
					</Address>
					<FormattedAddress>
						<CareOf/>
						<Cc/>
						<City>London</City>
						<Country/>
						<District/>
						<Extra/>
						<Number>32</Number>
						<Region/>
						<State/>
						<Street>New Street</Street>
						<Zip>W1T 1JY</Zip>
					</FormattedAddress>
					<Identity>0099CF4AAB78FF3181A1043C73199A8E</Identity>
					<Status>LIVE</Status>
				</EkybCompanyBranch>
				<EkybCompanyBranch>
					<Address>
						<string>32 New Street</string>
						<string>W1T 1JY</string>
						<string>London</string>
					</Address>
					<FormattedAddress>
						<CareOf/>
						<Cc/>
						<City>London</City>
						<Country/>
						<District/>
						<Extra/>
						<Number>32</Number>
						<Region/>
						<State/>
						<Street>New Street</Street>
						<Zip>W1T 1JY</Zip>
					</FormattedAddress>
					<Identity>CCA601201F3C4A9AAFA981BC164F3A2A</Identity>
					<Status>LIVE</Status>
				</EkybCompanyBranch>
			</Branch>
			<InRelation>
				<EkybCompanyBranch>
					<Address>
						<string>32 New Street</string>
						<string>W1T 1JY</string>
						<string>London</string>
					</Address>
					<FormattedAddress>
						<CareOf/>
						<Cc/>
						<City>London</City>
						<Country/>
						<District/>
						<Extra/>
						<Number>32</Number>
						<Region/>
						<State/>
						<Street>New Street</Street>
						<Zip>W1T 1JY</Zip>
					</FormattedAddress>
					<Identity>E0A51ABD448B4EEABAD6E474E0EE6B12</Identity>
					<Status>LIVE</Status>
				</EkybCompanyBranch>
			</InRelation>
			<ReplacedBy>
				<EkybCompanyBranch>
					<Address>
						<string>32 New Street</string>
						<string>W1T 1JY</string>
						<string>London</string>
					</Address>
					<FormattedAddress>
						<CareOf/>
						<Cc/>
						<City>London</City>
						<Country/>
						<District/>
						<Extra/>
						<Number>32</Number>
						<Region/>
						<State/>
						<Street>New Street</Street>
						<Zip>W1T 1JY</Zip>
					</FormattedAddress>
					<Identity>994DA12329674684A4FB31C0B66D8C98</Identity>
					<Status>LIVE</Status>
				</EkybCompanyBranch>
			</ReplacedBy>
			<Replaces>
				<EkybCompanyBranch>
					<Address>
						<string>32 New Street</string>
						<string>W1T 1JY</string>
						<string>London</string>
					</Address>
					<FormattedAddress>
						<CareOf/>
						<Cc/>
						<City>London</City>
						<Country/>
						<District/>
						<Extra/>
						<Number>32</Number>
						<Region/>
						<State/>
						<Street>New Street</Street>
						<Zip>W1T 1JY</Zip>
					</FormattedAddress>
					<Identity>1C8F81E506A44F829E0C4312DDCBB655</Identity>
					<Status>LIVE</Status>
				</EkybCompanyBranch>
			</Replaces>
			<SplitInto>
				<EkybCompanyBranch>
					<Address>
						<string>32 New Street</string>
						<string>W1T 1JY</string>
						<string>London</string>
					</Address>
					<FormattedAddress>
						<CareOf/>
						<Cc/>
						<City>London</City>
						<Country/>
						<District/>
						<Extra/>
						<Number>32</Number>
						<Region/>
						<State/>
						<Street>New Street</Street>
						<Zip>W1T 1JY</Zip>
					</FormattedAddress>
					<Identity>2B1E86C5E490401184951D33ECFEFAD0</Identity>
					<Status>LIVE</Status>
				</EkybCompanyBranch>
			</SplitInto>
			<TakenOverBy>
				<EkybCompanyBranch>
					<Address>
						<string>32 New Street</string>
						<string>W1T 1JY</string>
						<string>London</string>
					</Address>
					<FormattedAddress>
						<CareOf/>
						<Cc/>
						<City>London</City>
						<Country/>
						<District/>
						<Extra/>
						<Number>32</Number>
						<Region/>
						<State/>
						<Street>New Street</Street>
						<Zip>W1T 1JY</Zip>
					</FormattedAddress>
					<Identity>802C7644337F4EDD9FA4CEDE50C29A49</Identity>
					<Status>LIVE</Status>
				</EkybCompanyBranch>
			</TakenOverBy>
			<TookOver>
				<EkybCompanyBranch>
					<Address>
						<string>32 New Street</string>
						<string>W1T 1JY</string>
						<string>London</string>
					</Address>
					<FormattedAddress>
						<CareOf/>
						<Cc/>
						<City>London</City>
						<Country/>
						<District/>
						<Extra/>
						<Number>32</Number>
						<Region/>
						<State/>
						<Street>New Street</Street>
						<Zip>W1T 1JY</Zip>
					</FormattedAddress>
					<Identity>FE10A780BCCB460FA7FE92A9E99DB788</Identity>
					<Status>LIVE</Status>
				</EkybCompanyBranch>
			</TookOver>
		</Relations>
		<Secretaries>
			<string>Sample name</string>
		</Secretaries>
		<SicNaceCodes>
			<string>63110</string>
		</SicNaceCodes>
		<SignatureRights>Sample signatureRights</SignatureRights>
		<Status>LIVE</Status>
		<StructuredNaceCodes>
			<EkybCompanyNaceCode>
				<Code>12345678</Code>
				<Description>Sample remote data base information retrieval</Description>
				<Type>Sample type</Type>
			</EkybCompanyNaceCode>
			<EkybCompanyNaceCode>
				<Code>999999</Code>
				<Description>Sample Information Services</Description>
				<Type>Sample type</Type>
			</EkybCompanyNaceCode>
		</StructuredNaceCodes>
		<TypeOfOwnership/>
	</Company>
</EkybPdsResult>

FAQs

What is a bundle?

A bundle is a collection of one or more services. All calls to the API go through a bundle. Each call can call only one bundle.

Does W2 provide international ID checks?

Yes. We provide ID checks across multiple jurisdictions, please ask your account manager/commercial contact for the most up to date list.

Will my service calls leave a Credit Lenders footprint or affect a credit rating?

It will be clearly indicated on each service documentation page whether the search will leave a footprint. However, as a general rule, if the service provider is a credit bureau then yes a foot print will be left.

What is a 2 plus 2 Check?

To confirm someone’s identity to meet JMLSG and UK regulator guidelines a verification known as a 2+2 is the expectation. This involved taking two pieces of information about the person and matching them against two different data sources. Typically for the UK this would be name and address against one source (such as electoral register) and name and date of birth against another source (such as credit record). The data sources used and matching terms defined will differ from country to country depending on the service and data available.

How do Scoring Thresholds work?

Matching Thresholds
The matching logic thresholds are explained below:

Name Matching Logic
W2 use a numbered scoring system for name matching.

  • A score of 100 means that Alert Profile name matches exactly the Client record name.
  • A score of 90 means that Alert Profile name contains Client record name in same order with no gaps.
  • A score of 85 means that Alert Profile name contains Client record name in same order.
  • A score of 80 means that Alert Profile name contains Client record name in any order.

Date of Birth Matching Logic
For Date of Birth matching a numbered scoring system 0-100 (100 being a total match) with a weighting towards Year of Birth and positive/negative depending on factors that match/mismatch is used:

  • Year of Birth match is +60, Year of Birth mismatch is -60
  • Month of Birth match is +20, Month of Birth mismatch is -20
  • Day of Birth match is +20, Day of Birth mismatch is -20
  • Missing information in any of the above fields is +/-0

When calling records using a score on either Name and/or Date of Birth only records matching that score or greater will be returned. In some cases the Date of Birth held within Sanctions records is not in a recognisable format, such as ‘circa 1960’ or ‘between 1965 and 1970’. In these, and other similar cases we treat the Date of Birth as missing for scoring purposes.

Glossary

Term Definition
AML Anti Money laundering.
KYC Know Your Customer. The process of identifying an individual.
eKYC electronic Know Your Customer. The process of identifying a consumer using electronic data sources.
Service One of our data sources or services, each service provides different information and operations see our services page for more information.
Bundle A collection of services. All calls to the API go through bundles and call all services in the bundle sequentially.
KYB Know Your Business. The process of identifying a business and learning key pieces of information about it.
SIS Standard International Sanctions. A combination of international sanctions lists issued by various governments. Details of the contents can be obtained from your account manager.
Watchlist The most comprehensive, or ‘level 3’ PEP, Sanction and Adverse content available through W2.
PEP Politically Exposed Person
SPF Senior Political Figure.
PEPselect Level 2 PEP data
ADV Automated Document verification
MDV Manual Document Verification 

Contact Us

To log a support call please email:

[email protected]