Build a UK business onboarding lookup flow with company, officer, PSC, and filing data
Implement the core business verification path using Entylink search, company, officers, PSC, and filings endpoints, so onboarding teams move from entity resolution to structured review in one flow.
Start from the real implementation problem
Keep the setup explicit
An Entylink API key
A selected company number from a search step
A case object or onboarding record in your own system
Resolve the company first
Every downstream call should anchor on a validated company number. Search by name or number, then lock the flow to the selected company number.
Load the related registry surfaces in parallel
Once you have the company number, retrieve the core company record and related registry surfaces together. That gives the review workflow a single structured payload.
async function loadBusinessCase(companyNumber: string) {
const headers = {
Authorization: `Bearer ${process.env.ENTYLINK_KEY}`,
};
const [company, officers, psc, filings] = await Promise.all([
fetch(`https://api.entylink.com/v1/company/${companyNumber}`, { headers }).then((r) => r.json()),
fetch(`https://api.entylink.com/v1/company/${companyNumber}/officers`, { headers }).then((r) => r.json()),
fetch(`https://api.entylink.com/v1/company/${companyNumber}/psc`, { headers }).then((r) => r.json()),
fetch(`https://api.entylink.com/v1/company/${companyNumber}/filings`, { headers }).then((r) => r.json()),
]);
return {
company: company.data,
officers: officers.data.items ?? [],
psc: psc.data.items ?? [],
filings: filings.data.items ?? [],
};
}Store the verification case in your own model
Persist the company number as the stable primary key, then attach the related snapshots to your onboarding case. That gives operations a reproducible record of what was reviewed.
Add monitoring once the business is approved
The workflow should not stop once the review ends. Approved businesses should be eligible for webhook-based monitoring so material changes trigger follow-up review.