Less boo. More booked. Halloween offer: 30 days free on any paid plan. Claim 30 days freeEvery new account gets one free mailbox for warmup and replies. No domain to buy. See how it works

Skip to content

Send test (deliverability-grade check)

API referenceVerify

From the Verify API reference. Requests use the base URL https://app.warmerly.com/api/v1 and an API key, see Authentication.

Some addresses cannot be settled by SMTP probing alone, a catch-all domain accepts everything, so "accepted" proves nothing. A send test resolves those the only way that actually works: it sends one real message from one of your own warmup mailboxes and watches for a bounce.

text
POST /verify/send-test
GET  /verify/send-test/{id}
FieldTypeRequiredDescription
emailstringYesAddress to test, 3 to 320 characters. An address that is not valid returns 400 bad_request (invalid_email).
checkIdstring (UUID)NoLinks the result back to an earlier verification, so the original check is refined rather than duplicated.
json
{
  "test": {
    "id": "9f1c2d3e-4a5b-4c6d-8e7f-0a1b2c3d4e5f",
    "email": "sam@example.com",
    "status": "awaiting_bounce",
    "fromAccount": "jane@yourdomain.com",
    "bounceCode": null,
    "bounceMessage": null,
    "failureReason": null,
    "deadlineAt": "2026-09-12T10:15:00.000Z"
  }
}

GET /verify/send-test/{id} is the poll: each call does a throttled IMAP check for the bounce and returns the current status, awaiting_bounce, valid, invalid or failed. The watch window is about five minutes (deadlineAt). A bounce inside it makes the test invalid. A reply from the address, or reaching deadlineAt with no bounce, makes it valid. So valid here means "no bounce came back in the window", not proof the mailbox is read. A poll made after deadlineAt is what settles the test, so keep polling until the status is no longer awaiting_bounce.

Notes worth knowing before you wire this up:

  • It requires a connected sending mailbox, one of your own that is active or aging, can send, and whose inbox Warmerly can read. With none, the test comes back immediately as failed with failureReason: "no_account" rather than erroring. Other send failures also come back as failed, with the error text in failureReason. A recipient server that refuses the address while the message is being sent makes the test invalid straight away.
  • Your plan must include email features, otherwise the call returns 403 channel_not_included.
  • Polls are throttled: calls within 15 seconds of the last inbox check return the stored status without a new check. GET /verify/send-test/{id} returns 404 not_found for a test that is not yours.
  • It sends real email from your mailbox, so it affects that mailbox's reputation like any other send. Use it to settle a handful of ambiguous addresses, not as a bulk strategy.
  • It is not billed as a separate verification. It refines a check that was already counted.
Was this page helpful?