Buybacks schemas

Data models returned by Buybacks endpoints.

BuybackHistory

{
  "instrument": {
    "isin": string
  },
  "entity": {
    "name": string
  },
  "listing": {
    "symbol": string | null,
    "mic": string
  },
  "data": [BuybackRecord],
  "meta": {
    "paging": ClassicPaging
  }
}
instrumentobject
isinstring
example: GB00BLDYK618
entityobject
namestring
example: Scottish Mortgage Investment Trust PLC
listingobject
symbolstring | null
example: SMT
micstring
metaobject

Classic page-based pagination response

BuybackRecord

{
  "tradeDate": string<date>,
  "executionVenue": {
    "name": string,
    "mic": string
  },
  "shares": integer<int64>,
  "price": {
    "average": number,
    "high": number,
    "low": number,
    "currency": string,
    "unit": string<enum>
  },
  "consideration": {
    "value": number,
    "currency": string,
    "unit": string<enum>,
    "basis": string<enum>
  },
  "purpose": string<enum>,
  "programme": {
    "cumulativeShares": integer<int64>
  },
  "disclosure": {
    "id": string,
    "href": string
  }
}
tradeDatestring<date>

The date the shares were purchased. This is not the announcement date, which is typically the same day or up to three days later.

executionVenueobject

Where the purchase executed, as named in the announcement. This is not listing.mic, which is where the instrument is listed. mic is given only where the name identifies a single market; issuers often report against a group of venues. The whole object is omitted when the announcement named no venue.

namestring
example: UK Venues
micstring
example: XLON
sharesinteger<int64>

Number of shares purchased.

priceobject
averagenumber

Volume weighted average price, as stated in the announcement.

highnumber

Highest price paid, where stated.

lownumber

Lowest price paid, where stated.

currencystring

ISO 4217 currency code, whether the price is in the major or minor unit. Omitted where the announcement stated no currency — some issuers print bare figures.

example: GBP
unitstring<enum>

Whether the prices are in the major unit (pounds, dollars) or the minor unit (pence, cents).

Allowed values: "major", "minor"
example: major
considerationobject

Total value of the purchase, where the announcement states one.

valuenumber
currencystring

ISO 4217 currency code.

unitstring<enum>
Allowed values: "major", "minor"
basisstring<enum>

What the total covers. price — shares multiplied by price. cost — also includes dealing costs, commission and stamp duty.

Allowed values: "price", "cost"
purposestring<enum>

What became of the shares. cancellation — cancelled. treasury — held in treasury. employee_trust — bought for an employee benefit trust or share plan, which does not reduce the share count.

Allowed values: "cancellation", "treasury", "employee_trust"
programmeobject

Programme-to-date progress, where the announcement stated it. Omitted otherwise.

cumulativeSharesinteger<int64>

Shares repurchased under the programme so far.

disclosureobject

The announcement this record comes from.

idstring
example: 2026-09-02#9824S
hrefstring

Path to the full announcement.

BuybackSummary

{
  "instrument": {
    "isin": string
  },
  "entity": {
    "name": string
  },
  "listing": {
    "symbol": string | null,
    "mic": string
  },
  "period": {
    "from": string<date> | null,
    "to": string<date> | null,
    "trades": integer,
    "shares": integer<int64>
  },
  "data": {
    "navAccretion": {
      "value": number,
      "currency": string,
      "unit": string<enum>,
      "basis": string<enum>,
      "nav": NavContext,
      "shares": {
        "votingRights": integer<int64>,
        "asAt": string<date>
      },
      "unavailable": string
    },
    "averageDiscount": {
      "value": number,
      "unit": string<enum>,
      "basis": string<enum>,
      "nav": NavContext,
      "inputs": {
        "averagePrice": number,
        "averageNav": number,
        "currency": string,
        "priceUnit": string<enum>
      },
      "unavailable": string
    }
  }
}
instrumentobject
isinstring
example: GB00BLDYK618
entityobject
namestring
example: Scottish Mortgage Investment Trust PLC
listingobject
symbolstring | null
example: SMT
micstring
periodobject

The period measured, and the purchases it covers.

fromstring<date> | null

Null when no start date was given.

tostring<date> | null

Null when no end date was given.

tradesinteger

Number of purchases in the period.

sharesinteger<int64>

Total shares repurchased in the period.

dataobject
navAccretionobject

The increase in net asset value per share arising from repurchasing shares below NAV, expressed per remaining share.

valuenumber

Omitted when the measure cannot be calculated. See unavailable.

example: 4.09
currencystring

ISO 4217 currency code.

example: GBP
unitstring<enum>

The value is in the minor unit of the currency (pence, cents).

Allowed values: "minor"
basisstring<enum>

How the figure was arrived at. confirmed — stated by the issuer. derived — calculated from stated values. estimated — depends on an assumption, such as measuring a purchase against the last NAV published before it.

Allowed values: "confirmed", "derived", "estimated"

The published NAVs a measure was calculated against. Issuers publish NAV periodically but may repurchase on any trading day, so each purchase is measured against the most recent NAV published on or before its trade date.

sharesobject

The share count the increase is spread across. Shares held in treasury are excluded, as they carry no entitlement to net asset value.

votingRightsinteger<int64>
example: 146205166
asAtstring<date>

Date the issuer last reported this count.

unavailablestring

Why the measure could not be calculated. Present only when value is null.

averageDiscountobject

The average discount of repurchase price to net asset value, weighted by the number of shares in each purchase. Negative values mean shares were bought below NAV.

valuenumber

Omitted when the measure cannot be calculated. See unavailable.

example: -28.9
unitstring<enum>
Allowed values: "percent"
basisstring<enum>

How the figure was arrived at. confirmed — stated by the issuer. derived — calculated from stated values. estimated — depends on an assumption, such as measuring a purchase against the last NAV published before it.

Allowed values: "confirmed", "derived", "estimated"

The published NAVs a measure was calculated against. Issuers publish NAV periodically but may repurchase on any trading day, so each purchase is measured against the most recent NAV published on or before its trade date.

inputsobject

The averages the percentage is calculated from.

averagePricenumber

Share-weighted average price paid.

example: 602.28
averageNavnumber

Share-weighted average NAV per share the purchases were measured against.

example: 847.43
currencystring

ISO 4217 currency code.

example: GBP
priceUnitstring<enum>

Both averages are in the minor unit of the currency.

Allowed values: "minor"
unavailablestring

Why the measure could not be calculated. Present only when value is null.