Sendara gives you one HTTP API and 6 official packages. You send transactional mail, one message at a time or up to 1000 in a batch. Every message carries an event timeline. A webhook reports each delivered, opened, bounced and complained event to your backend. Email is the only send channel that is generally available.
Base URL
Send every request over HTTPS to one base URL. Sendara runs in one region, and it has no regional endpoint for you to select.
https://api.sendara.devAuthentication
Authenticate every request with a Bearer API key. A key carries one of 3 scopes: send, read or admin. A key runs in the live mode (sk_live_…) or in the test mode (sk_test_…).
Authorization: Bearer sk_live_xxxQuickstart
The quickstart has 4 steps. You need no sales call and no approval.
1. Install an SDK
Install the Node package, the Python package or the Go package. You can also call the API directly.
npm install sendara2. Add your domain
Register the domain that you send from. The response holds the 6 DNS records to publish: 3 DKIM CNAMEs, an MX record and a TXT record for the MAIL FROM subdomain, and a TXT record for DMARC. See Domains & deliverability.
curl https://api.sendara.dev/v1/domains \
-H "Authorization: Bearer sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{ "domain": "mail.yourdomain.com" }'3. Send your first email
After your domain is verified, one call sends an email. Set the sender to an address on that domain. Use the SDK from parameter, or metadata.from_email on the raw request. The sender is required when you send from your own domain. If you omit it, the API returns 422 from_required. Each SDK generates the idempotency_key, so a retry is safe.
import { Sendara } from "sendara";
const sendara = new Sendara(process.env.SENDARA_API_KEY!);
await sendara.emails.send({
from: "[email protected]",
to: "[email protected]",
subject: "Welcome",
html: "<h1>Welcome 🎉</h1>",
});from: "Acme <[email protected]>". Put the name first and the address in angle brackets. See the sender name. An account with no verified domain omits from_email, and it sends from the shared platform sender.4. Watch it deliver
Every message carries an event timeline. Read the timeline, or subscribe to a webhook for the delivered, opened, bounced and complained events.