openapi: 3.1.0 info: title: Automation Anywhere Bot Deploy API description: >- The Automation Anywhere Bot Deploy API (v3/v4) enables external applications and workflows to programmatically trigger the deployment of bots to unattended Bot Runner devices. It supports deploying bots from the public workspace, specifying target devices or device pools, and passing input variables at runtime. This API is combined with the Authentication API to obtain a JWT token before invoking deployment endpoints. It is commonly used in DevOps pipelines, event-driven architectures, and third-party orchestration platforms to initiate RPA bot execution on demand. The v4 endpoint is the current recommended version and supports attended, unattended, and headless deployment types. version: 'v4' contact: name: Automation Anywhere Support url: https://support.automationanywhere.com termsOfService: https://www.automationanywhere.com/terms-of-service externalDocs: description: Automation Anywhere Bot Deploy API Documentation url: https://docs.automationanywhere.com/bundle/enterprise-v2019/page/deploy-api-supported-v4.html servers: - url: https://{controlRoomUrl}/v4 description: Automation Anywhere Control Room Bot Deploy v4 variables: controlRoomUrl: default: your-control-room.automationanywhere.com description: Your Control Room hostname tags: - name: Deployments description: Deploy bots to Bot Runner devices and monitor deployment status security: - bearerAuth: [] - xAuthorization: [] paths: /automations/deploy: post: operationId: deployBot summary: Deploy a bot description: >- Deploys an automation bot from the public workspace to one or more Bot Runner devices. Supports unattended deployment (to devices linked to a specified user), attended deployment (to any device accessible to the user), and headless deployment (to On-Demand Bot Runner devices). Returns a deploymentId that can be used to monitor the execution status. Input variables can be passed at runtime via the botInput field. tags: - Deployments requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DeploymentRequest' responses: '200': description: Bot deployment initiated successfully content: application/json: schema: $ref: '#/components/schemas/DeploymentResponse' '400': description: Bad request — invalid parameters or bot not found in workspace content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required — missing or invalid JWT token content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Bot or device not found content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: JWT token obtained from the Authentication API, passed as Authorization Bearer header xAuthorization: type: apiKey in: header name: X-Authorization description: JWT token obtained from the Authentication API, passed as X-Authorization header schemas: DeploymentRequest: type: object description: >- Request payload to deploy a bot. Requires the botId and one of the deployment type objects: unattended, attended, or headless. required: - botId properties: botId: type: integer description: Numeric file ID of the bot to deploy from the public workspace automationName: type: string description: >- Optional human-readable name for this automation deployment instance. Appears in activity logs and the Control Room dashboard. description: type: string description: Optional description of this deployment for tracking purposes botLabel: type: string description: Optional label to tag this bot deployment instance runElevated: type: boolean description: >- Whether to run the bot with elevated system privileges on the Bot Runner device. Requires appropriate device configuration. hideBotAgentUi: type: boolean description: >- Whether to hide the Bot Agent user interface on the runner device during execution. Applicable to attended deployments. callbackInfo: $ref: '#/components/schemas/CallbackInfo' automationPriority: type: string description: >- Priority level for this automation in the execution queue. Higher priority automations are dispatched before lower priority ones. enum: - PRIORITY_LOW - PRIORITY_MEDIUM - PRIORITY_HIGH botInput: type: object description: >- Map of input variable names to typed values to pass to the bot at runtime. Keys are variable names defined in the bot; values are objects with type and value fields. additionalProperties: $ref: '#/components/schemas/BotInputVariable' unattendedRequest: $ref: '#/components/schemas/UnattendedRequest' attendedRequest: $ref: '#/components/schemas/AttendedRequest' headlessRequest: $ref: '#/components/schemas/HeadlessRequest' UnattendedRequest: type: object description: >- Deployment configuration for unattended bot execution. The bot runs on the device(s) associated with the specified runAsUser account, without requiring a logged-in Windows session. properties: runAsUsers: type: array description: >- List of user IDs whose associated Bot Runner devices will execute the bot. Each user must have an unattended Bot Runner license. items: $ref: '#/components/schemas/RunAsUser' poolIds: type: array description: >- List of device pool IDs to target for execution. The bot will be dispatched to an available device in the specified pools. items: type: integer description: Numeric ID of a device pool AttendedRequest: type: object description: >- Deployment configuration for attended bot execution. The bot runs on a device where the target user is currently logged in, with the user present to observe or interact. properties: currentUserDeviceId: type: integer description: >- Device ID of the currently logged-in user's machine on which to run the attended bot. HeadlessRequest: type: object description: >- Deployment configuration for headless bot execution on On-Demand Bot Runner cloud devices without a persistent session. properties: numOfRunAsUsersToUse: type: integer description: >- Number of On-Demand Bot Runner instances to allocate for parallel headless execution. RunAsUser: type: object description: Reference to a user account whose device will run the bot properties: id: type: integer description: Numeric user ID of the run-as user CallbackInfo: type: object description: >- Optional callback configuration for receiving execution status notifications at a webhook endpoint when the deployment completes or fails. properties: url: type: string format: uri description: URL of the callback endpoint to notify upon completion headers: type: object description: Optional HTTP headers to include in the callback request additionalProperties: type: string BotInputVariable: type: object description: Typed input variable value to pass to a bot at deployment time properties: type: type: string description: >- Data type of the variable. Must match the variable type defined in the bot (e.g., STRING, NUMBER, BOOLEAN, LIST, DICTIONARY, DATETIME). enum: - STRING - NUMBER - BOOLEAN - LIST - DICTIONARY - DATETIME - CREDENTIAL string: type: string description: String value for STRING type variables number: type: string description: Numeric value as a string for NUMBER type variables boolean: type: boolean description: Boolean value for BOOLEAN type variables list: type: object description: List structure for LIST type variables dictionary: type: object description: Key-value map for DICTIONARY type variables DeploymentResponse: type: object description: Response returned when a bot deployment is successfully initiated properties: deploymentId: type: string format: uuid description: >- Unique UUID identifier for this deployment instance. Use this ID to query automation activity and monitor execution status via the Bot Execution Orchestrator API. Error: type: object description: Standard error response properties: code: type: string description: Error code identifying the type of failure message: type: string description: Human-readable description of the error ErrorMessage: type: object description: Detailed error response including additional context properties: message: type: string description: Human-readable description of the error errorCode: type: string description: Specific error code for programmatic handling