BIS · Schema

BIS Stats API Schema

JSON Schema definitions for the BIS SDMX RESTful API v1.4.0 parameters and response structures.

Financial StatisticsBanking DataDerivativesExchange RatesCentral BankSDMXOpen DataInternational Finance
View JSON Schema on GitHub

JSON Schema

bis-stats-api.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/bis/main/json-schema/bis-stats-api.json",
  "title": "BIS Stats API Schema",
  "description": "JSON Schema definitions for the BIS SDMX RESTful API v1.4.0 parameters and response structures.",
  "definitions": {
    "flow": {
      "type": "string",
      "description": "The statistical domain (aka dataflow) of the data to be returned. Examples: WS_EER, BIS,WS_EER, BIS,WS_EER,1.0",
      "pattern": "^([a-zA-Z][a-zA-Z\\d_-]*(\\.[a-zA-Z][a-zA-Z\\d_-]*)*,)?[a-zA-Z\\d_@$-]+(,(latest|(\\d+(\\.\\d+)*))?$"
    },
    "key": {
      "type": "string",
      "description": "The (possibly partial) key identifying the data to be returned. Use 'all' for all data, or dimension values separated by dots.",
      "pattern": "^([\\./A-Za-z\\d_@$-]+(\\+[A-Za-z\\d_@$-]+)*)*$"
    },
    "agencyID": {
      "type": "string",
      "description": "The agency maintaining the artefact.",
      "pattern": "^[A-Za-z][A-Za-z\\d_-]*(\\.[A-Za-z][A-Za-z\\d_-]*)*$"
    },
    "resourceID": {
      "type": "string",
      "description": "The id of the artefact.",
      "pattern": "^[A-Za-z\\d_@$-]+$"
    },
    "version": {
      "type": "string",
      "description": "The version of the artefact. Use 'latest' for the most recent production version.",
      "pattern": "^(latest|[\\d]+(\\.[ \\d]+)*)$"
    },
    "startPeriod": {
      "type": "string",
      "description": "The start of the period for which results should be supplied (inclusive). ISO 8601 dates or SDMX reporting periods.",
      "pattern": "^\\d{4}-?((\\d{2}(-\\d{2})?)|A1|S[1|2]|Q[1-4]|T[1-3]|M(0[1-9]|1[0-2])|W(0[1-9]|[1-4][0-9]|5[0-3])|D(0[0-9][1-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-6]))?$"
    },
    "endPeriod": {
      "type": "string",
      "description": "The end of the period for which results should be supplied (inclusive). ISO 8601 dates or SDMX reporting periods.",
      "pattern": "^\\d{4}-?((\\d{2}(-\\d{2})?)|A1|S[1|2]|Q[1-4]|T[1-3]|M(0[1-9]|1[0-2])|W(0[1-9]|[1-4][0-9]|5[0-3])|D(0[0-9][1-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-6]))?$"
    },
    "firstNObservations": {
      "type": "integer",
      "description": "The maximum number of observations to be returned starting from the oldest one.",
      "minimum": 1
    },
    "lastNObservations": {
      "type": "integer",
      "description": "The maximum number of observations to be returned starting from the most recent one.",
      "minimum": 1
    },
    "dataDetail": {
      "type": "string",
      "description": "The amount of information to be returned for data queries.",
      "enum": ["full", "dataonly", "serieskeysonly", "nodata"],
      "default": "full"
    },
    "structDetail": {
      "type": "string",
      "description": "The amount of information to be returned for structure queries.",
      "enum": ["allstubs", "referencestubs", "referencepartial", "allcompletestubs", "referencecompletestubs", "full"],
      "default": "full"
    },
    "references": {
      "type": "string",
      "description": "Instructs the web service to return (or not) the artefacts referenced by the artefact to be returned.",
      "enum": ["none", "parents", "parentsandsiblings", "children", "descendants", "all", "datastructure", "categoryscheme", "conceptscheme", "codelist", "hierarchicalcodelist", "agencyscheme", "dataflow", "provisionagreement", "categorisation", "contentconstraint", "actualconstraint", "allowedconstraint"],
      "default": "none"
    },
    "mode": {
      "type": "string",
      "description": "Instructs the web service to return exact or available data constraint.",
      "enum": ["exact", "available"],
      "default": "exact"
    },
    "acreferences": {
      "type": "string",
      "description": "Instructs the web service to return (or not) the artefacts referenced by the ContentConstraint.",
      "enum": ["none", "all", "datastructure", "conceptscheme", "codelist", "dataproviderscheme", "dataflow"],
      "default": "none"
    },
    "acceptEncoding": {
      "type": "string",
      "description": "Specifies whether the response should be compressed and how.",
      "enum": ["br", "compress", "deflate", "exi", "gzip", "identity", "pack200-gzip", "zstd"],
      "default": "identity"
    },
    "dataQueryParams": {
      "type": "object",
      "description": "Query parameters for data retrieval endpoints.",
      "properties": {
        "startPeriod": { "$ref": "#/definitions/startPeriod" },
        "endPeriod": { "$ref": "#/definitions/endPeriod" },
        "firstNObservations": { "$ref": "#/definitions/firstNObservations" },
        "lastNObservations": { "$ref": "#/definitions/lastNObservations" },
        "detail": { "$ref": "#/definitions/dataDetail" }
      }
    },
    "structureQueryParams": {
      "type": "object",
      "description": "Query parameters for structure retrieval endpoints.",
      "properties": {
        "references": { "$ref": "#/definitions/references" },
        "detail": { "$ref": "#/definitions/structDetail" }
      }
    }
  }
}