How it works
Four refusals, then one message.
Most of what Mailroom does happens before anything is sent and before anything is priced. That order is the whole design: a send API an agent can drive without a human in the loop is only safe if saying no is the cheapest thing it does.
You post one message
A recipient, a subject, a body, and a reply address you actually read. No list, no template variables, no campaign object — the payload is one message to one person, because that is the only shape this API has.
We try to refuse it
Four gates, all free and all before a price exists. Is it one recipient? Is the subject free of the line breaks that let a caller forge headers? Has this person opted out of Ounie mail? Have the ceilings already been hit? Any one of those ends the request with a 4xx and no charge.
You are charged, then it goes
Credits are reserved, the message is handed to a production sending account on a verified, warmed, DKIM-aligned domain, and the acceptance comes back on the same request. On the keyless rail the order is inverted for the same reason: verify the signature, send, and settle only once it went — because an on-chain settlement cannot be refunded.
The recipient keeps the last word
Every message carries an RFC 8058 one-click unsubscribe. If they use it, that address joins Ounie's shared do-not-contact list and is refused on every future send, from every key, on every Ounie mail rail — not just yours.
The gates, in order
Nothing costs anything until the last row.
Afterwards
What happens to a message you already sent.
The log, not the message
Recipient, subject, size, timestamp, key. The body is never written down — you already have it, and a second copy in our database helps nobody. Re-reading your log is free forever.
Complaints come back to you
Spam complaints arrive through the provider and land in the shared suppression list. A scheduled job joins them back to the key that sent them; 2 within 30 days revokes that key, and the dashboard says exactly why.
Availability is checked for you
A scheduled probe sends a real message to the provider's mailbox simulator to confirm sending still works. While it does not, both rails refuse up front and charge nothing — you never pay to discover an outage.
2 credits per message, 5 messages per recipient per day, 30per key per hour. If those numbers do not fit what you are building, the honest answer is that this is the wrong tool — Ounie's Sequences product handles campaigns, with an account and a person attached to them.