@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,362 @@
1
+ {
2
+ "openapi": "3.1.1",
3
+ "info": {
4
+ "title": "Timezone Converter API Reference",
5
+ "version": "1.0.0",
6
+ "description": "Convert a timestamp from one timezone to another using timezone names, GPS coordinates, location addresses, IATA/ICAO airport codes, or UN/LOCODEs. Returns the converted time, the original time, and the hour/minute difference between the two timezones. Supports pair-based lookups --- provide source and target using any supported identifier type (e.g., `tz_from` + `tz_to` for IANA names, `lat_from`/`long_from` + `lat_to`/`long_to` for coordinates, `iata_from` + `iata_to` for airport codes). If no `time` parameter is provided the API converts the current time.",
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": "Timezone Converter API Server"
17
+ }
18
+ ],
19
+ "paths": {
20
+ "/timezone/converter": {
21
+ "get": {
22
+ "tags": ["Timezone APIs"],
23
+ "summary": "Convert a timestamp from one timezone to another using any supported location identifier",
24
+ "description": "Convert a given time from one timezone to another using timezone names, GPS coordinates, location addresses, IATA/ICAO airport codes, or UN/LOCODEs.",
25
+ "operationId": "convertTimezone",
26
+ "parameters": [
27
+ {
28
+ "name": "format",
29
+ "in": "query",
30
+ "required": false,
31
+ "description": "Format of the response. Possible values: json, xml.",
32
+ "schema": {
33
+ "type": "string",
34
+ "enum": ["json", "xml"],
35
+ "default": "json"
36
+ }
37
+ },
38
+ {
39
+ "name": "time",
40
+ "in": "query",
41
+ "required": false,
42
+ "description": "Time to convert in yyyy-MM-dd HH:mm or yyyy-MM-dd HH:mm:ss format. Omit to convert the current time.",
43
+ "schema": {
44
+ "type": "string"
45
+ }
46
+ },
47
+ {
48
+ "name": "tz_from",
49
+ "in": "query",
50
+ "required": false,
51
+ "description": "Source timezone name in IANA format (e.g., Asia/Kolkata) to convert from.",
52
+ "schema": {
53
+ "type": "string"
54
+ }
55
+ },
56
+ {
57
+ "name": "tz_to",
58
+ "in": "query",
59
+ "required": false,
60
+ "description": "Target timezone name in IANA format (e.g., America/New_York) to convert to.",
61
+ "schema": {
62
+ "type": "string"
63
+ }
64
+ },
65
+ {
66
+ "name": "lat_from",
67
+ "in": "query",
68
+ "required": false,
69
+ "description": "Latitude of source location for coordinate-based conversion.",
70
+ "schema": {
71
+ "type": "number",
72
+ "format": "float"
73
+ }
74
+ },
75
+ {
76
+ "name": "long_from",
77
+ "in": "query",
78
+ "required": false,
79
+ "description": "Longitude of source location for coordinate-based conversion.",
80
+ "schema": {
81
+ "type": "number",
82
+ "format": "float"
83
+ }
84
+ },
85
+ {
86
+ "name": "lat_to",
87
+ "in": "query",
88
+ "required": false,
89
+ "description": "Latitude of target location for coordinate-based conversion.",
90
+ "schema": {
91
+ "type": "number",
92
+ "format": "float"
93
+ }
94
+ },
95
+ {
96
+ "name": "long_to",
97
+ "in": "query",
98
+ "required": false,
99
+ "description": "Longitude of target location for coordinate-based conversion.",
100
+ "schema": {
101
+ "type": "number",
102
+ "format": "float"
103
+ }
104
+ },
105
+ {
106
+ "name": "location_from",
107
+ "in": "query",
108
+ "required": false,
109
+ "description": "Source location address (city and country) for address-based conversion.",
110
+ "schema": {
111
+ "type": "string"
112
+ }
113
+ },
114
+ {
115
+ "name": "location_to",
116
+ "in": "query",
117
+ "required": false,
118
+ "description": "Target location address (city and country) for address-based conversion.",
119
+ "schema": {
120
+ "type": "string"
121
+ }
122
+ },
123
+ {
124
+ "name": "iata_from",
125
+ "in": "query",
126
+ "required": false,
127
+ "description": "Source IATA airport code (3-letter, e.g., JFK) for airport-based conversion.",
128
+ "schema": {
129
+ "type": "string"
130
+ }
131
+ },
132
+ {
133
+ "name": "iata_to",
134
+ "in": "query",
135
+ "required": false,
136
+ "description": "Target IATA airport code (3-letter) for airport-based conversion.",
137
+ "schema": {
138
+ "type": "string"
139
+ }
140
+ },
141
+ {
142
+ "name": "icao_from",
143
+ "in": "query",
144
+ "required": false,
145
+ "description": "Source ICAO airport code (4-letter, e.g., KJFK) for airport-based conversion.",
146
+ "schema": {
147
+ "type": "string"
148
+ }
149
+ },
150
+ {
151
+ "name": "icao_to",
152
+ "in": "query",
153
+ "required": false,
154
+ "description": "Target ICAO airport code (4-letter) for airport-based conversion.",
155
+ "schema": {
156
+ "type": "string"
157
+ }
158
+ },
159
+ {
160
+ "name": "locode_from",
161
+ "in": "query",
162
+ "required": false,
163
+ "description": "Source UN/LOCODE (5-letter) for location code-based conversion.",
164
+ "schema": {
165
+ "type": "string"
166
+ }
167
+ },
168
+ {
169
+ "name": "locode_to",
170
+ "in": "query",
171
+ "required": false,
172
+ "description": "Target UN/LOCODE (5-letter) for location code-based conversion.",
173
+ "schema": {
174
+ "type": "string"
175
+ }
176
+ }
177
+ ],
178
+ "responses": {
179
+ "200": {
180
+ "description": "Successful timezone conversion response",
181
+ "content": {
182
+ "application/json": {
183
+ "schema": {
184
+ "$ref": "#/components/schemas/TimezoneConversionResponse"
185
+ },
186
+ "examples": {
187
+ "typicalSuccess": {
188
+ "summary": "Whole-hour offset (tz_from/tz_to)",
189
+ "value": {
190
+ "original_time": "2026-07-24 12:00:00",
191
+ "converted_time": "2026-07-24 17:00:00",
192
+ "diff_hour": 5,
193
+ "diff_min": 300
194
+ }
195
+ },
196
+ "fractionalHourOffset": {
197
+ "summary": "Half-hour timezone offset — diff_hour is not always a whole number (e.g. Asia/Kolkata is UTC+5:30)",
198
+ "value": {
199
+ "original_time": "2026-07-24 12:00:00",
200
+ "converted_time": "2026-07-24 02:30:00",
201
+ "diff_hour": 9.5,
202
+ "diff_min": 570
203
+ }
204
+ }
205
+ }
206
+ }
207
+ }
208
+ },
209
+ "400": {
210
+ "description": "Bad Request — Incomplete parameter combination, invalid timezone name, invalid coordinates, or location address not found",
211
+ "content": {
212
+ "application/json": {
213
+ "schema": {
214
+ "$ref": "#/components/schemas/ErrorResponse"
215
+ },
216
+ "examples": {
217
+ "IncompleteParameters": {
218
+ "summary": "Incomplete parameters combination",
219
+ "value": {
220
+ "message": "Parameters' combination is not complete. 'tz_from' and 'tz_to' or 'location_from' and 'location_to' or 'lat_from' and 'long_from' and 'lat_to' and 'long_to' or 'locode_from' and 'locode_to' or 'iata_from' and 'iata_to' or 'icao_from' and 'icao_to' combinations must be provided."
221
+ }
222
+ },
223
+ "InvalidSourceTimezone": {
224
+ "summary": "Invalid source timezone",
225
+ "value": {
226
+ "message": "Check whether your input values are correct; source_time_zone = Invalid/TZ, destined_time_zone = Asia/Karachi, date_time = null"
227
+ }
228
+ },
229
+ "InvalidCoordinates": {
230
+ "summary": "Invalid coordinates range",
231
+ "value": {
232
+ "message": "Provided lat_from (999) or long_from (0) is not valid. Latitude must be between -90.0 and +90.0 and longitude must be between -180.0 and +180.0."
233
+ }
234
+ },
235
+ "FromLocationNotFound": {
236
+ "summary": "Source (from) location address not found",
237
+ "value": {
238
+ "message": "We couldn't find the (from) location (ZZZNOTEXIST). Try a city or state level address only."
239
+ }
240
+ },
241
+ "ToLocationNotFound": {
242
+ "summary": "Target (to) location address not found",
243
+ "value": {
244
+ "message": "We couldn't find the (to) location (ZZZNOTEXIST). Try a city or state level address only."
245
+ }
246
+ }
247
+ }
248
+ }
249
+ }
250
+ },
251
+ "404": {
252
+ "description": "Not Found — Airport (IATA/ICAO) code or UN/LOCODE has no matching data",
253
+ "content": {
254
+ "application/json": {
255
+ "schema": {
256
+ "$ref": "#/components/schemas/ErrorResponse"
257
+ },
258
+ "examples": {
259
+ "InvalidAirportCode": {
260
+ "summary": "IATA/ICAO airport code not found",
261
+ "value": {
262
+ "message": "'Data not found for the provided airport code: XXX Please contact at support@ipgeolocation.io if provided airport code exists.'"
263
+ }
264
+ },
265
+ "InvalidLocode": {
266
+ "summary": "UN/LOCODE not found",
267
+ "value": {
268
+ "message": "'Data not found for the provided LO code: ZZZZZ Please contact at support@ipgeolocation.io if provided LO code exists.'"
269
+ }
270
+ }
271
+ }
272
+ }
273
+ }
274
+ }
275
+ }
276
+ }
277
+ }
278
+ },
279
+ "components": {
280
+ "securitySchemes": {
281
+ "ApiKeyAuthHeader": {
282
+ "type": "apiKey",
283
+ "in": "header",
284
+ "name": "X-apiKey",
285
+ "description": "Pass your API key via the X-apiKey request header."
286
+ },
287
+ "ApiKeyAuthQuery": {
288
+ "type": "apiKey",
289
+ "in": "query",
290
+ "name": "apiKey",
291
+ "description": "Pass your API key via the apiKey query parameter."
292
+ }
293
+ },
294
+ "schemas": {
295
+ "TimezoneConversionResponse": {
296
+ "type": "object",
297
+ "description": "Timezone conversion result containing original and converted timestamps with the difference.",
298
+ "required": [
299
+ "original_time",
300
+ "converted_time",
301
+ "diff_hour",
302
+ "diff_min"
303
+ ],
304
+ "properties": {
305
+ "original_time": {
306
+ "type": "string",
307
+ "description": "The original date and time before any conversion, in yyyy-MM-dd HH:mm:ss format."
308
+ },
309
+ "converted_time": {
310
+ "type": "string",
311
+ "description": "The date and time after conversion to the target timezone, in yyyy-MM-dd HH:mm:ss format."
312
+ },
313
+ "diff_hour": {
314
+ "type": "number",
315
+ "format": "float",
316
+ "description": "The absolute difference in hours between the source and target timezones, always non-negative regardless of conversion direction. Can be fractional for half-hour/quarter-hour offset timezones (e.g. 9.5 for Asia/Kolkata to America/New_York)."
317
+ },
318
+ "diff_min": {
319
+ "type": "integer",
320
+ "description": "The absolute difference between the source and target timezones expressed in total minutes (not a remainder — always diff_hour * 60), always non-negative regardless of conversion direction."
321
+ }
322
+ }
323
+ },
324
+ "ErrorResponse": {
325
+ "type": "object",
326
+ "description": "Standard error envelope returned by the API on failed requests. ",
327
+ "required": ["message"],
328
+ "properties": {
329
+ "error": {
330
+ "type": "string",
331
+ "description": "Short error category or exception type."
332
+ },
333
+ "message": {
334
+ "type": "string",
335
+ "description": "Human-readable error message describing the failure."
336
+ },
337
+ "path": {
338
+ "type": "string",
339
+ "description": "API endpoint path that produced the error."
340
+ },
341
+ "status": {
342
+ "type": "integer",
343
+ "description": "HTTP status code returned with the error."
344
+ },
345
+ "timestamp": {
346
+ "type": "string",
347
+ "format": "date-time",
348
+ "description": "Timestamp when the error occurred (ISO 8601)."
349
+ }
350
+ }
351
+ }
352
+ }
353
+ },
354
+ "security": [
355
+ {
356
+ "ApiKeyAuthHeader": []
357
+ },
358
+ {
359
+ "ApiKeyAuthQuery": []
360
+ }
361
+ ]
362
+ }