Officer Id in disqualified officers api

We are working on to get the disqualified officers from the api provided in documentation, However we are unable to figure out from where to get the officer id for disqualified officers, as the officer id we are getting for appointments are also not working for disqualified. It will be great if any of you help in figuring this out.


Forum search (top right - the “magnifying glass” icon) is always helpful…

Using that, I found Companies House seem to be implying “there is no link between the officer id and disqualified officer”. They gave an answer some time ago to the following question:


Can’t we do an Officer search and then use the self id (person id) to retrieve both the appointments and disqualifications ?
XMLGateway delivers both appointments and disqualifications combined in OfficerDetail response.
What’s the design decision behind the separate api calls for appointments and disqualifications ?

Answer from CH:

The requirement for CHS was that the register of disqualifications remained a separate entity.
Disqualified officers are a separate register to “normal” officers and may also not be linked to a company number.

Full details on the thread:

For more discussion around this see the thread below.

Thanks for the reply, though I already went through all these threads before writing to forum.

I believe you did not understand my query, question is I know both IDs are different and related to this, from where can I get the ID of disqualified officer, like I get the officers Id for appointments in Officers list.

Please guide the api or path where to find the same.


Sorry, I had misunderstood your question indeed. If what you meant was “where can I find the ‘officer_id’ parameter that we need to feed in to the ‘Officer Disqualifications’ endpoint” then the answer is “you get that from the ‘search disqualified officer’ endpoint”. Specifically, you search there with a search term, and that returns a list (‘items’) of search results. The “links” member of each of these should have a “self” item which points to the appropriate disqualified officer resource. Because that endpoint contains the officer_id - that’s your answer.

Example using curl (some data clipped for clarity) - search for “smith”:

curl -uMYAPI_KEY: ""

This returns:

    "page_number": 1,
    "total_results": 71,
    "items_per_page": 20,
    "start_index": 0,
    "kind": "search#disqualified-officers",
    "items": [
            "description": "Born on 10 December 1963 - Disqualified",
            "address": {
            "kind": "searchresults#disqualified-officer",
            "links": {
                "self": "/disqualified-officers/natural/ZiqZVf1F4yMpQS0UjdnYB63YAMw"

We can take the links.self value and request this directly (no need to parse out the officer_id - you’d then need to know whether to use “natural” or “corporate” …):

curl -uMYAPI_KEY: ""

This returns:

    "nationality": "British",
    "etag": "05f59e38a8b529f271ff355e0c22646145272c08",
    "kind": "natural-disqualification",
    "disqualifications": [

Unfortunately that’s as far as it goes - this data doesn’t directly link anywhere else in the API making this whole process a bit of a fishing expedition.

I thought you were asking (as others have done) whether there was a link between the disqualified officer “officer_id” and the officers “officer_id” e.g. if there was a one-to-one link you could invoke. Companies House have stated this is not the case - if you need to make the link you’ve got to do your own lookup and matching. Exception to this - the (chargeable) XML Gateway appears to allow you to link the two data sets - but that’s outside the scope of this forum.

Thanks a lot for your response. This will surely help.

Hi guys!
I am trying to do the same. I have a requirement to display the company details, its directors and then the Disqualifications for the director. I have researched through several forum threads but did not get any relevant information. I have found this API Companies House Public Data API: Get a corporate officers disqualifications to get the disqualifications of an officer but I am not able to get the officer_id to use in this API. From where can I get that?
I also tried the above given solution but with no luck. Can someone please guide me how can I get the Disqualifications of a director of a company?


I see you posted in two threads and it seems both relate to the same overall task which appears to be:

“Can I link the company / officers data directly (via some kind of ID) to the disqualified directors data?”

… so I’ll just answer both your posts here:

As far as I’m aware nothing has changed since my posts (except the links to the documentation, which I’ll re-link below). So if you are trying to do the same things as the original posters then the same answers still apply:

  • The answer to the question “In the REST API is there a way to find out an officer’s disqualifications based on his/her id which I used to get his/her appointments?” or “is there a unique identifier linking between disqualifications and officers / PCs / appointments” will be “no”. You can only search for disqualifications - essentially by name. You then request further info using the link you get from the Search resource (as described above).

  • If you look at the other post you’ll see I mention it may be possible using the XML Gateway service. That service has its own forum too. Note that: (a) this is a paid-for service (b) we no longer use it so I’m not current and © this was never something we actually did ourselves.

A final note - I’m not a member of Companies House so my answers aren’t definitive - check this for yourself!

Hello All,

Thank You for the detailed responses, on the subject, especially @voracityemail.

It appears “Name of the Disqualified Director” is a pre-requisite to invoke the “Search disqualified officers” end point i.e. Companies House Public Data API: Search disqualified officers (

In that case, the outcome of the search result could be SUCCESS (200 OK) or FAILURE (401 / 404).

SUCCESS is straight forward, if the names matches the Disqualified Officer within the Disqualified Officer Register, a success response will be sent.

My question is more related to failure response, what if the search, results in failure response?
Is it fair to presume the officer in question is not disqualified? OR would it simply be the case of “Data Unavailable”
…In our implementation we would like to present a meaningful message to the user.