Siren

Update Collaborator Group

Updates an existing collaborator group. Only provided fields are changed.

Last updated: June 7, 2026

PUT /siren/v1/collaborator-groups/{id}

Updates an existing collaborator group. Only provided fields are changed. The record must exist (enforced by RecordExistsMiddleware). Requires authentication and the update capability on the CollaboratorGroup resource.

Body fields are all optional, and only the keys you send are applied. Member changes do not go through this endpoint. Use Set members instead. Switching a group’s structure does not migrate per-member metadata. Resolvers tolerate unknown keys, so existing member rows keep their data and each resolver reads only the keys it recognizes.

Because the metadata does not migrate, members carry no structural position for the new structure until you set one. Switching a populated group to parentChild, for example, leaves every member without a parent, so each one reads as a root of the tree until you assign parents through Set members. Switching to linearChain is the same class of change: members carry no position, so the resolver treats them all as position 0, leaving their order among one another undefined until you set positions. For the full workflow of changing structure on a live program, see Operating a cascade program. The structure value is not checked against the installed resolvers at write time, so an unregistered id is stored as-is and only surfaces as a problem when a calculation or listing tries to resolve it. Use List structure resolvers to get the valid ids for the current install.

Request Body:

FieldTypeRequiredDescription
namestringNoUpdated display name
descriptionstringNoUpdated description
structurestringNoUpdated structure resolver id: flat, linearChain, or parentChild

Example Request:

{
  "name": "Inside Sales",
  "description": "Renamed",
  "structure": "parentChild"
}

Example Response:

{
  "id": 12,
  "name": "Inside Sales",
  "description": "Renamed",
  "structure": "parentChild"
}

Returns 200 with the updated group. The response uses the same adapter shape as Create collaborator group, so it also includes dateCreated and dateModified alongside the four fields shown above. An empty body, or a body that sets every field to its current value, is a valid no-op that returns 200 with the current record and broadcasts no events. A description-only change persists and returns 200 but broadcasts no event, since only a name change or a structure change emits one.

Events: Renaming the group broadcasts CollaboratorGroupRenamed, and changing the structure broadcasts CollaboratorGroupStructureChanged, for downstream listeners. Each fires only when that field’s value actually changes.

Error Responses:

  • 404. No collaborator group found with that ID.
  • 500. Database error.