vendor/mixpanel-groups · vendor documented
Mixpanel groups needs $token, $group_key, $group_id, and an operation
Not /engage. /groups updates company or account profiles. $group_key is the type, such as Company. $group_id is that group. Send $set or another documented operator. verbose=1 is recommended so the 200 body is not a silent zero.
A token and group id are not an update
Mixpanel documents an operation object on every record. $set writes properties. The other operators increment, union, unset, or delete.
What this pack matches
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 |
|---|---|---|---|---|
verbose |
recommended | Mixpanel documents `verbose=1` so the 200 body says whether the update was accepted. Fix: Send `verbose=1` on `/groups` while you are implementing. | vendor.mixpanel-groups.param.verbose.missingvendor.mixpanel-groups.param.verbose.emptyvendor.mixpanel-groups.param.verbose.invalid |
docs |
strict |
optional | Mixpanel documents `strict=1` so failed records are named in the response. Fix: Send `strict=1` to see per-record validation errors. | vendor.mixpanel-groups.param.strict.emptyvendor.mixpanel-groups.param.strict.invalid |
docs |
ip |
optional | Mixpanel documents `ip=0` on server-side calls so the group profile is not geolocated to your server. Fix: Send `ip=0` from a server. | vendor.mixpanel-groups.param.ip.emptyvendor.mixpanel-groups.param.ip.invalid |
docs |
$token |
required | Mixpanel documents `$token` as required. It is the project token. Fix: Send the project token from Mixpanel project settings as `$token`. | vendor.mixpanel-groups.body.$token.missingvendor.mixpanel-groups.body.$token.empty |
docs |
$group_key |
required | Mixpanel documents `$group_key` as required. It is the group type, such as Company. Fix: Send the group key you configured in Mixpanel, such as `Company`. | vendor.mixpanel-groups.body.$group_key.missingvendor.mixpanel-groups.body.$group_key.empty |
docs |
$group_id |
required | Mixpanel documents `$group_id` as required. It is the group instance, such as Acme. Fix: Send the id of this group, such as `acme`. | vendor.mixpanel-groups.body.$group_id.missingvendor.mixpanel-groups.body.$group_id.empty |
docs |
$set |
optional | Updates or adds group properties, creating the profile if needed. | docs | |
$set_once |
optional | Sets group properties only when they are not already set. | docs | |
$add |
optional | Increments numeric group properties. | docs | |
$union |
optional | Unions list group properties. | docs | |
$remove |
optional | Removes values from list group properties. | docs | |
$unset |
optional | Unsets named group properties. | docs | |
$delete |
optional | Deletes the group profile. | docs | |
body.operation_required |
required | The group update has no operation. Mixpanel documents `$set`, `$set_once`, `$add`, `$union`, `$remove`, `$unset`, or `$delete`. Fix: Send `$set` with the properties to write, or another documented groups operator. | vendor.mixpanel-groups.body.operation_required |
docs |
Validate a payload
pixellint validate json @payload.json --rulepack vendor/mixpanel-groups
Try this failing payload in the playground. Mixpanel groups missing a group operation.
[{"$token":"project-token","$group_key":"Company","$group_id":"acme"}]
cargo install pixellint
·
npm install pixellint