Sample code for 30+ languages & platforms
PowerShell

DocuSign List Folders

See more DocuSign Examples

Retrieves a list of the folders for the account, including the folder hierarchy. You can specify type kinds of folders to return with the include query parameter.

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

$http = New-Object Chilkat.Http

# Implements the following HTTP request:
# GET /restapi/v2.1/accounts/{accountId}/folders

# Adds the "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ" header.
$jsonToken = New-Object Chilkat.JsonObject
# Load a previously obtained OAuth2 access token.
$success = $jsonToken.LoadFile("qa_data/tokens/docusign.json")
if ($success -eq $false) {
    $($jsonToken.LastErrorText)
    exit
}

$http.AuthToken = $jsonToken.StringOf("access_token")

# Use your account ID here:
$http.SetUrlVar("accountId","7f3f65ed-5e87-418d-94c1-92499ddc8252")

$sbResponseBody = New-Object Chilkat.StringBuilder
$success = $http.QuickGetSb("https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/folders",$sbResponseBody)
if ($success -eq $false) {
    $($http.LastErrorText)
    exit
}

$jResp = New-Object Chilkat.JsonObject
$jResp.LoadSb($sbResponseBody)
$jResp.EmitCompact = $false

$("Response Body:")
$($jResp.Emit())

$respStatusCode = $http.LastStatus
$("Response Status Code = " + $respStatusCode)
if ($respStatusCode -ge 400) {
    $("Response Header:")
    $($http.LastHeader)
    $("Failed.")
    exit
}

# Sample JSON response:
# (Sample code for parsing the JSON response is shown below)

# {
#   "resultSetSize": "4",
#   "startPosition": "0",
#   "endPosition": "3",
#   "totalSetSize": "4",
#   "folders": [
#     {
#       "name": "Draft",
#       "type": "draft",
#       "owner": {
#         "userName": "Joe Sample",
#         "userId": "14602117-2430-4582-8a49-ba8766302272",
#         "email": "admin@chilkatsoft.com"
#       },
#       "folderId": "f0bc5174-610d-4d80-80d7-91037843ccdb",
#       "uri": "/folders/f0bc5174-610d-4d80-80d7-91037843ccdb",
#       "itemCount": "0",
#       "subFolderCount": "0",
#       "hasSubFolders": "false"
#     },
#     {
#       "name": "Inbox",
#       "type": "inbox",
#       "owner": {
#         "userName": "Joe Sample",
#         "userId": "14602117-2430-4582-8a49-ba8766302272",
#         "email": "admin@chilkatsoft.com"
#       },
#       "folderId": "06c97346-f7b4-46fd-a204-038287d655ec",
#       "uri": "/folders/06c97346-f7b4-46fd-a204-038287d655ec",
#       "itemCount": "1",
#       "subFolderCount": "0",
#       "hasSubFolders": "false"
#     },
#     {
#       "name": "Deleted Items",
#       "type": "recyclebin",
#       "owner": {
#         "userName": "Joe Sample",
#         "userId": "14602117-2430-4582-8a49-ba8766302272",
#         "email": "admin@chilkatsoft.com"
#       },
#       "folderId": "6df0919e-b152-49fc-a4c9-9b430a29d4f5",
#       "uri": "/folders/6df0919e-b152-49fc-a4c9-9b430a29d4f5",
#       "itemCount": "0",
#       "subFolderCount": "0",
#       "hasSubFolders": "false"
#     },
#     {
#       "name": "Sent Items",
#       "type": "sentitems",
#       "owner": {
#         "userName": "Joe Sample",
#         "userId": "14602117-2430-4582-8a49-ba8766302272",
#         "email": "admin@chilkatsoft.com"
#       },
#       "folderId": "456f3c76-b265-4453-a024-c39b1a5cb387",
#       "uri": "/folders/456f3c76-b265-4453-a024-c39b1a5cb387",
#       "itemCount": "1",
#       "subFolderCount": "0",
#       "hasSubFolders": "false"
#     }
#   ]
# }

# Sample code for parsing the JSON response...
# Use the following online tool to generate parsing code from sample JSON:
# Generate Parsing Code from JSON

$resultSetSize = $jResp.StringOf("resultSetSize")
$startPosition = $jResp.StringOf("startPosition")
$endPosition = $jResp.StringOf("endPosition")
$totalSetSize = $jResp.StringOf("totalSetSize")
$i = 0
$count_i = $jResp.SizeOfArray("folders")
while ($i -lt $count_i) {
    $jResp.I = $i
    $name = $jResp.StringOf("folders[i].name")
    $v_type = $jResp.StringOf("folders[i].type")
    $ownerUserName = $jResp.StringOf("folders[i].owner.userName")
    $ownerUserId = $jResp.StringOf("folders[i].owner.userId")
    $ownerEmail = $jResp.StringOf("folders[i].owner.email")
    $folderId = $jResp.StringOf("folders[i].folderId")
    $uri = $jResp.StringOf("folders[i].uri")
    $itemCount = $jResp.StringOf("folders[i].itemCount")
    $subFolderCount = $jResp.StringOf("folders[i].subFolderCount")
    $hasSubFolders = $jResp.StringOf("folders[i].hasSubFolders")
    $i = $i + 1
}