pixellint

vendor/brevo · vendor documented

Brevo REST events need an email and an event name

Not the sa.js snippet. The REST trackEvent call identifies the contact by email and names the event. properties and eventdata are optional. identify is a different endpoint.

What this pack matches

Hosts
in-automate.brevo.com, in-automate.sendinblue.com
Paths
…/api/v2/trackEvent…
Vendor docs
developers.brevo.com/docs/track-custom-events-rest

Rules

Codes are stable. A finding in CI, MCP, or the playground lands on the same id.

Field Required What it checks Rule ids Source
email required Brevo identifies the contact by email on every REST trackEvent call. Fix: Send the contact email in `email`. vendor.brevo.body.email.missing
vendor.brevo.body.email.empty
docs
event required It is the event name to record. Any value is legal except the reserved keys inside `properties`. Fix: Set `event` to the name you want in Automation, such as `cart_updated`. vendor.brevo.body.event.missing
vendor.brevo.body.event.empty
docs
properties optional Optional contact properties. Do not put `email` or `event` inside this object; those keys are reserved. docs
eventdata optional Optional event payload, such as cart contents under `eventdata.data`. docs

Validate a payload

pixellint validate json @payload.json --rulepack vendor/brevo

Try this failing payload in the playground. Brevo trackEvent missing event name.

{"email":"buyer@example.com","event":""}

cargo install pixellint · npm install pixellint