naftiko: 1.0.0-alpha2 info: label: Abstract API - Exchange Rates API — Exchange Rates description: 'Abstract API - Exchange Rates API — Exchange Rates. 3 operations. Lead operation: Abstract API Convert Currency. Self-contained Naftiko capability covering one Abstract Api business surface.' tags: - Abstract Api - Exchange Rates created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ABSTRACT_API_API_KEY: ABSTRACT_API_API_KEY capability: consumes: - type: http namespace: exchange-rates-exchange-rates baseUri: https://exchange-rates.abstractapi.com/v1 description: Abstract API - Exchange Rates API — Exchange Rates business capability. Self-contained, no shared references. resources: - name: convert path: /convert operations: - name: convertcurrency method: GET description: Abstract API Convert Currency outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: api_key in: query type: string description: Your unique API key. required: true - name: base in: query type: string description: Source currency ISO 4217 code. required: true - name: target in: query type: string description: Target currency ISO 4217 code. required: true - name: base_amount in: query type: number description: Amount to convert. required: true - name: historical path: /historical operations: - name: gethistoricalexchangerates method: GET description: Abstract API Get Historical Exchange Rates outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: api_key in: query type: string description: Your unique API key. required: true - name: base in: query type: string description: Base currency ISO 4217 code. required: true - name: target in: query type: string description: Target currency or comma-separated list. - name: date in: query type: string description: Date for historical rates in YYYY-MM-DD format. required: true - name: live path: /live operations: - name: getliveexchangerates method: GET description: Abstract API Get Live Exchange Rates outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: api_key in: query type: string description: Your unique API key for the Exchange Rates API. required: true - name: base in: query type: string description: Base currency ISO 4217 code. required: true - name: target in: query type: string description: Target currency or comma-separated list of currencies. Returns all if omitted. authentication: type: apikey key: api_key value: '{{env.ABSTRACT_API_API_KEY}}' placement: query exposes: - type: rest namespace: exchange-rates-exchange-rates-rest port: 8080 description: REST adapter for Abstract API - Exchange Rates API — Exchange Rates. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/convert name: convert description: REST surface for convert. operations: - method: GET name: convertcurrency description: Abstract API Convert Currency call: exchange-rates-exchange-rates.convertcurrency with: api_key: rest.api_key base: rest.base target: rest.target base_amount: rest.base_amount outputParameters: - type: object mapping: $. - path: /v1/historical name: historical description: REST surface for historical. operations: - method: GET name: gethistoricalexchangerates description: Abstract API Get Historical Exchange Rates call: exchange-rates-exchange-rates.gethistoricalexchangerates with: api_key: rest.api_key base: rest.base target: rest.target date: rest.date outputParameters: - type: object mapping: $. - path: /v1/live name: live description: REST surface for live. operations: - method: GET name: getliveexchangerates description: Abstract API Get Live Exchange Rates call: exchange-rates-exchange-rates.getliveexchangerates with: api_key: rest.api_key base: rest.base target: rest.target outputParameters: - type: object mapping: $. - type: mcp namespace: exchange-rates-exchange-rates-mcp port: 9090 transport: http description: MCP adapter for Abstract API - Exchange Rates API — Exchange Rates. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: abstract-api-convert-currency description: Abstract API Convert Currency hints: readOnly: true destructive: false idempotent: true call: exchange-rates-exchange-rates.convertcurrency with: api_key: tools.api_key base: tools.base target: tools.target base_amount: tools.base_amount outputParameters: - type: object mapping: $. - name: abstract-api-get-historical-exchange description: Abstract API Get Historical Exchange Rates hints: readOnly: true destructive: false idempotent: true call: exchange-rates-exchange-rates.gethistoricalexchangerates with: api_key: tools.api_key base: tools.base target: tools.target date: tools.date outputParameters: - type: object mapping: $. - name: abstract-api-get-live-exchange description: Abstract API Get Live Exchange Rates hints: readOnly: true destructive: false idempotent: true call: exchange-rates-exchange-rates.getliveexchangerates with: api_key: tools.api_key base: tools.base target: tools.target outputParameters: - type: object mapping: $.