Health a domain
/api/v1/domains/{domain}/healthParameters
| Name | In | Type | Description |
|---|---|---|---|
domainrequired | path | string | The domain id, or the domain name itself. |
Request
/api/v1/domains/{domain}/healthcurl -X GET 'https://app.mailyte.com/api/v1/domains/yourdomain.com/health' \
-H 'Authorization: Bearer mk_live_YOUR_API_KEY'const response = await fetch('https://app.mailyte.com/api/v1/domains/yourdomain.com/health', {
method: 'GET',
headers: {
Authorization: 'Bearer mk_live_YOUR_API_KEY',
},
});
const { data } = await response.json();import requests
response = requests.get(
"https://app.mailyte.com/api/v1/domains/yourdomain.com/health",
headers={"Authorization": "Bearer mk_live_YOUR_API_KEY"},
)
data = response.json()["data"]<?php
$response = Http::withToken('mk_live_YOUR_API_KEY')
->get('https://app.mailyte.com/api/v1/domains/yourdomain.com/health');
$data = $response->json('data');require "net/http"
require "json"
uri = URI("https://app.mailyte.com/api/v1/domains/yourdomain.com/health")
request = Net::HTTP::Get.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
Success.
dataobjectobjectstringdomain_healthdomain_idstringstatusstringgood | warning | criticalBanded from `score`: good at 90 and above, warning at 60, critical below it.
scoreinteger0-100.
issuesarray<object>Every problem found, each with its own fix. Empty when there are none.
issuestringrecommendationstringWhat to do about this issue. Null means NONE is attached to this particular problem -- it is not withheld and it is not unknown. In practice it is never null today: every branch that raises an issue writes its advice in the same breath. It is nullable so that the day one does not, the problem is still reported rather than dropped, and no issue ever inherits the advice meant for another.
metricsobjectThe last 30 days.
emails_sentintegerMessages accepted for delivery in the last 30 days. Never null -- it is read from the daily rollup, which answers 0 for a window it holds no rows for. **0 therefore means "no events are recorded", not "nothing was sent"**, and the rates beside it are null for exactly that reason: with no denominator there is no rate. A domain that has sent mail but whose events never reached the rollup looks identical to one that has sent none.
delivery_ratenumberPercentage of sent mail confirmed delivered. Null means there was no traffic in the window to compute a rate from -- not 0%, and emphatically not 100%.
bounce_ratenumberPercentage of sent mail that bounced. Null means there was no traffic in the window to compute a rate from -- not 0%, and emphatically not 100%.
spam_ratenumberPercentage of sent mail reported as spam. Null means there was no traffic in the window to compute a rate from -- not 0%, and emphatically not 100%.
checked_atstringWhen DNS was last resolved for this domain. Null when it never has been.
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.