Skip to content

Update User Group

This endpoint updates a user group’s name or description.

PUT /v1/user-groups/user-groups/:id

Include your API key in the x-api-key header. See Authentication.

user-groups:write
ParameterTypeRequiredDescription
idstringYesUser group ID to update.
FieldTypeRequiredDescription
namestringNoNew group name. Must not be empty and must be unique in your account. Leading and trailing spaces are removed.
descriptionstring | nullNoNew group description. Leading and trailing spaces are removed. null is stored as "".

Fields you leave out are not changed. Send a JSON body, at least {}. A request with no body returns 500.

{
"name": "Operations Leads",
"description": "Users who coordinate operations work."
}
Terminal window
curl -X PUT "https://api.crewsum.com/v1/user-groups/user-groups/36b735f8-4dd7-4c3c-836f-35d2fe84e872" \
-H "x-api-key: $CREWSUM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Operations Leads",
"description": "Users who coordinate operations work."
}'

On success, the API returns HTTP 200 OK.

{
"message": "Successfully updated user group",
"data": {
"id": "36b735f8-4dd7-4c3c-836f-35d2fe84e872",
"name": "Operations Leads",
"description": "Users who coordinate operations work.",
"userCount": 1,
"createdAt": "2026-05-27T18:00:00.000Z",
"updatedAt": "2026-05-27T18:05:00.000Z",
"assignments": [],
"users": [
{
"userId": "user-a",
"displayName": "User Display Name",
"email": "placeholder@example.com",
"systemRole": "assoc",
"isArchived": false
}
]
}
}
  • This endpoint changes only the name and description. To replace the group’s members, use Set User Group Users.
  • updatedAt is set on every successful request, even when no field changes.
  • The response has the same shape as Get User Group.
StatusMeaning
400"User group ID not found": the ID path segment was empty.
500"Error updating user group": returned for every other failure, including an unknown group ID, an empty or duplicate name, and a missing body.

Authentication and scope failures are described in Errors.

This endpoint does not trigger a webhook.