> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sendbaze.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Changes to the API, the SDKs and this documentation. Dashboard features are announced in the product, not here.

**26 October 2026**

**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](https://docs.sendbaze.com/learn/sms.md#where-you-can-send) explains that a route names the group of countries a message shares infrastructure with, not the partner that carries it.

**24 October 2026**

**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](https://docs.sendbaze.com/get-started/test-without-a-domain.md).

**23 October 2026**

**`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](https://docs.sendbaze.com/errors.md#payment_required) and [Plans and limits](https://docs.sendbaze.com/resources/plans.md) updated.

**7 October 2026**

**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](https://docs.sendbaze.com/learn/sms.md#where-you-can-send) 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](https://docs.sendbaze.com/errors.md).

**5 October 2026**

**New webhook events.** `usage.threshold`, `credits.low` and `billing.payment_failed`, with their payloads on [Events](https://docs.sendbaze.com/learn/webhooks/events.md#account).

**New error.** `402 payment_required` on live sends while a charge is unpaid. See [Errors](https://docs.sendbaze.com/errors.md#payment_required).

**4 October 2026**

**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](https://docs.sendbaze.com/errors.md).

**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](https://docs.sendbaze.com/resources/plans.md).

**27 September 2026**

**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](https://docs.sendbaze.com/learn/sending/react-email.md).

**Python SDK.** `pip install sendbaze`: every resource of the API with keyword arguments, typed errors and `verify_webhook_signature`. See [SDKs](https://docs.sendbaze.com/resources/sdks.md).

**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](https://docs.sendbaze.com/learn/deliverability/reputation.md#warm-up).

**Timeline order.** The `sent` event is stamped when the provider call starts, so it always precedes `delivered`.

**Documentation.** [Plans and limits](https://docs.sendbaze.com/resources/plans.md) rewritten for the new plans and pay as you go.

**26 September 2026**

**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.

**25 September 2026**

**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](https://docs.sendbaze.com/learn/webhooks/overview.md).

**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.

**24 September 2026**

**Plans and usage.** `GET /v1/usage`, `402 plan_allowance_exceeded` and `plan_limit_reached` (both renamed on 4 October 2026).

**22 September 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.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.