No. 01 — Send
One call, zero ceremony
A typed SDK and predictable JSON. Transactional email and broadcasts to whole audiences share the same API.
- Typed TypeScript SDK
- Templates with variables
- Audiences & broadcasts
Email API for developers · built on AWS SES
Send transactional and marketing email with one clean API, get a receipt for every message, and know the second it's delivered, opened, or bounced.
No credit card · 3,000 emails a month free
import { YoursTruly } from "@saalr-io/yours-truly";const yt = new YoursTruly(process.env.YT_API_KEY);async function main() {const { id } = await yt.emails.send({from: "hello@yourdomain.com", // a domain you've verifiedto: ["ada@example.com"],subject: "Email that lands",html: "<strong>Yours, truly.</strong>",});console.log("Sent", id); // → Sent email_yrwky6q…}main();
curl -X POST https://api.yourstrulymail.com/v1/emails \-H "Authorization: Bearer $YT_API_KEY" \-H "Content-Type: application/json" \-d '{"from": "hello@yourdomain.com","to": ["ada@example.com"],"subject": "Email that lands","html": "<strong>Yours, truly.</strong>"}'
No. 01 — Send
A typed SDK and predictable JSON. Transactional email and broadcasts to whole audiences share the same API.
No. 02 — Land
Verify your domain in minutes with guided DKIM, SPF and DMARC records, then send as anyone@yourdomain.com on AWS SES.
No. 03 — Know
Delivered, opened, bounced, complained — streamed to your webhooks in under a second, with a full timeline per message.
Observability
Open any message and see exactly what happened, and when. A live event log covers your whole account, so a support question takes seconds instead of a ticket.
P.S.