changedInput schema / properties / category / description
Previous value: -"Optional comma-separated register categories to include (e.g. accounts, address, annual-return, capital, change-of-name, incorporation, liquidation, miscellaneous, mortgage, officers, resolution, confirmation-statement). The applied value is echoed back as category_filter."New value: +"Optional comma-separated register categories to include (e.g. accounts, address, annual-return, capital, change-of-name, incorporation, liquidation, miscellaneous, mortgage, officers, resolution, confirmation-statement). The applied value is echoed back as query.category."
addedInput schema / properties / detail
Added value: +{
+ "description": "How much of each filing to return. Default summary: the readable description, its source, the register's annotations, the form type and the document URL. `full` adds the register's raw description_key and description_values for reconciliation against a register capture.",
+ "enum": [
+ "summary",
+ "full"
+ ],
+ "type": "string"
+}
changedInput schema / properties / limit / description
Previous value: -"Maximum filings to return per page (1-100). Default 25."New value: +"Maximum filings to return per page (1-100). Default 5."
changedInput schema / properties / offset / description
Previous value: -"Zero-based index into the register's filing list for the applied category filter. Nothing is filtered out after reading, so for this list offset + filings.length < total_count is the end-of-list test."New value: +"Zero-based index into the register's filing list for the applied category filter. Nothing is filtered out after reading, so page.has_more is simply offset + returned < page.total; pass back page.next_offset."
removedOutput schema / properties / data / additionalProperties
Removed value: -false
changedOutput schema / properties / data / description
Previous value: -"Contains public sector information licensed under the Open Government Licence v3.0 (Companies House)."New value: +"Capability output; full JSON Schema at https://api.eckari.com/v1/capabilities/company.uk.filings"
removedOutput schema / properties / data / properties
Removed value: -{
- "category_filter": {
- "because total_count depends on it.": null,
- "description": "Derived; the category filter actually applied to this response (the normalised input value)",
- "or null when no filter was applied. Makes a logged or cached response self-describing": null,
- "type": [
- "string",
- "null"
- ]
- },
- "company_number": {
- "type": "string"
- },
- "filing_history_status": {
- "description": "The register's own statement about this company's filing history, passed through unchanged (e.g. filing-history-available). It qualifies a short or empty list: without it, 'no filings match this filter' and 'the register holds no filing history for this company' look identical. Null when the register omits it.",
- "type": [
- "string",
- "null"
- ]
- },
- "filings": {
- "description": "The register's own filing order, passed through unchanged — reverse chronological (most recent first) in practice. Eckari applies no sort of its own and guarantees no ordering; sort on date yourself if your logic depends on it.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "annotations": {
- "description": "Registrar annotations attached to this filing, verbatim and in register order; empty when there are none. The register renders them beneath the filing's own description (e.g. \"Purchase of own shares. ANNOTATION Clarification …\"), so a consumer reading description alone is not reading what the register says about the filing. Annotations are the registrar's after-the-fact clarifications and corrections.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "annotation": {
- "description": "The annotation text as published by the register.",
- "type": "string"
- },
- "date": {
- "description": "The date the annotation was added as published by the register (ISO date or date-time; passed through unchanged). Null when the register omits it.",
- "type": [
- "string",
- "null"
- ]
- },
- "description": {
- "description": "The register's own description key for the annotation entry (e.g. annotation). Null when the register omits it.",
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "annotation",
- "date",
- "description"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "category": {
- "type": "string"
- },
- "date": {
- "description": "Date the filing was processed by the register.",
- "format": "date",
- "type": "string"
- },
- "description": {
- "description": "Human-readable description of the filing, rendered from the Companies House filing_history_descriptions enumeration with the register's own description_values merged in (e.g. \"Confirmation statement made on 2026-06-18 with no updates\"). Never invented: an unrecognised key is rendered as a readable form of the key itself and flagged by description_source. Registrar annotations are NOT merged into this text — read annotations[] as well to see everything the register shows for the filing.",
- "type": "string"
- },
- "description_key": {
- "description": "Raw register description key for the filing (e.g. capital-return-purchase-own-shares), stable for machine matching.",
- "type": "string"
- },
- "description_source": {
- "description": "\"enumeration\" when description_key matched the published Companies House enumeration; \"fallback\" when it did not and the key itself was made readable.",
- "enum": [
- "enumeration",
- "fallback"
- ],
- "type": "string"
- },
- "description_values": {
- "addresses": null,
- "capital figures). Passed through unmodified; null when the register supplies none.": null,
- "description": "Placeholder values supplied by the register for the description template (dates",
- "officer names": null,
- "type": [
- "object",
- "null"
- ]
- },
- "has_document": {
- "description": "Derived; true when the register exposes document metadata for this filing, meaning a filed image exists on the Companies House document service. It is a statement about the register, not a promise from Eckari: this capability never returns the document itself and provides no download URL.",
- "type": "boolean"
- },
- "pages": {
- "type": [
- "integer",
- "null"
- ]
- },
- "paper_filed": {
- "type": [
- "boolean",
- "null"
- ]
- },
- "subcategory": {
- "type": [
- "string",
- "null"
- ]
- },
- "transaction_id": {
- "type": "string"
- },
- "type": {
- "AP01": null,
- "CS01": null,
- "TM01).": null,
- "description": "Register filing type code (e.g. AA",
- "type": "string"
- }
- },
- "required": [
- "transaction_id",
- "date",
- "category",
- "type",
- "description",
- "description_key",
- "description_values",
- "description_source"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "offset": {
- "description": "The register index this page started at (the requested offset).",
- "type": "integer"
- },
- "total_count": {
- "description": "Total filings for this company after the category filter in category_filter — register-wide for that filter, not a count of the returned page. It is filter-dependent, so read it together with category_filter.",
- "type": "integer"
- }
-}
removedOutput schema / properties / data / required
Removed value: -[
- "company_number",
- "total_count",
- "category_filter",
- "offset",
- "filings"
-]
addedOutput schema / properties / meta / properties / attribution_url
Added value: +{
+ "format": "uri",
+ "type": "string"
+}
addedOutput schema / properties / meta / properties / retrieved_at / format
Added value: +"date-time"
addedOutput schema / properties / meta / required
Added value: +[
+ "capability",
+ "version",
+ "retrieved_at",
+ "source",
+ "freshness",
+ "request_id"
+]