DEVELOPER · SDK

6 languages, one API.

SendNomi's official SDKs install in a single line via popular language package managers. Automatic retry, idempotency-key management, exponential backoff, type-safe model — all built in. All SDKs are open source.

6 SDKs · 4 stable · 2 beta
sendnomi-node
v2.1.4 · stable
# install
npm install sendnomi

# send
import SendNomi from "sendnomi";

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

await sn.messages.send({
  to: "[email protected]",
  template: "welcome@v1"
});
sendnomi-python
v1.8.2 · stable
# install
pip install sendnomi

# send
from sendnomi import SendNomi

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

sn.messages.send(
  to="[email protected]",
  template="welcome@v1"
)
sendnomi/sdk
v1.4.0 · stable
# install (composer)
composer require sendnomi/sdk

# send
use SendNomi\Client;

$sn = new Client("sn_live_•••");

$sn->messages->send([
  "to"       => "[email protected]",
  "template" => "welcome@v1"
]);
sendnomi-go
v1.2.1 · stable
// install
go get github.com/sendnomi/sdk-go

// send
import "github.com/sendnomi/sdk-go"

sn := sendnomi.New("sn_live_•••")

sn.Messages.Send(&sendnomi.Message{
  To:       "[email protected]",
  Template: "welcome@v1",
})
sendnomi-ruby
v0.9.0 · beta
# install
gem install sendnomi

# send
require "sendnomi"

sn = SendNomi::Client.new("sn_live_•••")

sn.messages.send(
  to:       "[email protected]",
  template: "welcome@v1"
)
SendNomi.NET
v0.7.2 · beta
// install
dotnet add package SendNomi

// send
using SendNomi;

var sn = new SendNomiClient("sn_live_•••");

await sn.Messages.SendAsync(new Message {
  To       = "[email protected]",
  Template = "welcome@v1"
});

All SDKs use the same endpoints with the same parameter names — switching between languages is painless. Stable releases follow semantic versioning (SemVer); beta SDKs are for pre-production evaluation.