openapi: 3.0.3 info: title: Fixer Conversion Fluctuation API description: 'Fixer is a lightweight JSON API for real-time and historical foreign exchange rates and currency conversion. Sourced primarily from the European Central Bank and 15+ other exchange rate data providers, Fixer supports 170+ world currencies. The API is delivered via the APILayer marketplace. All requests authenticate via an `apikey` HTTP header. The free tier is limited to 100 requests per month and is HTTP-only; HTTPS encryption and source-currency switching become available on the Basic plan and above. ' version: 1.0.0 contact: name: Fixer Support url: https://fixer.io/contact license: name: Commercial url: https://fixer.io/terms termsOfService: https://fixer.io/terms x-provider: fixer x-parent: apilayer servers: - url: https://api.apilayer.com/fixer description: APILayer-hosted production endpoint (current) - url: http://data.fixer.io/api description: Legacy data.fixer.io endpoint (HTTP, free tier) - url: https://data.fixer.io/api description: Legacy data.fixer.io endpoint (HTTPS, paid tiers) security: - ApiKeyAuth: [] tags: - name: Fluctuation description: Currency fluctuation analysis between two dates. paths: /fluctuation: get: operationId: getFluctuation summary: Get Fluctuation Data description: 'Returns fluctuation data (start rate, end rate, change, change_pct) between two dates for any supported currency pair. Available on Professional Plus and above. ' tags: - Fluctuation parameters: - name: start_date in: query required: true description: Start date for the fluctuation window (YYYY-MM-DD). schema: type: string format: date example: '2018-02-25' - name: end_date in: query required: true description: End date for the fluctuation window (YYYY-MM-DD). schema: type: string format: date example: '2018-02-26' - $ref: '#/components/parameters/Base' - $ref: '#/components/parameters/Symbols' responses: '200': description: Per-currency fluctuation summary for the requested window. content: application/json: schema: $ref: '#/components/schemas/FluctuationResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/RateLimited' components: responses: RateLimited: description: Monthly request quota exhausted or per-minute rate limit hit. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Missing or invalid `apikey` header. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Forbidden: description: The requested feature is not included in the current subscription plan. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: FluctuationEntry: type: object properties: start_rate: type: number end_rate: type: number change: type: number change_pct: type: number FluctuationResponse: type: object required: - success - fluctuation - start_date - end_date - base - rates properties: success: type: boolean example: true fluctuation: type: boolean example: true start_date: type: string format: date example: '2018-02-25' end_date: type: string format: date example: '2018-02-26' base: type: string example: EUR rates: type: object additionalProperties: $ref: '#/components/schemas/FluctuationEntry' example: USD: start_rate: 1.228952 end_rate: 1.232735 change: 0.0038 change_pct: 0.3078 JPY: start_rate: 131.587611 end_rate: 131.651142 change: 0.0635 change_pct: 0.0483 ErrorResponse: type: object required: - success - error properties: success: type: boolean example: false error: type: object properties: code: type: integer example: 104 type: type: string example: monthly_limit_reached info: type: string example: Your monthly API request volume has been reached. Please upgrade your plan. parameters: Symbols: name: symbols in: query required: false description: Comma-separated list of ISO 4217 currency codes to limit the result set. schema: type: string example: USD,AUD,CAD,PLN,MXN Base: name: base in: query required: false description: 'Three-letter ISO 4217 base currency code. Defaults to EUR on the Free plan; any base currency may be selected on Basic plan and above. ' schema: type: string example: USD securitySchemes: ApiKeyAuth: type: apiKey in: header name: apikey description: APILayer API key provisioned at https://apilayer.com/marketplace/fixer-api.