Can significant contacts be empty?

Hi All,

Was wondering if when calling {company_number}/persons-with-significant-control that if ever it returns a 404 if a company doesn’t have one? Any information on this would be helpful.

Thanks.

In theory companies registered with Companies House are supposed to have:

I just checked and if there are no PSCs but there is a statement you’ll get back the 404 error below for the PSC list. The example I used:

https://api.company-information.service.gov.uk/company/10380561/persons-with-significant-control

https://api.company-information.service.gov.uk/company/10380561/persons-with-significant-control-statements

In practice I’m not sure they all have one or the other. I can’t remember if you ever get back a PSC list resource with an empty items array. I would make sure to handle that as well as the 404 not found response shown below.

In addition for the types of entity listed below (not an exhaustive list I think) you get back a 404 and a JSON payload as shown. Example:

curl -u MYAPIKEY: "https://api.company-information.service.gov.uk/company/FC003821/persons-with-significant-control"

Response (prettified):

{ "errors" : [ { "error" : "company-psc-not-found", "type" : "ch:service" } ] }

There are several entity types you will find in Companies House where having PSCs doesn’t apply and it’s not possible to have them. Very broadly this is the case if they’re regulated / managed by another registry. For example foreign companies are listed where they’ve registered UK establishments but the foreign companies won’t list PSCs. Then there are entities on different registers like the FCA register, FCA Mutuals register, one of the charity registers (there are different ones in England / Wales, Scotland, Northern Ireland), Royal Charter institutions etc.

Again in theory it should be possible to call the company profile endpoint and check what you get in the links member to see what is available. This seems to be largely true. For our application we do not rely on this being true - so we keep a list of what endpoints are expected to be available for different types of entity.

There may be a guide to the location of more info in the “API enumeration constants” in the “partial_data_available” constant.

1 Like