Parallels RAS - REST API v1.0 API Reference

Overview

Parallels RAS comes with various APIs to help you develop custom applications that integrate with it. The RAS REST API is one of them. This guide describes how to use the REST API and documents the available REST resources, complete with request syntax and examples.

Getting Started

Applications communicate with Parallels RAS by sending HTTP or HTTPS requests. Parallels RAS answers with a JSON file in a response to every HTTP request.

All HTTP requests that you will use to retrieve and manage Parallels RAS resources have the following base structure:

https://<API-host>:20443/api/<URI>

where:

  • <API-host> is the IP address or FQDN of the server on which the RAS REST API endpoint is installed.
  • <URI> is a path to a REST resource that you would like to work with. The available resources and their paths and possible parameters are described in the OPERATIONS section. Request body schemas are documented in the SCHEMA DEFINITIONS section.

Logging in and Sending Requests

This section contains an example of RAS REST API usage that can help you quickly get started. The example demonstrates how to:

  1. Login to Parallels RAS and obtain an authentication token.
  2. Retrieve the information about all available RD Session Hosts.
  3. Retrieve the information about a specific RD Session Host.
  4. Modify RD Session Host properties.

Log in to Parallels RAS and obtain an authorization token

Before you can access any of the resources, you need to log in to Parallels RAS using administrator credentials and obtain an authorization token. This is accomplished by sending the following request:

POST https://<API-host>:20443/api/session/logon

Request headers The logon request must contain just the Content-Type request header. Subsequent requests must additionally contain the auth_token header, as you'll see in the examples that follow this one.

Content-Type: application/json; api-version=1.0

Request body The request body must contain the RAS administrator user name and password:

{
 "username": "USER",
 "password": "PASSWORD"
}

Response After sending the logon request, you will receive a reply containing the authentication token, which you will use in all subsequent requests:

{
 "authToken": "[AUTHENTICATION_TOKEN]"
}

Throughout this document, AUTHENTICATION_TOKEN refers to the authentication token, which can be obtained from /api/session/logon.

Retrieve information about RD Session Hosts

Now that we have the authentication token, we can send requests to access various resources. In this example we'll first obtain the information about all available RD Session Hosts. In the example that follows, we'll obtain the information about a specific RD Session Host.

To retrieve the RD Session Host info, send the following request:

GET https://<API-host>:20443/api/RDS

Request headers This time the auth_token request header must also be included and must contain the authentication token that we've obtained earlier:

  • Content-Type: application/json; api-version=1.0
  • auth_token: [AUTHENTICATION_TOKEN]

Response The response will look similar to the following (with multiple RD Session Hosts in the farm, each block of the result set will contain the information about an individual server):

{
"directAddress": "IP_ADDR",
"rasTemplateId": 0,
"inheritDefaultAgentSettings": true,
"inheritDefaultPrinterSettings": true,
"inheritDefaultUPDSettings": true,
"inheritDefaultDesktopAccessSettings": true,
"port": 3389,

"restrictDesktopAccess": false,
"restrictedUsers": [],
"server": "IP_ADDR",
"enabled": true,
"description": "",
"siteId": 1,
"id": 2
}

Retrieve information about a specific RD Session Host

To retrieve the information about a specific server, we'll use the same request as above but will add the server ID in the end:

GET https://<API-host>:20443/api/RDS/2/

The response will also be similar to the example above and will contain the information just for the specified server.

Modify RD Session Host properties

In this example we'll modify a property of the RD Session Host that we retrieved earlier. For simplicity let's modify the "description" field.

The request to modify properties of an RD Session Host has the following syntax:

PUT https://<API-host>:20443/api/RDS/2/

Note "2" at the end of the request, which specifies the ID of the RD Session Host that we want to modify.

Request headers

  • Content-Type: application/json; api-version=1.0
  • auth_token: [AUTHENTICATION_TOKEN]

Request body

{
"description": "description was updated!"
}

Response If the PUT request succeeds, you will get an empty response with code "204: No Content". To verify that the "description" field was in fact modified, let's use the same GET request that we used earlier: GET https://<API-host>:20443/api/RDS/2/

As we can see, the result now contains the updated "description" field:

{
"directAddress": "IP_ADDR",
"rasTemplateId": 0,
"inheritDefaultAgentSettings": true,
…
"server": "IP_ADDR",
"enabled": true,
"description": "description was updated!",
"siteId": 1,
"id": 2
}

Examples

Below you can find some samples containing sequences of different types of HTTP requests:

Basic Sample How to start a session, get all sites, get a particular site, get all gateways, add a new GW, get a particular GW, create a RDS server, get the RDS server status, get the RDS server sessions.

RDS Sample How to get all RDS servers, add a new RDS Server, get the its status, get its sessions, add the Server to a RDS Group, update the RDS Group.

Publishing Sample How to manage published resources and use filtering options.

PA & Gateway Sample How to manage Publishing Agents and Gateways.

Licensing Sample How to manage license.

Version: 1.0

PubRDSApps

Add Client filter

POST /api/PubRDSApps/{id}/ClientFilters

Add a client device name to the filter of type 'Client Device Name' for the specified published resource.

Published item client filter configuration

id: integer (int32)
in path

ID of the published resource to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "client": "string",
  "siteId": "integer (int32)"
}
201 Created

Success

type
string[]
401 Unauthorized

Unauthorized

404 Not Found

Not Found

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
[
  "string"
]

Delete Client filter

DELETE /api/PubRDSApps/{id}/ClientFilters/{client}

Delete a client device name to the filter of type 'Client Device Name' for the specified published resource.

id: integer (int32)
in path

ID of the published resource to be updated

client: string
in path

Name of the Client filter to be deleted

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Add GW filter

POST /api/PubRDSApps/{id}/GWFilters

Add a RAS Secure Client Gateway to the filter of type 'Gateway' for the specified published resource.

Published item GW filter configuration

id: integer (int32)
in path

ID of the published resource to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "ip": "string",
  "siteId": "integer (int32)"
}
201 Created

Success

type
string[]
401 Unauthorized

Unauthorized

404 Not Found

Not Found

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
[
  "string"
]

Delete GW filter

DELETE /api/PubRDSApps/{id}/GWFilters/{ip}

Delete a RAS Secure Client Gateway from the filter of type 'Gateway' for the specified published resource.

id: integer (int32)
in path

ID of the published resource to be updated

ip: string
in path

IP of the Gateway filter to be deleted

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Add IP filter

POST /api/PubRDSApps/{id}/IPFilters

Add an IP address to the filter of type 'IP Address' for the specified published resource.

Published item IP filter configuration

id: integer (int32)
in path

ID of the published resource to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "ip": "string",
  "siteId": "integer (int32)"
}
201 Created

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
{
  "allowedIP4s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "allowedIP6s": [
    {
      "from": "string",
      "to": "string"
    }
  ]
}

Delete IP filter

DELETE /api/PubRDSApps/{id}/IPFilters/{ip}

Delete an IP address from the filter of type 'IP Address' for the specified published resource.

id: integer (int32)
in path

ID of the published resource to be updated

ip: string
in path

IP to be deleted from the IP filter

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Add MAC filter

POST /api/PubRDSApps/{id}/MACFilters

Add a MAC address to the filter of type 'MAC Address' for the specified published resource.

Published item MAC filter configuration

id: integer (int32)
in path

ID of the published resource to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "mac": "string",
  "siteId": "integer (int32)"
}
201 Created

Success

type
string[]
401 Unauthorized

Unauthorized

404 Not Found

Not Found

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
[
  "string"
]

Delete MAC filter

DELETE /api/PubRDSApps/{id}/MACFilters/{mac}

Delete a MAC address from the filter of type 'MAC Address' for the specified published resource.

id: integer (int32)
in path

ID of the published resource to be updated

mac: string
in path

MAC address to be deleted from the filter

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Add User filter

POST /api/PubRDSApps/{id}/UserFilters

Add a User account to the filter of type 'User' for the specified published resource.

Published item user filter configuration

id: integer (int32)
in path

ID of the published resource to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "account": "string",
  "sid": "string",
  "siteId": "integer (int32)"
}
201 Created

Success

type
401 Unauthorized

Unauthorized

404 Not Found

Not Found

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
[
  {
    "account": "string",
    "type": "string",
    "sid": "string"
  }
]

Delete User filter

DELETE /api/PubRDSApps/{id}/UserFilters/{account}

Delete a User account from the filter of type 'User' for the specified published resource.

id: integer (int32)
in path

ID of the published resource to be updated

account: string
in path

Account of User to be deleted from the filter

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Create File Extension

POST /api/PubRDSApps/{id}/FileExtensions

Add a file extension for the specified published RDS application.

File extension for published RDS application to be added

id: integer (int32)
in path

ID of the published RDS application to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "extension": "string",
  "siteId": "integer (int32)"
}
201 Created

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
[
  {
    "extension": "string",
    "parameters": "string",
    "enabled": "boolean"
  }
]

Update File Extension

PUT /api/PubRDSApps/{id}/FileExtensions/{extension}

Modify properties of a file extension for the specified published RDS application.

File extension for published RDS application to be updated

id: integer (int32)
in path

ID of the published RDS application to be updated

extension: string
in path

Name of the file extension that will be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "enabled": "boolean",
  "parameters": "string",
  "extension": "string",
  "siteId": "integer (int32)"
}
204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Delete File Extension

DELETE /api/PubRDSApps/{id}/FileExtensions/{extension}

Remove a file extension from the specified published RDS application.

id: integer (int32)
in path

ID of the published RDS application to be updated

extension: string
in path

The file extension that will be deleted

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

List

GET /api/PubRDSApps

Retrieve a list of all the published RDS applications

SiteId: integer (int32)
in query

Site ID for which to retrieve all the published RDS applications (optional)

Name: string
in query

Filter the result by name (optional)

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "publishFromServer": [
    "integer (int32)"
  ],
  "publishFromGroup": [
    "integer (int32)"
  ],
  "perServerAttributes": [
    {
      "parameters": "string",
      "startIn": "string",
      "target": "string",
      "serverId": "integer (int32)"
    }
  ],
  "publishFrom": "string",
  "enableFileExtensions": "boolean",
  "inheritDisplayDefaultSettings": "boolean",
  "replicateDisplaySettings": "boolean",
  "startMaximized": "boolean",
  "waitForPrinters": "boolean",
  "waitForPrintersTimeout": "integer (int32)",
  "colorDepth": "string",
  "inheritLicenseDefaultSettings": "boolean",
  "replicateLicenseSettings": "boolean",
  "replicateFileExtensionSettings": "boolean",
  "replicateDefaultServerSettings": "boolean",
  "disableSessionSharing": "boolean",
  "oneInstancePerUser": "boolean",
  "conCurrentLicenses": "integer (int32)",
  "licenseLimitNotify": "string",
  "fileExtensions": [
    {
      "extension": "string",
      "parameters": "string",
      "enabled": "boolean"
    }
  ],
  "winType": "string",
  "parameters": "string",
  "startIn": "string",
  "target": "string",
  "startOnLogon": "boolean",
  "inheritShortcutDefaultSettings": "boolean",
  "replicateShortcutSettings": "boolean",
  "createShortcutOnDesktop": "boolean",
  "createShortcutInStartFolder": "boolean",
  "createShortcutInStartUpFolder": "boolean",
  "startPath": "string",
  "name": "string",
  "type": "string",
  "parentId": "integer (int32)",
  "previousId": "integer (int32)",
  "description": "string",
  "enabled": "boolean",
  "publishToSite": [
    "integer (int32)"
  ],
  "userFilterEnabled": "boolean",
  "userFilterReplicate": "boolean",
  "allowedUsers": [
    {
      "account": "string",
      "type": "string",
      "sid": "string"
    }
  ],
  "clientFilterEnabled": "boolean",
  "clientFilterReplicate": "boolean",
  "allowedClients": [
    "string"
  ],
  "ipFilterEnabled": "boolean",
  "ipFilterReplicate": "boolean",
  "allowedIP4s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "allowedIP6s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "macFilterEnabled": "boolean",
  "macFilterReplicate": "boolean",
  "allowedMACs": [
    "string"
  ],
  "gwFilterEnabled": "boolean",
  "allowedGWs": [
    "string"
  ],
  "osFilterEnabled": "boolean",
  "osFilterReplicate": "boolean",
  "allowedOSes": {
    "chrome": "boolean",
    "android": "boolean",
    "htmL5": "boolean",
    "iOS": "boolean",
    "linux": "boolean",
    "mac": "boolean",
    "webPortal": "boolean",
    "windows": "boolean",
    "wyse": "boolean"
  },
  "id": "integer (int32)"
}

Create

POST /api/PubRDSApps

Add a published RDS application to a site.

undefined

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "publishFrom": "string",
  "publishFromGroupIds": [
    "integer (int32)"
  ],
  "publishFromServerIds": [
    "integer (int32)"
  ],
  "target": "string",
  "parameters": "string",
  "startIn": "string",
  "startOnLogon": "boolean",
  "winType": "string",
  "name": "string",
  "parentId": "integer (int32)",
  "previousId": "integer (int32)",
  "enabled": "boolean",
  "description": "string",
  "publishToSiteIds": [
    "integer (int32)"
  ],
  "siteId": "integer (int32)",
  "ipFilterEnabled": "boolean",
  "ipFilterReplicate": "boolean",
  "clientFilterEnabled": "boolean",
  "clientFilterReplicate": "boolean",
  "macFilterEnabled": "boolean",
  "macFilterReplicate": "boolean",
  "userFilterEnabled": "boolean",
  "userFilterReplicate": "boolean",
  "gwFilterEnabled": "boolean"
}
201 Created

Success

401 Unauthorized

Unauthorized

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
{
  "publishFromServer": [
    "integer (int32)"
  ],
  "publishFromGroup": [
    "integer (int32)"
  ],
  "perServerAttributes": [
    {
      "parameters": "string",
      "startIn": "string",
      "target": "string",
      "serverId": "integer (int32)"
    }
  ],
  "publishFrom": "string",
  "enableFileExtensions": "boolean",
  "inheritDisplayDefaultSettings": "boolean",
  "replicateDisplaySettings": "boolean",
  "startMaximized": "boolean",
  "waitForPrinters": "boolean",
  "waitForPrintersTimeout": "integer (int32)",
  "colorDepth": "string",
  "inheritLicenseDefaultSettings": "boolean",
  "replicateLicenseSettings": "boolean",
  "replicateFileExtensionSettings": "boolean",
  "replicateDefaultServerSettings": "boolean",
  "disableSessionSharing": "boolean",
  "oneInstancePerUser": "boolean",
  "conCurrentLicenses": "integer (int32)",
  "licenseLimitNotify": "string",
  "fileExtensions": [
    {
      "extension": "string",
      "parameters": "string",
      "enabled": "boolean"
    }
  ],
  "winType": "string",
  "parameters": "string",
  "startIn": "string",
  "target": "string",
  "startOnLogon": "boolean",
  "inheritShortcutDefaultSettings": "boolean",
  "replicateShortcutSettings": "boolean",
  "createShortcutOnDesktop": "boolean",
  "createShortcutInStartFolder": "boolean",
  "createShortcutInStartUpFolder": "boolean",
  "startPath": "string",
  "name": "string",
  "type": "string",
  "parentId": "integer (int32)",
  "previousId": "integer (int32)",
  "description": "string",
  "enabled": "boolean",
  "publishToSite": [
    "integer (int32)"
  ],
  "userFilterEnabled": "boolean",
  "userFilterReplicate": "boolean",
  "allowedUsers": [
    {
      "account": "string",
      "type": "string",
      "sid": "string"
    }
  ],
  "clientFilterEnabled": "boolean",
  "clientFilterReplicate": "boolean",
  "allowedClients": [
    "string"
  ],
  "ipFilterEnabled": "boolean",
  "ipFilterReplicate": "boolean",
  "allowedIP4s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "allowedIP6s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "macFilterEnabled": "boolean",
  "macFilterReplicate": "boolean",
  "allowedMACs": [
    "string"
  ],
  "gwFilterEnabled": "boolean",
  "allowedGWs": [
    "string"
  ],
  "osFilterEnabled": "boolean",
  "osFilterReplicate": "boolean",
  "allowedOSes": {
    "chrome": "boolean",
    "android": "boolean",
    "htmL5": "boolean",
    "iOS": "boolean",
    "linux": "boolean",
    "mac": "boolean",
    "webPortal": "boolean",
    "windows": "boolean",
    "wyse": "boolean"
  },
  "id": "integer (int32)"
}

Get

GET /api/PubRDSApps/{id}

Retrieve a specified published RDS application

id: integer (int32)
in path

ID of the published RDS application to be retrieved

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "publishFromServer": [
    "integer (int32)"
  ],
  "publishFromGroup": [
    "integer (int32)"
  ],
  "perServerAttributes": [
    {
      "parameters": "string",
      "startIn": "string",
      "target": "string",
      "serverId": "integer (int32)"
    }
  ],
  "publishFrom": "string",
  "enableFileExtensions": "boolean",
  "inheritDisplayDefaultSettings": "boolean",
  "replicateDisplaySettings": "boolean",
  "startMaximized": "boolean",
  "waitForPrinters": "boolean",
  "waitForPrintersTimeout": "integer (int32)",
  "colorDepth": "string",
  "inheritLicenseDefaultSettings": "boolean",
  "replicateLicenseSettings": "boolean",
  "replicateFileExtensionSettings": "boolean",
  "replicateDefaultServerSettings": "boolean",
  "disableSessionSharing": "boolean",
  "oneInstancePerUser": "boolean",
  "conCurrentLicenses": "integer (int32)",
  "licenseLimitNotify": "string",
  "fileExtensions": [
    {
      "extension": "string",
      "parameters": "string",
      "enabled": "boolean"
    }
  ],
  "winType": "string",
  "parameters": "string",
  "startIn": "string",
  "target": "string",
  "startOnLogon": "boolean",
  "inheritShortcutDefaultSettings": "boolean",
  "replicateShortcutSettings": "boolean",
  "createShortcutOnDesktop": "boolean",
  "createShortcutInStartFolder": "boolean",
  "createShortcutInStartUpFolder": "boolean",
  "startPath": "string",
  "name": "string",
  "type": "string",
  "parentId": "integer (int32)",
  "previousId": "integer (int32)",
  "description": "string",
  "enabled": "boolean",
  "publishToSite": [
    "integer (int32)"
  ],
  "userFilterEnabled": "boolean",
  "userFilterReplicate": "boolean",
  "allowedUsers": [
    {
      "account": "string",
      "type": "string",
      "sid": "string"
    }
  ],
  "clientFilterEnabled": "boolean",
  "clientFilterReplicate": "boolean",
  "allowedClients": [
    "string"
  ],
  "ipFilterEnabled": "boolean",
  "ipFilterReplicate": "boolean",
  "allowedIP4s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "allowedIP6s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "macFilterEnabled": "boolean",
  "macFilterReplicate": "boolean",
  "allowedMACs": [
    "string"
  ],
  "gwFilterEnabled": "boolean",
  "allowedGWs": [
    "string"
  ],
  "osFilterEnabled": "boolean",
  "osFilterReplicate": "boolean",
  "allowedOSes": {
    "chrome": "boolean",
    "android": "boolean",
    "htmL5": "boolean",
    "iOS": "boolean",
    "linux": "boolean",
    "mac": "boolean",
    "webPortal": "boolean",
    "windows": "boolean",
    "wyse": "boolean"
  },
  "id": "integer (int32)"
}

Update

PUT /api/PubRDSApps/{id}

Modify properties of a published RDS application.

Published RDS application configuration

id: integer (int32)
in path

ID of the published RDS application to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "publishFrom": "string",
  "publishFromGroupIds": [
    "integer (int32)"
  ],
  "publishFromServerIds": [
    "integer (int32)"
  ],
  "replicateDisplaySettings": "boolean",
  "startMaximized": "boolean",
  "waitForPrinters": "boolean",
  "waitForPrintersTimeout": "integer (int32)",
  "colorDepth": "string",
  "inheritDisplayDefaultSettings": "boolean",
  "replicateLicenseSettings": "boolean",
  "disableSessionSharing": "boolean",
  "oneInstancePerUser": "boolean",
  "conCurrentLicenses": "integer (int32)",
  "licenseLimitNotify": "string",
  "inheritLicenseDefaultSettings": "boolean",
  "enableFileExtensions": "boolean",
  "replicateFileExtensionSettings": "boolean",
  "replicateDefaultServerSettings": "boolean",
  "fileExtensions": "string",
  "serverId": "integer (int32)",
  "target": "string",
  "parameters": "string",
  "startIn": "string",
  "winType": "string",
  "replicateShortcutSettings": "boolean",
  "createShortcutOnDesktop": "boolean",
  "createShortcutInStartFolder": "boolean",
  "createShortcutInStartUpFolder": "boolean",
  "startPath": "string",
  "inheritShortcutDefaultSettings": "boolean",
  "startOnLogon": "boolean",
  "newName": "string",
  "enabled": "boolean",
  "description": "string",
  "publishToSiteIds": [
    "integer (int32)"
  ],
  "ipFilterEnabled": "boolean",
  "ipFilterReplicate": "boolean",
  "clientFilterEnabled": "boolean",
  "clientFilterReplicate": "boolean",
  "macFilterEnabled": "boolean",
  "macFilterReplicate": "boolean",
  "userFilterEnabled": "boolean",
  "userFilterReplicate": "boolean",
  "gwFilterEnabled": "boolean",
  "osFilterEnabled": "boolean",
  "osFilterReplicate": "boolean",
  "allowClientChrome": "boolean",
  "allowClientAndroid": "boolean",
  "allowClientHTML5": "boolean",
  "allowClientIOS": "boolean",
  "allowClientLinux": "boolean",
  "allowClientMAC": "boolean",
  "allowClientWebPortal": "boolean",
  "allowClientWindows": "boolean",
  "allowClientWyse": "boolean",
  "siteId": "integer (int32)"
}
204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Delete

DELETE /api/PubRDSApps/{id}

Delete a published application from a site.

id: integer (int32)
in path

ID of the published RDS application to be deleted

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Update Server Attribute

PUT /api/PubRDSApps/{id}/ServerAttr/{serverId}

Add a Server Attribute for the specified published RDS application.

Specifies the Server Attribute that will be modified

id: integer (int32)
in path

ID of the published RDS application for which the Server Attribute will be updated

serverId: integer (int32)
in path

ID of the RDS Server for which the attribute will be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "target": "string",
  "startIn": "string",
  "parameters": "string",
  "siteId": "integer (int32)"
}
204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Create Server Attribute

POST /api/PubRDSApps/{id}/ServerAttr/{serverId}

Add a Server Attribute for the specified published RDS application.

Specifies the Server Attribute that will be added

id: integer (int32)
in path

ID of the published RDS application for which the Server Attribute will be added

serverId: integer (int32)
in path

ID of the RDS Server to which the attribute will be added

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "serverID": "integer (int32)",
  "target": "string",
  "startIn": "string",
  "parameters": "string",
  "siteId": "integer (int32)"
}
201 Created

Success

type
401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
[
  {
    "parameters": "string",
    "startIn": "string",
    "target": "string",
    "serverId": "integer (int32)"
  }
]

Delete Server Attribute

DELETE /api/PubRDSApps/{id}/ServerAttr/{serverId}

Remove a Server Attribute for the specified published RDS application.

id: integer (int32)
in path

ID of the published RDS application for which the Server Attribute will be deleted

serverId: integer (int32)
in path

ID of the RDS Server for which the attribute will be deleted

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

PubRDSDesktops

Add Client filter

POST /api/PubRDSDesktops/{id}/ClientFilters

Add a client device name to the filter of type 'Client Device Name' for the specified published resource.

Published item client filter configuration

id: integer (int32)
in path

ID of the published resource to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "client": "string",
  "siteId": "integer (int32)"
}
201 Created

Success

type
string[]
401 Unauthorized

Unauthorized

404 Not Found

Not Found

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
[
  "string"
]

Delete Client filter

DELETE /api/PubRDSDesktops/{id}/ClientFilters/{client}

Delete a client device name to the filter of type 'Client Device Name' for the specified published resource.

id: integer (int32)
in path

ID of the published resource to be updated

client: string
in path

Name of the Client filter to be deleted

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Add GW filter

POST /api/PubRDSDesktops/{id}/GWFilters

Add a RAS Secure Client Gateway to the filter of type 'Gateway' for the specified published resource.

Published item GW filter configuration

id: integer (int32)
in path

ID of the published resource to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "ip": "string",
  "siteId": "integer (int32)"
}
201 Created

Success

type
string[]
401 Unauthorized

Unauthorized

404 Not Found

Not Found

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
[
  "string"
]

Delete GW filter

DELETE /api/PubRDSDesktops/{id}/GWFilters/{ip}

Delete a RAS Secure Client Gateway from the filter of type 'Gateway' for the specified published resource.

id: integer (int32)
in path

ID of the published resource to be updated

ip: string
in path

IP of the Gateway filter to be deleted

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Add IP filter

POST /api/PubRDSDesktops/{id}/IPFilters

Add an IP address to the filter of type 'IP Address' for the specified published resource.

Published item IP filter configuration

id: integer (int32)
in path

ID of the published resource to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "ip": "string",
  "siteId": "integer (int32)"
}
201 Created

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
{
  "allowedIP4s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "allowedIP6s": [
    {
      "from": "string",
      "to": "string"
    }
  ]
}

Delete IP filter

DELETE /api/PubRDSDesktops/{id}/IPFilters/{ip}

Delete an IP address from the filter of type 'IP Address' for the specified published resource.

id: integer (int32)
in path

ID of the published resource to be updated

ip: string
in path

IP to be deleted from the IP filter

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Add MAC filter

POST /api/PubRDSDesktops/{id}/MACFilters

Add a MAC address to the filter of type 'MAC Address' for the specified published resource.

Published item MAC filter configuration

id: integer (int32)
in path

ID of the published resource to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "mac": "string",
  "siteId": "integer (int32)"
}
201 Created

Success

type
string[]
401 Unauthorized

Unauthorized

404 Not Found

Not Found

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
[
  "string"
]

Delete MAC filter

DELETE /api/PubRDSDesktops/{id}/MACFilters/{mac}

Delete a MAC address from the filter of type 'MAC Address' for the specified published resource.

id: integer (int32)
in path

ID of the published resource to be updated

mac: string
in path

MAC address to be deleted from the filter

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Add User filter

POST /api/PubRDSDesktops/{id}/UserFilters

Add a User account to the filter of type 'User' for the specified published resource.

Published item user filter configuration

id: integer (int32)
in path

ID of the published resource to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "account": "string",
  "sid": "string",
  "siteId": "integer (int32)"
}
201 Created

Success

type
401 Unauthorized

Unauthorized

404 Not Found

Not Found

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
[
  {
    "account": "string",
    "type": "string",
    "sid": "string"
  }
]

Delete User filter

DELETE /api/PubRDSDesktops/{id}/UserFilters/{account}

Delete a User account from the filter of type 'User' for the specified published resource.

id: integer (int32)
in path

ID of the published resource to be updated

account: string
in path

Account of User to be deleted from the filter

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

List

GET /api/PubRDSDesktops

Retrieve a list of all the published RDS desktops

SiteId: integer (int32)
in query

Site ID for which to retrieve all the published RDS desktops (optional)

Name: string
in query

Filter the result by name (optional)

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "connectToConsole": "boolean",
  "publishFromServer": [
    "integer (int32)"
  ],
  "publishFromGroup": [
    "integer (int32)"
  ],
  "publishFrom": "string",
  "useAvailableArea": "boolean",
  "width": "integer (int32)",
  "height": "integer (int32)",
  "allowMultiMonitor": "string",
  "startOnLogon": "boolean",
  "inheritShortcutDefaultSettings": "boolean",
  "replicateShortcutSettings": "boolean",
  "createShortcutOnDesktop": "boolean",
  "createShortcutInStartFolder": "boolean",
  "createShortcutInStartUpFolder": "boolean",
  "startPath": "string",
  "name": "string",
  "type": "string",
  "parentId": "integer (int32)",
  "previousId": "integer (int32)",
  "description": "string",
  "enabled": "boolean",
  "publishToSite": [
    "integer (int32)"
  ],
  "userFilterEnabled": "boolean",
  "userFilterReplicate": "boolean",
  "allowedUsers": [
    {
      "account": "string",
      "type": "string",
      "sid": "string"
    }
  ],
  "clientFilterEnabled": "boolean",
  "clientFilterReplicate": "boolean",
  "allowedClients": [
    "string"
  ],
  "ipFilterEnabled": "boolean",
  "ipFilterReplicate": "boolean",
  "allowedIP4s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "allowedIP6s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "macFilterEnabled": "boolean",
  "macFilterReplicate": "boolean",
  "allowedMACs": [
    "string"
  ],
  "gwFilterEnabled": "boolean",
  "allowedGWs": [
    "string"
  ],
  "osFilterEnabled": "boolean",
  "osFilterReplicate": "boolean",
  "allowedOSes": {
    "chrome": "boolean",
    "android": "boolean",
    "htmL5": "boolean",
    "iOS": "boolean",
    "linux": "boolean",
    "mac": "boolean",
    "webPortal": "boolean",
    "windows": "boolean",
    "wyse": "boolean"
  },
  "id": "integer (int32)"
}

Create

POST /api/PubRDSDesktops

Add a published RDS desktop to a site.

undefined

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "connectToConsole": "boolean",
  "publishFrom": "string",
  "publishFromGroupIds": [
    "integer (int32)"
  ],
  "publishFromServerIds": [
    "integer (int32)"
  ],
  "startOnLogon": "boolean",
  "width": "integer (int32)",
  "height": "integer (int32)",
  "desktopSize": "string",
  "allowMultiMonitor": "string",
  "name": "string",
  "parentId": "integer (int32)",
  "previousId": "integer (int32)",
  "enabled": "boolean",
  "description": "string",
  "publishToSiteIds": [
    "integer (int32)"
  ],
  "siteId": "integer (int32)",
  "ipFilterEnabled": "boolean",
  "ipFilterReplicate": "boolean",
  "clientFilterEnabled": "boolean",
  "clientFilterReplicate": "boolean",
  "macFilterEnabled": "boolean",
  "macFilterReplicate": "boolean",
  "userFilterEnabled": "boolean",
  "userFilterReplicate": "boolean",
  "gwFilterEnabled": "boolean"
}
201 Created

Success

401 Unauthorized

Unauthorized

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
{
  "connectToConsole": "boolean",
  "publishFromServer": [
    "integer (int32)"
  ],
  "publishFromGroup": [
    "integer (int32)"
  ],
  "publishFrom": "string",
  "useAvailableArea": "boolean",
  "width": "integer (int32)",
  "height": "integer (int32)",
  "allowMultiMonitor": "string",
  "startOnLogon": "boolean",
  "inheritShortcutDefaultSettings": "boolean",
  "replicateShortcutSettings": "boolean",
  "createShortcutOnDesktop": "boolean",
  "createShortcutInStartFolder": "boolean",
  "createShortcutInStartUpFolder": "boolean",
  "startPath": "string",
  "name": "string",
  "type": "string",
  "parentId": "integer (int32)",
  "previousId": "integer (int32)",
  "description": "string",
  "enabled": "boolean",
  "publishToSite": [
    "integer (int32)"
  ],
  "userFilterEnabled": "boolean",
  "userFilterReplicate": "boolean",
  "allowedUsers": [
    {
      "account": "string",
      "type": "string",
      "sid": "string"
    }
  ],
  "clientFilterEnabled": "boolean",
  "clientFilterReplicate": "boolean",
  "allowedClients": [
    "string"
  ],
  "ipFilterEnabled": "boolean",
  "ipFilterReplicate": "boolean",
  "allowedIP4s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "allowedIP6s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "macFilterEnabled": "boolean",
  "macFilterReplicate": "boolean",
  "allowedMACs": [
    "string"
  ],
  "gwFilterEnabled": "boolean",
  "allowedGWs": [
    "string"
  ],
  "osFilterEnabled": "boolean",
  "osFilterReplicate": "boolean",
  "allowedOSes": {
    "chrome": "boolean",
    "android": "boolean",
    "htmL5": "boolean",
    "iOS": "boolean",
    "linux": "boolean",
    "mac": "boolean",
    "webPortal": "boolean",
    "windows": "boolean",
    "wyse": "boolean"
  },
  "id": "integer (int32)"
}

Get

GET /api/PubRDSDesktops/{id}

Retrieve information about a specified published RDS desktop.

id: integer (int32)
in path

ID of the published RDS desktop to be retrieved

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "connectToConsole": "boolean",
  "publishFromServer": [
    "integer (int32)"
  ],
  "publishFromGroup": [
    "integer (int32)"
  ],
  "publishFrom": "string",
  "useAvailableArea": "boolean",
  "width": "integer (int32)",
  "height": "integer (int32)",
  "allowMultiMonitor": "string",
  "startOnLogon": "boolean",
  "inheritShortcutDefaultSettings": "boolean",
  "replicateShortcutSettings": "boolean",
  "createShortcutOnDesktop": "boolean",
  "createShortcutInStartFolder": "boolean",
  "createShortcutInStartUpFolder": "boolean",
  "startPath": "string",
  "name": "string",
  "type": "string",
  "parentId": "integer (int32)",
  "previousId": "integer (int32)",
  "description": "string",
  "enabled": "boolean",
  "publishToSite": [
    "integer (int32)"
  ],
  "userFilterEnabled": "boolean",
  "userFilterReplicate": "boolean",
  "allowedUsers": [
    {
      "account": "string",
      "type": "string",
      "sid": "string"
    }
  ],
  "clientFilterEnabled": "boolean",
  "clientFilterReplicate": "boolean",
  "allowedClients": [
    "string"
  ],
  "ipFilterEnabled": "boolean",
  "ipFilterReplicate": "boolean",
  "allowedIP4s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "allowedIP6s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "macFilterEnabled": "boolean",
  "macFilterReplicate": "boolean",
  "allowedMACs": [
    "string"
  ],
  "gwFilterEnabled": "boolean",
  "allowedGWs": [
    "string"
  ],
  "osFilterEnabled": "boolean",
  "osFilterReplicate": "boolean",
  "allowedOSes": {
    "chrome": "boolean",
    "android": "boolean",
    "htmL5": "boolean",
    "iOS": "boolean",
    "linux": "boolean",
    "mac": "boolean",
    "webPortal": "boolean",
    "windows": "boolean",
    "wyse": "boolean"
  },
  "id": "integer (int32)"
}

Update

PUT /api/PubRDSDesktops/{id}

Modify properties of a specified published desktop.

Published RDS desktop configuration

id: integer (int32)
in path

ID of the published RDS desktop to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "connectToConsole": "boolean",
  "publishFrom": "string",
  "publishFromGroupIds": [
    "integer (int32)"
  ],
  "publishFromServerIds": [
    "integer (int32)"
  ],
  "width": "integer (int32)",
  "height": "integer (int32)",
  "desktopSize": "string",
  "allowMultiMonitor": "string",
  "replicateShortcutSettings": "boolean",
  "createShortcutOnDesktop": "boolean",
  "createShortcutInStartFolder": "boolean",
  "createShortcutInStartUpFolder": "boolean",
  "startPath": "string",
  "inheritShortcutDefaultSettings": "boolean",
  "startOnLogon": "boolean",
  "newName": "string",
  "enabled": "boolean",
  "description": "string",
  "publishToSiteIds": [
    "integer (int32)"
  ],
  "ipFilterEnabled": "boolean",
  "ipFilterReplicate": "boolean",
  "clientFilterEnabled": "boolean",
  "clientFilterReplicate": "boolean",
  "macFilterEnabled": "boolean",
  "macFilterReplicate": "boolean",
  "userFilterEnabled": "boolean",
  "userFilterReplicate": "boolean",
  "gwFilterEnabled": "boolean",
  "osFilterEnabled": "boolean",
  "osFilterReplicate": "boolean",
  "allowClientChrome": "boolean",
  "allowClientAndroid": "boolean",
  "allowClientHTML5": "boolean",
  "allowClientIOS": "boolean",
  "allowClientLinux": "boolean",
  "allowClientMAC": "boolean",
  "allowClientWebPortal": "boolean",
  "allowClientWindows": "boolean",
  "allowClientWyse": "boolean",
  "siteId": "integer (int32)"
}
204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Delete

DELETE /api/PubRDSDesktops/{id}

Delete a published RDS desktop

id: integer (int32)
in path

ID of the published RDS desktop to be deleted

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

PubFolders

Add Client filter

POST /api/PubFolders/{id}/ClientFilters

Add a client device name to the filter of type 'Client Device Name' for the specified published resource.

Published item client filter configuration

id: integer (int32)
in path

ID of the published resource to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "client": "string",
  "siteId": "integer (int32)"
}
201 Created

Success

type
string[]
401 Unauthorized

Unauthorized

404 Not Found

Not Found

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
[
  "string"
]

Delete Client filter

DELETE /api/PubFolders/{id}/ClientFilters/{client}

Delete a client device name to the filter of type 'Client Device Name' for the specified published resource.

id: integer (int32)
in path

ID of the published resource to be updated

client: string
in path

Name of the Client filter to be deleted

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Add GW filter

POST /api/PubFolders/{id}/GWFilters

Add a RAS Secure Client Gateway to the filter of type 'Gateway' for the specified published resource.

Published item GW filter configuration

id: integer (int32)
in path

ID of the published resource to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "ip": "string",
  "siteId": "integer (int32)"
}
201 Created

Success

type
string[]
401 Unauthorized

Unauthorized

404 Not Found

Not Found

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
[
  "string"
]

Delete GW filter

DELETE /api/PubFolders/{id}/GWFilters/{ip}

Delete a RAS Secure Client Gateway from the filter of type 'Gateway' for the specified published resource.

id: integer (int32)
in path

ID of the published resource to be updated

ip: string
in path

IP of the Gateway filter to be deleted

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Add IP filter

POST /api/PubFolders/{id}/IPFilters

Add an IP address to the filter of type 'IP Address' for the specified published resource.

Published item IP filter configuration

id: integer (int32)
in path

ID of the published resource to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "ip": "string",
  "siteId": "integer (int32)"
}
201 Created

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
{
  "allowedIP4s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "allowedIP6s": [
    {
      "from": "string",
      "to": "string"
    }
  ]
}

Delete IP filter

DELETE /api/PubFolders/{id}/IPFilters/{ip}

Delete an IP address from the filter of type 'IP Address' for the specified published resource.

id: integer (int32)
in path

ID of the published resource to be updated

ip: string
in path

IP to be deleted from the IP filter

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Add MAC filter

POST /api/PubFolders/{id}/MACFilters

Add a MAC address to the filter of type 'MAC Address' for the specified published resource.

Published item MAC filter configuration

id: integer (int32)
in path

ID of the published resource to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "mac": "string",
  "siteId": "integer (int32)"
}
201 Created

Success

type
string[]
401 Unauthorized

Unauthorized

404 Not Found

Not Found

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
[
  "string"
]

Delete MAC filter

DELETE /api/PubFolders/{id}/MACFilters/{mac}

Delete a MAC address from the filter of type 'MAC Address' for the specified published resource.

id: integer (int32)
in path

ID of the published resource to be updated

mac: string
in path

MAC address to be deleted from the filter

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Add User filter

POST /api/PubFolders/{id}/UserFilters

Add a User account to the filter of type 'User' for the specified published resource.

Published item user filter configuration

id: integer (int32)
in path

ID of the published resource to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "account": "string",
  "sid": "string",
  "siteId": "integer (int32)"
}
201 Created

Success

type
401 Unauthorized

Unauthorized

404 Not Found

Not Found

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
[
  {
    "account": "string",
    "type": "string",
    "sid": "string"
  }
]

Delete User filter

DELETE /api/PubFolders/{id}/UserFilters/{account}

Delete a User account from the filter of type 'User' for the specified published resource.

id: integer (int32)
in path

ID of the published resource to be updated

account: string
in path

Account of User to be deleted from the filter

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

List

GET /api/PubFolders

Retrieve a list of all the published folders

SiteId: integer (int32)
in query

Site ID for which to retrieve all the published RDS folders (optional)

Name: string
in query

Filter the result by name (optional)

200 OK

Success

type
401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
[
  {
    "adminOnly": "boolean",
    "name": "string",
    "type": "string",
    "parentId": "integer (int32)",
    "previousId": "integer (int32)",
    "description": "string",
    "enabled": "boolean",
    "publishToSite": [
      "integer (int32)"
    ],
    "userFilterEnabled": "boolean",
    "userFilterReplicate": "boolean",
    "allowedUsers": [
      {
        "account": "string",
        "type": "string",
        "sid": "string"
      }
    ],
    "clientFilterEnabled": "boolean",
    "clientFilterReplicate": "boolean",
    "allowedClients": [
      "string"
    ],
    "ipFilterEnabled": "boolean",
    "ipFilterReplicate": "boolean",
    "allowedIP4s": [
      {
        "from": "string",
        "to": "string"
      }
    ],
    "allowedIP6s": [
      {
        "from": "string",
        "to": "string"
      }
    ],
    "macFilterEnabled": "boolean",
    "macFilterReplicate": "boolean",
    "allowedMACs": [
      "string"
    ],
    "gwFilterEnabled": "boolean",
    "allowedGWs": [
      "string"
    ],
    "osFilterEnabled": "boolean",
    "osFilterReplicate": "boolean",
    "allowedOSes": {
      "chrome": "boolean",
      "android": "boolean",
      "htmL5": "boolean",
      "iOS": "boolean",
      "linux": "boolean",
      "mac": "boolean",
      "webPortal": "boolean",
      "windows": "boolean",
      "wyse": "boolean"
    },
    "id": "integer (int32)"
  }
]

Create

POST /api/PubFolders

Add a published folder to a site.

Published folder configuration

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "adminOnly": "boolean",
  "name": "string",
  "parentId": "integer (int32)",
  "previousId": "integer (int32)",
  "enabled": "boolean",
  "description": "string",
  "publishToSiteIds": [
    "integer (int32)"
  ],
  "siteId": "integer (int32)",
  "ipFilterEnabled": "boolean",
  "ipFilterReplicate": "boolean",
  "clientFilterEnabled": "boolean",
  "clientFilterReplicate": "boolean",
  "macFilterEnabled": "boolean",
  "macFilterReplicate": "boolean",
  "userFilterEnabled": "boolean",
  "userFilterReplicate": "boolean",
  "gwFilterEnabled": "boolean"
}
201 Created

Success

401 Unauthorized

Unauthorized

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
{
  "adminOnly": "boolean",
  "name": "string",
  "type": "string",
  "parentId": "integer (int32)",
  "previousId": "integer (int32)",
  "description": "string",
  "enabled": "boolean",
  "publishToSite": [
    "integer (int32)"
  ],
  "userFilterEnabled": "boolean",
  "userFilterReplicate": "boolean",
  "allowedUsers": [
    {
      "account": "string",
      "type": "string",
      "sid": "string"
    }
  ],
  "clientFilterEnabled": "boolean",
  "clientFilterReplicate": "boolean",
  "allowedClients": [
    "string"
  ],
  "ipFilterEnabled": "boolean",
  "ipFilterReplicate": "boolean",
  "allowedIP4s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "allowedIP6s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "macFilterEnabled": "boolean",
  "macFilterReplicate": "boolean",
  "allowedMACs": [
    "string"
  ],
  "gwFilterEnabled": "boolean",
  "allowedGWs": [
    "string"
  ],
  "osFilterEnabled": "boolean",
  "osFilterReplicate": "boolean",
  "allowedOSes": {
    "chrome": "boolean",
    "android": "boolean",
    "htmL5": "boolean",
    "iOS": "boolean",
    "linux": "boolean",
    "mac": "boolean",
    "webPortal": "boolean",
    "windows": "boolean",
    "wyse": "boolean"
  },
  "id": "integer (int32)"
}

Get

GET /api/PubFolders/{id}

Retrieve information about a specified published folder.

id: integer (int32)
in path

ID of the published folder to be retrieved

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "adminOnly": "boolean",
  "name": "string",
  "type": "string",
  "parentId": "integer (int32)",
  "previousId": "integer (int32)",
  "description": "string",
  "enabled": "boolean",
  "publishToSite": [
    "integer (int32)"
  ],
  "userFilterEnabled": "boolean",
  "userFilterReplicate": "boolean",
  "allowedUsers": [
    {
      "account": "string",
      "type": "string",
      "sid": "string"
    }
  ],
  "clientFilterEnabled": "boolean",
  "clientFilterReplicate": "boolean",
  "allowedClients": [
    "string"
  ],
  "ipFilterEnabled": "boolean",
  "ipFilterReplicate": "boolean",
  "allowedIP4s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "allowedIP6s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "macFilterEnabled": "boolean",
  "macFilterReplicate": "boolean",
  "allowedMACs": [
    "string"
  ],
  "gwFilterEnabled": "boolean",
  "allowedGWs": [
    "string"
  ],
  "osFilterEnabled": "boolean",
  "osFilterReplicate": "boolean",
  "allowedOSes": {
    "chrome": "boolean",
    "android": "boolean",
    "htmL5": "boolean",
    "iOS": "boolean",
    "linux": "boolean",
    "mac": "boolean",
    "webPortal": "boolean",
    "windows": "boolean",
    "wyse": "boolean"
  },
  "id": "integer (int32)"
}

Update

PUT /api/PubFolders/{id}

Modify properties of a published folder.

Published folder configuration

id: integer (int32)
in path

ID of the published folder to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "adminOnly": "boolean",
  "newName": "string",
  "enabled": "boolean",
  "description": "string",
  "publishToSiteIds": [
    "integer (int32)"
  ],
  "ipFilterEnabled": "boolean",
  "ipFilterReplicate": "boolean",
  "clientFilterEnabled": "boolean",
  "clientFilterReplicate": "boolean",
  "macFilterEnabled": "boolean",
  "macFilterReplicate": "boolean",
  "userFilterEnabled": "boolean",
  "userFilterReplicate": "boolean",
  "gwFilterEnabled": "boolean",
  "osFilterEnabled": "boolean",
  "osFilterReplicate": "boolean",
  "allowClientChrome": "boolean",
  "allowClientAndroid": "boolean",
  "allowClientHTML5": "boolean",
  "allowClientIOS": "boolean",
  "allowClientLinux": "boolean",
  "allowClientMAC": "boolean",
  "allowClientWebPortal": "boolean",
  "allowClientWindows": "boolean",
  "allowClientWyse": "boolean",
  "siteId": "integer (int32)"
}
204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Delete

DELETE /api/PubFolders/{id}

Delete a published folder

id: integer (int32)
in path

ID of the published folder to be deleted

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

GW

GW

List by Site ID

GET /api/GW

Retrieve a list of all the RAS Secure Client Gateway Servers.

SiteId: integer (int32)
in query

Site ID of which the Gateway Servers will be retrieved (optional)

Server: string
in query

Filter the result by server name (optional)

200 OK
GW

Success

type
GW
401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
[
  {
    "gwMode": "string",
    "preferredPAId": "integer (int32)",
    "normalModeForwarding": "boolean",
    "forwardHttpServers": "string",
    "forwardGatewayServers": "string",
    "ipVersion": "string",
    "iPs": "string",
    "bindV4Addresses": "string",
    "bindV6Addresses": "string",
    "optimizeConnectionIPv4": "string",
    "optimizeConnectionIPv6": "string",
    "enableGWPort": "boolean",
    "broadcast": "boolean",
    "enableClientManagerPort": "boolean",
    "dosPro": "boolean",
    "enableRDP": "boolean",
    "enableRDPUDP": "boolean",
    "gwPort": "integer (int32)",
    "rdpPort": "integer (int32)",
    "enableSSL": "boolean",
    "minSSLVersion": "string",
    "cipherStrength": "string",
    "sslPort": "integer (int32)",
    "cipher": "string",
    "privateKeyFile": "string",
    "certificateFile": "string",
    "enableHTML5": "boolean",
    "htmL5Port": "integer (int32)",
    "launchMethod": "string",
    "allowEmbed": "boolean",
    "allowlaunchMethod": "boolean",
    "allowAppsInNewTab": "boolean",
    "allowFileTransfer": "boolean",
    "allowClipboard": "boolean",
    "usePreWin2000LoginFormat": "boolean",
    "enableHSTS": "boolean",
    "hstsIncludeSubdomains": "boolean",
    "hstsPreload": "boolean",
    "hstsMaxAge": "integer (int32)",
    "enableWyseSupport": "boolean",
    "securityMode": "string",
    "macAllowExceptLst": [
      "string"
    ],
    "macAllowOnlyLst": [
      "string"
    ],
    "webRequestsURL": "string",
    "fwGWID": "integer (int32)",
    "server": "string",
    "enabled": "boolean",
    "description": "string",
    "siteId": "integer (int32)",
    "id": "integer (int32)"
  }
]
GW

Create

POST /api/GW

Create a new RAS Secure Client Gateway Server.

The Gateway server to be created

noInstall: boolean
in query

If this parameter is included, the Gateway software will NOT be installed on the target server. The parameter should only be included if the server already has the software installed. If you need to install the software, omit this parameter. When installing the Gateway software, your RAS admin credentials will be used to push install the software. These are the credentials you used to connect to the RAS farm. If needed, you can specify different credentials using the Username and Password parameters.

username: string
in query

An administrator account to push install the Gateway software on the target server. If this parameter is omitted, your RAS admin username (and password) will be used

password: string
in query

The password of the account specified in the Username parameter.

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "server": "string",
  "siteId": "integer (int32)"
}
201 Created
GW

Success

401 Unauthorized

Unauthorized

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
{
  "gwMode": "string",
  "preferredPAId": "integer (int32)",
  "normalModeForwarding": "boolean",
  "forwardHttpServers": "string",
  "forwardGatewayServers": "string",
  "ipVersion": "string",
  "iPs": "string",
  "bindV4Addresses": "string",
  "bindV6Addresses": "string",
  "optimizeConnectionIPv4": "string",
  "optimizeConnectionIPv6": "string",
  "enableGWPort": "boolean",
  "broadcast": "boolean",
  "enableClientManagerPort": "boolean",
  "dosPro": "boolean",
  "enableRDP": "boolean",
  "enableRDPUDP": "boolean",
  "gwPort": "integer (int32)",
  "rdpPort": "integer (int32)",
  "enableSSL": "boolean",
  "minSSLVersion": "string",
  "cipherStrength": "string",
  "sslPort": "integer (int32)",
  "cipher": "string",
  "privateKeyFile": "string",
  "certificateFile": "string",
  "enableHTML5": "boolean",
  "htmL5Port": "integer (int32)",
  "launchMethod": "string",
  "allowEmbed": "boolean",
  "allowlaunchMethod": "boolean",
  "allowAppsInNewTab": "boolean",
  "allowFileTransfer": "boolean",
  "allowClipboard": "boolean",
  "usePreWin2000LoginFormat": "boolean",
  "enableHSTS": "boolean",
  "hstsIncludeSubdomains": "boolean",
  "hstsPreload": "boolean",
  "hstsMaxAge": "integer (int32)",
  "enableWyseSupport": "boolean",
  "securityMode": "string",
  "macAllowExceptLst": [
    "string"
  ],
  "macAllowOnlyLst": [
    "string"
  ],
  "webRequestsURL": "string",
  "fwGWID": "integer (int32)",
  "server": "string",
  "enabled": "boolean",
  "description": "string",
  "siteId": "integer (int32)",
  "id": "integer (int32)"
}
GW

Get

GET /api/GW/{id}

Retrieve a specified RAS Secure Client Gateway Server.

id: integer (int32)
in path

ID of the Gateway server to be retrieved

200 OK
GW

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "gwMode": "string",
  "preferredPAId": "integer (int32)",
  "normalModeForwarding": "boolean",
  "forwardHttpServers": "string",
  "forwardGatewayServers": "string",
  "ipVersion": "string",
  "iPs": "string",
  "bindV4Addresses": "string",
  "bindV6Addresses": "string",
  "optimizeConnectionIPv4": "string",
  "optimizeConnectionIPv6": "string",
  "enableGWPort": "boolean",
  "broadcast": "boolean",
  "enableClientManagerPort": "boolean",
  "dosPro": "boolean",
  "enableRDP": "boolean",
  "enableRDPUDP": "boolean",
  "gwPort": "integer (int32)",
  "rdpPort": "integer (int32)",
  "enableSSL": "boolean",
  "minSSLVersion": "string",
  "cipherStrength": "string",
  "sslPort": "integer (int32)",
  "cipher": "string",
  "privateKeyFile": "string",
  "certificateFile": "string",
  "enableHTML5": "boolean",
  "htmL5Port": "integer (int32)",
  "launchMethod": "string",
  "allowEmbed": "boolean",
  "allowlaunchMethod": "boolean",
  "allowAppsInNewTab": "boolean",
  "allowFileTransfer": "boolean",
  "allowClipboard": "boolean",
  "usePreWin2000LoginFormat": "boolean",
  "enableHSTS": "boolean",
  "hstsIncludeSubdomains": "boolean",
  "hstsPreload": "boolean",
  "hstsMaxAge": "integer (int32)",
  "enableWyseSupport": "boolean",
  "securityMode": "string",
  "macAllowExceptLst": [
    "string"
  ],
  "macAllowOnlyLst": [
    "string"
  ],
  "webRequestsURL": "string",
  "fwGWID": "integer (int32)",
  "server": "string",
  "enabled": "boolean",
  "description": "string",
  "siteId": "integer (int32)",
  "id": "integer (int32)"
}
GW

Update

PUT /api/GW/{id}

Modify the properties of a RAS Secure Client Gateway Server.

The Gateway server to be updated

id: integer (int32)
in path

ID of the Gateway server to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "enabled": "boolean",
  "newServer": "string",
  "description": "string",
  "ipVersion": "string",
  "iPs": "string",
  "forwardHttpServers": "string",
  "forwardGatewayServers": "string",
  "bindV4Addresses": "string",
  "bindV6Addresses": "string",
  "enableGWPort": "boolean",
  "broadcast": "boolean",
  "enableClientManagerPort": "boolean",
  "dosPro": "boolean",
  "enableRDP": "boolean",
  "enableRDPUDP": "boolean",
  "gwPort": "integer (int32)",
  "rdpPort": "integer (int32)",
  "enableSSL": "boolean",
  "sslPort": "integer (int32)",
  "minSSLVersion": "string",
  "cipherStrength": "string",
  "cipher": "string",
  "enableHTML5": "boolean",
  "htmL5Port": "integer (int32)",
  "allowEmbed": "boolean",
  "allowLaunchMethod": "boolean",
  "allowAppsInNewTab": "boolean",
  "allowFileTransfer": "boolean",
  "allowClipboard": "boolean",
  "usePreWin2000LoginFormat": "boolean",
  "launchMethod": "string",
  "enableWyseSupport": "boolean",
  "webRequestsURL": "string",
  "autoPreferredPA": "boolean",
  "preferredPAId": "integer (int32)",
  "optimizeConnectionIPv4": "string",
  "optimizeConnectionIPv6": "string",
  "gwMode": "string",
  "normalModeForwarding": "boolean",
  "securityMode": "string",
  "macAllowExcept": [
    "string"
  ],
  "macAllowOnly": [
    "string"
  ],
  "enableHSTS": "boolean",
  "hstsMaxAge": "integer (int32)",
  "hstsPreload": "boolean",
  "hstsIncludeSubdomains": "boolean"
}
204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

GW

Delete

DELETE /api/GW/{id}

Delete a RAS Secure Client Gateway Server.

noUninstall: boolean
in query

When this parameter is included, the Gateway software will NOT be removed from the server. If you want to remove the software, omit this parameter. When removing the software, your RAS admin credentials will be used to remotely execute the uninstaller on the target server. You can specify different credentials if needed using the Username and Password parameters.

username: string
in query

An administrator account name to remotely uninstall the Gateway software from the server. If this parameter is omitted, your RAS admin username (and password) will be used.

password: string
in query

The password of the account specified in the Username parameter.

id: integer (int32)
in path

ID of the Gateway server to be deleted

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

GW

Upload a Certificate file

POST /api/GW/{id}/Certificate

This can be used to upload a Certificate file for a specified GW server. If the pfx password is used (optional), the file has to be in a pfx format and will be used as a Private Key file, as well.

id: integer (int32)
in path

ID of the Gateway server to be updated.

certificateFile: file
in formData

Certificate file to be uploaded.

privateKeyFile: file
in formData

Privatekey file to be uploaded.

204 No Content

Success

401 Unauthorized

Unauthorized

GW

Upload a Private Key file

POST /api/GW/{id}/PrivateKey

This can be used to upload a Private Key file for a specified GW server. If the pfx password is used (optional), the file has to be in a pfx format and will be used as a Certificate file, as well.

pfxPassword: string
in query

Password of the pfx File to be uploaded.

id: integer (int32)
in path

ID of the Gateway server to be updated.

pfxFile: file
in formData

Private Key File to be uploaded.

204 No Content

Success

401 Unauthorized

Unauthorized

GW

List Status

GET /api/GW/status

Retrieve a list of the summary and state information for all RAS Secure Client Gateways.

SiteId: integer (int32)
in query

Site ID for which the summary and state information of all Gateway Servers will be retrieved (optional)

Server: string
in query

Filter the result by server name (optional)

200 OK

Success

type
401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
[
  {
    "gwMode": "string",
    "cipherStrength": "string",
    "cipherStr": "string",
    "availableIPs": "string",
    "preferredPA": "string",
    "clientConns": "integer (int32)",
    "maxClientConns": "integer (int32)",
    "clientSSLConns": "integer (int32)",
    "maxClientSSLConns": "integer (int32)",
    "httpRedirs": "integer (int32)",
    "httpsRedirs": "integer (int32)",
    "maxHTTPRedirs": "integer (int32)",
    "maxHTTPSRedirs": "integer (int32)",
    "wyseConns": "integer (int32)",
    "maxWyseConns": "integer (int32)",
    "wyseSSLConns": "integer (int32)",
    "maxWyseSSLConns": "integer (int32)",
    "htmL5Conns": "integer (int32)",
    "htmL5SSLConns": "integer (int32)",
    "maxHTML5Conns": "integer (int32)",
    "maxHTML5SSLConns": "integer (int32)",
    "clientMgrTCPConns": "integer (int32)",
    "clientMgrTCPSSLConns": "integer (int32)",
    "maxClientMgrTCPConns": "integer (int32)",
    "maxClientMgrTCPSSLConns": "integer (int32)",
    "activeRDPSessions": "integer (int32)",
    "activeRDPSSLSessions": "integer (int32)",
    "maxRDPSessions": "integer (int32)",
    "maxRDPSSLSessions": "integer (int32)",
    "rdpudpTunnels": "integer (int32)",
    "rdpudpdtlsTunnels": "integer (int32)",
    "maxRDPUDPTunnels": "integer (int32)",
    "maxRDPUDPDTLSTunnels": "integer (int32)",
    "totalConnections": "integer (int32)",
    "cachedSockets": "integer (int32)",
    "activeThreads": "integer (int32)",
    "idleThreads": "integer (int32)",
    "securityMode": "string",
    "gatewayTCPSock": "string",
    "rdptcpSock": "string",
    "sslVersion": "string",
    "gatewaySSLTCPSock": "string",
    "clientManagerUDPSock": "string",
    "htmL5TCPSock": "string",
    "broadcastUDPSock": "string",
    "rdpTunnelUDPSock": "string",
    "rdpTunnelSSLUDPSock": "string",
    "serverMessage": "string",
    "fipsMode": "string",
    "cpuLoad": "integer (int32)",
    "memLoad": "integer (int32)",
    "diskRead": "integer (int32)",
    "diskWrite": "integer (int32)",
    "enabled": "boolean",
    "id": "string",
    "server": "string",
    "siteId": "integer (int32)",
    "agentVer": "string",
    "serverOS": "string",
    "serviceStartTime": "string",
    "systemBootTime": "string",
    "unhandledExceptions": "integer (int32)",
    "agentState": "string",
    "serverType": "string",
    "logLevel": "string"
  }
]
GW

Get Status

GET /api/GW/{id}/status

Retrieve summary and state information about a specified RAS Secure Client Gateway Server.

id: integer (int32)
in path

ID of the Gateway server of which summary and state information will be retrieved

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "gwMode": "string",
  "cipherStrength": "string",
  "cipherStr": "string",
  "availableIPs": "string",
  "preferredPA": "string",
  "clientConns": "integer (int32)",
  "maxClientConns": "integer (int32)",
  "clientSSLConns": "integer (int32)",
  "maxClientSSLConns": "integer (int32)",
  "httpRedirs": "integer (int32)",
  "httpsRedirs": "integer (int32)",
  "maxHTTPRedirs": "integer (int32)",
  "maxHTTPSRedirs": "integer (int32)",
  "wyseConns": "integer (int32)",
  "maxWyseConns": "integer (int32)",
  "wyseSSLConns": "integer (int32)",
  "maxWyseSSLConns": "integer (int32)",
  "htmL5Conns": "integer (int32)",
  "htmL5SSLConns": "integer (int32)",
  "maxHTML5Conns": "integer (int32)",
  "maxHTML5SSLConns": "integer (int32)",
  "clientMgrTCPConns": "integer (int32)",
  "clientMgrTCPSSLConns": "integer (int32)",
  "maxClientMgrTCPConns": "integer (int32)",
  "maxClientMgrTCPSSLConns": "integer (int32)",
  "activeRDPSessions": "integer (int32)",
  "activeRDPSSLSessions": "integer (int32)",
  "maxRDPSessions": "integer (int32)",
  "maxRDPSSLSessions": "integer (int32)",
  "rdpudpTunnels": "integer (int32)",
  "rdpudpdtlsTunnels": "integer (int32)",
  "maxRDPUDPTunnels": "integer (int32)",
  "maxRDPUDPDTLSTunnels": "integer (int32)",
  "totalConnections": "integer (int32)",
  "cachedSockets": "integer (int32)",
  "activeThreads": "integer (int32)",
  "idleThreads": "integer (int32)",
  "securityMode": "string",
  "gatewayTCPSock": "string",
  "rdptcpSock": "string",
  "sslVersion": "string",
  "gatewaySSLTCPSock": "string",
  "clientManagerUDPSock": "string",
  "htmL5TCPSock": "string",
  "broadcastUDPSock": "string",
  "rdpTunnelUDPSock": "string",
  "rdpTunnelSSLUDPSock": "string",
  "serverMessage": "string",
  "fipsMode": "string",
  "cpuLoad": "integer (int32)",
  "memLoad": "integer (int32)",
  "diskRead": "integer (int32)",
  "diskWrite": "integer (int32)",
  "enabled": "boolean",
  "id": "string",
  "server": "string",
  "siteId": "integer (int32)",
  "agentVer": "string",
  "serverOS": "string",
  "serviceStartTime": "string",
  "systemBootTime": "string",
  "unhandledExceptions": "integer (int32)",
  "agentState": "string",
  "serverType": "string",
  "logLevel": "string"
}

License

Activate

POST /api/License/activate

Activates Parallels RAS using a valid license key. Also allows to activate Parallels RAS as a trial version. Trial version will be activated if the key is empty.

License settings.

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "email": "string",
  "password": "string",
  "key": "string"
}
204 No Content

Success

401 Unauthorized

Unauthorized

Deactivate

POST /api/License/deactivate

Deactivates the current license key used by Parallels RAS.

License settings

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "email": "string",
  "password": "string"
}
204 No Content

Success

401 Unauthorized

Unauthorized

Retrieve

GET /api/License

Retrieve the current license setting.

200 OK

Success

PA

PA

List

GET /api/PA

Retrieve information about a list of RAS Publishing Agent servers.

SiteId: integer (int32)
in query

Site ID for which to retrieve the RAS Publishing Agent server information (optional)

Server: string
in query

Filter the result by server name (optional)

200 OK
PA

Success

type
PA
401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
[
  {
    "priority": "integer (int32)",
    "ip": "string",
    "alternativeIPs": "string",
    "standby": "boolean",
    "markedForDeletion": "boolean",
    "server": "string",
    "enabled": "boolean",
    "description": "string",
    "siteId": "integer (int32)",
    "id": "integer (int32)"
  }
]
PA

Create

POST /api/PA

Add a new RAS Publishing Agent server to a site. The agent software will be installed on the server by default. You can optionally skip the agent installation by including the noInstall parameter.

RAS Publishing Agent server

noInstall: boolean
in query

Specifies NOT to install the agent software on the server. If you omit this parameter, the agent will be push installed on the server using your RAS admin credentials To specify different credentials, include the Username and Password parameters.

username: string
in query

An administrator account for push installing the agent on the server. If this parameter is omitted, your RAS admin username and password will be used.

password: string
in query

The password of the account specified in the Username parameter.

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "server": "string",
  "siteId": "integer (int32)"
}
201 Created
PA

Success

401 Unauthorized

Unauthorized

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
{
  "priority": "integer (int32)",
  "ip": "string",
  "alternativeIPs": "string",
  "standby": "boolean",
  "markedForDeletion": "boolean",
  "server": "string",
  "enabled": "boolean",
  "description": "string",
  "siteId": "integer (int32)",
  "id": "integer (int32)"
}
PA

Get

GET /api/PA/{id}

Retrieve a specific Publishing Agent by id.

id: integer (int32)
in path

RAS Publishing Agent server Id

200 OK
PA

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "priority": "integer (int32)",
  "ip": "string",
  "alternativeIPs": "string",
  "standby": "boolean",
  "markedForDeletion": "boolean",
  "server": "string",
  "enabled": "boolean",
  "description": "string",
  "siteId": "integer (int32)",
  "id": "integer (int32)"
}
PA

Update

PUT /api/PA/{id}

Upodate settings of a RAS Publishing Agent server. For each setting, the request has a corresponding parameter. To modify a setting, specify a matching parameter and its value.

RAS Publishing Agent server

id: integer (int32)
in path

RAS Publishing Agent server id

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "enabled": "boolean",
  "description": "string",
  "ip": "string",
  "alternativeIPs": "string",
  "standby": "boolean"
}
204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

PA

Delete

DELETE /api/PA/{id}

Delete a RAS Publishing Agent server from a site. The RAS Publishing Agent server will be uninstalled from the server by default. You can optionally keep it by including the noUninstall parameter.

noUninstall: boolean
in query

Include this parameter if you wish to keep the RAS Publishing Agent software on the server. To uninstall the agent software, omit this parameter. When uninstalling the agent, your RAS admin credentials will be used by default. You can specify different credentials by including the Username and Password parameters.

username: string
in query

A username that will be used to remotely uninstall the RAS Publishing Agent software from the target server. If this parameter is omitted, your RAS admin username and password will be used by default.

password: string
in query

The password of the account specified in the Username parameter.

id: integer (int32)
in path

RAS Publishing Agent server Id

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

PA

List Status

GET /api/PA/status

Retrieve a list of RAS Publishing Agent servers with status information.

SiteId: integer (int32)
in query

Site ID for which to retrieve the RAS Publishing Agent server information (optional)

Server: string
in query

Filter the result by server name (optional)

200 OK

Success

type
401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
[
  {
    "cpuLoad": "integer (int32)",
    "memLoad": "integer (int32)",
    "diskRead": "integer (int32)",
    "diskWrite": "integer (int32)",
    "enabled": "boolean",
    "id": "string",
    "server": "string",
    "siteId": "integer (int32)",
    "agentVer": "string",
    "serverOS": "string",
    "serviceStartTime": "string",
    "systemBootTime": "string",
    "unhandledExceptions": "integer (int32)",
    "agentState": "string",
    "serverType": "string",
    "logLevel": "string"
  }
]
PA

Get Status

GET /api/PA/{id}/status

Retrieve status information for a specified RAS Publishing Agent server.

id: integer (int32)
in path

RAS Publishing Agent server id

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "cpuLoad": "integer (int32)",
  "memLoad": "integer (int32)",
  "diskRead": "integer (int32)",
  "diskWrite": "integer (int32)",
  "enabled": "boolean",
  "id": "string",
  "server": "string",
  "siteId": "integer (int32)",
  "agentVer": "string",
  "serverOS": "string",
  "serviceStartTime": "string",
  "systemBootTime": "string",
  "unhandledExceptions": "integer (int32)",
  "agentState": "string",
  "serverType": "string",
  "logLevel": "string"
}
PA

Update Priority

PUT /api/PA/{id}/priority

Increase or decrease the priority for a specified RAS Publishing Agent server.

RAS Publishing Agent server

id: integer (int32)
in path

RAS Publishing Agent server id

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "direction": "string"
}
204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

PA

Promote

POST /api/PA/{id}/promote

Promote a RAS Publishing Agent server to master.The license key used must be registered in Parallels My Account. To activate Parallels RAS as a trial, omit the key parameter.

RAS Publishing Agent server

id: integer (int32)
in path

RAS Publishing Agent server id

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "email": "string",
  "password": "string",
  "key": "string",
  "paUsername": "string",
  "paPassword": "string"
}
204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

PubDefaultSettings

Get

GET /api/PubDefaultSettings

Retrieve default settings used to configure published resources for a specific Site

siteId: integer (int32)
in query

Site ID from which to retrieve the defaults

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "siteId": "integer (int32)",
  "startPath": "string",
  "createShortcutOnDesktop": "boolean",
  "createShortcutInStartFolder": "boolean",
  "createShortcutInStartUpFolder": "boolean",
  "replicateShortcutSettings": "boolean",
  "replicateDisplaySettings": "boolean",
  "waitForPrinters": "boolean",
  "startMaximized": "boolean",
  "waitForPrintersTimeout": "integer (int32)",
  "colorDepth": "string",
  "disableSessionSharing": "boolean",
  "oneInstancePerUser": "boolean",
  "conCurrentLicenses": "integer (int32)",
  "licenseLimitNotify": "string",
  "replicateLicenseSettings": "boolean"
}

Update

PUT /api/PubDefaultSettings

Modify default settings used to configure published resources for a specific Site

Publishing defualts configuration

siteId: integer (int32)
in query

Site ID from which to update the defaults

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "createShortcutOnDesktop": "boolean",
  "replicateShortcutSettings": "boolean",
  "createShortcutInStartFolder": "boolean",
  "createShortcutInStartUpFolder": "boolean",
  "startPath": "string",
  "replicateDisplaySettings": "boolean",
  "startMaximized": "boolean",
  "waitForPrinters": "boolean",
  "waitForPrintersTimeout": "integer (int32)",
  "replicateLicenseSettings": "boolean",
  "disableSessionSharing": "boolean",
  "oneInstancePerUser": "boolean",
  "conCurrentLicenses": "integer (int32)",
  "licenseLimitNotify": "string",
  "colorDepth": "string"
}
204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

PubItemOSFilter

Update Client OS filter

PUT /api/PubItemOSFilter/{id}/OS

Add an OS filter for the specified published resource.

Published item user filter configuration

id: integer (int32)
in path

ID of the published resource to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "osFilterEnabled": "boolean",
  "osFilterReplicate": "boolean",
  "allowClientChrome": "boolean",
  "allowClientAndroid": "boolean",
  "allowClientHTML5": "boolean",
  "allowClientIOS": "boolean",
  "allowClientLinux": "boolean",
  "allowClientMAC": "boolean",
  "allowClientWebPortal": "boolean",
  "allowClientWindows": "boolean",
  "allowClientWyse": "boolean",
  "siteId": "integer (int32)"
}
201 Created

Success

type
401 Unauthorized

Unauthorized

404 Not Found

Not Found

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
[
  {
    "account": "string",
    "type": "string",
    "sid": "string"
  }
]

PubItems

List

GET /api/PubItems

Retrieve a list of all the published resources

SiteId: integer (int32)
in query

Site ID for which to retrieve published resources (optional)

Name: string
in query

Filter the result by name (optional)

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "name": "string",
  "type": "string",
  "parentId": "integer (int32)",
  "previousId": "integer (int32)",
  "description": "string",
  "enabled": "boolean",
  "publishToSite": [
    "integer (int32)"
  ],
  "userFilterEnabled": "boolean",
  "userFilterReplicate": "boolean",
  "allowedUsers": [
    {
      "account": "string",
      "type": "string",
      "sid": "string"
    }
  ],
  "clientFilterEnabled": "boolean",
  "clientFilterReplicate": "boolean",
  "allowedClients": [
    "string"
  ],
  "ipFilterEnabled": "boolean",
  "ipFilterReplicate": "boolean",
  "allowedIP4s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "allowedIP6s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "macFilterEnabled": "boolean",
  "macFilterReplicate": "boolean",
  "allowedMACs": [
    "string"
  ],
  "gwFilterEnabled": "boolean",
  "allowedGWs": [
    "string"
  ],
  "osFilterEnabled": "boolean",
  "osFilterReplicate": "boolean",
  "allowedOSes": {
    "chrome": "boolean",
    "android": "boolean",
    "htmL5": "boolean",
    "iOS": "boolean",
    "linux": "boolean",
    "mac": "boolean",
    "webPortal": "boolean",
    "windows": "boolean",
    "wyse": "boolean"
  },
  "id": "integer (int32)"
}

Get

GET /api/PubItems/{id}

Retrieve a specified published resource

id: integer (int32)
in path

ID of the published resource to be retrieved

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "name": "string",
  "type": "string",
  "parentId": "integer (int32)",
  "previousId": "integer (int32)",
  "description": "string",
  "enabled": "boolean",
  "publishToSite": [
    "integer (int32)"
  ],
  "userFilterEnabled": "boolean",
  "userFilterReplicate": "boolean",
  "allowedUsers": [
    {
      "account": "string",
      "type": "string",
      "sid": "string"
    }
  ],
  "clientFilterEnabled": "boolean",
  "clientFilterReplicate": "boolean",
  "allowedClients": [
    "string"
  ],
  "ipFilterEnabled": "boolean",
  "ipFilterReplicate": "boolean",
  "allowedIP4s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "allowedIP6s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "macFilterEnabled": "boolean",
  "macFilterReplicate": "boolean",
  "allowedMACs": [
    "string"
  ],
  "gwFilterEnabled": "boolean",
  "allowedGWs": [
    "string"
  ],
  "osFilterEnabled": "boolean",
  "osFilterReplicate": "boolean",
  "allowedOSes": {
    "chrome": "boolean",
    "android": "boolean",
    "htmL5": "boolean",
    "iOS": "boolean",
    "linux": "boolean",
    "mac": "boolean",
    "webPortal": "boolean",
    "windows": "boolean",
    "wyse": "boolean"
  },
  "id": "integer (int32)"
}

Delete

DELETE /api/PubItems/{id}

Delete a published resource

id: integer (int32)
in path

ID of the published resource to be deleted

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Download Icon

GET /api/PubItems/{id}/Icon

Save the published resource icon to a specified directory. The command returns the full path (with filename) of the saved published resource icon.

id: integer (int32)
in path

ID of the published resource of which the icon will be retrieved

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Update resource icon

POST /api/PubItems/{id}/Icon

Publish a resource icon file name. Can be an executable (.exe), a .dll or a .ico file.

IconIndex: integer (int32)
in query

Index of the icon to be loaded from the binary specified in the Icon property(optional)

id: integer (int32)
in path

ID of the published resource for which the icon will be updated

iconfile: file
in formData

File that will be used as the new icon

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

RDS

RDS

List

GET /api/RDS

Retrieve a list of RDS settings. The result set contains only the major properties of a group; it does not include the complete list of settings supported in RAS.

SiteId: integer (int32)
in query

Site ID for which to retrieve RDS settings (optional)

Server: string
in query

Filter the result by server name (optional)

200 OK
RDS

Success

type
RDS
401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
[
  {
    "directAddress": "string",
    "rasTemplateId": "integer (int32)",
    "inheritDefaultAgentSettings": "boolean",
    "inheritDefaultPrinterSettings": "boolean",
    "inheritDefaultUPDSettings": "boolean",
    "inheritDefaultDesktopAccessSettings": "boolean",
    "port": "integer (int32)",
    "maxSessions": "integer (int32)",
    "sessionTimeout": "integer (int32)",
    "sessionLogoffTimeout": "integer (int32)",
    "allowURLAndMailRedirection": "string",
    "allowRemoteExec": "boolean",
    "enableAppMonitoring": "boolean",
    "useRemoteApps": "boolean",
    "allowFileTransfer": "boolean",
    "allowDragAndDrop": "boolean",
    "preferredPAId": "integer (int32)",
    "enablePrinting": "boolean",
    "enableTWAIN": "boolean",
    "enableWIA": "boolean",
    "printerNameFormat": "string",
    "removeClientNameFromPrinterName": "boolean",
    "removeSessionNumberFromPrinterName": "boolean",
    "updMode": "string",
    "maxUserProfileDiskSizeGB": "integer (int32)",
    "diskPath": "string",
    "roamingMode": "string",
    "includeFolderPath": [
      "string"
    ],
    "includeFilePath": [
      "string"
    ],
    "excludeFolderPath": [
      "string"
    ],
    "excludeFilePath": [
      "string"
    ],
    "restrictDesktopAccess": "boolean",
    "restrictedUsers": [
      "string"
    ],
    "server": "string",
    "enabled": "boolean",
    "description": "string",
    "siteId": "integer (int32)",
    "id": "integer (int32)"
  }
]
RDS

Create

POST /api/RDS

Create a new RDS host server to a site. The RD Session Host agent will be installed on the server by default. You can optionally skip the agent installation by including the noInstall parameter.

RDS settings

noInstall: boolean
in query

Specifies NOT to install the RD Session Host agent on the server. If this parameter is omitted, the agent will be push installed on the server using your RAS admin credentials. To specify different credentials for push installation, specify the Username and Password parameters.

username: string
in query

An administrator account for push installing the RD Session Host agent on the server. If this parameter is omitted, your RAS admin username (and password) will be used.

password: string
in query

The password of the account specified in the Username parameter.

noRestart: boolean
in query

Specifies NOT to restart the server after the RD Session Host agent is installed. If this parameter is omitted, the server will be restarted if required.

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "server": "string",
  "siteId": "integer (int32)"
}
201 Created
RDS

Success

401 Unauthorized

Unauthorized

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
{
  "directAddress": "string",
  "rasTemplateId": "integer (int32)",
  "inheritDefaultAgentSettings": "boolean",
  "inheritDefaultPrinterSettings": "boolean",
  "inheritDefaultUPDSettings": "boolean",
  "inheritDefaultDesktopAccessSettings": "boolean",
  "port": "integer (int32)",
  "maxSessions": "integer (int32)",
  "sessionTimeout": "integer (int32)",
  "sessionLogoffTimeout": "integer (int32)",
  "allowURLAndMailRedirection": "string",
  "allowRemoteExec": "boolean",
  "enableAppMonitoring": "boolean",
  "useRemoteApps": "boolean",
  "allowFileTransfer": "boolean",
  "allowDragAndDrop": "boolean",
  "preferredPAId": "integer (int32)",
  "enablePrinting": "boolean",
  "enableTWAIN": "boolean",
  "enableWIA": "boolean",
  "printerNameFormat": "string",
  "removeClientNameFromPrinterName": "boolean",
  "removeSessionNumberFromPrinterName": "boolean",
  "updMode": "string",
  "maxUserProfileDiskSizeGB": "integer (int32)",
  "diskPath": "string",
  "roamingMode": "string",
  "includeFolderPath": [
    "string"
  ],
  "includeFilePath": [
    "string"
  ],
  "excludeFolderPath": [
    "string"
  ],
  "excludeFilePath": [
    "string"
  ],
  "restrictDesktopAccess": "boolean",
  "restrictedUsers": [
    "string"
  ],
  "server": "string",
  "enabled": "boolean",
  "description": "string",
  "siteId": "integer (int32)",
  "id": "integer (int32)"
}
RDS

Get

GET /api/RDS/{id}

Retrieve a specific RDS by id. The result set contains only the major properties of a group; it does not include the complete list of settings supported in RAS.

id: integer (int32)
in path

RDS Id

200 OK
RDS

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "directAddress": "string",
  "rasTemplateId": "integer (int32)",
  "inheritDefaultAgentSettings": "boolean",
  "inheritDefaultPrinterSettings": "boolean",
  "inheritDefaultUPDSettings": "boolean",
  "inheritDefaultDesktopAccessSettings": "boolean",
  "port": "integer (int32)",
  "maxSessions": "integer (int32)",
  "sessionTimeout": "integer (int32)",
  "sessionLogoffTimeout": "integer (int32)",
  "allowURLAndMailRedirection": "string",
  "allowRemoteExec": "boolean",
  "enableAppMonitoring": "boolean",
  "useRemoteApps": "boolean",
  "allowFileTransfer": "boolean",
  "allowDragAndDrop": "boolean",
  "preferredPAId": "integer (int32)",
  "enablePrinting": "boolean",
  "enableTWAIN": "boolean",
  "enableWIA": "boolean",
  "printerNameFormat": "string",
  "removeClientNameFromPrinterName": "boolean",
  "removeSessionNumberFromPrinterName": "boolean",
  "updMode": "string",
  "maxUserProfileDiskSizeGB": "integer (int32)",
  "diskPath": "string",
  "roamingMode": "string",
  "includeFolderPath": [
    "string"
  ],
  "includeFilePath": [
    "string"
  ],
  "excludeFolderPath": [
    "string"
  ],
  "excludeFilePath": [
    "string"
  ],
  "restrictDesktopAccess": "boolean",
  "restrictedUsers": [
    "string"
  ],
  "server": "string",
  "enabled": "boolean",
  "description": "string",
  "siteId": "integer (int32)",
  "id": "integer (int32)"
}
RDS

Update

PUT /api/RDS/{id}

Update RD Session Host server settings. For each setting, the request has a corresponding parameter. To modify a setting, specify a matching parameter and its value.

RDS settings

id: integer (int32)
in path

RDS id

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "enabled": "boolean",
  "newServer": "string",
  "description": "string",
  "directAddress": "string",
  "inheritDefaultAgentSettings": "boolean",
  "inheritDefaultPrinterSettings": "boolean",
  "inheritDefaultUPDSettings": "boolean",
  "inheritDefaultDesktopAccessSettings": "boolean",
  "port": "integer (int32)",
  "maxSessions": "integer (int32)",
  "sessionTimeout": "integer (int32)",
  "sessionLogoffTimeout": "integer (int32)",
  "allowURLAndMailRedirection": "string",
  "allowRemoteExec": "boolean",
  "enableAppMonitoring": "boolean",
  "useRemoteApps": "boolean",
  "allowFileTransfer": "boolean",
  "allowDragAndDrop": "boolean",
  "enablePrinting": "boolean",
  "enableTWAIN": "boolean",
  "enableWIA": "boolean",
  "printerNameFormat": "string",
  "removeClientNameFromPrinterName": "boolean",
  "removeSessionNumberFromPrinterName": "boolean",
  "autoPreferredPA": "boolean",
  "preferredPAId": "integer (int32)",
  "updMode": "string",
  "updRoamingMode": "string",
  "upDiskPath": "string",
  "maxUserProfileDiskSizeGB": "integer (int32)",
  "includeFolderPath": [
    "string"
  ],
  "includeFilePath": [
    "string"
  ],
  "excludeFolderPath": [
    "string"
  ],
  "excludeFilePath": [
    "string"
  ],
  "restrictDesktopAccess": "boolean",
  "restrictedUsers": [
    "string"
  ]
}
204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

RDS

Delete

DELETE /api/RDS/{id}

Delete a RDS host server from a site. The RD Session Host agent will be uninstalled from the server by default. You can optionally keep it by including the noUninstall parameter.

noUninstall: boolean
in query

If this parameter is included, the RD Session Host agent will NOT be uninstalled from the server. To uninstall the agent, omit this parameter. When uninstalling the agent, your RAS admin credentials will be used by default. You can specify different credentials if needed using the Username and Password parameters.

username: string
in query

An administrator account to remotely uninstall the RD Session Host agent from the server. If this parameter is omitted, your RAS admin username (and password) will be used by default.

password: string
in query

The password of the account specified in the Username parameter.

id: integer (int32)
in path

RDS Id

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

RDS

List Status

GET /api/RDS/status

Retrieve a list of RDS host servers with status information.

SiteId: integer (int32)
in query

Site ID for which RDS host servers with status information will be retrieved (optional)

Server: string
in query

Filter the result by server name (optional)

200 OK

Success

type
401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
[
  {
    "preferredPA": "string",
    "activeSessions": "integer (int32)",
    "disconnectedSessions": "integer (int32)",
    "activeConnections": "integer (int32)",
    "ip": "string",
    "loginStatus": "string",
    "updStatus": "string",
    "cpuLoad": "integer (int32)",
    "memLoad": "integer (int32)",
    "diskRead": "integer (int32)",
    "diskWrite": "integer (int32)",
    "enabled": "boolean",
    "id": "string",
    "server": "string",
    "siteId": "integer (int32)",
    "agentVer": "string",
    "serverOS": "string",
    "serviceStartTime": "string",
    "systemBootTime": "string",
    "unhandledExceptions": "integer (int32)",
    "agentState": "string",
    "serverType": "string",
    "logLevel": "string"
  }
]
RDS

Get Status

GET /api/RDS/{id}/status

Retrieve the RD Session Host status information for the server.

id: integer (int32)
in path

RDS id

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "preferredPA": "string",
  "activeSessions": "integer (int32)",
  "disconnectedSessions": "integer (int32)",
  "activeConnections": "integer (int32)",
  "ip": "string",
  "loginStatus": "string",
  "updStatus": "string",
  "cpuLoad": "integer (int32)",
  "memLoad": "integer (int32)",
  "diskRead": "integer (int32)",
  "diskWrite": "integer (int32)",
  "enabled": "boolean",
  "id": "string",
  "server": "string",
  "siteId": "integer (int32)",
  "agentVer": "string",
  "serverOS": "string",
  "serviceStartTime": "string",
  "systemBootTime": "string",
  "unhandledExceptions": "integer (int32)",
  "agentState": "string",
  "serverType": "string",
  "logLevel": "string"
}
RDS

List processes by Site ID

GET /api/RDS/sessions/processes

Retrieve the list of all processes for all the RDS sessions.

SiteId: integer (int32)
in query

Site ID for which processes for all the RDS sessions will be retrieved (optional)

Server: string
in query

Filter the result by server name (optional)

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
[
  {
    "appName": "string",
    "process": "string",
    "pid": "integer (int32)",
    "user": "string",
    "session": "integer (int32)",
    "serverID": "integer (int32)"
  }
]
RDS

List processes by Server ID

GET /api/RDS/{id}/sessions/processes

Retrieve the list of all processes for all the sessions of a specified RDS.

id: integer (int32)
in path

Server ID for which processes for all the RDS sessions will be retrieved

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
[
  {
    "appName": "string",
    "process": "string",
    "pid": "integer (int32)",
    "user": "string",
    "session": "integer (int32)",
    "serverID": "integer (int32)"
  }
]
RDS

List processes by Server ID and Session ID

GET /api/RDS/{id}/sessions/{sessionId}/processes

Retrieve the list of all processes for a specified session of a specified RDS.

id: integer (int32)
in path

Server ID for which processes of a specified RDS session will be retrieved

sessionId: integer (int32)
in path

Session ID for which all processes will be retrieved

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
[
  {
    "appName": "string",
    "process": "string",
    "pid": "integer (int32)",
    "user": "string",
    "session": "integer (int32)",
    "serverID": "integer (int32)"
  }
]
RDS

Get process

GET /api/RDS/{id}/sessions/{sessionId}/processes/{pid}

Retrieve a specified process for a specified session of a specified RDS.

id: integer (int32)
in path

Server ID for which a process of a specified RDS session will be retrieved

sessionId: integer (int32)
in path

Session ID for which a specified process will be retrieved

pid: integer (int32)
in path

ID of the process to be retrieved

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "appName": "string",
  "process": "string",
  "pid": "integer (int32)",
  "user": "string",
  "session": "integer (int32)",
  "serverID": "integer (int32)"
}
RDS

List Status by Site ID

GET /api/RDS/sessions

Retrieve the list of all sessions.

SiteId: integer (int32)
in query

Site ID of which the sessions will be retrieved (optional)

Server: string
in query

Filter the result by server name (optional)

200 OK

Success

type
401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
[
  {
    "sessionID": "integer (int32)",
    "type": "string",
    "state": "string",
    "protocol": "string",
    "user": "string",
    "ip": "string",
    "serverID": "integer (int32)",
    "themeID": "integer (int32)",
    "logonTime": "string (date-time)",
    "deviceName": "string",
    "idleStartTime": "string (date-time)",
    "verticalResolution": "integer (int32)",
    "horizontalResolution": "integer (int32)",
    "colourDepth": "string"
  }
]
RDS

List Sessions Status by Server ID

GET /api/RDS/{id}/sessions

Retrieve a list of sessions for a specified RDS.

id: integer (int32)
in path

RDS Id

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "sessionID": "integer (int32)",
  "type": "string",
  "state": "string",
  "protocol": "string",
  "user": "string",
  "ip": "string",
  "serverID": "integer (int32)",
  "themeID": "integer (int32)",
  "logonTime": "string (date-time)",
  "deviceName": "string",
  "idleStartTime": "string (date-time)",
  "verticalResolution": "integer (int32)",
  "horizontalResolution": "integer (int32)",
  "colourDepth": "string"
}
RDS

Get Sessions Status

GET /api/RDS/{id}/sessions/{sessionId}

Retrieve a specific session.

id: integer (int32)
in path

(no description)

sessionId: integer (int32)
in path

(no description)

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "sessionID": "integer (int32)",
  "type": "string",
  "state": "string",
  "protocol": "string",
  "user": "string",
  "ip": "string",
  "serverID": "integer (int32)",
  "themeID": "integer (int32)",
  "logonTime": "string (date-time)",
  "deviceName": "string",
  "idleStartTime": "string (date-time)",
  "verticalResolution": "integer (int32)",
  "horizontalResolution": "integer (int32)",
  "colourDepth": "string"
}

RDSDefaultSettings

Get

GET /api/RDSDefaultSettings

Retrieve the RDS Default settings.

SiteId: integer (int32)
in query

Site ID for which to retrieve RDS Default settings (optional)

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "siteId": "integer (int32)",
  "port": "integer (int32)",
  "maxSessions": "integer (int32)",
  "sessionTimeout": "integer (int32)",
  "sessionLogoffTimeout": "integer (int32)",
  "allowURLAndMailRedirection": "string",
  "preferredPAId": "integer (int32)",
  "allowRemoteExec": "boolean",
  "enableAppMonitoring": "boolean",
  "useRemoteApps": "boolean",
  "allowFileTransfer": "boolean",
  "allowDragAndDrop": "boolean",
  "enablePrinting": "boolean",
  "enableTWAIN": "boolean",
  "enableWIA": "boolean",
  "printerNameFormat": "string",
  "removeClientNameFromPrinterName": "boolean",
  "removeSessionNumberFromPrinterName": "boolean",
  "updMode": "string",
  "maxUserProfileDiskSizeGB": "integer (int32)",
  "diskPath": "string",
  "roamingMode": "string",
  "includeFolderPath": [
    "string"
  ],
  "includeFilePath": [
    "string"
  ],
  "excludeFolderPath": [
    "string"
  ],
  "excludeFilePath": [
    "string"
  ],
  "restrictDesktopAccess": "boolean",
  "restrictedUsers": [
    "string"
  ]
}

Update

PUT /api/RDSDefaultSettings

Update the RD Session Host server default settings. For each setting, the request has a corresponding parameter. To modify a setting, specify a matching parameter and its value.

RDS settings

SiteId: integer (int32)
in query

Site ID for which to update the RDS Default settings (optional)

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "port": "integer (int32)",
  "maxSessions": "integer (int32)",
  "sessionTimeout": "integer (int32)",
  "sessionLogoffTimeout": "integer (int32)",
  "allowURLAndMailRedirection": "string",
  "autoPreferredPA": "boolean",
  "preferredPAId": "integer (int32)",
  "allowRemoteExec": "boolean",
  "enableAppMonitoring": "boolean",
  "useRemoteApps": "boolean",
  "allowFileTransfer": "boolean",
  "allowDragAndDrop": "boolean",
  "enablePrinting": "boolean",
  "enableTWAIN": "boolean",
  "enableWIA": "boolean",
  "printerNameFormat": "string",
  "removeClientNameFromPrinterName": "boolean",
  "removeSessionNumberFromPrinterName": "boolean",
  "updMode": "string",
  "updRoamingMode": "string",
  "upDiskPath": "string",
  "maxUserProfileDiskSizeGB": "integer (int32)",
  "includeFolderPath": [
    "string"
  ],
  "includeFilePath": [
    "string"
  ],
  "excludeFolderPath": [
    "string"
  ],
  "excludeFilePath": [
    "string"
  ],
  "restrictDesktopAccess": "boolean",
  "restrictedUsers": [
    "string"
  ]
}
204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

RDSGroups

List by Site ID

GET /api/RDSGroups

Retrieve a list of the RD Session Host server groups

SiteId: integer (int32)
in query

Site ID for which to retrieve the RD Session Host server groups (optional)

Name: string
in query

Filter the result by name (optional)

200 OK

Success

type
401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
[
  {
    "rdsDefSettings": {
      "port": "integer (int32)",
      "maxSessions": "integer (int32)",
      "sessionTimeout": "integer (int32)",
      "sessionLogoffTimeout": "integer (int32)",
      "allowURLAndMailRedirection": "string",
      "preferredPAId": "integer (int32)",
      "allowRemoteExec": "boolean",
      "enableAppMonitoring": "boolean",
      "useRemoteApps": "boolean",
      "allowFileTransfer": "boolean",
      "allowDragAndDrop": "boolean",
      "enablePrinting": "boolean",
      "enableTWAIN": "boolean",
      "enableWIA": "boolean",
      "printerNameFormat": "string",
      "removeClientNameFromPrinterName": "boolean",
      "removeSessionNumberFromPrinterName": "boolean",
      "updMode": "string",
      "maxUserProfileDiskSizeGB": "integer (int32)",
      "diskPath": "string",
      "roamingMode": "string",
      "includeFolderPath": [
        "string"
      ],
      "includeFilePath": [
        "string"
      ],
      "excludeFolderPath": [
        "string"
      ],
      "excludeFilePath": [
        "string"
      ],
      "restrictDesktopAccess": "boolean",
      "restrictedUsers": [
        "string"
      ]
    },
    "name": "string",
    "siteId": "integer (int32)",
    "enabled": "boolean",
    "description": "string",
    "useRASTemplate": "boolean",
    "rasTemplateId": "integer (int32)",
    "workLoadThreshold": "integer (int32)",
    "serversToAddPerRequest": "integer (int32)",
    "maxServersFromTemplate": "integer (int32)",
    "workLoadToDrain": "integer (int32)",
    "inheritDefaultAgentSettings": "boolean",
    "inheritDefaultPrinterSettings": "boolean",
    "inheritDefaultUPDSettings": "boolean",
    "inheritDefaultDesktopAccessSettings": "boolean",
    "rdsIds": [
      "integer (int32)"
    ],
    "id": "integer (int32)"
  }
]

Create

POST /api/RDSGroups

Create a new RD Session Host server group

undefined

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "name": "string",
  "siteId": "integer (int32)",
  "description": "string",
  "useRASTemplate": "boolean",
  "rasTemplateId": "integer (int32)",
  "workLoadThreshold": "integer (int32)",
  "serversToAddPerRequest": "integer (int32)",
  "maxServersFromTemplate": "integer (int32)",
  "workLoadToDrain": "integer (int32)",
  "rdsIds": [
    "integer (int32)"
  ],
  "inheritDefaultAgentSettings": "boolean",
  "inheritDefaultPrinterSettings": "boolean",
  "inheritDefaultUPDSettings": "boolean",
  "inheritDefaultDesktopAccessSettings": "boolean",
  "port": "integer (int32)",
  "maxSessions": "integer (int32)",
  "sessionTimeout": "integer (int32)",
  "sessionLogoffTimeout": "integer (int32)",
  "allowURLAndMailRedirection": "string",
  "preferredPAId": "integer (int32)",
  "allowRemoteExec": "boolean",
  "enableAppMonitoring": "boolean",
  "useRemoteApps": "boolean",
  "allowFileTransfer": "boolean",
  "allowDragAndDrop": "boolean",
  "enablePrinting": "boolean",
  "enableTWAIN": "boolean",
  "enableWIA": "boolean",
  "printerNameFormat": "string",
  "removeClientNameFromPrinterName": "boolean",
  "removeSessionNumberFromPrinterName": "boolean",
  "updMode": "string",
  "updRoamingMode": "string",
  "upDiskPath": "string",
  "maxUserProfileDiskSizeGB": "integer (int32)",
  "includeFolderPath": [
    "string"
  ],
  "includeFilePath": [
    "string"
  ],
  "excludeFolderPath": [
    "string"
  ],
  "excludeFilePath": [
    "string"
  ],
  "restrictDesktopAccess": "boolean",
  "restrictedUsers": [
    "string"
  ]
}
201 Created

Success

401 Unauthorized

Unauthorized

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
{
  "rdsDefSettings": {
    "port": "integer (int32)",
    "maxSessions": "integer (int32)",
    "sessionTimeout": "integer (int32)",
    "sessionLogoffTimeout": "integer (int32)",
    "allowURLAndMailRedirection": "string",
    "preferredPAId": "integer (int32)",
    "allowRemoteExec": "boolean",
    "enableAppMonitoring": "boolean",
    "useRemoteApps": "boolean",
    "allowFileTransfer": "boolean",
    "allowDragAndDrop": "boolean",
    "enablePrinting": "boolean",
    "enableTWAIN": "boolean",
    "enableWIA": "boolean",
    "printerNameFormat": "string",
    "removeClientNameFromPrinterName": "boolean",
    "removeSessionNumberFromPrinterName": "boolean",
    "updMode": "string",
    "maxUserProfileDiskSizeGB": "integer (int32)",
    "diskPath": "string",
    "roamingMode": "string",
    "includeFolderPath": [
      "string"
    ],
    "includeFilePath": [
      "string"
    ],
    "excludeFolderPath": [
      "string"
    ],
    "excludeFilePath": [
      "string"
    ],
    "restrictDesktopAccess": "boolean",
    "restrictedUsers": [
      "string"
    ]
  },
  "name": "string",
  "siteId": "integer (int32)",
  "enabled": "boolean",
  "description": "string",
  "useRASTemplate": "boolean",
  "rasTemplateId": "integer (int32)",
  "workLoadThreshold": "integer (int32)",
  "serversToAddPerRequest": "integer (int32)",
  "maxServersFromTemplate": "integer (int32)",
  "workLoadToDrain": "integer (int32)",
  "inheritDefaultAgentSettings": "boolean",
  "inheritDefaultPrinterSettings": "boolean",
  "inheritDefaultUPDSettings": "boolean",
  "inheritDefaultDesktopAccessSettings": "boolean",
  "rdsIds": [
    "integer (int32)"
  ],
  "id": "integer (int32)"
}

Get

GET /api/RDSGroups/{id}

Retrieves information about a RD Session Host server group.

id: integer (int32)
in path

ID of the RD Session Host server group to be retrieved

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "rdsDefSettings": {
    "port": "integer (int32)",
    "maxSessions": "integer (int32)",
    "sessionTimeout": "integer (int32)",
    "sessionLogoffTimeout": "integer (int32)",
    "allowURLAndMailRedirection": "string",
    "preferredPAId": "integer (int32)",
    "allowRemoteExec": "boolean",
    "enableAppMonitoring": "boolean",
    "useRemoteApps": "boolean",
    "allowFileTransfer": "boolean",
    "allowDragAndDrop": "boolean",
    "enablePrinting": "boolean",
    "enableTWAIN": "boolean",
    "enableWIA": "boolean",
    "printerNameFormat": "string",
    "removeClientNameFromPrinterName": "boolean",
    "removeSessionNumberFromPrinterName": "boolean",
    "updMode": "string",
    "maxUserProfileDiskSizeGB": "integer (int32)",
    "diskPath": "string",
    "roamingMode": "string",
    "includeFolderPath": [
      "string"
    ],
    "includeFilePath": [
      "string"
    ],
    "excludeFolderPath": [
      "string"
    ],
    "excludeFilePath": [
      "string"
    ],
    "restrictDesktopAccess": "boolean",
    "restrictedUsers": [
      "string"
    ]
  },
  "name": "string",
  "siteId": "integer (int32)",
  "enabled": "boolean",
  "description": "string",
  "useRASTemplate": "boolean",
  "rasTemplateId": "integer (int32)",
  "workLoadThreshold": "integer (int32)",
  "serversToAddPerRequest": "integer (int32)",
  "maxServersFromTemplate": "integer (int32)",
  "workLoadToDrain": "integer (int32)",
  "inheritDefaultAgentSettings": "boolean",
  "inheritDefaultPrinterSettings": "boolean",
  "inheritDefaultUPDSettings": "boolean",
  "inheritDefaultDesktopAccessSettings": "boolean",
  "rdsIds": [
    "integer (int32)"
  ],
  "id": "integer (int32)"
}

Update

PUT /api/RDSGroups/{id}

Modify the properties of a RD Session Host server group

The RD Session Host server group to be updated

id: integer (int32)
in path

ID of the RD Session Host server group to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "enabled": "boolean",
  "newName": "string",
  "description": "string",
  "useRASTemplate": "boolean",
  "rasTemplateId": "integer (int32)",
  "workLoadThreshold": "integer (int32)",
  "serversToAddPerRequest": "integer (int32)",
  "maxServersFromTemplate": "integer (int32)",
  "workLoadToDrain": "integer (int32)",
  "inheritDefaultAgentSettings": "boolean",
  "inheritDefaultPrinterSettings": "boolean",
  "inheritDefaultUPDSettings": "boolean",
  "inheritDefaultDesktopAccessSettings": "boolean",
  "port": "integer (int32)",
  "maxSessions": "integer (int32)",
  "sessionTimeout": "integer (int32)",
  "sessionLogoffTimeout": "integer (int32)",
  "allowURLAndMailRedirection": "string",
  "autoPreferredPA": "boolean",
  "preferredPAId": "integer (int32)",
  "allowRemoteExec": "boolean",
  "enableAppMonitoring": "boolean",
  "useRemoteApps": "boolean",
  "allowFileTransfer": "boolean",
  "allowDragAndDrop": "boolean",
  "enablePrinting": "boolean",
  "enableTWAIN": "boolean",
  "enableWIA": "boolean",
  "printerNameFormat": "string",
  "removeClientNameFromPrinterName": "boolean",
  "removeSessionNumberFromPrinterName": "boolean",
  "updMode": "string",
  "updRoamingMode": "string",
  "upDiskPath": "string",
  "maxUserProfileDiskSizeGB": "integer (int32)",
  "includeFolderPath": [
    "string"
  ],
  "includeFilePath": [
    "string"
  ],
  "excludeFolderPath": [
    "string"
  ],
  "excludeFilePath": [
    "string"
  ],
  "restrictDesktopAccess": "boolean",
  "restrictedUsers": [
    "string"
  ]
}
204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Delete

DELETE /api/RDSGroups/{id}

Delete a RD Session Host server group

id: integer (int32)
in path

ID of the RD Session Host server group to be deleted

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

List Members by Group ID

GET /api/RDSGroups/{groupId}/Members

Retrieve the list of RD Session Host servers which are members of the specified group.

groupId: integer (int32)
in path

ID of the RD Session Host server group of which members information will be retrieved

200 OK
RDS

Success

type
RDS
401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
[
  {
    "directAddress": "string",
    "rasTemplateId": "integer (int32)",
    "inheritDefaultAgentSettings": "boolean",
    "inheritDefaultPrinterSettings": "boolean",
    "inheritDefaultUPDSettings": "boolean",
    "inheritDefaultDesktopAccessSettings": "boolean",
    "port": "integer (int32)",
    "maxSessions": "integer (int32)",
    "sessionTimeout": "integer (int32)",
    "sessionLogoffTimeout": "integer (int32)",
    "allowURLAndMailRedirection": "string",
    "allowRemoteExec": "boolean",
    "enableAppMonitoring": "boolean",
    "useRemoteApps": "boolean",
    "allowFileTransfer": "boolean",
    "allowDragAndDrop": "boolean",
    "preferredPAId": "integer (int32)",
    "enablePrinting": "boolean",
    "enableTWAIN": "boolean",
    "enableWIA": "boolean",
    "printerNameFormat": "string",
    "removeClientNameFromPrinterName": "boolean",
    "removeSessionNumberFromPrinterName": "boolean",
    "updMode": "string",
    "maxUserProfileDiskSizeGB": "integer (int32)",
    "diskPath": "string",
    "roamingMode": "string",
    "includeFolderPath": [
      "string"
    ],
    "includeFilePath": [
      "string"
    ],
    "excludeFolderPath": [
      "string"
    ],
    "excludeFilePath": [
      "string"
    ],
    "restrictDesktopAccess": "boolean",
    "restrictedUsers": [
      "string"
    ],
    "server": "string",
    "enabled": "boolean",
    "description": "string",
    "siteId": "integer (int32)",
    "id": "integer (int32)"
  }
]

Add Member

POST /api/RDSGroups/{groupId}/Members

Add a member to a RD Session Host server group.

RDS group member configuration

groupId: integer (int32)
in path

ID of the member to be added to an RD Session Host server group

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "rdsIds": [
    "integer (int32)"
  ]
}
201 Created

Success

401 Unauthorized

Unauthorized

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
{
  "rdsDefSettings": {
    "port": "integer (int32)",
    "maxSessions": "integer (int32)",
    "sessionTimeout": "integer (int32)",
    "sessionLogoffTimeout": "integer (int32)",
    "allowURLAndMailRedirection": "string",
    "preferredPAId": "integer (int32)",
    "allowRemoteExec": "boolean",
    "enableAppMonitoring": "boolean",
    "useRemoteApps": "boolean",
    "allowFileTransfer": "boolean",
    "allowDragAndDrop": "boolean",
    "enablePrinting": "boolean",
    "enableTWAIN": "boolean",
    "enableWIA": "boolean",
    "printerNameFormat": "string",
    "removeClientNameFromPrinterName": "boolean",
    "removeSessionNumberFromPrinterName": "boolean",
    "updMode": "string",
    "maxUserProfileDiskSizeGB": "integer (int32)",
    "diskPath": "string",
    "roamingMode": "string",
    "includeFolderPath": [
      "string"
    ],
    "includeFilePath": [
      "string"
    ],
    "excludeFolderPath": [
      "string"
    ],
    "excludeFilePath": [
      "string"
    ],
    "restrictDesktopAccess": "boolean",
    "restrictedUsers": [
      "string"
    ]
  },
  "name": "string",
  "siteId": "integer (int32)",
  "enabled": "boolean",
  "description": "string",
  "useRASTemplate": "boolean",
  "rasTemplateId": "integer (int32)",
  "workLoadThreshold": "integer (int32)",
  "serversToAddPerRequest": "integer (int32)",
  "maxServersFromTemplate": "integer (int32)",
  "workLoadToDrain": "integer (int32)",
  "inheritDefaultAgentSettings": "boolean",
  "inheritDefaultPrinterSettings": "boolean",
  "inheritDefaultUPDSettings": "boolean",
  "inheritDefaultDesktopAccessSettings": "boolean",
  "rdsIds": [
    "integer (int32)"
  ],
  "id": "integer (int32)"
}

Delete Member

DELETE /api/RDSGroups/{groupId}/Members/{rdsid}

Delete a member from a RD Session Host server group.

groupId: integer (int32)
in path

ID of the member of an RD Session Host server group to be deleted

rdsid: integer (int32)
in path

ID of the RD Session Host server group of which the member will be deleted

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Session

Log on

POST /api/Session/logon

Authenticate the user. When sucessful, an authorizaton token will be generated.

Contains the information about the session.

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "username": "string",
  "password": "string"
}
200 OK

Success

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "authToken": "string"
}

Log off

POST /api/Session/logoff

Log off user. User must be authenticated first.

200 OK

Success

401 Unauthorized

Unauthorized

Settings

Apply

POST /api/Settings/apply

After any of the Parallels RAS farm settings modifications, settings must be applied to commit the changes. This is equivalent of clicking the Apply button on the main Parallels RAS Console window.

204 No Content

Success

401 Unauthorized

Unauthorized

Export

GET /api/Settings/export

Exports the complete Parallels RAS farm configuration to a file available for download. This functionality can be used to back up farm settings.

200 OK

Success

401 Unauthorized

Unauthorized

Import

POST /api/Settings/import

This can be used to import/restore farm configuration.

file: file
in formData

File with database configuration.

204 No Content

Success

401 Unauthorized

Unauthorized

Site

List

GET /api/Site

Retrieve the list of all the available Sites.

Name: string
in query

Filter the result by name (optional)

200 OK

Success

type
401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
[
  {
    "name": "string",
    "licensingSite": "boolean",
    "id": "integer (int32)"
  }
]

Create

POST /api/Site

Add a new site to the RAS farm.

The Site to be created

noInstall: boolean
in query

If this parameter is included, the Publishing Agent software will NOT be installed on the target server. You may use this option if the server already has the Publishing Agent installed.

username: string
in query

A username to log in to the target server and push install the Publishing Agent on it. You must also specify the Password parameter. If you've included the NoInstall parameter, you don't have to include the Username and Password parameters.

password: string
in query

The password for the user specified in the Username parameter.

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "server": "string",
  "name": "string"
}
201 Created

Success

401 Unauthorized

Unauthorized

409 Conflict

Conflict

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (201 Created)
{
  "name": "string",
  "licensingSite": "boolean",
  "id": "integer (int32)"
}

Get

GET /api/Site/{id}

Retrieve a Site.

id: integer (int32)
in path

ID of the Site to be retrieved

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "name": "string",
  "licensingSite": "boolean",
  "id": "integer (int32)"
}

Update

PUT /api/Site/{id}

Modify the Site properties.

The Site to be updated

id: integer (int32)
in path

ID of the Site to be updated

Request Content-Types: application/json-patch+json; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0, application/*+json; api-version=1.0
Request Example
{
  "newName": "string"
}
204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Delete

DELETE /api/Site/{id}

Delete a Site from the RAS farm.

id: integer (int32)
in path

ID of the Site to be deleted

204 No Content

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

List Status

GET /api/Site/status

Retrieve a list of the Sites summary and state information.

Name: string
in query

Filter the result by server name (optional)

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
[
  {
    "priority": "integer (int32)",
    "name": "string",
    "cpuLoad": "integer (int32)",
    "memLoad": "integer (int32)",
    "diskRead": "integer (int32)",
    "diskWrite": "integer (int32)",
    "enabled": "boolean",
    "id": "string",
    "server": "string",
    "siteId": "integer (int32)",
    "agentVer": "string",
    "serverOS": "string",
    "serviceStartTime": "string",
    "systemBootTime": "string",
    "unhandledExceptions": "integer (int32)",
    "agentState": "string",
    "serverType": "string",
    "logLevel": "string"
  }
]

Get Status

GET /api/Site/{id}/status

Retrieve summary and state information about a Site

id: integer (int32)
in path

ID of the Site of which summary and state information will be retrieved.

200 OK

Success

401 Unauthorized

Unauthorized

404 Not Found

Not Found

Response Content-Types: text/plain; api-version=1.0, application/json; api-version=1.0, text/json; api-version=1.0
Response Example (200 OK)
{
  "priority": "integer (int32)",
  "name": "string",
  "cpuLoad": "integer (int32)",
  "memLoad": "integer (int32)",
  "diskRead": "integer (int32)",
  "diskWrite": "integer (int32)",
  "enabled": "boolean",
  "id": "string",
  "server": "string",
  "siteId": "integer (int32)",
  "agentVer": "string",
  "serverOS": "string",
  "serviceStartTime": "string",
  "systemBootTime": "string",
  "unhandledExceptions": "integer (int32)",
  "agentState": "string",
  "serverType": "string",
  "logLevel": "string"
}

WebService

Version

GET /api/WebService/version

Retrieves the version of the Remote Application Server Web Service.

200 OK

Success

Schema Definitions

AddPubItemClientFilter: object

client: string (1 to 255 chars)

FQDN, computer name, or IP address of the client to add to the filter.

siteId: integer (int32)

Site ID.

Example
{
  "client": "string",
  "siteId": "integer (int32)"
}

PubItem: object

RAS Published Item

name: string

Name of published item.

type: string 0 = Any, 1 = Folder, 2 = RDSApp, 3 = RDSDesktop, 4 = VDIDesktop, 5 = PCDesktop, 6 = PCApp, 7 = VDIApp

Type of published item: 0=Any, 1=Folder, 2=RDSApp, 3=RDSDesktop, 4=VDIDesktop, 5=PCDesktop, 6=PCApp, 7=VDIApp.

parentId: integer (int32)

ID of the parent folder of the published item.

previousId: integer (int32)

ID of the previous published item.

description: string

Description.

enabled: boolean

Whether the published item is enabled or not.

publishToSite: integer[]

List of the IDs of all the sites this item is published to.

integer (int32)
userFilterEnabled: boolean

Whether User Filtering is enabled or not.

userFilterReplicate: boolean

Whether to replicate User Filtering or not.

allowedUsers: UserFilter

Lists the allowed users.

UserFilter
clientFilterEnabled: boolean

Whether Client Filtering is enabled or not.

clientFilterReplicate: boolean

Whether to replicate Client Filtering or not.

allowedClients: string[]

Lists the allowed clients.

string
ipFilterEnabled: boolean

Whether IP Filtering is enabled or not.

ipFilterReplicate: boolean

Whether to replicate IP Filtering or not.

allowedIP4s: IP4Range

Lists the allowed IPv4 addresses.

IP4Range
allowedIP6s: IP6Range

Lists the allowed IPV6 addresses.

IP6Range
macFilterEnabled: boolean

Whether MAC address Filtering is enabled or not.

macFilterReplicate: boolean

Whether to replicate MAC address Filtering or not.

allowedMACs: string[]

Lists the allowed MAC addresses.

string
gwFilterEnabled: boolean

Whether Gateway Filtering is enabled or not.

allowedGWs: string[]

Lists the allowed Gateways.

string
osFilterEnabled: boolean

Whether OS Filtering is enabled or not.

osFilterReplicate: boolean

Whether to replicate OS Filtering or not.

allowedOSes: AllowedOperatingSystems
id: integer (int32)

ID of the object.

Example
{
  "name": "string",
  "type": "string",
  "parentId": "integer (int32)",
  "previousId": "integer (int32)",
  "description": "string",
  "enabled": "boolean",
  "publishToSite": [
    "integer (int32)"
  ],
  "userFilterEnabled": "boolean",
  "userFilterReplicate": "boolean",
  "allowedUsers": [
    {
      "account": "string",
      "type": "string",
      "sid": "string"
    }
  ],
  "clientFilterEnabled": "boolean",
  "clientFilterReplicate": "boolean",
  "allowedClients": [
    "string"
  ],
  "ipFilterEnabled": "boolean",
  "ipFilterReplicate": "boolean",
  "allowedIP4s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "allowedIP6s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "macFilterEnabled": "boolean",
  "macFilterReplicate": "boolean",
  "allowedMACs": [
    "string"
  ],
  "gwFilterEnabled": "boolean",
  "allowedGWs": [
    "string"
  ],
  "osFilterEnabled": "boolean",
  "osFilterReplicate": "boolean",
  "allowedOSes": {
    "chrome": "boolean",
    "android": "boolean",
    "htmL5": "boolean",
    "iOS": "boolean",
    "linux": "boolean",
    "mac": "boolean",
    "webPortal": "boolean",
    "windows": "boolean",
    "wyse": "boolean"
  },
  "id": "integer (int32)"
}

UserFilter: object

account: string

The name of the user/group account the filter is added to.

type: string

The type of the account (user or group) the filter is added to.

sid: string

The SID of the user/group account the filter is added to.

Example
{
  "account": "string",
  "type": "string",
  "sid": "string"
}

IP4Range: object

from: string
to: string
Example
{
  "from": "string",
  "to": "string"
}

IP6Range: object

from: string
to: string
Example
{
  "from": "string",
  "to": "string"
}

AllowedOperatingSystems: object

chrome: boolean
android: boolean
htmL5: boolean
iOS: boolean
linux: boolean
mac: boolean
webPortal: boolean
windows: boolean
wyse: boolean
Example
{
  "chrome": "boolean",
  "android": "boolean",
  "htmL5": "boolean",
  "iOS": "boolean",
  "linux": "boolean",
  "mac": "boolean",
  "webPortal": "boolean",
  "windows": "boolean",
  "wyse": "boolean"
}

AddPubItemGWFilter: object

ip: string (1 to 255 chars)

The IP address of the RAS Secure Client Gateway to add to the filter.

siteId: integer (int32)

Site ID.

Example
{
  "ip": "string",
  "siteId": "integer (int32)"
}

AddPubItemIPFilter: object

ip: string (1 to 255 chars)

The IP address to add to the filter.

siteId: integer (int32)

Site ID.

Example
{
  "ip": "string",
  "siteId": "integer (int32)"
}

AllowedIPs: object

allowedIP4s: IP4Range
IP4Range
allowedIP6s: IP6Range
IP6Range
Example
{
  "allowedIP4s": [
    {
      "from": "string",
      "to": "string"
    }
  ],
  "allowedIP6s": [
    {
      "from": "string",
      "to": "string"
    }
  ]
}

AddPubItemMACFilter: object

mac: string (1 to 255 chars)

The MAC address to add to the filter.

siteId: integer (int32)

Site ID.

Example
{
  "mac": "string",
  "siteId": "integer (int32)"
}

AddPubItemUserFilter: object

account: string (1 to 255 chars)

The name of the user/group account to add to the filter.

sid: string (1 to 255 chars)

The SID of the user/group account to add to the filter.

siteId: integer (int32)

Site ID.

Example
{
  "account": "string",
  "sid": "string",
  "siteId": "integer (int32)"
}

SetPubItemExtension: object

extension: string

The file extension that will be added/modified.

siteId: integer (int32)

Site ID.

Example
{
  "extension": "string",
  "siteId": "integer (int32)"
}

PubFileExtSettings: object

Contains extension settings for published applications.

extension: string

Name of the extension.

parameters: string

Parameters of extension settings.

enabled: boolean

Whether enabled or not.

Example
{
  "extension": "string",
  "parameters": "string",
  "enabled": "boolean"
}

SetPubAppFileExt: object

enabled: boolean

Whether the file extension should be enabled or disabled for the specified published app.

parameters: string

File extension parameters for the specified published app.

extension: string

The file extension that will be added/modified.

siteId: integer (int32)

Site ID.

Example
{
  "enabled": "boolean",
  "parameters": "string",
  "extension": "string",
  "siteId": "integer (int32)"
}

GW: object

RAS Gateway

gwMode: string 0 = Normal, 1 = Forwarding

Gateway mode: Normal or Forwarding.

preferredPAId: integer (int32)

ID of the Preferred Publishing Agent.

normalModeForwarding: boolean

Whether forwarding requests to HTTP server are enabled or disabled.

forwardHttpServers: string

One or multiple (separated by comma) Forwarding HTTP Servers.

forwardGatewayServers: string

One or multiple (separated by comma) Forwarding Gateway Servers.

ipVersion: string 0 = Version4, 1 = Version6, 2 = BothVersions

The IP version for the Gateway to use.

iPs: string

One or multiple (separated by comma) IP addresses.

bindV4Addresses: string

IPv4 address to bind to.

bindV6Addresses: string

IPv6 address to bind to.

optimizeConnectionIPv4: string

Optimize connection for the list of IPv4 (comma separated values).