@apifreaks/openapi-specs 0.1.0

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 (109) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +156 -0
  3. package/dist/index.cjs +44663 -0
  4. package/dist/index.d.cts +30 -0
  5. package/dist/index.d.ts +30 -0
  6. package/dist/index.js +44631 -0
  7. package/package.json +81 -0
  8. package/specs/commodity/commodity-fluctuation.json +301 -0
  9. package/specs/commodity/commodity-prices.json +317 -0
  10. package/specs/commodity/commodity-symbols.json +215 -0
  11. package/specs/commodity/commodity-time-series.json +329 -0
  12. package/specs/commodity/historical-commodity-prices.json +273 -0
  13. package/specs/currency/currency-converter.json +261 -0
  14. package/specs/currency/currency-fluctuation.json +282 -0
  15. package/specs/currency/currency-historical-data-limit.json +158 -0
  16. package/specs/currency/currency-rate.json +229 -0
  17. package/specs/currency/currency-supported.json +234 -0
  18. package/specs/currency/currency-symbols.json +161 -0
  19. package/specs/currency/currency-time-series.json +325 -0
  20. package/specs/currency/geolocalized-currency-conversion.json +287 -0
  21. package/specs/currency/historical-currency-converter.json +269 -0
  22. package/specs/currency/historical-currency-rate.json +246 -0
  23. package/specs/dns/bulk-dns-lookup.json +624 -0
  24. package/specs/dns/dns-history-lookup.json +579 -0
  25. package/specs/dns/dns-lookup.json +466 -0
  26. package/specs/dns/reverse-dns-lookup.json +414 -0
  27. package/specs/domain/bulk-domain-checker.json +284 -0
  28. package/specs/domain/domain-search-with-suggestions.json +280 -0
  29. package/specs/domain/domain-search.json +206 -0
  30. package/specs/domain/subdomain-lookup.json +343 -0
  31. package/specs/email-validation/bulk-email-validation.json +534 -0
  32. package/specs/email-validation/email-checker.json +586 -0
  33. package/specs/financial/bulk-vat-rates-country.json +341 -0
  34. package/specs/financial/financial-apis-supported-countries.json +204 -0
  35. package/specs/financial/iban-validation.json +328 -0
  36. package/specs/financial/swift-code-finder.json +192 -0
  37. package/specs/financial/swift-code-lookup.json +220 -0
  38. package/specs/financial/vat-number-validation.json +283 -0
  39. package/specs/financial/vat-rates-by-ip.json +275 -0
  40. package/specs/financial/vat-rates-country.json +288 -0
  41. package/specs/general/usage-credits.json +218 -0
  42. package/specs/geocoding/forward-geocoding.json +402 -0
  43. package/specs/geocoding/reverse-geocoding.json +326 -0
  44. package/specs/geodb/administrative-units-details.json +250 -0
  45. package/specs/geodb/administrative-units-levels.json +198 -0
  46. package/specs/geodb/administrative-units.json +237 -0
  47. package/specs/geodb/cities.json +288 -0
  48. package/specs/geodb/countries-details.json +274 -0
  49. package/specs/geodb/countries.json +276 -0
  50. package/specs/geodb/flags-supported.json +166 -0
  51. package/specs/geodb/flags.json +227 -0
  52. package/specs/geodb/regions.json +109 -0
  53. package/specs/geodb/subregions.json +217 -0
  54. package/specs/ip-intelligence/bulk-ip-lookup.json +1162 -0
  55. package/specs/ip-intelligence/bulk-ip-threat-intelligence.json +417 -0
  56. package/specs/ip-intelligence/ip-locator.json +941 -0
  57. package/specs/ip-intelligence/ip-threat-intelligence.json +316 -0
  58. package/specs/other/astronomy-data.json +803 -0
  59. package/specs/pdf/delete-pdf-page.json +286 -0
  60. package/specs/pdf/linearize-pdf.json +277 -0
  61. package/specs/pdf/merge-pdf.json +285 -0
  62. package/specs/pdf/pdf-compress.json +304 -0
  63. package/specs/pdf/pdf-decrypt.json +297 -0
  64. package/specs/pdf/pdf-encrypt.json +314 -0
  65. package/specs/pdf/pdf-extract-pages.json +295 -0
  66. package/specs/pdf/pdf-file-status.json +208 -0
  67. package/specs/pdf/pdf-file.json +190 -0
  68. package/specs/pdf/pdf-files.json +126 -0
  69. package/specs/pdf/pdf-resource-download.json +168 -0
  70. package/specs/pdf/pdf-resource-upload-binary.json +218 -0
  71. package/specs/pdf/pdf-resource-upload.json +248 -0
  72. package/specs/pdf/pdf-restrict.json +343 -0
  73. package/specs/pdf/pdf-split-pages.json +281 -0
  74. package/specs/pdf/pdf-task-status.json +252 -0
  75. package/specs/pdf/pdf-to-image.json +1219 -0
  76. package/specs/pdf/pdf-unrestrict.json +324 -0
  77. package/specs/pdf/rotate-pdf-pages.json +305 -0
  78. package/specs/phone-validation/bulk-phone-number-validation.json +518 -0
  79. package/specs/phone-validation/phone-number-validation.json +456 -0
  80. package/specs/scraper/web-scraper.json +674 -0
  81. package/specs/screenshot/bulk-screenshot.json +949 -0
  82. package/specs/screenshot/website-screenshot.json +1147 -0
  83. package/specs/ssl/ssl-certificate-chain-lookup.json +756 -0
  84. package/specs/ssl/ssl-certificate-lookup.json +634 -0
  85. package/specs/timezone/timezone-converter.json +362 -0
  86. package/specs/timezone/timezone-lookup.json +910 -0
  87. package/specs/user-agent/bulk-user-agent-parser.json +441 -0
  88. package/specs/user-agent/user-agent-parser.json +346 -0
  89. package/specs/weather/air-quality.json +779 -0
  90. package/specs/weather/bulk-live-weather.json +834 -0
  91. package/specs/weather/flood-forecast.json +693 -0
  92. package/specs/weather/historical-weather.json +1019 -0
  93. package/specs/weather/live-weather.json +789 -0
  94. package/specs/weather/marine-weather.json +940 -0
  95. package/specs/weather/time-series-weather.json +1056 -0
  96. package/specs/weather/weather-forecast.json +1202 -0
  97. package/specs/whois/asn-lookup.json +729 -0
  98. package/specs/whois/bulk-whois-lookup.json +698 -0
  99. package/specs/whois/domain-whois-history-lookup.json +500 -0
  100. package/specs/whois/reverse-whois.json +625 -0
  101. package/specs/whois/whois-domain-lookup.json +533 -0
  102. package/specs/whois/whois-ip-lookup.json +1110 -0
  103. package/specs/zip-code/bulk-zip-code-lookup.json +318 -0
  104. package/specs/zip-code/zip-code-api.json +299 -0
  105. package/specs/zip-code/zip-code-distance-match.json +311 -0
  106. package/specs/zip-code/zip-code-distance.json +307 -0
  107. package/specs/zip-code/zip-codes-by-city.json +279 -0
  108. package/specs/zip-code/zip-codes-by-region.json +278 -0
  109. package/specs/zip-code/zip-codes-radius-search.json +349 -0
@@ -0,0 +1,246 @@
1
+ {
2
+ "openapi": "3.1.1",
3
+ "info": {
4
+ "title": "Historical Exchange Rate API Reference",
5
+ "version": "1.0.0",
6
+ "description": "Get exchange rates for a specific historical date for any base currency. Returns rates for all available currencies or a filtered set of symbols. Supports fiat, crypto, and metals. Accepts a date in YYYY-MM-DD format. Returns a 400 error for a missing/malformed date and a 404 error for unsupported currencies, symbols, or a date with no available data.",
7
+ "contact": {
8
+ "name": "APIFreaks Support",
9
+ "url": "https://apifreaks.com/contact",
10
+ "email": "support@apifreaks.com"
11
+ }
12
+ },
13
+ "servers": [
14
+ {
15
+ "url": "https://api.apifreaks.com/v1.0",
16
+ "description": "Historical Exchange Rate API Server"
17
+ }
18
+ ],
19
+ "paths": {
20
+ "/currency/rates/historical": {
21
+ "get": {
22
+ "tags": ["Currency APIs"],
23
+ "summary": "Get historical exchange rates",
24
+ "description": "Returns exchange rates for a specific historical date.",
25
+ "operationId": "getHistoricalExchangeRates",
26
+ "parameters": [
27
+ {
28
+ "name": "format",
29
+ "in": "query",
30
+ "required": false,
31
+ "description": "Response format: `json` (default) or `xml`.",
32
+ "schema": {
33
+ "type": "string",
34
+ "enum": ["json", "xml"],
35
+ "default": "json"
36
+ }
37
+ },
38
+ {
39
+ "name": "base",
40
+ "in": "query",
41
+ "required": false,
42
+ "description": "Base currency code. Defaults to `USD`. Supports fiat, crypto, and metals.",
43
+ "schema": {
44
+ "type": "string",
45
+ "default": "USD"
46
+ }
47
+ },
48
+ {
49
+ "name": "symbols",
50
+ "in": "query",
51
+ "required": false,
52
+ "description": "Comma-separated currency codes. Omit to get all available rates.",
53
+ "schema": {
54
+ "type": "string"
55
+ }
56
+ },
57
+ {
58
+ "name": "date",
59
+ "in": "query",
60
+ "required": true,
61
+ "description": "Historical date in `YYYY-MM-DD` format.",
62
+ "schema": {
63
+ "type": "string"
64
+ }
65
+ }
66
+ ],
67
+ "responses": {
68
+ "200": {
69
+ "description": "Successful operation",
70
+ "content": {
71
+ "application/json": {
72
+ "schema": {
73
+ "$ref": "#/components/schemas/HistoricalExchangeRatesResponse"
74
+ },
75
+ "examples": {
76
+ "success": {
77
+ "summary": "Successful response",
78
+ "value": {
79
+ "date": "2025-01-10",
80
+ "base": "USD",
81
+ "rates": {
82
+ "EUR": "0.9762",
83
+ "PKR": "278.65"
84
+ }
85
+ }
86
+ }
87
+ }
88
+ }
89
+ }
90
+ },
91
+ "400": {
92
+ "description": "Bad Request — Missing or malformed date",
93
+ "content": {
94
+ "application/json": {
95
+ "schema": {
96
+ "$ref": "#/components/schemas/ErrorResponse"
97
+ },
98
+ "examples": {
99
+ "missingDate": {
100
+ "summary": "Missing required date parameter",
101
+ "value": {
102
+ "error": "Invalid Param Exception",
103
+ "message": "please pass correct parameters",
104
+ "path": "/v1.0/currency/rates/historical",
105
+ "status": 400,
106
+ "timestamp": "2026-07-27T12:01:57.285Z"
107
+ }
108
+ },
109
+ "invalidDateFormat": {
110
+ "summary": "date is not in YYYY-MM-DD format",
111
+ "value": {
112
+ "timestamp": 1785153717794,
113
+ "status": 400,
114
+ "error": "Invalid Param Exception",
115
+ "message": "Provided Date 10-01-2025 is in invalid format. It should be like YYYY-MM-DD!",
116
+ "path": "/v2.0/rates/historical"
117
+ }
118
+ }
119
+ }
120
+ }
121
+ }
122
+ },
123
+ "404": {
124
+ "description": "Not found - Currency, symbol, or date not available",
125
+ "content": {
126
+ "application/json": {
127
+ "schema": {
128
+ "$ref": "#/components/schemas/ErrorResponse"
129
+ },
130
+ "examples": {
131
+ "dateNotFound": {
132
+ "summary": "No data for the given date",
133
+ "value": {
134
+ "timestamp": 1785153718397,
135
+ "status": 404,
136
+ "error": "Not Found Exception",
137
+ "message": "Rates of provided date 2099-01-01 are not available in our database.",
138
+ "path": "/v2.0/rates/historical"
139
+ }
140
+ },
141
+ "invalidBase": {
142
+ "summary": "base currency not supported",
143
+ "value": {
144
+ "timestamp": 1785153718975,
145
+ "status": 404,
146
+ "error": "Not Found Exception",
147
+ "message": "Rates of provided currency ZZZ are not available in our database!",
148
+ "path": "/v2.0/rates/historical"
149
+ }
150
+ },
151
+ "invalidSymbols": {
152
+ "summary": "symbols not supported",
153
+ "value": {
154
+ "timestamp": 1785153718975,
155
+ "status": 404,
156
+ "error": "Not Found Exception",
157
+ "message": "Rates of provided Symbols are not available in our database!",
158
+ "path": "/v2.0/rates/historical"
159
+ }
160
+ }
161
+ }
162
+ }
163
+ }
164
+ }
165
+ }
166
+ }
167
+ }
168
+ },
169
+ "components": {
170
+ "securitySchemes": {
171
+ "ApiKeyAuthHeader": {
172
+ "type": "apiKey",
173
+ "in": "header",
174
+ "name": "X-apiKey",
175
+ "description": "Pass your API key via the X-apiKey request header."
176
+ },
177
+ "ApiKeyAuthQuery": {
178
+ "type": "apiKey",
179
+ "in": "query",
180
+ "name": "apiKey",
181
+ "description": "Pass your API key via the apiKey query parameter."
182
+ }
183
+ },
184
+ "schemas": {
185
+ "HistoricalExchangeRatesResponse": {
186
+ "type": "object",
187
+ "description": "Historical exchange rate response containing date, base currency, and rates map.",
188
+ "required": ["date", "base", "rates"],
189
+ "properties": {
190
+ "date": {
191
+ "type": "string",
192
+ "description": "The requested historical date (YYYY-MM-DD)."
193
+ },
194
+ "base": {
195
+ "type": "string",
196
+ "description": "Base currency used for calculating exchange rates."
197
+ },
198
+ "rates": {
199
+ "type": "object",
200
+ "description": "Map of currency codes to their exchange rate against the base currency on the requested date. Each key is a currency code and the value is an exchange rate string.",
201
+ "additionalProperties": {
202
+ "title": "ExchangeRateString",
203
+ "type": "string",
204
+ "description": "Exchange rate value as a string for this currency code."
205
+ }
206
+ }
207
+ }
208
+ },
209
+ "ErrorResponse": {
210
+ "type": "object",
211
+ "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 (date/symbol validation) use a Unix millisecond timestamp and an internal service path instead.",
212
+ "required": ["message"],
213
+ "properties": {
214
+ "error": {
215
+ "type": "string",
216
+ "description": "Short error category or exception type (e.g., Invalid Param Exception, Not Found Exception)."
217
+ },
218
+ "message": {
219
+ "type": "string",
220
+ "description": "Human-readable error message describing the failure."
221
+ },
222
+ "path": {
223
+ "type": "string",
224
+ "description": "API endpoint path (gateway errors) or internal service path (currency-service errors) that produced the error."
225
+ },
226
+ "status": {
227
+ "type": "integer",
228
+ "description": "HTTP status code returned with the error."
229
+ },
230
+ "timestamp": {
231
+ "type": ["string", "integer"],
232
+ "description": "Timestamp when the error occurred — ISO 8601 string for gateway errors, Unix milliseconds integer for currency-service errors."
233
+ }
234
+ }
235
+ }
236
+ }
237
+ },
238
+ "security": [
239
+ {
240
+ "ApiKeyAuthHeader": []
241
+ },
242
+ {
243
+ "ApiKeyAuthQuery": []
244
+ }
245
+ ]
246
+ }