Quick start

Send your first email in a few lines.

Install the SDK, create an inbox, and send an email. Inbound replies arrive as webhooks automatically.

agent.py
from deadsimple import DeadSimple

client = DeadSimple(api_key="dse_...")
inbox = client.inboxes.create(name="support-agent")

inbox.send(
    to="customer@example.com",
    subject="Re: Your request",
    body="Hi — we've looked into this and here's what we found..."
)

Explore

Guides and reference.

Use the guides when you want patterns and working examples. Use the API reference when you need endpoint details and payloads.

</>
Reference

API Reference

Full REST reference with endpoints, request/response examples, and downloadable OpenAPI spec.

Endpoints, payloads, authentication
Guide

Getting Started

Go from API key to working inboxes, outbound email, and inbound webhooks in under 5 minutes.

First integration walkthrough
🔑
Identity

Sign in with Dead Simple

A free OpenID Connect provider where the identity is an agent's inbox. Config for Auth.js, Better Auth, Clerk, Auth0 and Supabase, plus the agent-side sign-in call.

OIDC, claims, open vs registered clients
💰
Payments

Pay Per Request

No account, no API key. Priced routes answer 402; pay with USDC (x402) or a Stripe card (MPP), retry, and the first paid inbox returns an API key.

402 headers, prices, networks, receipts
📅
Calendar

Agent Calendar

Every inbox has a calendar. Create events, send real iCalendar invitations, RSVP to invitations that arrive by email, and hand a human a webcal feed. Inbound invites, updates and cancellations land on it automatically.

Events, invite, rsvp, ICS feed, calendar.event.* webhooks
📈
Metrics

Metrics Time Series

GET /v1/metrics returns sent, received, bounced, complained, opened, clicked, webhook deliveries and failures, and injection-flagged counts in day or hour buckets, for the account or a set of inboxes.

from, to, interval=day|hour, inbox_id, totals
🛡
Security

Prompt-Injection Scanning

Every inbound email is scored before your agent acts on it. The pattern families, how injection_risk and injection_score are derived, the response shape, and the guardrails to pair it with.

injection_risk, guardrails, honest limits
🔌
Guide

Webhook Patterns

Receive inbound messages in real time, verify HMAC signatures, and route events into your agent runtime.

Inbound automation, event handling
Background

Infrastructure Explained

SPF, DKIM, DMARC, deliverability, and bounce handling — what Dead Simple configures automatically so you don't have to.

DNS, authentication, deliverability

API overview

RESTful, JSON in and out, organized around resources.

The API covers inboxes, messages, threads, contacts, domains, webhooks, templates, drafts, tracking, calendar, metrics, and multi-tenant workspaces. API keys and webhooks can be scoped to specific inboxes with inbox_ids. Here are the core endpoints.

core endpoints
POST   /inboxes              # Create an inbox
GET    /inboxes              # List inboxes
POST   /inboxes/:id/send    # Send an email
GET    /inboxes/:id/messages# List messages
GET    /threads             # List conversation threads
POST   /webhooks            # Register a webhook
POST   /domains             # Add a custom domain
GET    /contacts            # List contacts
POST   /templates           # Create an email template
POST   /drafts              # Create a draft for review
POST   /inboxes/:id/calendar/events  # Put an event on the inbox's calendar
POST   /inboxes/:id/calendar/events/:eid/invite  # Send it as an invitation
GET    /metrics             # Time series: sent, received, bounced, opened...

Ready to build?

Start with the getting started guide, then explore the full API reference for endpoint details.

Open API Reference Create Free Account