User Access
Download Pleasant Password Server
We have added new endpoints which can be accessed via API as of version 7.10.18.
To enable User Access via API:
In order to allow your User Access to be assigned via API, navigate to:
- Settings > General > Enable Allow User Access to be modified via API
GET accesslevels
Retrieves a list of Access Levels from the system.
Example Request
https://localhost:10001/api/v5/rest/accesslevels
Example Result
HTTP 200
[ { "Id": "9337da40-8860-4037-b738-83edddebd7dc", "Name": "Full", "AddEntries": true, "AddFolders": true, "DeleteEntries": true, "DeleteFolders": true, "ModifyEntries": true, "ModifyProxySettings": true, "ModifyFolderNames": true, "ModifyNotificationSettings": false, "ModifyCommentSettings": false, "ModifyPasswordAutoChangeSettings": false, "MoveEntries": true, "MoveFolders": true, "ViewEntryContents": true, "ViewEntryPassword": true, "ViewEntryNames": true, "ViewFolders": true, "ViewEntryHistory": true, "ViewSecurity": true, "SetBlockInheritance": false, "UseViaProxy": true, "ViewRecordedSessions": false, "GrantAddEntries": false, "GrantAddFolders": false, "GrantDeleteEntries": false, "GrantDeleteFolders": false, "GrantModifyEntries": false, "GrantModifyProxySettings": false, "GrantModifyFolderNames": false, "GrantModifyNotificationSettings": false, "GrantModifyCommentSettings": false, "GrantModifyPasswordAutoChangeSettings": false, "GrantMoveEntries": false, "GrantMoveFolders": false, "GrantViewEntryContents": false, "GrantViewEntryPassword": false, "GrantViewEntryNames": false, "GrantViewFolders": false, "GrantViewEntryHistory": false, "GrantViewSecurity": false, "GrantUseViaProxy": false, "GrantViewRecordedSessions": false, "GrantPermissions": false, "GrantSetBlockInheritance": false, "ViewOffline": false, "GrantViewOffline": false, "ArchiveEntries": true, "ArchiveFolders": true, "GrantArchiveEntries": false, "GrantArchiveFolders": false, "RequestAccess": true, "AccessApprovals": false, "GrantRequestAccess": false }, { "Id": "c58ad37e-88a2-4fe2-abc8-6e01d9342cba", "Name": "Read-only", "AddEntries": false, "AddFolders": false, "DeleteEntries": false, "DeleteFolders": false, "ModifyEntries": false, "ModifyProxySettings": false, "ModifyFolderNames": false, "ModifyNotificationSettings": false, "ModifyCommentSettings": false, "ModifyPasswordAutoChangeSettings": false, "MoveEntries": false, "MoveFolders": false, "ViewEntryContents": true, "ViewEntryPassword": true, "ViewEntryNames": true, "ViewFolders": true, "ViewEntryHistory": true, "ViewSecurity": false, "SetBlockInheritance": false, "UseViaProxy": true, "ViewRecordedSessions": false, "GrantAddEntries": false, "GrantAddFolders": false, "GrantDeleteEntries": false, "GrantDeleteFolders": false, "GrantModifyEntries": false, "GrantModifyProxySettings": false, "GrantModifyFolderNames": false, "GrantModifyNotificationSettings": false, "GrantModifyCommentSettings": false, "GrantModifyPasswordAutoChangeSettings": false, "GrantMoveEntries": false, "GrantMoveFolders": false, "GrantViewEntryContents": false, "GrantViewEntryPassword": false, "GrantViewEntryNames": false, "GrantViewFolders": false, "GrantViewEntryHistory": false, "GrantViewSecurity": false, "GrantUseViaProxy": false, "GrantViewRecordedSessions": false, "GrantPermissions": false, "GrantSetBlockInheritance": false, "ViewOffline": false, "GrantViewOffline": false, "ArchiveEntries": false, "ArchiveFolders": false, "GrantArchiveEntries": false, "GrantArchiveFolders": false, "RequestAccess": true, "AccessApprovals": false, "GrantRequestAccess": false }, ]
GET entries/{entryid:guid}/accesslevels
GET folders/{folderid:guid}/accesslevels
Retrieves the Access Levels which have access to the Entry or Folder in our route.
Example Request (using an entry):
https://localhost:10001/api/v5/rest/entries/ae47feae-13db-4f14-85ae-a42ce10b9a90/accesslevels
Example Response
HTTP 200
[ { "Id": "9337da40-8860-4037-b738-83edddebd7dc", "Name": "Full", "AddEntries": true, "AddFolders": true, "DeleteEntries": true, "DeleteFolders": true, "ModifyEntries": true, "ModifyProxySettings": true, "ModifyFolderNames": true, "ModifyNotificationSettings": false, "ModifyCommentSettings": false, "ModifyPasswordAutoChangeSettings": false, "MoveEntries": true, "MoveFolders": true, "ViewEntryContents": true, "ViewEntryPassword": true, "ViewEntryNames": true, "ViewFolders": true, "ViewEntryHistory": true, "ViewSecurity": true, "SetBlockInheritance": false, "UseViaProxy": true, "ViewRecordedSessions": false, "GrantAddEntries": false, "GrantAddFolders": false, "GrantDeleteEntries": false, "GrantDeleteFolders": false, "GrantModifyEntries": false, "GrantModifyProxySettings": false, "GrantModifyFolderNames": false, "GrantModifyNotificationSettings": false, "GrantModifyCommentSettings": false, "GrantModifyPasswordAutoChangeSettings": false, "GrantMoveEntries": false, "GrantMoveFolders": false, "GrantViewEntryContents": false, "GrantViewEntryPassword": false, "GrantViewEntryNames": false, "GrantViewFolders": false, "GrantViewEntryHistory": false, "GrantViewSecurity": false, "GrantUseViaProxy": false, "GrantViewRecordedSessions": false, "GrantPermissions": false, "GrantSetBlockInheritance": false, "ViewOffline": false, "GrantViewOffline": false, "ArchiveEntries": true, "ArchiveFolders": true, "GrantArchiveEntries": false, "GrantArchiveFolders": false, "RequestAccess": true, "AccessApprovals": false, "GrantRequestAccess": false }, { "Id": "c58ad37e-88a2-4fe2-abc8-6e01d9342cba", "Name": "Read-only", "AddEntries": false, "AddFolders": false, "DeleteEntries": false, "DeleteFolders": false, "ModifyEntries": false, "ModifyProxySettings": false, "ModifyFolderNames": false, "ModifyNotificationSettings": false, "ModifyCommentSettings": false, "ModifyPasswordAutoChangeSettings": false, "MoveEntries": false, "MoveFolders": false, "ViewEntryContents": true, "ViewEntryPassword": true, "ViewEntryNames": true, "ViewFolders": true, "ViewEntryHistory": true, "ViewSecurity": false, "SetBlockInheritance": false, "UseViaProxy": true, "ViewRecordedSessions": false, "GrantAddEntries": false, "GrantAddFolders": false, "GrantDeleteEntries": false, "GrantDeleteFolders": false, "GrantModifyEntries": false, "GrantModifyProxySettings": false, "GrantModifyFolderNames": false, "GrantModifyNotificationSettings": false, "GrantModifyCommentSettings": false, "GrantModifyPasswordAutoChangeSettings": false, "GrantMoveEntries": false, "GrantMoveFolders": false, "GrantViewEntryContents": false, "GrantViewEntryPassword": false, "GrantViewEntryNames": false, "GrantViewFolders": false, "GrantViewEntryHistory": false, "GrantViewSecurity": false, "GrantUseViaProxy": false, "GrantViewRecordedSessions": false, "GrantPermissions": false, "GrantSetBlockInheritance": false, "ViewOffline": false, "GrantViewOffline": false, "ArchiveEntries": false, "ArchiveFolders": false, "GrantArchiveEntries": false, "GrantArchiveFolders": false, "RequestAccess": true, "AccessApprovals": false, "GrantRequestAccess": false }, ]
GET entries/{entryid:guid}/useraccess
GET folders/{folderid:guid}/useraccess
Retrieves the users who have access to the Entry or Folder in our route.
Example Request (using an entry)
https://localhost:10001/api/v5/rest/entries/ae47feae-13db-4f14-85ae-a42ce10b9a90/useraccess
Example Result
HTTP 200
[ { "Id": "89c21539-55c0-4e66-8172-abbc013f3100", "AccessRuleType": "User", "UserId": "788017e9-0ee0-460e-8de4-abb5016f65c5", "RoleId": null, "ZoneId": null, "Name": "user1", "UserDisplayName": "User 1", "PermissionSetId": "6fe3319c-21f0-48b0-a274-22fcca660de3", "PermissionSetName": "Full + Grant + Block", "AccessExpiry": null, "IsInherited": false, "CanDelete": true }, { "Id": "8dbcf696-028e-41c8-bf76-abb4013cc780", "AccessRuleType": "Role", "UserId": null, "RoleId": "fa5b2d22-34e7-401c-ad05-abb4013cc66e", "ZoneId": null, "Name": "Administration", "UserDisplayName": null, "PermissionSetId": "6fe3319c-21f0-48b0-a274-22fcca660de3", "PermissionSetName": "Full + Grant + Block", "AccessExpiry": null, "IsInherited": true, "CanDelete": false } ]
POST entries/{entryid:guid}/useraccess
POST folders/{folderid:guid}/useraccess
Updates the user access of an entry or folder.
Example Request (using an entry)
https://localhost:10001/api/v5/rest/entries/ae47feae-13db-4f14-85ae-a42ce10b9a90/useraccess
{ "UserId": "788017e9-0ee0-460e-8de4-abb5016f65c5", "RoleId": "", "ZoneId": "", "PermissionSetId": "6fe3319c-21f0-48b0-a274-22fcca660de3", "AccessExpiry": "2020-12-31" }
Example Result
"4bd6b778-8933-4fb4-8586-abbc0140b9e2"
DELETE entries/{entryId:guid}/accesslevels/{accessrowid}
DELETE folders/{folderId:guid}/accesslevels/{accessrowid}
Deletes a user access assignment from an entry or a folder.
Example Archive Request (using an entry)
https://localhost:10001/api/v5/rest/entries/ae47feae-13db-4f14-85ae-a42ce10b9a90/useraccess/4bd6b778-8933-4fb4-8586-abbc0140b9e2
{ "Action": "Archive", "Comment": "Usage Comment" }
Example Archive Result
HTTP 204
Example Delete Request
http://localhost:10000/api/v5/rest/Entries/c733539f-c585-4fcf-8bb6-3c202bb2396b
Example Delete Result
HTTP 204
* NOTE: Currently we are able to use "entries," "folders," "credential," "credentials," "credentialgroup," and "credentialgroups" interchangeably. In the next release we will update it so that the routes containing "entries" can be substituted with "credential" and "credentials" and "folders" can be substituted with "credentialgroup" and "credentialgroups". This is to allow reverse compability of the API for existing clients.