naftiko: 1.0.0-alpha2 info: label: Frankfurter API — historical-rates description: 'Frankfurter API — historical-rates. 3 operation(s). Lead operation: Frankfurter Get Rates for a Past Date. Self-contained Naftiko capability covering one Frankfurter business surface.' tags: - Frankfurter - Currency Exchange - Historical-Rates created: '2026-05-29' modified: '2026-05-29' binds: [] capability: consumes: - type: http namespace: v1-historical-rates baseUri: https://api.frankfurter.dev/v1 description: Frankfurter API — historical-rates business capability. Self-contained, no shared references. Public, no authentication required. resources: - name: date path: /{date} operations: - name: get-rates-past-date method: GET description: Frankfurter Get Rates for a Past Date inputParameters: - name: date in: path type: string required: true description: The date for the historical rates - name: base in: query type: string required: false description: Base currency to convert from - name: symbols in: query type: array required: false description: Comma-separated list of currencies to convert to outputRawFormat: json outputParameters: - name: result type: object value: $. - name: start-date path: /{start_date}.. operations: - name: get-rates-time-period method: GET description: Frankfurter Get Rates for a Time Period inputParameters: - name: start_date in: path type: string required: true description: The start date for the period - name: base in: query type: string required: false description: Base currency to convert from - name: symbols in: query type: array required: false description: Comma-separated list of currencies to convert to outputRawFormat: json outputParameters: - name: result type: object value: $. - name: start-date-end-date path: /{start_date}..{end_date} operations: - name: get-rates-time-period method: GET description: Frankfurter Get Rates for a Time Period inputParameters: - name: start_date in: path type: string required: true description: The start date for the period - name: end_date in: path type: string required: true description: The end date for the period - name: base in: query type: string required: false description: Base currency to convert from - name: symbols in: query type: array required: false description: Comma-separated list of currencies to convert to outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: v1-historical-rates-rest port: 8080 description: REST adapter for Frankfurter API — historical-rates. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/by-date/{date} name: v1-by-date-date description: REST surface for Frankfurter Get Rates for a Past Date. operations: - method: GET name: get-rates-past-date description: Frankfurter Get Rates for a Past Date call: v1-historical-rates.get-rates-past-date with: date: rest.date base: rest.base symbols: rest.symbols outputParameters: - type: object mapping: $. - path: /v1/time-series/{start-date}/onwards name: v1-time-series-start-date-onwards description: REST surface for Frankfurter Get Rates for a Time Period. operations: - method: GET name: get-rates-time-period description: Frankfurter Get Rates for a Time Period call: v1-historical-rates.get-rates-time-period with: start_date: rest.start_date base: rest.base symbols: rest.symbols outputParameters: - type: object mapping: $. - path: /v1/time-series/{start-date}/to/{end-date} name: v1-time-series-start-date-to-end-date description: REST surface for Frankfurter Get Rates for a Time Period. operations: - method: GET name: get-rates-time-period description: Frankfurter Get Rates for a Time Period call: v1-historical-rates.get-rates-time-period with: start_date: rest.start_date end_date: rest.end_date base: rest.base symbols: rest.symbols outputParameters: - type: object mapping: $. - type: mcp namespace: v1-historical-rates-mcp port: 9090 transport: http description: MCP adapter for Frankfurter API — historical-rates. One verb-noun tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-rates-past-date description: Frankfurter Get Rates for a Past Date hints: readOnly: true destructive: false idempotent: true call: v1-historical-rates.get-rates-past-date with: date: tools.date base: tools.base symbols: tools.symbols outputParameters: - type: object mapping: $. - name: get-rates-time-period description: Frankfurter Get Rates for a Time Period hints: readOnly: true destructive: false idempotent: true call: v1-historical-rates.get-rates-time-period with: start_date: tools.start_date base: tools.base symbols: tools.symbols outputParameters: - type: object mapping: $. - name: get-rates-time-period description: Frankfurter Get Rates for a Time Period hints: readOnly: true destructive: false idempotent: true call: v1-historical-rates.get-rates-time-period with: start_date: tools.start_date end_date: tools.end_date base: tools.base symbols: tools.symbols outputParameters: - type: object mapping: $.