Skip to main content
Inject a fake inbound message that runs the real ingest pipeline — persisted to a thread and delivered to your webhooks — but is flagged test mode and excluded from metrics, quotas, and billing. POST /v1/inbound/simulate Use this to build and test receiving end to end before any MX record resolves. The message is synthesized, threaded, and pushed to your webhooks exactly like a real inbound email — the only difference is the row is marked test_mode so it never affects your numbers. The to address must belong to an inbox on a receiving-enabled domain.

Body

string
required
The receive address the message is addressed to, for example support@acme.com. Must match an existing inbox.
object
required
The sender as { email, name? }, for example { "email": "jordan@example.com", "name": "Jordan Lee" }.
string
required
The subject line of the synthesized message.
string
An HTML body. Provide html, text, or both.
string
A plain-text body. Provide html, text, or both.
object
Extra raw headers to stamp on the synthesized message, as a string map.

Request

Response

200 OK — the ids of the synthesized message and its thread, plus the ids of any webhook deliveries the simulation fired. Fetch the conversation with retrieve thread.
Never counted. Simulated inbound is invisible to metrics, send quotas, and billing. It exists purely to let you wire up and verify your receiving and webhook handling.