-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathabstract-api-email-reputation.yaml
More file actions
334 lines (334 loc) · 10.3 KB
/
abstract-api-email-reputation.yaml
File metadata and controls
334 lines (334 loc) · 10.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
openapi: 3.0.3
info:
title: Abstract API - Email Reputation API
description: Validate email addresses for deliverability, detect disposable or risky domains, verify SMTP/MX records, and enrich email data with sender information, breach history, and risk scoring.
version: 1.0.0
contact:
url: https://www.abstractapi.com/
x-generated-from: documentation
servers:
- url: https://emailreputation.abstractapi.com/v1
description: Email Reputation API v1
security:
- apiKey: []
tags:
- name: Email Reputation
description: Email validation and reputation operations
paths:
/:
get:
operationId: getEmailReputation
summary: Abstract API Get Email Reputation
description: Validate an email address and retrieve reputation, deliverability, and enrichment data.
tags:
- Email Reputation
parameters:
- name: api_key
in: query
description: Your unique API key for the Email Reputation API.
required: true
schema:
type: string
example: abc123def456
- name: email
in: query
description: The email address to validate and analyze.
required: true
schema:
type: string
format: email
example: test@example.com
responses:
'200':
description: Successful email reputation lookup
content:
application/json:
schema:
$ref: '#/components/schemas/EmailReputationResponse'
examples:
getEmailReputation200Example:
summary: Default getEmailReputation 200 response
x-microcks-default: true
value:
email: test@example.com
deliverability:
status: DELIVERABLE
status_detail: smtp_valid
is_format_valid: true
is_smtp_valid: true
is_mx_valid: true
mx_records:
- mx.example.com
quality:
score: 0.92
is_free_email: false
is_disposable: false
is_catchall: false
is_role: false
domain:
domain: example.com
domain_age: 9000
is_live_site: true
risk:
address_risk_status: low
domain_risk_status: low
breaches:
total_breaches: 0
'400':
description: Bad request - missing or invalid parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized - invalid or missing API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
securitySchemes:
apiKey:
type: apiKey
in: query
name: api_key
description: Unique API key per Abstract API service
schemas:
EmailReputationResponse:
type: object
description: Email reputation and validation response
properties:
email:
type: string
format: email
description: The email address analyzed
example: test@example.com
deliverability:
$ref: '#/components/schemas/Deliverability'
quality:
$ref: '#/components/schemas/EmailQuality'
sender:
$ref: '#/components/schemas/SenderInfo'
domain:
$ref: '#/components/schemas/DomainInfo'
risk:
$ref: '#/components/schemas/RiskInfo'
breaches:
$ref: '#/components/schemas/BreachInfo'
Deliverability:
type: object
description: Email deliverability information
properties:
status:
type: string
description: Overall deliverability status
example: DELIVERABLE
enum:
- DELIVERABLE
- UNDELIVERABLE
- RISKY
- UNKNOWN
status_detail:
type: string
description: Detailed deliverability reason
example: smtp_valid
is_format_valid:
type: boolean
description: Whether the email format is valid
example: true
is_smtp_valid:
type: boolean
description: Whether the SMTP server responded positively
example: true
is_mx_valid:
type: boolean
description: Whether valid MX records exist for the domain
example: true
mx_records:
type: array
description: List of MX records for the domain
items:
type: string
example:
- mx.example.com
EmailQuality:
type: object
description: Email quality signals
properties:
score:
type: number
format: float
description: Quality score from 0.0 to 1.0
example: 0.92
is_free_email:
type: boolean
description: Whether the email is from a free provider
example: false
is_username_suspicious:
type: boolean
description: Whether the username appears suspicious
example: false
is_disposable:
type: boolean
description: Whether the email is from a disposable provider
example: false
is_catchall:
type: boolean
description: Whether the domain accepts all emails
example: false
is_subaddress:
type: boolean
description: Whether the email uses a subaddress (+ tag)
example: false
is_role:
type: boolean
description: Whether the email is a role-based address
example: false
is_dmarc_enforced:
type: boolean
description: Whether DMARC policy is enforced
example: true
is_spf_strict:
type: boolean
description: Whether SPF is strictly enforced
example: false
minimum_age:
type: integer
description: Minimum estimated age of the email in days
example: 365
SenderInfo:
type: object
description: Sender identity information
properties:
first_name:
type: string
description: Inferred first name of sender
example: Jane
last_name:
type: string
description: Inferred last name of sender
example: Smith
email_provider_name:
type: string
description: Name of the email provider
example: Google Workspace
organization_name:
type: string
description: Organization associated with the email
example: Example Corp
organization_type:
type: string
description: Type of organization
example: business
DomainInfo:
type: object
description: Domain-level information
properties:
domain:
type: string
description: Domain extracted from email
example: example.com
domain_age:
type: integer
description: Age of the domain in days
example: 9000
is_live_site:
type: boolean
description: Whether the domain hosts a live website
example: true
registrar:
type: string
description: Domain registrar name
example: GoDaddy
registrar_url:
type: string
format: uri
description: URL of the registrar
example: https://www.godaddy.com
date_registered:
type: string
format: date
description: Date the domain was registered
example: '2015-03-10'
date_last_renewed:
type: string
format: date
description: Date the domain was last renewed
example: '2025-03-10'
date_expires:
type: string
format: date
description: Date the domain expires
example: '2026-03-10'
is_risky_tld:
type: boolean
description: Whether the TLD is associated with risky domains
example: false
RiskInfo:
type: object
description: Risk assessment for the email
properties:
address_risk_status:
type: string
description: Risk level of the specific email address
example: low
enum:
- low
- medium
- high
- critical
domain_risk_status:
type: string
description: Risk level of the domain
example: low
enum:
- low
- medium
- high
- critical
BreachInfo:
type: object
description: Data breach history for the email
properties:
total_breaches:
type: integer
description: Total number of breaches the email appeared in
example: 0
date_first_breached:
type: string
format: date
description: Date of the earliest known breach
example: '2020-01-15'
date_last_breached:
type: string
format: date
description: Date of the most recent breach
example: '2023-06-01'
breached_domains:
type: array
description: Domains where the email was breached
items:
type: string
example:
- breached-site.com
ErrorResponse:
type: object
description: Error response from the API
properties:
message:
type: string
description: Human-readable error message
example: The provided API key is invalid
error:
type: string
description: Error code identifier
example: invalid_api_key