How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Workspot Control REST API

REST API for Workspot Control, the SaaS management plane for Workspot Cloud PCs. 105 operations across 85 paths for IT Service Management (ITSM), automation and scripting tools — provisioning and lifecycle of desktop pools and desktops, user and group assignment, template build/clone/publish, cloud application server pools and published applications, RD gateway clusters, cloud/region/zone/network discovery, licenses, stale devices and usage reporting. OAuth 2.0 or Microsoft Entra ID token authentication; many operations are asynchronous and return a StatusURL to poll.

Workspot Control REST API is one of 2 APIs that Workspot publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Virtual Desktop Infrastructure, Desktop as a Service, Cloud PC, Provisioning, and Automation. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 105 operations across 85 paths, and defines 120 schemas. It is described by OpenAPI 2.0, at version 1.0.

Requests are made against the base URL https://api.workspot.com.

105 operations 85 paths 120 schemas 14 DELETE42 GET49 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 2.0
API Version
1.0
Base URL
https://api.workspot.com
Contact
support@workspot.com
Terms of Service
Resource Areas
1

Paths & Operations 105

Across 85 paths, the API surfaces 105 operations — 14 DELETE, 42 GET, 49 POST. Each is listed below with its method, path, parameters, and response codes.

APIs 105

Workspot Control REST interface for administrators. See the descriptions below and Using the Workspot Control API for additional information

GET
/v1.0/bundles
Returns a list of all application bundles
bundlesUsingGET → 200400401403
POST
/v1.0/bundles
Creates a new application bundle
createBundleUsingPOST 1 param → 200400401403
GET
/v1.0/bundles/{bundleId}
Returns an application bundle details
bundleInfoUsingGET 1 param → 200400401403
POST
/v1.0/bundles/{bundleId}
Updates an existing application bundle
updateBundleUsingPOST 2 params → 200400401403
DELETE
/v1.0/bundles/{bundleId}
Deletes an application bundle
deleteBundleUsingDELETE 1 param → 204400401403
GET
/v1.0/cloudAppPools
Returns a list of all application server pools
cloudAppPoolsUsingGET → 200400401403
POST
/v1.0/cloudAppPools
Creates an application server pool
createCloudAppPoolUsingPOST 1 param → 200400401403
GET
/v1.0/cloudAppPools/applications
Returns a list of all application server applications
applicationsUsingGET → 200400401403
POST
/v1.0/cloudAppPools/applications
Creates an application
createCloudAppUsingPOST 1 param → 200400401403
GET
/v1.0/cloudAppPools/applications/{appId}
Returns application details
appDetailsUsingGET 1 param → 200400401403
POST
/v1.0/cloudAppPools/applications/{appId}
Updates an application
updateCloudAppUsingPOST 2 params → 200400401403
DELETE
/v1.0/cloudAppPools/applications/{appId}
Deletes an application
deletecloudAppUsingDELETE 1 param → 204400401403
POST
/v1.0/cloudAppPools/applications/{appId}/icon
Updates an application icon
uploadCloudAppIconUsingPOST 2 params → 200400401403413
GET
/v1.0/cloudAppPools/{cloudAppPoolId}
Returns the details about an application server pool
cloudAppPoolInfoUsingGET 1 param → 200400401403
DELETE
/v1.0/cloudAppPools/{cloudAppPoolId}
Deletes an application server pool
deletecloudAppPoolUsingDELETE 1 param → 204400401403
GET
/v1.0/cloudAppPools/{cloudAppPoolId}/appServers
Returns a list of application servers in a pool
cloudAppServersUsingGET 1 param → 200400401403
GET
/v1.0/cloudAppPools/{cloudAppPoolId}/appServers/{appServerId}
Returns details for a single application server
appServerDeatilsUsingGET 2 params → 200400401403
DELETE
/v1.0/cloudAppPools/{cloudAppPoolId}/appServers/{appServerId}
Deletes a Cloud app server
deletecloudAppServerUsingDELETE 2 params → 204400401403
POST
/v1.0/cloudAppPools/{poolId}
Updates an application server pool
updateCloudAppPoolUsingPOST 2 params → 200400401403
GET
/v1.0/clouds
Returns information about public clouds
publicCloudsUsingGET → 200400401403
GET
/v1.0/clouds/rdgateways/images
Returns information Market place images required to create gateway cluster (managed gateways)
getGatewayImagesUsingGET 1 param → 200400401403
GET
/v1.0/clouds/rdgateways/vmClasses
Returns information about VM Classes required to create gateway cluster (managed gateways)
getGatewayVmClassesUsingGET 1 param → 200400401403
GET
/v1.0/clouds/{subscriptionName}/customImages
Returns information about Custom Images
customImagesUsingGET 1 param → 200400401403
POST
/v1.0/clouds/{subscriptionName}/customImages
Adds a new Custom Image
createCustomImagesUsingPOST 2 params → 200400401403
GET
/v1.0/clouds/{subscriptionName}/networks
Returns information about Cloud networks
getCloudNetworksUsingGET 1 param → 200400401403
GET
/v1.0/clouds/{subscriptionName}/regions
Returns list of regions
getRegionsUsingGET 1 param → 200400401403
GET
/v1.0/clouds/{subscriptionName}/regions/{region}/networks
Returns information about Cloud networks in a region
getCloudNetworksByRegionUsingGET 2 params → 200400401403
GET
/v1.0/clouds/{subscriptionName}/regions/{region}/securityGroups
Returns information AWS security groups
getSecurityGroupsUsingGET 2 params → 200400401403
GET
/v1.0/clouds/{subscriptionName}/regions/{region}/zones
Returns list of Zones for provided region
getZonesUsingGET 2 params → 200400401403
GET
/v1.0/clouds/{subscriptionName}/templates
Returns information about templates
getTemplatesUsingGET 1 param → 200400401403
POST
/v1.0/clouds/{subscriptionName}/templates/build
Builds a new template Image
buildTemplateUsingPOST 2 params → 200400401403
POST
/v1.0/clouds/{subscriptionName}/templates/register
Registers a new template Image
registerTemplateUsingPOST 2 params → 200400401403
GET
/v1.0/clouds/{subscriptionName}/templates/vmClasses
Returns information about VM Classes required to create Templates
getTemplateVmClassesUsingGET 1 param → 200400401403
GET
/v1.0/clouds/{subscriptionName}/templates/{templateName}
Returns information about templates
getTemplateUsingGET 2 params → 200400401403
DELETE
/v1.0/clouds/{subscriptionName}/templates/{templateName}
Deletes template from cloud subscription
deleteTemplateUsingDELETE 2 params → 200400401403
POST
/v1.0/clouds/{subscriptionName}/templates/{templateName}/clone
Clones a new template from an existing template
cloneTemplateUsingPOST 3 params → 200400401403
POST
/v1.0/clouds/{subscriptionName}/templates/{templateName}/draft
Draft the template
draftTemplateUsingPOST 2 params → 200400401403
POST
/v1.0/clouds/{subscriptionName}/templates/{templateName}/preview
Preview the template
previewTemplateUsingPOST 2 params → 200400401403
POST
/v1.0/clouds/{subscriptionName}/templates/{templateName}/publish
Publish the template
publishTemplateUsingPOST 2 params → 200400401403
POST
/v1.0/desktops/{desktopId}/cancelUpgradeDesktop
Cancels a upgrade desktop operation
cancelUpgradeDesktopUsingPOST 1 param → 202400401403
POST
/v1.0/desktops/{desktopId}/retainDesktop
Sets the retention period for a desktop on suspension.
retainDesktopUsingPOST 2 params → 200400401403
POST
/v1.0/desktops/{desktopId}/upgradeDesktop
Upgrades a persistent desktop to the specified pool
upgradeDesktopUsingPOST 2 params → 202400401403
GET
/v1.0/globalDesktops
Returns information on available Global Desktop Applications
globalDesktopsUsingGET → 200400401403
GET
/v1.0/globalDesktops/{globalDesktopId}
Return details of Global Desktop
globalDesktopUsingGET 1 param → 200400401403
POST
/v1.0/globalDesktops/{globalDesktopId}/pools
Assign pools to global desktop application
setGlobalDesktopGroupPoolsUsingPOST 2 params → 202400401403
GET
/v1.0/groups
Returns a list of all groups
groupsUsingGET → 200400401403
POST
/v1.0/groups/{groupId}/bundle
Assigns an application bundle to a user group
assignBundleUsingPOST 2 params → 200400401403
GET
/v1.0/groups/{groupId}/globalDesktops
Returns information on global desktops assigned to a group
groupGlobalDesktopDetailsUsingGET 1 param → 200400401403
POST
/v1.0/groups/{groupId}/globalDesktops
Assign a global desktop application to a group
setGlobalDesktopToGroupUsingPOST 2 params → 202400401403
DELETE
/v1.0/groups/{groupId}/globalDesktops/{globalDesktopId}
Unassign a global desktop application from a group
unassignGlobalDesktopToGroupUsingDELETE 2 params → 202400401403
GET
/v1.0/licenses
Returns a list of Workspot licenses for each VM type purchased
getLicensesUsingGET → 200400401403
GET
/v1.0/operation/{operationId}
Returns status of an asynchronous operation
statusCheckUsingGET 1 param → 200401403
GET
/v1.0/policies
Get List of Policies
getPoliciesUsingGET 1 param → 200400401403
GET
/v1.0/pools
Returns a list of all desktop pools
poolsUsingGET → 200400401403
POST
/v1.0/pools
Creates Desktop Pool
createDesktopPoolUsingPOST 1 param → 200400401403
GET
/v1.0/pools/loginOptions
Get login options for desktop pool
getLoginOptionsUsingGET → 200400401403
GET
/v1.0/pools/{poolId}
Returns the details for a single pool
poolInfoUsingGET 1 param → 200400401403
GET
/v1.0/pools/{poolId}/agentToken
Returns Agent token for the pool
poolAgentTokenUsingGET 1 param → 200400401403
POST
/v1.0/pools/{poolId}/customdesktop
Creates a desktop in custom cloud pool
createCustomDesktopUsingPOST 2 params → 200400401403
GET
/v1.0/pools/{poolId}/desktops
Returns a list of desktops in a pool
getpoolDesktopsUsingGET 1 param → 200400401403
POST
/v1.0/pools/{poolId}/desktops
Creates a desktop
createDesktopUsingPOST 2 params → 202400401403
GET
/v1.0/pools/{poolId}/desktops/{desktopId}
Returns details for a single desktop
desktopDetailsUsingGET 2 params → 200400401403
DELETE
/v1.0/pools/{poolId}/desktops/{desktopId}
Deletes a desktop
deleteDesktopUsingDELETE 2 params → 204400401403
POST
/v1.0/pools/{poolId}/desktops/{desktopId}/attachSnapshot
Attaches a snapshot to a desktop
attachSnapshotUsingPOST 3 params → 202400401403
POST
/v1.0/pools/{poolId}/desktops/{desktopId}/cancelMoveDesktop
Cancels a move desktop operation
cancelMoveDesktopUsingPOST 2 params → 202400401403
POST
/v1.0/pools/{poolId}/desktops/{desktopId}/moveDesktop
Moves a persistent desktop to the specified pool
moveDesktopUsingPOST 3 params → 202400401403
POST
/v1.0/pools/{poolId}/desktops/{desktopId}/pause
Pauses a desktop
pauseDesktopUsingPOST 2 params → 202400401403
POST
/v1.0/pools/{poolId}/desktops/{desktopId}/reboot
Reboots a desktop
rebootDesktopUsingPOST 2 params → 202400401403
POST
/v1.0/pools/{poolId}/desktops/{desktopId}/redeploy
Redeploys a desktop
redeployDesktopUsingPOST 2 params → 202400401403
POST
/v1.0/pools/{poolId}/desktops/{desktopId}/resume
Resumes a desktop
resumeDesktopUsingPOST 3 params → 202400401403
POST
/v1.0/pools/{poolId}/desktops/{desktopId}/screenshotDesktop
Takes a screen shot of the desktop
screenshotDesktopUsingPOST 2 params → 202400401403
POST
/v1.0/pools/{poolId}/desktops/{desktopId}/tags
Sets tags for a desktop
tagDesktopUsingPOST 3 params → 200400401403
POST
/v1.0/pools/{poolName}
Updates a desktop pool.
updateDesktopPoolUsingPOST 2 params → 200400401403
GET
/v1.0/rdgateways/authenticationOptions
Returns information about authentication options required to create gateway cluster (managed gateways)
getAuthenticationOptionsUsingGET → 200400401403
GET
/v1.0/rdgateways/clusters
Returns information about each gateway cluster (managed gateways)
gwClustersUsingGET → 200400401403
POST
/v1.0/rdgateways/clusters
Creates Gateway Cluster
createGWClusterUsingPOST 1 param → 200202400401403
GET
/v1.0/rdgateways/clusters/{clusterId}/regions/{clusterRegionId}/rdgateways
Returns information about each gateway in a given cluster
gwClusterHostsUsingGET 2 params → 200400401403
GET
/v1.0/rdgateways/clusters/{clusterId}/regions/{clusterRegionId}/rdgateways/{gatewayId}/connections
Returns information about the Client connections for a gateway in the specified gateway cluster
getGWHostConnectionsUsingGET 3 params → 200400401403
GET
/v1.0/rdgateways/clusters/{clusterId}/regions/{clusterRegionId}/rdgateways/{gatewayId}/performance
Returns system performance statistics such as CPU and memory usage for a gateway in the specified cluster
getGWHostPerformanceUsingGET 3 params → 200400401403
POST
/v1.0/rdgateways/clusters/{clusterName}
Updates GatewayCluster
updateGatewayCusterUsingPOST 2 params → 200400401403
DELETE
/v1.0/rdgateways/clusters/{clusterName}
Deletes GatewayCluster
deleteGatewayClusterUsingDELETE 1 param → 200400401403
POST
/v1.0/rdgateways/clusters/{clusterName}/gateways
Creates Gateway Host in a cluster
addGwHostUsingPOST 2 params → 200400401403
DELETE
/v1.0/rdgateways/clusters/{clusterName}/gateways/{gatewayName}
Deletes Gateway Host from a cluster
deleteGwHostUsingDELETE 2 params → 200400401403
POST
/v1.0/rdgateways/clusters/{clusterName}/gateways/{gatewayName}/enable
Enables Gateway Host from a cluster
enableGWHostUsingPOST 2 params → 200400401403
POST
/v1.0/rdgateways/clusters/{clusterName}/gateways/{gatewayName}/reboot
Reboots Gateway Host from a cluster
rebootGwHostUsingPOST 2 params → 200400401403
POST
/v1.0/rdgateways/clusters/{clusterName}/publish
Publish GatewayCluster
publishGatewayClusterUsingPOST 1 param → 200400401403
POST
/v1.0/reports/generateusagereport
Generates a report of active users
usageReportUsingPOST 1 param → 202400401403
GET
/v1.0/reports/users
Generates a report of all users and their resource assignments
generateAllUsersReportUsingGET → 202401403
GET
/v1.0/staleDevices
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]
staleDevicesUsingGET 3 params → 200400401403
DELETE
/v1.0/staleDevices
Deletes given list of stale devices from Control.
deleteStaleDevicesUsingDELETE 1 param → 204400401403
POST
/v1.0/users
Creates a user
addUserUsingPOST 1 param → 202400401403
GET
/v1.0/users/{email}/
Returns user details
userDetailsUsingGET 1 param → 200400401403
DELETE
/v1.0/users/{email}/
Deletes a user
deleteUserUsingDELETE 1 param → 204400401403
POST
/v1.0/users/{email}/assignCostCenter
Assigns a cost center to a user
assignCostCenterUsingPOST 2 params → 200400401403
POST
/v1.0/users/{email}/desktops
Assigns a desktop to a user
assignDesktopUsingPOST 2 params → 200400401403
DELETE
/v1.0/users/{email}/desktops/{desktopId}
Unassigns a desktop from user
unassignDesktopUsingDELETE 2 params → 204400401403
DELETE
/v1.0/users/{email}/globalDesktops/{globalApplicationId}
Unassign Global Desktop Application from a user
unAssignAppToUserUsingDELETE 2 params → 204400401403
GET
/v1.0/users/{email}/globalDesktops/{globalDesktopId}
Returns Global Desktop Application details for a user
globalDesktopDetailsUsingGET 2 params → 200400401403
POST
/v1.0/users/{email}/globalDesktops/{globalDesktopId}/pools
Assign pools to user’s global desktop application
setGlobalDesktopPoolsUsingPOST 3 params → 202400401403
DELETE
/v1.0/users/{email}/globalDesktops/{globalDesktopId}/pools
Deallocate the pools from user’s global desktop application
deleteGlobalDesktopPoolsUsingDELETE 3 params → 200400401403
POST
/v1.0/users/{email}/logoff
Signs a user out of a desktop session
logoffUserUsingPOST 2 params → 202400401403
POST
/v1.0/users/{email}/pools
Assigns a user to a given pool
assignPoolUsingPOST 2 params → 202400401403
POST
/v1.0/users/{email}/refreshGroupEntitlements
Refreshes group entitlements for given user
refreshGroupEntitlementsUsingPOST 1 param → 200204400401403
POST
/v1.0/users/{email}/remoteAssistanceInvitation
Invites a user to a remote assistance session
remoteAssistUserUsingPOST 2 params → 202400401403
POST
/v1.0/users/{email}/sendMessage
Sends a message to a user's desktop
sendMessageToUserUsingPOST 2 params → 202400401403

Schemas 120

The contract defines 120 schemas that model the data the API accepts and returns. The most detailed are CreateDesktopPoolRequest (27 properties), UpdateDesktopPoolRequest (21 properties), DesktopPoolDetails (21 properties), GWClusterHostDetails (20 properties). Each schema is shown below with its type and property counts.

APIGetTemplatesResponseBO
object
1 property
APIMasterTemplateBO
object
16 properties
AddCustomImageRequest
object
3 properties
AddUser
object
4 properties
ApiBuildTemplateRequest
object
11 properties
ApiCloneTemplateRequest
object
6 properties
ApiCloudNetworksListResponse
object
1 property
ApiCloudNetworksResponseBO
object
6 properties
ApiCloudRegionBO
object
2 properties
ApiCreateBundleResponse
object
2 properties
ApiCreateCloudAppPoolResponse
object
2 properties
ApiCreateCloudAppResponse
object
2 properties
ApiCustomDesktopCreateResponse
object
2 properties
ApiStatusResponse
object
3 properties
ApplicationDetails
object
14 properties
Applications
object
1 property
AssignBundle
object
1 property
AssignedDesktopBO
object
4 properties
AssignedPoolDesktopDetailsBO
object
4 properties
AsyncOperationStatus
object
1 property
AttachSnapshot
object
5 properties 1 required
AuthenticationOptions
object
3 properties
BundleDetails
object
4 properties
BundlesDTO
object
1 property
CloudAppPool
object
1 property
CloudAppPoolDetails
object
10 properties
CloudAppServerDetails
object
7 properties
CloudAppServers
object
1 property
CloudConfigSubscriptions
object
1 property
CloudDetails
object
5 properties
CloudImages
object
1 property
Clusters
object
1 property
Cost Center to Assign
object
1 property
CreateBundleRequestDTO
object
2 properties
CreateCloudAppPool
object
9 properties
CreateCloudAppRequest
object
15 properties
CreateCustomDesktop
object
4 properties
CreateDesktop
object
6 properties
CreateDesktopPoolRequest
object
27 properties
CreateDesktopPoolResponse
object
4 properties
CustomDesktopDTO
object
4 properties
CustomImageResponse
object
1 property
DeleteStaleDeviceRequest
object
1 property
Desktop
object
9 properties
Desktop to Assign
object
1 property
DesktopList
object
1 property
DesktopPoolDetails
object
21 properties
ErrorInfo
object
2 properties
GWAddGwHost
object
2 properties
GWClusterActionResponse
object
3 properties
GWClusterDetails
object
11 properties
GWClusterHostConnectionDetails
object
3 properties
GWClusterHostDetails
object
20 properties
GWClusterHostPerformanceDetails
object
2 properties
GWClusterHostPerformanceSample
object
2 properties
GWClusterHostSessionDetails
object
8 properties
GWCreateCluster
object
19 properties
GWDomainToJoin
object
5 properties
GWDomainToJoinBO
object
5 properties
GWHostLocalAdmin
object
2 properties
GWPool
object
5 properties
GWRegionalClusterDetails
object
9 properties
GWUpdateCluster
object
4 properties
GWUpdateClusterResponse
object
3 properties
GetLoginOptionsResponse
object
1 property
GetPoliciesResponse
object
2 properties
GlobalDesktopBO
object
4 properties
GlobalDesktopDetailsBO
object
2 properties
GlobalDesktopId
object
1 property
GlobalDesktopListBO
object
1 property
GlobalDesktopPool
object
4 properties
GlobalDesktopPoolsList
object
3 properties
GlobalDesktopsList
object
3 properties
GroupDetailBO
object
3 properties
GroupsList
object
1 property
Hosts
object
1 property
HydrateDuration
object
1 property
Images
object
1 property
KeyValuePairBO
object
2 properties
License
object
1 property
LicenseDetails
object
14 properties
MoveDesktopRequest
object
2 properties 2 required
NameResponse
object
1 property
NpsServerBO
object
3 properties
OpResponse
object
5 properties
Pool
object
1 property
Pool to Assign
object
1 property
Pool to Delete from GlobalDesktop
object
1 property
PoolAgentTokenDetails
object
2 properties
PoolPrecedenceDetails
object
2 properties
RefreshEntitlementsResponse
object
1 property
Regions
object
1 property
RegisterTemplateRequestBO
object
2 properties
RemoteAssistDesktop
object
3 properties 3 required
RemoteSessionDesktop
object
2 properties 2 required
RemoteSessionDesktopMessage
object
4 properties 4 required
SecurityGroup
object
3 properties
SecurityGroups
object
1 property
StaleDevice
object
11 properties
StaleDevices
object
4 properties
Tag
object
2 properties
TagDesktopRequest
object
3 properties
TemplateCustomImageBO
object
3 properties
TemplateVMClass
object
6 properties
TemplateVmClasses
object
1 property
UpdateCloudAppPool
object
5 properties
UpdateCloudAppRequest
object
12 properties
UpdateDesktopPoolRequest
object
21 properties
UpgradeDesktopRequest
object
7 properties 6 required
UsageReport
object
3 properties
User
object
7 properties
UserDesktop
object
3 properties
UserGlobalDesktopPoolDetailsBO
object
7 properties
UserPool
object
7 properties
VDIPoolDetails
object
1 property
VMClass
object
2 properties
VMRetentionDetails
object
3 properties
VMRetentionPeriod
object
1 property
VmClasses
object
1 property
Zones
object
1 property

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

workspot-control-openapi.json Raw ↑

Other APIs Workspot publishes across the network.

Workspot SIEM (Splunk) Events API
Where this information came from

This is an independent, third-party profile of Workspot Control REST API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.