Verify your unchecked contacts
/api/v1/verifications/contactsChecks every contact that has never been checked. Free. Contacts are also checked automatically when you import them and when a campaign starts, so this is for contacts that arrived some other way.
Contacts whose address does not exist are marked bounced and are never mailed.
This endpoint takes no request body.
Request
/api/v1/verifications/contactscurl -X POST 'https://app.mailyte.com/api/v1/verifications/contacts' \
-H 'Authorization: Bearer mk_live_YOUR_API_KEY'const response = await fetch('https://app.mailyte.com/api/v1/verifications/contacts', {
method: 'POST',
headers: {
Authorization: 'Bearer mk_live_YOUR_API_KEY',
},
});
const { data } = await response.json();import requests
response = requests.post(
"https://app.mailyte.com/api/v1/verifications/contacts",
headers={"Authorization": "Bearer mk_live_YOUR_API_KEY"},
)
data = response.json()["data"]<?php
$response = Http::withToken('mk_live_YOUR_API_KEY')
->post('https://app.mailyte.com/api/v1/verifications/contacts');
$data = $response->json('data');require "net/http"
require "json"
uri = URI("https://app.mailyte.com/api/v1/verifications/contacts")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer mk_live_YOUR_API_KEY"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(request) }Response
Started.
dataobjectobjectstringverificationidstringstatusstringrunning | finished | expired | failed`running` until every address has an answer, then `finished`. `expired`: the checker could not answer some addresses within a day; they stay `pending` and their credits were refunded.
sourcestringlist | contacts | import | campaign`list`: addresses you sent (10 send credits each). `contacts`: your never-checked contacts (free). `import` and `campaign`: checks we run automatically when you import contacts or start a campaign (free).
labelstringnulltotalintegerUnique addresses in the run.
countsobjectAlways sums to `total`.
validintegerThe mailbox exists.
invalidintegerDoes not exist, cannot receive mail, or is not an address. Mail to these is refused.
riskyintegerThrowaway, catch-all or role address: may not reach a person.
unknownintegerThe provider would not confirm either way (Yahoo and AOL never do). Sent as normal.
pendingintegerStill being checked.
credits_chargedintegerSend credits this run cost: 10 per address for a `list`, 0 otherwise.
credits_refundedintegerCredits given back for addresses the checker could not answer.
created_atstringfinished_atstringnull
Returned inside the standard envelope.
Errors
| Status | When |
|---|---|
401 | The API key is missing, unknown, revoked or expired. All four answer identically, on purpose: distinguishing them would confirm which keys exist. |
403 | The key is valid but may not do this: it lacks the required scope, its IP allowlist does not include you, or this endpoint does not accept API keys. |
404 | No such resource in this organization. |
422 | The request was understood but the values were not acceptable. |
429 | Too many requests, or the organization has spent its sending allowance. `Retry-After` says how long to wait. |
Every status, with what causes it and what to do, is on the error reference.