@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,519 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: Flood Forecast API - River Discharge & Flood Risk Monitoring
4
+ version: 1.0.0
5
+ description: Get daily flood risk and river discharge forecast data for any location, up to 16 days ahead. Returns a `location` block plus a `forecast` object keyed by date, each day carrying river discharge statistics (`river_discharge`, mean, median, max, min, and the p25/p75 percentiles) in m³/s. Accepts the target location as a `location` string, `lat`/`long` coordinates, or an `ip` address; the `timezone` param controls the returned timezone abbreviation. If none of `location`, `lat`/`long`, or `ip` are supplied, the location is auto-detected from the caller's IP address. Locations without a nearby monitored river return a `200` response with all discharge values at `0` rather than an error.
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: Flood Forecast API Server
13
+ paths:
14
+ /flood:
15
+ get:
16
+ tags:
17
+ - Weather APIs
18
+ summary: Get flood risk and river discharge forecast
19
+ description: Provides flood forecast data for a given location, including river discharge metrics such as mean, median, maximum, minimum, and percentile values (p25, p75). Requires a startDate and endDate, with the date range limited to 16 days. Location can be specified using city name, latitude/longitude, or IP address; if omitted entirely, the caller's IP is used.
20
+ operationId: getFloodForecast
21
+ parameters:
22
+ - name: format
23
+ in: query
24
+ required: false
25
+ description: 'Format of the response. Possible values: json.'
26
+ schema:
27
+ type: string
28
+ enum:
29
+ - json
30
+ default: json
31
+ - name: startDate
32
+ in: query
33
+ required: true
34
+ schema:
35
+ type: string
36
+ format: date
37
+ description: Starting date for flood forecast data in YYYY-MM-DD format. Forecast dates must be current or future dates only. Past dates are not allowed for forecast data. The difference between endDate and startDate must not exceed 16 days.
38
+ - name: endDate
39
+ in: query
40
+ required: true
41
+ schema:
42
+ type: string
43
+ format: date
44
+ description: End date for flood forecast data in YYYY-MM-DD format. Forecast dates must be current or future dates only. Past dates are not allowed for forecast data. The difference between endDate and startDate must not exceed 16 days.
45
+ - name: location
46
+ in: query
47
+ schema:
48
+ type: string
49
+ description: City name, place name, or full address.
50
+ required: false
51
+ - name: lat
52
+ in: query
53
+ schema:
54
+ type: number
55
+ description: Latitude of the location.
56
+ required: false
57
+ - name: long
58
+ in: query
59
+ schema:
60
+ type: number
61
+ description: Longitude of the location.
62
+ required: false
63
+ - name: ip
64
+ in: query
65
+ schema:
66
+ type: string
67
+ description: IP(v4 or v6) address for location inference.
68
+ required: false
69
+ - name: precision
70
+ in: query
71
+ required: false
72
+ description: Forecast data granularity. Only 'daily' is supported; any other value returns a 400 error.
73
+ schema:
74
+ type: string
75
+ enum:
76
+ - daily
77
+ default: daily
78
+ - name: timezone
79
+ in: query
80
+ schema:
81
+ type: string
82
+ description: Timezone for the results.
83
+ required: false
84
+ responses:
85
+ '200':
86
+ description: Successful flood forecast response
87
+ content:
88
+ application/json:
89
+ schema:
90
+ $ref: '#/components/schemas/FloodResponse'
91
+ examples:
92
+ typicalSuccess:
93
+ summary: Typical successful response
94
+ value:
95
+ location:
96
+ location_string: London
97
+ country_name: United Kingdom
98
+ state_prov: England
99
+ city: London
100
+ locality: ''
101
+ latitude: '51.50745'
102
+ longitude: '-0.12777'
103
+ elevation: '12'
104
+ timezone: Europe/London
105
+ timezone_abbreviation: GMT+1
106
+ forecast:
107
+ '2026-07-25':
108
+ daily:
109
+ timestamp: '2026-07-25'
110
+ river_discharge: 5.47
111
+ river_discharge_mean: 5.47
112
+ river_discharge_median: 5.47
113
+ river_discharge_max: 5.68
114
+ river_discharge_min: 5.44
115
+ river_discharge_p25: 5.46
116
+ river_discharge_p75: 5.47
117
+ '2026-07-26':
118
+ daily:
119
+ timestamp: '2026-07-26'
120
+ river_discharge: 5.46
121
+ river_discharge_mean: 5.47
122
+ river_discharge_median: 5.46
123
+ river_discharge_max: 6.06
124
+ river_discharge_min: 5.4
125
+ river_discharge_p25: 5.46
126
+ river_discharge_p75: 5.47
127
+ '2026-07-27':
128
+ daily:
129
+ timestamp: '2026-07-27'
130
+ river_discharge: 5.4
131
+ river_discharge_mean: 5.4
132
+ river_discharge_median: 5.4
133
+ river_discharge_max: 6.11
134
+ river_discharge_min: 5.3
135
+ river_discharge_p25: 5.35
136
+ river_discharge_p75: 5.42
137
+ '2026-07-28':
138
+ daily:
139
+ timestamp: '2026-07-28'
140
+ river_discharge: 5.37
141
+ river_discharge_mean: 5.98
142
+ river_discharge_median: 5.36
143
+ river_discharge_max: 22.99
144
+ river_discharge_min: 5.27
145
+ river_discharge_p25: 5.31
146
+ river_discharge_p75: 5.54
147
+ noRiverDataNearby:
148
+ summary: Location with no nearby monitored river
149
+ value:
150
+ location:
151
+ latitude: '23.40000'
152
+ longitude: '11.50000'
153
+ country_name: Algeria
154
+ state_prov: Djanet
155
+ city: Djanet
156
+ locality: ''
157
+ elevation: ''
158
+ timezone: Africa/Algiers
159
+ timezone_abbreviation: GMT+1
160
+ forecast:
161
+ '2026-07-25':
162
+ daily:
163
+ timestamp: '2026-07-25'
164
+ river_discharge: 0
165
+ river_discharge_mean: 0
166
+ river_discharge_median: 0
167
+ river_discharge_max: 0
168
+ river_discharge_min: 0
169
+ river_discharge_p25: 0
170
+ river_discharge_p75: 0
171
+ '400':
172
+ description: Bad Request — Missing, malformed, or out-of-range parameters
173
+ content:
174
+ application/json:
175
+ schema:
176
+ $ref: '#/components/schemas/ErrorResponse'
177
+ examples:
178
+ MissingParams:
179
+ summary: Missing or incomplete location parameters
180
+ value:
181
+ error: Invalid Param Exception
182
+ message: please pass correct parameters
183
+ path: /v1.0/weather/flood
184
+ status: 400
185
+ timestamp: '2026-07-24T11:35:53.121Z'
186
+ InvalidCoordinates:
187
+ summary: Latitude or longitude out of range
188
+ value:
189
+ timestamp: '2026-07-24T11:34:58.755Z'
190
+ status: 400
191
+ message: Invalid latitude or longitude values. Latitude must be between -90 and 90, and longitude must be between -180 and 180
192
+ error: invalid-params
193
+ path: /v1.0/weather/flood
194
+ UnresolvedCoordinates:
195
+ summary: In-range coordinates over open ocean/uninhabited area
196
+ value:
197
+ timestamp: '2026-07-24T11:35:26.119Z'
198
+ status: 400
199
+ message: Please provide both lat and long parameters.
200
+ error: invalid-params
201
+ path: /v1.0/weather/flood
202
+ InvalidIp:
203
+ summary: Malformed IP address
204
+ value:
205
+ timestamp: '2026-07-24T11:35:53.649Z'
206
+ status: 400
207
+ message: Invalid IP address
208
+ error: invalid-params
209
+ path: /v1.0/weather/flood
210
+ InvalidPrecision:
211
+ summary: Unsupported precision value
212
+ value:
213
+ timestamp: '2026-07-24T11:35:40.099Z'
214
+ status: 400
215
+ message: '''hourly'' precision is not supported on this endpoint'
216
+ error: invalid-params
217
+ path: /v1.0/weather/flood
218
+ BadDateFormat:
219
+ summary: Bad date format
220
+ value:
221
+ timestamp: '2026-07-24T11:35:10.570Z'
222
+ status: 400
223
+ message: startDate must be in yyyy-mm-dd format
224
+ error: invalid-params
225
+ path: /v1.0/weather/flood
226
+ EndBeforeStart:
227
+ summary: End date before start date
228
+ value:
229
+ timestamp: '2026-07-24T11:35:11.115Z'
230
+ status: 400
231
+ message: startDate must be before or equal to endDate
232
+ error: params-exception-error
233
+ path: /v1.0/weather/flood
234
+ DateRangeExceeded:
235
+ summary: Date range exceeds 16 days, or a past date was requested
236
+ value:
237
+ timestamp: '2026-07-24T11:35:11.610Z'
238
+ status: 400
239
+ message: Forecast date range must be within 2026-07-24 to 2026-08-08
240
+ error: params-exception-error
241
+ path: /v1.0/weather/flood
242
+ '404':
243
+ description: Not Found — Location could not be resolved
244
+ content:
245
+ application/json:
246
+ schema:
247
+ $ref: '#/components/schemas/ErrorResponse'
248
+ examples:
249
+ LocationNotFound:
250
+ summary: Location not found
251
+ value:
252
+ timestamp: '2026-07-24T11:35:12.674Z'
253
+ status: 404
254
+ message: Location not found
255
+ error: error
256
+ path: /v1.0/weather/flood
257
+ components:
258
+ securitySchemes:
259
+ ApiKeyAuthHeader:
260
+ type: apiKey
261
+ in: header
262
+ name: X-apiKey
263
+ description: Pass your API key via the X-apiKey request header.
264
+ ApiKeyAuthQuery:
265
+ type: apiKey
266
+ in: query
267
+ name: apiKey
268
+ description: Pass your API key via the apiKey query parameter.
269
+ schemas:
270
+ FloodResponse:
271
+ type: object
272
+ properties:
273
+ location:
274
+ $ref: '#/components/schemas/WeatherLocation'
275
+ forecast:
276
+ $ref: '#/components/schemas/FloodForecastData'
277
+ required:
278
+ - location
279
+ - forecast
280
+ description: Flood forecast response containing location data and date-keyed river discharge forecasts.
281
+ LocationByCoordinates:
282
+ type: object
283
+ required:
284
+ - latitude
285
+ - longitude
286
+ - country_name
287
+ - state_prov
288
+ - city
289
+ - timezone
290
+ - timezone_abbreviation
291
+ properties:
292
+ latitude:
293
+ type: string
294
+ description: Geographic latitude coordinate in decimal degrees, ranging from -90 (South Pole) to +90 (North Pole). Returned as a string, not a number.
295
+ longitude:
296
+ type: string
297
+ description: Geographic longitude coordinate in decimal degrees, ranging from -180 (West) to +180 (East). Returned as a string, not a number.
298
+ country_name:
299
+ type: string
300
+ description: Full name of the country corresponding to the provided coordinates.
301
+ state_prov:
302
+ type: string
303
+ description: State, province, or primary administrative division name for the location.
304
+ city:
305
+ type: string
306
+ description: City or municipal area name associated with the coordinate location.
307
+ locality:
308
+ type: string
309
+ description: Specific locality, neighborhood, district, or village name within the broader area.
310
+ elevation:
311
+ type: string
312
+ description: Height above mean sea level in meters for the specified coordinates, returned as a string. Can be an empty string when elevation data is unavailable.
313
+ timezone:
314
+ type: string
315
+ description: IANA timezone database identifier for the location (e.g., America/New_York, Europe/London).
316
+ timezone_abbreviation:
317
+ type: string
318
+ description: Abbreviated timezone representation based on current offset (e.g., EST, GMT, PST).
319
+ description: Location data when the target is specified by GPS coordinates (lat/long).
320
+ LocationByIP:
321
+ type: object
322
+ required:
323
+ - continent_code
324
+ - continent_name
325
+ - country_code2
326
+ - country_code3
327
+ - country_name
328
+ - country_name_official
329
+ - state_prov
330
+ - city
331
+ - latitude
332
+ - longitude
333
+ - timezone
334
+ - timezone_abbreviation
335
+ properties:
336
+ continent_code:
337
+ type: string
338
+ description: Two-letter continent code (e.g., NA for North America, EU for Europe, AS for Asia).
339
+ continent_name:
340
+ type: string
341
+ description: Full name of the continent where the IP address is registered.
342
+ country_code2:
343
+ type: string
344
+ description: ISO 3166-1 alpha-2 two-letter country code (e.g., US, GB, FR).
345
+ country_code3:
346
+ type: string
347
+ description: ISO 3166-1 alpha-3 three-letter country code (e.g., USA, GBR, FRA).
348
+ country_name:
349
+ type: string
350
+ description: Common name of the country associated with the IP address.
351
+ country_name_official:
352
+ type: string
353
+ description: Official long-form country name as recognized internationally (e.g., United States of America).
354
+ is_eu:
355
+ type: boolean
356
+ description: Boolean flag indicating whether the country is a member state of the European Union.
357
+ state_prov:
358
+ type: string
359
+ description: State, province, or primary administrative division associated with the IP location.
360
+ state_code:
361
+ type: string
362
+ description: ISO 3166-2 subdivision code for the state or province (e.g., CA for California).
363
+ district:
364
+ type: string
365
+ description: District, county, or secondary administrative division within the region.
366
+ city:
367
+ type: string
368
+ description: City or urban area name where the IP address is geographically registered.
369
+ zipcode:
370
+ type: string
371
+ description: Postal code or ZIP code for the approximate location of the IP address.
372
+ latitude:
373
+ type: string
374
+ description: Geographic latitude in decimal degrees for the IP geolocation, ranging from -90 to +90. Returned as a string, not a number.
375
+ longitude:
376
+ type: string
377
+ description: Geographic longitude in decimal degrees for the IP geolocation, ranging from -180 to +180. Returned as a string, not a number.
378
+ locality:
379
+ type: string
380
+ description: Specific locality, neighborhood, or small area designation within the city.
381
+ elevation:
382
+ type: string
383
+ description: Elevation above mean sea level in meters for the IP geolocation, returned as a string. Can be an empty string when elevation data is unavailable.
384
+ timezone:
385
+ type: string
386
+ description: IANA timezone database identifier for the IP location (e.g., America/Chicago, Asia/Tokyo).
387
+ timezone_abbreviation:
388
+ type: string
389
+ description: Current timezone abbreviation based on local offset (e.g., CST, JST, UTC).
390
+ description: Location data when the target is inferred from an IP address.
391
+ LocationByAddress:
392
+ type: object
393
+ required:
394
+ - location_string
395
+ - country_name
396
+ - state_prov
397
+ - city
398
+ - latitude
399
+ - longitude
400
+ - timezone
401
+ - timezone_abbreviation
402
+ properties:
403
+ location_string:
404
+ type: string
405
+ description: Original location query string as submitted, including full address or place name.
406
+ country_name:
407
+ type: string
408
+ description: Resolved country name derived from the geocoded location query.
409
+ state_prov:
410
+ type: string
411
+ description: State, province, or primary administrative division identified from the location.
412
+ city:
413
+ type: string
414
+ description: City or municipal area name extracted from the geocoded location.
415
+ locality:
416
+ type: string
417
+ description: Specific locality, neighborhood, suburb, or village within the geocoded area.
418
+ latitude:
419
+ type: string
420
+ description: Geocoded latitude coordinate in decimal degrees, ranging from -90 to +90. Returned as a string, not a number.
421
+ longitude:
422
+ type: string
423
+ description: Geocoded longitude coordinate in decimal degrees, ranging from -180 to +180. Returned as a string, not a number.
424
+ elevation:
425
+ type: string
426
+ description: Elevation above mean sea level in meters at the geocoded coordinates, returned as a string. Can be an empty string when elevation data is unavailable.
427
+ timezone:
428
+ type: string
429
+ description: IANA timezone database identifier for the geocoded location (e.g., America/Los_Angeles).
430
+ timezone_abbreviation:
431
+ type: string
432
+ description: Current timezone abbreviation for the location based on local offset (e.g., PDT, CET).
433
+ description: Location data when the target is specified by a city name or address string.
434
+ FloodDaily:
435
+ type: object
436
+ properties:
437
+ timestamp:
438
+ type: string
439
+ format: date
440
+ description: Forecast date in YYYY-MM-DD format. Returned as a date only, with no time component despite the parent object being keyed by the same date.
441
+ river_discharge:
442
+ type: number
443
+ description: The observed river discharge value (m³/s)
444
+ river_discharge_mean:
445
+ type: number
446
+ description: The mean river discharge (m³/s)
447
+ river_discharge_median:
448
+ type: number
449
+ description: The median river discharge (m³/s)
450
+ river_discharge_max:
451
+ type: number
452
+ description: The maximum river discharge (m³/s)
453
+ river_discharge_min:
454
+ type: number
455
+ description: The minimum river discharge (m³/s)
456
+ river_discharge_p25:
457
+ type: number
458
+ description: The 25th percentile of river discharge (m³/s)
459
+ river_discharge_p75:
460
+ type: number
461
+ description: The 75th percentile of river discharge (m³/s)
462
+ required:
463
+ - timestamp
464
+ - river_discharge
465
+ - river_discharge_mean
466
+ - river_discharge_median
467
+ - river_discharge_max
468
+ - river_discharge_min
469
+ - river_discharge_p25
470
+ - river_discharge_p75
471
+ description: Daily river discharge forecast data with discharge statistics and percentiles.
472
+ ErrorResponse:
473
+ type: object
474
+ description: Standard error envelope returned by the API on failed requests.
475
+ required:
476
+ - message
477
+ properties:
478
+ error:
479
+ type: string
480
+ description: Short error category or exception type.
481
+ message:
482
+ type: string
483
+ description: Human-readable error message describing the failure.
484
+ path:
485
+ type: string
486
+ description: API endpoint path that produced the error.
487
+ status:
488
+ type: integer
489
+ description: HTTP status code returned with the error.
490
+ timestamp:
491
+ type: string
492
+ format: date-time
493
+ description: Timestamp when the error occurred (ISO 8601).
494
+ WeatherLocation:
495
+ type: object
496
+ description: Location information
497
+ oneOf:
498
+ - description: Location data when the target is specified by GPS coordinates (lat/long).
499
+ $ref: '#/components/schemas/LocationByCoordinates'
500
+ - description: Location data when the target is inferred from an IP address.
501
+ $ref: '#/components/schemas/LocationByIP'
502
+ - description: Location data when the target is specified by a city name or address string.
503
+ $ref: '#/components/schemas/LocationByAddress'
504
+ FloodForecastData:
505
+ type: object
506
+ description: Flood forecast data object keyed by date (YYYY-MM-DD); each key's value is a FloodForecastDay object.
507
+ additionalProperties:
508
+ $ref: '#/components/schemas/FloodForecastDay'
509
+ FloodForecastDay:
510
+ type: object
511
+ description: Flood forecast data for a single day, containing river discharge metrics.
512
+ required:
513
+ - daily
514
+ properties:
515
+ daily:
516
+ $ref: '#/components/schemas/FloodDaily'
517
+ security:
518
+ - ApiKeyAuthHeader: []
519
+ - ApiKeyAuthQuery: []