API reference / Email verification
Report what happened when you sent
Written and maintained by The ProspectAPIs team
POST/v1/email/outcomes
POST /v1/email/outcomes is the ProspectAPIs operation reportEmailOutcomes, in the Email verification group of the REST API. Report bounced or delivered for 1 to 100 addresses. A bounce you report makes your later checks of that address come back invalid with reason reported_bounce; bounces reported by two different accounts do the same for every account. A delivered report on a catch-all address raises its score. Only a hash of each address is stored. Free. Cost: free. Send your API key as a Bearer token in the Authorization header.
How this fits with the rest of the email verification API, with worked examples, is in the email verification guide.
Parameters
This operation takes no path or query parameters.
Request body
JSON (EmailOutcomesRequest).
| Field | Type | Description |
|---|---|---|
| outcomes required | array of object | |
| outcomes[].email required | string (email) | |
| outcomes[].outcome required | string: bounced, delivered |
{
"outcomes": [
{
"email": "jane@example.com",
"outcome": "bounced"
}
]
}Responses
| Status | Meaning |
|---|---|
| 200 | How many outcomes were stored. |
| 400 | The request was invalid (e.g. a bad filter or input); nothing was charged. |
| 401 | The API key is missing or invalid. |
Every error answers with the same JSON body, an error string and sometimes a code; the errors page lists each status and when it happens.
200 response fields
How many outcomes were stored.
| Field | Type | Description |
|---|---|---|
| stored required | integer |
Code samples
Each sample sends the same request. Set PROSPECTAPIS_KEY in your environment first. Values come from the spec's examples; replace them with your own.
curl -X POST https://api.prospectapis.com/v1/email/outcomes \
-H "Authorization: Bearer $PROSPECTAPIS_KEY" \
-H "Content-Type: application/json" \
-d '{ "outcomes": [ { "email": "jane@example.com", "outcome": "bounced" } ] }'const res = await fetch("https://api.prospectapis.com/v1/email/outcomes", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PROSPECTAPIS_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
"outcomes": [
{
"email": "jane@example.com",
"outcome": "bounced"
}
]
}),
});
if (!res.ok) throw new Error(`${res.status}: ${(await res.json().catch(() => ({}))).error ?? res.statusText}`);
const data = await res.json();
console.log(data);import os, requests
res = requests.post(
"https://api.prospectapis.com/v1/email/outcomes",
headers={"Authorization": f"Bearer {os.environ['PROSPECTAPIS_KEY']}"},
json={
"outcomes": [{
"email": "jane@example.com",
"outcome": "bounced",
}],
},
timeout=30,
)
res.raise_for_status()
data = res.json()
print(data)Billing
This call is free: it never spends credits, so you can call it as often as the rate limit allows. Metered calls on the same key report your balance after each response in X-Credits-Remaining, and GET /v1/account shows it at any time.
Related
The email verification guide covers this area end to end. Previous operation: Your email verification stats. Next operation: Find an email address. Every operation, grouped by area, is on the API reference index.
Create a free account to get a key, then run the samples above with your own values (this call acts for real, so use real inputs).
Was this page helpful?