Groups
A group is a named set of users in your account, such as “Customer success” or “Finance.” Wherever Carom accepts a group, every member receives what the group receives: a task assigned to a group is visible to all its members, and a group added to a space gives all its members access to it. Use this resource to manage groups and their members.
Every user in the account can see every group. Creating, changing, and deleting a group requires an account admin; other keys get 403 permission_denied.
#The group object
Returned by every group endpoint, always with its members.
Attributes
-
idstring · uuidUnique identifier for the group.
-
namestring -
descriptionstring · nullable -
usersarray of users · nullableThe group’s members.
{
"id": "ecfda68b-7364-46c5-8e20-cffc98e6f291",
"name": "Customer success",
"description": "Account managers for property-management customers.",
"users": [
{
"id": "9c41d2e8-3f6a-4b7c-8d1e-5a2f7b9c0d3e",
"first_name": "Dana",
"last_name": "Whitfield",
"email_address": "dana@harborline.example",
"status": "active",
…
},
{
"id": "44c3f6da-393b-4664-9bfa-3c14e76b8cb8",
"first_name": "Marcus",
"last_name": "Oyelaran",
"email_address": "marcus@harborline.example",
"status": "active",
…
}
]
}
#List groups
Returns every group in your account in one response, each with its members; the list isn’t paginated. It takes no parameters.
Returns
-
collectionobjectShow 2 child attributesHide child attributes
-
recordsarray of groups -
total_resultsintegerThe number of groups returned.
-
curl https://api.carom.io/groups \
-H "Authorization: Bearer $CAROM_API_KEY"
{
"collection": {
"total_results": 2,
"records": [
{
"id": "ecfda68b-7364-46c5-8e20-cffc98e6f291",
"name": "Customer success",
"description": "Account managers for property-management customers.",
"users": […]
},
{
"id": "6dd53ebb-eb27-4724-80dd-c172b7d75a49",
"name": "Finance",
"description": null,
"users": […]
}
]
}
}
#Create a group
Creates a group and, when you send user_ids, adds those users to it. Requires an account admin.
Headers
-
Idempotency-KeystringA key you choose, 1 to 255 printable ASCII characters, that makes the request safe to retry. When your key’s user repeats a request to this endpoint with the same key within 24 hours of a successful one, Carom returns the first response again instead of creating a second group. The request body isn’t compared, so use a new key for each new group. A failed request doesn’t use up its key.
Request body application/json
-
groupobjectrequiredShow 3 child attributesHide child attributes
-
namestringrequired -
descriptionstring -
user_idsarray of strings · uuidThe users to add. Ids of users outside your account are ignored;
usersin the response shows who was added.
-
Returns
The new group object with its members, wrapped in group, with status 201.
Errors
- 400
invalid_requestA field failed validation, for example a missingnameor a user id that isn’t a UUID, or theIdempotency-Keyheader is malformed. - 403
permission_deniedYour key’s user isn’t an account admin. - 409
idempotency_key_in_useA request with the sameIdempotency-Keyis still in progress. Retry shortly.
curl https://api.carom.io/groups \
-H "Authorization: Bearer $CAROM_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 2b7e4c19-6a3d-4f85-b0c2-9e1d5a7f3c64" \
-d '{
"group": {
"name": "Customer success",
"description": "Account managers for property-management customers.",
"user_ids": [
"9c41d2e8-3f6a-4b7c-8d1e-5a2f7b9c0d3e",
"44c3f6da-393b-4664-9bfa-3c14e76b8cb8"
]
}
}'
{
"group": {
"id": "ecfda68b-7364-46c5-8e20-cffc98e6f291",
"name": "Customer success",
"description": "Account managers for property-management customers.",
"users": [
{
"id": "9c41d2e8-3f6a-4b7c-8d1e-5a2f7b9c0d3e",
"first_name": "Dana",
…
},
{
"id": "44c3f6da-393b-4664-9bfa-3c14e76b8cb8",
"first_name": "Marcus",
…
}
]
}
}
#Retrieve a group
Returns a single group with its members.
Path parameters
-
idstring · uuidrequiredThe group’s id.
Returns
The group object, wrapped in group.
Errors
- 404
record_not_foundNo group with that id exists in your account.
curl https://api.carom.io/groups/ecfda68b-7364-46c5-8e20-cffc98e6f291 \
-H "Authorization: Bearer $CAROM_API_KEY"
{
"group": {
"id": "ecfda68b-7364-46c5-8e20-cffc98e6f291",
"name": "Customer success",
"description": "Account managers for property-management customers.",
"users": [
{
"id": "9c41d2e8-3f6a-4b7c-8d1e-5a2f7b9c0d3e",
"first_name": "Dana",
…
},
…
]
}
}
#Update a group
Changes the fields you send and leaves the rest alone. When you send user_ids, it replaces the group’s membership: users not in the list are removed and new ones are added. Requires an account admin.
Send null for description to clear it. Omit user_ids, or send null, to leave membership unchanged.
Path parameters
-
idstring · uuidrequired
Request body application/json
-
groupobjectrequiredAny of the attributes accepted by Create a group.
user_idsis the complete new member list.
Returns
The updated group object, wrapped in group.
Errors
- 400
invalid_requestA field failed validation, for example an emptyname. - 403
permission_deniedYour key’s user isn’t an account admin. - 404
record_not_foundNo group with that id exists in your account.
curl -X PATCH https://api.carom.io/groups/ecfda68b-7364-46c5-8e20-cffc98e6f291 \
-H "Authorization: Bearer $CAROM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"group": {
"user_ids": [
"9c41d2e8-3f6a-4b7c-8d1e-5a2f7b9c0d3e",
"44c3f6da-393b-4664-9bfa-3c14e76b8cb8",
"ea5f6800-b2b7-4df4-a5e9-3a4ed2d84961"
]
}
}'
{
"group": {
"id": "ecfda68b-7364-46c5-8e20-cffc98e6f291",
"name": "Customer success",
"users": [
{ "id": "9c41d2e8-3f6a-4b7c-8d1e-5a2f7b9c0d3e", "first_name": "Dana", … },
{ "id": "44c3f6da-393b-4664-9bfa-3c14e76b8cb8", "first_name": "Marcus", … },
{ "id": "ea5f6800-b2b7-4df4-a5e9-3a4ed2d84961", "first_name": "Elena", … }
],
…
}
}
#Delete a group
Deletes the group and removes it from the assigned_group_ids of every task it was assigned to. Members lose access to spaces, pipelines, mailboxes, and shared records that they had only through the group. The users themselves are not otherwise affected. Requires an account admin. Deletion is permanent.
Path parameters
-
idstring · uuidrequired
Returns
An empty response with status 204.
Errors
- 403
permission_deniedYour key’s user isn’t an account admin. - 404
record_not_foundNo group with that id exists in your account.
curl -X DELETE https://api.carom.io/groups/6dd53ebb-eb27-4724-80dd-c172b7d75a49 \
-H "Authorization: Bearer $CAROM_API_KEY"
No content