Properties
| Name | Type | Description |
|---|---|---|
| result | string | |
| index | string | |
| name | string | |
| methodology_version | string | |
| interval | string | |
| from | string | |
| to | string | |
| base_date | object | |
| weights | object | |
| data | array | |
| next_cursor | object | |
| has_more | boolean | |
| notice | string |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/exchangerate-dev/json-schema/exchangerate-dev-index-timeseries-response-schema.json",
"title": "IndexTimeseriesResponse",
"x-generated": "2026-10-30",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/exchangerate-dev-openapi.json#/components/schemas/IndexTimeseriesResponse",
"properties": {
"result": {
"type": "string",
"title": "Result",
"default": "success"
},
"index": {
"type": "string",
"title": "Index"
},
"name": {
"type": "string",
"title": "Name"
},
"methodology_version": {
"type": "string",
"title": "Methodology Version"
},
"interval": {
"type": "string",
"enum": [
"1m",
"5m",
"15m",
"1h",
"4h",
"1d"
],
"title": "Interval"
},
"from": {
"type": "string",
"title": "From"
},
"to": {
"type": "string",
"title": "To"
},
"base_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Base Date"
},
"weights": {
"additionalProperties": {
"type": "number"
},
"type": "object",
"title": "Weights"
},
"data": {
"items": {
"$ref": "#/$defs/IndexTimeseriesRow"
},
"type": "array",
"title": "Data"
},
"next_cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Cursor"
},
"has_more": {
"type": "boolean",
"title": "Has More",
"default": false
},
"notice": {
"type": "string",
"title": "Notice"
}
},
"type": "object",
"required": [
"index",
"name",
"methodology_version",
"interval",
"from",
"to",
"base_date",
"weights",
"data",
"notice"
],
"$defs": {
"IndexTimeseriesRow": {
"properties": {
"timestamp": {
"type": "string",
"title": "Timestamp"
},
"value": {
"type": "number",
"title": "Value"
},
"data_updated_at": {
"type": "string",
"title": "Data Updated At"
},
"source": {
"$ref": "#/$defs/Source"
},
"source_type": {
"type": "string",
"enum": [
"market",
"reference"
],
"title": "Source Type"
},
"market_session": {
"$ref": "#/$defs/MarketSession"
}
},
"type": "object",
"required": [
"timestamp",
"value",
"data_updated_at",
"source",
"source_type",
"market_session"
],
"title": "IndexTimeseriesRow"
},
"MarketSession": {
"type": "string",
"enum": [
"open",
"weekend",
"interbank_closed"
],
"title": "MarketSession",
"description": "Computed from a clock, no feed (D9). `interbank_closed` = a known non-weekend closure\n(e.g. an ECB/TARGET2 holiday detected via an empty Tier-C response — INGESTION §4)."
},
"Source": {
"type": "string",
"enum": [
"live",
"ecb_daily",
"market_daily"
],
"title": "Source",
"description": "Public `source` enum — wire contract (D2). NO `cached` value (cache lives in X-Cache).\n\n`ecb_daily` is the only reference source (October 2026).\n`market_daily` labels the stored daily close of the live market feed, for the currencies with\nno reference fix, in date history and 1d time series; it is never a live rate."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/exchangerate-dev-index-timeseries-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.