Skip to content

Role object fields

Example of a role object:

{
    "role": {
        "role_id": "34c88e5c-9201-11e5-92fa-e03f497dbdff",
        "tenant_id": "34c7f1f6-9201-11e5-a739-e03f497dbdff",
        "name": "Supervisor",
        "access_level": "managed_groups",
        "permissions": {
            "rest_api": ["allow"],
            "users": ["view", "edit"],
            "groups": ["view"],
            "calls": ["view", "playback", "download", "categorize", "pause_recording", "add_notes"],
            "call_notes": ["view", "pin"],
            "call_categories": ["view", "edit", "delete"]
        },
        "access_restrictions": {
            "restrict_access_by_ip": true,
            "rules": [
                {"source": "192.168.0.0/24", "action": "allow"}
            ],
            "default_rule": "deny"
        },
        "restrict_access_by_tags": false,
        "restrict_access_tags": [],
        "use_managed_roles": false,
        "managed_roles": []
    }
}

Attributes

Attribute Type Description
role_id UUID Unique ID of the role, assigned by MiaRec when the role is created. Read-only.
tenant_id UUID ID of the tenant the role belongs to. Available only when multi-tenancy is enabled. Cannot be changed after creation.
name string Role name. Required. 1 to 64 characters.
access_level string

Access scope of the role:

  • root - Unrestricted: full access to the system
  • system - System / Tenant: access to all resources, restricted by permissions. For a user of a tenant, access is limited to that tenant
  • all_tenants - All Tenants: administration of all tenants except the System tenant (multi-tenant deployments)
  • managed_tenants - Selected Tenants: administration of the tenants listed in the user's managed_tenants
  • managed_groups - Selected Groups: access to the users and calls of the groups listed in the user's managed_groups
  • user - User: access to own calls only
permissions dictionary

Operations permitted on each resource, in the format RESOURCE_NAME: [ACTION, ...]. For example, {"groups": ["view"], "users": ["view", "edit", "delete"]} grants read-only access to groups and full access to users.

MiaRec supports very granular permissions, and the list of resources and actions grows with each release. To see the complete list for your version, create a reference role with all check boxes selected in the web portal, then retrieve it through the REST API.

A role that uses the REST API needs "rest_api": ["allow"].

access_restrictions dictionary IP address restrictions. See Access restrictions.
restrict_access_by_tags boolean When true, users with this role see only the calls that have one of the tags in restrict_access_tags. Default false.
restrict_access_tags list IDs of the tags. Relevant when restrict_access_by_tags is true.
use_managed_roles boolean Deprecated. When true, users with this role can create, edit, and delete only users of the roles listed in managed_roles.
managed_roles list Deprecated. IDs of the managed roles.

Access restrictions

Attribute Type Description
restrict_access_by_ip boolean Restrict access by IP address or network. Default false.
rules list Rules, evaluated in order. Each rule has source (an IP address or network in CIDR notation, for example 192.168.0.0/24) and action (allow or deny).
default_rule string Action for addresses that match no rule: allow or deny.

A request from a denied address is rejected with 403 Forbidden, both in the web portal and in the REST API.