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.
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:
Guzzle is recommended as the HTTP client:
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
BrevoApiExceptionwithgetCode(),getBody(), andgetMessage() - 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:
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 messagesubject— Email subject line (present for email-source conversations)isSentViaJsApi—truefor messages sent via the JS APIsourceMessageId— Original message ID from the source platformfrom,to,replyTo,cc,bcc— Email conversation fieldsisForward—trueif the message is a forwarded message
Attachment object — new fields:
mimeType— MIME type of the fileisInline— 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 (inconversationTranscriptonly)
Corrections:
imageInfo.previewUrlrenamed toimageInfo.previewLinkin the conversation transcript payload- Image preview URL quality parameter updated from
lightertobetter
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:
Resources:
Dedicated rate limits for orders and products endpoints
Added dedicated rate limits for the following endpoints:
POST /v3/orders/statusPOST /v3/products
These endpoints now have specific rate limits that differ from the default limits applied to other endpoints. See the rate limits documentation for detailed limits by account tier.
Connect to Cursor guide
Added a new guide explaining how to connect the Brevo API documentation to Cursor via MCP (Model Context Protocol) server. This integration enables Cursor to access Brevo’s API documentation directly within your development environment.
Guide: Connect to Cursor
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.
Route: Generate the rendered preview of transactional template
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
New endpoint
POST [https://api.brevo.com/v3/transactionalSMS/send](https://api.brevo.com/v3/transactionalSMS/send)
Current response payload
API Rate Limit Changes for GET /smtp/emails
We have introduced a new rate limit for GET /smtp/emails endpoint to improve system stability
New rate limits based on your account type:
Self-Service: 2 requests/second → 7,200 requests/hour
**Enterprise: ** 3 requests/second → 10,800 requests/hour
More information on our rate limit guide