vendor/heap-user-properties · vendor documented
Heap user properties need app_id and identity
The server API cannot attach traits to an anonymous Heap user_id. identity is required. properties is the object that writes the traits. The builtin Email property is the lowercase key email.
identity is required on the server API
Client-side addUserProperties can run in an anonymous session. The server call needs the known identity.
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 |
|---|---|---|---|---|
app_id |
required | It is the Heap environment ID. Heap documents it as required. Fix: Set app_id to the environment ID from Heap Projects. | vendor.heap-user-properties.body.app_id.missingvendor.heap-user-properties.body.app_id.empty |
docs |
identity |
required | It is the known identity. Heap documents it as required. The server API cannot attach properties to an anonymous Heap user_id. Fix: Send the same identity you use in Heap Identify. | vendor.heap-user-properties.body.identity.missingvendor.heap-user-properties.body.identity.empty |
docs |
properties |
recommended | It is the trait object. Heap documents keys and values as strings or numbers, fewer than 1024 characters. The builtin Email property is the lowercase key email. Fix: Send a properties object. Use the key email, lowercase, for Heap's builtin Email property. | vendor.heap-user-properties.body.properties.missing |
docs |
Validate a payload
pixellint validate json @payload.json --rulepack vendor/heap-user-properties
Try this failing payload in the playground. Heap add user properties missing identity.
{"app_id":"11","properties":{"age":"25"}}
cargo install pixellint
·
npm install pixellint