DEVELOPER · SDK

One REST API. A typed client in any language.

Every SendNomi capability is a REST endpoint described by an OpenAPI 3.1 specification. Point your generator at it and get a fully typed client in the language you already use. The official SDKs add automatic retry, idempotency-key handling and exponential backoff on top.

REST API · OpenAPI 3.1 · official SDKs for Node.js, Python, Browser and CLI
Node.js
Official SDK
import SendNomi from "sendnomi";

const sn = new SendNomi("sn_live_•••");

await sn.messages.send({
  to: "[email protected]",
  template: "welcome@v1"
});
Python
Official SDK
from sendnomi import SendNomi

sn = SendNomi(api_key="sn_live_•••")

sn.messages.send(
  to="[email protected]",
  template="welcome@v1"
)
Browser
Official SDK
import { SendNomiBrowser } from "@sendnomi/browser";

const sn = new SendNomiBrowser({
  publicKey: "sn_pub_•••"
});

await sn.track("signup_completed", {
  email: "[email protected]"
});
CLI
Official SDK
# sign in
sendnomi login

# send a template
sendnomi messages send \
  --to [email protected] \
  --template welcome@v1

Every SDK calls the same endpoints with the same parameter names, so moving between languages is painless. Prefer to stay close to the metal? The OpenAPI 3.1 description generates a typed client for any language and toolchain.