Questions · Updated 2026-09-23
How do I test email sending without delivering anything?
Test email sending without delivering anything by addressing every recipient at simulator.agentisend.com, or by calling POST /emails/preflight, which runs every send check and does not send.
Test email sending without delivering anything in either of two ways. Address every recipient at simulator.agentisend.com and call POST /emails: the operation summary says those addresses cost nothing and reach nobody, and Domains and DNS says nothing leaves and any well-formed From is accepted. Or call POST /emails/preflight, whose summary is that it runs every send gate without sending and that the report matches what POST /emails would do.
The simulator
POST /emails returns simulated. That field is true when every recipient is a simulator address: the send is accepted and it costs nothing. One recipient anywhere else and simulated is false, and that send is delivered. GET /emails/{id} is the stored message either way.
curl -sS -X POST https://api.agentisend.com/emails \
-H "Authorization: Bearer $AGENTISEND_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"from":"billing@yourdomain.com","to":"customer@example.com"}'201
{
"id": "9c8f8f0e-3d1a-4d3f-9a1e-2b7c1a0f5e42",
"simulated": true,
"warnings": []
}Use an address such as success@simulator.agentisend.com. The domain is the rule. The local part is not.
Preflight
POST /emails/preflight takes the same body as POST /emails and returns ok, simulated, error, and checks. It does not create a message. When ok is false, error carries the same code, message, and fix the send would have returned.
curl -sS -X POST https://api.agentisend.com/emails/preflight \
-H "Authorization: Bearer $AGENTISEND_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"from":"billing@yourdomain.com","to":"customer@example.com"}'201
{
"checks": "string",
"error": "string",
"ok": true,
"simulated": true
}