Introduction
Ongoing Business Monitoring lets you enroll verified businesses and track changes to their profile with configurable alerts to keep information on record current and compliant.
Enrollment workflow
Customers have two options to enroll a business for monitoring
-
Auto-enrollment During the initial verification call, you can enable monitoring by including additional parameters:
Required Monitoring Fields The transaction payload must include the following fields
Field Type Value KYBMonitoringEnabled
Boolean true
Optional Monitoring Fields The following fields can be included in the transaction payload to customize the monitoring behavior. If omitted, the system will fall back to default values.
Field
Type
Description
Default Value
KYBMonitoringFields
List
A comma-separated list of field names to monitor for changes.
[BusinessStatus, StandardizedLocations, StandardizedIndustries]
KYBMonitoringFrequency
Enum
Defines how often monitoring checks are performed. Possible values: Daily, Weekly, Monthly, Quarterly, Yearly
Weekly
KYBMonitoringCallbackURL
String
A valid callback URL which will receive monitoring updates
Sample Request
{ "AcceptTruliooTermsAndConditions": true, "CallBackUrl": "<url>", "CleansedAddress": false, "ConsentForDataSources": [], "PackageId": "<packageId>", "CountryCode": "GB", "VerificationType": "Live", "BusinessDataFields": { "BusinessName": "Acme Inc.", "BusinessRegistrationNumber": "05987000", "EnhancedProfile": true, "Location": [ { "Address1": "241 Borough High St", "City": "London", "PostalCode": "SE1 1GA" } ], "KYBMonitoringCallbackURL": "<monitoring callback url>", "KYBMonitoringEnabled": true, "KYBMonitoringFrequency": "Quarterly", "KYBMonitoringFields": "BusinessStatus,BusinessLegalForm,StandardizedLocations,StandardizedCompanyOwnershipHierarchy, StandardizedCommunication,StandardizedIncorporationDetails" }, "VerboseMode": false }
-
Manual Enrollment If you prefer to verify a business first and enroll it later, follow this two‑step flow:
-
Verify the business by sending a standard verification request (without monitoring parameters). Capture the
BusinessReferenceID
returned in the verification response. -
Send an enrollment request (POST) using the captured reference. The endpoint is https://businessenrollment.trulioo.com/Enrollment/EnrollWithKyb. The payload includes:
Field Type Description Frequency String Indicates how often the business entity should be monitored. Possible values: Daily, Weekly, Monthly, Quarterly, Yearly KybEntityToMonitor Object Contains the entity details such as business name, registration number, country, and a list of FilterOn
which contains the fields that should trigger alertsTruliooId String The BusinessReferenceID from the verification response Sample request
{ "Frequency": "Monthly", "KybEntityToMonitor": { "BusinessName": "Acme Inc.", "BusinessRegistrationNumber": "05987000", "FilterOn": [ "BusinessStatus", "BusinessLegalForm", "StandardizedLocations", "StandardizedIndustries", "StandardizedCompanyOwnershipHierarchy", "StandardizedIncorporationDetails", "StandardizedBusinessNames", "StandardizedRegistrationNumbers", "StandardizedDirectorsOfficers", "StandardizedCommunication" ], "TruliooId": "gb0006abfb-16b4-7bfe-9f0d-000dd0eae00a", "Country": "GB" } }
The enrollment service returns an enrollment ID that you can use to query monitoring results.
-
Alert Delivery
At the end of the monitoring period, the service generates an alert. There are two delivery methods:
- Polling If you did not specify a callback URL during enrollment, you can periodically request the monitoring results with: **GET **https://businessenrollment.trulioo.com/Enrollment/MonitoringResult/{enrollment-id}
- Event-driven callback If you provided a **KYBMonitoringCallbackURL **or CallbackUrl during enrollment, Trulioo pushes the monitoring results to your webhook.
The response in both methods is the same. The payload includes the business name, country, registration number, the monitoring period and a list of ChangedFields
. Each changed field object contains the field name, old value, new value and the number of changes since the last check.
Sample response
{
"BusinessName": "ACME INC.",
"Country": "GB",
"BusinessRegistrationNumber": "05987000",
"HistoricalDetails": {
"StartDate": "2025-01-11T10:45:00",
"EndDate": "2025-10-03T10:45:00"
},
"ChangedFields": [
{
"FieldName": "BusinessLegalForm",
"OldValue": "Private limited company_Translated",
"NewValue": "Private limited company_Translated",
"ChangeCount": 0
},
{
"FieldName": "BusinessStatus",
"OldValue": "Active_Translated",
"NewValue": "Active_Translated",
"ChangeCount": 0
},
{
"FieldName": "StandardizedLocations",
"OldValue": "[{\"LocationType\":\"Registered\",\"Address1\":\"ORANGE TOWER\",\"BuildingNumber\":\"\",\"StreetName\":\"\",\"StreetType\":\"\",\"City\":\"SALFORD QUAYS\",\"PostalCode\":\"M50 2HF\",\"CountryCode\":\"UNITED KINGDOM\",\"County\":\"\",\"POBox\":\"\",\"Suburb\":\"\",\"AddressAssociation\":\"Unknown\"}]",
"NewValue": "[{\"LocationType\":\"Registered\",\"Address1\":\"ORANGE TOWER\",\"BuildingNumber\":\"\",\"StreetName\":\"\",\"StreetType\":\"\",\"City\":\"SALFORD QUAYS\",\"PostalCode\":\"M50 2HF\",\"CountryCode\":\"UNITED KINGDOM\",\"County\":\"\",\"POBox\":\"\",\"Suburb\":\"\",\"AddressAssociation\":\"Unknown\"}]",
"ChangeCount": 0
},
{
"FieldName": "StandardizedIndustries",
"OldValue": "{\"StandardizedIndustries\":[{\"Code\":\"64205\",\"CodeType\":\"SIC Code\",\"Description\":\"Activities of financial services holding companies\"}]}",
"NewValue": "{\"StandardizedIndustries\":[{\"Code\":\"64205\",\"CodeType\":\"SIC Code\",\"Description\":\"Activities of financial services holding companies\"}]}",
"ChangeCount": 0
},
{
"FieldName": "StandardizedCompanyOwnershipHierarchy",
"OldValue": "{\"Ownerships\":[{\"UniqueId\":\"0\",\"FullName\":\"ACME INC.\",\"BeneficiaryType\":\"Root Business\",\"FullAddress\":[\"ORANGE TOWER, SALFORD QUAYS, UNITED KINGDOM\"],\"City\":\"SALFORD QUAYS\",\"PostalCode\":\"M50 2HF\",\"CountryCode\":\"UNITED KINGDOM\",\"LegalForm\":\"Private limited company\",\"DegreeOfSeparation\":0,\"NationalIDNumber\":\"05987000\",\"Status\":\"Active\"},{\"UniqueId\":\"1\",\"FullName\":\"ACME PARTNERS LLP\",\"BeneficiaryType\":\"corporate-entity-person-with-significant-control\",\"BusinessEntityType\":\"Business\",\"FullAddress\":[\"21 Palmer Street, London, England\"],\"City\":\"London\",\"StateProvinceCode\":\"\",\"PostalCode\":\"SW1H 0AD\",\"LegalForm\":\"Limited Liability Partnership\",\"ControlOwnershipType\":\"corporate-entity-person-with-significant-control\",\"DegreeOfSeparation\":1,\"OwnershipNotes\":\"significant-influence-or-control\",\"NationalIDNumber\":\"Oc301600\",\"Status\":\"Inactive\"}],\"Relationships\":[{\"ParentUniqueId\":\"0\",\"TargetUniqueId\":\"1\",\"Type\":\"corporate-entity-person-with-significant-control\",\"ControlStartDate\":\"2016-04-06T00:00:00Z\",\"ControlEndDate\":\"2018-08-07T00:00:00Z\",\"RelationshipNotes\":\"significant-influence-or-control\"}],\"OwnershipSummary\":{\"TotalOwnershipCount\":1,\"MaximumDegreeOfSeparation\":1,\"TotalAllocatedOwnershipPercentage\":0.0,\"OrganizationsCount\":1,\"IndividualsCount\":0,\"UnknownsCount\":0}}",
"NewValue": "{\"Ownerships\":[{\"UniqueId\":\"0\",\"FullName\":\"ACME INC.\",\"BeneficiaryType\":\"Root Business\",\"FullAddress\":[\"ORANGE TOWER, SALFORD QUAYS, UNITED KINGDOM\"],\"City\":\"SALFORD QUAYS\",\"PostalCode\":\"M50 2HF\",\"CountryCode\":\"UNITED KINGDOM\",\"LegalForm\":\"Private limited company\",\"DegreeOfSeparation\":0,\"NationalIDNumber\":\"05987000\",\"Status\":\"Active\"},{\"UniqueId\":\"1\",\"FullName\":\"ROME ACME LIMITED\",\"BeneficiaryType\":\"corporate-entity-person-with-significant-control\",\"BusinessEntityType\":\"Business\",\"FullAddress\":[\"Orange Tower Mediacityuk, Salford Quays, United Kingdom\"],\"City\":\"Salford Quays\",\"StateProvinceCode\":\"\",\"PostalCode\":\"M50 2HF\",\"CountryCode\":\"GB\",\"LegalForm\":\"Limited Company\",\"ControlOwnershipType\":\"corporate-entity-person-with-significant-control\",\"DegreeOfSeparation\":1,\"OwnershipNotes\":\"ownership-of-shares-75-to-100-percent, voting-rights-75-to-100-percent, right-to-appoint-and-remove-directors\",\"NationalIDNumber\":\"06266728\",\"Status\":\"Active\"},{\"UniqueId\":\"2\",\"FullName\":\"ACME PARTNERS LLP\",\"BeneficiaryType\":\"corporate-entity-person-with-significant-control\",\"BusinessEntityType\":\"Business\",\"FullAddress\":[\"21 Palmer Street, London, England\"],\"City\":\"London\",\"StateProvinceCode\":\"\",\"PostalCode\":\"SW1H 0AD\",\"LegalForm\":\"Limited Liability Partnership\",\"ControlOwnershipType\":\"corporate-entity-person-with-significant-control\",\"DegreeOfSeparation\":1,\"OwnershipNotes\":\"significant-influence-or-control\",\"NationalIDNumber\":\"Oc301600\",\"Status\":\"Inactive\"}],\"Relationships\":[{\"ParentUniqueId\":\"0\",\"TargetUniqueId\":\"1\",\"Type\":\"corporate-entity-person-with-significant-control\",\"ControlStartDate\":\"2016-04-06T00:00:00Z\",\"RelationshipNotes\":\"ownership-of-shares-75-to-100-percent, voting-rights-75-to-100-percent, right-to-appoint-and-remove-directors\"},{\"ParentUniqueId\":\"0\",\"TargetUniqueId\":\"2\",\"Type\":\"corporate-entity-person-with-significant-control\",\"ControlStartDate\":\"2016-04-06T00:00:00Z\",\"ControlEndDate\":\"2018-08-07T00:00:00Z\",\"RelationshipNotes\":\"significant-influence-or-control\"}],\"OwnershipSummary\":{\"TotalOwnershipCount\":2,\"MaximumDegreeOfSeparation\":1,\"TotalAllocatedOwnershipPercentage\":0.0,\"OrganizationsCount\":2,\"IndividualsCount\":0,\"UnknownsCount\":0}}",
"ChangeCount": 1
},
{
"FieldName": "StandardizedIncorporationDetails",
"OldValue": "{\"JurisdictionOfIncorporation\":\"United Kingdom\",\"BusinessLegalForm\":\"Private limited company_Translated\",\"OriginalBusinessLegalForm\":\"Private limited company\",\"DayOfIncorporation\":\"2\",\"MonthOfIncorporation\":\"11\",\"YearOfIncorporation\":\"2006\"}",
"NewValue": "{\"JurisdictionOfIncorporation\":\"United Kingdom\",\"BusinessLegalForm\":\"Private limited company_Translated\",\"OriginalBusinessLegalForm\":\"Private limited company\",\"DayOfIncorporation\":\"2\",\"MonthOfIncorporation\":\"11\",\"YearOfIncorporation\":\"2006\"}",
"ChangeCount": 0
},
{
"FieldName": "StandardizedBusinessNames",
"OldValue": "[{\"Name\":\"Acme Inc.\",\"Type\":\"Returned Business Name\",\"UsedForMatching\":false},{\"Name\":\"MONEY GROUP LIMITED\",\"Type\":\"Returned Previous Name\",\"UsedForMatching\":false},{\"Name\":\"MONEY HOLDINGS 1 LIMITED\",\"Type\":\"Returned Previous Name\",\"UsedForMatching\":false}]",
"NewValue": "[{\"Name\":\"Acme Inc.\",\"Type\":\"Returned Business Name\",\"UsedForMatching\":false},{\"Name\":\"MONEY GROUP LIMITED\",\"Type\":\"Returned Previous Name\",\"UsedForMatching\":false},{\"Name\":\"MONEY HOLDINGS 1 LIMITED\",\"Type\":\"Returned Previous Name\",\"UsedForMatching\":false}]",
"ChangeCount": 0
},
{
"FieldName": "StandardizedRegistrationNumbers",
"OldValue": "{\"StandardizedRegistrationNumbers\":[{\"Number\":\"05987000\",\"Type\":\"Company Registration Number\"}]}",
"NewValue": "{\"StandardizedRegistrationNumbers\":[{\"Number\":\"05987000\",\"Type\":\"Company Registration Number\"}]}",
"ChangeCount": 0
},
{
"FieldName": "StandardizedDirectorsOfficers",
"OldValue": "{\"StandardizedDirectorsOfficers\":[{\"FullName\":\"STU JOHN DOE\",\"DateOfBirth\":\"1969-05\",\"FullAddress\":[\"THINK PARK MOSLEY ROAD, TRAFFORD PARK, ENGLAND\"],\"Position\":\"DIRECTOR\",\"Designation\":\"director\",\"Type\":\"Individual\",\"Status\":\"Active\",\"BeginDate\":\"2006-11-06\",\"EndDate\":\"\"}]}",
"NewValue": "{\"StandardizedDirectorsOfficers\":[{\"FullName\":\"STU JOHN DOE\",\"DateOfBirth\":\"1969-05\",\"FullAddress\":[\"THINK PARK MOSLEY ROAD, TRAFFORD PARK, ENGLAND\"],\"Position\":\"DIRECTOR\",\"Designation\":\"director\",\"Type\":\"Individual\",\"Status\":\"Active\",\"BeginDate\":\"2006-11-06\",\"EndDate\":\"\"},{\"FullName\":\"JONATHAN ROLEX\",\"DateOfBirth\":\"1964-04\",\"FullAddress\":[\"THINK PARK MOSLEY ROAD, TRAFFORD PARK, ENGLAND\"],\"Position\":\"DIRECTOR\",\"Designation\":\"director\",\"Type\":\"Individual\",\"Status\":\"Active\",\"BeginDate\":\"2007-01-25\",\"EndDate\":\"\"},{\"FullName\":\"SIMON FRAISER JAMES\",\"DateOfBirth\":\"1968-04\",\"FullAddress\":[\"ORANGE TOWER MEDIACITYUK, SALFORD QUAYS, UNITED KINGDOM\"],\"Position\":\"DIRECTOR\",\"Designation\":\"director\",\"Type\":\"Individual\",\"Status\":\"Active\",\"BeginDate\":\"2006-11-06\",\"EndDate\":\"\"},{\"FullName\":\"DON JOE\",\"DateOfBirth\":\"1971-04\",\"FullAddress\":[\"THINK PARK MOSLEY ROAD, TRAFFORD PARK, MANCHESTER, ENGLAND\"],\"Position\":\"DIRECTOR\",\"Designation\":\"director\",\"Type\":\"Individual\",\"Status\":\"Resigned\",\"BeginDate\":\"2013-12-11\",\"EndDate\":\"2018-08-07\"}]}",
"ChangeCount": 1
}
]
}
Retrieve Enrollment Details
You can check the enrollment details of a business entity that has been subscribed to monitoring.
Endpoint: GET https://businessenrollment.trulioo.com/Enrollment/{enrollment-id}
Sample response
{
"StatusCode": 200,
"Message": "GET Request successful.",
"Result": {
"Id": "5b8d148c-d92c-422e-a2f5-9bb0a2f7040i",
"Frequency": "Quarterly",
"ServiceName": "tranasction-id-mock",
"CustomerName": "42826a82s8abcp4caaOb514t7ae1efc4dc11-7e04d235-969b-4d4e-aaac-f5ffeb9e6e03",
"SkipInitialCallback": false,
"ScheduleStartDate": null,
"IsTestTransaction": false,
"CallbackUrl": null,
"KybEntityToMonitor": {
"BusinessName": "ACME INC.",
"BusinessRegistrationNumber": "05987000",
"Type": "Business",
"TruliooID": "gb0006abfb-16b4-7bfe-9f0d-000dd0eae00a",
"FilterOn": [
"BusinessStatus",
"BusinessLegalForm",
"StandardizedLocations",
"StandardizedIndustries",
"StandardizedCommunication"
],
"Country": 1
}
}
}
Refresh Enrollment
After enrolling an entity for monitoring, you can use the refresh endpoint to do the following:
- Trigger a refresh to check for any changes between now and the last scheduled run.
- Reset the monitoring schedule, so the next run starts one interval from the time of the refresh.
Note: This endpoint does not return monitoring results directly. To retrieve the latest monitoring outcome after calling this endpoint, refer to the Alert Delivery section described previously.
Scenario 1: Check for changes between two alerts.
Suppose that you enrolled a business on January 1 with a monthly frequency. Your next alert would then be scheduled for February 1. If you want to check for changes before your next alert date — say on January 15 — you can call the refresh endpoint. This triggers a refresh to fetch changes based on the current date, and provides all changes between the current date and the previous date based on the monitoring frequency. So in this case, you will receive the changes that occurred between Dec 15 (current date - monitoring frequency) and Jan 15 (current date). After calling refresh, you can then retrieve the latest results using the polling endpoint or a webhook (if configured).
Scenario 2: Updating the monitoring schedule
If you want to reset the monitoring schedule so that future checks from the current date (but with same frequency), you can set DelayNextRun=true
in your refresh request. This updates the next scheduled run to be one interval from now For example, if you have a monthly frequency and you ran the refresh request on Jan 15, then your next run would be scheduled for Feb 15.
Endpoint
POST https://businessenrollment.trulioo.com/Enrollment/{enrollment-id}/refresh?DelayNextRun=true
Note, use DelayNextRun=false
if you want to only check for changes between alerts
Sample response
{
"StatusCode": 200,
"Message": "POST Request successful.",
"Result": "successfully requested a enrollment refresh"
}
Delete Enrollment
You can cancel the enrollment through this endpoint if you no longer wish to monitor an entity.
Endpoint
DELETE https://businessenrollment.trulioo.com/Enrollment/{enrollment-id}
Sample Response
{
"StatusCode": 200,
"Message": "DELETE Request successful.",
"Result": "successfully deleted enrollment id 5b8d148c-d92c-422e-a2f5-9bb0a2f7040i"
}