The only email API built for autonomous agents. Synchronous delivery confirmation, durable operations, delivery guarantees, and governance — in one API.
They return a message ID and hope for the best. Your agent can't hope. It needs to know:
Truncus answers all of these. In the same API call.
Agent sends invoice with delivery proof
Synchronous — agent knows immediately if it worked
from truncus import Truncus
truncus = Truncus(api_key="tr_live_xxx")
# Synchronous — agent knows immediately if it worked
result = truncus.emails.send_sync(
from_address="billing@yourapp.com",
to=customer.email,
subject=f"Invoice #{invoice.id}",
html=render_invoice(invoice),
)
if result.status == "delivered":
mark_invoice_sent(invoice.id)
log(f"Delivered in {result.latency_ms}ms")
elif result.status == "bounced":
flag_invalid_email(customer.id)
log(f"Bounce: {result.intelligence.explanation}")Durable operation with retry across providers
Truncus handles retries and provider failover automatically
# Create a durable operation — Truncus handles retries
op = truncus.operations.create(
type="email.send",
delivery_guarantee="at_least_once",
params={
"from": "support@yourapp.com",
"to": user.email,
"subject": "Your account is ready",
"html": welcome_html,
},
retry_policy={"max_retries": 3, "backoff_ms": 5000},
)
# Check later (or let the webhook notify you)
status = truncus.operations.get(op.operation_id)
# { status: "completed", attempts: 1, provider: "ses" }Pre-flight check before sending
Validate before wasting a send or risking reputation
# Validate before wasting a send
check = truncus.emails.validate(
from_address="agent@yourapp.com",
to=prospect.email,
)
if check.recommendation == "do_not_send":
skip_prospect(prospect.id, reason=check.checks.spam_risk)
elif check.confidence_score > 0.8:
truncus.emails.send_sync(...)Execution certainty
Synchronous delivery confirmation. 1.04s average. One call, one answer.
Durable operations with lifecycle tracking. Create, retry, cancel.
best_effort / at_least_once / exactly_once. Choose per email.
Reliability
SES primary. Postmark, Mailgun, SendGrid as automatic failover.
One ID persists across retries and provider switches.
Prevents agent loops from sending duplicate emails.
Intelligence
Confidence scoring, spam risk, domain health. Know before you send.
Failure explanations and recommended next actions.
Detect replies, unsubscribes, complaints, auto-replies.
Safety
Instant shutdown per agent or account. One API call.
Prevent over-emailing the same address.
Auto-throttle agents with high bounce or complaint rates.
MCP
197 tools on npm — works in Claude Desktop
Python SDK
pip install truncus
Node SDK
npm install @truncus/email
REST API
Any language, any framework
CLI
npm install -g @vanmoose/truncus-cli
Your Agent (LangChain / CrewAI / AutoGen / Custom)
Truncus
Execute, validate, govern, observe
SES
Postmark
Mailgun
SendGrid
All plans include send_sync, Operations API, delivery guarantees, and governance.
Free
$0
3,000 emails/month
Pro
$19/mo
50,000 emails/month
Scale
$99/mo
300,000 emails/month
Free tier. 3,000 emails/month. No credit card. 30 seconds to first send.
Start free