StabisoDocs

Reference data API

Benchmark rates

SOFR, EUR STR, SONIA and SARON fixings.

Operation Summary
GET /v1/rates/benchmarks List the benchmark rates
GET /v1/rates/benchmarks/{benchmark_id} Get a benchmark rate
GET /v1/rates/benchmarks/{benchmark_id}/latest Get the latest fixing of a benchmark
GET /v1/rates/benchmarks/{benchmark_id}/observations List the fixings of a benchmark

GET /v1/rates/benchmarks

List the benchmark rates

The overnight benchmark rates: SOFR (USD), EUR STR, SONIA (GBP) and SARON (CHF).

data describes each benchmark: its id (use it in the other endpoints), administrator, currency, tenor, day-count convention, whether it is secured, when and where the fixing is published, and the business-day calendar it follows.

Authentication an API key, where the server requires one
Operation id benchmarks_v1_rates_benchmarks_get

Parameters

In Name Type Required Description
query currency string or null Only benchmarks in this currency, ISO 4217, case-insensitive, e.g. 'USD'. Default: all.
query dataset_version string or null Pin the response to an archived dataset version (git SHA). Defaults to the current version. Also accepted as the X-Dataset-Version header. The version that answered is in meta.dataset_version; an archived version that does not exist gives 404.

Example request

curl "$DATAVNEXT_URL/v1/rates/benchmarks" \
  -H "X-API-Key: $DATAVNEXT_KEY"

Responses

Status Meaning Body
200 OK Envelope_list_Benchmark__
401 Missing or invalid API key. Error
404 Nothing found for the identifier, or the pinned dataset_version is not archived. Error
422 The request is invalid: {"detail": "…"} for a rule the service checks, or FastAPI's {"detail": [{"loc", "msg", "type"}]} for a malformed parameter or body. HTTPValidationError

Example response (shape)

{
  "data": [
    {
      "sources": [
        null
      ],
      "id": "string",
      "name": "string",
      "currency": "string",
      "administrator": "string",
      "tenor": "string",
      "day_count": "30/360",
      "secured": true,
      "publication": "string",
      "ingest_source": "string",
      "calendar": "string"
    }
  ],
  "meta": {
    "dataset_version": "string",
    "as_of": "2026-09-21",
    "known_at": "2026-09-21",
    "sources": [
      {
        "authority": null,
        "url": null,
        "reference": null,
        "verified_at": null,
        "kind": null
      }
    ],
    "notes": [
      "string"
    ]
  }
}

GET /v1/rates/benchmarks/{benchmark_id}

Get a benchmark rate

One benchmark's definition and sources: administrator, day count, publication time.

It does not return fixings; use /observations or /latest for the values. 404 for an unknown benchmark id.

Authentication an API key, where the server requires one
Operation id benchmark_v1_rates_benchmarks__benchmark_id__get

Parameters

In Name Type Required Description
path benchmark_id string yes Benchmark id: 'sofr', 'estr', 'sonia' or 'saron' (see GET /v1/rates/benchmarks).
query dataset_version string or null Pin the response to an archived dataset version (git SHA). Defaults to the current version. Also accepted as the X-Dataset-Version header. The version that answered is in meta.dataset_version; an archived version that does not exist gives 404.

Example request

curl "$DATAVNEXT_URL/v1/rates/benchmarks/sofr" \
  -H "X-API-Key: $DATAVNEXT_KEY"

Responses

Status Meaning Body
200 OK Envelope_Benchmark_
401 Missing or invalid API key. Error
404 Nothing found for the identifier, or the pinned dataset_version is not archived. Error
422 The request is invalid: {"detail": "…"} for a rule the service checks, or FastAPI's {"detail": [{"loc", "msg", "type"}]} for a malformed parameter or body. HTTPValidationError

Example response (shape)

{
  "data": {
    "sources": [
      {
        "authority": null,
        "url": null,
        "reference": null,
        "verified_at": null,
        "kind": null
      }
    ],
    "id": "string",
    "name": "string",
    "currency": "string",
    "administrator": "string",
    "tenor": "string",
    "day_count": "30/360",
    "secured": true,
    "publication": "string",
    "ingest_source": "string",
    "calendar": "string"
  },
  "meta": {
    "dataset_version": "string",
    "as_of": "2026-09-21",
    "known_at": "2026-09-21",
    "sources": [
      {
        "authority": null,
        "url": null,
        "reference": null,
        "verified_at": null,
        "kind": null
      }
    ],
    "notes": [
      "string"
    ]
  }
}

GET /v1/rates/benchmarks/{benchmark_id}/latest

Get the latest fixing of a benchmark

The most recent fixing of a benchmark, optionally as of a date.

data.value is the rate in percent per annum as a decimal string and data.date the day it was published for. meta.as_of repeats the as_of parameter (null when omitted). 404 for an unknown benchmark id or when no fixing is stored on or before the date.

Authentication an API key, where the server requires one
Operation id latest_v1_rates_benchmarks__benchmark_id__latest_get

Parameters

In Name Type Required Description
path benchmark_id string yes Benchmark id: 'sofr', 'estr', 'sonia' or 'saron' (see GET /v1/rates/benchmarks).
query as_of string (date) or null Latest fixing on or before this date (ISO 8601). Defaults to the most recent fixing stored.
query dataset_version string or null Pin the response to an archived dataset version (git SHA). Defaults to the current version. Also accepted as the X-Dataset-Version header. The version that answered is in meta.dataset_version; an archived version that does not exist gives 404.

Example request

curl "$DATAVNEXT_URL/v1/rates/benchmarks/sofr/latest" \
  -H "X-API-Key: $DATAVNEXT_KEY"

Responses

Status Meaning Body
200 OK Envelope_RateObservation_
401 Missing or invalid API key. Error
404 Nothing found for the identifier, or the pinned dataset_version is not archived. Error
422 The request is invalid: {"detail": "…"} for a rule the service checks, or FastAPI's {"detail": [{"loc", "msg", "type"}]} for a malformed parameter or body. HTTPValidationError

Example response (shape)

{
  "data": {
    "benchmark_id": "sofr",
    "date": "2026-09-25",
    "value": "3.9",
    "source": "nyfed"
  },
  "meta": {
    "dataset_version": "3f2a9c1b7d4e",
    "sources": [
      {
        "authority": "Federal Reserve Bank of New York",
        "url": "https://www.newyorkfed.org/markets/reference-rates/sofr",
        "reference": "SOFR reference rate",
        "verified_at": "2026-09-29",
        "kind": "official"
      }
    ],
    "notes": []
  }
}

GET /v1/rates/benchmarks/{benchmark_id}/observations

List the fixings of a benchmark

Daily fixings of a benchmark between two dates.

data has one row per publication day, oldest first: value is the rate in percent per annum as a decimal string (3.87 means 3.87%). Days with no publication (weekends, holidays) have no row. The window is at most about 10 years. 404 for an unknown benchmark id; 422 when start is after end or the range is longer than 10 years (use the bulk exports for more).

Authentication an API key, where the server requires one
Operation id observations_v1_rates_benchmarks__benchmark_id__observations_get

Parameters

In Name Type Required Description
path benchmark_id string yes Benchmark id: 'sofr', 'estr', 'sonia' or 'saron' (see GET /v1/rates/benchmarks).
query start string (date) or null First fixing date to include (ISO 8601, inclusive). Defaults to 30 days before end.
query end string (date) or null Last fixing date to include (ISO 8601, inclusive). Defaults to today.
query dataset_version string or null Pin the response to an archived dataset version (git SHA). Defaults to the current version. Also accepted as the X-Dataset-Version header. The version that answered is in meta.dataset_version; an archived version that does not exist gives 404.

Example request

curl "$DATAVNEXT_URL/v1/rates/benchmarks/sofr/observations" \
  -H "X-API-Key: $DATAVNEXT_KEY"

Responses

Status Meaning Body
200 OK Envelope_list_RateObservation__
401 Missing or invalid API key. Error
404 Nothing found for the identifier, or the pinned dataset_version is not archived. Error
422 The request is invalid: {"detail": "…"} for a rule the service checks, or FastAPI's {"detail": [{"loc", "msg", "type"}]} for a malformed parameter or body. HTTPValidationError

Example response (shape)

{
  "data": [
    {
      "benchmark_id": "sofr",
      "date": "2026-09-21",
      "value": "3.85",
      "source": "nyfed"
    },
    {
      "benchmark_id": "sofr",
      "date": "2026-09-22",
      "value": "3.87",
      "source": "nyfed"
    }
  ],
  "meta": {
    "dataset_version": "3f2a9c1b7d4e",
    "sources": [
      {
        "authority": "Federal Reserve Bank of New York",
        "url": "https://www.newyorkfed.org/markets/reference-rates/sofr",
        "reference": "SOFR reference rate",
        "verified_at": "2026-09-29",
        "kind": "official"
      }
    ],
    "notes": []
  }
}

Schemas

Benchmark

Field Type Required Description
sources array of Source yes Where the rules come from (at least one), e.g. the authority's page. (min items 1)
id string yes Benchmark id used in the URLs, e.g. 'sofr'. (pattern ^[a-z0-9_]+$)
name string yes Official name, e.g. 'Secured Overnight Financing Rate'.
currency string yes ISO 4217 code of the currency the rate is for.
administrator string yes The body that calculates and publishes the rate.
tenor string yes 'ON' for overnight rates.
day_count "30/360" | "ACT/360" | "ACT/365F" | "ACT/ACT" yes Day-count convention for accruing interest at this rate.
secured boolean yes True if the rate is based on secured (collateralised) funding.
publication string yes When and where the fixing is published.
ingest_source string or null Ingest connector id that maintains this series.
calendar string or null Business-day calendar the fixing follows (see /v1/calendars), e.g. 'eu.target2' for €STR.

Envelope_Benchmark_

Field Type Required Description
data Benchmark yes
meta Meta yes

Envelope_RateObservation_

Field Type Required Description
data RateObservation yes
meta Meta yes

Envelope_list_Benchmark__

Field Type Required Description
data array of Benchmark yes
meta Meta yes

Envelope_list_RateObservation__

Field Type Required Description
data array of RateObservation yes
meta Meta yes

RateObservation

Field Type Required Description
benchmark_id string yes The benchmark this fixing belongs to.
date string (date) yes The day the fixing is for (ISO 8601).
value string yes Percent per annum, as a decimal string (3.87 is 3.87%). (pattern ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$)
source string yes Ingest source the value came from, e.g. 'nyfed'.
Stabiso, the Enterprise System of Record · generated from the code and its guides · release 6f03a5e846b3