Update a group
Sets, sets once or removes a group's properties, as a $groupidentify event does, so a server can keep what it knows, such as an organization's plan and seats, on the group.
Values are flat: text, numbers and booleans.
Guide: Groups
A project secret key: vh_sk_... for production, vh_sk_test_... for test. Keep it on your servers.
In: header
Path parameters
The project's id, proj_.... A secret key works only in the project it belongs to.
The group's id, an_group_....
Request body
application/json
TypeScript definitions
Use the request body type in TypeScript.
Properties to set, replacing their values.
Properties to set only where the group has none yet.
Properties to remove, by key.
Examples
curl -X PATCH "https://api.voidhash.com/api/v1/projects/proj_tz4a98xxat96iws9zmbrgj3a/analytics/groups/an_group_x7c1q8w4e6r0t5y2u8k3v9m2" \ -H "Authorization: Bearer vh_sk_..." \ -H "Content-Type: application/json" \ -d '{ "set": { "plan": "enterprise", "seats": 40 }, "unset": [ "trial_ends_at" ] }'{ "id": "an_group_x7c1q8w4e6r0t5y2u8k3v9m2", "projectId": "proj_tz4a98xxat96iws9zmbrgj3a", "groupType": "organization", "groupKey": "org_4815", "properties": { "name": "Lovelace Labs", "plan": "enterprise", "seats": 40 }, "createdAt": "2026-03-02T14:05:11.000Z"}{ "error": { "type": "invalid_request", "code": "invalid_body", "message": "The request body is invalid: Expected object" }}{ "error": { "type": "unauthenticated", "code": "invalid_api_key", "message": "This secret key is not valid." }}{ "error": { "type": "permission_denied", "code": "permission_denied", "message": "Insufficient permissions." }}{ "error": { "type": "not_found", "code": "project_not_found", "message": "There is no project proj_tz4a98xxat96iws9zmbrgj3a, or this credential cannot use it.", "param": "projectId" }}{ "error": { "type": "internal", "code": "internal_error", "message": "Something went wrong on our side. Try again, and contact support with the Request-Id header if it keeps failing." }}{ "error": { "type": "unavailable", "code": "string", "message": "string", "param": "string" }}Response body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
Errors
This operation adds no error codes of its own. It can fail with the errors every operation shares, such as unauthenticated; see Errors.
More in Groups
- List groups
GET - Retrieve a group
GET - Delete a group
DELETE - List a group's people
GET
Something wrong or missing on this page? Tell us by email or on Discord.