The only email infrastructure that closes the deliverability loop end-to-end. No bolt-on tools. No vendor sprawl. EU-native.
Know in 1 second if your email was delivered. Not 30 seconds via webhook. Not "accepted". Delivered.
Paste 4 records once. Truncus owns the rest forever — SPF, DKIM, DMARC, MTA-STS, plus weekly drift correction.
Truncus runs its own DMARC ingestion endpoint, parsing aggregate reports from Gmail, Yahoo, and Outlook into your account — no third-party deliverability service required.
↻ DMARC report returns to Truncus
Start setup in under a minute.
What happens when your email provider has an outage during admissions, during a security alert, during a payment confirmation window?
Without a continuity layer, the answer is: nothing gets delivered.
Critical email should not depend on a single provider. Truncus ensures it doesn't.
Today
Single provider
One dependency. One point of failure.
“If it goes down, we wait.”
During an outage
Disruption
Auth fails. Alerts stop. Users wait.
“When did this start?”
With Truncus
Continuity
Parallel infrastructure. Automatic failover.
“We kept delivering.”
Three real workflows. Execute, validate, recover.
Agent sends invoice
Durable operation with exactly_once guarantee
// Agent sends invoice — durable operation with guarantee
const op = await truncus.operations.create({
type: 'email.send',
delivery_guarantee: 'exactly_once',
params: {
from: 'billing@yourapp.com',
to: customer.email,
subject: `Invoice #${invoice.id}`,
html: renderInvoice(invoice),
},
});
const result = await truncus.operations.get(op.operation_id);
// { status: "completed", provider: "ses", delivered_at: "..." }Agent handles bounce
Post-send intelligence with actionable recommendations
// Agent handles bounce gracefully
const email = await truncus.emails.get(messageId);
if (email.intelligence.failure_category === 'permanent') {
// "The recipient email does not exist."
await removeFromList(email.to);
} else if (email.intelligence.is_retryable) {
// Already handled — Truncus retried across providers
}Agent validates first
Pre-send confidence scoring protects reputation
// Agent validates before risking domain reputation
const check = await truncus.emails.validate({
from: 'agent@yourapp.com',
to: prospect.email,
subject: 'Partnership opportunity',
});
if (check.recommendation === 'do_not_send') {
// Skip — high bounce risk
console.log(`Skipping: ${check.checks.spam_risk}`);
} else {
await truncus.emails.sendSync({ ... });
}Every send returns a terminal state. Failures include a machine-readable reason.
// call
const { status, message_id } = await truncus.emails.send(...)// possible responses
{ "status": "delivered", "message_id": "msg_8f21" }{ "status": "bounced", "reason": "mailbox_full" }{ "status": "rejected", "reason": "suppression_list" }Delivery events are stored and queryable.
| Traditional API | Truncus send_sync | |
|---|---|---|
| Send email | ||
| Know if delivered | Set up webhook server, wait, correlate | In the same response |
| Agent-friendly | No (async callbacks) | Yes (synchronous result) |
| Lines of code | 40+ (send + webhook + correlation) | 3 (one fetch call) |
AI agents don't set up webhook servers. They call an API and need to know if it worked.
That's it.
Below your agent logic. Above raw email providers. The execution layer.
Your Agent / App
Truncus Execution Layer
Validate
spam score domain health confidence dedup check
Execute
send / send_sync retry + failover batch / schedule guarantees
Govern
kill switch rate limits reputation cooldowns
Observe
lifecycle latency intelligence statistics
Inbound
receive classify intent correlate sentiment
Prove
global msg ID audit trail sandbox replay
AWS SES
primary (Ireland, eu-west-1)
Brevo
failover (France)
Circuit breaker: 5 failures in 60s triggers automatic failover. Dual MX records for inbound continuity.
Your first send
curl -X POST https://truncus.co/api/v1/emails/send \
-H "Authorization: Bearer tr_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "you@yourdomain.com",
"to": "test@example.com",
"subject": "Hello from Truncus",
"html": "<p>It works.</p>"
}'Response includes terminal delivery status — delivered, bounced, or rejected. No polling. Full quickstart guide
See if your domain is ready to send email — SPF, DMARC, and MX in seconds.
Delivery events are stored in real time and remain queryable. Terminal state. Stored. Replayable.
| Time | Message ID | To | Subject | Status | Reason |
|---|---|---|---|---|---|
| 09:14:02 | msg_8f21a3 | user@acme.com | Your invoice is ready | delivered | — |
| 09:14:18 | msg_9b44c1 | old@defunct.co | Password reset | bounced | mailbox_full |
| 09:14:33 | msg_a2f7e8 | blocked@example.org | Welcome aboard | rejected | suppression_list |
| 09:15:01 | msg_c3d9f2 | team@startup.io | Deployment succeeded | delivered | — |
Most email services stop at sending. Truncus provides continuity, observability, and provable delivery.
| Capability | Truncus | Typical API | Enterprise API |
|---|---|---|---|
| Sync delivery confirmation | Yes (send_sync) | No | No |
| Operations API (durable sends) | Yes | No | No |
| Delivery guarantees | 3 modes | Best effort | Best effort |
| Multi-provider failover | SES + Brevo (circuit breaker) | Single | Single |
| Pre-send validation | Yes | No | No |
| Post-send intelligence | Yes | No | No |
| Governance (kill switch, reputation) | Yes | No | No |
Built for AI agents and autonomous systems
Starts free. No credit card required.
Estimated monthly volume
30K emails
| Agent type | Emails/day | Monthly | Plan |
|---|---|---|---|
| SaaS notifications | 200 | 6K | Free |
| Customer support bot | 500 | 15K | Pro |
| AI outreach agent | 2,000 | 60K | Pro |
| Monitoring & alerting | 5,000 | 150K | Scale |
| Multi-tenant platform | 8,000 | 240K | Scale |
Starts free. No credit card required.
All plans include send_sync, Operations API, delivery guarantees, multi-provider failover (SES + Brevo), EU data residency, and governance. No annual contracts.
For testing and development
For shipping products
For serious infrastructure
No credit card required.
Why Truncus exists
Every email API tells you they sent it. None of them tell you it arrived. We built Truncus because agents need execution certainty, not optimistic status codes. If your system decided to send an email, you deserve to know what happened.
Jasper — Founder, Van Moose
Send email. Guarantee execution. Prove the outcome. Multi-provider failover, delivery guarantees, and governance on every plan.
Get API keyNo credit card required.