@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,708 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: IP Geolocation API - City, Country, Coordinates & ISP Data
4
+ version: 1.0.0
5
+ description: Retrieve real-time geolocation and network intelligence for a single IPv4 or IPv6 address or hostname. Returns location (continent, country, region, city, coordinates, timezone), network (ASN, ISP/company, route), and currency data by default. Pass `include=security,hostname,liveHostname,hostnameFallbackLive,user_agent,abuse,dma_code,geo_accuracy` (or `include=*`) to add threat-intelligence scoring, reverse DNS resolution, parsed User-Agent details, abuse contact info, DMA code, or geolocation accuracy metadata as additional response blocks. Reserved, bogon, or unrecognized IP addresses return a `423` or `404` error instead of partial location 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/v2.0
12
+ description: IP Locator API Server
13
+ paths:
14
+ /geolocation/lookup:
15
+ get:
16
+ tags:
17
+ - IP Geolocation APIs
18
+ summary: Retrieve real-time and accurate IP geolocation and threat intelligence information for an IPv4 or IPv6 address
19
+ description: Get detailed IP geolocation data for an IP address including country, city, timezone, currency, and optional threat intelligence and user-agent information.
20
+ operationId: ipLookup
21
+ parameters:
22
+ - name: format
23
+ in: query
24
+ required: false
25
+ description: Format of the response.
26
+ schema:
27
+ type: string
28
+ enum:
29
+ - json
30
+ - xml
31
+ default: json
32
+ - name: ip
33
+ in: query
34
+ required: false
35
+ description: IPv4, IPv6, or hostname for geolocation lookup.
36
+ schema:
37
+ type: string
38
+ - name: lang
39
+ in: query
40
+ required: false
41
+ description: 'Response language for location fields. Default: en.'
42
+ schema:
43
+ type: string
44
+ enum:
45
+ - en
46
+ - de
47
+ - ru
48
+ - ja
49
+ - fr
50
+ - cn
51
+ - es
52
+ - cs
53
+ - it
54
+ - ko
55
+ - fa
56
+ - pt
57
+ default: en
58
+ - name: fields
59
+ in: query
60
+ required: false
61
+ description: Comma-separated list of fields to include in response. For example, `location` includes all location fields, `location.city` is a specific field.
62
+ schema:
63
+ type: string
64
+ - name: excludes
65
+ in: query
66
+ required: false
67
+ description: Comma-separated list of fields to exclude from response.
68
+ schema:
69
+ type: string
70
+ - name: include
71
+ in: query
72
+ required: false
73
+ description: 'Comma-separated list of additional data modules to include. Possible values: security (threat intelligence), hostname (IP-Hostname lookup), liveHostname (live hostname lookup), hostnameFallbackLive (hostname with live fallback), user_agent (parse User-Agent header), abuse (abuse contact info), dma_code (DMA code), geo_accuracy (accuracy_radius, confidence, locality), * (all modules).'
74
+ schema:
75
+ type: string
76
+ responses:
77
+ '200':
78
+ description: Successful geolocation response
79
+ content:
80
+ application/json:
81
+ schema:
82
+ $ref: '#/components/schemas/IpLookupResponse'
83
+ examples:
84
+ typicalSuccess:
85
+ summary: Typical successful response
86
+ value:
87
+ ip: 8.8.8.8
88
+ location:
89
+ continent_code: NA
90
+ continent_name: North America
91
+ country_code2: US
92
+ country_code3: USA
93
+ country_name: United States
94
+ country_name_official: United States of America
95
+ country_capital: Washington, D.C.
96
+ state_prov: California
97
+ state_code: US-CA
98
+ district: Santa Clara
99
+ city: Mountain View
100
+ zipcode: 94043-1351
101
+ latitude: '37.42240'
102
+ longitude: '-122.08421'
103
+ is_eu: false
104
+ country_flag: https://ipgeolocation.io/static/flags/us_64.png
105
+ geoname_id: '6301403'
106
+ country_emoji: 🇺🇸
107
+ country_metadata:
108
+ calling_code: '+1'
109
+ tld: .us
110
+ languages:
111
+ - en-US
112
+ - es-US
113
+ - haw
114
+ - fr
115
+ network:
116
+ connection_type: ''
117
+ route: 8.8.8.0/24
118
+ is_anycast: true
119
+ currency:
120
+ code: USD
121
+ name: US Dollar
122
+ symbol: $
123
+ asn:
124
+ as_number: AS15169
125
+ organization: Google LLC
126
+ country: US
127
+ type: BUSINESS
128
+ domain: google.com
129
+ date_allocated: '2000-03-30'
130
+ rir: ARIN
131
+ company:
132
+ name: Google LLC
133
+ type: HOSTING
134
+ domain: google.com
135
+ time_zone:
136
+ name: America/Los_Angeles
137
+ offset: -8
138
+ offset_with_dst: -7
139
+ current_time: 2026-07-08 03:03:31.835-0700
140
+ current_time_unix: 1783505011.835
141
+ current_tz_abbreviation: PDT
142
+ current_tz_full_name: Pacific Daylight Time
143
+ standard_tz_abbreviation: PST
144
+ standard_tz_full_name: Pacific Standard Time
145
+ is_dst: true
146
+ dst_savings: 1
147
+ dst_exists: true
148
+ dst_tz_abbreviation: PDT
149
+ dst_tz_full_name: Pacific Daylight Time
150
+ dst_start:
151
+ utc_time: 2026-03-08 TIME 10:00
152
+ duration: +1.00H
153
+ gap: true
154
+ date_time_after: 2026-03-08 TIME 03:00
155
+ date_time_before: 2026-03-08 TIME 02:00
156
+ overlap: false
157
+ dst_end:
158
+ utc_time: 2026-11-01 TIME 09:00
159
+ duration: -1.00H
160
+ gap: false
161
+ date_time_after: 2026-11-01 TIME 01:00
162
+ date_time_before: 2026-11-01 TIME 02:00
163
+ overlap: true
164
+ '400':
165
+ description: Bad Request — Invalid or missing parameters
166
+ content:
167
+ application/json:
168
+ schema:
169
+ $ref: '#/components/schemas/ErrorResponse'
170
+ examples:
171
+ badRequest:
172
+ summary: Missing or invalid parameters
173
+ value:
174
+ message: The request was unacceptable. Typically due to missing or invalid parameters.
175
+ '404':
176
+ description: Not Found — IP address not in database
177
+ content:
178
+ application/json:
179
+ schema:
180
+ $ref: '#/components/schemas/ErrorResponse'
181
+ examples:
182
+ notFound:
183
+ summary: IP address not in database
184
+ value:
185
+ message: Provided IP address '255.255.255.255' doesn't exist in our database.
186
+ '423':
187
+ description: Locked — Bogon or reserved IP address
188
+ content:
189
+ application/json:
190
+ schema:
191
+ $ref: '#/components/schemas/ErrorResponse'
192
+ examples:
193
+ locked:
194
+ summary: Bogon or reserved IP address
195
+ value:
196
+ message: '''127.0.0.1'' is a bogon (Internet Assigned Numbers Authority) IP address.'
197
+ components:
198
+ securitySchemes:
199
+ ApiKeyAuthHeader:
200
+ type: apiKey
201
+ in: header
202
+ name: X-apiKey
203
+ description: Pass your API key via the X-apiKey request header.
204
+ ApiKeyAuthQuery:
205
+ type: apiKey
206
+ in: query
207
+ name: apiKey
208
+ description: Pass your API key via the apiKey query parameter.
209
+ schemas:
210
+ IpLookupResponse:
211
+ type: object
212
+ required:
213
+ - ip
214
+ properties:
215
+ ip:
216
+ type: string
217
+ description: The IP address used for the lookup (IPv4 or IPv6).
218
+ domain:
219
+ type: string
220
+ description: The input domain, returned only for domain-based lookups.
221
+ hostname:
222
+ type: string
223
+ description: Reverse DNS hostname (PTR) for the input IP; returns the input IP if not resolvable.
224
+ location:
225
+ $ref: '#/components/schemas/Location'
226
+ country_metadata:
227
+ $ref: '#/components/schemas/CountryMetadata'
228
+ network:
229
+ $ref: '#/components/schemas/Network'
230
+ asn:
231
+ $ref: '#/components/schemas/Asn'
232
+ company:
233
+ $ref: '#/components/schemas/Company'
234
+ currency:
235
+ $ref: '#/components/schemas/Currency'
236
+ security:
237
+ $ref: '#/components/schemas/Security'
238
+ abuse:
239
+ $ref: '#/components/schemas/Abuse'
240
+ time_zone:
241
+ $ref: '#/components/schemas/TimeZone'
242
+ user_agent:
243
+ $ref: '#/components/schemas/UserAgent'
244
+ Location:
245
+ type: object
246
+ description: Geographic location information for the IP.
247
+ required:
248
+ - continent_code
249
+ - continent_name
250
+ - country_code2
251
+ - country_code3
252
+ - country_name
253
+ - country_name_official
254
+ - country_capital
255
+ - latitude
256
+ - longitude
257
+ - is_eu
258
+ - country_flag
259
+ properties:
260
+ continent_code:
261
+ type: string
262
+ description: 2-letter code of the continent.
263
+ continent_name:
264
+ type: string
265
+ description: Name of the continent.
266
+ country_code2:
267
+ type: string
268
+ description: Country code (ISO 3166-1 alpha-2) of the country.
269
+ country_code3:
270
+ type: string
271
+ description: Country code (ISO 3166-1 alpha-3) of the country.
272
+ country_name:
273
+ type: string
274
+ description: Name of the country.
275
+ country_name_official:
276
+ type: string
277
+ description: Official name (ISO 3166) of the country.
278
+ country_capital:
279
+ type: string
280
+ description: Name of the country's capital.
281
+ state_prov:
282
+ type: string
283
+ description: Name of the state/province/region.
284
+ state_code:
285
+ type: string
286
+ description: Code of the state/province/region.
287
+ district:
288
+ type: string
289
+ description: Name of the district or county.
290
+ city:
291
+ type: string
292
+ description: Name of the city.
293
+ locality:
294
+ type: string
295
+ description: A more specific area in city or it can be same as city.
296
+ accuracy_radius:
297
+ type: string
298
+ description: Circular radius in Km, where the IP address location can be found.
299
+ confidence:
300
+ type: string
301
+ description: Confidence level of the location match (e.g., low, medium, high).
302
+ dma_code:
303
+ type:
304
+ - string
305
+ - 'null'
306
+ description: Designated Market Area (DMA) code used in the United States for media marketing.
307
+ zipcode:
308
+ type: string
309
+ description: ZIP/Postal code of the place.
310
+ latitude:
311
+ type: string
312
+ description: Latitude of the place.
313
+ longitude:
314
+ type: string
315
+ description: Longitude of the place.
316
+ is_eu:
317
+ type: boolean
318
+ description: Is the country belong to European Union?
319
+ country_flag:
320
+ type: string
321
+ format: uri
322
+ description: URL to get the country flag.
323
+ geoname_id:
324
+ type: string
325
+ description: Geoname ID of the place from geonames.org.
326
+ country_emoji:
327
+ type: string
328
+ description: Emoji of the Country flag.
329
+ CountryMetadata:
330
+ type: object
331
+ description: Country-specific metadata.
332
+ required:
333
+ - calling_code
334
+ - tld
335
+ - languages
336
+ properties:
337
+ calling_code:
338
+ type: string
339
+ description: Calling code/Dialing code of the country.
340
+ tld:
341
+ type: string
342
+ description: Top Level Domain Name (TLD) of the country, which is also called ccTLD.
343
+ languages:
344
+ type: array
345
+ items:
346
+ type: string
347
+ description: List of the languages' codes, spoken in the country.
348
+ Network:
349
+ type: object
350
+ description: Network information for the IP.
351
+ properties:
352
+ connection_type:
353
+ type: string
354
+ description: Network access type classification (e.g., DSL, Cable, Mobile, 5G) when available.
355
+ route:
356
+ type: string
357
+ description: Network prefix in CIDR notation that contains the IP.
358
+ is_anycast:
359
+ type: boolean
360
+ description: true if the IP is anycast (same IP announced from multiple locations).
361
+ Asn:
362
+ type: object
363
+ description: Autonomous System details for the IP.
364
+ properties:
365
+ as_number:
366
+ type: string
367
+ description: ASN identifier in AS<number> format associated with the IP's network.
368
+ organization:
369
+ type: string
370
+ description: ASN operator name.
371
+ country:
372
+ type: string
373
+ description: ASN registration country as ISO 3166-1 alpha-2.
374
+ type:
375
+ type: string
376
+ description: ASN category (ISP, HOSTING, BUSINESS, etc.).
377
+ domain:
378
+ type: string
379
+ description: ASN operator domain name.
380
+ date_allocated:
381
+ type: string
382
+ description: ASN allocation date in YYYY-MM-DD format.
383
+ rir:
384
+ type: string
385
+ description: Regional Internet Registry that allocated the ASN.
386
+ Company:
387
+ type: object
388
+ description: Company or ISP information mapped to the IP address.
389
+ properties:
390
+ name:
391
+ type: string
392
+ description: Company name mapped to the IP.
393
+ type:
394
+ type: string
395
+ description: Company category (ISP, HOSTING, BUSINESS, etc.).
396
+ domain:
397
+ type: string
398
+ description: Company domain name.
399
+ Currency:
400
+ type: object
401
+ description: Currency information for the IP's country.
402
+ properties:
403
+ code:
404
+ type: string
405
+ description: Currency code (ISO 4217).
406
+ name:
407
+ type: string
408
+ description: Currency name (ISO 4217).
409
+ symbol:
410
+ type: string
411
+ description: Currency symbol.
412
+ Security:
413
+ type: object
414
+ description: Threat intelligence and security information for the IP.
415
+ required:
416
+ - threat_score
417
+ - is_tor
418
+ - is_proxy
419
+ - proxy_confidence_score
420
+ - is_residential_proxy
421
+ - is_vpn
422
+ - vpn_confidence_score
423
+ - is_relay
424
+ - is_anonymous
425
+ - is_known_attacker
426
+ - is_bot
427
+ - is_spam
428
+ - is_cloud_provider
429
+ properties:
430
+ threat_score:
431
+ type: number
432
+ description: Aggregate risk score from 0 to 100.
433
+ is_tor:
434
+ type: boolean
435
+ description: true if the IP matches a Tor exit node.
436
+ is_proxy:
437
+ type: boolean
438
+ description: true if the IP is associated with a proxy service.
439
+ proxy_provider_names:
440
+ type: array
441
+ items:
442
+ type: string
443
+ description: Detected proxy provider names.
444
+ proxy_confidence_score:
445
+ type: number
446
+ description: Proxy detection confidence from 0 to 100.
447
+ proxy_last_seen:
448
+ type: string
449
+ description: Last observed proxy activity date in YYYY-MM-DD.
450
+ is_residential_proxy:
451
+ type: boolean
452
+ description: true if the IP is linked to a residential proxy network.
453
+ is_vpn:
454
+ type: boolean
455
+ description: true if the IP is associated with a VPN service.
456
+ vpn_provider_names:
457
+ type: array
458
+ items:
459
+ type: string
460
+ description: Detected VPN provider names.
461
+ vpn_confidence_score:
462
+ type: number
463
+ description: VPN detection confidence from 0 to 100.
464
+ vpn_last_seen:
465
+ type: string
466
+ description: Last observed VPN activity date in YYYY-MM-DD.
467
+ is_relay:
468
+ type: boolean
469
+ description: true if the IP is associated with a relay network.
470
+ relay_provider_name:
471
+ type: string
472
+ description: Relay provider name.
473
+ is_anonymous:
474
+ type: boolean
475
+ description: true if any anonymity signal is present.
476
+ is_known_attacker:
477
+ type: boolean
478
+ description: true if the IP is flagged for known attacker behavior.
479
+ is_bot:
480
+ type: boolean
481
+ description: true if the IP is associated with bot activity.
482
+ is_spam:
483
+ type: boolean
484
+ description: true if the IP is associated with spam activity.
485
+ is_cloud_provider:
486
+ type: boolean
487
+ description: true if the IP belongs to a cloud provider range.
488
+ cloud_provider_name:
489
+ type: string
490
+ description: Cloud provider name.
491
+ Abuse:
492
+ type: object
493
+ description: Abuse contact information for the IP.
494
+ properties:
495
+ route:
496
+ type: string
497
+ description: Abuse-handling IP range in CIDR notation.
498
+ country:
499
+ type: string
500
+ description: ISO 3166-1 alpha-2 country code of the abuse contact.
501
+ name:
502
+ type: string
503
+ description: Display name for the abuse contact.
504
+ organization:
505
+ type: string
506
+ description: Organization name for the abuse contact.
507
+ kind:
508
+ type: string
509
+ description: 'Contact type: group or individual.'
510
+ address:
511
+ type: string
512
+ description: Registered address of the organization owning the IP.
513
+ emails:
514
+ type: array
515
+ items:
516
+ type: string
517
+ description: Abuse contact email addresses.
518
+ phone_numbers:
519
+ type: array
520
+ items:
521
+ type: string
522
+ description: Abuse contact phone numbers.
523
+ DstTransition:
524
+ type: object
525
+ description: DST transition details (used for both the DST start and DST end transitions).
526
+ properties:
527
+ utc_time:
528
+ type: string
529
+ description: DST transition moment in UTC.
530
+ duration:
531
+ type: string
532
+ description: Clock change at the DST transition, in hours.
533
+ gap:
534
+ type: boolean
535
+ description: true if local time jumps forward (some times do not exist).
536
+ date_time_after:
537
+ type: string
538
+ description: Local date/time immediately after the DST transition.
539
+ date_time_before:
540
+ type: string
541
+ description: Local date/time immediately before the DST transition.
542
+ overlap:
543
+ type: boolean
544
+ description: true if local times repeat around the DST transition.
545
+ TimeZone:
546
+ type: object
547
+ description: Time zone information for the IP's location.
548
+ required:
549
+ - name
550
+ - offset
551
+ - offset_with_dst
552
+ - current_time
553
+ - current_time_unix
554
+ - is_dst
555
+ - dst_savings
556
+ - dst_exists
557
+ properties:
558
+ name:
559
+ type: string
560
+ description: Time zone in IANA TZDB format.
561
+ offset:
562
+ type: number
563
+ format: float
564
+ description: Standard time UTC offset in hours.
565
+ offset_with_dst:
566
+ type: number
567
+ format: float
568
+ description: Current effective UTC offset in hours, including DST.
569
+ current_time:
570
+ type: string
571
+ description: Local date/time in YYYY-MM-DD HH:mm:ss.SSS±ZZZZ format.
572
+ current_time_unix:
573
+ type: number
574
+ format: float
575
+ description: Local time as Unix epoch seconds.
576
+ current_tz_abbreviation:
577
+ type: string
578
+ description: Current time zone abbreviation.
579
+ current_tz_full_name:
580
+ type: string
581
+ description: Current time zone full name.
582
+ standard_tz_abbreviation:
583
+ type: string
584
+ description: Standard (non-DST) abbreviation.
585
+ standard_tz_full_name:
586
+ type: string
587
+ description: Standard (non-DST) full name.
588
+ is_dst:
589
+ type: boolean
590
+ description: true if DST is active.
591
+ dst_savings:
592
+ type: number
593
+ format: float
594
+ description: DST shift amount in hours.
595
+ dst_exists:
596
+ type: boolean
597
+ description: true if the time zone observes DST.
598
+ dst_tz_abbreviation:
599
+ type: string
600
+ description: DST abbreviation when DST is active.
601
+ dst_tz_full_name:
602
+ type: string
603
+ description: DST full name when DST is active.
604
+ dst_start:
605
+ $ref: '#/components/schemas/DstTransition'
606
+ dst_end:
607
+ $ref: '#/components/schemas/DstTransition'
608
+ Device:
609
+ type: object
610
+ description: Device details.
611
+ properties:
612
+ name:
613
+ type: string
614
+ description: Detected device label.
615
+ type:
616
+ type: string
617
+ description: Device category (Desktop, Mobile, Tablet, Bot).
618
+ brand:
619
+ type: string
620
+ description: Device vendor/brand.
621
+ cpu:
622
+ type: string
623
+ description: CPU / architecture string.
624
+ Engine:
625
+ type: object
626
+ description: Rendering engine details.
627
+ properties:
628
+ name:
629
+ type: string
630
+ description: Rendering engine name.
631
+ type:
632
+ type: string
633
+ description: Engine category.
634
+ version:
635
+ type: string
636
+ description: Full engine version string.
637
+ version_major:
638
+ type: string
639
+ description: Major engine version.
640
+ OperatingSystem:
641
+ type: object
642
+ description: Operating system details.
643
+ properties:
644
+ name:
645
+ type: string
646
+ description: Operating system name.
647
+ type:
648
+ type: string
649
+ description: OS category (Desktop, Mobile, Server).
650
+ version:
651
+ type: string
652
+ description: OS version string.
653
+ version_major:
654
+ type: string
655
+ description: Major OS version.
656
+ build:
657
+ type: string
658
+ description: OS build identifier.
659
+ UserAgent:
660
+ type: object
661
+ description: Parsed User-Agent details from the request.
662
+ properties:
663
+ user_agent_string:
664
+ type: string
665
+ description: Raw User-Agent string used for parsing.
666
+ name:
667
+ type: string
668
+ description: Detected user agent product name.
669
+ type:
670
+ type: string
671
+ description: User agent category (e.g., Browser, Mobile App, Bot).
672
+ version:
673
+ type: string
674
+ description: Full product version string.
675
+ version_major:
676
+ type: string
677
+ description: Major version extracted from version.
678
+ device:
679
+ $ref: '#/components/schemas/Device'
680
+ engine:
681
+ $ref: '#/components/schemas/Engine'
682
+ operating_system:
683
+ $ref: '#/components/schemas/OperatingSystem'
684
+ ErrorResponse:
685
+ type: object
686
+ description: Standard error envelope returned by the API on failed requests.
687
+ required:
688
+ - message
689
+ properties:
690
+ error:
691
+ type: string
692
+ description: Short error category or exception type.
693
+ message:
694
+ type: string
695
+ description: Human-readable error message describing the failure.
696
+ path:
697
+ type: string
698
+ description: API endpoint path that produced the error.
699
+ status:
700
+ type: integer
701
+ description: HTTP status code returned with the error.
702
+ timestamp:
703
+ type: string
704
+ format: date-time
705
+ description: Timestamp when the error occurred (ISO 8601).
706
+ security:
707
+ - ApiKeyAuthHeader: []
708
+ - ApiKeyAuthQuery: []