Folders
Discover how Pleasant Password Server will enhance KeePass for business
GET /api/v5/rest/folders/root
This endpoint is used to get the root folders unique identifier.
Example Request
http://localhost:10000/api/v5/rest/folders/root
Example Result
HTTP 200 "c04f874b-90f7-4b33-97d0-a92e011fb712"
GET /api/v5/rest/folders
This endpoint is used to get the entire tree that is visible to the user.
Example Request
http://localhost:10000/api/v5/rest/folders
Example Result
HTTP 200
{
"CustomUserFields": {},
"CustomApplicationFields": {},
"Children": [
{
"CustomUserFields": {},
"CustomApplicationFields": {},
"Children": [],
"Credentials": [],
"Tags": [],
"HasModifyEntriesAccess": true,
"HasViewEntryContentsAccess": true,
"CommentPrompts": {
"AskForCommentOnViewPassword": false,
"AskForCommentOnViewOffline": false,
"AskForCommentOnModifyEntries": false,
"AskForCommentOnMoveEntries": false,
"AskForCommentOnMoveFolders": false,
"AskForCommentOnModifyFolders": false
},
"Id": "1a636445-1a89-450e-96af-53e5efd9753d",
"Name": "Updated Group Name 4",
"ParentId": "c04f874b-90f7-4b33-97d0-a92e011fb712",
"Notes": null,
"Created": "2018-08-08T10:47:09-06:00",
"Modified": "2018-08-08T12:57:59-06:00",
"Expires": null
}
],
"Credentials": [
{
"CustomUserFields": {},
"CustomApplicationFields": {},
"Tags": [],
"HasModifyEntriesAccess": true,
"HasViewEntryContentsAccess": true,
"CommentPrompts": {
"AskForCommentOnViewPassword": false,
"AskForCommentOnViewOffline": false,
"AskForCommentOnModifyEntries": false,
"AskForCommentOnMoveEntries": false,
"AskForCommentOnMoveFolders": false,
"AskForCommentOnModifyFolders": false
},
"Id": "13caaa57-2186-467e-b107-bc29f8c3533e",
"Name": "Full Updated",
"Username": "ABCD",
"Password": null,
"Url": "",
"Notes": "",
"GroupId": "c04f874b-90f7-4b33-97d0-a92e011fb712",
"Created": "2018-08-08T09:15:17-06:00",
"Modified": "2018-08-09T09:03:54-06:00",
"Expires": null
}
],
"Tags": [],
"HasModifyEntriesAccess": true,
"HasViewEntryContentsAccess": true,
"CommentPrompts": {
"AskForCommentOnViewPassword": false,
"AskForCommentOnViewOffline": false,
"AskForCommentOnModifyEntries": false,
"AskForCommentOnMoveEntries": false,
"AskForCommentOnMoveFolders": false,
"AskForCommentOnModifyFolders": false
},
"Id": "c04f874b-90f7-4b33-97d0-a92e011fb712",
"Name": "Root",
"ParentId": "00000000-0000-0000-0000-000000000000",
"Notes": null,
"Created": "2018-07-31T11:27:32-06:00",
"Modified": "2018-07-31T11:27:32-06:00",
"Expires": null
}
GET /api/v5/rest/folders/{folderId:guid}
This endpoint is used to get a folder, its entries and sub-folders and entries below it. There is an optional parameter you can set using the query string for the folder recursion level: Default value is 1.
Example Request
http://localhost:10000/api/v5/rest/folders/c04f874b-90f7-4b33-97d0-a92e011fb712?recurseLevel=0
Example Result
HTTP 200
{
"CustomUserFields": {},
"CustomApplicationFields": {},
"Children": [],
"Credentials": [
{
"CustomUserFields": {},
"CustomApplicationFields": {},
"Tags": [],
"HasModifyEntriesAccess": true,
"HasViewEntryContentsAccess": true,
"CommentPrompts": {
"AskForCommentOnViewPassword": false,
"AskForCommentOnViewOffline": false,
"AskForCommentOnModifyEntries": false,
"AskForCommentOnMoveEntries": false,
"AskForCommentOnMoveFolders": false,
"AskForCommentOnModifyFolders": false
},
"Id": "13caaa57-2186-467e-b107-bc29f8c3533e",
"Name": "Full Updated",
"Username": "ABCD",
"Password": null,
"Url": "",
"Notes": "",
"GroupId": "c04f874b-90f7-4b33-97d0-a92e011fb712",
"Created": "2018-08-08T09:15:17-06:00",
"Modified": "2018-08-09T09:03:54-06:00",
"Expires": null
}
],
"Tags": [],
"HasModifyEntriesAccess": true,
"HasViewEntryContentsAccess": true,
"CommentPrompts": {
"AskForCommentOnViewPassword": false,
"AskForCommentOnViewOffline": false,
"AskForCommentOnModifyEntries": false,
"AskForCommentOnMoveEntries": false,
"AskForCommentOnMoveFolders": false,
"AskForCommentOnModifyFolders": false
},
"Id": "c04f874b-90f7-4b33-97d0-a92e011fb712",
"Name": "Root",
"ParentId": "00000000-0000-0000-0000-000000000000",
"Notes": null,
"Created": "2018-07-31T11:27:32-06:00",
"Modified": "2018-07-31T11:27:32-06:00",
"Expires": null
}
POST /api/v5/rest/folders
This endpoint is used to add a folder to the system.
Example Request
http://localhost:10000/api/v5/rest/folders/
{
"CustomUserFields": {},
"CustomApplicationFields": {},
"Children": [],
"Credentials": [],
"Tags": [],
"Name": "New",
"ParentId": "c04f874b-90f7-4b33-97d0-a92e011fb712",
"Notes": null,
"Expires": null
}
Example Result
HTTP 200 "d599dd2c-f8f2-4638-9091-5ae66d8962bd"
PATCH /api/v5/rest/folders/{folderId:guid}
Example Request
http://localhost:10000/api/v5/rest/folders/1a636445-1a89-450e-96af-53e5efd9753d
{
"Name": "Updated Group Name"
}
Example Result
HTTP 204
PUT /api/v5/rest/folders/{folderId:guid}
This endpoint is used for making full update to a single folder.
Example Request
http://localhost:10000/api/v5/rest/folders/1a636445-1a89-450e-96af-53e5efd9753d
{
"Item":
{
"CustomUserFields": {},
"CustomApplicationFields": {},
"Children": [],
"Credentials": [],
"Tags": [],
"Id": "1cceb0dc-8b20-4b11-bf2d-556c9292496a",
"Name": "Update",
"ParentId": "c04f874b-90f7-4b33-97d0-a92e011fb712",
"Notes": null,
"Expires": null
},
"Comment": "Usage Comment"
}
Example Result
HTTP 204
DELETE /api/v5/rest/folders/{folderId:guid}
This endpoint is used for both archiving and deletion of an folder. This option is set in the Action property of the request body: "Archive" or "Delete".
Example Archive Request
http://localhost:10000/api/v5/rest/Folders/d599dd2c-f8f2-4638-9091-5ae66d8962bd
{
"Action": "Archive",
"Comment": "Usage Comment"
}
Example Archive Result
HTTP 204
Example Delete Request
http://localhost:10000/api/v5/rest/Folders/d599dd2c-f8f2-4638-9091-5ae66d8962bd
{
"Action": "Delete",
"Comment": "Usage Comment"
}
Example Delete Result
HTTP 204
**The routes containing "entries" or "folders" can be substituted with "credential" and "credentialgroup" respectively. this is to allow reverse compability of the API for existing clients.