{"openapi":"3.0.3","info":{"title":"Gnist Context — ECB Statistics","description":"ECB Statistical Data Warehouse — 150+ datasets covering monetary policy, interest rates, inflation, bank lending, exchange rates, and financial markets for the euro area.\n\n- **MCP endpoint:** `https://context.gnist.ai/mcp/ecb-stats/`\n- **Toolkit page:** `/toolkits/ecb-stats`\n- **Full API spec:** `/api/openapi.json`\n- **Get an API key:** `/signup`","version":"1.0.0","contact":{"name":"GnistAI","url":"https://gnist.ai"}},"servers":[{"url":"https://context.gnist.ai","description":"Production"}],"paths":{"/rest/ecb-stats/search_datasets":{"post":{"tags":["Finance"],"summary":"search_datasets","description":"Search the ECB dataset catalog by keyword.\n\nReturns matching datasets with their dataflow IDs needed for\nget_data, get_dataset_structure, and compare_series calls.\nECB covers monetary policy, interest rates, inflation, bank lending,\nexchange rates, financial markets, and balance of payments for the\neuro area and EU member states.\n\nArgs:\n    query: Search term (e.g. \"interest rate\", \"inflation\", \"lending\").\n    limit: Number of results to return (1-50, default 20).\n\nReturns:\n    List of matching datasets with id, name, agency, and description.\n    Use the 'id' field as the dataflow parameter in other tools.","operationId":"ecb_stats_search_datasets","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"query":{"description":"Search term for ECB datasets (e.g. \"interest rate\", \"inflation\", \"bank lending\", \"money supply\", \"exchange\").","type":"string"},"limit":{"default":20,"description":"Number of results to return (1-50, default 20).","type":"integer"}},"required":["query"],"type":"object"}}}}}},"/rest/ecb-stats/list_datasets":{"post":{"tags":["Finance"],"summary":"list_datasets","description":"List available ECB datasets, optionally filtered by topic.\n\nBrowse the full ECB data catalog (150+ dataflows). Use this to\ndiscover what datasets exist before querying specific data.\n\nArgs:\n    topic: Optional topic filter keyword. Omit to list all datasets.\n    limit: Maximum datasets to return (1-200, default 50).\n\nReturns:\n    List of datasets with id, name, and description.","operationId":"ecb_stats_list_datasets","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"topic":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional topic filter (e.g. \"monetary\", \"exchange\", \"lending\", \"balance\"). Omit to list all."},"limit":{"default":50,"description":"Maximum datasets to return (1-200, default 50).","type":"integer"}},"type":"object"}}}}}},"/rest/ecb-stats/get_dataset_structure":{"post":{"tags":["Finance"],"summary":"get_dataset_structure","description":"Get the dimension structure of an ECB dataset.\n\nShows what dimensions (filters) are available for a dataset and their\nvalid values. Use this before get_data to understand what currencies,\nfrequencies, and other parameters are accepted.\n\nArgs:\n    dataflow: ECB dataflow identifier from search_datasets.\n\nReturns:\n    List of dimensions with their valid codes/values. Each dimension\n    shows its position in the SDMX key and sample values.","operationId":"ecb_stats_get_dataset_structure","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"dataflow":{"description":"ECB dataflow identifier from search_datasets (e.g. \"EXR\", \"IRS\", \"ICP\", \"BLS\", \"FM\").","type":"string"}},"required":["dataflow"],"type":"object"}}}}}},"/rest/ecb-stats/get_data":{"post":{"tags":["Finance"],"summary":"get_data","description":"Fetch data from an ECB dataset.\n\nQuery any ECB dataset using SDMX key filters. Covers exchange rates,\ninterest rates, inflation, money supply, bank lending, and 150+ more\ndata series for the euro area and EU member states.\n\nArgs:\n    dataflow: ECB dataflow identifier. Use search_datasets to find IDs.\n    key_filter: SDMX key filter. Use get_dataset_structure for valid values.\n    start_period: Start period filter (e.g. \"2015\").\n    end_period: End period filter (e.g. \"2023\").\n    limit: Maximum observations to return (1-1000, default 200).\n\nReturns:\n    Observations with all dimension labels and values.","operationId":"ecb_stats_get_data","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"dataflow":{"description":"ECB dataflow identifier (e.g. \"EXR\", \"IRS\", \"ICP\"). Use search_datasets to find IDs.","type":"string"},"key_filter":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"SDMX key filter (e.g. \"M.USD.EUR.SP00.A\" for monthly USD/EUR spot rate). Dot-separated dimension values. Use get_dataset_structure to find valid values. Omit for all data."},"start_period":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Start period (e.g. \"2015\", \"2020-Q1\", \"2020-01\")."},"end_period":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"End period (e.g. \"2023\", \"2023-Q4\", \"2023-12\")."},"limit":{"default":200,"description":"Maximum observations to return (1-1000, default 200).","type":"integer"}},"required":["dataflow"],"type":"object"}}}}}},"/rest/ecb-stats/compare_series":{"post":{"tags":["Finance"],"summary":"compare_series","description":"Compare multiple data series from the same ECB dataset.\n\nFetches multiple series side by side for comparison. Useful for\ncomparing exchange rates, interest rates across countries, or\ndifferent inflation measures.\n\nArgs:\n    dataflow: ECB dataflow identifier.\n    keys: SDMX key filters to compare. Maximum 10.\n    start_period: Start period. Omit for most recent data.\n    end_period: End period. Omit for most recent data.\n\nReturns:\n    Data grouped by series key for easy comparison.","operationId":"ecb_stats_compare_series","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"dataflow":{"description":"ECB dataflow identifier (e.g. \"EXR\", \"IRS\").","type":"string"},"keys":{"description":"SDMX key filters to compare (e.g. [\"M.USD.EUR.SP00.A\", \"M.GBP.EUR.SP00.A\"]). Maximum 10.","items":{"type":"string"},"type":"array"},"start_period":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Start period (e.g. \"2020\"). Omit for most recent data."},"end_period":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"End period (e.g. \"2023\"). Omit for most recent data."}},"required":["dataflow","keys"],"type":"object"}}}}}},"/rest/ecb-stats/report_feedback":{"post":{"tags":["Finance"],"summary":"report_feedback","description":"Report a bug, feature request, or general feedback for this data source.\n\nUse this when something doesn't work as expected, when you'd like\na new feature, or when you have suggestions for improvement.\n\nArgs:\n    feedback: Describe the issue or suggestion.\n    feedback_type: One of 'bug', 'feature_request', or 'general'.","operationId":"ecb_stats_report_feedback","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"feedback":{"type":"string"},"feedback_type":{"default":"general","type":"string"}},"required":["feedback"],"type":"object"}}}}}}},"tags":[{"name":"Finance","description":"Data sources: Finance"}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"gnist-api-key","description":"API key passed via request header."},"ApiKeyQuery":{"type":"apiKey","in":"query","name":"gnist_api_key","description":"API key passed via query parameter."}}}}