Alteryx Server Discussions

Find answers, ask questions, and share expertise about Alteryx Server.

Alteryx Server -- Generate List of Users and What Workflows They Have Access to.

smoskowitz
12 - Quasar

Hello --

 

Is there a server usage report, API functionality or something else that will give me a list of users and what workflows they can access? We might need this for quarterly SOX reporting and want to see ow to simplify the process.

 

Thanks,

Seth 

3 REPLIES 3
Thableaus
17 - Castor
17 - Castor

Hi @smoskowitz 

 

I guess if you use a mix of API calls, you are able to achieve what you're looking for.

I'd try to combine the calls together:

 

 

GET /admin/v1/users/

GET /admin/v1/subscriptions/

/admin/v1/collections/

GET /admin/v1/workflows/

 

Linking the appropriate ids - subscription Id, user Id, collection Id and workflow id can give you an idea on how to track workflows and user access.


Cheers,

 

smoskowitz
12 - Quasar

@Thableaus --

 

Thank you, let me see if I can figure this out, but always appreciative of being pointed in the right direction.

 

Regards,

Seth

apathetichell
18 - Pollux

Building on what @Thableaus said check out what you can access from the admin/v1/collections/ endpoint:

[
  {
    "id": "",
    "collectionId": "",
    "name": "",
    "ownerId": "",
    "dateAdded": "Date",
    "apps": [
      {
        "appId": "",
        "dateAdded": "Date",
        "addedById": ""
      }
    ],
    "schedules": [
      {
        "scheduleId": "",
        "dateAdded": "Date",
        "addedById": ""
      }
    ],
    "insights": [
      {
        "insightId": "",
        "dateAdded": "Date",
        "addedById": ""
      }
    ],
    "users": [
      {
        "userId": "",
        "dateAdded": "Date",
        "addedById": "",
        "activeDirectoryObject": {
          "sid": "",
          "category": "",
          "displayName": "",
          "name": "",
          "samAccountName": ""
        },
        "expirationDate": "Date",
        "permissions": {
          "collection": {
            "isAdmin": false
          },
          "applications": {
            "canAdd": false,
            "canRemove": false,
            "canUpdate": false
          },
          "users": {
            "canAdd": false,
            "canRemove": false
          }
        }
      }
    ],
    "subscriptions": [
      {
        "subscriptionId": "",
        "dateAdded": "Date",
        "addedById": "",
        "expirationDate": "Date",
        "optOutUsers": [
          ""
        ],
        "permissions": {
          "collection": {
            "isAdmin": false
          },
          "applications": {
            "canAdd": false,
            "canRemove": false,
            "canUpdate": false
          },
          "users": {
            "canAdd": false,
            "canRemove": false
          }
        }
      }
    ],
    "userGroups": [
      {
        "userGroupId": "",
        "dateAdded": "Date",
        "addedById": "",
        "expirationDate": "Date",
        "permissions": {
          "collection": {
            "isAdmin": false
          },
          "applications": {
            "canAdd": false,
            "canRemove": false,
            "canUpdate": false
          },
          "users": {
            "canAdd": false,
            "canRemove": false
          }
        }
      }
    ]
  }
]

If your server is primarily set up with users accessing workflows via access to a collection this should have what you want.