Eckari · Schema
company_uk_charges_output
Contains public sector information licensed under the Open Government Licence v3.0 (Companies House).
Company RecordsLegal EntitiesDomain DataWeatherLocationReal-World Data
Properties
| Name | Type | Description |
|---|---|---|
| company_number | string | |
| query | object | The resolved inputs, echoed because page.total depends on the status filter and the item shape depends on detail. |
| outstanding_count | integernull | Derived, register-wide: the register's total charge count minus its satisfied count — the charges it has not recorded as discharged, and the one number a credit decision wants. Part-satisfied charges |
| satisfied_count | integernull | Register-wide count of charges the register records as fully discharged (status satisfied or fully-satisfied). Not a count of the returned page. |
| part_satisfied_count | integernull | Register-wide count of charges the register records as partly discharged. These are also included in outstanding_count. |
| items | array | Charges in the register's own order, filtered by the status filter in force. |
| page | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/eckari-com/json-schema/eckari-com-company-uk-charges-output-schema.json",
"title": "company_uk_charges_output",
"description": "Contains public sector information licensed under the Open Government Licence v3.0 (Companies House).",
"x-generated": "2026-11-06",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/eckari-com-openapi.json#/components/schemas/company_uk_charges_output",
"type": "object",
"additionalProperties": false,
"required": [
"company_number",
"query",
"outstanding_count",
"satisfied_count",
"part_satisfied_count",
"items",
"page"
],
"properties": {
"company_number": {
"type": "string"
},
"query": {
"type": "object",
"description": "The resolved inputs, echoed because page.total depends on the status filter and the item shape depends on detail.",
"additionalProperties": false,
"required": [
"status",
"detail"
],
"properties": {
"status": {
"type": "string",
"enum": [
"outstanding",
"satisfied",
"all"
]
},
"detail": {
"type": "string",
"enum": [
"summary",
"full"
]
}
}
},
"outstanding_count": {
"type": [
"integer",
"null"
],
"description": "Derived, register-wide: the register's total charge count minus its satisfied count — the charges it has not recorded as discharged, and the one number a credit decision wants. Part-satisfied charges are counted as outstanding because the security has not been fully released; part_satisfied_count reports them separately. That makes this equal to the public register's own \"Outstanding\" headline only when part_satisfied_count is 0; when it is not, this figure is larger by exactly that number, because the register lists part-satisfied charges under their own heading. Null when the register omits either count."
},
"satisfied_count": {
"type": [
"integer",
"null"
],
"description": "Register-wide count of charges the register records as fully discharged (status satisfied or fully-satisfied). Not a count of the returned page."
},
"part_satisfied_count": {
"type": [
"integer",
"null"
],
"description": "Register-wide count of charges the register records as partly discharged. These are also included in outstanding_count."
},
"items": {
"type": "array",
"description": "Charges in the register's own order, filtered by the status filter in force.",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"charge_number",
"charge_code",
"status",
"is_outstanding",
"created_on",
"delivered_on",
"satisfied_on",
"classification",
"particulars",
"persons_entitled"
],
"properties": {
"id": {
"type": "string",
"description": "Stable identifier for the charge, taken from the register's own charge resource link (falling back to charge_code, then charge_number)."
},
"charge_number": {
"type": "integer",
"description": "The register's per-company charge number."
},
"charge_code": {
"type": [
"string",
"null"
],
"description": "The register's public charge code, shown on the public register for charges registered from 2013. Null for older charges, which are identified by charge_number."
},
"status": {
"type": "string",
"description": "Companies House charge status. outstanding — registered and not discharged. part-satisfied — partly discharged, security still in force for the remainder. satisfied and fully-satisfied — both terminal: the register uses two keys for a fully discharged charge and the public register renders either as \"Satisfied\", so filtering on one alone gives the wrong answer. Use is_outstanding instead."
},
"is_outstanding": {
"type": "boolean",
"description": "Derived; false when status is satisfied or fully-satisfied (the two terminal keys), true otherwise — including part-satisfied, where security remains in force. An unrecognised future status is reported as outstanding rather than silently discharged."
},
"created_on": {
"type": [
"string",
"null"
],
"format": "date"
},
"delivered_on": {
"type": [
"string",
"null"
],
"format": "date"
},
"satisfied_on": {
"type": [
"string",
"null"
],
"format": "date"
},
"acquired_on": {
"type": [
"string",
"null"
],
"format": "date",
"description": "Date the property or undertaking was acquired. Returned only when detail=full; the register populates it for acquisition filings only."
},
"resolved_on": {
"type": [
"string",
"null"
],
"format": "date",
"description": "Date the register resolved an issue with the charge. Returned only when detail=full."
},
"assets_ceased_released": {
"type": [
"string",
"null"
],
"description": "Register cease/release information (e.g. whole-property-released, part-property-ceased-to-belong), mapped from the register's misspelled member name. Returned only when detail=full; populated only where property has been released or has ceased to belong."
},
"more_than_four_persons_entitled": {
"type": [
"boolean",
"null"
],
"description": "Register flag for a charge with more than four persons entitled, in which case persons_entitled lists the first four. Returned only when detail=full."
},
"classification": {
"type": "array",
"description": "The register's classification of the charge.",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"description"
],
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
}
}
}
},
"particulars": {
"type": "array",
"description": "What is charged, as the register describes it.",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"description",
"flags"
],
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"flags": {
"type": "array",
"description": "The register's particulars flags that are set for this charge, in a fixed order: contains_fixed_charge, contains_floating_charge, floating_charge_covers_all, contains_negative_pledge, chargor_acting_as_bare_trustee. The register publishes each as true or omits it, so a flag absent from this list is one the register did not assert. Empty when it asserted none.",
"items": {
"type": "string",
"enum": [
"contains_fixed_charge",
"contains_floating_charge",
"floating_charge_covers_all",
"contains_negative_pledge",
"chargor_acting_as_bare_trustee"
]
}
}
}
}
},
"secured_details": {
"type": "array",
"description": "What the charge secures, as the register describes it.",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"description"
],
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
}
}
}
},
"persons_entitled": {
"type": "array",
"description": "The secured parties named on the register.",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
}
}
}
}
}
}
},
"page": {
"type": "object",
"additionalProperties": false,
"required": [
"limit",
"offset",
"returned",
"total",
"has_more",
"next_offset"
],
"properties": {
"limit": {
"type": [
"integer",
"null"
],
"description": "The page size applied (the requested limit, default 3)."
},
"offset": {
"type": "integer",
"description": "The register index this page started at (the requested offset)."
},
"returned": {
"type": "integer",
"description": "Number of charges in this response."
},
"total": {
"type": [
"integer",
"null"
],
"description": "Register-wide count of charges matching the status filter in force — the register's total charge count for status=all, outstanding_count for status=outstanding and satisfied_count for status=satisfied. Null when the register omits the count it is derived from. Never a count of this page."
},
"has_more": {
"type": "boolean",
"description": "Authoritative end-of-list signal; true when charges matching the status filter remain beyond this page. items.length < limit is NOT a valid end-of-list test when a status filter is in force, because the filter is applied after the register read."
},
"next_offset": {
"type": [
"integer",
"null"
],
"description": "Derived; the register index to pass as offset to continue after the last charge returned. Under a status filter this is the register index of the next matching charge and can be greater than offset + returned. Null exactly when has_more is false."
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/eckari-com-company-uk-charges-output"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.