Python SDK Changelog
Release history for the brevo-python SDK.
April 10, 2026 — v4.0.11
Fixed
- Process endpoints —
duplicate_email_idis now typed as a string (URL to a CSV file) instead of an integer. The legacyin_processstatus value is now handled correctly. - Event endpoints —
contact_propertiesandevent_propertiesnow accept boolean values increate_eventandcreate_batch_events. - Contact endpoints —
attributesnow accepts plain integers increate_contactandupdate_contact.
March 25, 2026 — v4.0.9
Added
client.event.get_events()— retrieve a paginated list of custom events with filters for contact, event name, object type, and date range.client.event.create_batch_events()— track multiple contact interactions in a single request.CreateUpdateProductRequestand batch product upsert now accept optionalbrandanddescriptionfields.GetProductDetailsresponse now includesbrandanddescription.- Balance:
get_active_balances_api(),get_contact_balances(), andget_subscription_balances()now acceptinclude_internal. - Balance:
get_transaction_history()now supports filtering bystatusandtransaction_type.
Improved
metafield on balance definition requests is now a typed model with anis_internalflag.metaInfosize limit for products clarified: maximum 20,000 characters total.usersfield on plan verticals is now nullable.
March 12, 2026 — v4.0.7
Fixed
GetCampaignStats:apple_mpp_opensandopens_rateare now correctly typed as nullable.Order.products: all product fields are now accessible —price,product_id,variant_id,quantity,quantity_float.create_contact(): correctly handles204 No Contentresponses without raising a deserialization error.
Deprecated
transactional_sms.send_transac_sms()— usetransactional_sms.send_transac_sms_async()instead.
February 23, 2026 — v4.0 beta release
Released a beta version of the Python SDK (v4.0) with native async support via AsyncBrevo, Pydantic-based typed models, automatic retries with exponential backoff, and custom httpx client support.
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