# Verify Verify is an exclusive add-on to Creditsafe's company credit reports, designed to assist businesses in making smarter, quicker, and more informed credit decisions. For new or small companies that lack a detailed financial footprint, Verify offers unparalleled insights by screening company directors and the individuals behind businesses for their personal financial stability and identity. Using Verify, you can confidently assess a company's leadership, leveraging trusted public datasets that highlight potential financial concerns—such as CCJs or Insolvencies—and confirm that directors or individuals reside at an address on the Electoral Roll. This page provides comprehensive guidance on using the Verify service to perform enhanced due diligence and verification checks on both business directors and individuals. The documentation is structured around two main process flows, each representing a different path to access verification data, as illustrated in the flow diagrams below. There are two primary ways to use the Verify service: - **Process Flow 1: Using Verify Via Company Search** This process begins with a company search using a Connect ID from the Creditsafe database. It allows you to determine if Verify data is available for the directors of that company. If data is available, you can then use the Verify endpoints to acquire summary or full verification information on those directors. - **Process Flow 2: Using Verify Via Direct Individual or Director Search** This process offers two options: 1. Search for an individual directly using their personal details and retrieve the verification information in the response. 2. Use the Creditsafe director search tooling to find the relevant person ID number, which can then be passed to the Verify tool. This enables you to choose between retrieving summary or full verification data for that individual. Both process flows ultimately allow you to access either summary or full verification data, depending on your requirements. The following sections and diagrams will guide you through each process step-by-step, including required parameters, example requests, and example responses. ## Flow Diagrams ### Process 1 - Using Verify Via Company Search ```mermaid graph TD subgraph Stage-1 direction TB B(Connect Company Search) --> C(Verify Indicator) end subgraph Stage-2 direction TB D(Return Summary Information) E(Return Full Information) end A(Authenticate) --> Stage-1 Stage-1 -- Verify Data Available --> F(Company Report) Stage-1 -- Verify Data Not Available --> G(((STOP))) F -- Acquire Director Id --> Stage-2 ``` ### Process 2 - Using Verify Via Direct Individual or Director Search ```mermaid graph TD A(Authenticate) --> B(Execute Individual Search) A --> C(Connect Director Search) C --> D(Return Summary Information) & E(Return Detailed Information) ``` ## Verify Reason Codes | Search Description | ENUM Value | | --- | --- | | Account Management | AM | | Address Verification | AV | | Business Search | BS | | Checking Credit Application | CA | | Debt Collection | DC | | Directors Search | DS | | Employee Check | EC | | General Insurance | GI | | Quotation Search | QS | | Tenant Vet | TV | | Government Check | GC | ## 1. Authenticate Before accessing any endpoints, you must authenticate to obtain a valid token. This ensures you have the necessary permissions. ### Example Request ```http POST /authenticate ``` ## Process 1 ## 2. Company Search Use the parameters obtained from the Search Criteria endpoint to search for the required company. ### Example Request ```http GET /companies?country=GB&name=creditsafe ``` ### Example Response ```json { "companies": [ { "id": "GB-0-12297233", "country": "GB", "regNo": "12297233", "safeNo": "UK17866117", "name": "CREDITSAFE SERVICES LIMITED", "address": { "simpleValue": "CASPIAN POINT ONE PIERHEAD STREET, CARDIFF, SOUTH GLAMORGAN, CF10 4PH", "street": "PIERHEAD STREET", "city": "CARDIFF", "postCode": "CF10 4PH" } } ] } ``` ## 3. Verify Indicator This endpoint allows you to check if Verify data is available for a given company ID. If data is available, you can proceed to retrieve the company report. ### Example Request ```http GET /localSolutions/GB/verify/company/{id}?reasonForSearch=AM ``` ### Example Response ```json { "companyId": "GB-0-12297233", "verifyMatch": true } ``` #### Outcomes 1. If no Verify data is available, the process ends here. 2. If Verify data is available, continue to the next step. ## 4. Company Report The company report provides the `Director Id`, which is required for subsequent endpoints. ### Example Request ```http GET /companies/{connectId} ``` ### Example Response ```json { "correlationId": "string", "failedSections": [ "CompanySummary" ], "report": { "companyId": "string", "language": "OM", "companySummary": { ... }, "companyIdentification": { ... }, "creditScore": { ... }, "contactInformation": { ... }, "indicators": [ ... ], "shareCapitalStructure": { ... }, "directors": { "currentDirectors": [ { "id": "string", "idType": "Other", "name": "string", "title": "string", "firstNames": "string", "firstName": "string", "middleName": "string", "surname": "string", "address": { ... }, "gender": "Unknown", "birthName": "string", "dateOfBirth": "2019-08-24T14:15:22Z", "placeOfBirth": "string", "nationality": "string", "countryOfResidence": "string", "country": "AF", "directorType": "Other", "hasNegativeInfo": true, "signingAuthority": true, "positions": [ ... ], "additionalData": {} } ] } } } ``` ## 5. Return Summary Information This endpoint provides a summary of the available verification data for an individual, using a series of true/false flags. ### Example Request ```http GET /localSolutions/GB/verify/individual/{id}/summary?reasonForSearch=AM ``` ### Example Response ```json { "verifyMatch": true, "flags": { "ccjMatch": false, "electoralRegisterMatch": true, "deceasedRegisterMatch": false, "insolvencyMatch": false } } ``` ## 6. Return Full Information The full information endpoint returns detailed verification data. The structure of the response may vary depending on your service agreement. Please refer to the API documentation for a complete breakdown of the response objects. ### Example Request ```http GET /localSolutions/GB/verify/individual/{id}/full?reasonForSearch=AM ``` ### Example Response ```json { "verifyMatch": true, "flags": { "ccjMatch": true, "electoralRegisterMatch": true, "deceasedRegisterMatch": true, "insolvencyMatch": true }, "countyCourtJudgments": [ { "name": "Mr. Patrice Jones", "amount": { "currency": "GBP", "value": 1569 }, "date": "2023-05-25", "paidDate": null, "status": "Administration Order", "caseNumber": "CS009082", "category": "Administrative Order", "fullAddress": { "simpleValue": null, "postCode": null }, "partialAddress": { "simpleValue": "CF83" } } ], "electoralRolls": [ { "firstName": "Patrice", "middleName": "A", "lastName": "Jones", "canvasYear": 2024, "fullAddress": { "simpleValue": null, "postCode": null }, "partialAddress": { "simpleValue": "CF83" } } ], "deceased": [ { "uniqueReferenceNumber": "6948406", "dateOfDeath": "2024-05-17", "firstName": "Patrice", "middleName": "A", "lastName": "Jones", "fullAddress": { "simpleValue": null, "postCode": null }, "partialAddress": { "simpleValue": "CF83" } } ], "insolvencies": [ { "individualDetails": { "title": "Mr.", "firstName": "Patrice", "middleName": "A", "lastName": "Jones", "occupation": "Director", "fullAddress": { "simpleValue": null, "postCode": null }, "partialAddress": { "simpleValue": "CF83" } }, "caseDetails": { "caseNumber": "703082103", "caseType": "Bankruptcy", "caseStatus": "Annulled", "court": "High Court Of Justice", "courtNumber": "0000774", "startDate": "1983-04-27", "dischargeDate": "2024-08-01" } } ], "requestDetails": { "title": "", "firstName": "Patrice", "middleName": "", "lastName": "Jones", "dateOfBirth": "1987-02-02", "buildingNo": "", "buildingName": "", "subBuilding": "", "street": "", "town": "", "county": "", "postcode": "CF83", "addressLine": "", "reasonForSearch": "AM" } } ``` **Note:** For a full breakdown of all response objects and fields, please refer to the official API documentation or contact your product manager. ## Process 2 ## Individual and Director Search This section describes how to use the Verify service to search for individuals directly and company directors. These endpoints allow you to retrieve summary and detailed verification information for a person, supporting a range of compliance and due diligence use cases. ## 1. Individual Search The **Execute Individual Search** endpoint enables you to search for an individual using personal details. This is typically the first step in the verification process for individuals. **Endpoint:** ```http GET /localSolutions/GB/verify/individual/directReport ``` **Required Query Parameters:** | Parameter | Type | Description | | --- | --- | --- | | `firstName` | string | The individual's first name. | | `lastName` | string | The individual's last name. | | `dateOfBirth` | string | Date of birth in the format `YYYY-MM-DD` (e.g., "1987-02-02"). | | `postCode` | string | The individual's postcode. | | `address` | string | The individual's address. | | `reasonForSearch` | string | The reason code for the verification search. | Submit the required personal information as query parameters to retrieve a list of potential matches. The response will include full information. ### Example Request ```http GET /localSolutions/GB/verify/individual/directReport?firstName=Patrice&lastName=Jones&dateOfBirth=1980-01-01&postCode=CF83&address=123+Main+Street&reasonForSearch=AM ``` ### Example Response ```json { "verifyMatch": true, "flags": { "ccjMatch": true, "electoralRegisterMatch": true, "deceasedRegisterMatch": true, "insolvencyMatch": true }, "countyCourtJudgments": [ { "name": "Mr. Patrice Jones", "amount": { "currency": "GBP", "value": 1569 }, "date": "2023-05-25", "paidDate": null, "status": "Administration Order", "caseNumber": "CS009082", "category": "Administrative Order", "fullAddress": { "simpleValue": null, "postCode": null }, "partialAddress": { "simpleValue": "CF83" } } ], "electoralRolls": [ { "firstName": "Patrice", "middleName": "A", "lastName": "Jones", "canvasYear": 2024, "fullAddress": { "simpleValue": null, "postCode": null }, "partialAddress": { "simpleValue": "CF83" } } ], "deceased": [ { "uniqueReferenceNumber": "6948406", "dateOfDeath": "2024-05-17", "firstName": "Patrice", "middleName": "A", "lastName": "Jones", "fullAddress": { "simpleValue": null, "postCode": null }, "partialAddress": { "simpleValue": "CF83" } } ], "insolvencies": [ { "individualDetails": { "title": "Mr.", "firstName": "Patrice", "middleName": "A", "lastName": "Jones", "occupation": "Director", "fullAddress": { "simpleValue": null, "postCode": null }, "partialAddress": { "simpleValue": "CF83" } }, "caseDetails": { "caseNumber": "703082103", "caseType": "Bankruptcy", "caseStatus": "Annulled", "court": "High Court Of Justice", "courtNumber": "0000774", "startDate": "1983-04-27", "dischargeDate": "2024-08-01" } } ], "requestDetails": { "title": "", "firstName": "Patrice", "middleName": "", "lastName": "Jones", "dateOfBirth": "1987-02-02", "buildingNo": "", "buildingName": "", "subBuilding": "", "street": "", "town": "", "county": "", "postcode": "CF83", "addressLine": "", "reasonForSearch": "AM" } } ``` ## 2. Director Search The **Director Search** endpoint allows you to search for company directors by personal or company-related details. This is useful for verifying the identity and background of individuals holding directorships. ### Example Request ```http GET /people?countries=GB&firstName=ExampleDirector ``` **Description:** The `countries` parameter is required and should be set to `GB` for UK director searches. For best results, you should also provide additional parameters such as `firstName`, `lastName`, and `dateOfBirth` to refine your search and improve match accuracy. For a full list of available parameters and more detailed guidance, please refer to the People and Director Search documentation. (A link will be provided here.) ### Example Response These examples are only a snippet of the full responses, it is to demonstrate that a single response will generally respond with a higher number of available properties. ```json { "correlationId": "76ffa40b-95cc-485d-9086-f52397015f22", "totalSize": 23, "directors": [ { "peopleId": "GB-1234567", "firstName": "JOE", "lastName": "BLOGS", "country": "GB", "company": { "id": "GB-1-1234567", "companyName": "CREDITSAFE LTD", "companyNumber": "1234567", "safeNumber": "UK1234567", "type": "Ltd" }, "address": { "simpleValue": "CASPIAN POINT ONE PIERHEAD STREET, CARDIFF, SOUTH GLAMORGAN, CF10 4PH", "street": "PIERHEAD STREET", "city": "CARDIFF", "postCode": "CF10 4PH", "houseNo": "34" }, "status": "Active", "dateOfLatestChange": "2024-09-23T11:39:13.000Z", "localDirectorNumber": "UK1234567", "score": 15.855064, "numEmployeesfrom": 2, "numEmployeesTo": 2, "taxCode": "GB-1234567" }, ] } ``` Once you have identified the correct individual or director using these endpoints, you can proceed using the `peopleId` to retrieve [summary information](#5-return-summary-information) or [full verification information](#6-return-full-information) using the relevant Verify endpoints described above. **Note:** For a complete list of available query parameters and response fields, please refer to the official API documentation.