Amplitude group identify needs api_key and a group
Not /identify. Group identify writes account or company properties. identification is JSON with group_type and group_value. HTTP V2 stays vendor/amplitude.
api_key is required
Amplitude documents api_key on GET query and POST form. A path-only /groupidentify is not an identify call.
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 |
|---|---|---|---|---|
api_key |
required | It is the project API key. Amplitude documents it as required on GET query and POST form. Fix: Send `api_key` with the Amplitude project API key. | vendor.amplitude-group-identify.param.api_key.missingvendor.amplitude-group-identify.param.api_key.empty |
docs |
identification |
required | It is a JSON identification object or array. Amplitude documents it as required. Each object carries group_type and group_value. Fix: Send `identification` as JSON with `group_type` and `group_value`. | vendor.amplitude-group-identify.param.identification.missingvendor.amplitude-group-identify.param.identification.empty |
docs |
root |
optional | Identification is an object or array of identification objects. Decoded body source: identification. Encoding: json. Native JSON type: object or array. Minimum array items: 1. Maximum array items: 1024. | vendor.amplitude-group-identify.body.root.invalid |
docs |
root |
optional | Each identification is an object. Body scope: ["[]",""]. Decoded body source: identification. Encoding: json. Native JSON type: object. | vendor.amplitude-group-identify.body.root.invalid |
docs |
group_type |
required | The vendor documents `group_type` in the request contract. Body scope: ["[]",""]. Decoded body source: identification. Encoding: json. Native JSON type: string. | vendor.amplitude-group-identify.body.group_type.missingvendor.amplitude-group-identify.body.group_type.emptyvendor.amplitude-group-identify.body.group_type.invalid |
docs |
group_value |
required | The vendor documents `group_value` in the request contract. Body scope: ["[]",""]. Decoded body source: identification. Encoding: json. Native JSON type: string. | vendor.amplitude-group-identify.body.group_value.missingvendor.amplitude-group-identify.body.group_value.emptyvendor.amplitude-group-identify.body.group_value.invalid |
docs |
group_properties |
optional | The vendor documents `group_properties` in the request contract. Body scope: ["[]",""]. Decoded body source: identification. Encoding: json. Native JSON type: object. Maximum object properties: 1024. | vendor.amplitude-group-identify.body.group_properties.invalid |
docs |
group_properties.$set |
optional | The vendor documents `group_properties.$set` in the request contract. Body scope: ["[]",""]. Decoded body source: identification. Encoding: json. Native JSON type: object. | vendor.amplitude-group-identify.body.group_properties.$set.invalid |
docs |
group_properties.$setOnce |
optional | The vendor documents `group_properties.$setOnce` in the request contract. Body scope: ["[]",""]. Decoded body source: identification. Encoding: json. Native JSON type: object. | vendor.amplitude-group-identify.body.group_properties.$setOnce.invalid |
docs |
group_properties.$add |
optional | The vendor documents `group_properties.$add` in the request contract. Body scope: ["[]",""]. Decoded body source: identification. Encoding: json. Native JSON type: object. | vendor.amplitude-group-identify.body.group_properties.$add.invalid |
docs |
group_properties.$append |
optional | The vendor documents `group_properties.$append` in the request contract. Body scope: ["[]",""]. Decoded body source: identification. Encoding: json. Native JSON type: object. | vendor.amplitude-group-identify.body.group_properties.$append.invalid |
docs |
group_properties.$prepend |
optional | The vendor documents `group_properties.$prepend` in the request contract. Body scope: ["[]",""]. Decoded body source: identification. Encoding: json. Native JSON type: object. | vendor.amplitude-group-identify.body.group_properties.$prepend.invalid |
docs |
group_properties.$unset |
optional | The vendor documents `group_properties.$unset` in the request contract. Body scope: ["[]",""]. Decoded body source: identification. Encoding: json. Native JSON type: object. | vendor.amplitude-group-identify.body.group_properties.$unset.invalid |
docs |
group_properties.$add.number… |
optional | The vendor documents `group_properties.$add.number` in the request contract. Body scope: ["[]",""]. Decoded body source: identification. Encoding: json. Native JSON type: number. | vendor.amplitude-group-identify.body.group_properties.$add.number.invalid |
docs |
method |
required | Use a published Identify transport. Complete HTTP capture contract. Native JSON type: string. | vendor.amplitude-group-identify.http.method.missingvendor.amplitude-group-identify.http.method.emptyvendor.amplitude-group-identify.http.method.invalid |
docs |
content_type |
required | POST Identify uses form fields rather than a native JSON request body. Complete HTTP capture contract. Applies when {"kind":"value_in","param":"method","values":["POST"]}. Native JSON type: string. | vendor.amplitude-group-identify.http.content_type.missingvendor.amplitude-group-identify.http.content_type.emptyvendor.amplitude-group-identify.http.content_type.invalid |
docs |
Validate a payload
pixellint validate url "$ARTIFACT" --rulepack vendor/amplitude-group-identify
Try this failing payload in the playground. Amplitude group identify missing api_key.
https://api2.amplitude.com/groupidentify?identification=%7B%22group_type%22%3A%22Company%22%2C%22group_value%22%3A%22acme%22%7D
cargo install pixellint
·
npm install pixellint