Check addresses before mailing them: syntax, DNS routing (MX, an implicit MX, or a null MX that refuses all mail), and the workspace's suppressions and holds. Never a mailbox probe: nothing is sent to the addresses, and nothing is stored. A route the workspace's sending found in DNS within the last day is answered from that, as the sender reads it; any other is asked of DNS now, and a lookup DNS could not answer is `unknown`. In a test-mode workspace only the syntax is checked, as its sender does: its mail never leaves the fake transport.
/v1/preflightAuthorizationBearer token · headerrequiredAn API key (nb_live_…, nb_test_…), a workspace token (nbs_…) or a CLI token (nbc_…).
application/jsonemailsstring[]required1 to 100 addresses, each at most 320 characters.
One finding per address.
dataFinding[]requiredOne per address asked about, at most 100.
Show propertiesHide properties
Findingdetailstring | nullWhat is wrong with the address, when reason is syntax.
emailstringrequiredThe address as given, trimmed.
holdHoldSummary | nullShow propertiesHide properties
reasonstringrequiredmailbox_full, greylisted, no_route or invalid_recipient (a reported invalid address
waiting for a person's review).
review_afterTimestamprequiredWhen the hold is checked again.
nullreasonstringrequiredWhy: mx, implicit_mx (no MX record, the domain is its own mail host), syntax,
no_domain, null_mx (the domain accepts no mail), no_route or dns_unavailable.
New values may be added.
statusstringrequiredroutable (mail has a route), invalid (no mail can reach it) or unknown (DNS did not
answer; check again later). New values may be added.
suppressionSuppressionSummary | nullShow propertiesHide properties
idId_SuppressionrequiredreasonstringrequiredWhy the address is suppressed (unsubscribe, bounce, complaint, manual, …).
nullNo valid credential.
codestringrequiredThe code from the closed registry; programs branch on it, never on the text. New codes may be added.
detailstringrequiredWhat went wrong, for a person; never an internal cause.
errorsFieldError[]With validation_failed only: every invalid field.
Show propertiesHide properties
FieldErrorcodestringrequiredWhat is wrong (required, range, length, format, invalid, …).
detailstringrequiredA safe, human-readable explanation.
pointerstringrequiredRFC 6901 pointer into the body, or ?name for a query parameter.
instancestringrequiredThe request's path.
request_idstringrequiredThe request's id, also in X-Request-Id: what support needs to find the request.
retry_afterinteger<int64> | nullWith 429 and 503: the seconds to wait, as in Retry-After.
statusinteger<int32>requiredThe HTTP status.
titlestringrequiredFixed per code.
typestringrequiredhttps://docs.norbelys.com/errors/<code>, a page that explains the code.
The credential lacks people:read.
codestringrequiredThe code from the closed registry; programs branch on it, never on the text. New codes may be added.
detailstringrequiredWhat went wrong, for a person; never an internal cause.
errorsFieldError[]With validation_failed only: every invalid field.
Show propertiesHide properties
FieldErrorcodestringrequiredWhat is wrong (required, range, length, format, invalid, …).
detailstringrequiredA safe, human-readable explanation.
pointerstringrequiredRFC 6901 pointer into the body, or ?name for a query parameter.
instancestringrequiredThe request's path.
request_idstringrequiredThe request's id, also in X-Request-Id: what support needs to find the request.
retry_afterinteger<int64> | nullWith 429 and 503: the seconds to wait, as in Retry-After.
statusinteger<int32>requiredThe HTTP status.
titlestringrequiredFixed per code.
typestringrequiredhttps://docs.norbelys.com/errors/<code>, a page that explains the code.
The body is invalid.
codestringrequiredThe code from the closed registry; programs branch on it, never on the text. New codes may be added.
detailstringrequiredWhat went wrong, for a person; never an internal cause.
errorsFieldError[]With validation_failed only: every invalid field.
Show propertiesHide properties
FieldErrorcodestringrequiredWhat is wrong (required, range, length, format, invalid, …).
detailstringrequiredA safe, human-readable explanation.
pointerstringrequiredRFC 6901 pointer into the body, or ?name for a query parameter.
instancestringrequiredThe request's path.
request_idstringrequiredThe request's id, also in X-Request-Id: what support needs to find the request.
retry_afterinteger<int64> | nullWith 429 and 503: the seconds to wait, as in Retry-After.
statusinteger<int32>requiredThe HTTP status.
titlestringrequiredFixed per code.
typestringrequiredhttps://docs.norbelys.com/errors/<code>, a page that explains the code.