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
View JSON Schema on GitHub

JSON Schema

eckari-com-company-uk-charges-output-schema.json Raw ↑
{
  "$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.
All 92 tools →

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.