@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,251 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: Subdomain Finder API - Discover Active, Inactive & Historical Subdomains
4
+ version: 1.0.0
5
+ description: Retrieve subdomains related to a given domain name. Returns paginated results with subdomain details including first seen and last seen dates. Supports filtering by date range, status (active/inactive), and pagination with configurable page numbers.
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
12
+ description: Subdomain Lookup API Server
13
+ paths:
14
+ /subdomains/lookup:
15
+ get:
16
+ tags:
17
+ - Domain APIs
18
+ summary: Get subdomains related to the given domain name.
19
+ description: The Subdomain Lookup API is designed to retrieve subdomains related to the given domain name. It helps you explore subdomains that are available for registration or usage.
20
+ parameters:
21
+ - name: format
22
+ in: query
23
+ required: false
24
+ schema:
25
+ type: string
26
+ enum:
27
+ - json
28
+ - xml
29
+ default: json
30
+ description: Format of the response.
31
+ - name: domain
32
+ in: query
33
+ required: true
34
+ schema:
35
+ type: string
36
+ description: Domain name for availability and suggestions.
37
+ - name: after
38
+ in: query
39
+ required: false
40
+ schema:
41
+ type: string
42
+ format: date
43
+ description: Filter subdomains seen after this date (format YYYY-MM-DD).
44
+ - name: before
45
+ in: query
46
+ required: false
47
+ schema:
48
+ type: string
49
+ format: date
50
+ description: Filter subdomains seen before this date( format YYYY-MM-DD).
51
+ - name: status
52
+ in: query
53
+ required: false
54
+ schema:
55
+ type: string
56
+ enum:
57
+ - active
58
+ - inactive
59
+ default: active
60
+ description: Filter subdomains by status (active or inactive).
61
+ - name: page
62
+ in: query
63
+ required: false
64
+ schema:
65
+ type: integer
66
+ default: 1
67
+ description: Page number for paginated results.
68
+ responses:
69
+ '200':
70
+ description: Success
71
+ content:
72
+ application/json:
73
+ schema:
74
+ $ref: '#/components/schemas/SubDomainResponse'
75
+ examples:
76
+ success:
77
+ summary: Successful response
78
+ value:
79
+ domain: google.com
80
+ status: true
81
+ query_time: '2026-07-27T12:22:26.954268895'
82
+ current_page: 1
83
+ total_pages: 1543
84
+ total_records: 154233
85
+ subdomains:
86
+ - subdomain: 49qq1sm.sites.google.com
87
+ first_seen: '2024-03-03'
88
+ last_seen: '2026-06-18'
89
+ - subdomain: tvgkp5.feedproxy.ghs.google.com
90
+ last_seen: '2026-07-04'
91
+ - subdomain: www.reusablesec.sites.google.com
92
+ first_seen: '2020-02-18'
93
+ last_seen: '2026-06-20'
94
+ '400':
95
+ description: Bad Request – one or more parameters are invalid
96
+ content:
97
+ application/json:
98
+ schema:
99
+ $ref: '#/components/schemas/ErrorResponse'
100
+ examples:
101
+ missingDomain:
102
+ summary: Missing required domain parameter
103
+ value:
104
+ error: Invalid Param Exception
105
+ message: please pass correct parameters
106
+ path: /v1.0/subdomains/lookup
107
+ status: 400
108
+ timestamp: '2026-07-27T12:22:27.587Z'
109
+ invalidDomain:
110
+ summary: domain is not a syntactically valid domain name
111
+ value:
112
+ timestamp: '2026-07-27T12:22:40.119716922Z'
113
+ status: 400
114
+ error: Invalid Param Exception
115
+ message: 'Please pass domain param correct value[For Technical Support: support@whoisfreaks.com]'
116
+ path: /v1.0/subdomains
117
+ AfterDateError:
118
+ summary: after is not earlier than before
119
+ value:
120
+ timestamp: '2026-07-27T12:22:28.233751455Z'
121
+ status: 400
122
+ error: Invalid Param Exception
123
+ message: after date must be earlier than before date.
124
+ path: /v1.0/subdomains
125
+ AfterDateGreaterThanCurrent:
126
+ summary: after is in the future
127
+ value:
128
+ timestamp: '2026-07-27T12:22:39.061042798Z'
129
+ status: 400
130
+ error: Invalid Param Exception
131
+ message: after date cannot be greater than the current date.
132
+ path: /v1.0/subdomains
133
+ BeforeDateGreaterThanCurrent:
134
+ summary: before is in the future
135
+ value:
136
+ timestamp: '2026-07-27T12:22:39.609545647Z'
137
+ status: 400
138
+ error: Invalid Param Exception
139
+ message: before date cannot be greater than the current date.
140
+ path: /v1.0/subdomains
141
+ '408':
142
+ description: Request Timeout – Unable to fetch WHOIS data
143
+ content:
144
+ application/json:
145
+ schema:
146
+ $ref: '#/components/schemas/ErrorResponse'
147
+ examples:
148
+ error:
149
+ summary: Error response
150
+ value:
151
+ timestamp: '2025-08-14T10:37:21.871Z'
152
+ status: 408
153
+ error: Request Timeout
154
+ message: 'Unable to fetch whois data. Please try again. [For Technical Support email at: support@apifreaks.com]'
155
+ path: /v1.0/subdomains/lookup
156
+ operationId: lookupSubdomains
157
+ components:
158
+ securitySchemes:
159
+ ApiKeyAuthHeader:
160
+ type: apiKey
161
+ in: header
162
+ name: X-apiKey
163
+ description: Pass your API key via the X-apiKey request header.
164
+ ApiKeyAuthQuery:
165
+ type: apiKey
166
+ in: query
167
+ name: apiKey
168
+ description: Pass your API key via the apiKey query parameter.
169
+ schemas:
170
+ SubDomainResponse:
171
+ type: object
172
+ required:
173
+ - domain
174
+ - status
175
+ - query_time
176
+ - current_page
177
+ - total_pages
178
+ - total_records
179
+ - subdomains
180
+ properties:
181
+ domain:
182
+ type: string
183
+ description: The domain name for which subdomains are retrieved.
184
+ status:
185
+ type: boolean
186
+ description: Indicates whether the request was successfully processed or not.
187
+ query_time:
188
+ type: string
189
+ description: Timestamp showing when the API request was executed.
190
+ current_page:
191
+ type: integer
192
+ description: The current page number of the paginated response.
193
+ total_pages:
194
+ type: integer
195
+ description: Total number of pages available for the given query. Each page has 100 subdomain entries.
196
+ total_records:
197
+ type: integer
198
+ description: Total number of subdomains found for the domain.
199
+ subdomains:
200
+ type: array
201
+ description: Returns an array of subdomain objects. Each object contains detailed information about an individual subdomain.
202
+ items:
203
+ $ref: '#/components/schemas/SubdomainItem'
204
+ description: Subdomain lookup response containing paginated subdomain results.
205
+ SubdomainItem:
206
+ type: object
207
+ description: A single subdomain record with discovery dates.
208
+ required:
209
+ - subdomain
210
+ - last_seen
211
+ properties:
212
+ subdomain:
213
+ type: string
214
+ description: The discovered subdomain associated with the given domain.
215
+ first_seen:
216
+ type: string
217
+ format: date
218
+ description: The date when the subdomain was first discovered. Can be absent for some records.
219
+ last_seen:
220
+ type: string
221
+ format: date
222
+ description: The most recent date when the subdomain was observed.
223
+ inactive_from:
224
+ type: string
225
+ format: date
226
+ description: The date from which the subdomain is considered inactive. Appears only if inactive.
227
+ ErrorResponse:
228
+ type: object
229
+ description: Standard error envelope returned by the API on failed requests.
230
+ required:
231
+ - message
232
+ properties:
233
+ error:
234
+ type: string
235
+ description: Short error category or exception type.
236
+ message:
237
+ type: string
238
+ description: Human-readable error message describing the failure.
239
+ path:
240
+ type: string
241
+ description: API endpoint path that produced the error.
242
+ status:
243
+ type: integer
244
+ description: HTTP status code returned with the error.
245
+ timestamp:
246
+ type: string
247
+ format: date-time
248
+ description: Timestamp when the error occurred (ISO 8601).
249
+ security:
250
+ - ApiKeyAuthHeader: []
251
+ - ApiKeyAuthQuery: []
@@ -0,0 +1,403 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: Bulk Email Validation API - Validate and Verify Emails in Bulk
4
+ version: 1.0.0
5
+ description: Validate up to 100 email addresses in a single POST request. Each email is processed independently. Returns an array of validation results with deliverability assessment per email, plus per-item error objects for failed validations. Maximum 100 email addresses per request.
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
12
+ description: Bulk Email Validation API Server
13
+ paths:
14
+ /email-validation/bulk:
15
+ post:
16
+ tags:
17
+ - Email Validation APIs
18
+ summary: Validate multiple email addresses
19
+ description: Validates a bulk of email addresses and returns result for each. Maximum `100` email addresses per request.
20
+ parameters:
21
+ - name: format
22
+ in: query
23
+ required: false
24
+ schema:
25
+ type: string
26
+ enum:
27
+ - json
28
+ - xml
29
+ default: json
30
+ description: Format of the response
31
+ requestBody:
32
+ required: true
33
+ content:
34
+ application/json:
35
+ schema:
36
+ $ref: '#/components/schemas/BulkEmailRequest'
37
+ responses:
38
+ '200':
39
+ description: Successful response. Each item corresponds to one requested email, in the same order as the request; invalid emails are reflected via validEmail/validSyntax on that item, not as a separate error object — every item has success=true regardless of validation outcome.
40
+ content:
41
+ application/json:
42
+ schema:
43
+ $ref: '#/components/schemas/BulkEmailValidationResponse'
44
+ examples:
45
+ bulkEmailsValidated:
46
+ summary: Mix of a valid and a syntactically invalid email
47
+ value:
48
+ emailValidationResponses:
49
+ - success: true
50
+ email: abc.def@gmail.com
51
+ validEmail: valid
52
+ validSyntax: true
53
+ domain:
54
+ name: gmail.com
55
+ disposable: false
56
+ spam: false
57
+ free: true
58
+ validDomain: true
59
+ catchAll: false
60
+ account:
61
+ role: false
62
+ fullMailBox: false
63
+ dns:
64
+ mxRecords:
65
+ - gmail-smtp-in.l.google.com.
66
+ - alt1.gmail-smtp-in.l.google.com.
67
+ - alt2.gmail-smtp-in.l.google.com.
68
+ - alt3.gmail-smtp-in.l.google.com.
69
+ - alt4.gmail-smtp-in.l.google.com.
70
+ - success: true
71
+ email: not-an-email
72
+ validEmail: INVALID_EMAIL
73
+ validSyntax: false
74
+ domain:
75
+ name: not-an-email
76
+ validDomain: false
77
+ '400':
78
+ description: Bad Request – Invalid request body
79
+ content:
80
+ application/json:
81
+ schema:
82
+ $ref: '#/components/schemas/ErrorResponse'
83
+ examples:
84
+ invalidBody:
85
+ summary: emailData field missing or malformed
86
+ value:
87
+ timestamp: '2026-07-27T12:53:14.628Z'
88
+ path: /v1.0/email-validation/bulk
89
+ status: 400
90
+ error: Invalid request body Exception
91
+ message: Please provide data in required format in request body
92
+ '408':
93
+ description: Request Timeout
94
+ content:
95
+ application/json:
96
+ schema:
97
+ $ref: '#/components/schemas/ErrorResponse'
98
+ examples:
99
+ Request Timeout:
100
+ value:
101
+ timestamp: '2026-06-06T13:00:00.000Z'
102
+ path: /v1.0/email-validation/bulk
103
+ status: 408
104
+ error: Request Timeout
105
+ message: Timed out while connecting to the remote URL.
106
+ '429':
107
+ description: Rate Limit Exceeded
108
+ content:
109
+ application/json:
110
+ schema:
111
+ $ref: '#/components/schemas/ErrorResponse'
112
+ examples:
113
+ Rate Limit Exceeded:
114
+ value:
115
+ timestamp: '2026-06-06T13:00:00.000Z'
116
+ path: /v1.0/email-validation/bulk
117
+ status: 429
118
+ error: Too Many Requests
119
+ message: API rate limit exceeded.
120
+ operationId: bulkCheckEmail
121
+ components:
122
+ securitySchemes:
123
+ ApiKeyAuthHeader:
124
+ type: apiKey
125
+ in: header
126
+ name: X-apiKey
127
+ description: Pass your API key via the X-apiKey request header.
128
+ ApiKeyAuthQuery:
129
+ type: apiKey
130
+ in: query
131
+ name: apiKey
132
+ description: Pass your API key via the apiKey query parameter.
133
+ schemas:
134
+ BulkEmailValidationResponse:
135
+ type: object
136
+ description: Wrapper containing the per-email results array.
137
+ required:
138
+ - emailValidationResponses
139
+ properties:
140
+ emailValidationResponses:
141
+ type: array
142
+ description: Array of per-email results, one entry per requested email, in the same order as the request. Invalid emails are reflected via validEmail/validSyntax, not a separate error shape.
143
+ items:
144
+ $ref: '#/components/schemas/SingleEmailValidationResponse'
145
+ SingleEmailValidationResponse:
146
+ type: object
147
+ required:
148
+ - success
149
+ - email
150
+ - validEmail
151
+ - validSyntax
152
+ - domain
153
+ properties:
154
+ success:
155
+ type: boolean
156
+ description: 'Indicates the processing status of the validation request. true: completed successfully.'
157
+ email:
158
+ type: string
159
+ format: email
160
+ description: The email address submitted for validation.
161
+ name:
162
+ type: string
163
+ description: Optional identifier or label provided in the request for record tracking.
164
+ reason:
165
+ type: string
166
+ description: Detailed explanation returned when validEmail is not valid.
167
+ validEmail:
168
+ type: string
169
+ enum:
170
+ - valid
171
+ - invalid
172
+ - INVALID_EMAIL
173
+ - unknown
174
+ - risky
175
+ description: 'Comprehensive deliverability assessment. Casing is inconsistent in the live API: syntactically invalid addresses return INVALID_EMAIL, while semantically invalid (undeliverable) addresses return lowercase invalid. unknown/risky are documented possibilities not observed during testing.'
176
+ validSyntax:
177
+ type: boolean
178
+ description: Validates email address format compliance with RFC 5322 standards.
179
+ domain:
180
+ $ref: '#/components/schemas/DomainObject'
181
+ account:
182
+ $ref: '#/components/schemas/AccountObject'
183
+ dns:
184
+ $ref: '#/components/schemas/DnsObject'
185
+ address:
186
+ $ref: '#/components/schemas/AddressObject'
187
+ ip:
188
+ type: string
189
+ format: ip
190
+ description: IP address provided for geolocation and security enrichment.
191
+ description: Email validation response containing deliverability assessment and metadata.
192
+ DomainObject:
193
+ type: object
194
+ required:
195
+ - name
196
+ - validDomain
197
+ properties:
198
+ name:
199
+ type: string
200
+ description: Extracted domain component from the email address.
201
+ validDomain:
202
+ type: boolean
203
+ description: Domain validation status confirming DNS resolution capability.
204
+ disposable:
205
+ type: boolean
206
+ description: Classification flag identifying domains from temporary email service providers.
207
+ spam:
208
+ type: boolean
209
+ description: Reputation indicator flagging domains on spam databases.
210
+ free:
211
+ type: boolean
212
+ description: Classification indicating free or consumer-grade email service providers.
213
+ catchAll:
214
+ type: boolean
215
+ description: Detection flag for domains configured to accept mail for any recipient address.
216
+ description: Domain validation details for the email address.
217
+ AccountObject:
218
+ type: object
219
+ required:
220
+ - role
221
+ properties:
222
+ role:
223
+ type: boolean
224
+ description: Detection flag identifying role-based email addresses (e.g., admin@, support@).
225
+ fullMailBox:
226
+ type: boolean
227
+ description: Storage capacity status indicator for the recipient mailbox.
228
+ description: Account-level validation details.
229
+ DnsObject:
230
+ type: object
231
+ required:
232
+ - mxRecords
233
+ properties:
234
+ mxRecords:
235
+ type: array
236
+ items:
237
+ type: string
238
+ description: Collection of MX (Mail Exchange) hostname records from DNS queries.
239
+ aRecords:
240
+ type: array
241
+ items:
242
+ type: string
243
+ description: Collection of A (Address) records for the domain. Not observed in testing — may be rarely or never populated.
244
+ description: DNS records for the email domain.
245
+ AddressObject:
246
+ type: object
247
+ properties:
248
+ validIpAddress:
249
+ type: boolean
250
+ description: IP recognized/reachable by the geolocation provider.
251
+ location:
252
+ $ref: '#/components/schemas/EmailLocation'
253
+ security:
254
+ $ref: '#/components/schemas/EmailSecurity'
255
+ description: Geolocation and security enrichment data for the IP address.
256
+ required: []
257
+ EmailLocation:
258
+ type: object
259
+ description: Geolocation data derived from the IP address.
260
+ properties:
261
+ city:
262
+ type: string
263
+ description: Municipal or city name.
264
+ district:
265
+ type: string
266
+ description: District or neighborhood.
267
+ zipcode:
268
+ type: string
269
+ description: Postal or ZIP code.
270
+ state_prov:
271
+ type: string
272
+ description: State or province.
273
+ country_name:
274
+ type: string
275
+ description: Common country name.
276
+ country_name_official:
277
+ type: string
278
+ description: Official country name.
279
+ country_code2:
280
+ type: string
281
+ description: Two-character ISO country code.
282
+ country_code3:
283
+ type: string
284
+ description: Three-character ISO country code.
285
+ continent_name:
286
+ type: string
287
+ description: Continental region name.
288
+ continent_code:
289
+ type: string
290
+ description: Continental region identifier.
291
+ accuracy_radius:
292
+ type: string
293
+ description: Geolocation precision radius.
294
+ confidence:
295
+ type: string
296
+ description: Confidence score for geolocation accuracy.
297
+ is_eu:
298
+ type: boolean
299
+ description: European Union membership status.
300
+ required: []
301
+ EmailSecurity:
302
+ type: object
303
+ description: Threat and anonymity profile for the IP address.
304
+ required:
305
+ - threat_score
306
+ - is_tor
307
+ - is_proxy
308
+ - proxy_type
309
+ - proxy_provider
310
+ - is_anonymous
311
+ - is_known_attacker
312
+ - is_spam
313
+ - is_bot
314
+ - is_cloud_provider
315
+ - cloud_provider
316
+ properties:
317
+ threat_score:
318
+ type: integer
319
+ description: Quantitative risk assessment score. Higher values indicate elevated security risk.
320
+ is_tor:
321
+ type: boolean
322
+ description: Detection flag for IP addresses routed through the Tor anonymity network.
323
+ is_proxy:
324
+ type: boolean
325
+ description: Detection flag identifying IP addresses operating as proxy servers.
326
+ proxy_type:
327
+ type: string
328
+ description: Classification of detected proxy infrastructure type (e.g. VPN, HTTP, SOCKS).
329
+ proxy_provider:
330
+ type: string
331
+ description: Identified service provider operating the proxy infrastructure.
332
+ is_anonymous:
333
+ type: boolean
334
+ description: Anonymization detection flag for IP addresses using identity obfuscation techniques.
335
+ is_known_attacker:
336
+ type: boolean
337
+ description: Threat intelligence flag for IP addresses documented as confirmed malicious sources.
338
+ is_spam:
339
+ type: boolean
340
+ description: Reputation flag for IP addresses associated with spam transmission.
341
+ is_bot:
342
+ type: boolean
343
+ description: Automated traffic detection flag for IP addresses from bot networks.
344
+ is_cloud_provider:
345
+ type: boolean
346
+ description: Infrastructure classification flag for IP addresses from cloud computing providers.
347
+ cloud_provider:
348
+ type: string
349
+ description: Identified cloud infrastructure or hosting service provider name.
350
+ BulkEmailRequest:
351
+ type: object
352
+ description: Request body for bulk email validation.
353
+ required:
354
+ - emailData
355
+ properties:
356
+ emailData:
357
+ type: array
358
+ description: Array of email objects to validate. Maximum 100 per request.
359
+ maxItems: 100
360
+ items:
361
+ $ref: '#/components/schemas/BulkEmailRequestItem'
362
+ BulkEmailRequestItem:
363
+ type: object
364
+ description: A single email entry in a bulk validation request.
365
+ required:
366
+ - email
367
+ properties:
368
+ email:
369
+ type: string
370
+ format: email
371
+ description: Email address to validate.
372
+ name:
373
+ type: string
374
+ description: Optional name or label.
375
+ ip:
376
+ type: string
377
+ format: ip
378
+ description: Optional IP address for enrichment.
379
+ ErrorResponse:
380
+ type: object
381
+ description: Standard error envelope returned by the API on failed requests.
382
+ required:
383
+ - message
384
+ properties:
385
+ error:
386
+ type: string
387
+ description: Short error category or exception type.
388
+ message:
389
+ type: string
390
+ description: Human-readable error message describing the failure.
391
+ path:
392
+ type: string
393
+ description: API endpoint path that produced the error.
394
+ status:
395
+ type: integer
396
+ description: HTTP status code returned with the error.
397
+ timestamp:
398
+ type: string
399
+ format: date-time
400
+ description: Timestamp when the error occurred (ISO 8601).
401
+ security:
402
+ - ApiKeyAuthHeader: []
403
+ - ApiKeyAuthQuery: []