Entylink
Tutorial

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.

uk business onboarding api tutorialbusiness verification api implementationkyb workflow tutorial ukcompany officers psc filings tutorial
Guide details
Read time
12 min
Estimated for an engineer implementing the flow
Level
Advanced
Assumes comfort with APIs and backend basics
Intent
Implementation
Real product or compliance workflows
Who this is for

Start from the real implementation problem

Target readers
Backend engineers building KYB flowsProduct teams implementing business onboardingCompliance-support engineers turning manual review into software
01Retrieve the core company record plus officers, PSCs, and filings
02Parallelise calls after company resolution
03Persist a structured verification payload for review
Prerequisites

Keep the setup explicit

01

An Entylink API key

02

A selected company number from a search step

03

A case object or onboarding record in your own system

Step by step
Step 01

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.

Step 02

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.

Parallel fetchExample
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 ?? [],
  };
}
Step 03

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.

Step 04

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.