sendbaze
Menu

Documentation

Sendbaze API

One REST API for transactional email and SMS. Every send returns an id in milliseconds; delivery is asynchronous and reported by webhook and in the logs.

Base URL

All requests go to https://api.sendbaze.com/v1 over HTTPS. Requests and responses are JSON. Timestamps are ISO 8601 in UTC.

Authentication

Send your API key as a bearer token. Live keys start with sk_live_; test keys start with sk_test_, validate everything, return real-looking ids and never send or consume credits.

curl https://api.sendbaze.com/v1/emails \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ ... }'

Keys are shown once when created and stored only as a hash. Each key carries scopes: emails:send, sms:send, domains:write and read.

Your first send

send.ts
import { Sendbaze } from "@sendbaze/sdk";

const sendbaze = new Sendbaze({ apiKey: process.env.SENDBAZE_API_KEY! });

const { id } = await sendbaze.emails.send({
  from: "orders@yourshop.co.za",
  to: "thandi@example.com",
  subject: "Your order #1042 has shipped",
  html: "<p>Tracking: <b>CG123456789ZA</b></p>",
});
// id: "em_01j9..." — status arrives by webhook

The quickstart walks through domain verification, keys and the first live message in about ten minutes.

Where to go next

  • API reference for every field on POST /v1/emails, POST /v1/sms, the batch endpoints and message lookups.
  • Errors for the error envelope and every code the API returns.
  • Webhooks for delivery, bounce, complaint and opt-out events and how to verify their signatures.
  • SDKs for the TypeScript client.

Conventions

  • Idempotency: send an Idempotency-Key header on any POST and the same key returns the same id for 24 hours. See idempotency.
  • Rate limit: 100 requests per second per organisation. Above it the API returns 429 with a Retry-After header.
  • Every response carries an x-request-id. Quote it when you write to support.
  • Phone numbers are E.164 (+27821234567). The sender address may be bare or Name <name@domain>.