Skip to content

Send a test e-mail to the account address

POST /api/v2/me/email-deliverability/actions/send-test

Send a test e-mail to the account address to check that e-mail from Hostup arrives. If sending to the address is blocked after an earlier bounce, the block is lifted first. That happens at most once every 30 days per address. An address reported as spam is never unblocked this way. Change the address instead.

One test per address every 10 minutes. Another test within that time returns 429 rate_limited with retryAfterSeconds. Send no body. Follow the result with GET /api/v2/me/email-deliverability. lastTest.delivered turns true or false when the receiving mail server has answered.

Authentication: An API key with the scope write:account. About keys and scopes

Example

POST /api/v2/me/email-deliverability/actions/send-test
curl -X POST "https://cloud.hostup.se/api/v2/me/email-deliverability/actions/send-test" \
-H "Authorization: Bearer $HOSTUP_API_KEY" \
-H "Content-Type: application/json"

Responses

200 Test e-mail sent.

Response 200
{
"test": {
"queuedAt": "2026-08-21T12:30:00.000Z",
"suppressionLifted": true
},
"deliverability": {
"email": "[email protected]",
"status": "suppressed",
"reason": "Email to [email protected] is not being delivered right now because an earlier message bounced (last on 2026-08-21). Invoices, renewal warnings and ticket replies do not reach this address until this is fixed. Sending a test email from the account page restarts delivery (and confirms the address works); otherwise change the account email.",
"lastBounceAt": "2026-08-21T08:35:49.000Z",
"lastBounceKind": "suppression",
"lastDeliveredAt": null,
"lastTest": {
"sentAt": "2026-08-21T12:30:00.000Z",
"delivered": null
},
"uiShouldShow": true,
"domainNotice": null,
"actions": {
"canSendTest": {
"allowed": true,
"reason": null
},
"canChangeEmail": {
"allowed": true,
"reason": null
},
"canDismiss": {
"allowed": false,
"reason": "This notice stays until email reaches the account address again."
}
}
}
}
Response fields
testobject
The test e-mail that was sent.
queuedAtstring
When the test e-mail was sent.
suppressionLiftedboolean
true when a block after an earlier bounce was lifted first.
deliverabilityobject
The delivery status after the test was sent, the same shape as GET /api/v2/me/email-deliverability.

Errors

Errors are Problem Details with a stable code. Branch on the code, not on the text.

400Invalid request. The response body is an RFC 7807 Problem Details document.
401Authentication is required.
403Forbidden. The caller lacks a required scope or does not own the resource.
404Not found. The resource does not exist or is not owned by the caller.
409No test can be sent to this address, for example because mail to it was reported as spam (not_allowed).
429A test was sent to this address within the last 10 minutes (rate_limited). retryAfterSeconds says when to try again.
500Internal error. Retry later or contact support if the issue persists.
502The test e-mail could not be sent right now (send_failed). Try again in a few minutes.
503The account e-mail address could not be loaded right now (upstream_unavailable). Try again shortly.