@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,633 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: Live Weather API
4
+ version: 1.0.0
5
+ description: Retrieve real-time weather conditions for any location worldwide. Supports lookup by city name or address, GPS coordinates, or IP address. Returns current temperature at 2m, apparent temperature, precipitation (rain, showers, snowfall), cloud cover, pressure at MSL and surface, wind speed and gusts at 10m, WMO weather code, air quality (European and US AQI indices plus pollutant concentrations), and astronomical data (sunrise/sunset, moon phase, day length). Pass a timezone to override the resolved location timezone. When no parameter is supplied the API auto-detects the requesting IP address. latitude, longitude, and elevation in the location object are always strings, never numbers. An extreme out-of-range coordinate (e.g. lat=999) returns a different, less specific error message than a moderately out-of-range one (e.g. lat=91).
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/weather
12
+ description: Live Weather API Server
13
+ paths:
14
+ /current:
15
+ get:
16
+ tags:
17
+ - Weather APIs
18
+ summary: Real-time weather conditions for any location on demand
19
+ description: Get current weather data including temperature, humidity, precipitation, wind conditions, atmospheric pressure, and air quality for any location. Accepts city names, coordinates, or IP addresses. Also includes astronomy data and timezone-aware timestamps.
20
+ operationId: getLiveWeather
21
+ parameters:
22
+ - name: location
23
+ in: query
24
+ schema:
25
+ type: string
26
+ description: City name, place name, or full address.
27
+ required: false
28
+ - name: lat
29
+ in: query
30
+ schema:
31
+ type: number
32
+ description: Latitude of the location.
33
+ required: false
34
+ - name: long
35
+ in: query
36
+ schema:
37
+ type: number
38
+ description: Longitude of the location.
39
+ required: false
40
+ - name: ip
41
+ in: query
42
+ schema:
43
+ type: string
44
+ description: IP(v4 or v6) address for location inference.
45
+ required: false
46
+ - name: timezone
47
+ in: query
48
+ schema:
49
+ type: string
50
+ description: Timezone for the results.
51
+ required: false
52
+ responses:
53
+ '200':
54
+ description: Successful response
55
+ content:
56
+ application/json:
57
+ schema:
58
+ $ref: '#/components/schemas/CurrentWeatherResponse'
59
+ examples:
60
+ typicalSuccess:
61
+ summary: Typical successful response
62
+ value:
63
+ location:
64
+ continent_code: AS
65
+ continent_name: Asia
66
+ country_code2: PK
67
+ country_code3: PAK
68
+ country_name: Pakistan
69
+ country_name_official: Islamic Republic of Pakistan
70
+ is_eu: false
71
+ state_prov: Punjab
72
+ state_code: PK-PB
73
+ district: Lahore
74
+ city: Lahore
75
+ zipcode: '54000'
76
+ latitude: '31.52037'
77
+ longitude: '74.35875'
78
+ locality: Gulberg
79
+ elevation: ''
80
+ timezone: Asia/Karachi
81
+ timezone_abbreviation: GMT+5
82
+ current:
83
+ timestamp: 2025-09-29T17:45
84
+ temperature_2m: 32.5
85
+ relative_humidity_2m: 61
86
+ apparent_temperature: 37.9
87
+ snowfall: 0
88
+ rain: 0
89
+ showers: 0
90
+ precipitation: 0
91
+ weather_code: 2
92
+ cloud_cover: 49
93
+ pressure_msl: 1001.9
94
+ surface_pressure: 977.6
95
+ wind_speed_10m: 4
96
+ wind_direction_10m: 280
97
+ wind_gusts_10m: 8.6
98
+ air_quality:
99
+ timestamp: 2025-09-29T17:45
100
+ european_aqi: 84
101
+ us_aqi: 148
102
+ pm10: 66.2
103
+ pm2_5: 52.7
104
+ carbon_monoxide: 977
105
+ nitrogen_dioxide: 44.5
106
+ sulphur_dioxide: 20.4
107
+ ozone: 159
108
+ dust: 27
109
+ uv_index: 0
110
+ aerosol_optical_depth: 0.48
111
+ uv_index_clear_sky: 0
112
+ astronomy:
113
+ date: '2025-09-29'
114
+ mid_night: '23:52'
115
+ night_end: '04:34'
116
+ sunrise: '05:53'
117
+ sunset: '17:51'
118
+ night_begin: '19:10'
119
+ sun_status: '-'
120
+ solar_noon: '11:52'
121
+ day_length: '11:58'
122
+ moon_phase: FIRST_QUARTER
123
+ moonrise: '12:41'
124
+ moonset: '22:28'
125
+ moon_status: '-'
126
+ '400':
127
+ description: Bad Request — Missing/incomplete lat+long pair, coordinates out of range, invalid timezone, or invalid IP address
128
+ content:
129
+ application/json:
130
+ schema:
131
+ $ref: '#/components/schemas/ErrorResponse'
132
+ examples:
133
+ InvalidCoordinates:
134
+ summary: Latitude or longitude out of range (e.g. lat=91)
135
+ value:
136
+ timestamp: '2026-07-24T11:09:43.616Z'
137
+ status: 400
138
+ message: Invalid latitude or longitude values. Latitude must be between -90 and 90, and longitude must be between -180 and 180
139
+ error: invalid-params
140
+ path: /v1.0/weather/current
141
+ ExtremeCoordinateValue:
142
+ summary: Extreme out-of-range value (e.g. lat=999) hits a different, misleading message than a moderate out-of-range value like lat=91
143
+ value:
144
+ timestamp: '2026-07-24T11:09:30.501Z'
145
+ status: 400
146
+ message: Please provide both lat and long parameters.
147
+ error: invalid-params
148
+ path: /v1.0/weather/current
149
+ InvalidTimezone:
150
+ summary: Invalid timezone
151
+ value:
152
+ timestamp: '2026-07-24T11:09:31.045Z'
153
+ status: 400
154
+ message: Check whether your input value is correct; timezone = NotATimezone
155
+ error: error
156
+ path: /v1.0/weather/current
157
+ InvalidIPAddress:
158
+ summary: Invalid IP address
159
+ value:
160
+ timestamp: '2026-07-24T11:09:31.579Z'
161
+ status: 400
162
+ message: Invalid IP address
163
+ error: invalid-params
164
+ path: /v1.0/weather/current
165
+ '404':
166
+ description: Not Found — Location address could not be resolved
167
+ content:
168
+ application/json:
169
+ schema:
170
+ $ref: '#/components/schemas/ErrorResponse'
171
+ examples:
172
+ LocationNotFound:
173
+ summary: Location not found
174
+ value:
175
+ timestamp: '2026-07-24T11:09:32.129Z'
176
+ status: 404
177
+ message: Location not found
178
+ error: error
179
+ path: /v1.0/weather/current
180
+ components:
181
+ securitySchemes:
182
+ ApiKeyAuthHeader:
183
+ type: apiKey
184
+ in: header
185
+ name: X-apiKey
186
+ description: Pass your API key via the X-apiKey request header.
187
+ ApiKeyAuthQuery:
188
+ type: apiKey
189
+ in: query
190
+ name: apiKey
191
+ description: Pass your API key via the apiKey query parameter.
192
+ schemas:
193
+ CurrentWeatherResponse:
194
+ type: object
195
+ required:
196
+ - location
197
+ - current
198
+ properties:
199
+ location:
200
+ $ref: '#/components/schemas/WeatherLocation'
201
+ current:
202
+ $ref: '#/components/schemas/CurrentWeather'
203
+ description: Current weather data
204
+ description: Current weather response containing location data and current weather conditions.
205
+ WeatherLocation:
206
+ type: object
207
+ description: Location information. The shape of this object varies by lookup method.
208
+ oneOf:
209
+ - description: Location data when the target is specified by GPS coordinates (lat/long).
210
+ $ref: '#/components/schemas/LocationByCoordinates'
211
+ - description: Location data when the target is inferred from an IP address.
212
+ $ref: '#/components/schemas/LocationByIP'
213
+ - description: Location data when the target is specified by a city name or address string.
214
+ $ref: '#/components/schemas/LocationByAddress'
215
+ LocationByCoordinates:
216
+ type: object
217
+ required:
218
+ - latitude
219
+ - longitude
220
+ - country_name
221
+ - state_prov
222
+ - city
223
+ - timezone
224
+ - timezone_abbreviation
225
+ properties:
226
+ latitude:
227
+ type: string
228
+ description: Geographic latitude coordinate in decimal degrees, ranging from -90 (South Pole) to +90 (North Pole). Returned as a string, not a number.
229
+ longitude:
230
+ type: string
231
+ description: Geographic longitude coordinate in decimal degrees, ranging from -180 (West) to +180 (East). Returned as a string, not a number.
232
+ country_name:
233
+ type: string
234
+ description: Full name of the country corresponding to the provided coordinates.
235
+ state_prov:
236
+ type: string
237
+ description: State, province, or primary administrative division name for the location.
238
+ city:
239
+ type: string
240
+ description: City or municipal area name associated with the coordinate location.
241
+ locality:
242
+ type: string
243
+ description: Specific locality, neighborhood, district, or village name within the broader area.
244
+ elevation:
245
+ type: string
246
+ description: Height above mean sea level in meters for the specified coordinates. Returned as a string, not a number; can be an empty string when unavailable.
247
+ timezone:
248
+ type: string
249
+ description: IANA timezone database identifier for the location (e.g., America/New_York, Europe/London).
250
+ timezone_abbreviation:
251
+ type: string
252
+ description: Abbreviated timezone representation based on current offset (e.g., EST, GMT, PST).
253
+ description: Location data when the target is specified by GPS coordinates (lat/long).
254
+ LocationByIP:
255
+ type: object
256
+ required:
257
+ - continent_code
258
+ - continent_name
259
+ - country_code2
260
+ - country_code3
261
+ - country_name
262
+ - country_name_official
263
+ - state_prov
264
+ - city
265
+ - latitude
266
+ - longitude
267
+ - timezone
268
+ - timezone_abbreviation
269
+ properties:
270
+ continent_code:
271
+ type: string
272
+ description: Two-letter continent code (e.g., NA for North America, EU for Europe, AS for Asia).
273
+ continent_name:
274
+ type: string
275
+ description: Full name of the continent where the IP address is registered.
276
+ country_code2:
277
+ type: string
278
+ description: ISO 3166-1 alpha-2 two-letter country code (e.g., US, GB, FR).
279
+ country_code3:
280
+ type: string
281
+ description: ISO 3166-1 alpha-3 three-letter country code (e.g., USA, GBR, FRA).
282
+ country_name:
283
+ type: string
284
+ description: Common name of the country associated with the IP address.
285
+ country_name_official:
286
+ type: string
287
+ description: Official long-form country name as recognized internationally (e.g., United States of America).
288
+ is_eu:
289
+ type: boolean
290
+ description: Boolean flag indicating whether the country is a member state of the European Union.
291
+ state_prov:
292
+ type: string
293
+ description: State, province, or primary administrative division associated with the IP location.
294
+ state_code:
295
+ type: string
296
+ description: ISO 3166-2 subdivision code for the state or province (e.g., CA for California).
297
+ district:
298
+ type: string
299
+ description: District, county, or secondary administrative division within the region.
300
+ city:
301
+ type: string
302
+ description: City or urban area name where the IP address is geographically registered.
303
+ zipcode:
304
+ type: string
305
+ description: Postal code or ZIP code for the approximate location of the IP address.
306
+ latitude:
307
+ type: string
308
+ description: Geographic latitude in decimal degrees for the IP geolocation, ranging from -90 to +90. Returned as a string, not a number.
309
+ longitude:
310
+ type: string
311
+ description: Geographic longitude in decimal degrees for the IP geolocation, ranging from -180 to +180. Returned as a string, not a number.
312
+ locality:
313
+ type: string
314
+ description: Specific locality, neighborhood, or small area designation within the city.
315
+ elevation:
316
+ type: string
317
+ description: Elevation above mean sea level in meters for the IP geolocation. Returned as a string, not a number; can be an empty string when unavailable.
318
+ timezone:
319
+ type: string
320
+ description: IANA timezone database identifier for the IP location (e.g., America/Chicago, Asia/Tokyo).
321
+ timezone_abbreviation:
322
+ type: string
323
+ description: Current timezone abbreviation based on local offset (e.g., CST, JST, UTC).
324
+ description: Location data when the target is inferred from an IP address.
325
+ LocationByAddress:
326
+ type: object
327
+ required:
328
+ - location_string
329
+ - country_name
330
+ - state_prov
331
+ - city
332
+ - latitude
333
+ - longitude
334
+ - timezone
335
+ - timezone_abbreviation
336
+ properties:
337
+ location_string:
338
+ type: string
339
+ description: Original location query string as submitted, including full address or place name.
340
+ country_name:
341
+ type: string
342
+ description: Resolved country name derived from the geocoded location query.
343
+ state_prov:
344
+ type: string
345
+ description: State, province, or primary administrative division identified from the location.
346
+ city:
347
+ type: string
348
+ description: City or municipal area name extracted from the geocoded location.
349
+ locality:
350
+ type: string
351
+ description: Specific locality, neighborhood, suburb, or village within the geocoded area.
352
+ latitude:
353
+ type: string
354
+ description: Geocoded latitude coordinate in decimal degrees, ranging from -90 to +90. Returned as a string, not a number.
355
+ longitude:
356
+ type: string
357
+ description: Geocoded longitude coordinate in decimal degrees, ranging from -180 to +180. Returned as a string, not a number.
358
+ elevation:
359
+ type: string
360
+ description: Elevation above mean sea level in meters at the geocoded coordinates. Returned as a string, not a number; can be an empty string when unavailable.
361
+ timezone:
362
+ type: string
363
+ description: IANA timezone database identifier for the geocoded location (e.g., America/Los_Angeles).
364
+ timezone_abbreviation:
365
+ type: string
366
+ description: Current timezone abbreviation for the location based on local offset (e.g., PDT, CET).
367
+ description: Location data when the target is specified by a city name or address string.
368
+ CurrentWeather:
369
+ type: object
370
+ required:
371
+ - timestamp
372
+ - temperature_2m
373
+ - relative_humidity_2m
374
+ - apparent_temperature
375
+ - snowfall
376
+ - rain
377
+ - showers
378
+ - precipitation
379
+ - weather_code
380
+ - cloud_cover
381
+ - pressure_msl
382
+ - surface_pressure
383
+ - wind_speed_10m
384
+ - wind_direction_10m
385
+ - wind_gusts_10m
386
+ - astronomy
387
+ - air_quality
388
+ properties:
389
+ timestamp:
390
+ type: string
391
+ format: date-time
392
+ description: ISO 8601 formatted timestamp of the current weather observation.
393
+ temperature_2m:
394
+ type: number
395
+ format: float
396
+ description: Current air temperature (°C) measured at 2 meters above ground.
397
+ relative_humidity_2m:
398
+ type: number
399
+ format: float
400
+ description: Current relative humidity percentage at 2 meters above ground.
401
+ apparent_temperature:
402
+ type: number
403
+ format: float
404
+ description: Current apparent temperature (°C) accounting for wind chill and humidity.
405
+ snowfall:
406
+ type: number
407
+ format: float
408
+ description: Current snowfall accumulation in centimeters.
409
+ rain:
410
+ type: number
411
+ format: float
412
+ description: Current rainfall accumulation in millimeters.
413
+ showers:
414
+ type: number
415
+ format: float
416
+ description: Current shower precipitation in millimeters.
417
+ precipitation:
418
+ type: number
419
+ format: float
420
+ description: Total precipitation (mm) including rain, showers, and snowfall.
421
+ weather_code:
422
+ type: integer
423
+ enum:
424
+ - 0
425
+ - 1
426
+ - 2
427
+ - 3
428
+ - 45
429
+ - 48
430
+ - 51
431
+ - 53
432
+ - 55
433
+ - 56
434
+ - 57
435
+ - 61
436
+ - 63
437
+ - 65
438
+ - 66
439
+ - 67
440
+ - 71
441
+ - 73
442
+ - 75
443
+ - 77
444
+ - 80
445
+ - 81
446
+ - 82
447
+ - 85
448
+ - 86
449
+ - 95
450
+ - 96
451
+ - 99
452
+ description: 'WMO weather condition code representing current conditions. Supported codes: 0 clear sky; 1, 2, 3 varying cloud cover; 45, 48 fog; 51, 53, 55 drizzle; 56, 57 freezing drizzle; 61, 63, 65 rain; 66, 67 freezing rain; 71, 73, 75 snowfall; 77 snow grains; 80, 81, 82 rain showers; 85, 86 snow showers; 95 thunderstorm; 96, 99 thunderstorm with hail.'
453
+ cloud_cover:
454
+ type: number
455
+ format: float
456
+ description: Current percentage of sky covered by clouds.
457
+ pressure_msl:
458
+ type: number
459
+ format: float
460
+ description: Current atmospheric pressure (hPa) adjusted to mean sea level.
461
+ surface_pressure:
462
+ type: number
463
+ format: float
464
+ description: Current atmospheric pressure (hPa) at surface level.
465
+ wind_speed_10m:
466
+ type: number
467
+ format: float
468
+ description: Current wind speed (km/h) at 10 meters above ground.
469
+ wind_direction_10m:
470
+ type: integer
471
+ description: Current wind direction in degrees at 10 meters above ground.
472
+ wind_gusts_10m:
473
+ type: number
474
+ format: float
475
+ description: Current wind gust speed (km/h) at 10 meters above ground.
476
+ astronomy:
477
+ $ref: '#/components/schemas/Astronomy'
478
+ description: Astronomical information including sunrise, sunset, and moon phases for the current date.
479
+ air_quality:
480
+ $ref: '#/components/schemas/AirQuality'
481
+ description: Air quality metrics including pollutant concentrations and AQI values.
482
+ description: Current weather conditions including temperature, humidity, precipitation, wind, pressure, astronomy, and air quality.
483
+ Astronomy:
484
+ type: object
485
+ required:
486
+ - date
487
+ - mid_night
488
+ - night_end
489
+ - sunrise
490
+ - solar_noon
491
+ - sunset
492
+ - night_begin
493
+ - day_length
494
+ - sun_status
495
+ - moon_phase
496
+ - moonrise
497
+ - moonset
498
+ - moon_status
499
+ properties:
500
+ date:
501
+ type: string
502
+ format: date
503
+ description: Calendar date in YYYY-MM-DD format for the astronomical data.
504
+ mid_night:
505
+ type: string
506
+ description: Time of true solar midnight in HH:MM format.
507
+ night_end:
508
+ type: string
509
+ description: Time when astronomical twilight ends and dawn begins in HH:MM format.
510
+ sunrise:
511
+ type: string
512
+ description: Time when the Sun becomes visible above the horizon in HH:MM format.
513
+ solar_noon:
514
+ type: string
515
+ description: Time when the Sun reaches its highest point in the sky in HH:MM format.
516
+ sunset:
517
+ type: string
518
+ description: Time when the Sun disappears below the horizon in HH:MM format.
519
+ night_begin:
520
+ type: string
521
+ description: Time when astronomical twilight begins and night starts in HH:MM format.
522
+ day_length:
523
+ type: string
524
+ description: Total duration of daylight in HH:MM format.
525
+ sun_status:
526
+ type: string
527
+ description: Current position of the Sun relative to the horizon (above_horizon, below_horizon, or -).
528
+ moon_phase:
529
+ type: string
530
+ description: Current lunar phase (NEW_MOON, WAXING_CRESCENT, FULL_MOON, WANING_GIBBOUS, etc.).
531
+ moonrise:
532
+ type: string
533
+ description: Time when the Moon becomes visible above the horizon in HH:MM format.
534
+ moonset:
535
+ type: string
536
+ description: Time when the Moon disappears below the horizon in HH:MM format.
537
+ moon_status:
538
+ type: string
539
+ description: Current visibility status of the Moon (visible, not_visible, or -).
540
+ description: Astronomical data including sunrise, sunset, solar noon, day length, moon phase, and moon times.
541
+ AirQuality:
542
+ type: object
543
+ required:
544
+ - timestamp
545
+ - european_aqi
546
+ - us_aqi
547
+ - pm10
548
+ - pm2_5
549
+ - carbon_monoxide
550
+ - nitrogen_dioxide
551
+ - sulphur_dioxide
552
+ - ozone
553
+ - dust
554
+ - uv_index
555
+ - aerosol_optical_depth
556
+ - uv_index_clear_sky
557
+ properties:
558
+ timestamp:
559
+ type: string
560
+ format: date-time
561
+ description: ISO 8601 formatted timestamp (iso8601).
562
+ european_aqi:
563
+ type: integer
564
+ description: 'Consolidated European Air Quality Index representing the highest value among individual pollutant indices. Ranges: 0-20 (good), 20-40 (fair), 40-60 (moderate), 60-80 (poor), 80-100 (very poor), >100 (extremely poor).'
565
+ us_aqi:
566
+ type: integer
567
+ description: 'Consolidated U.S. Air Quality Index representing the highest value among individual pollutant indices. Ranges: 0-50 (good), 51-100 (moderate), 101-150 (unhealthy for sensitive groups), 151-200 (unhealthy), 201-300 (very unhealthy), 301-500 (hazardous).'
568
+ pm10:
569
+ type: number
570
+ format: float
571
+ description: Particulate matter with diameter less than 10 micrometers (μg/m³) measured at 10 meters above ground.
572
+ pm2_5:
573
+ type: number
574
+ format: float
575
+ description: Particulate matter with diameter less than 2.5 micrometers (μg/m³) measured at 10 meters above ground.
576
+ carbon_monoxide:
577
+ type: number
578
+ format: float
579
+ description: Atmospheric carbon monoxide gas concentration (μg/m³) at 10 meters above ground.
580
+ nitrogen_dioxide:
581
+ type: number
582
+ format: float
583
+ description: Atmospheric nitrogen dioxide gas concentration (μg/m³) at 10 meters above ground.
584
+ sulphur_dioxide:
585
+ type: number
586
+ format: float
587
+ description: Atmospheric sulphur dioxide gas concentration (μg/m³) at 10 meters above ground.
588
+ ozone:
589
+ type: number
590
+ format: float
591
+ description: Atmospheric ozone gas concentration (μg/m³) at 10 meters above ground.
592
+ dust:
593
+ type: number
594
+ format: float
595
+ description: Saharan dust particle concentration (μg/m³) at 10 meters above ground.
596
+ uv_index:
597
+ type: number
598
+ format: float
599
+ description: Ultraviolet radiation intensity index accounting for cloud coverage.
600
+ aerosol_optical_depth:
601
+ type: number
602
+ format: float
603
+ description: Aerosol optical depth at 550 nm wavelength indicating atmospheric haze levels.
604
+ uv_index_clear_sky:
605
+ type: number
606
+ format: float
607
+ description: Ultraviolet radiation intensity index assuming cloud-free conditions.
608
+ description: Air quality metrics including European and US AQI indices plus individual pollutant concentrations.
609
+ ErrorResponse:
610
+ type: object
611
+ required:
612
+ - message
613
+ properties:
614
+ error:
615
+ type: string
616
+ description: Short error category or exception type.
617
+ message:
618
+ type: string
619
+ description: Human-readable error message describing the failure.
620
+ path:
621
+ type: string
622
+ description: API endpoint path that produced the error.
623
+ status:
624
+ type: integer
625
+ description: HTTP status code returned with the error.
626
+ timestamp:
627
+ type: string
628
+ format: date-time
629
+ description: Timestamp when the error occurred (ISO 8601).
630
+ description: Standard error envelope returned by the API on failed requests.
631
+ security:
632
+ - ApiKeyAuthHeader: []
633
+ - ApiKeyAuthQuery: []