Skip to content

Check what can be done with user groups

GET
/v1/user-groups/capabilities
curl --request GET \
--url https://api.roundrobinbot.eu/v1/user-groups/capabilities \
--header 'Authorization: Bearer <token>'

Ask before binding a group to a rotation. Binding is the one write whose success depends on something outside Round Robin: user groups are a paid Slack feature, and a workspace or its org can keep their administration above what the app is allowed to do. canCreate answers whether a group can be made here, which is what sending a handle asks for. canModify answers whether membership can be changed at all, and is null when it could not be established rather than false, because a workspace with no group to try it on cannot answer. Add ?userGroupId=S… to ask about one group as well. That is a different question: a group owned by another workspace in the same org can be unmanageable while groups in general are fine.

userGroupId
string

OK

Media typeapplication/json

What this workspace lets Round Robin do with Slack user groups, and optionally whether one particular group can be managed.

object
canCreate

Whether Round Robin can make a new user group in this workspace, which is what handle asks for.

boolean
canModify

Whether Round Robin can change the membership of a user group here. Null when it could not be established, which is not the same as no: a workspace with no group to try it on cannot answer.

null | boolean
checked
One of:
null
Examplegenerated
{
"canCreate": true,
"canModify": true,
"checked": {
"id": "example",
"manageable": true,
"reason": "example"
}
}

Unauthorized

Media typeapplication/json
object
type
null | string
title
null | string
status
null | integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
detail
null | string
instance
null | string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

Forbidden

Media typeapplication/json
object
type
null | string
title
null | string
status
null | integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
detail
null | string
instance
null | string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}