Skip to content

Data Conventions

These conventions apply to every endpoint unless an endpoint’s reference docs say otherwise.

All endpoints return a JSON object with the shape:

{
"data": [],
"pagination": {},
"errors": []
}

See Response shape for how errors is used.

Dates and times are 14-character strings in YmdHis format, in UK time.

ExampleMeaning
2026042110321921 April 2026, 10:32:19
200210010000001 October 2002 (time component zero)

Dates that are not set are returned as empty strings ("").

Monetary values are strings with two decimal places.

{
"net": "17.98",
"gross": "19.58"
}

Share prices are strings with up to six decimal places, to support fractional share units.

{
"price": "0.000001"
}

IDs are strings, not integers. This preserves any leading zeros present in identifiers (for example, Companies House company numbers).

{
"id": "00012345"
}

Values that are not set or not applicable are returned as empty strings ("") rather than null.