> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ngnmarket.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> API additions, endpoint improvements, and schema changes.

<Update label="June 12, 2026">
  ## ETF endpoints — New

  Three new endpoints give you full programmatic access to every Exchange Traded Fund and ETP listed on the Nigerian Exchange (NGX).

  ### GET /etfs

  <Note>Available on **all plans** including Free.</Note>

  [`GET /etfs`](/api-reference/etfs/list) returns a snapshot of all 12 NGX-listed ETFs and ETPs. Each record includes the current price, daily change, 7-day, YTD, and 52-week period performance, today's volume and naira value traded, average 3-month volume, and the fund manager and benchmark index.

  Supports pagination, search by fund name, ticker, or fund manager, and sorting on any numeric field.

  ### GET /etfs/:symbol

  <Note>Requires a **Starter plan** or higher.</Note>

  [`GET /etfs/:symbol`](/api-reference/etfs/detail) returns the full profile for a single ETF — for example `GET /etfs/STANBICETF30`. In addition to the live OHLCV snapshot and 52-week range, the response includes fund-specific fields: ISIN, fund manager, index tracked, fund sponsor, trustee, custodian, liquidity provider, and website — alongside period change percentages and the average 3-month volume.

  ### GET /etfs/:symbol/chart

  <Note>Requires a **Starter plan** or higher.</Note>

  [`GET /etfs/:symbol/chart`](/api-reference/etfs/chart) returns a daily price history for a specific ETF — for example `GET /etfs/STANBICETF30/chart`.

  Request a named window with `period` (`7d`, `30d`, `90d`, `1y`, `5y`, `all`) or a custom range with `from` and `to`. Use `format=detailed` for full OHLCV rows with `normalized_value` (price rebased to 100 at period start) or `format=chart` for compact `[date, price]` pairs.

  The `statistics` block includes `return_1m`, `return_3m`, `return_1y`, and `return_ytd` computed against fixed reference points regardless of the period requested.
</Update>

<Update label="June 4, 2026">
  ## Data enrichment across core endpoints — Improvements

  OHLCV data on the chart endpoint, market breadth in the snapshot, pre-computed valuation ratios on company profiles, and smaller additions across forex, indices, movers, and top trades.

  ### Chart endpoint — full OHLCV

  [`GET /companies/:symbol/chart`](/api-reference/companies/chart) previously returned only the closing price. It now returns a complete daily candle: `open`, `high`, `low`, `close`, `volume`, `value_traded`, `vwap`, `trade_count`, `change`, and `change_percent`. The `price` field remains as an alias for `close` — no breaking change.

  A new `format=ohlcv` option returns compact `[timestamp, open, high, low, close, volume]` arrays compatible with Apache ECharts, ApexCharts, Highcharts, and Plotly.

  ### Market snapshot — breadth data

  [`GET /market/snapshot`](/api-reference/market/snapshot) now includes advances, declines, unchanged count, advance/decline ratio, YTD ASI return, turnover rate, total listed securities, and NGX session open and close times.

  ### Company profile — valuation ratios

  [`GET /companies/:symbol`](/api-reference/companies/detail) now returns `pb_ratio`, `debt_to_equity`, `current_ratio`, and `dividend_yield` computed from the latest available financial statements. Fields return `null` when financial data is not yet available.

  ### Movers and top trades — logo and market cap

  [`GET /market/movers`](/api-reference/market/movers) and [`GET /market/top-trades`](/api-reference/market/top-trades) now include `logo_url` and `market_cap` on every entry.

  ### Forex — inverse rate

  [`GET /forex/current`](/api-reference/forex/current) now returns `inverse_rate` on each currency entry — how much foreign currency one naira buys.

  ### Index chart — period returns and normalised values

  [`GET /indices/:symbol/chart`](/api-reference/indices/chart) statistics now include `return_1m`, `return_3m`, `return_1y`, and `return_ytd`. In `format=detailed`, each data point also includes `normalized_value` which rebases the index to 100 at period start — useful for comparing two indices on the same axis.
</Update>
