Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.
Community is experiencing an influx of spam. As we work toward a solution, please use the 'Notify Moderator' option on the ellipsis menu to flag inappropriate posts.
Free Trial

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
19 - Altair

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.