vendor/heap-identify · vendor documented
Heap identify needs app_id, user_id, and identity
Not /api/track. Identify migrates an anonymous SDK user_id onto a known identity. user_id is digits. Heap drops a second identity on the same user_id. Track stays vendor/heap-track.
user_id is the SDK id, not the email
Heap documents user_id as the numeric string from the SDK. identity is the email or login.
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 on identify. Fix: Set app_id to the environment ID from Heap Projects. | vendor.heap-identify.body.app_id.missingvendor.heap-identify.body.app_id.empty |
docs |
user_id |
required | It is the anonymous user_id from the Heap SDK. Heap documents a numeric string between 0 and 2^53-1. Fix: Send the Heap SDK user_id as digits, not the login email. | vendor.heap-identify.body.user_id.missingvendor.heap-identify.body.user_id.emptyvendor.heap-identify.body.user_id.invalid |
docs |
identity |
required | It is the known identity, such as an email. Heap documents it as required and case-sensitive, limited to 255 characters. Fix: Send a unique identity. Heap drops a second identity on the same user_id. | vendor.heap-identify.body.identity.missingvendor.heap-identify.body.identity.empty |
docs |
timestamp |
optional | Heap documents timestamp as ISO 8601. When omitted, Heap stamps the arrival time. Fix: Send an ISO 8601 timestamp, such as 2017-03-10T22:21:56+00:00. | vendor.heap-identify.body.timestamp.emptyvendor.heap-identify.body.timestamp.invalid |
docs |
Validate a payload
pixellint validate json @payload.json --rulepack vendor/heap-identify
Try this failing payload in the playground. Heap identify missing identity.
{"app_id":"11","user_id":"1847839267195673"}
cargo install pixellint
·
npm install pixellint