List

To list your existing roles you need to execute a GET request against the /roles endpoint.

Since potentially there could be a lot of roles, pagination is supported with limit, order and after arguments. Read about pagination to learn the details of it. By default maximum 100 roles will be returned in the response.

If you want to retrieve the details of one concrete role execute a GET request against the /roles/:idOrName endpoint

Request (listing all roles)

curl --request GET \
  --url https://api.digitalsamba.com/api/v1/roles \
  --user YOUR_TEAM_ID:YOUR_DEVELOPER_KEY

Response (200 OK)

{
    "total_count": 126,
    "data": [
        {
            "id": "2d9448b9-d9ee-4102-b31a-f83ab4af2af8",
            "name": "custom",
            "display_name": "Custom",
            "description": null,
            "default": false,
            "created_at": "2023-03-24T13:32:05Z",
            "updated_at": "2023-03-27T13:46:22Z"
        },
        ...............99 more roles...............
    ]
} 

The total_count is the total amount of roles you have globally. It is NOT the amount of roles in the current page returned in the data array. In the above example you have 126 roles in total, but in the data array there will be maximum 100 roles (the default limit argument value).

Request (get a concrete role with all details about its permissions)

curl --request GET \
  --url https://api.digitalsamba.com/api/v1/roles/2d9448b9-d9ee-4102-b31a-f83ab4af2af8 \
  --user YOUR_TEAM_ID:YOUR_DEVELOPER_KEY

Response (200 OK)

{
    "id": "2d9448b9-d9ee-4102-b31a-f83ab4af2af8",
    "name": "custom",
    "display_name": "CustomEdited",
    "description": null,
    "default": false,
    "created_at": "2023-03-24T13:32:05Z",
    "updated_at": "2023-03-27T15:38:14Z",
    "permissions": {
        "ask_remote_unmute": false,
        "broadcast": false,
        "end_session": false,
        "general_chat": true,
        "manage_broadcast": false,
        "manage_roles": false,
        "manage_screenshare": false,
        "raise_hand": true,
        "recording": false,
        "remote_muting": [
            "speaker",
            "attendee"
        ],
        "remove_participant": false,
        "screenshare": false,
        "start_session": true
    }
}

Last updated