Introduction
Send transactional email from your application with one HTTP request - domain setup, API keys, webhooks and delivery logs.
Updated
Sendpository is transactional email infrastructure. You verify a domain you own, create an API key, and send email with a single HTTP request - no SMTP server, no DKIM keys to manage, no bounce parsing.
Using an AI coding agent?
npx sendpository@latest agents teaches Claude Code, Codex, Cursor and Copilot
how Sendpository works - then just ask it to add email, or to move you off
Resend, SendGrid, Postmark, Mailgun or SES. See
AI coding agents.
What it's for
Transactional email is mail your product sends because a person did something:
| One-time passcodes | Password resets |
| Welcome messages | Receipts and invoices |
| Order confirmations | Security alerts |
| Shipping updates | Account notifications |
If you need to send the same message to thousands of people at once, that's marketing email. It's on the roadmap, not shipping today.
How it fits together
Your application
│ POST /v1/emails
▼
Sendpository checks your key, quota and suppression list,
│ signs the message with your domain's DKIM key
▼
Recipient's mailbox
│
▼
Delivery event ──▶ your webhook endpointYou call one endpoint. Everything after that - signing, queueing, retries, bounce handling, suppression - happens for you, and every step shows up in the dashboard.
Before you start
Start by signing up and confirming your account email. To send email, you need:
A domain you control
You must be able to add DNS records to it. A subdomain like
mail.yourdomain.com is the usual choice - see Domains.
A verified domain
Publish four DNS records so mailbox providers trust mail from you. This is the only part that takes real-world time - DNS can take a few minutes to propagate.
An API key
Created in the dashboard, and kept there until you close the tab. See API keys.
New to sending email?
Start with the Quickstart. It walks the whole path from signing up to a delivered message, and explains the DNS parts in plain terms.
Base URL
All requests go to:
https://api.sendpository.com/v1Every request needs an Authorization header:
Authorization: Bearer sp_your_api_keyTwo ways to call it
Node.js and TypeScript have an official client:
npm install sendpositoryimport { Sendpository } from "sendpository";
const sendpository = new Sendpository(process.env.SENDPOSITORY_API_KEY);
await sendpository.emails.send({ from, to, subject, html });It adds typed errors, automatic retries and webhook signature verification. See the SDK guide.
Everything else talks to the API directly. Every example in these docs is a
plain HTTP call. Your language runtime must be installed; individual examples
list any extra dependency (such as Python's requests or PHP's cURL extension).