Performance schemas

Data models returned by Performance endpoints.

Performance

{
  "instrument": {
    "isin": string
  },
  "entity": {
    "name": string
  },
  "listing": {
    "symbol": string | null,
    "mic": string
  },
  "data": {
    "asAt": string<date>,
    "asAtLabel": string,
    "financialYears": [object],
    "horizons": [any],
    "captions": {
      "financialYears": string,
      "horizons": string
    },
    "footnotes": [string]
  }
}
instrumentobject
isinstring
example: GB00BLDYK618
entityobject
namestring
example: Scottish Mortgage Investment Trust PLC
listingobject
symbolstring | null
example: SMT
micstring
dataobject
asAtstring<date>

The date every figure is struck to — the issuer's most recent year end, not today. A report published in March states figures to the previous December.

example: 2025-12-31T00:00:00.000Z
asAtLabelstring
example: 31 December 2025
financialYears[object]

One entry per financial year the issuer has reported, newest first.

horizons[any]

Multi-year figures, where the issuer publishes them. Frequently covers only one series — an issuer may give ten years of share price return and none for NAV.

captionsobject

The heading for each table. Named from the data, so a response carrying only cumulative figures never says "annualised".

financialYearsstring
example: Returns by financial year
horizonsstring
example: Cumulative return to 31 December 2025
footnotes[string]

Print these beneath the tables. Generated from the figures actually present, never a fixed block — an issuer stating no basis gets no reinvestment note rather than one asserting something the report did not say. Two kinds appear. Ours state the convention: whether a multi-year figure is cumulative or annualised, and whether dividends are reinvested. The issuer's state a property of the figure itself, such as "Share price is the bid price". One fact per line. Both are needed to read the numbers correctly.

PerformanceFigure

{
  "label": string,
  "value": number,
  "unit": string<enum>,
  "currency": string,
  "basis": string<enum>,
  "disclosure": {
    "id": string,
    "href": string
  }
}
labelstring

What to call this measure. Render it; do not invent your own wording.

example: Share price (TR)
valuenumber
example: 7.31
unitstring<enum>
Allowed values: "percent", "major", "minor"
currencystring

Present only where the figure is money rather than a percentage.

example: GBP
basisstring<enum>

Whether the return assumes dividends are reinvested. Omitted where the issuer did not say. Two returns with different bases are not comparable, and the difference over ten years is large.

Allowed values: "reinvested", "no-reinvestment"
disclosureobject

The announcement that stated this figure. Sits on the figure rather than the year, because one year's figures often come from different reports — a restated comparative comes from the later one.

idstring
example: 2026-03-24#7572X
hrefstring