Skip to main content
SMS routes renamed. route on GET /v1/sms/coverage is now southern-africa (South Africa and its neighbours) or pan-africa (the rest of the continent). The previous values are no longer returned. The SMS guide explains that a route names the group of countries a message shares infrastructure with, not the partner that carries it.
Send before your domain is verified. POST /v1/emails accepts onboarding@sendbaze.com as from with a live key before any domain is verified. Delivery is limited to the organisation’s own addresses and the Amazon SES simulator addresses, 100 emails in total per organisation. Two new errors: 403 sandbox_recipient_not_allowed and 403 sandbox_limit_reached, both with a domainsUrl. New guide: send before your domain is verified.
402 payment_required redefined. It now means usage beyond the allowance stayed unpaid for 24 hours after the saved card was declined. An unpaid plan renewal no longer causes it; the plan is paused and the organisation moves to Free instead. Errors and Plans and limits updated.
SMS coverage. New endpoint GET /v1/sms/coverage: every country Sendbaze sends SMS to, with route, available, enabled, pricing and priceRand. Documented in the SMS guide and the API reference.New SMS errors. 422 destination_not_supported, 403 destination_not_enabled (with a settingsUrl) and 429 sms_velocity_exceeded (with Retry-After). See Errors.
New webhook events. usage.threshold, credits.low and billing.payment_failed, with their payloads on Events.New error. 402 payment_required on live sends while a charge is unpaid. See Errors.
Error codes renamed. 402 allowance_exhausted replaces plan_allowance_exceeded, and 403 plan_limit replaces 402 plan_limit_reached. New: 402 spend_cap_reached and 429 daily_cap_reached. insufficient_credits now also means an empty wallet. These errors carry upgradeUrl or topUpUrl, and plan_limit carries limit. See Errors.Usage. GET /v1/usage gained emails.daily, wallet and overage.Log history by plan. GET /v1/emails and message lookups return messages inside your plan’s history window. See Plans and limits.
React Email in the Node SDK. @sendbaze/sdk 0.2.0: pass a React element as react to emails.send() or emails.batch() and it is rendered to html and text before the request leaves your server. renderReactEmail exposes the renderer. @react-email/render is an optional peer dependency. New guide: React Email.Python SDK. pip install sendbaze: every resource of the API with keyword arguments, typed errors and verify_webhook_signature. See SDKs.Domain advice. The domain object gained advice: DMARC, apex SPF and alignment findings from every verification check.Warm-up. New error 429 warmup_limit_reached with Retry-After; GET /v1/usage gained warmup. See Reputation.Timeline order. The sent event is stamped when the provider call starts, so it always precedes delivered.Documentation. Plans and limits rewritten for the new plans and pay as you go.
Attachments and inline images. POST /v1/emails accepts attachments (up to 10 files, 3 MB decoded in total) with contentId for cid: images. New error 413 payload_too_large. The message object lists each attachment’s name, type and size.Templates. New endpoints under /v1/templates: create, version, render and send with templateId and variables. SDK sendbaze.templates.*.List emails. GET /v1/emails with status, tag, to, since, until, limit and cursor paging. SDK emails.list().Documentation launched at docs.sendbaze.com, with guides, an OpenAPI reference and samples in seven languages.
Webhooks. New endpoints under /v1/webhooks: signed endpoints with event filters, retries over a day, a delivery log and replay. SDK sendbaze.webhooks.* and verifyWebhookSignature. See Webhooks.Suppressions. Hard bounces and complaints are suppressed automatically and sends to them fail with recipient_suppressed. Marketing email carries List-Unsubscribe headers with one-click.
Plans and usage. GET /v1/usage, 402 plan_allowance_exceeded and plan_limit_reached (both renamed on 4 October 2026).
First release of the API. POST /v1/emails, POST /v1/emails/batch, GET /v1/emails/{id} with the event timeline, domain verification with Easy DKIM and a custom return path, idempotency keys and test keys.