@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,579 @@
1
+ {
2
+ "openapi": "3.1.1",
3
+ "info": {
4
+ "title": "DNS History API - Historical DNS Records with Dated Snapshots for Any Hostname",
5
+ "version": "1.0.0",
6
+ "description": "Retrieve historical DNS records for any hostname with dated snapshots. Each snapshot includes queryTime, domainName, dnsTypes, and dnsRecords fields showing the full DNS state at that point in time. Supported record types include A, AAAA, MX, NS, SOA, SPF, TXT, and CNAME records. Results are paginated with up to 100 unique records per page. Use the format parameter to receive responses in JSON or XML.",
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": "DNS History API Server"
17
+ }
18
+ ],
19
+ "paths": {
20
+ "/domain/dns/history": {
21
+ "get": {
22
+ "tags": ["DNS APIs"],
23
+ "summary": "Get all historical A, AAAA, MX, NS, SOA, SPF, TXT, and CNAME DNS records of a hostname",
24
+ "description": "Retrieve historical DNS records for any hostname. Access unique historical data for A, AAAA, MX, NS, SOA, SPF, TXT, and CNAME records,\nincluding subdomains. Results are paginated with up to 100 unique records per page.\n",
25
+ "operationId": "dnsHistoryLookup",
26
+ "parameters": [
27
+ {
28
+ "name": "format",
29
+ "in": "query",
30
+ "required": false,
31
+ "schema": {
32
+ "type": "string",
33
+ "enum": ["json", "xml"],
34
+ "default": "json"
35
+ },
36
+ "description": "Format of the response."
37
+ },
38
+ {
39
+ "name": "host-name",
40
+ "in": "query",
41
+ "required": true,
42
+ "schema": {
43
+ "type": "string"
44
+ },
45
+ "description": "Hostname or URL whose historical DNS records are required"
46
+ },
47
+ {
48
+ "name": "type",
49
+ "in": "query",
50
+ "required": true,
51
+ "schema": {
52
+ "type": "string",
53
+ "enum": [
54
+ "A",
55
+ "AAAA",
56
+ "MX",
57
+ "NS",
58
+ "SOA",
59
+ "SPF",
60
+ "TXT",
61
+ "CNAME",
62
+ "all"
63
+ ]
64
+ },
65
+ "description": "A comma-separated list of DNS record types for lookup.\nPossible values: A, AAAA, MX, NS, SOA, SPF, TXT, CNAME, or all\n"
66
+ },
67
+ {
68
+ "name": "page",
69
+ "in": "query",
70
+ "required": false,
71
+ "schema": {
72
+ "type": "integer",
73
+ "minimum": 1,
74
+ "default": 1
75
+ },
76
+ "description": "Page number for paginated results."
77
+ }
78
+ ],
79
+ "responses": {
80
+ "200": {
81
+ "description": "Successful DNS history lookup response",
82
+ "content": {
83
+ "application/json": {
84
+ "schema": {
85
+ "$ref": "#/components/schemas/DNSHistoryLookupResponse"
86
+ },
87
+ "examples": {
88
+ "default": {
89
+ "summary": "DNS history lookup for example.com",
90
+ "value": {
91
+ "totalRecords": 46,
92
+ "totalPages": 1,
93
+ "currentPage": 1,
94
+ "historicalDnsRecords": [
95
+ {
96
+ "queryTime": "2025-12-16",
97
+ "domainName": "example.com.",
98
+ "dnsTypes": {
99
+ "SOA": 6,
100
+ "AAAA": 28,
101
+ "A": 1,
102
+ "NS": 2
103
+ },
104
+ "dnsRecords": [
105
+ {
106
+ "name": "example.com",
107
+ "type": 1,
108
+ "dnsType": "A",
109
+ "ttl": 4,
110
+ "rawText": "example.com.\t\t4\tIN\tA\t23.192.228.84",
111
+ "rRsetType": 1,
112
+ "address": "23.192.228.84"
113
+ },
114
+ {
115
+ "name": "example.com",
116
+ "type": 1,
117
+ "dnsType": "A",
118
+ "ttl": 4,
119
+ "rawText": "example.com.\t\t4\tIN\tA\t23.215.0.136",
120
+ "rRsetType": 1,
121
+ "address": "23.215.0.136"
122
+ },
123
+ {
124
+ "name": "example.com",
125
+ "type": 1,
126
+ "dnsType": "A",
127
+ "ttl": 278,
128
+ "rawText": "example.com.\t\t278\tIN\tA\t23.220.75.245",
129
+ "rRsetType": 1,
130
+ "address": "23.220.75.245"
131
+ },
132
+ {
133
+ "name": "example.com",
134
+ "type": 1,
135
+ "dnsType": "A",
136
+ "ttl": 278,
137
+ "rawText": "example.com.\t\t278\tIN\tA\t23.220.75.232",
138
+ "rRsetType": 1,
139
+ "address": "23.220.75.232"
140
+ },
141
+ {
142
+ "name": "example.com",
143
+ "type": 1,
144
+ "dnsType": "A",
145
+ "ttl": 4,
146
+ "rawText": "example.com.\t\t4\tIN\tA\t23.215.0.138",
147
+ "rRsetType": 1,
148
+ "address": "23.215.0.138"
149
+ },
150
+ {
151
+ "name": "example.com",
152
+ "type": 1,
153
+ "dnsType": "A",
154
+ "ttl": 4,
155
+ "rawText": "example.com.\t\t4\tIN\tA\t23.192.228.80",
156
+ "rRsetType": 1,
157
+ "address": "23.192.228.80"
158
+ },
159
+ {
160
+ "name": "example.com",
161
+ "type": 28,
162
+ "dnsType": "AAAA",
163
+ "ttl": 89,
164
+ "rawText": "example.com.\t\t89\tIN\tAAAA\t2600:1406:5e00:6:0:0:17ce:bc12",
165
+ "rRsetType": 28,
166
+ "address": "2600:1406:5e00:6:0:0:17ce:bc12"
167
+ },
168
+ {
169
+ "name": "example.com",
170
+ "type": 28,
171
+ "dnsType": "AAAA",
172
+ "ttl": 202,
173
+ "rawText": "example.com.\t\t202\tIN\tAAAA\t2600:1406:bc00:53:0:0:b81e:94ce",
174
+ "rRsetType": 28,
175
+ "address": "2600:1406:bc00:53:0:0:b81e:94ce"
176
+ },
177
+ {
178
+ "name": "example.com",
179
+ "type": 28,
180
+ "dnsType": "AAAA",
181
+ "ttl": 89,
182
+ "rawText": "example.com.\t\t89\tIN\tAAAA\t2600:1406:5e00:6:0:0:17ce:bc1b",
183
+ "rRsetType": 28,
184
+ "address": "2600:1406:5e00:6:0:0:17ce:bc1b"
185
+ },
186
+ {
187
+ "name": "example.com",
188
+ "type": 28,
189
+ "dnsType": "AAAA",
190
+ "ttl": 202,
191
+ "rawText": "example.com.\t\t202\tIN\tAAAA\t2600:1408:ec00:36:0:0:1736:7f31",
192
+ "rRsetType": 28,
193
+ "address": "2600:1408:ec00:36:0:0:1736:7f31"
194
+ },
195
+ {
196
+ "name": "example.com",
197
+ "type": 28,
198
+ "dnsType": "AAAA",
199
+ "ttl": 202,
200
+ "rawText": "example.com.\t\t202\tIN\tAAAA\t2600:1408:ec00:36:0:0:1736:7f24",
201
+ "rRsetType": 28,
202
+ "address": "2600:1408:ec00:36:0:0:1736:7f24"
203
+ },
204
+ {
205
+ "name": "example.com",
206
+ "type": 28,
207
+ "dnsType": "AAAA",
208
+ "ttl": 202,
209
+ "rawText": "example.com.\t\t202\tIN\tAAAA\t2600:1406:bc00:53:0:0:b81e:94c8",
210
+ "rRsetType": 28,
211
+ "address": "2600:1406:bc00:53:0:0:b81e:94c8"
212
+ },
213
+ {
214
+ "name": "example.com",
215
+ "type": 6,
216
+ "dnsType": "SOA",
217
+ "ttl": 3600,
218
+ "rawText": "example.com.\t\t3600\tIN\tSOA\tns.icann.org. noc.dns.icann.org. 2022091323 7200 3600 1209600 3600",
219
+ "rRsetType": 6,
220
+ "admin": "noc.dns.icann.org.",
221
+ "host": "ns.icann.org.",
222
+ "expire": 1209600,
223
+ "minimum": 3600,
224
+ "refresh": 7200,
225
+ "retry": 3600,
226
+ "serial": 2022091323
227
+ },
228
+ {
229
+ "name": "example.com",
230
+ "type": 2,
231
+ "dnsType": "NS",
232
+ "ttl": 21600,
233
+ "rawText": "example.com.\t\t21600\tIN\tNS\ta.iana-servers.net.",
234
+ "rRsetType": 2,
235
+ "singleName": "a.iana-servers.net."
236
+ },
237
+ {
238
+ "name": "example.com",
239
+ "type": 2,
240
+ "dnsType": "NS",
241
+ "ttl": 21600,
242
+ "rawText": "example.com.\t\t21600\tIN\tNS\tb.iana-servers.net.",
243
+ "rRsetType": 2,
244
+ "singleName": "b.iana-servers.net."
245
+ }
246
+ ]
247
+ },
248
+ {
249
+ "queryTime": "2025-12-17",
250
+ "domainName": "example.com.",
251
+ "dnsTypes": {
252
+ "AAAA": 28,
253
+ "A": 1,
254
+ "NS": 2
255
+ },
256
+ "dnsRecords": [
257
+ {
258
+ "name": "example.com",
259
+ "type": 1,
260
+ "dnsType": "A",
261
+ "ttl": 300,
262
+ "rawText": "example.com.\t\t300\tIN\tA\t104.20.34.220",
263
+ "rRsetType": 1,
264
+ "address": "104.20.34.220"
265
+ },
266
+ {
267
+ "name": "example.com",
268
+ "type": 1,
269
+ "dnsType": "A",
270
+ "ttl": 300,
271
+ "rawText": "example.com.\t\t300\tIN\tA\t172.66.144.113",
272
+ "rRsetType": 1,
273
+ "address": "172.66.144.113"
274
+ },
275
+ {
276
+ "name": "example.com",
277
+ "type": 28,
278
+ "dnsType": "AAAA",
279
+ "ttl": 300,
280
+ "rawText": "example.com.\t\t300\tIN\tAAAA\t2606:4700:10:0:0:0:ac42:9071",
281
+ "rRsetType": 28,
282
+ "address": "2606:4700:10:0:0:0:ac42:9071"
283
+ },
284
+ {
285
+ "name": "example.com",
286
+ "type": 28,
287
+ "dnsType": "AAAA",
288
+ "ttl": 300,
289
+ "rawText": "example.com.\t\t300\tIN\tAAAA\t2606:4700:10:0:0:0:6814:22dc",
290
+ "rRsetType": 28,
291
+ "address": "2606:4700:10:0:0:0:6814:22dc"
292
+ },
293
+ {
294
+ "name": "example.com",
295
+ "type": 2,
296
+ "dnsType": "NS",
297
+ "ttl": 128,
298
+ "rawText": "example.com.\t\t128\tIN\tNS\ta.iana-servers.net.",
299
+ "rRsetType": 2,
300
+ "singleName": "a.iana-servers.net."
301
+ },
302
+ {
303
+ "name": "example.com",
304
+ "type": 2,
305
+ "dnsType": "NS",
306
+ "ttl": 128,
307
+ "rawText": "example.com.\t\t128\tIN\tNS\tb.iana-servers.net.",
308
+ "rRsetType": 2,
309
+ "singleName": "b.iana-servers.net."
310
+ }
311
+ ]
312
+ }
313
+ ]
314
+ }
315
+ }
316
+ }
317
+ }
318
+ }
319
+ },
320
+ "400": {
321
+ "description": "Bad Request — Invalid DNS type or malformed hostname",
322
+ "content": {
323
+ "application/json": {
324
+ "schema": {
325
+ "$ref": "#/components/schemas/ErrorResponse"
326
+ },
327
+ "examples": {
328
+ "invalidType": {
329
+ "summary": "Unsupported DNS record type",
330
+ "value": {
331
+ "timestamp": "2026-07-23T09:52:28.093Z",
332
+ "status": 400,
333
+ "error": "Invalid Param Exception",
334
+ "message": "Please provide correct dns records type(s) [For Technical Support: support@whoisfreaks.com]",
335
+ "path": "/v2.0/dns/historical"
336
+ }
337
+ },
338
+ "malformedHostname": {
339
+ "summary": "Hostname missing a valid TLD",
340
+ "value": {
341
+ "timestamp": "2026-07-23T09:54:17.353Z",
342
+ "status": 400,
343
+ "error": "Invalid Param Exception",
344
+ "message": "Please pass domain param correct value[For Technical Support: support@whoisfreaks.com]",
345
+ "path": "/v2.0/dns/historical"
346
+ }
347
+ }
348
+ }
349
+ }
350
+ }
351
+ },
352
+ "404": {
353
+ "description": "Not Found — No DNS history records for the hostname",
354
+ "content": {
355
+ "application/json": {
356
+ "schema": {
357
+ "$ref": "#/components/schemas/ErrorResponse"
358
+ },
359
+ "examples": {
360
+ "noRecords": {
361
+ "summary": "No historical DNS records found",
362
+ "value": {
363
+ "timestamp": "2026-07-23T09:52:28.643Z",
364
+ "status": 404,
365
+ "error": "Record not Found",
366
+ "message": "No Record Found across: zzsuperrandomnonexistent998877.com",
367
+ "path": "/v2.0/dns/historical"
368
+ }
369
+ }
370
+ }
371
+ }
372
+ }
373
+ }
374
+ }
375
+ }
376
+ }
377
+ },
378
+ "components": {
379
+ "securitySchemes": {
380
+ "ApiKeyAuthHeader": {
381
+ "type": "apiKey",
382
+ "in": "header",
383
+ "name": "X-apiKey",
384
+ "description": "Pass your API key via the X-apiKey request header."
385
+ },
386
+ "ApiKeyAuthQuery": {
387
+ "type": "apiKey",
388
+ "in": "query",
389
+ "name": "apiKey",
390
+ "description": "Pass your API key via the apiKey query parameter."
391
+ }
392
+ },
393
+ "schemas": {
394
+ "ErrorResponse": {
395
+ "type": "object",
396
+ "required": ["message"],
397
+ "properties": {
398
+ "error": {
399
+ "type": "string",
400
+ "description": "Short error category or exception type."
401
+ },
402
+ "message": {
403
+ "type": "string",
404
+ "description": "Human-readable error message describing the failure."
405
+ },
406
+ "path": {
407
+ "type": "string",
408
+ "description": "API endpoint path that produced the error."
409
+ },
410
+ "status": {
411
+ "type": "integer",
412
+ "description": "HTTP status code returned with the error."
413
+ },
414
+ "timestamp": {
415
+ "type": "string",
416
+ "format": "date-time",
417
+ "description": "Timestamp when the error occurred (ISO 8601)."
418
+ }
419
+ }
420
+ },
421
+ "DNSHistoryLookupResponse": {
422
+ "type": "object",
423
+ "description": "Paginated collection of historical DNS snapshots for the requested hostname.",
424
+ "required": [
425
+ "totalRecords",
426
+ "totalPages",
427
+ "currentPage",
428
+ "historicalDnsRecords"
429
+ ],
430
+ "properties": {
431
+ "totalPages": {
432
+ "type": "integer",
433
+ "description": "Total number of pages available."
434
+ },
435
+ "currentPage": {
436
+ "type": "integer",
437
+ "description": "Current page number returned."
438
+ },
439
+ "totalRecords": {
440
+ "type": "integer",
441
+ "description": "Total number of unique DNS records found."
442
+ },
443
+ "historicalDnsRecords": {
444
+ "type": "array",
445
+ "description": "Array of dated DNS snapshots.",
446
+ "items": {
447
+ "$ref": "#/components/schemas/DnsHistoryRecord"
448
+ }
449
+ }
450
+ }
451
+ },
452
+ "DnsHistoryRecord": {
453
+ "type": "object",
454
+ "description": "A single dated DNS snapshot for the queried hostname.",
455
+ "required": ["queryTime", "domainName", "dnsTypes", "dnsRecords"],
456
+ "properties": {
457
+ "queryTime": {
458
+ "type": "string",
459
+ "description": "Date when the DNS snapshot was taken. (Format: YYYY-MM-DD)"
460
+ },
461
+ "domainName": {
462
+ "type": "string",
463
+ "description": "Queried domain name with trailing dot."
464
+ },
465
+ "dnsTypes": {
466
+ "$ref": "#/components/schemas/DnsTypes"
467
+ },
468
+ "dnsRecords": {
469
+ "type": "array",
470
+ "description": "Array of DNS records for this snapshot. Field presence varies by dnsType — see DnsRecord for which fields apply to which type.",
471
+ "items": {
472
+ "$ref": "#/components/schemas/DnsRecord"
473
+ }
474
+ }
475
+ }
476
+ },
477
+ "DnsTypes": {
478
+ "type": "object",
479
+ "description": "Map of each DNS record type present in dnsRecords to its IANA DNS resource record type code (e.g. A: 1, AAAA: 28, MX: 15, NS: 2, SOA: 6, TXT: 16, SPF: 99). Indicates which record types were found in this snapshot, not how many of each — count entries in dnsRecords for that.",
480
+ "additionalProperties": {
481
+ "title": "DnsTypeCode",
482
+ "type": "integer",
483
+ "description": "IANA DNS resource record type code for this DNS record type (A: 1, AAAA: 28, CNAME: 5, MX: 15, NS: 2, SOA: 6, TXT: 16, SPF: 99)."
484
+ }
485
+ },
486
+ "DnsRecord": {
487
+ "type": "object",
488
+ "description": "A single DNS resource record. name, type, dnsType, ttl, rawText, and rRsetType are always present; every other field is populated only for the dnsType(s) noted in its description.",
489
+ "required": ["name", "type", "dnsType", "ttl", "rawText", "rRsetType"],
490
+ "properties": {
491
+ "name": {
492
+ "type": "string",
493
+ "description": "Name of the queried domain."
494
+ },
495
+ "type": {
496
+ "type": "integer",
497
+ "description": "DNS type code (1=A, 28=AAAA, 5=CNAME, 15=MX, 2=NS, 6=SOA, 16=TXT, 99=SPF)."
498
+ },
499
+ "dnsType": {
500
+ "type": "string",
501
+ "enum": ["A", "AAAA", "CNAME", "MX", "NS", "SOA", "TXT", "SPF"],
502
+ "description": "DNS record type as a string."
503
+ },
504
+ "ttl": {
505
+ "type": "integer",
506
+ "description": "Time to live in seconds."
507
+ },
508
+ "rawText": {
509
+ "type": "string",
510
+ "description": "Raw (un-parsed) DNS record text."
511
+ },
512
+ "rRsetType": {
513
+ "type": "integer",
514
+ "description": "Resource record set type code."
515
+ },
516
+ "address": {
517
+ "type": "string",
518
+ "description": "IPv4 or IPv6 address. Present only when dnsType is A or AAAA."
519
+ },
520
+ "target": {
521
+ "type": "string",
522
+ "description": "Target hostname. Present only when dnsType is CNAME or MX."
523
+ },
524
+ "priority": {
525
+ "type": "integer",
526
+ "description": "Mail server priority. Present only when dnsType is MX."
527
+ },
528
+ "singleName": {
529
+ "type": "string",
530
+ "description": "Authoritative name server. Present only when dnsType is NS."
531
+ },
532
+ "admin": {
533
+ "type": "string",
534
+ "description": "Administrative contact email. Present only when dnsType is SOA."
535
+ },
536
+ "host": {
537
+ "type": "string",
538
+ "description": "Primary name server. Present only when dnsType is SOA."
539
+ },
540
+ "expire": {
541
+ "type": "integer",
542
+ "description": "Expiry time in seconds. Present only when dnsType is SOA."
543
+ },
544
+ "minimum": {
545
+ "type": "integer",
546
+ "description": "Minimum TTL in seconds. Present only when dnsType is SOA."
547
+ },
548
+ "refresh": {
549
+ "type": "integer",
550
+ "description": "Refresh interval in seconds. Present only when dnsType is SOA."
551
+ },
552
+ "retry": {
553
+ "type": "integer",
554
+ "description": "Retry interval in seconds. Present only when dnsType is SOA."
555
+ },
556
+ "serial": {
557
+ "type": "integer",
558
+ "description": "Serial number. Present only when dnsType is SOA."
559
+ },
560
+ "strings": {
561
+ "type": "array",
562
+ "description": "Verification or policy strings. Present only when dnsType is TXT or SPF.",
563
+ "items": {
564
+ "type": "string"
565
+ }
566
+ }
567
+ }
568
+ }
569
+ }
570
+ },
571
+ "security": [
572
+ {
573
+ "ApiKeyAuthHeader": []
574
+ },
575
+ {
576
+ "ApiKeyAuthQuery": []
577
+ }
578
+ ]
579
+ }