Create Collaborator Group
Creates a new collaborator group with an optional initial set of members.
Last updated: June 7, 2026
POST /siren/v1/collaborator-groups
Creates a new collaborator group. Optionally writes an initial member set at creation time.
Request Body:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name for the group |
structure | string | Yes | Registered structure resolver id. Today’s values: flat, linearChain, parentChild |
description | string | No | Free-form description of the group. Defaults to an empty string when omitted |
members | object[] | No | Array of { collaboratorId, metadata? } entries. When provided, the full member set is written via the same replace logic as PUT /siren/v1/collaborator-groups/{id}/members |
Example Request:
{
"name": "Sales Reps",
"description": "Inside sales chain",
"structure": "linearChain",
"members": [
{ "collaboratorId": 41, "metadata": { "position": 1 } },
{ "collaboratorId": 42, "metadata": { "position": 2 } }
]
}
Example Response:
{
"id": 12,
"name": "Sales Reps",
"description": "Inside sales chain",
"structure": "linearChain"
}
Returns 201 on success with the new group’s serialized shape. When members is supplied, the rows are written but are not reflected in the response. Use GET /siren/v1/collaborator-groups/{id}/members?fields=id,collaboratorId,metadata to confirm them. Responds 500 when the group cannot be created.
The create response also includes dateCreated and dateModified in addition to the four fields shown above. The read endpoints (GET /collaborator-groups and GET /collaborator-groups/{id}) select fields through the resolver and expose only id, name, description, and structure, so those timestamps appear here in the create response but are not retrievable on a later read.
Events: Broadcasts CollaboratorGroupCreated. When an initial members set is written, each added row broadcasts a CollaboratorAddedToCollaboratorGroup event.