{"swagger":"2.0","info":{"description":"REST APIs for IT Service Management (ITSM), automation or scripting tools","version":"1.0","title":"Workspot Control REST API","termsOfService":"https://www.workspot.com/legal/desktop-service-daas-subscription-agreement/","contact":{"name":"support@workspot.com"}},"host":"api.workspot.com","basePath":"/","tags":[{"name":"APIs","description":"Workspot Control REST interface for administrators. See the descriptions below and Using the Workspot Control API for additional information"}],"paths":{"/v1.0/bundles":{"get":{"tags":["APIs"],"summary":"Returns a list of all application bundles","description":"Returns a list of all application bundles along with their associated apps and groups. This is a synchronous command.","operationId":"bundlesUsingGET","produces":["application/json"],"responses":{"200":{"description":"List of application bundles","schema":{"$ref":"#/definitions/BundlesDTO"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"post":{"tags":["APIs"],"summary":"Creates a new application bundle","description":"Creates a new application bundle with a name and a list of associated applications.","operationId":"createBundleUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"request","description":"Bundle information.","required":true,"schema":{"$ref":"#/definitions/CreateBundleRequestDTO"}}],"responses":{"200":{"description":"Success. Bundle created Successfully.","schema":{"$ref":"#/definitions/ApiCreateBundleResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/bundles/{bundleId}":{"get":{"tags":["APIs"],"summary":"Returns an application bundle details","description":"Returns an application bundle along with their associated apps and groups. This is a synchronous command.","operationId":"bundleInfoUsingGET","produces":["application/json"],"parameters":[{"name":"bundleId","in":"path","description":"The ID string of the bundle. This is obtained through the GET /v1.0/bundles command.","required":true,"type":"string","x-example":"f81eed06-c7a0-46b1-a3bf-50cc8880310b"}],"responses":{"200":{"description":"Application bundle details","schema":{"$ref":"#/definitions/BundleDetails"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"post":{"tags":["APIs"],"summary":"Updates an existing application bundle","description":"Updates an existing application bundle, specified by its bundleID, with a new properties and list of associated applications.","operationId":"updateBundleUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"bundleId","in":"path","description":"The ID string for the Bundle. This is obtained through the GET /v1.0/bundles command and others.","required":true,"type":"string"},{"in":"body","name":"request","description":"Bundle information.","required":true,"schema":{"$ref":"#/definitions/CreateBundleRequestDTO"}}],"responses":{"200":{"description":"Success. Bundle updated Successfully.","schema":{"$ref":"#/definitions/ApiCreateBundleResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"delete":{"tags":["APIs"],"summary":"Deletes an application bundle","description":"Deletes the specified application bundle.","operationId":"deleteBundleUsingDELETE","produces":["application/json"],"parameters":[{"name":"bundleId","in":"path","description":"The ID string for the bundle. This is obtained through the GET /v1.0/getBundles command.","required":true,"type":"string"}],"responses":{"204":{"description":"No content (success)"},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/cloudAppPools":{"get":{"tags":["APIs"],"summary":"Returns a list of all application server pools","description":"Returns a list of all application server pools, along with information about each pool, including its name, its pool id, and other information. The pool id is used by many commands to specify which pool to use. This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"cloudAppPoolsUsingGET","produces":["application/json"],"responses":{"200":{"description":"List of cloud app pools","schema":{"$ref":"#/definitions/CloudAppPool"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"post":{"tags":["APIs"],"summary":"Creates an application server pool","description":"Creates an application server pool.
Supported Clouds: GCP","operationId":"createCloudAppPoolUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"createCloudAppPool","description":"Cloud app pool information.","required":true,"schema":{"$ref":"#/definitions/CreateCloudAppPool"}}],"responses":{"200":{"description":"Creates an application server pool.","schema":{"$ref":"#/definitions/ApiCreateCloudAppPoolResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/cloudAppPools/applications":{"get":{"tags":["APIs"],"summary":"Returns a list of all application server applications","description":"Returns a list of all applications served by any application server pool (but not other kinds of RD application or Web application). This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"applicationsUsingGET","produces":["application/json"],"responses":{"200":{"description":"List of all application server applications","schema":{"$ref":"#/definitions/Applications"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"post":{"tags":["APIs"],"summary":"Creates an application","description":"Creates an application server application.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"createCloudAppUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"request","description":"Cloud app information.","required":true,"schema":{"$ref":"#/definitions/CreateCloudAppRequest"}}],"responses":{"200":{"description":"Application server application created successfully.","schema":{"$ref":"#/definitions/ApiCreateCloudAppResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/cloudAppPools/applications/{appId}":{"get":{"tags":["APIs"],"summary":"Returns application details","description":"Returns details about the specified application (application server applications only). This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"appDetailsUsingGET","produces":["application/json"],"parameters":[{"name":"appId","in":"path","description":"The ID string for the application. This is obtained through the GET /v1.0/applications command and others.","required":true,"type":"string","x-example":"f81eed06-c7a0-46b1-a3bf-50cc8880310b"}],"responses":{"200":{"description":"Application details","schema":{"$ref":"#/definitions/ApplicationDetails"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"post":{"tags":["APIs"],"summary":"Updates an application","description":"Updates an application server application.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"updateCloudAppUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"appId","in":"path","description":"The ID string of the application. This is obtained through the GET /v1.0//cloudAppPools/applications command.","required":true,"type":"string"},{"in":"body","name":"request","description":"Application server application information.","required":true,"schema":{"$ref":"#/definitions/UpdateCloudAppRequest"}}],"responses":{"200":{"description":"Application server application succesfully.","schema":{"$ref":"#/definitions/ApiCreateCloudAppResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"delete":{"tags":["APIs"],"summary":"Deletes an application","description":"Deletes the specified application.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"deletecloudAppUsingDELETE","produces":["application/json"],"parameters":[{"name":"appId","in":"path","description":"The ID string of the application. This is obtained through the GET /v1.0/cloudAppPools/applications command.","required":true,"type":"string"}],"responses":{"204":{"description":"No content (success)"},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/cloudAppPools/applications/{appId}/icon":{"post":{"tags":["APIs"],"summary":"Updates an application icon","description":"Updates the icon of the specified application. Attach the image as the 'icon' form field, e.g. curl -F \"icon=@C:\\path\\to\\myicon.png\".
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"uploadCloudAppIconUsingPOST","consumes":["multipart/form-data"],"produces":["application/json"],"parameters":[{"name":"appId","in":"path","description":"The ID string of the application. Obtained through GET /v1.0/cloudAppPools/applications.","required":true,"type":"string"},{"name":"icon","in":"formData","description":"The image file to upload as the app icon (max 100 KB).","required":true,"type":"file"}],"responses":{"200":{"description":"Application icon updated successfully.","schema":{"$ref":"#/definitions/ApiCreateCloudAppResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"413":{"description":"The icon exceeds the maximum allowed size (100 KB)"}},"deprecated":false}},"/v1.0/cloudAppPools/{cloudAppPoolId}":{"get":{"tags":["APIs"],"summary":"Returns the details about an application server pool","description":"Return the details about the specified application server pool. This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"cloudAppPoolInfoUsingGET","produces":["application/json"],"parameters":[{"name":"cloudAppPoolId","in":"path","description":"The ID string of the application server. This is obtained through the GET /v1.0/cloudAppPools command and others.","required":true,"type":"string","x-example":"f81eed06-c7a0-46b1-a3bf-50cc8880310b"}],"responses":{"200":{"description":"Details about the pool","schema":{"$ref":"#/definitions/CloudAppPoolDetails"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"delete":{"tags":["APIs"],"summary":"Deletes an application server pool","description":"Deletes the specified application server pool.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"deletecloudAppPoolUsingDELETE","produces":["application/json"],"parameters":[{"name":"cloudAppPoolId","in":"path","description":"The ID string of application server pool. This is obtained through the GET /v1.0/cloudAppPools command.","required":true,"type":"string"}],"responses":{"204":{"description":"No content (success)"},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/cloudAppPools/{cloudAppPoolId}/appServers":{"get":{"tags":["APIs"],"summary":"Returns a list of application servers in a pool","description":"Returns information about every application server in the specified applicaton server pool, including the server IDs used for commands that operate on a specified server. This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"cloudAppServersUsingGET","produces":["application/json"],"parameters":[{"name":"cloudAppPoolId","in":"path","description":"The ID string of the application server. This is obtained through the GET /v1.0/cloudAppPools command and others.","required":true,"type":"string"}],"responses":{"200":{"description":"List of app servers in cloud app pool","schema":{"$ref":"#/definitions/CloudAppServers"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/cloudAppPools/{cloudAppPoolId}/appServers/{appServerId}":{"get":{"tags":["APIs"],"summary":"Returns details for a single application server","description":"Returns the details for a single application server in a specified application server pool. This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"appServerDeatilsUsingGET","produces":["application/json"],"parameters":[{"name":"appServerId","in":"path","description":"The ID string for the cloud app server. This is obtained through the GET /v1.0/cloudAppPools/{cloudAppPoolId}/appServers command and others.","required":true,"type":"string"},{"name":"cloudAppPoolId","in":"path","description":"The ID string for the cloud app pool. This is obtained through the GET /v1.0/cloudAppPools command and others.","required":true,"type":"string"}],"responses":{"200":{"description":"Details of the specified application server","schema":{"$ref":"#/definitions/CloudAppServerDetails"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"delete":{"tags":["APIs"],"summary":"Deletes a Cloud app server","description":"Deletes the specified cloud app server
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"deletecloudAppServerUsingDELETE","produces":["application/json"],"parameters":[{"name":"appServerId","in":"path","description":"The ID string for the cloud app server. This is obtained through the GET /v1.0/cloudAppPools/{cloudAppPoolId}/appServers command and others.","required":true,"type":"string"},{"name":"cloudAppPoolId","in":"path","description":"The ID string for the cloud app pool. This is obtained through the GET /v1.0/cloudAppPools command and others.","required":true,"type":"string"}],"responses":{"204":{"description":"No content (success)"},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/cloudAppPools/{poolId}":{"post":{"tags":["APIs"],"summary":"Updates an application server pool","description":"Updates an application server pool.
Supported Clouds: GCP","operationId":"updateCloudAppPoolUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"poolId","in":"path","description":"The ID string of the application server. This is obtained through the GET /v1.0/pools command and others.","required":true,"type":"string"},{"in":"body","name":"updateCloudAppPool","description":"Application server details to updated.","required":true,"schema":{"$ref":"#/definitions/UpdateCloudAppPool"}}],"responses":{"200":{"description":"Updates the parameters of an application server pool.","schema":{"$ref":"#/definitions/ApiCreateCloudAppPoolResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds":{"get":{"tags":["APIs"],"summary":"Returns information about public clouds","description":"
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"publicCloudsUsingGET","produces":["application/json"],"responses":{"200":{"description":"Returns Cloud subscription details. This is a synchronous command.","schema":{"$ref":"#/definitions/CloudConfigSubscriptions"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds/rdgateways/images":{"get":{"tags":["APIs"],"summary":"Returns information Market place images required to create gateway cluster (managed gateways)","description":"Returns information about marketplace images. This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"getGatewayImagesUsingGET","produces":["application/json"],"parameters":[{"name":"subscriptionName","in":"query","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string","allowEmptyValue":false}],"responses":{"200":{"description":"Returns details about market place images). This is a synchronous command.","schema":{"$ref":"#/definitions/CloudImages"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds/rdgateways/vmClasses":{"get":{"tags":["APIs"],"summary":"Returns information about VM Classes required to create gateway cluster (managed gateways)","description":"Returns information of VM Classes. This is a synchronous command. See Gateway Clusters (Managed Gateways) for more information
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"getGatewayVmClassesUsingGET","produces":["application/json"],"parameters":[{"name":"subscriptionName","in":"query","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string","allowEmptyValue":false}],"responses":{"200":{"description":"Returns information of VM Classes. This is a synchronous command.","schema":{"$ref":"#/definitions/VmClasses"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds/{subscriptionName}/customImages":{"get":{"tags":["APIs"],"summary":"Returns information about Custom Images","description":"
Supported Clouds: GCP, Amazon WorkSpaces Core","operationId":"customImagesUsingGET","produces":["application/json"],"parameters":[{"name":"subscriptionName","in":"path","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string"}],"responses":{"200":{"description":"Returns Custom Image details. This is a synchronous command.","schema":{"$ref":"#/definitions/CustomImageResponse"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"post":{"tags":["APIs"],"summary":"Adds a new Custom Image","description":"
Supported Clouds: GCP, Amazon WorkSpaces Core","operationId":"createCustomImagesUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"request","description":"Custom Image information.","required":true,"schema":{"$ref":"#/definitions/AddCustomImageRequest"}},{"name":"subscriptionName","in":"path","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string"}],"responses":{"200":{"description":"Custom Image added successfully. This is a synchronous command.","schema":{"$ref":"#/definitions/ApiStatusResponse"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds/{subscriptionName}/networks":{"get":{"tags":["APIs"],"summary":"Returns information about Cloud networks","description":"Returns information of cloud networks. This is a synchronous command.
Supported Clouds: GCP","operationId":"getCloudNetworksUsingGET","produces":["application/json"],"parameters":[{"name":"subscriptionName","in":"path","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string"}],"responses":{"200":{"description":"Returns information about Cloud Networks. This is a synchronous command.","schema":{"$ref":"#/definitions/ApiCloudNetworksListResponse"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds/{subscriptionName}/regions":{"get":{"tags":["APIs"],"summary":"Returns list of regions","description":"Returns information about regions. Only applicable for AWS subscriptions. This is a synchronous command.
Supported Clouds: Amazon WorkSpaces Core","operationId":"getRegionsUsingGET","produces":["application/json"],"parameters":[{"name":"subscriptionName","in":"path","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string"}],"responses":{"200":{"description":"Returns list of regions. This is a synchronous command.","schema":{"$ref":"#/definitions/Regions"}},"400":{"description":"Error message with details. Returns Bad request for GCP and Azure clouds"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds/{subscriptionName}/regions/{region}/networks":{"get":{"tags":["APIs"],"summary":"Returns information about Cloud networks in a region","description":"Returns information of cloud networks in a given region. Only applicable for AWS subscriptions. This is a synchronous command.
Supported Clouds: Amazon WorkSpaces Core","operationId":"getCloudNetworksByRegionUsingGET","produces":["application/json"],"parameters":[{"name":"region","in":"path","description":"The region name from the GET /v1.0/clouds/{subscriptionName}/regions command","required":true,"type":"string"},{"name":"subscriptionName","in":"path","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string"}],"responses":{"200":{"description":"Returns information of Cloud networks in a region. This is a synchronous command.","schema":{"$ref":"#/definitions/ApiCloudNetworksListResponse"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds/{subscriptionName}/regions/{region}/securityGroups":{"get":{"tags":["APIs"],"summary":"Returns information AWS security groups","description":"Returns information AWS security groups. This is a synchronous command.
Supported Clouds: Amazon WorkSpaces Core","operationId":"getSecurityGroupsUsingGET","produces":["application/json"],"parameters":[{"name":"region","in":"path","description":"The region name from the GET /v1.0/clouds/{subscriptionName}/regions command","required":true,"type":"string"},{"name":"subscriptionName","in":"path","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string"}],"responses":{"200":{"description":"Returns information of Security Groups. This is a synchronous command.","schema":{"$ref":"#/definitions/SecurityGroups"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds/{subscriptionName}/regions/{region}/zones":{"get":{"tags":["APIs"],"summary":"Returns list of Zones for provided region","description":"Returns information about zones for region. Note: This API is applicable for GCP clouds only. This is a synchronous command.
Supported Clouds: GCP","operationId":"getZonesUsingGET","produces":["application/json"],"parameters":[{"name":"region","in":"path","description":"GCP Region Name","required":true,"type":"string"},{"name":"subscriptionName","in":"path","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string"}],"responses":{"200":{"description":"Returns list of zones. This is a synchronous command.","schema":{"$ref":"#/definitions/Zones"}},"400":{"description":"Error message with details. Returns Bad request for AWS and Azure clouds"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds/{subscriptionName}/templates":{"get":{"tags":["APIs"],"summary":"Returns information about templates","description":"
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"getTemplatesUsingGET","produces":["application/json"],"parameters":[{"name":"subscriptionName","in":"path","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string"}],"responses":{"200":{"description":"Returns list of templates in the given subscription","schema":{"$ref":"#/definitions/APIGetTemplatesResponseBO"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds/{subscriptionName}/templates/build":{"post":{"tags":["APIs"],"summary":"Builds a new template Image","description":"
Supported Clouds: GCP, Amazon WorkSpaces Core","operationId":"buildTemplateUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"request","description":"Template information","required":true,"schema":{"$ref":"#/definitions/ApiBuildTemplateRequest"}},{"name":"subscriptionName","in":"path","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string"}],"responses":{"200":{"description":"Build template. This is a asynchronous command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds/{subscriptionName}/templates/register":{"post":{"tags":["APIs"],"summary":"Registers a new template Image","description":"
Supported Clouds: GCP, Amazon WorkSpaces Core","operationId":"registerTemplateUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"request","description":"Template information","required":true,"schema":{"$ref":"#/definitions/RegisterTemplateRequestBO"}},{"name":"subscriptionName","in":"path","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string"}],"responses":{"200":{"description":"Register template. This is a asynchronous command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds/{subscriptionName}/templates/vmClasses":{"get":{"tags":["APIs"],"summary":"Returns information about VM Classes required to create Templates","description":"Returns information of VM Classes. This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"getTemplateVmClassesUsingGET","produces":["application/json"],"parameters":[{"name":"subscriptionName","in":"path","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string"}],"responses":{"200":{"description":"Returns information of Template VM Classes. This is a synchronous command.","schema":{"$ref":"#/definitions/TemplateVmClasses"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds/{subscriptionName}/templates/{templateName}":{"get":{"tags":["APIs"],"summary":"Returns information about templates","description":"
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"getTemplateUsingGET","produces":["application/json"],"parameters":[{"name":"subscriptionName","in":"path","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string"},{"name":"templateName","in":"path","description":"Name of the template","required":true,"type":"string"}],"responses":{"200":{"description":"Returns template information in a cloud subscription","schema":{"$ref":"#/definitions/APIGetTemplatesResponseBO"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"delete":{"tags":["APIs"],"summary":"Deletes template from cloud subscription","description":"
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"deleteTemplateUsingDELETE","produces":["application/json"],"parameters":[{"name":"subscriptionName","in":"path","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string"},{"name":"templateName","in":"path","description":"Name of the template","required":true,"type":"string"}],"responses":{"200":{"description":"Returns status of the request (Succeeded, or Failed). If failed, provides error information","schema":{"$ref":"#/definitions/ApiStatusResponse"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds/{subscriptionName}/templates/{templateName}/clone":{"post":{"tags":["APIs"],"summary":"Clones a new template from an existing template","description":"
Supported Clouds: GCP, Amazon WorkSpaces Core","operationId":"cloneTemplateUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"request","description":"Template information","required":true,"schema":{"$ref":"#/definitions/ApiCloneTemplateRequest"}},{"name":"subscriptionName","in":"path","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string"},{"name":"templateName","in":"path","description":"The Template name","required":true,"type":"string"}],"responses":{"200":{"description":"Clone a template. This is a asynchronous command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds/{subscriptionName}/templates/{templateName}/draft":{"post":{"tags":["APIs"],"summary":"Draft the template","description":"
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"draftTemplateUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"subscriptionName","in":"path","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string"},{"name":"templateName","in":"path","description":"The Template name","required":true,"type":"string"}],"responses":{"200":{"description":"Draft the template. This is a asynchronous command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds/{subscriptionName}/templates/{templateName}/preview":{"post":{"tags":["APIs"],"summary":"Preview the template","description":"
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"previewTemplateUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"subscriptionName","in":"path","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string"},{"name":"templateName","in":"path","description":"The Template name","required":true,"type":"string"}],"responses":{"200":{"description":"Preview the template. This is a asynchronous command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/clouds/{subscriptionName}/templates/{templateName}/publish":{"post":{"tags":["APIs"],"summary":"Publish the template","description":"
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"publishTemplateUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"subscriptionName","in":"path","description":"The subscription name from the GET /v1.0/clouds command","required":true,"type":"string"},{"name":"templateName","in":"path","description":"The Template name","required":true,"type":"string"}],"responses":{"200":{"description":"Publish the template. This is a asynchronous command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/desktops/{desktopId}/cancelUpgradeDesktop":{"post":{"tags":["APIs"],"summary":"Cancels a upgrade desktop operation","description":"Cancels a upgrade desktop operation and reboots the source desktop in its source pool. Use this command after a upgrade desktop operation fails. Otherwise, the desktop will remain unavailable. This is an asynchronous command.
Supported Clouds: Azure","operationId":"cancelUpgradeDesktopUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"desktopId","in":"path","description":"The desktopId","required":true,"type":"string"}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/desktops/{desktopId}/retainDesktop":{"post":{"tags":["APIs"],"summary":"Sets the retention period for a desktop on suspension.","description":"The desktop will be deleted once the retention period is complete. For already suspended desktops the start of retention period will begin from the API call time. For assigned desktops the retention period will start from the suspension time. Retention period should be a non-negative integer (like 0,1,2,3,.. ). This is a synchronised command.","operationId":"retainDesktopUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"desktopId","in":"path","description":"The unique ID string for the desktop. This is obtained through the GET /v1.0/pools/{poolId}/desktops command and others.","required":true,"type":"string"},{"in":"body","name":"vmRetentionPeriod","description":"Number of days (positive integer) after which the desktop is deleted. For “0” desktop will be retained for indefinite period. ","required":true,"schema":{"$ref":"#/definitions/VMRetentionPeriod"}}],"responses":{"200":{"description":"Success. Returns updated desktop details.","schema":{"$ref":"#/definitions/VMRetentionDetails"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/desktops/{desktopId}/upgradeDesktop":{"post":{"tags":["APIs"],"summary":"Upgrades a persistent desktop to the specified pool","description":"Upgrades a persistent desktop from its current pool to the destination pool. Ownership of the desktop is preserved and the owner will launch it from its new region/pool as usual from the client interface. This is an asynchronous command.
Supported Clouds: Azure","operationId":"upgradeDesktopUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"desktopId","in":"path","description":"The desktopId to upgrade","required":true,"type":"string"},{"in":"body","name":"upgradeDesktopRequest","description":"The targetPool along with domain join details(if you do not want retain the source name). If AAD only account just provide targetPool and retainName or computerName.","required":true,"schema":{"$ref":"#/definitions/UpgradeDesktopRequest"}}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/globalDesktops":{"get":{"tags":["APIs"],"summary":"Returns information on available Global Desktop Applications","description":"Returns details about all the global desktop applications for a company. This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"globalDesktopsUsingGET","produces":["application/json"],"responses":{"200":{"description":"Details about the global desktop applications.","schema":{"$ref":"#/definitions/GlobalDesktopListBO"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/globalDesktops/{globalDesktopId}":{"get":{"tags":["APIs"],"summary":"Return details of Global Desktop","description":"Returns information on available Global Desktops including pool, order of precedence and assigned group ID. This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"globalDesktopUsingGET","produces":["application/json"],"parameters":[{"name":"globalDesktopId","in":"path","description":"Id of the global desktop","required":true,"type":"string"}],"responses":{"200":{"description":"Detail of group","schema":{"$ref":"#/definitions/GlobalDesktopBO"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/globalDesktops/{globalDesktopId}/pools":{"post":{"tags":["APIs"],"summary":"Assign pools to global desktop application","description":"Assign the pools with order of precedence to global desktop application. This is an asynchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"setGlobalDesktopGroupPoolsUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"globalDesktopId","in":"path","description":"Global Desktop Application Id to assign pools","required":true,"type":"string"},{"in":"body","name":"poolPrecedence","description":"Pool IDs and precedence to be assigned. Order of precedence is a positive integer, with 1 being the highest precedence. Precedence must be given with no gaps (1, 2, 3; not 1, 4, 9).","required":true,"schema":{"$ref":"#/definitions/VDIPoolDetails"}}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/groups":{"get":{"tags":["APIs"],"summary":"Returns a list of all groups","description":"Returns a list of all group names and ids. This is a synchronous command.","operationId":"groupsUsingGET","produces":["application/json"],"responses":{"200":{"description":"List of groups","schema":{"$ref":"#/definitions/GroupsList"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/groups/{groupId}/bundle":{"post":{"tags":["APIs"],"summary":"Assigns an application bundle to a user group","description":"Assigns the specified application bundle to a user group.","operationId":"assignBundleUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"assignBundle","description":"Bundle information.","required":true,"schema":{"$ref":"#/definitions/AssignBundle"}},{"name":"groupId","in":"path","description":"Group Id ","required":true,"type":"string"}],"responses":{"200":{"description":"Success. Bundle assigned to group.","schema":{"$ref":"#/definitions/ApiCreateBundleResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/groups/{groupId}/globalDesktops":{"get":{"tags":["APIs"],"summary":"Returns information on global desktops assigned to a group","description":"Returns information on global desktops assigned to a group. This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"groupGlobalDesktopDetailsUsingGET","produces":["application/json"],"parameters":[{"name":"groupId","in":"path","description":"Id of the group","required":true,"type":"string"}],"responses":{"200":{"description":"Detail of group","schema":{"$ref":"#/definitions/GlobalDesktopsList"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"post":{"tags":["APIs"],"summary":"Assign a global desktop application to a group","description":"Assigns a global desktop application to a group. This is an asynchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"setGlobalDesktopToGroupUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"globalDesktopId","description":"Global Desktop Application Id to be assigned to group","required":true,"schema":{"$ref":"#/definitions/GlobalDesktopId"}},{"name":"groupId","in":"path","description":"Group Id to which global desktop application is to be assigned","required":true,"type":"string"}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/groups/{groupId}/globalDesktops/{globalDesktopId}":{"delete":{"tags":["APIs"],"summary":"Unassign a global desktop application from a group","description":"Revokes group’s assignment to a global desktop application. This is an asynchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"unassignGlobalDesktopToGroupUsingDELETE","produces":["application/json"],"parameters":[{"name":"globalDesktopId","in":"path","description":"Global Desktop Application Id to be revoked from group","required":true,"type":"string"},{"name":"groupId","in":"path","description":"Group Id to which global desktop application is to be revoked from","required":true,"type":"string"}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/licenses":{"get":{"tags":["APIs"],"summary":"Returns a list of Workspot licenses for each VM type purchased","description":"For each license type, return information including the total number of licenses purchased and the number of licenses available (unassigned). In addition to desktop licenses, associated licenses such as backup licenses and disaster recovery licenses are listed. This is a synchronous command.","operationId":"getLicensesUsingGET","produces":["application/json"],"responses":{"200":{"description":"Information about all active licenses","schema":{"$ref":"#/definitions/License"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/operation/{operationId}":{"get":{"tags":["APIs"],"summary":"Returns status of an asynchronous operation","description":"Asynchronous operations return a StatusURL that is an instance of this command with the correct operationID. This command returns the asynchronous operation’s status (plus additional information). This is a synchronous command.","operationId":"statusCheckUsingGET","produces":["application/json"],"parameters":[{"name":"operationId","in":"path","description":"operationId","required":true,"type":"string"}],"responses":{"200":{"description":"Returns status of the operation (inProgress, Succeeded, or Failed). Provides success details or error info once finished (Succeeded or Failed).","schema":{"$ref":"#/definitions/OpResponse"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/policies":{"get":{"tags":["APIs"],"summary":"Get List of Policies","description":"Get list of policies based on the type. This is a synchronous command.","operationId":"getPoliciesUsingGET","produces":["application/json"],"parameters":[{"name":"type","in":"query","description":"Policy Type. Allowed types are 'MediaRedirection', 'Gateway', 'Protocol', 'TimeLimits', 'Maintenance', 'Warmup'","required":true,"type":"string","allowEmptyValue":false}],"responses":{"200":{"description":"Returns list of policies of the provided type.","schema":{"$ref":"#/definitions/GetPoliciesResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/pools":{"get":{"tags":["APIs"],"summary":"Returns a list of all desktop pools","description":"Returns a list of all desktop pools, along with information about each pool, including its name, its pool id, and other information. The pool id is used by many other commands to specify which pool to use. This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"poolsUsingGET","produces":["application/json"],"responses":{"200":{"description":"List of pools","schema":{"$ref":"#/definitions/Pool"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"post":{"tags":["APIs"],"summary":"Creates Desktop Pool","description":"Creates desktop pool by taking reference from another desktop pool. This is a synchronous command.
Supported Clouds: GCP","operationId":"createDesktopPoolUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"request","description":"This is desktop pool create request.","required":true,"schema":{"$ref":"#/definitions/CreateDesktopPoolRequest"}}],"responses":{"200":{"description":"Returns status of Desktop Pool creation.If status is success, then use /pool/{poolId}/status API to check pool and desktop status.","schema":{"$ref":"#/definitions/CreateDesktopPoolResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/pools/loginOptions":{"get":{"tags":["APIs"],"summary":"Get login options for desktop pool","description":"Get list of possible login options for pool. This is a synchronous command.","operationId":"getLoginOptionsUsingGET","produces":["application/json"],"responses":{"200":{"description":"Returns list of possible pool login options.","schema":{"$ref":"#/definitions/GetLoginOptionsResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/pools/{poolId}":{"get":{"tags":["APIs"],"summary":"Returns the details for a single pool","description":"Using the poolId, return the details about the specified pool. This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"poolInfoUsingGET","produces":["application/json"],"parameters":[{"name":"poolId","in":"path","description":"The ID string for the pool. This is obtained through the GET /v1.0/pools command and others.","required":true,"type":"string","x-example":"f81eed06-c7a0-46b1-a3bf-50cc8880310b"}],"responses":{"200":{"description":"Details about the pool","schema":{"$ref":"#/definitions/DesktopPoolDetails"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/pools/{poolId}/agentToken":{"get":{"tags":["APIs"],"summary":"Returns Agent token for the pool","description":"Returns a valid, unexpired Agent Token for the specified pool, which can be used to register desktop in the pool. This is a synchronous command.","operationId":"poolAgentTokenUsingGET","produces":["application/json"],"parameters":[{"name":"poolId","in":"path","description":"The ID string for the pool. This is obtained through the GET /v1.0/pools command and others.","required":true,"type":"string"}],"responses":{"200":{"description":"Agent Token Details for the specified pool","schema":{"$ref":"#/definitions/PoolAgentTokenDetails"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/pools/{poolId}/customdesktop":{"post":{"tags":["APIs"],"summary":"Creates a desktop in custom cloud pool","description":"Adds an existing VM to a Custom Cloud Pool. This is a synchronous command.","operationId":"createCustomDesktopUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"desktopToCreate","description":"Except for the Computer Name, these are existing parameters of the desktop VM. Computer Name is a unique string used by Control to display information about this VM. It should be no more than fifteen characters long and consist of only alphanumeric and dash characters. You must specify at least a Computer Name and either a BIOS GUID or both a MAC Address and an FQDN.","required":true,"schema":{"$ref":"#/definitions/CreateCustomDesktop"}},{"name":"poolId","in":"path","description":"The ID string for the pool. This is obtained through the GET /v1.0/pools command and others.","required":true,"type":"string"}],"responses":{"200":{"description":"Success. Desktop added successfully to the pool","schema":{"$ref":"#/definitions/ApiCustomDesktopCreateResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/pools/{poolId}/desktops":{"get":{"tags":["APIs"],"summary":"Returns a list of desktops in a pool","description":"Returns information about every desktop in the specified pool, including their desktop ids, which are used for commands that operate on a specified desktop. This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"getpoolDesktopsUsingGET","produces":["application/json"],"parameters":[{"name":"poolId","in":"path","description":"The ID string for the pool. This is obtained through the GET /v1.0/pools command and others.","required":true,"type":"string"}],"responses":{"200":{"description":"List of desktops in pool","schema":{"$ref":"#/definitions/DesktopList"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"post":{"tags":["APIs"],"summary":"Creates a desktop","description":"Creates a desktop in the specified pool. Optionally, the computerName can be specified. Otherwise it is assigned based on the pool's Desktop Name and an unused number (for example, mypool-004). The computerName must consist only of alphanumeric characters and hyphens, and cannot start with a numeral or hyphen. Optionally, the snapshot from which the disk of the desktop is created can be specified. Otherwise, it is created with empty disk. The snapshotId should be the unique identifier of the snapshot on cloud.This is an asynchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"createDesktopUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"desktopToCreate","description":"Optional parameters. The currently defined parameters are computerName and snapshotId along with domain join details (if desktop is being created with specified snapshot).","required":false,"schema":{"$ref":"#/definitions/CreateDesktop"}},{"name":"poolId","in":"path","description":"The ID string for the pool. This is obtained through the GET /v1.0/pools command and others.","required":true,"type":"string"}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/pools/{poolId}/desktops/{desktopId}":{"get":{"tags":["APIs"],"summary":"Returns details for a single desktop","description":"Returns the details for a single, specified desktop in a specified pool. This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"desktopDetailsUsingGET","produces":["application/json"],"parameters":[{"name":"desktopId","in":"path","description":"The ID string for the desktop. This is obtained through the GET /v1.0/pools/{poolId}/desktops command and others.","required":true,"type":"string"},{"name":"poolId","in":"path","description":"The ID string for the pool. This is obtained through the GET /v1.0/pools command and others.","required":true,"type":"string"}],"responses":{"200":{"description":"Details for the specified desktop","schema":{"$ref":"#/definitions/Desktop"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"delete":{"tags":["APIs"],"summary":"Deletes a desktop","description":"Deletes the specified desktop. If the pool uses the \"Auto Create on Delete Desktop\" option, the desktop will be recreated from the pool template. Otherwise, is will be be deleted and the size of the pool will be reduced by one. This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"deleteDesktopUsingDELETE","produces":["application/json"],"parameters":[{"name":"desktopId","in":"path","description":"The ID string for the desktop. This is obtained through the GET /v1.0/pools/{poolId}/desktops command and others.","required":true,"type":"string"},{"name":"poolId","in":"path","description":"The ID string for the pool. This is obtained through the GET /v1.0/pools command and others.","required":true,"type":"string"}],"responses":{"204":{"description":"No content (success)"},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/pools/{poolId}/desktops/{desktopId}/attachSnapshot":{"post":{"tags":["APIs"],"summary":"Attaches a snapshot to a desktop","description":"Attaches the specified snapshot to the desktop. This is an asynchronous command.
Supported Clouds: Amazon WorkSpaces Core","operationId":"attachSnapshotUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"attachSnapshot","description":"The snapshot detail along with domain join details. If AAD only account just provide the snapshot to be restored on the desktop.","required":true,"schema":{"$ref":"#/definitions/AttachSnapshot"}},{"name":"desktopId","in":"path","description":"The ID string for the desktop. This is obtained through the GET /v1.0/pools/{poolId}/desktops command and others.","required":true,"type":"string"},{"name":"poolId","in":"path","description":"The ID string for the pool. This is obtained through the GET /v1.0/pools command and others.","required":true,"type":"string"}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/pools/{poolId}/desktops/{desktopId}/cancelMoveDesktop":{"post":{"tags":["APIs"],"summary":"Cancels a move desktop operation","description":"Cancels a move desktop operation and reboots the source desktop in its original pool. Use this command after a move desktop operation fails. Otherwise, the desktop will remain unavailable. This is an asynchronous command.
Supported Clouds: Azure","operationId":"cancelMoveDesktopUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"desktopId","in":"path","description":"The source desktopId","required":true,"type":"string"},{"name":"poolId","in":"path","description":"The source poolId","required":true,"type":"string"}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/pools/{poolId}/desktops/{desktopId}/moveDesktop":{"post":{"tags":["APIs"],"summary":"Moves a persistent desktop to the specified pool","description":"Moves a persistent desktop from its current pool to the destination pool. Ownership of the desktop is preserved and the owner will launch it in its new location as if nothing has happened. This is an asynchronous command.
Supported Clouds: Azure","operationId":"moveDesktopUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"desktopId","in":"path","description":"The desktopId to move","required":true,"type":"string"},{"in":"body","name":"moveDesktopRequest","description":"The user's email address and targetPool Id to which desktop need to be moved.","required":true,"schema":{"$ref":"#/definitions/MoveDesktopRequest"}},{"name":"poolId","in":"path","description":"The source poolId","required":true,"type":"string"}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/pools/{poolId}/desktops/{desktopId}/pause":{"post":{"tags":["APIs"],"summary":"Pauses a desktop","description":"Pauses a desktop. Valid for persistent desktops only. This is an asynchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"pauseDesktopUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"desktopId","in":"path","description":"The ID string for the desktop. This is obtained through the GET /v1.0/pools/{poolId}/desktops command and others.","required":true,"type":"string"},{"name":"poolId","in":"path","description":"The ID string for the pool. This is obtained through the GET /v1.0/pools command and others.","required":true,"type":"string"}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/pools/{poolId}/desktops/{desktopId}/reboot":{"post":{"tags":["APIs"],"summary":"Reboots a desktop","description":"Reboots a desktop. Valid for persistent desktops only. This is an asynchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"rebootDesktopUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"desktopId","in":"path","description":"The ID string for the desktop. This is obtained through the GET /v1.0/pools/{poolId}/desktops command and others.","required":true,"type":"string"},{"name":"poolId","in":"path","description":"The ID string for the pool. This is obtained through the GET /v1.0/pools command and others.","required":true,"type":"string"}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/pools/{poolId}/desktops/{desktopId}/redeploy":{"post":{"tags":["APIs"],"summary":"Redeploys a desktop","description":"Replace a desktop with a fresh one built from the current pool template. This is an asynchronous command.
Supported Clouds: Azure","operationId":"redeployDesktopUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"desktopId","in":"path","description":"The ID string for the desktop. This is obtained through the GET /v1.0/pools/{poolId}/desktops command and others.","required":true,"type":"string"},{"name":"poolId","in":"path","description":"The ID string for the pool. This is obtained through the GET /v1.0/pools command and others.","required":true,"type":"string"}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/pools/{poolId}/desktops/{desktopId}/resume":{"post":{"tags":["APIs"],"summary":"Resumes a desktop","description":"Resumes a desktop. Valid for persistent desktops only. This is an asynchronous command. If duration is included, pausing the desktop is not allowed for specified duration. Otherwise, it is a simple resume request to get the desktops running.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"resumeDesktopUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"desktopId","in":"path","description":"The ID string for the desktop. This is obtained through the GET /v1.0/pools/{poolId}/desktops command and others.","required":true,"type":"string"},{"in":"body","name":"duration","description":"Optional parameter (in minutes). Desktop pausing not allowed till this duration.","required":false,"schema":{"$ref":"#/definitions/HydrateDuration"}},{"name":"poolId","in":"path","description":"The ID string for the pool. This is obtained through the GET /v1.0/pools command and others.","required":true,"type":"string"}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/pools/{poolId}/desktops/{desktopId}/screenshotDesktop":{"post":{"tags":["APIs"],"summary":"Takes a screen shot of the desktop","description":"Capture the display on the desktop to debug boot and login issues. If a user is logged on, this feature is unavailable. A link to the screen shot image is returned in the body of the operation command (statusURL) after the screenShotDesktop command succeeds. The image expires after 15 minutes. This is an asynchronous command.
Supported Clouds: Azure","operationId":"screenshotDesktopUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"desktopId","in":"path","description":"The ID string for the desktop. This is obtained through the GET /v1.0/pools/{poolId}/desktops command and others.","required":true,"type":"string"},{"name":"poolId","in":"path","description":"The ID string for the pool. This is obtained through the GET /v1.0/pools command and others.","required":true,"type":"string"}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/pools/{poolId}/desktops/{desktopId}/tags":{"post":{"tags":["APIs"],"summary":"Sets tags for a desktop","description":"Set customer-defined name/value pairs (tags) for a desktop. Once set, tags returned by the desktop details command (GET /v1.0/pools/{poolId}/desktops/{desktopId}). Tags are valid only for persistent desktops. This is a synchronous command. See Using Desktop Tags in the Workspot Control API for more information.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"tagDesktopUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"desktopId","in":"path","description":"The ID string for the desktop. This is obtained through the GET /v1.0/pools/{poolId}/desktops command and others.","required":true,"type":"string"},{"name":"poolId","in":"path","description":"The ID string for the pool. This is obtained through the GET /v1.0/pools command and others.","required":true,"type":"string"},{"in":"body","name":"tagRequest","description":"A series of name/value pairs (tags)","required":false,"schema":{"$ref":"#/definitions/TagDesktopRequest"}}],"responses":{"200":{"description":"Tags have been set successfully"},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/pools/{poolName}":{"post":{"tags":["APIs"],"summary":"Updates a desktop pool.","description":"Updated desktop pool. This is a synchronous command.
Supported Clouds: GCP","operationId":"updateDesktopPoolUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"poolName","in":"path","description":"The name of the desktop pool. This is obtained through the GET /v1.0/pools command and others.","required":true,"type":"string"},{"in":"body","name":"request","description":"This is desktop pool update request.","required":true,"schema":{"$ref":"#/definitions/UpdateDesktopPoolRequest"}}],"responses":{"200":{"description":"Updates the desktop pool","schema":{"$ref":"#/definitions/CreateDesktopPoolResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/rdgateways/authenticationOptions":{"get":{"tags":["APIs"],"summary":"Returns information about authentication options required to create gateway cluster (managed gateways)","description":"Returns information about authentication options. This is a synchronous command. See Gateway Clusters (Managed Gateways) for more information","operationId":"getAuthenticationOptionsUsingGET","produces":["application/json"],"responses":{"200":{"description":"Returns details authentication options used to create cluster (managed RD Gateway). This is a synchronous command.","schema":{"$ref":"#/definitions/AuthenticationOptions"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/rdgateways/clusters":{"get":{"tags":["APIs"],"summary":"Returns information about each gateway cluster (managed gateways)","description":"Returns information about each gateway cluster (managed RD Gateways). Not applicable to legacy RD Gateways. This is a synchronous command. See Gateway Clusters (Managed Gateways) for more information
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"gwClustersUsingGET","produces":["application/json"],"responses":{"200":{"description":"Returns details about each gateway cluster (managed RD Gateway), including status information and a list of pools and apps using each cluster. Not applicable to legacy RD Gateways. This is a synchronous command.","schema":{"$ref":"#/definitions/Clusters"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"post":{"tags":["APIs"],"summary":"Creates Gateway Cluster","description":"Creates public cloud gateway cluster. This is an asynchronous command.npsServers field is required only if AuthOption field is NPS and gatewayPolicyName is mandatory if authOption is other than NPS.Note that gatewayPolicyName and npsServers are mutually exclusive and cannot be sent together in payload
Supported Clouds: GCP, Amazon WorkSpaces Core","operationId":"createGWClusterUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"createCluster","description":"This is Create Gateway cluster request requires,Cluster Name which is unique, region and network.","required":true,"schema":{"$ref":"#/definitions/GWCreateCluster"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/rdgateways/clusters/{clusterId}/regions/{clusterRegionId}/rdgateways":{"get":{"tags":["APIs"],"summary":"Returns information about each gateway in a given cluster","description":"Returns details about each gateway VM in a specified cluster (managed RD Gateway), including the number of active connections, certificate information, and status.This is a synchronous command. See Gateway Clusters (Managed Gateways) for more information
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"gwClusterHostsUsingGET","produces":["application/json"],"parameters":[{"name":"clusterId","in":"path","description":"The clusterId from the GET /v1.0/rdgateways/clusters/ command","required":true,"type":"string"},{"name":"clusterRegionId","in":"path","description":"The clusterRegionId from the GET /v1.0/rdgateways/clusters/ command","required":true,"type":"string"}],"responses":{"200":{"description":"List of gateways in the cluster and information about each gateway.","schema":{"$ref":"#/definitions/Hosts"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/rdgateways/clusters/{clusterId}/regions/{clusterRegionId}/rdgateways/{gatewayId}/connections":{"get":{"tags":["APIs"],"summary":"Returns information about the Client connections for a gateway in the specified gateway cluster","description":"Returns information about the Client connections for a gateway in the specified gateway cluster, including the number of active connections and average request auth seconds.This is a synchronous command. See Gateway Clusters (Managed Gateways) for more information
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"getGWHostConnectionsUsingGET","produces":["application/json"],"parameters":[{"name":"clusterId","in":"path","description":"The clusterId from the GET /v1.0/rdgateways/clusters/ command","required":true,"type":"string"},{"name":"clusterRegionId","in":"path","description":"The clusterRegionId from the GET /v1.0/rdgateways/clusters command","required":true,"type":"string"},{"name":"gatewayId","in":"path","description":"The gatewayId from the GET /v1.0/rdgateways/clusters/{clusterId}/regions/{clusterRegionId}/rdgateways command","required":true,"type":"string"}],"responses":{"200":{"description":"Gateway connections in a specified cluster (managed RD Gateway)","schema":{"$ref":"#/definitions/GWClusterHostConnectionDetails"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/rdgateways/clusters/{clusterId}/regions/{clusterRegionId}/rdgateways/{gatewayId}/performance":{"get":{"tags":["APIs"],"summary":"Returns system performance statistics such as CPU and memory usage for a gateway in the specified cluster","description":"Returns system performance statistics such as CPU and memory usage for a gateway in the specified cluster, including the cpu and memory data.This is a synchronous command. See Gateway Clusters (Managed Gateways) for more information
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"getGWHostPerformanceUsingGET","produces":["application/json"],"parameters":[{"name":"clusterId","in":"path","description":"The clusterId from the GET /v1.0/rdgateways/clusters/ command","required":true,"type":"string"},{"name":"clusterRegionId","in":"path","description":"The clusterRegionId from the GET /v1.0/rdgateways/clusters command","required":true,"type":"string"},{"name":"gatewayId","in":"path","description":"The gatewayId from the GET /v1.0/rdgateways/clusters/{clusterId}/regions/{clusterRegionId}/rdgateways command","required":true,"type":"string"}],"responses":{"200":{"description":"Gateway performance data (cpu/memory) in a specified cluster (managed RD Gateway)","schema":{"$ref":"#/definitions/GWClusterHostPerformanceDetails"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/rdgateways/clusters/{clusterName}":{"post":{"tags":["APIs"],"summary":"Updates GatewayCluster","description":"Gateway cluster updates currently support modifications to only the following fields: imageName, vmClassName, gatewayPolicyName, and npsServers. Note that gatewayPolicyName and npsServers are mutually exclusive and cannot be sent together in payload
Supported Clouds: GCP, Amazon WorkSpaces Core","operationId":"updateGatewayCusterUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"clusterName","in":"path","description":"The clusterName from the GET /v1.0/rdgateways/clusters command","required":true,"type":"string"},{"in":"body","name":"updateCluster","description":" modifications to only the following fields: imageName, vmClassName, gatewayPolicyName, and npsServers. Note that gatewayPolicyName and npsServers are mutually exclusive and cannot be sent together in payload","required":true,"schema":{"$ref":"#/definitions/GWUpdateCluster"}}],"responses":{"200":{"description":"Returns status of the request (Succeeded, or Failed). If failed, provides error information","schema":{"$ref":"#/definitions/GWUpdateClusterResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"delete":{"tags":["APIs"],"summary":"Deletes GatewayCluster","description":"Deletes Gateway cluster
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"deleteGatewayClusterUsingDELETE","produces":["application/json"],"parameters":[{"name":"clusterName","in":"path","description":"The clusterName from the GET /v1.0/rdgateways/clusters command","required":true,"type":"string"}],"responses":{"200":{"description":"Returns status of the request (Succeeded, or Failed). If failed, provides error information","schema":{"$ref":"#/definitions/GWClusterActionResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/rdgateways/clusters/{clusterName}/gateways":{"post":{"tags":["APIs"],"summary":"Creates Gateway Host in a cluster","description":"Adds public cloud gateway host in a cluster.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"addGwHostUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"clusterName","in":"path","description":"The clusterId from the GET /v1.0/rdgateways/clusters command","required":true,"type":"string"},{"in":"body","name":"gwAddGwHost","description":"Provide local admin credentials and domain join information","required":true,"schema":{"$ref":"#/definitions/GWAddGwHost"}}],"responses":{"200":{"description":"Returns status of the request (Succeeded, or Failed). If failed, provides error information","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/rdgateways/clusters/{clusterName}/gateways/{gatewayName}":{"delete":{"tags":["APIs"],"summary":"Deletes Gateway Host from a cluster","description":"Deletes public cloud gateway host from a cluster
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"deleteGwHostUsingDELETE","produces":["application/json"],"parameters":[{"name":"clusterName","in":"path","description":"The clusterName from the GET /v1.0/rdgateways/clusters command","required":true,"type":"string"},{"name":"gatewayName","in":"path","description":"The gatewayName from the GET /v1.0/rdgateways/clusters/{clusterId}/regions/{clusterRegionId}/rdgateways command","required":true,"type":"string"}],"responses":{"200":{"description":"Returns status of the request (Succeeded, or Failed). If failed, provides error information","schema":{"$ref":"#/definitions/ApiStatusResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/rdgateways/clusters/{clusterName}/gateways/{gatewayName}/enable":{"post":{"tags":["APIs"],"summary":"Enables Gateway Host from a cluster","description":"Enables public cloud gateway host from a cluster
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"enableGWHostUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"clusterName","in":"path","description":"The clusterName from the GET /v1.0/rdgateways/clusters command","required":true,"type":"string"},{"name":"gatewayName","in":"path","description":"The gatewayName from the GET /v1.0/rdgateways/clusters/{clusterId}/regions/{clusterRegionId}/rdgateways command","required":true,"type":"string"}],"responses":{"200":{"description":"Returns status of the request (Succeeded, or Failed). If failed, provides error information","schema":{"$ref":"#/definitions/ApiStatusResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/rdgateways/clusters/{clusterName}/gateways/{gatewayName}/reboot":{"post":{"tags":["APIs"],"summary":"Reboots Gateway Host from a cluster","description":"Reboots public cloud gateway host from a cluster
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"rebootGwHostUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"clusterName","in":"path","description":"The clusterName from the GET /v1.0/rdgateways/clusters command","required":true,"type":"string"},{"name":"gatewayName","in":"path","description":"The gatewayName from the GET /v1.0/rdgateways/clusters/{clusterId}/regions/{clusterRegionId}/rdgateways command","required":true,"type":"string"}],"responses":{"200":{"description":"Returns status of the request (Succeeded, or Failed). If failed, provides error information","schema":{"$ref":"#/definitions/ApiStatusResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/rdgateways/clusters/{clusterName}/publish":{"post":{"tags":["APIs"],"summary":"Publish GatewayCluster","description":"Publishes Gateway cluster
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"publishGatewayClusterUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"clusterName","in":"path","description":"The clusterName from the GET /v1.0/rdgateways/clusters command","required":true,"type":"string"}],"responses":{"200":{"description":"Returns status of the request (Succeeded, or Failed). If failed, provides error information","schema":{"$ref":"#/definitions/GWClusterActionResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/reports/generateusagereport":{"post":{"tags":["APIs"],"summary":"Generates a report of active users","description":"Generate a report of active users covering up to thirty days. The report URL is linked in the body of the GET /v1.0/operation/{operationId} response. See Using the Workspot Control API for more information, including an example of using this command. This is an asynchronous command.","operationId":"usageReportUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"report","description":"Parameters for generating the usage report, including the start and end date. The start date must be no more than 30 days in the past.","required":false,"schema":{"$ref":"#/definitions/UsageReport"}}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/reports/users":{"get":{"tags":["APIs"],"summary":"Generates a report of all users and their resource assignments","description":"Generates a complete snapshot of every user in the tenant, including role, group memberships, persistent desktop assignments, NP pool entitlements, and last login timestamps. The download URL, which is a pre-signed URL, is returned in the response body of the GET /v1.0/operation/{operationId} API under details.downloadUrl when status is Succeeded. The response also includes the expiration time (in seconds) for the download URL. This is an asynchronous command.","operationId":"generateAllUsersReportUsingGET","produces":["application/json"],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/staleDevices":{"get":{"tags":["APIs"],"summary":"Returns all stale devices. For specific dates or page number use this signature [/v1.0/staleDevices?startDate=2024-09-08&endDate=2024-09-15&pageNumber=5]","description":"Returns list of stale device details. Applicable for Entra-ID-Only (Azure-AD-Only) tenants. This is a synchronous command.
Supported Clouds: Azure","operationId":"staleDevicesUsingGET","produces":["application/json"],"parameters":[{"name":"endDate","in":"query","description":"End Date. Optional","required":false,"type":"string","allowEmptyValue":false},{"name":"pageNumber","in":"query","description":"Page Number. Optional","required":false,"type":"string","default":"1","allowEmptyValue":false},{"name":"startDate","in":"query","description":"Start Date. Optional","required":false,"type":"string","allowEmptyValue":false}],"responses":{"200":{"description":"Returns list of Stale devices for for given timelines. This is a synchronous command.","schema":{"$ref":"#/definitions/StaleDevices"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"delete":{"tags":["APIs"],"summary":"Deletes given list of stale devices from Control.","description":"Deletes the specified devices from Control. This is a synchronous command.
Supported Clouds: Azure","operationId":"deleteStaleDevicesUsingDELETE","produces":["application/json"],"parameters":[{"in":"body","name":"request","description":"Please provide the deviceId (identifier for the device in Control) from the Get API response for the devices to be deleted. Multiple deviceIds can be passed.","required":false,"schema":{"$ref":"#/definitions/DeleteStaleDeviceRequest"}}],"responses":{"204":{"description":"No content (success)"},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/users":{"post":{"tags":["APIs"],"summary":"Creates a user","description":"Creates a new end-user. If a poolId is specified, the user is assigned a desktop in that pool, if available. This is an asynchronous command","operationId":"addUserUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"user","description":"User parameters. Email, firstName, lastName, and optional poolId.","required":true,"schema":{"$ref":"#/definitions/AddUser"}}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/users/{email}/":{"get":{"tags":["APIs"],"summary":"Returns user details","description":"Returns details about a specified user. This is a synchronous command.","operationId":"userDetailsUsingGET","produces":["application/json"],"parameters":[{"name":"email","in":"path","description":"User's email.","required":true,"type":"string"}],"responses":{"200":{"description":"List of assigned desktops, list of assigned pools, cost center, etc.","schema":{"$ref":"#/definitions/User"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"delete":{"tags":["APIs"],"summary":"Deletes a user","description":"Deletes the user with the given email. Workspot Control deallocates or suspends the user's desktops and forgets the user's existence. This is a synchronous command.","operationId":"deleteUserUsingDELETE","produces":["application/json"],"parameters":[{"name":"email","in":"path","description":"The user's email address","required":true,"type":"string"}],"responses":{"204":{"description":"No content (success)"},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/users/{email}/assignCostCenter":{"post":{"tags":["APIs"],"summary":"Assigns a cost center to a user","description":"Assigns the specified cost center to the user with the specified email. This is a synchronous command. See Using the Cost Center Feature in Workspot Control.","operationId":"assignCostCenterUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"costCenter","description":"The name of the cost center to assign","required":true,"schema":{"$ref":"#/definitions/Cost Center to Assign"}},{"name":"email","in":"path","description":"The user's email address","required":true,"type":"string"}],"responses":{"200":{"description":"Success. Returns updated user details.","schema":{"$ref":"#/definitions/User"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/users/{email}/desktops":{"post":{"tags":["APIs"],"summary":"Assigns a desktop to a user","description":"Assigns a specified existing desktop to the user with specified email.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"assignDesktopUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"desktop","description":"Desktop ID of the desktop being assigned","required":true,"schema":{"$ref":"#/definitions/Desktop to Assign"}},{"name":"email","in":"path","description":"The user's email address","required":true,"type":"string"}],"responses":{"200":{"description":"Success. Returns updated user details.","schema":{"$ref":"#/definitions/User"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/users/{email}/desktops/{desktopId}":{"delete":{"tags":["APIs"],"summary":"Unassigns a desktop from user","description":"Revokes a user's assignment to a specified desktop. The desktop will be suspended or returned to the pool, depending on pool settings. See Control: Desktop Pools for more information
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core, Akamai","operationId":"unassignDesktopUsingDELETE","produces":["application/json"],"parameters":[{"name":"desktopId","in":"path","description":"Desktop ID of the desktop whose assignment is being revoked","required":true,"type":"string"},{"name":"email","in":"path","description":"The current user's email address.","required":true,"type":"string"}],"responses":{"204":{"description":"No content (success)"},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/users/{email}/globalDesktops/{globalApplicationId}":{"delete":{"tags":["APIs"],"summary":"Unassign Global Desktop Application from a user","description":"Unassign a global desktop application from a user with specified email. This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"unAssignAppToUserUsingDELETE","produces":["application/json"],"parameters":[{"name":"email","in":"path","description":"Email id of user","required":true,"type":"string"},{"name":"globalDesktopId","in":"path","description":"Global Desktop Application Id to be unassigned.","required":true,"type":"string"}],"responses":{"204":{"description":"No content (success)"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/users/{email}/globalDesktops/{globalDesktopId}":{"get":{"tags":["APIs"],"summary":"Returns Global Desktop Application details for a user","description":"Returns global desktop application details for a user including pool, desktop details and order of precedence. This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"globalDesktopDetailsUsingGET","produces":["application/json"],"parameters":[{"name":"email","in":"path","description":"Email id of user","required":true,"type":"string"},{"name":"globalDesktopId","in":"path","description":"Global Desktop Application Id","required":true,"type":"string"}],"responses":{"200":{"description":"List of Global Desktops Application with assigned pools and desktops.","schema":{"$ref":"#/definitions/UserGlobalDesktopPoolDetailsBO"}},"400":{"description":"Error message with details"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/users/{email}/globalDesktops/{globalDesktopId}/pools":{"post":{"tags":["APIs"],"summary":"Assign pools to user’s global desktop application ","description":"Assign the pools with order of precedence to user’s global desktop application. This is an asynchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"setGlobalDesktopPoolsUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"email","in":"path","description":"Email id of user","required":true,"type":"string"},{"name":"globalDesktopId","in":"path","description":"Global Desktop Application Id for the User","required":true,"type":"string"},{"in":"body","name":"poolPrecedence","description":"Pool IDs and precedence to be assigned to override predefined global desktop pools. Order of precedence is a positive integer, with 1 being the highest precedence. Precedence must be given with no gaps (1, 2, 3; not 1, 4, 9).","required":false,"schema":{"$ref":"#/definitions/VDIPoolDetails"}}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false},"delete":{"tags":["APIs"],"summary":"Deallocate the pools from user’s global desktop application","description":"Deallocate the pools from user’s global desktop application, keeping the relative precedence for rest of the pools but renumbering them starting at 1. This is a synchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"deleteGlobalDesktopPoolsUsingDELETE","produces":["application/json"],"parameters":[{"name":"email","in":"path","description":"Email id of user","required":true,"type":"string"},{"name":"globalDesktopId","in":"path","description":"Global desktop Application Id.","required":true,"type":"string"},{"in":"body","name":"poolId","description":"PoolId to be deallocated from user’s global desktop application.","required":true,"schema":{"$ref":"#/definitions/Pool to Delete from GlobalDesktop"}}],"responses":{"200":{"description":"Pools assigned to user’s global desktop application","schema":{"$ref":"#/definitions/UserGlobalDesktopPoolDetailsBO"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/users/{email}/logoff":{"post":{"tags":["APIs"],"summary":"Signs a user out of a desktop session","description":"Signs the user out of Windows on the specified desktop. This is an asynchronous command.
Supported Clouds: Azure, GCP, Amazon WorkSpaces Core","operationId":"logoffUserUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"email","in":"path","description":"The user's email address","required":true,"type":"string"},{"in":"body","name":"remoteSessionDesktop","description":"The desktopID and poolID of the desktop","required":true,"schema":{"$ref":"#/definitions/RemoteSessionDesktop"}}],"responses":{"202":{"description":"Request accepted. Returns a statusURL for polling, which is an instance of the GET /v1.0/operation/{operationId} command.","schema":{"$ref":"#/definitions/AsyncOperationStatus"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/v1.0/users/{email}/pools":{"post":{"tags":["APIs"],"summary":"Assigns a user to a given pool","description":"