Before I answer those questions let me explain what a register is. We’ll take register of directors as an example.
Companies House requires every company to maintain the register of directors and this register is to be kept available for inspection. Typically this register is kept at the registered office address of the company (other possibility is single alternative inspection location - SAIL ). However, they now have an option of electing to keep their register at Companies House. Only specific information is required to be shown on a register. For example, for registers of directors - only active directors are shown including their full date of birth.
This is why we have the 2 new parameters ( you can treat them as filters ) to enable customers to see data that is specific to each register and register only. It is important to distinguish between a company that hasn’t elected to hold its register at Companies House and one that has. If a company hasn’t elected to hold their register at Companies House, we can only show a generic officer listing including all types and statuses of officers. If they’ve elected to hold their register at Companies House this allows us to deliver a specific set of data based on register_type and register_view parameters.
Looking at available parameter names ( register_type and register_view ) you can see they are very specific to registers and can not be used on their own - you can not set register_type=directors without setting register_view=true - also they only work if given register is held at Companies House. Currently it is not possible to filter on officer type ( directors, secretaries, etc. ) or status ( active, resigned ). Those special type filters I mentioned above were only implemented to support the ‘register view’ of data not to be used as separate filters.
To answer your 2nd question - companies need to notify us of their intent to hold their register at Companies House. Because, this is a relatively new feature, not many companies have notified us yet and therefore, you’d get 404 for the vast majority of companies.
An example of a company which has chosen to elect to hold some of their registers with us is company number : 07300678 . If you call the registers API using the aforementioned company number, you will see they elected to hold their directors, secretaries and usual residential address registers with us. Looking at the API response JSON, you can see each register held with us has a link to a resource itself - for that particular example: