Not another email API — the infrastructure that ensures every email actually happens. Multi-provider failover (SES Ireland + Brevo France). EU data residency. Zero email loss. Governance.
POST /api/v1/emails/send_sync
{
"from": "agent@yourapp.com",
"to": "user@example.com",
"subject": "Invoice #1247",
"html": "<h1>Your invoice is ready</h1>"
}{
"status": "delivered",
"message_id": "msg_abc123",
"global_message_id": "gm_a1b2c3d4...",
"provider": "ses",
"latency_ms": 1040
}Your agent decided to send it. Truncus makes sure it actually happened.
Start free — 3,000 emails/month. No credit card.
Resend
Send
Developer email API
“Send email easily”
AgentMail
Converse
Agent inbox system
“Give agents an inbox”
Truncus
Execute
Execution + reliability layer
“Multi-provider. EU-native. Zero loss.”
Most email APIs return 202 Accepted and call it done. What actually happened? Nobody knows until a webhook fires hours later.
Truncus is different. Every email is a tracked operation:
Your agent doesn't fire-and-forget. It executes, confirms, and moves on.
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.
The execution stack
Providers: SES Ireland (primary) + Brevo France (automatic failover). Circuit breaker with 5-failure threshold.
Execution layer: Truncus (EU) — validates, routes, retries with exponential backoff, governs, proves. Failed queue with dead-letter recovery.
SES Ireland primary. Brevo France automatic failover. Durable circuit breaker (5 failures in 60s triggers switch). Every email logs which provider delivered it.
Failed emails enter a durable retry queue with exponential backoff (30s, 2m, 8m, 30m, 2h). Dead-letter recovery for permanent failures. Replay API for manual intervention.
Durable email operations. Create, track, retry, cancel. Like Stripe PaymentIntents, but for email. Full attempt history per operation.
Confidence scoring, spam risk assessment, domain health check, recipient history. Know before you send.
Primary provider in Ireland (eu-west-1). Backup in France. Both providers EU-based. GDPR-native by architecture, not by add-on. Your emails never leave Europe.
Kill switch API, recipient cooldowns, account reputation engine, anomaly detection, provider health API. Every email logs which provider sent it.
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({ ... });
}Resend sends email. AgentMail gives agents an inbox. Truncus guarantees execution.
| Capability | Truncus | Resend | SendGrid |
|---|---|---|---|
| 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 |
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 | — |
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.