Get Inspire insights from former attendees in our AMA discussion thread on Inspire Buzz. ACEs and other community members are on call all week to answer!

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.