Citrix Remote Browser Isolation

How to get an ICA file for an arbitrary site using Citrix Remote Browser Isolation

Use the Citrix Remote Browser Isolation service API to create an ICA file that helps you to launch a session.

The returned value is an ICA file. You can pass this ICA file to any Citrix Workspace app to launch the session. The session is launched by saving the ICA file data to a local file on the user’s endpoint and then invoking the installed Workspace app.

Prerequisites

  • customerId
  • bearer token

For more information on getting a customerId and bearer token, see the Get started with Citrix Cloud APIs section.

Create an ICA file using any REST API tool

Learn from the following example to create an ICA file using any REST API tool.

Request

POST https://session.browser.cloud.com/{customer}/singleuse/$launchIcafile HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: CwsAuth bearer=<token-from-call-to-trust>

{
  "address": "https://www.citrix.com",
  "name": "Citrix Remote Browser Isolation",
  "geo": "wus", 
  "whitelist": "*.citrix.com:443", 
  "policies": { 
    "copyPaste": true, 
    "nonKiosk": true 
  }
}
<!--NeedCopy-->

Response

HTTP/1.1 200 OK
Content-Length: 89
Content-Type: application/json;charset=utf-8

{
    "icaFile": "[Encoding]..."
}

<!--NeedCopy-->

Interpreting the request

The following JSON object is a fully defined launch request. All fields except address are optional and can be omitted if the default value is acceptable.

{
  "address": "https://www.citrix.com",
  "name": "Citrix Remote Browser Isolation",
  "geo": "wus",
  "whitelist": "*:*",
  "filterProfile": "None",
  "userIdentity": {
    "username": "user@example.com",
    "clientIP": "198.51.100.1"
  },
  "policies": {
    "copyPaste": true,
    "printing": false,
    "nonKiosk": false,
    "disableRegionFailover": false,
    "sessionIdleTimeout": 10,
    "sessionIdleTimeoutWarning": 2
  }
}
<!--NeedCopy-->

LaunchModel

Property Name Type Description
name string Title of the page in the client browser.
address string [Required] Fully qualified URL to launch within the session.
geo string Geographical region to host the remote session. The values are wus (West US), weurope (West Europe), seasia (Southeast Asia), and auto (Select a region based on the user’s IP address. The default value is wus.
whitelist string List of sites that the hosted browser is allowed to contact. Entries are in the format hostname:port number, separated by newlines, with asterisks as wild cards. Default value is *:*, which allows all traffic.
userIdentity object Describes the user launching the session.
policies object Defines the features available within the session.

UserIdentity

Property Name Type Description
username string Name of the user
clientIP string IP address of the user. Required when the geo field is auto.

Policies

Property Name Type Description
copyPaste boolean Enable clipboard operations between client and session. Disabled by default.
printing boolean Enable printing of remote pages. Disabled by default.
nonKiosk boolean Do not run the hosted browser in kiosk mode. Disabled by default.
disableRegionFailover boolean Require the session to run in the requested geographical region, allowing the session to fail rather than be relocated to another region. By default, sessions are relocated to a functional region if the requested one is reporting an issue.
sessionIdleTimeout integer Number of minutes to allow the session to remain idle before closing automatically. Default 10 minutes.
sessionIdleTimeoutWarning integer Number of minutes before an automatic log-off to display a warning dialog to the user. Default two minutes.

Interpreting the response

The response is a JSON object with a single property, icaFile. Any version of Citrix Workspace app can use this data to launch the requested session, typically by saving it to a local file and then invoking an installed copy of Workspace app.

Resources
Citrix Remote Browser Isolation OpenAPI Specification
Copy Download
How to get an ICA file for an arbitrary site using Citrix Remote Browser Isolation