lhan
lhan

Reputation: 4635

Get list of users with the "send on behalf of" permission

Using the V2 DocuSign REST API, is it possible to get a list of users who have the "send on behalf of" and "account wide" permission?

Looking through the docs, I see that the Get User List method does not return any permission info. The Get User Information method returns a little more but nothing permission specific, other than a permissionProfileId for each group.

So is it possible to get permission info with user data? Or is there a method I can call using the permissionProfileId to check if a user has those permissions?

What I am ultimately trying to do is get a list of users who are able to use the "Send on behalf of" feature which requires the "send on behalf of" and "account-wide rights" permissions.

Upvotes: 2

Views: 297

Answers (2)

David W Grigsby
David W Grigsby

Reputation: 1574

You can get a list of all users and their User Settings with below rest method as an DS Admin:

https://demo.docusign.net/restapi/v2/accounts/[accountid]/users/?additional_info=true

Sample output below:

{
  "users": [
    {
      "userName": "DocuSignTest2 User-2",
      "userId": "b67aa83b-2b3e-4669-a897-89e44b5724c2",
      "userType": "CompanyUser",
      "isAdmin": "False",
      "userStatus": "Created",
      "uri": "/users/b67aa83b-2b3e-4669-a897-89e44b5724c2",
      "email": "[email protected]",
      "firstName": "DocuSignTest2",
      "lastName": "User-2",
      "userSettings": [
        {
          "name": "canManageAccount",
          "value": "false"
        },
        {
          "name": "canSendEnvelope",
          "value": "true"
        },
        {
          "name": "locale",
          "value": "en"
        },
        {
          "name": "canSendAPIRequests",
          "value": "false"
        },
        {
          "name": "apiAccountWideAccess",
          "value": "false"
        },
        {
          "name": "enableVaulting",
          "value": "false"
        },
        {
          "name": "vaultingMode",
          "value": "none"
        },
        {
          "name": "enableTransactionPoint",
          "value": "true"
        },
        {
          "name": "enableSequentialSigningAPI",
          "value": "true"
        },
        {
          "name": "enableSquentialSigningUI",
          "value": "true"
        },
        {
          "name": "enableDSPro",
          "value": "false"
        },
        {
          "name": "powerFormAdmin",
          "value": "false"
        },
        {
          "name": "powerFormUser",
          "value": "true"
        },
        {
          "name": "canEditSharedAddressbook",
          "value": "use_private_and_shared"
        },
        {
          "name": "canManageTemplates",
          "value": "create"
        },
        {
          "name": "enableSignOnPaperOverride",
          "value": "false"
        },
        {
          "name": "enableSignerAttachments",
          "value": "true"
        },
        {
          "name": "allowSendOnBehalfOf",
          "value": "false"
        },
        {
          "name": "allowRecipientLanguageSelection",
          "value": "true"
        },
        {
          "name": "selfSignedRecipientEmailDocument",
          "value": "include_pdf"
        }
      ],
      "sendActivationOnInvalidLogin": "false",
      "enableConnectForUser": "false",
      "groupList": [
        {
          "groupId": "128693",
          "groupName": "Everyone",
          "groupType": "everyoneGroup"
        }
      ],
      "workAddress": {
        "address1": "",
        "address2": "",
        "city": "",
        "stateOrProvince": "",
        "postalCode": "",
        "phone": "",
        "country": ""
      },
      "homeAddress": {
        "address1": "",
        "address2": "",
        "city": "",
        "stateOrProvince": "",
        "postalCode": "",
        "phone": "",
        "country": ""
      }
    },
    [rest removed for sake of example]

Upvotes: 2

Andrew
Andrew

Reputation: 4441

There is not one call that can complete this task.

My recommendation is to put all of these users in a Group and then you can query who is in the group through the API.

Example get list of user's per group:

GET https://{server}.docusign.net/restapi/v2/accounts/{accountId}/groups/{groupId}/users

If you want to audit the group or see who you need to move into the group you can get a list of users and then look at user details per user (loop through programmaticaly).

Example get user settings to check userSettings->allowSendOnBehalfOf :

GET https://{server}.docusign.net/restapi/v2/accounts/{accountId}/users/{userId}

Upvotes: 1

Related Questions