Role Resource (since 1.0.12)

A role is a configurable set of permissions that can be assigned to multiple users, so they all share the same privileges.

There are two types or roles:

Built-in
These are immutable system roles. Their set of permissions will probably change over time, but their name and key are fixed values. As of version 1.0.12 there are two built-in roles: invitee and admin. The latter administrator role will always contain all permissions (available at that time). In free networks the default administrator role has type founder. For enterprise networks this is enterprise_admin. Version 1.0.22 introduced the external built-in role for premium networks.
User-defined
These roles are created by end-users of Speakap and are fully customizable. An API consumer should only ever rely on the set of permissions of such a role and never on its name or EID (in terms of permission checks).

Changelog

1.0.22

  • External role

1.0.23

  • Default property

Representations

JSON

Properties

Name Type Description
EID EID Unique entity identifier
key string Unique identifier for built-in, non-editable, roles
type string “role”
roleType string Read-only Role type: built_in or user_defined
permissions array List of permissions
renameable boolean Read-only Whether or not the name of the role can be changed
editable boolean Read-only Whether or not the permissions can be reconfigured
deletable boolean Read-only Whether or not the role can be deleted
default boolean Since 1.0.23 Read-only Whether or not it is the default network role
numUsers integer Read-only Number of users with this role

Example - User-defined role

{
    "_links": {
        "self": {
            "href": "https://api.speakap.io/networks/FEDCBA0987654321/roles/1234567890ABCDEF/"
        },
        "network": {
            "href": "https://api.speakap.io/networks/FEDCBA0987654321/"
        }
    },
    "EID": "1234567890ABCDEF",
    "type": "role",
    "roleType": "user_defined",
    "name": "News Editor",
    "permissions": [
        "...",
        "post_news",
        "delete_news",
        "..."
    ],
    "renameable": true,
    "editable": true,
    "deletable": true,
    "default": false,
    "numUsers": 2
}

Example - Built-in admin role

{
    "_links": {
        "self": {
            "href": "https://api.speakap.io/roles/admin/"
        }
    },
    "key": "admin",
    "type": "role",
    "roleType": "built_in",
    "name": "Administrator",
    "permissions": [
        "..."
    ],
    "renameable": false,
    "editable": false,
    "deletable": false,
    "default": false,
    "numUsers": 1
}