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 boni

03

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");
}