February 27, 2026

Loyalty API: new endpoint and rate limits

New endpoint: DELETE /loyalty/config/programs/{pid}/contact/{cid}

Removes a contact from a loyalty program subscription. See the Loyalty API reference for details.

Rate limits: Loyalty endpoints now have documented rate limits across all account tiers.

EndpointsStarterBusinessEnterprise
GET /v3/loyalty/config
All endpoints under /v3/loyalty/{…}
600 RPH1,200 RPH3,600 RPH

See the rate limits documentation for the full breakdown.

PHP SDK v4 release

We’ve released the PHP SDK v4 (getbrevo/brevo-php) with a type-safe client for the Brevo API: unified Brevo client, strongly typed request and response objects with PHPDoc annotations, PSR-18 HTTP client compatibility (Guzzle, Symfony HttpClient), automatic retries with exponential backoff, and structured error handling via BrevoApiException.

You can learn more on the dedicated guide here: https://developers.brevo.com/docs/api-clients/php

Install it using:

$composer require getbrevo/brevo-php

Guzzle is recommended as the HTTP client:

$composer require getbrevo/brevo-php guzzlehttp/guzzle

Key highlights:

  • Unified client via Brevo(apiKey: "...") — single entry point with namespaced service clients
  • Strongly typed request and response objects with full PHPDoc annotations
  • PSR-18 HTTP client support — use Guzzle, Symfony HttpClient, or any compatible client
  • Automatic retries with exponential backoff (configurable per client or per request)
  • Structured errors via BrevoApiException with getCode(), getBody(), and getMessage()
  • 33 service namespaces covering the entire Brevo API

Resources:


Python SDK v4 beta release

We’ve released a beta version of the Python SDK (v4.0) with significant improvements including native async support via AsyncBrevo, Pydantic-based typed models, automatic retries with exponential backoff, and a custom httpx client support.

You can learn more on the dedicated guide here: https://developers.brevo.com/docs/api-clients/python

Install it using:

$pip install brevo-python

Key highlights:

  • Unified client via Brevo(api_key="...") — no more manual configuration objects
  • Native async support with AsyncBrevo
  • Full type annotations for all request and response models
  • Raw response access via with_raw_response
  • 33 service namespaces covering the entire Brevo API

Resources:


Conversations webhooks documentation update

Updated the Conversations webhooks documentation with new fields and corrections.

Message object — new fields:

  • rawUnsafeHtml — Raw unsanitized HTML of the message
  • subject — Email subject line (present for email-source conversations)
  • isSentViaJsApitrue for messages sent via the JS API
  • sourceMessageId — Original message ID from the source platform
  • from, to, replyTo, cc, bcc — Email conversation fields
  • isForwardtrue if the message is a forwarded message

Attachment object — new fields:

  • mimeType — MIME type of the file
  • isInline — Whether the attachment is inline (e.g. embedded images in emails)
  • inlineId — Content-ID for inline attachments

Visitor object — new field:

  • isBanned — Whether the visitor is banned (in conversationTranscript only)

Corrections:

  • imageInfo.previewUrl renamed to imageInfo.previewLink in the conversation transcript payload
  • Image preview URL quality parameter updated from lighter to better

Node.js SDK beta release

We’ve released a beta version of the Node.js SDK (v4.0.1) with significant improvements including a promise-based API, enhanced TypeScript types, standardized error handling, and improved retry logic. You can learn more on the dedicated guide here: https://developers.brevo.com/docs/api-clients/node-js

The pre-release is now available on npm. Install it using:

$npm install @getbrevo/brevo@^4.0.1
$npm install @getbrevo/brevo@^next

Resources:




August 18, 2025

Automated Back-in-Stock Alerts

  • Real-time inventory monitoring with new stock product parameter
  • Captures customer intent via Subscription API or plugin
  • Sends personalized email notifications with pre-built workflow

Check it out here: https://developers.brevo.com/reference/createproductalert

Custom objects now supported in events

  • Event creation now supports custom objects.
  • Enables hybrid contact/object event scenarios (e.g. trigger an automation when a quote is created).
  • Improves autonomy in setting up custom object workflows.

Check it out here: https://developers.brevo.com/reference/createevent


Generate Rendered Preview of a Transactional Template

This new endpoint allows developers to generate a rendered HTML preview of a transactional email template using dynamic parameters or a contacts attributes.

Use Cases:

  • Preview how a transactional template will render with real or test data.
  • Validate personalization variables before sending emails.
  • Automate template rendering in backend systems.
Request
curl --request POST \
--url https://api.brevo.com/v3/smtp/template/preview \
--header 'api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"templateId": 22,
"params": {
"Firstname": "John",
"Lastname": "Doe"
}
}'

Route: Generate the rendered preview of transactional template


May 1, 2025

Deprecated Endpoint: POST /v3/transactionalSMS/sms

We’ve deprecated the former transactional SMS endpoint in favor of a more stable and simplified version.
While the deprecated endpoint will remain operational for an undetermined period, we recommend migrating to the new version.

Deprecated endpoint

POST [https://api.brevo.com/v3/transactionalSMS/sms](https://api.brevo.com/v3/transactionalSMS/sms)

Deprecated response payload

1{
2 "reference": "ab1cde2fgh3i4jklmno",
3 "messageId": 1511882900176220,
4 "smsCount": 2,
5 "usedCredits": 0.7,
6 "remainingCredits": 82.85
7}

New endpoint

POST [https://api.brevo.com/v3/transactionalSMS/send](https://api.brevo.com/v3/transactionalSMS/send)

Current response payload

1{
2 "messageId": 1511882900176220
3}