Legacy Dev Forum Posts

 View Only

Sign Up

Getting all permissions for a role

  • 1.  Getting all permissions for a role

    Posted 06-05-2025 18:08

    Chris_Carr | 2022-02-22 16:04:08 UTC | #1

    Hi,

    I am trying to get all permissions assigned to a list of roles. Below is a an example JSON response.

    { "id": "60a63986-4de2-44e1-ad29-fb5f9d1194c5", "name": "admin", "description": "Organization Administrator", "defaultRoleId": "admin", "permissions": [ "contentmanagementuser", "admin", "employee", "contentmanagementadmin" ], "permissionPolicies": [ { "domain": "wfm", "entityName": "adhocModel", "actionSet": [ "add", "view" ], "allowConditions": false }, { "domain": "conversation", "entityName": "communication", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "chat", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "analytics", "entityName": "queueObservation", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "webchat", "entityName": "deployment", "actionSet": [ "" ], "allowConditions": false }, { "domain": "analytics", "entityName": "speechAndTextAnalyticsAggregates", "actionSet": [ "" ], "allowConditions": false }, { "domain": "reporting", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "analytics", "entityName": "conversationDetail", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "telephony", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "authorization", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "presence", "entityName": "userPresence", "actionSet": [ "edit" ], "allowConditions": false }, { "domain": "routing", "entityName": "wrapupCode", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "geolocation", "entityName": "settings", "actionSet": [ "edit" ], "allowConditions": false }, { "domain": "bridge", "entityName": "server", "actionSet": [ "add", "view", "edit", "delete" ], "allowConditions": false }, { "domain": "analytics", "entityName": "userAggregate", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "integrations", "entityName": "action", "actionSet": [ "" ], "allowConditions": false }, { "domain": "externalContacts", "entityName": "externalEntity", "actionSet": [ "" ], "allowConditions": false }, { "domain": "directory", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "wfm", "entityName": "adhocForecast", "actionSet": [ "add", "view" ], "allowConditions": false }, { "domain": "audits", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "quality", "entityName": "evaluation", "actionSet": [ "add", "editScore" ], "allowConditions": false }, { "domain": "bridge", "entityName": "pluginType", "actionSet": [ "add", "edit" ], "allowConditions": false }, { "domain": "conversation", "entityName": "email", "actionSet": [ "" ], "allowConditions": false }, { "domain": "routing", "entityName": "schedule", "actionSet": [ "add", "view", "search", "edit", "delete" ], "allowConditions": false }, { "domain": "analytics", "entityName": "conversationAggregate", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "bridge", "entityName": "publisher", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "integrations", "entityName": "integration", "actionSet": [ "add", "view", "edit", "delete" ], "allowConditions": false }, { "domain": "routing", "entityName": "skill", "actionSet": [ "" ], "allowConditions": false }, { "domain": "outbound", "entityName": "campaign", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "documents", "entityName": "audit", "actionSet": [ "search" ], "allowConditions": false }, { "domain": "routing", "entityName": "queue", "actionSet": [ "view", "search" ], "allowConditions": false }, { "domain": "widgets", "entityName": "deployment", "actionSet": [ "" ], "allowConditions": false }, { "domain": "bridge", "entityName": "notification", "actionSet": [ "add", "view" ], "allowConditions": false }, { "domain": "cobrowse", "entityName": "deployment", "actionSet": [ "manage" ], "allowConditions": false }, { "domain": "routing", "entityName": "callRoute", "actionSet": [ "add", "view", "search", "edit", "delete" ], "allowConditions": false }, { "domain": "routing", "entityName": "emergencyGroup", "actionSet": [ "add", "view", "search", "edit", "delete" ], "allowConditions": false }, { "domain": "speechAndTextAnalytics", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "voicebots", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "quality", "entityName": "calibration", "actionSet": [ "view" ], "allowConditions": false }, { "domain": "externalContacts", "entityName": "contact", "actionSet": [ "" ], "allowConditions": false }, { "domain": "routing", "entityName": "scheduleGroup", "actionSet": [ "add", "view", "search", "edit", "delete" ], "allowConditions": false }, { "domain": "bridge", "entityName": "plugin", "actionSet": [ "add", "call", "view", "edit", "delete" ], "allowConditions": false }, { "domain": "oauth", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "gdpr", "entityName": "", "actionSet": [ "" ], "allowConditions": false }, { "domain": "voicemail", "entityName": "groupPolicy", "actionSet": [ "view", "edit" ], "allowConditions": false }, { "domain": "wfm", "entityName": "schedulingrequest", "actionSet": [ "add", "view" ], "allowConditions": false }, { "domain": "externalContacts", "entityName": "externalOrganization", "actionSet": [ "" ], "allowConditions": false }, { "domain": "externalContacts", "entityName": "customFields", "actionSet": [ "" ], "allowConditions": false }, { "domain": "attributes", "entityName": "attribute", "actionSet": [ "add", "view", "edit", "delete" ], "allowConditions": false }, { "domain": "ui", "entityName": "networkPerformanceIndicators", "actionSet": [ "" ], "allowConditions": false }, { "domain": "bridge", "entityName": "actions", "actionSet": [ "add", "view", "edit", "delete", "execute" ], "allowConditions": false }, { "domain": "billing", "entityName": "subscription", "actionSet": [ "add", "view" ], "allowConditions": false }, { "domain": "presence", "entityName": "presenceDefinition", "actionSet": [ "add", "edit", "delete" ], "allowConditions": false }, { "domain": "analytics", "entityName": "dataExport", "actionSet": [ "" ], "allowConditions": false }, { "domain": "bridge", "entityName": "serverFile", "actionSet": [ "add", "request", "view" ], "allowConditions": false } ], "userCount": 68, "default": true, "base": false, "selfUri": "/api/v2/authorization/roles/60a63986-4de2-44e1-ad29-fb5f9d1194c5" }

    I am trying to get all of the domain names, entitity names and action set arrays, however, the function below is only providing me with a single domain per role ID that I have in my list.

    def z():

    for r in roleList: rprole = json.loads(autho.getauthorizationrole(r).tojson()) print(rprole['id']) print(rprole['permission_policies'][0]['domain']) print('-------------------------------------------')

    Are you able to help me?

    Thank you.


    Jerome.Saint-Marc | 2022-02-24 00:43:29 UTC | #2

    Hello,

    I am not a regular python developer but the following should do what you are asking:

    def z():

    for r in roleList: rprole = autho.getauthorizationrole(r) print('Role name:', rprole.name, '- id:', rprole.id) for pol in rprole.permissionpolicies: print('Domain:', pol.domain, '- Entity:', pol.entityname, '- ActionSet:', pol.action_set) print('-------------------------------------------')

    Regards,


    Chris_Carr | 2022-02-24 00:43:51 UTC | #3

    Jerome.Saint-Marc, post:2, topic:13669
    def z():
    
        for r in roleList:
            rp_role = autho.get_authorization_role(r)
            print('Role name:', rp_role.name, '- id:', rp_role.id)
            for pol in rp_role.permission_policies:
                print('Domain:', pol.domain, '- Entity:', pol.entity_name, '- ActionSet:', pol.action_set)
            print('-------------------------------------------')

    Hi Jerome,

    Thank you so much this is perfect! I appreciate it.


    system | 2022-03-27 00:44:49 UTC | #4

    This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.


    This post was migrated from the old Developer Forum.

    ref: 13669