> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.brevo.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.brevo.com/_mcp/server.

# Batch events body wrapper, contact merge ID response, and loyalty transaction filter

## Breaking changes

* **Batch track events (`POST /events/batch`)** — The request body schema has changed. The array of events must now be wrapped in an object under an `events` key. Previously accepted: `[{...}, {...}]`. Now required: `{"events": [{...}, {...}]}`. Additionally, `event_name` and `identifiers` are now explicitly marked as required fields on each event object.

## Added

* **Create contact (`POST /contacts`)** — New `getId` field (boolean, default `false`). When set to `true` alongside `forceMerge: true`, the response includes the `id` of the surviving contact after the merge. Useful when you need to reference the retained contact record immediately after creation.
* **Loyalty transaction history (`GET /loyalty/balance/programs/{pid}/transaction-history`)** — New `loyaltySubscriptionId` query parameter for filtering transaction history by a specific loyalty subscription.