Properties
| Name | Type | Description |
|---|---|---|
| result | string | |
| base | string | |
| date | string | |
| source | object | |
| sources | object | |
| market_session | object | |
| timestamp | string | |
| data_updated_at | string | |
| is_forward_filled | boolean | |
| rates | object | |
| derived_symbols | array | |
| notice | string |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/exchangerate-dev/json-schema/exchangerate-dev-historical-response-schema.json",
"title": "HistoricalResponse",
"x-generated": "2026-10-30",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/exchangerate-dev-openapi.json#/components/schemas/HistoricalResponse",
"properties": {
"result": {
"type": "string",
"title": "Result",
"default": "success"
},
"base": {
"type": "string",
"title": "Base"
},
"date": {
"type": "string",
"title": "Date"
},
"source": {
"$ref": "#/$defs/Source"
},
"sources": {
"additionalProperties": {
"$ref": "#/$defs/Source"
},
"type": "object",
"title": "Sources"
},
"market_session": {
"$ref": "#/$defs/MarketSession"
},
"timestamp": {
"type": "string",
"title": "Timestamp"
},
"data_updated_at": {
"type": "string",
"title": "Data Updated At"
},
"is_forward_filled": {
"type": "boolean",
"title": "Is Forward Filled"
},
"rates": {
"additionalProperties": {
"type": "number"
},
"type": "object",
"title": "Rates"
},
"derived_symbols": {
"items": {
"type": "string"
},
"type": "array",
"title": "Derived Symbols"
},
"notice": {
"type": "string",
"title": "Notice"
}
},
"type": "object",
"required": [
"base",
"date",
"source",
"sources",
"market_session",
"timestamp",
"data_updated_at",
"is_forward_filled",
"rates",
"derived_symbols",
"notice"
],
"$defs": {
"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-historical-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.