Capability Spec
apiVersion: capability.naftiko.dev/v1alpha1
kind: Capability
metadata:
name: treasury-reporting
provider: fixer
description: |
Generate a treasury-style daily FX exposure report: pull a window of daily
rates for the reporting period, summarize per-currency fluctuation, and
publish a normalized report ready for downstream accounting systems.
spec:
uses:
- sharedCapability: fixer-shared
operations: [getTimeSeries, getFluctuation, getSymbols]
preconditions:
- description: Caller subscription must include /timeseries (Professional) and /fluctuation (Professional Plus).
workflow:
- step: discoverSymbols
operation: getSymbols
purpose: Materialize the supported symbol set used to validate report inputs.
- step: pullDailyRates
operation: getTimeSeries
parameters:
start_date: "{{ input.start_date }}"
end_date: "{{ input.end_date }}"
base: "{{ input.base | default: 'EUR' }}"
symbols: "{{ input.symbols }}"
- step: summarizeFluctuation
operation: getFluctuation
parameters:
start_date: "{{ input.start_date }}"
end_date: "{{ input.end_date }}"
base: "{{ input.base | default: 'EUR' }}"
symbols: "{{ input.symbols }}"
outputs:
dailyRates: "{{ pullDailyRates.rates }}"
fluctuation: "{{ summarizeFluctuation.rates }}"
reportingWindow:
start: "{{ input.start_date }}"
end: "{{ input.end_date }}"
base: "{{ input.base | default: 'EUR' }}"
governance:
minPlan: "Professional Plus"
httpsRequired: true
cadence: Daily