{"openapi":"3.0.3","info":{"title":"FastForex Exchange Rate & Financial Data API","version":"2.0.0","description":"Real-time JSON API for 160+ world currencies, 500+ cryptocurrencies, 2,300+ FX pairs, and precious metals. Powered by Fiotech high-performance low-latency cloud infrastructure.","contact":{"name":"Fiotech / FastForex Support","url":"https://www.fiotech.org","email":"support@fastforex.io"},"license":{"name":"Commercial API License","url":"https://fastforex.fiotech.org/terms-and-conditions"}},"servers":[{"url":"/","description":"Current Host Server"},{"url":"https://fastforex.fiotech.org","description":"Fiotech FastForex Production API"}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"query","name":"api_key","description":"API Key passed as query parameter 'api_key'"},"HeaderAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"API Key passed in 'X-API-Key' HTTP header"}},"schemas":{"ConversionResult":{"type":"object","properties":{"base":{"type":"string","example":"USD"},"amount":{"type":"number","example":100},"result":{"type":"object","properties":{"EUR":{"type":"number","example":92.3},"rate":{"type":"number","example":0.923}}},"ms":{"type":"integer","example":2},"updated":{"type":"string","example":"2026-09-19 08:45:00 UTC"}}},"FetchAllResult":{"type":"object","properties":{"base":{"type":"string","example":"USD"},"results":{"type":"object","additionalProperties":{"type":"number"},"example":{"EUR":0.923,"GBP":0.789,"JPY":154.6,"CAD":1.394}},"updated":{"type":"string","example":"2026-09-19 08:45:00 UTC"},"ms":{"type":"integer","example":3}}},"FetchOneResult":{"type":"object","properties":{"base":{"type":"string","example":"USD"},"result":{"type":"object","additionalProperties":{"type":"number"},"example":{"EUR":0.923}},"updated":{"type":"string","example":"2026-09-19 08:45:00 UTC"},"ms":{"type":"integer","example":2}}},"CurrenciesMap":{"type":"object","properties":{"currencies":{"type":"object","additionalProperties":{"type":"string"},"example":{"USD":"United States Dollar","EUR":"Euro","JPY":"Japanese Yen"}},"ms":{"type":"integer","example":1}}},"UsageResponse":{"type":"object","properties":{"usage":{"type":"integer","example":1420},"quota":{"type":"integer","example":1000000},"plan":{"type":"string","example":"one"},"remaining":{"type":"integer","example":998580}}}}},"security":[{"ApiKeyAuth":[]},{"HeaderAuth":[]}],"paths":{"/fetch-all":{"get":{"summary":"Fetch All Exchange Rates","description":"Returns all real-time exchange rates for a given base currency.","parameters":[{"name":"from","in":"query","required":false,"schema":{"type":"string","default":"USD"},"description":"Base currency 3-letter code (default USD)"},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","default":"demo"},"description":"API Key"}],"responses":{"200":{"description":"Successful rate response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FetchAllResult"}}}}}}},"/fetch-one":{"get":{"summary":"Fetch Single Exchange Rate","description":"Returns the exchange rate between a base currency and a target currency.","parameters":[{"name":"from","in":"query","required":false,"schema":{"type":"string","default":"USD"}},{"name":"to","in":"query","required":true,"schema":{"type":"string","default":"EUR"}},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","default":"demo"}}],"responses":{"200":{"description":"Successful rate response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FetchOneResult"}}}}}}},"/fetch-multi":{"get":{"summary":"Fetch Multiple Target Rates","description":"Returns rates for multiple target currencies comma-separated.","parameters":[{"name":"from","in":"query","required":false,"schema":{"type":"string","default":"USD"}},{"name":"to","in":"query","required":true,"schema":{"type":"string","default":"EUR,GBP,JPY,CAD"}},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","default":"demo"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FetchAllResult"}}}}}}},"/convert":{"get":{"summary":"Convert Currency Amount","description":"Converts a specified amount from one currency to another.","parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string","default":"USD"}},{"name":"to","in":"query","required":true,"schema":{"type":"string","default":"EUR"}},{"name":"amount","in":"query","required":false,"schema":{"type":"number","default":100}},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","default":"demo"}}],"responses":{"200":{"description":"Conversion success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversionResult"}}}}}}},"/historical":{"get":{"summary":"Historical Exchange Rates","description":"Returns historical rates for a specific past date.","parameters":[{"name":"date","in":"query","required":true,"schema":{"type":"string","default":"2024-01-15"},"description":"Date in YYYY-MM-DD format"},{"name":"from","in":"query","required":false,"schema":{"type":"string","default":"USD"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","default":"EUR,GBP,JPY"}},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","default":"demo"}}],"responses":{"200":{"description":"Historical data"}}}},"/time-series":{"get":{"summary":"Time-Series Rates","description":"Returns daily exchange rates across a range of dates.","parameters":[{"name":"from","in":"query","required":false,"schema":{"type":"string","default":"USD"}},{"name":"to","in":"query","required":true,"schema":{"type":"string","default":"EUR"}},{"name":"start","in":"query","required":false,"schema":{"type":"string","default":"2024-01-01"}},{"name":"end","in":"query","required":false,"schema":{"type":"string","default":"2024-01-10"}}],"responses":{"200":{"description":"Time-series data array"}}}},"/currencies":{"get":{"summary":"Supported Currencies List","description":"Returns a complete dictionary of all supported physical currencies and their full names.","parameters":[{"name":"api_key","in":"query","required":false,"schema":{"type":"string","default":"demo"}}],"responses":{"200":{"description":"Currencies map","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurrenciesMap"}}}}}}},"/crypto/fetch-prices":{"get":{"summary":"Crypto Real-Time Prices","description":"Returns real-time prices for top cryptocurrency pairs.","parameters":[{"name":"pairs","in":"query","required":false,"schema":{"type":"string","default":"BTC/USD,ETH/USD,SOL/USD"}}],"responses":{"200":{"description":"Crypto prices"}}}},"/metals/spot":{"get":{"summary":"Precious Metals Spot Prices","description":"Returns spot prices for Gold (XAU), Silver (XAG), Platinum (XPT), and Palladium (XPD).","parameters":[{"name":"metal","in":"query","required":false,"schema":{"type":"string","default":"XAU"}},{"name":"curr","in":"query","required":false,"schema":{"type":"string","default":"USD"}}],"responses":{"200":{"description":"Spot metal price"}}}},"/usage":{"get":{"summary":"API Key Usage Statistics","description":"Returns monthly quota, current usage count, and active plan for the authenticated key.","parameters":[{"name":"api_key","in":"query","required":true,"schema":{"type":"string","default":"demo"}}],"responses":{"200":{"description":"Usage statistics","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageResponse"}}}}}}},"/api/admin/stats":{"get":{"tags":["Admin Management"],"summary":"Admin Dashboard Metrics (Template 4)","description":"Returns high-level throughput, active key counters, cache hit ratio, and endpoint distribution per api-contract.MD Template 4.","responses":{"200":{"description":"Admin stats successfully retrieved"}}}},"/api/admin/keys":{"get":{"tags":["Admin Management"],"summary":"Get Paginated API Keys (Template 2)","description":"Returns paginated list of client API keys with metadata per api-contract.MD Template 2.","parameters":[{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","default":10}},{"name":"search","in":"query","schema":{"type":"string"}},{"name":"status","in":"query","schema":{"type":"string","enum":["ACTIVE","INACTIVE"]}},{"name":"sortBy","in":"query","schema":{"type":"string","default":"createdAt"}},{"name":"sortDirection","in":"query","schema":{"type":"string","enum":["ASC","DESC"],"default":"DESC"}}],"responses":{"200":{"description":"Paginated list of API keys"}}},"post":{"tags":["Admin Management"],"summary":"Create New API Key","description":"Generates a new API key record with specified plan and quota.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","plan"],"properties":{"name":{"type":"string","example":"Binance Settlement Engine"},"plan":{"type":"string","enum":["one","extra","premium","enterprise"],"example":"premium"}}}}}},"responses":{"201":{"description":"API key created successfully"}}}},"/api/admin/rates":{"get":{"tags":["Admin Management"],"summary":"Get Paginated Currency Rates (Template 2)","description":"Returns paginated list of 160+ fiat currencies with live rates and status.","parameters":[{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","default":20}},{"name":"search","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Paginated currency rates list"}}}}}}