Folders

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.