Developers
Zero to delivered in minutes
A quickstart that respects your time — and a support mailbox read by engineers.
01
Create an API key
Sign up, open the console and mint a token + secret pair. Scoped staging keys are free.
# Console → API Keys → Create
$ boni keys create --label production
token bni_live_9f2c41d8a7e64b05
secret sk_live_•••••••••••••••• (shown once)02
Install the SDK
First-party clients for Node.js and Python, generated from the OpenAPI spec on every release.
$ pnpm add @boni/sdk
# or
$ pip install boni03
Send your first message
One call, one webhook, delivery receipt included. The response tells you cost and latency up front.
import { Boni } from "@boni/sdk";
const boni = new Boni(process.env.BONI_KEY);
await boni.messages.send({
channel: "sms",
to: "+13035550164",
body: "Hello from Boni 👋",
});04
Verify webhooks
Every event is HMAC-signed. Verify with one helper and replay missed events from the console.
import { verifyWebhook } from "@boni/sdk/webhooks";
export async function POST(req: Request) {
const event = await verifyWebhook(req, process.env.BONI_WEBHOOK_SECRET);
if (event.type === "message.delivered") {
console.log(event.data.id, event.data.latency_ms);
}
return new Response("ok");
}