TypeScript / JavaScript SDK
The official SDK for Node.js, Cloudflare Workers, Vercel Edge, Deno, and the browser. Zero dependencies.
Install
Section titled “Install”npm install @duta/sdkCreate the client once and reuse it:
import { Duta } from "@duta/sdk";
export const duta = new Duta(process.env.DUTA_API_KEY!);const { data, error } = await duta.emails.send({ from: "hello@yourdomain.com", to: "user@example.com", subject: "Welcome", html: "<p>Thanks for signing up!</p>",});Error handling
Section titled “Error handling”Methods never throw on API errors. They return { data, error }, and exactly one is set:
const { data, error } = await duta.emails.send({ /* ... */ });if (error) { // error.name: authentication_error | permission_denied | rate_limit_exceeded | ... console.error(error.statusCode, error.name, error.message); return;}console.log(data.id);Methods
Section titled “Methods”duta.emails.send(options): send an emailduta.emails.get(id): retrieve an emailduta.emails.list({ page, limit }): list emailsverifyWebhook(payload, signature, secret): verify a webhook
Cloudflare Workers
Section titled “Cloudflare Workers”Workers expose env per request, so create the client inside the handler:
app.post("/welcome", async (c) => { const duta = new Duta(c.env.DUTA_API_KEY); await duta.emails.send({ /* ... */ });});Package: npmjs.com/package/@duta/sdk · Source: github.com/indra-sh/duta-js.