@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,195 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: Historical Currency Converter API Reference
4
+ version: 1.0.0
5
+ description: Convert an amount from one currency to another using exchange rates from a specific historical date. Supports fiat, crypto, and metals. Returns the date, source and target currencies, the historical rate, and the converted amount. All parameters are case-insensitive for both fiat/currency codes and crypto/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: Historical Currency Converter API Server
13
+ paths:
14
+ /currency/converter/historical/prices:
15
+ get:
16
+ tags:
17
+ - Currency APIs
18
+ summary: Convert currency with historical rates
19
+ description: Converts an amount using exchange rates from a specific historical date.
20
+ operationId: convertHistorical
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: from
33
+ in: query
34
+ required: true
35
+ description: Source currency code.
36
+ schema:
37
+ type: string
38
+ - name: to
39
+ in: query
40
+ required: true
41
+ description: Target currency code.
42
+ schema:
43
+ type: string
44
+ - name: amount
45
+ in: query
46
+ required: false
47
+ description: Amount to convert, as a decimal. Defaults to `1`. Must be numeric — non-numeric values return a 400 (negative values are accepted despite the error message's wording).
48
+ schema:
49
+ type: string
50
+ default: '1'
51
+ - name: date
52
+ in: query
53
+ required: true
54
+ description: Historical date in `YYYY-MM-DD` format.
55
+ schema:
56
+ type: string
57
+ responses:
58
+ '200':
59
+ description: Successful operation
60
+ content:
61
+ application/json:
62
+ schema:
63
+ $ref: '#/components/schemas/HistoricalCurrencyConverterResponse'
64
+ examples:
65
+ success:
66
+ summary: Successful response
67
+ value:
68
+ date: '2025-01-10'
69
+ from: USD
70
+ to: EUR
71
+ rate: '0.97620'
72
+ givenAmount: '100.0'
73
+ convertedAmount: '97.620'
74
+ '400':
75
+ description: Bad request - Invalid amount or date format
76
+ content:
77
+ application/json:
78
+ schema:
79
+ $ref: '#/components/schemas/ErrorResponse'
80
+ examples:
81
+ missingParams:
82
+ summary: Missing required from/to/date parameter
83
+ value:
84
+ error: Invalid Param Exception
85
+ message: please pass correct parameters
86
+ path: /v1.0/currency/converter/historical/prices
87
+ status: 400
88
+ timestamp: '2026-07-27T12:07:03.772Z'
89
+ invalidAmount:
90
+ summary: amount is not numeric
91
+ value:
92
+ timestamp: 1785154024296
93
+ status: 400
94
+ error: Method Argument Type Mismatch
95
+ message: Invalid Amount. Please provide amount in decimal format and greater than 0!
96
+ path: /v2.0/convert/historical
97
+ invalidDateFormat:
98
+ summary: date is not in YYYY-MM-DD format
99
+ value:
100
+ timestamp: 1785154024931
101
+ status: 400
102
+ error: Invalid Param Exception
103
+ message: Provided Date 10-01-2025 is in invalid format. It should be like YYYY-MM-DD!
104
+ path: /v2.0/convert/historical
105
+ '404':
106
+ description: Not found - Currency or date not available
107
+ content:
108
+ application/json:
109
+ schema:
110
+ $ref: '#/components/schemas/ErrorResponse'
111
+ examples:
112
+ dateNotFound:
113
+ summary: No data for the given date
114
+ value:
115
+ timestamp: 1785154025547
116
+ status: 404
117
+ error: Not Found Exception
118
+ message: Rates of provided date 2099-01-01 are not available in our database.
119
+ path: /v2.0/convert/historical
120
+ invalidBase:
121
+ summary: from currency not supported
122
+ value:
123
+ timestamp: 1785154026188
124
+ status: 404
125
+ error: Not Found Exception
126
+ message: Rates of provided currency ZZZ are not available in our database!
127
+ path: /v2.0/convert/historical
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
+ HistoricalCurrencyConverterResponse:
142
+ type: object
143
+ required:
144
+ - date
145
+ - from
146
+ - to
147
+ - rate
148
+ - givenAmount
149
+ - convertedAmount
150
+ properties:
151
+ date:
152
+ type: string
153
+ description: Date and time with timezone (UTC) when the rate was recorded.
154
+ from:
155
+ type: string
156
+ description: Source currency code.
157
+ to:
158
+ type: string
159
+ description: Target currency code.
160
+ rate:
161
+ type: string
162
+ description: Conversion rate from source to target currency.
163
+ givenAmount:
164
+ type: string
165
+ description: The amount provided for conversion.
166
+ convertedAmount:
167
+ type: string
168
+ description: The converted amount in the target currency.
169
+ description: Historical currency conversion response containing the historical rate and converted amount.
170
+ ErrorResponse:
171
+ type: object
172
+ 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.
173
+ required:
174
+ - message
175
+ properties:
176
+ timestamp:
177
+ type:
178
+ - string
179
+ - integer
180
+ description: Timestamp when the error occurred — ISO 8601 string for gateway errors, Unix milliseconds integer for currency-service errors.
181
+ status:
182
+ type: integer
183
+ description: HTTP status code returned with the error.
184
+ error:
185
+ type: string
186
+ description: Specific error type (e.g., Invalid Param Exception, Method Argument Type Mismatch, Not Found Exception).
187
+ message:
188
+ type: string
189
+ description: Human-readable error message describing the failure.
190
+ path:
191
+ type: string
192
+ description: API endpoint path (gateway errors) or internal service path (currency-service errors) that produced the error.
193
+ security:
194
+ - ApiKeyAuthHeader: []
195
+ - ApiKeyAuthQuery: []
@@ -0,0 +1,180 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: Historical Exchange Rate API Reference
4
+ version: 1.0.0
5
+ 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.
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: Historical Exchange Rate API Server
13
+ paths:
14
+ /currency/rates/historical:
15
+ get:
16
+ tags:
17
+ - Currency APIs
18
+ summary: Get historical exchange rates
19
+ description: Returns exchange rates for a specific historical date.
20
+ operationId: getHistoricalExchangeRates
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: date
46
+ in: query
47
+ required: true
48
+ description: Historical date in `YYYY-MM-DD` format.
49
+ schema:
50
+ type: string
51
+ responses:
52
+ '200':
53
+ description: Successful operation
54
+ content:
55
+ application/json:
56
+ schema:
57
+ $ref: '#/components/schemas/HistoricalExchangeRatesResponse'
58
+ examples:
59
+ success:
60
+ summary: Successful response
61
+ value:
62
+ date: '2025-01-10'
63
+ base: USD
64
+ rates:
65
+ EUR: '0.9762'
66
+ PKR: '278.65'
67
+ '400':
68
+ description: Bad Request — Missing or malformed date
69
+ content:
70
+ application/json:
71
+ schema:
72
+ $ref: '#/components/schemas/ErrorResponse'
73
+ examples:
74
+ missingDate:
75
+ summary: Missing required date parameter
76
+ value:
77
+ error: Invalid Param Exception
78
+ message: please pass correct parameters
79
+ path: /v1.0/currency/rates/historical
80
+ status: 400
81
+ timestamp: '2026-07-27T12:01:57.285Z'
82
+ invalidDateFormat:
83
+ summary: date is not in YYYY-MM-DD format
84
+ value:
85
+ timestamp: 1785153717794
86
+ status: 400
87
+ error: Invalid Param Exception
88
+ message: Provided Date 10-01-2025 is in invalid format. It should be like YYYY-MM-DD!
89
+ path: /v2.0/rates/historical
90
+ '404':
91
+ description: Not found - Currency, symbol, or date not available
92
+ content:
93
+ application/json:
94
+ schema:
95
+ $ref: '#/components/schemas/ErrorResponse'
96
+ examples:
97
+ dateNotFound:
98
+ summary: No data for the given date
99
+ value:
100
+ timestamp: 1785153718397
101
+ status: 404
102
+ error: Not Found Exception
103
+ message: Rates of provided date 2099-01-01 are not available in our database.
104
+ path: /v2.0/rates/historical
105
+ invalidBase:
106
+ summary: base currency not supported
107
+ value:
108
+ timestamp: 1785153718975
109
+ status: 404
110
+ error: Not Found Exception
111
+ message: Rates of provided currency ZZZ are not available in our database!
112
+ path: /v2.0/rates/historical
113
+ invalidSymbols:
114
+ summary: symbols not supported
115
+ value:
116
+ timestamp: 1785153718975
117
+ status: 404
118
+ error: Not Found Exception
119
+ message: Rates of provided Symbols are not available in our database!
120
+ path: /v2.0/rates/historical
121
+ components:
122
+ securitySchemes:
123
+ ApiKeyAuthHeader:
124
+ type: apiKey
125
+ in: header
126
+ name: X-apiKey
127
+ description: Pass your API key via the X-apiKey request header.
128
+ ApiKeyAuthQuery:
129
+ type: apiKey
130
+ in: query
131
+ name: apiKey
132
+ description: Pass your API key via the apiKey query parameter.
133
+ schemas:
134
+ HistoricalExchangeRatesResponse:
135
+ type: object
136
+ description: Historical exchange rate response containing date, base currency, and rates map.
137
+ required:
138
+ - date
139
+ - base
140
+ - rates
141
+ properties:
142
+ date:
143
+ type: string
144
+ description: The requested historical date (YYYY-MM-DD).
145
+ base:
146
+ type: string
147
+ description: Base currency used for calculating exchange rates.
148
+ rates:
149
+ type: object
150
+ 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.
151
+ additionalProperties:
152
+ title: ExchangeRateString
153
+ type: string
154
+ description: Exchange rate value as a string for this currency code.
155
+ ErrorResponse:
156
+ type: object
157
+ 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.
158
+ required:
159
+ - message
160
+ properties:
161
+ error:
162
+ type: string
163
+ description: Short error category or exception 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 (gateway errors) or internal service path (currency-service errors) that produced the error.
170
+ status:
171
+ type: integer
172
+ description: HTTP status code returned with the error.
173
+ timestamp:
174
+ type:
175
+ - string
176
+ - integer
177
+ description: Timestamp when the error occurred — ISO 8601 string for gateway errors, Unix milliseconds integer for currency-service errors.
178
+ security:
179
+ - ApiKeyAuthHeader: []
180
+ - ApiKeyAuthQuery: []