Frankfurter · Capability

Frankfurter API — historical-rates

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.

Run with Naftiko FrankfurterCurrency ExchangeHistorical-Rates

What You Can Do

GET
Get rates past date — Frankfurter Get Rates for a Past Date
/v1/by-date/{date}
GET
Get rates time period — Frankfurter Get Rates for a Time Period
/v1/time-series/{start-date}/onwards
GET
Get rates time period — Frankfurter Get Rates for a Time Period
/v1/time-series/{start-date}/to/{end-date}

MCP Tools

get-rates-past-date

Frankfurter Get Rates for a Past Date

read-only idempotent
get-rates-time-period

Frankfurter Get Rates for a Time Period

read-only idempotent
get-rates-time-period

Frankfurter Get Rates for a Time Period

read-only idempotent

Capability Spec

v1-historical-rates.yaml Raw ↑
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: $.