@apifreaks/openapi-specs 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/index.cjs +133 -2
  2. package/dist/index.d.cts +140 -3
  3. package/dist/index.d.ts +140 -3
  4. package/dist/index.js +131 -2
  5. package/dist/specs/commodity/commodity-fluctuation.yaml +225 -0
  6. package/dist/specs/commodity/commodity-prices.yaml +236 -0
  7. package/dist/specs/commodity/commodity-symbols.yaml +159 -0
  8. package/dist/specs/commodity/commodity-time-series.yaml +238 -0
  9. package/dist/specs/commodity/historical-commodity-prices.yaml +208 -0
  10. package/dist/specs/currency/currency-converter.yaml +193 -0
  11. package/dist/specs/currency/currency-fluctuation.yaml +211 -0
  12. package/dist/specs/currency/currency-historical-data-limit.yaml +112 -0
  13. package/dist/specs/currency/currency-rate.yaml +173 -0
  14. package/dist/specs/currency/currency-supported.yaml +176 -0
  15. package/dist/specs/currency/currency-symbols.yaml +115 -0
  16. package/dist/specs/currency/currency-time-series.yaml +232 -0
  17. package/dist/specs/currency/geolocalized-currency-conversion.yaml +214 -0
  18. package/dist/specs/currency/historical-currency-converter.yaml +195 -0
  19. package/dist/specs/currency/historical-currency-rate.yaml +180 -0
  20. package/dist/specs/dns/bulk-dns-lookup.yaml +484 -0
  21. package/dist/specs/dns/dns-history-lookup.yaml +451 -0
  22. package/dist/specs/dns/dns-lookup.yaml +360 -0
  23. package/dist/specs/dns/reverse-dns-lookup.yaml +338 -0
  24. package/dist/specs/domain/bulk-domain-checker.yaml +198 -0
  25. package/dist/specs/domain/domain-search-with-suggestions.yaml +196 -0
  26. package/dist/specs/domain/domain-search.yaml +149 -0
  27. package/dist/specs/domain/subdomain-lookup.yaml +251 -0
  28. package/dist/specs/email-validation/bulk-email-validation.yaml +403 -0
  29. package/dist/specs/email-validation/email-checker.yaml +451 -0
  30. package/dist/specs/financial/bulk-vat-rates-country.yaml +250 -0
  31. package/dist/specs/financial/financial-apis-supported-countries.yaml +152 -0
  32. package/dist/specs/financial/iban-validation.yaml +270 -0
  33. package/dist/specs/financial/swift-code-finder.yaml +146 -0
  34. package/dist/specs/financial/swift-code-lookup.yaml +156 -0
  35. package/dist/specs/financial/vat-number-validation.yaml +205 -0
  36. package/dist/specs/financial/vat-rates-by-ip.yaml +200 -0
  37. package/dist/specs/financial/vat-rates-country.yaml +212 -0
  38. package/dist/specs/general/usage-credits.yaml +188 -0
  39. package/dist/specs/geocoding/forward-geocoding.yaml +292 -0
  40. package/dist/specs/geocoding/reverse-geocoding.yaml +237 -0
  41. package/dist/specs/geodb/administrative-units-details.yaml +180 -0
  42. package/dist/specs/geodb/administrative-units-levels.yaml +140 -0
  43. package/dist/specs/geodb/administrative-units.yaml +168 -0
  44. package/dist/specs/geodb/cities.yaml +209 -0
  45. package/dist/specs/geodb/countries-details.yaml +207 -0
  46. package/dist/specs/geodb/countries.yaml +199 -0
  47. package/dist/specs/geodb/flags-supported.yaml +119 -0
  48. package/dist/specs/geodb/flags.yaml +170 -0
  49. package/dist/specs/geodb/regions.yaml +76 -0
  50. package/dist/specs/geodb/subregions.yaml +158 -0
  51. package/dist/specs/ip-intelligence/bulk-ip-lookup.yaml +895 -0
  52. package/dist/specs/ip-intelligence/bulk-ip-threat-intelligence.yaml +310 -0
  53. package/dist/specs/ip-intelligence/ip-locator.yaml +708 -0
  54. package/dist/specs/ip-intelligence/ip-threat-intelligence.yaml +230 -0
  55. package/dist/specs/other/astronomy-data.yaml +632 -0
  56. package/dist/specs/pdf/delete-pdf-page.yaml +193 -0
  57. package/dist/specs/pdf/linearize-pdf.yaml +187 -0
  58. package/dist/specs/pdf/merge-pdf.yaml +193 -0
  59. package/dist/specs/pdf/pdf-compress.yaml +208 -0
  60. package/dist/specs/pdf/pdf-decrypt.yaml +202 -0
  61. package/dist/specs/pdf/pdf-encrypt.yaml +213 -0
  62. package/dist/specs/pdf/pdf-extract-pages.yaml +199 -0
  63. package/dist/specs/pdf/pdf-file-status.yaml +148 -0
  64. package/dist/specs/pdf/pdf-file.yaml +136 -0
  65. package/dist/specs/pdf/pdf-files.yaml +85 -0
  66. package/dist/specs/pdf/pdf-resource-download.yaml +117 -0
  67. package/dist/specs/pdf/pdf-resource-upload-binary.yaml +152 -0
  68. package/dist/specs/pdf/pdf-resource-upload.yaml +163 -0
  69. package/dist/specs/pdf/pdf-restrict.yaml +246 -0
  70. package/dist/specs/pdf/pdf-split-pages.yaml +208 -0
  71. package/dist/specs/pdf/pdf-task-status.yaml +187 -0
  72. package/dist/specs/pdf/pdf-to-image.yaml +844 -0
  73. package/dist/specs/pdf/pdf-unrestrict.yaml +221 -0
  74. package/dist/specs/pdf/rotate-pdf-pages.yaml +207 -0
  75. package/dist/specs/phone-validation/bulk-phone-number-validation.yaml +374 -0
  76. package/dist/specs/phone-validation/phone-number-validation.yaml +344 -0
  77. package/dist/specs/scraper/web-scraper.yaml +479 -0
  78. package/dist/specs/screenshot/bulk-screenshot.yaml +728 -0
  79. package/dist/specs/screenshot/website-screenshot.yaml +822 -0
  80. package/dist/specs/ssl/ssl-certificate-chain-lookup.yaml +593 -0
  81. package/dist/specs/ssl/ssl-certificate-lookup.yaml +478 -0
  82. package/dist/specs/timezone/timezone-converter.yaml +249 -0
  83. package/dist/specs/timezone/timezone-lookup.yaml +712 -0
  84. package/dist/specs/user-agent/bulk-user-agent-parser.yaml +340 -0
  85. package/dist/specs/user-agent/user-agent-parser.yaml +271 -0
  86. package/dist/specs/weather/air-quality.yaml +590 -0
  87. package/dist/specs/weather/bulk-live-weather.yaml +654 -0
  88. package/dist/specs/weather/flood-forecast.yaml +519 -0
  89. package/dist/specs/weather/historical-weather.yaml +842 -0
  90. package/dist/specs/weather/live-weather.yaml +633 -0
  91. package/dist/specs/weather/marine-weather.yaml +806 -0
  92. package/dist/specs/weather/time-series-weather.yaml +821 -0
  93. package/dist/specs/weather/weather-forecast.yaml +935 -0
  94. package/dist/specs/whois/asn-lookup.yaml +618 -0
  95. package/dist/specs/whois/bulk-whois-lookup.yaml +827 -0
  96. package/dist/specs/whois/domain-whois-history-lookup.yaml +445 -0
  97. package/dist/specs/whois/reverse-whois.yaml +566 -0
  98. package/dist/specs/whois/whois-domain-lookup.yaml +537 -0
  99. package/dist/specs/whois/whois-ip-lookup.yaml +1123 -0
  100. package/dist/specs/zip-code/bulk-zip-code-lookup.yaml +232 -0
  101. package/dist/specs/zip-code/zip-code-api.yaml +216 -0
  102. package/dist/specs/zip-code/zip-code-distance-match.yaml +239 -0
  103. package/dist/specs/zip-code/zip-code-distance.yaml +233 -0
  104. package/dist/specs/zip-code/zip-codes-by-city.yaml +201 -0
  105. package/dist/specs/zip-code/zip-codes-by-region.yaml +200 -0
  106. package/dist/specs/zip-code/zip-codes-radius-search.yaml +262 -0
  107. package/package.json +6 -2
  108. package/specs/pdf/merge-pdf.json +2 -2
@@ -0,0 +1,211 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: Currency Fluctuation API - Get Currency Fluctuations Over a Time Period
4
+ version: 1.0.0
5
+ description: Get exchange rate fluctuation data between two dates for one or more currency pairs. Returns the start rate, end rate, absolute change, and percentage change for each requested symbol. Accepts a base currency (defaults to USD) and optional comma-separated target symbols. Returns a 400 error for invalid dates and a 404 error when no data is available for the interval.
6
+ contact:
7
+ name: APIFreaks Support
8
+ url: https://apifreaks.com/contact
9
+ email: support@apifreaks.com
10
+ servers:
11
+ - url: https://api.apifreaks.com/v1.0
12
+ description: Currency Fluctuation API Server
13
+ paths:
14
+ /currency/fluctuation:
15
+ get:
16
+ tags:
17
+ - Currency APIs
18
+ summary: Get exchange rate fluctuations
19
+ description: Returns exchange rate fluctuations between two dates for the requested symbols.
20
+ operationId: getFluctuation
21
+ parameters:
22
+ - name: format
23
+ in: query
24
+ required: false
25
+ description: 'Response format: `json` (default) or `xml`.'
26
+ schema:
27
+ type: string
28
+ enum:
29
+ - json
30
+ - xml
31
+ default: json
32
+ - name: startDate
33
+ in: query
34
+ required: true
35
+ description: Start date in `YYYY-MM-DD` format.
36
+ schema:
37
+ type: string
38
+ - name: endDate
39
+ in: query
40
+ required: false
41
+ description: End date in `YYYY-MM-DD` format. Defaults to yesterday.
42
+ schema:
43
+ type: string
44
+ - name: base
45
+ in: query
46
+ required: false
47
+ description: Base currency code. Defaults to `USD`.
48
+ schema:
49
+ type: string
50
+ default: USD
51
+ - name: symbols
52
+ in: query
53
+ required: false
54
+ description: Comma-separated currency codes. Omit to get all available rates.
55
+ schema:
56
+ type: string
57
+ responses:
58
+ '200':
59
+ description: Successful operation
60
+ content:
61
+ application/json:
62
+ schema:
63
+ $ref: '#/components/schemas/CurrencyFluctuationResponse'
64
+ examples:
65
+ success:
66
+ summary: Successful response
67
+ value:
68
+ startDate: '2025-01-01'
69
+ endDate: '2025-01-10'
70
+ base: USD
71
+ rateFluctuations:
72
+ EUR:
73
+ startRate: '0.96605'
74
+ endRate: '0.97620'
75
+ change: '-0.010150'
76
+ percentChange: '-1.05'
77
+ PKR:
78
+ startRate: '278.400'
79
+ endRate: '278.650'
80
+ change: '-0.25'
81
+ percentChange: '-0.09'
82
+ '400':
83
+ description: Bad request - Invalid dates
84
+ content:
85
+ application/json:
86
+ schema:
87
+ $ref: '#/components/schemas/ErrorResponse'
88
+ examples:
89
+ missingStartDate:
90
+ summary: Missing required startDate parameter
91
+ value:
92
+ error: Invalid Param Exception
93
+ message: please pass correct parameters
94
+ path: /v1.0/currency/fluctuation
95
+ status: 400
96
+ timestamp: '2026-07-27T12:09:21.348Z'
97
+ startAfterEnd:
98
+ summary: startDate is after endDate or the current date
99
+ value:
100
+ timestamp: 1785154172736
101
+ status: 400
102
+ error: Invalid Param Exception
103
+ message: Starting date cannot be after current date or ending date
104
+ path: /v2.0/fluctuation
105
+ invalidDateFormat:
106
+ summary: startDate/endDate not in YYYY-MM-DD format
107
+ value:
108
+ timestamp: 1785154172225
109
+ status: 400
110
+ error: Invalid Param Exception
111
+ message: Provided Dates are in Invalid Format. Dates must be in a valid format YYYY-MM-DD!
112
+ path: /v2.0/fluctuation
113
+ '404':
114
+ description: Not found - No data for interval
115
+ content:
116
+ application/json:
117
+ schema:
118
+ $ref: '#/components/schemas/ErrorResponse'
119
+ examples:
120
+ noData:
121
+ summary: base or symbols not supported for the given interval
122
+ value:
123
+ timestamp: 1785154173332
124
+ status: 404
125
+ error: Not Found Exception
126
+ message: Rates of provided base and symbols are not found for given intervals.
127
+ path: /v2.0/fluctuation
128
+ components:
129
+ securitySchemes:
130
+ ApiKeyAuthHeader:
131
+ type: apiKey
132
+ in: header
133
+ name: X-apiKey
134
+ description: Pass your API key via the X-apiKey request header.
135
+ ApiKeyAuthQuery:
136
+ type: apiKey
137
+ in: query
138
+ name: apiKey
139
+ description: Pass your API key via the apiKey query parameter.
140
+ schemas:
141
+ CurrencyFluctuationResponse:
142
+ type: object
143
+ required:
144
+ - startDate
145
+ - endDate
146
+ - base
147
+ - rateFluctuations
148
+ properties:
149
+ startDate:
150
+ type: string
151
+ description: Start date of the interval (YYYY-MM-DD).
152
+ endDate:
153
+ type: string
154
+ description: End date of the interval (YYYY-MM-DD).
155
+ base:
156
+ type: string
157
+ description: Base currency used for all fluctuations.
158
+ rateFluctuations:
159
+ type: object
160
+ description: Map of currency codes to their fluctuation details. Each key is a currency code and the value contains startRate, endRate, change, and percentChange.
161
+ additionalProperties:
162
+ title: CurrencyFluctuationItem
163
+ $ref: '#/components/schemas/CurrencyFluctuationItem'
164
+ description: Currency fluctuation response containing rate changes per symbol over a date interval.
165
+ CurrencyFluctuationItem:
166
+ type: object
167
+ description: Fluctuation metrics for a single currency over a date interval.
168
+ required:
169
+ - startRate
170
+ - endRate
171
+ - change
172
+ - percentChange
173
+ properties:
174
+ startRate:
175
+ type: string
176
+ description: Rate of the currency at the start of the interval.
177
+ endRate:
178
+ type: string
179
+ description: Rate of the currency at the end of the interval.
180
+ change:
181
+ type: string
182
+ description: Absolute change between start and end rate. Can be positive or negative.
183
+ percentChange:
184
+ type: string
185
+ description: Percentage change between start and end rate. Can be positive or negative.
186
+ ErrorResponse:
187
+ type: object
188
+ description: Standard error envelope returned by the API on failed requests. Gateway-level validation errors use an ISO 8601 timestamp and the public endpoint path; currency-service errors use a Unix millisecond timestamp and an internal service path instead.
189
+ required:
190
+ - message
191
+ properties:
192
+ timestamp:
193
+ type:
194
+ - string
195
+ - integer
196
+ description: Timestamp when the error occurred — ISO 8601 string for gateway errors, Unix milliseconds integer for currency-service errors.
197
+ status:
198
+ type: integer
199
+ description: HTTP status code returned with the error.
200
+ error:
201
+ type: string
202
+ description: Specific error type (e.g., Invalid Param Exception, Not Found Exception).
203
+ message:
204
+ type: string
205
+ description: Human-readable error message describing the failure.
206
+ path:
207
+ type: string
208
+ description: API endpoint path (gateway errors) or internal service path (currency-service errors) that produced the error.
209
+ security:
210
+ - ApiKeyAuthHeader: []
211
+ - ApiKeyAuthQuery: []
@@ -0,0 +1,112 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: Currency Historical Data Limits API Reference
4
+ version: 1.0.0
5
+ description: Retrieve the date range for which historical exchange rate data is available for each supported currency. Returns a map of currency codes to their availability period in YYYY-MM-DD to YYYY-MM-DD format. Covers fiat currencies, cryptocurrencies, and precious metals.
6
+ contact:
7
+ name: APIFreaks Support
8
+ url: https://apifreaks.com/contact
9
+ email: support@apifreaks.com
10
+ servers:
11
+ - url: https://api.apifreaks.com/v1.0
12
+ description: Currency Historical Data Limits API Server
13
+ paths:
14
+ /currency/historical/data/limits:
15
+ get:
16
+ tags:
17
+ - Currency APIs
18
+ summary: Get historical data availability limits
19
+ description: Returns the date range when historical data is available for each currency.
20
+ operationId: getHistoricalDataLimits
21
+ parameters:
22
+ - name: format
23
+ in: query
24
+ required: false
25
+ description: 'Response format: `json` (default) or `xml`.'
26
+ schema:
27
+ type: string
28
+ enum:
29
+ - json
30
+ - xml
31
+ default: json
32
+ responses:
33
+ '200':
34
+ description: Successful operation
35
+ content:
36
+ application/json:
37
+ schema:
38
+ $ref: '#/components/schemas/HistoricalDataLimitsResponse'
39
+ examples:
40
+ success:
41
+ summary: Successful response
42
+ value:
43
+ availabilityPeriod:
44
+ FJD: 1989-08-18 to 2026-07-27
45
+ SCR: 1998-07-31 to 2026-07-27
46
+ STPT: 2025-02-27 to 2025-05-28
47
+ '406':
48
+ description: Unsupported Media Type — format is not json or xml
49
+ content:
50
+ application/json:
51
+ schema:
52
+ $ref: '#/components/schemas/ErrorResponse'
53
+ examples:
54
+ badFormat:
55
+ summary: format value not supported
56
+ value:
57
+ error: Unsupported Media Type
58
+ message: The media type specified in the request is not supported. For more details, please refer to the API documentation.
59
+ path: /v1.0/currency/historical/data/limits
60
+ status: 406
61
+ timestamp: '2026-07-27T12:14:01.189Z'
62
+ components:
63
+ securitySchemes:
64
+ ApiKeyAuthHeader:
65
+ type: apiKey
66
+ in: header
67
+ name: X-apiKey
68
+ description: Pass your API key via the X-apiKey request header.
69
+ ApiKeyAuthQuery:
70
+ type: apiKey
71
+ in: query
72
+ name: apiKey
73
+ description: Pass your API key via the apiKey query parameter.
74
+ schemas:
75
+ HistoricalDataLimitsResponse:
76
+ type: object
77
+ required:
78
+ - availabilityPeriod
79
+ properties:
80
+ availabilityPeriod:
81
+ type: object
82
+ description: Map of currency codes to their historical data availability range. Each key is a currency code and the value is a date range string.
83
+ additionalProperties:
84
+ title: AvailabilityPeriodString
85
+ type: string
86
+ description: Historical data availability date range in YYYY-MM-DD to YYYY-MM-DD format.
87
+ description: Historical data limits response containing the availability period map.
88
+ ErrorResponse:
89
+ type: object
90
+ description: Standard error envelope returned by the API on failed requests.
91
+ required:
92
+ - message
93
+ properties:
94
+ error:
95
+ type: string
96
+ description: Short error category or exception type.
97
+ message:
98
+ type: string
99
+ description: Human-readable error message describing the failure.
100
+ path:
101
+ type: string
102
+ description: API endpoint path that produced the error.
103
+ status:
104
+ type: integer
105
+ description: HTTP status code returned with the error.
106
+ timestamp:
107
+ type: string
108
+ format: date-time
109
+ description: Timestamp when the error occurred (ISO 8601).
110
+ security:
111
+ - ApiKeyAuthHeader: []
112
+ - ApiKeyAuthQuery: []
@@ -0,0 +1,173 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: Exchange Rate API - Real-Time Forex & Crypto Rates for 1,000+ Assets
4
+ version: 1.0.0
5
+ description: Get the latest exchange rates for any base currency. Returns rates for all available currencies or a filtered set of symbols. Supports fiat, crypto, and metals. Accepts an optional updates parameter for rate freshness (1m, 10m, 1h, 1d). Returns a 400 error for invalid parameters and a 404 error for unsupported currencies or symbols.
6
+ contact:
7
+ name: APIFreaks Support
8
+ url: https://apifreaks.com/contact
9
+ email: support@apifreaks.com
10
+ servers:
11
+ - url: https://api.apifreaks.com/v1.0
12
+ description: Exchange Rate API Server
13
+ paths:
14
+ /currency/rates/latest:
15
+ get:
16
+ tags:
17
+ - Currency APIs
18
+ summary: Get the latest exchange rates
19
+ description: Returns the latest exchange rates for the requested base currency and symbols.
20
+ operationId: getLatestExchangeRates
21
+ parameters:
22
+ - name: format
23
+ in: query
24
+ required: false
25
+ description: 'Response format: `json` (default) or `xml`.'
26
+ schema:
27
+ type: string
28
+ enum:
29
+ - json
30
+ - xml
31
+ default: json
32
+ - name: base
33
+ in: query
34
+ required: false
35
+ description: Base currency code. Defaults to `USD`. Supports fiat, crypto, and metals.
36
+ schema:
37
+ type: string
38
+ default: USD
39
+ - name: symbols
40
+ in: query
41
+ required: false
42
+ description: Comma-separated currency codes. Omit to get all available rates.
43
+ schema:
44
+ type: string
45
+ - name: updates
46
+ in: query
47
+ required: false
48
+ description: 'Update frequency: `1m` (default), `10m`, `1h`, or `1d`.'
49
+ schema:
50
+ type: string
51
+ enum:
52
+ - 1m
53
+ - 10m
54
+ - 1h
55
+ - 1d
56
+ default: 1m
57
+ responses:
58
+ '200':
59
+ description: Successful operation
60
+ content:
61
+ application/json:
62
+ schema:
63
+ $ref: '#/components/schemas/LatestExchangeRatesResponse'
64
+ examples:
65
+ success:
66
+ summary: Successful response
67
+ value:
68
+ date: '2026-07-27 12:01:00+00'
69
+ base: USD
70
+ rates:
71
+ EUR: '0.878156'
72
+ PKR: '277.863'
73
+ '400':
74
+ description: Bad request - Invalid parameters
75
+ content:
76
+ application/json:
77
+ schema:
78
+ $ref: '#/components/schemas/ErrorResponse'
79
+ examples:
80
+ invalidUpdates:
81
+ summary: updates is not one of 1m/10m/1h/1d
82
+ value:
83
+ timestamp: 1785153665906
84
+ status: 400
85
+ error: Invalid Param Exception
86
+ message: Please provide valid updates parameter (1d,1h,10m,1m)
87
+ path: /v2.0/rates/latest
88
+ '404':
89
+ description: Not found - Currency or symbol not available
90
+ content:
91
+ application/json:
92
+ schema:
93
+ $ref: '#/components/schemas/ErrorResponse'
94
+ examples:
95
+ invalidBase:
96
+ summary: base currency not supported
97
+ value:
98
+ timestamp: 1785153666449
99
+ status: 404
100
+ error: Not Found Exception
101
+ message: Rates of provided currency ZZZ are not available in our database!
102
+ path: /v2.0/rates/latest
103
+ invalidSymbols:
104
+ summary: symbols not supported
105
+ value:
106
+ timestamp: 1785153666998
107
+ status: 404
108
+ error: Not Found Exception
109
+ message: Rates of provided Symbols are not available in our database!
110
+ path: /v2.0/rates/latest
111
+ components:
112
+ securitySchemes:
113
+ ApiKeyAuthHeader:
114
+ type: apiKey
115
+ in: header
116
+ name: X-apiKey
117
+ description: Pass your API key via the X-apiKey request header.
118
+ ApiKeyAuthQuery:
119
+ type: apiKey
120
+ in: query
121
+ name: apiKey
122
+ description: Pass your API key via the apiKey query parameter.
123
+ schemas:
124
+ LatestExchangeRatesResponse:
125
+ type: object
126
+ required:
127
+ - date
128
+ - base
129
+ - rates
130
+ properties:
131
+ date:
132
+ type: string
133
+ description: Date and time with timezone (UTC) when the rates were recorded.
134
+ base:
135
+ type: string
136
+ description: Base currency used for calculating exchange rates.
137
+ rates:
138
+ type: object
139
+ description: Map of currency codes to their exchange rate against the base currency. Each key is a currency code and the value is an exchange rate string.
140
+ additionalProperties:
141
+ title: ExchangeRateString
142
+ type: string
143
+ description: Exchange rate value as a string for this currency code.
144
+ description: Exchange rate response containing date, base currency, and rates map.
145
+ ErrorResponse:
146
+ type: object
147
+ required:
148
+ - timestamp
149
+ - status
150
+ - error
151
+ - message
152
+ - path
153
+ properties:
154
+ timestamp:
155
+ type: integer
156
+ format: int64
157
+ description: Unix timestamp in milliseconds when the error occurred.
158
+ status:
159
+ type: integer
160
+ description: HTTP status code returned with the error.
161
+ error:
162
+ type: string
163
+ description: Specific error type (e.g., `Invalid Param Exception`, `Not Found Exception`).
164
+ message:
165
+ type: string
166
+ description: Human-readable error message describing the failure.
167
+ path:
168
+ type: string
169
+ description: API endpoint path that produced the error.
170
+ description: Standard error envelope returned by the API on failed requests.
171
+ security:
172
+ - ApiKeyAuthHeader: []
173
+ - ApiKeyAuthQuery: []
@@ -0,0 +1,176 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: Currency Supported API Reference
4
+ version: 1.0.0
5
+ description: Retrieve the complete list of all supported currencies with full metadata. Returns a map of currency codes to objects containing currency name, country code, country name, availability status, date range, and icon URL. Covers fiat currencies, cryptocurrencies, and precious metals.
6
+ contact:
7
+ name: APIFreaks Support
8
+ url: https://apifreaks.com/contact
9
+ email: support@apifreaks.com
10
+ servers:
11
+ - url: https://api.apifreaks.com/v1.0
12
+ description: Currency Supported API Server
13
+ paths:
14
+ /currency/supported:
15
+ get:
16
+ tags:
17
+ - Currency APIs
18
+ summary: Get all supported currencies
19
+ description: Returns a map of all supported currencies with metadata.
20
+ operationId: getSupportedCurrencies
21
+ parameters:
22
+ - name: format
23
+ in: query
24
+ required: false
25
+ description: 'Response format: `json` (default) or `xml`.'
26
+ schema:
27
+ type: string
28
+ enum:
29
+ - json
30
+ - xml
31
+ default: json
32
+ responses:
33
+ '200':
34
+ description: Successful operation
35
+ content:
36
+ application/json:
37
+ schema:
38
+ $ref: '#/components/schemas/SupportedCurrenciesResponse'
39
+ examples:
40
+ success:
41
+ summary: Successful response
42
+ value:
43
+ supportedCurrenciesMap:
44
+ USD:
45
+ currencyCode: USD
46
+ currencyName: US Dollar
47
+ countryCode: AS
48
+ countryName: American Samoa
49
+ status: AVAILABLE
50
+ availableFrom: '2020-01-01'
51
+ availableUntil: '2026-06-18'
52
+ icon: https://currencyfreaks.com/photos/flags/usd.png
53
+ BTC:
54
+ currencyCode: BTC
55
+ currencyName: Bitcoin
56
+ countryCode: Crypto
57
+ countryName: Global
58
+ status: AVAILABLE
59
+ availableFrom: '2014-01-01'
60
+ availableUntil: '2026-06-18'
61
+ icon: https://currencyfreaks.com/photos/flags/btc.png
62
+ XAU:
63
+ currencyCode: XAU
64
+ currencyName: Gold Ounce
65
+ countryCode: Metal
66
+ countryName: Precious Metal
67
+ status: AVAILABLE
68
+ availableFrom: '2020-01-01'
69
+ availableUntil: '2026-06-18'
70
+ icon: https://currencyfreaks.com/photos/flags/xau.png
71
+ '406':
72
+ description: Unsupported Media Type — format is not json or xml
73
+ content:
74
+ application/json:
75
+ schema:
76
+ $ref: '#/components/schemas/ErrorResponse'
77
+ examples:
78
+ badFormat:
79
+ summary: format value not supported
80
+ value:
81
+ error: Unsupported Media Type
82
+ message: The media type specified in the request is not supported. For more details, please refer to the API documentation.
83
+ path: /v1.0/currency/supported
84
+ status: 406
85
+ timestamp: '2026-07-27T12:12:35.587Z'
86
+ components:
87
+ securitySchemes:
88
+ ApiKeyAuthHeader:
89
+ type: apiKey
90
+ in: header
91
+ name: X-apiKey
92
+ description: Pass your API key via the X-apiKey request header.
93
+ ApiKeyAuthQuery:
94
+ type: apiKey
95
+ in: query
96
+ name: apiKey
97
+ description: Pass your API key via the apiKey query parameter.
98
+ schemas:
99
+ SupportedCurrenciesResponse:
100
+ type: object
101
+ required:
102
+ - supportedCurrenciesMap
103
+ properties:
104
+ supportedCurrenciesMap:
105
+ type: object
106
+ description: Map of all supported currencies keyed by currency code. Each key is a currency code and the value contains full currency metadata.
107
+ additionalProperties:
108
+ title: CurrencySupportedItem
109
+ $ref: '#/components/schemas/CurrencySupportedItem'
110
+ description: Currency supported response containing the map of all supported currencies.
111
+ CurrencySupportedItem:
112
+ type: object
113
+ description: Metadata for a single supported currency.
114
+ required:
115
+ - currencyCode
116
+ - currencyName
117
+ - countryCode
118
+ - countryName
119
+ - status
120
+ - availableFrom
121
+ - availableUntil
122
+ - icon
123
+ properties:
124
+ currencyCode:
125
+ type: string
126
+ description: Unique currency code (e.g., USD, BTC, XAU).
127
+ currencyName:
128
+ type: string
129
+ description: Full name of the currency.
130
+ countryCode:
131
+ type: string
132
+ description: 'ISO 3166-1 alpha-2 country code. For crypto: Crypto. For metals: Metal.'
133
+ countryName:
134
+ type: string
135
+ description: 'Country name. For crypto: Global. For metals: Precious Metal.'
136
+ status:
137
+ type: string
138
+ enum:
139
+ - AVAILABLE
140
+ - DEPRECIATED
141
+ description: Availability status.
142
+ availableFrom:
143
+ type: string
144
+ description: Date the currency became available (YYYY-MM-DD).
145
+ availableUntil:
146
+ type: string
147
+ description: Date the currency is or was available (YYYY-MM-DD).
148
+ icon:
149
+ type: string
150
+ format: uri
151
+ description: URL of the currency icon/flag image.
152
+ ErrorResponse:
153
+ type: object
154
+ description: Standard error envelope returned by the API on failed requests.
155
+ required:
156
+ - message
157
+ properties:
158
+ error:
159
+ type: string
160
+ description: Short error category or exception type.
161
+ message:
162
+ type: string
163
+ description: Human-readable error message describing the failure.
164
+ path:
165
+ type: string
166
+ description: API endpoint path that produced the error.
167
+ status:
168
+ type: integer
169
+ description: HTTP status code returned with the error.
170
+ timestamp:
171
+ type: string
172
+ format: date-time
173
+ description: Timestamp when the error occurred (ISO 8601).
174
+ security:
175
+ - ApiKeyAuthHeader: []
176
+ - ApiKeyAuthQuery: []