SDKs & CLI

Official SDKs for nine languages, generated from the OpenAPI spec — or plain HTTPS.

The raw HTTPS API is always sufficient — no SDK required. When you want typed clients, autocomplete, and retries handled for you, emitd ships official SDKs generated from the same OpenAPI spec that defines the API:

LanguagePackage
Node.js / TypeScript@emitd/sdk
Pythonemitd
Goemitd
Rubyemitd
PHPemitd
Javaemitd
C#emitd
Rustemitd
Elixiremitd

There is also an emitd CLI for key management and ad-hoc sends.

Minimal Node example

import { Emitd } from "@emitd/sdk";

const emitd = new Emitd({ apiKey: process.env.EMITD_API_KEY! });

const res = await emitd.email.send({
  from: "hello@yourdomain.com",
  to: ["user@example.com"],
  subject: "Welcome!",
  html_body: "<p>Hello from emitd!</p>",
});

Prefer fetch? Nothing here needs an SDK — see the quickstart and the API reference.

Spec-first

SDKs are regenerated from docs/openapi.yaml by sdks/generate.sh. Never hand-edit SDK sources — change the spec and regenerate.

Machine-readable references

  • /openapi.yaml — the full OpenAPI 3.1 document, every endpoint and schema.
  • /llms.txt — a compact plain-text reference built for model context windows.
  • MCP endpoint — a native Model Context Protocol server at POST /mcp, same API key, zero glue code.

On this page