Citrix Virtual Apps and Desktops REST APIs

How to get icons from Citrix Virtual Apps and Desktops

Use REST APIs to get all or conditional icons from your Citrix Virtual Apps and Desktops site. Icons are used for creating applications in the site.

You can specify the desired icon data format to be returned via the iconFormat query parameter. You can also explicitly use the builtIn option to get the system built-in icons or to get the user created icons only. If not specified, both types of icons are returned.

Follow the prerequisites and examples to get started with this API.

You can make API requests using the PowerShell code, C# code, Python, or any tool that supports invoking the REST API.

Prerequisites to get icons from Citrix Virtual Apps and Desktops

Get icons from your site using any REST API tool

Learn from the following example to get all or conditional icons from your Citrix Virtual Apps and Desktops site using any REST API tool.

Request

GET https://[DdcServerAddress]/cvad/manage/icons?iconFormat=image%2fpng;32x32x24&builtIn=false HTTP/1.1 Accept: application/json Content-Type: application/json; charset=utf-8 Authorization: CWSAuth bearer=<token-from-prerequisites> Citrix-CustomerId: loy6oujtu6a4 Citrix-InstanceId: 22ded57c-0306-47e4-b6e8-fed6252759e1

Response

HTTP/1.1 200 OK citrix-transactionid: 003a86de-6949-47a6-9fa6-e4fe9a746fc0 content-Length: 8193 content-Type: application/json; charset=utf-8 date: "Mon, 25 Jan 2021 10:33:36 GMT" Server: Citrix Systems, Inc. { "Items": [ { "Id": "c5755e27-2110-4e1c-a5e2-19804bc153fc", "IsBuiltIn": false, "FormattedData": "TBqrPjEM...===", "RawData": "AAABfx4RA...==" } ... ] }

Get icons from your site using PowerShell

Learn from the following example to get all or conditional icons from your Citrix Virtual Apps and Desktops site using any PowerShell code.

function GetIcons { param ( [Parameter(Mandatory=$true)] [string] $customerid, [Parameter(Mandatory=$true)] [string] $siteid, [Parameter(Mandatory=$true)] [string] $bearerToken, [Parameter(Mandatory=$false)] [string] $iconFormat, [Parameter(Mandatory=$false)] [string] $isBuiltIn ) if ($iconFormat -ne "" -and $isBuiltIn -ne "") { $requestUri = [string]::Format("https://[DdcServerAddress]/cvad/manage/icons?iconFormat={0}&isBuiltIn={1}", $iconFormat, $isBuiltIn) } elseif ($iconFormat -ne "") { $requestUri = [string]::Format("https://[DdcServerAddress]/cvad/manage/icons?iconFormat={0}", $iconFormat) } elseif ($isBuiltIn -ne "") { $requestUri = [string]::Format("https://[DdcServerAddress]/cvad/manage/icons?isBuiltIn={0}", $isBuiltIn) } else { $requestUri = "https://[DdcServerAddress]/cvad/manage/icons" } $headers = @{ "Accept" = "application/json"; "Authorization" = "CWSAuth Bearer=$bearerToken"; "Citrix-CustomerId" = $customerid; "Citrix-InstanceId" = $siteid; } $response = Invoke-RestMethod -Uri $requestUri -Method GET -Headers $headers return $response } $customerid = "n2ypkklgy6cv" $siteid = "12f7438-bf8e-42ba-b1b3-2eb75d098f57" $bearerToken = "eyJ..." $iconFormat = "image/png;32x32x24" $isBuildIn = "false" $response = GetIcons $customerid $siteid $bearerToken $iconFormat $isBuildIn

Get icons from your site using C# code

Learn from the following example to get all or conditional icons from your Citrix Virtual Apps and Desktops site using C# code.

public static async Task<string> GetIcons( string customerid, string siteid, string bearerToken, string? iconFormat, bool? isBuiltIn) { var requestUri = "https://[DdcServerAddress]/cvad/manage/icons"; if(iconFormat != null && isBuiltIn != null) { requestUri += "?iconFormat=" + iconFormat + "&isBuiltIn=" + isBuiltIn; } else if (iconFormat != null) { requestUri += "?iconFormat=" + iconFormat; } else if (isBuiltIn != null) { requestUri += "?isBuiltIn=" + isBuiltIn; } using (var client = new HttpClient()) { client.DefaultRequestHeaders.Accept.ParseAdd("application/json"); client.DefaultRequestHeaders.Add("Citrix-CustomerId", customerid); client.DefaultRequestHeaders.Add("Citrix-InstanceId", siteid); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("CWSAuth Bearer=" + bearerToken); var response = await client.GetAsync(requestUri); if (response != null) { var content = await response.Content.ReadAsStringAsync(); return content; } return null; } }

Get icons from your site using Python

Learn from the following example to get all or conditional icons from your Citrix Virtual Apps and Desktops site using Python.

import requests def get_icons(bearerToken, customerid, siteid, icon_format, is_builtin): if icon_format and is_builtin: request_uri = "https://[DdcServerAddress]/cvad/manage/icons?iconFormat={0}&isBuiltIn={1}".format(icon_format, is_builtin) elif icon_format request_uri = "https://[DdcServerAddress]/cvad/manage/icons?iconFormat={0}".format(icon_format) elif icon_format request_uri = "https://[DdcServerAddress]/cvad/manage/icons?isBuiltIn={0}".format(is_builtin) else request_uri = "https://[DdcServerAddress]/cvad/manage/icons" headers = { 'Authorization': 'CWSAuth Bearer %s' % bearerToken, 'Citrix-CustomerId': customerid, 'Citrix-InstanceId': siteid, 'Content-Type': 'application/json', 'Accept': 'application/json' } response = requests.get(request_uri, headers = headers) return response.json()
Resources
Citrix Virtual Apps and Desktops REST APIs OpenAPI Specification
Copy Download
How to get icons from Citrix Virtual Apps and Desktops