What Delivery does
Sends the email.
Queues delivery work.
Retries failures.
Logs the status.
Magic links, verification emails, password resets, and invites. Sent, queued, and retried. One key. One environment variable. Done.
// auth.ts
import {
OwnAuthManagedEmailProvider,
createOwnAuth,
} from "own-auth";
export const auth = createOwnAuth({
emailProvider: new OwnAuthManagedEmailProvider({
deliveryKey: process.env.OWN_AUTH_EMAIL_DELIVERY_KEY,
}),
});
// That's it. Emails just work.Your app handles the login. It creates the link, secures it, and stores it in your database. Then it hands that link to Delivery. Delivery puts it in an email and sends it.
That's the entire relationship.
Sends the email.
Queues delivery work.
Retries failures.
Logs the status.
Create users.
Verify tokens.
Create sessions.
Touch your database.
Store user data.
Make auth decisions.
Switch to your own email provider anytime. Your auth flows stay the same. Only the transport changes.
Passwordless sign-in. Click and you're in.
Confirm the email address is real.
Safe link to set a new password.
Join an organisation. One click.
01
Create your account and add an app in App Settings. Its name appears in emails sent to your users.
02
Create a key in the dashboard's Delivery Keys tab and copy it. It is shown once.
03
emailProvider: new OwnAuthManagedEmailProvider({
deliveryKey: process.env.
OWN_AUTH_EMAIL_DELIVERY_KEY
})That's it. requestMagicLink, requestEmailVerification, requestPasswordReset, and inviteMember now send through Delivery.
Every plan includes every feature. The only difference is email volume.
$0
forever
3,000 emails/month
No daily limit
Sending stops at the monthly limit
$20
per month
Unlimited emails
No daily limit
Every Delivery feature included
No credit card for Free. Upgrade when you need to.
See whether every email was accepted, delivered, or failed. Filter by status and date without digging through server logs.
Status, email type, recipient, timestamp, and safe failure messages.
Auth tokens, email bodies, password reset URLs, or raw delivery keys.
Building a mobile or desktop app without a website? Delivery hosts the auth link page for you. The user clicks the email link, lands on go.own-auth.com, and gets redirected into your app.
User clicks email link
→ go.own-auth.com/your-app/magic?token=abc123
→ hosted page opens deep link
→ myapp://auth/callback?token=abc123
→ your app sends token to backend
→ own-auth verifies token and creates session
→ user is signed in
The hosted page just opens your app. It doesn't verify anything or touch your data.
Create apps, manage keys, update settings, and check usage programmatically. Everything in the dashboard is available through an API request.
curl -X POST https://api.own-auth.com/v1/apps \
-H "Authorization: Bearer oa_..." \
-H "Content-Type: application/json" \
-d '{"name": "My App"}'3,000 emails per month free. No credit card. Your app creates the link. Delivery just sends it.