Check a message before sending
Check a message before you send it and get back a report with a verdict, a score and the findings.
https://app.usenotix.dev/api/v1/deliverability/checkFull access and sending access keys can call this. Key permissions lists the extra rules some calls have.
Check a message before you send it and get back a report with a verdict, a score and the findings. A BLOCK verdict describes a message the send paths would refuse; the check itself answers 200 whenever the message could be rendered.
Body parameters
The address the message would be sent from. 'Name <address>' is allowed. An address on a domain the team has not verified is a block finding.
At least 3 characters. At most 320 characters.
The subject line as a recipient would see it.
At most 998 characters.
The HTML body. Provide this or templateId, not both.
At most 2,000,000 characters.
The plain text alternative. Optional, and only meaningful alongside html.
At most 2,000,000 characters.
A saved template to render and check. Provide this or html, not both.
At most 64 characters.
Values for the template's variables: at most 200, each at most 10000 characters. Ignored when html is provided.
Whether this is marketing content. Marketing content without an unsubscribe link is a block finding. Defaults to false.
Headers
Bearer followed by your API key.
Errors
Invalid input, for example neither or both of html and templateId, a missing from, or an empty subject
No template with this id for the calling team
The team's API rate limit was exceeded
Every error has the same shape. See all error codes.
curl -X POST "https://app.usenotix.dev/api/v1/deliverability/check" \
-H "Authorization: Bearer $NOTIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "news@acme.com",
"subject": "Your September update",
"html": "<p>Read the update.</p>"
}'
import { Notix } from "notix-js";
const notix = new Notix(process.env.NOTIX_API_KEY);
const { data, error } = await notix.deliverability.check({
from: "Acme <news@acme.com>",
subject: "October newsletter",
html: "<p>Hello</p>",
});
console.log(data?.verdict, data?.score);
from notix import Notix
notix = Notix() # reads NOTIX_API_KEY
report, _ = notix.deliverability.check({
"from": "Acme <news@acme.com>",
"subject": "October newsletter",
"html": "<p>Hello</p>",
})
use Notix\Notix;
$notix = new Notix(getenv('NOTIX_API_KEY'));
$report = $notix->deliverability->check([
'from' => 'Acme <news@acme.com>',
'subject' => 'October newsletter',
'html' => '<p>Hello</p>',
]);
{
"verdict": "WARN",
"score": 85,
"findings": [
{
"id": "unsubscribe_missing",
"severity": "block",
"title": "The email has no unsubscribe link",
"detail": "Marketing email must give every recipient a way to unsubscribe.",
"fix": "Add the unsubscribe link block to the footer of this email."
}
],
"spam": {
"available": true
},
"checkedAt": "2026-09-07T12:00:00.000Z",
"budgetExceeded": []
}