SDK updates: Node.js v5.0.3, PHP v4.0.11, Python v4.0.9
New endpoints, new fields, and API improvements across all three SDKs.
Node.js — @getbrevo/brevo v5.0.3
Added
client.event.getEvents()— retrieve a paginated list of custom events, filterable bycontact_id,event_name,object_type,startDate, andendDate. Currently only supports custom events.client.event.createBatchEvents()— send multiple events in a single request. Returns aBatchAcceptedResponsewith a confirmation message and queued event count.client.companies.deleteAnAttribute()— delete a CRM attribute by ID.PatchCrmAttributesIdRequest— update a CRM attribute’s display label and selectable option labels, scoped tocompaniesordeals.GetProductDetailsresponse now includesbrandanddescription.CreateUpdateProductRequestand batch product upsert now accept optionalbrandanddescriptionfields.- Balance:
getActiveBalancesApi(),getContactBalances(), andgetSubscriptionBalances()now accept an optionalincludeInternalparameter. - Balance:
getTransactionHistory()now supports filtering bystatusandtransactionType.
Improved
metafield on balance definition requests is now a typed object ({ isInternal?: boolean }) instead of a genericRecord<string, unknown>.metaInfosize limit for products clarified: maximum 20,000 characters total.usersfield on plan verticals is now nullable (Item.Users | null).
PHP — getbrevo/brevo-php v4.0.11
Added
$client->event->getEvents()— retrieve a paginated list of custom events with filters for contact, event name, object type, and date range. Currently only supports custom events.$client->event->createBatchEvents()— track multiple contact interactions in a single request.PatchCrmAttributesIdRequest— update a CRM attribute’s display label and option labels.CreateUpdateProductRequestand batch product upsert now accept optionalbrandanddescriptionfields.- Balance:
getActiveBalancesApi(),getContactBalances(), andgetSubscriptionBalances()now acceptincludeInternal. - Balance:
getTransactionHistory()now supports filtering bystatusandtransactionType.
Improved
metafield on balance definition requests is now a typed class instead of a generic array.metaInfosize limit for products clarified: maximum 20,000 characters total.usersfield onGetAccountResponsePlanVerticalsItemis now nullable.
Fixed
createContact()no longer throwsBrevoException: Failed to deserialize response: Syntax erroron empty success responses.
Python — brevo-python 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. Currently only supports custom events.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.