Automation Anywhere Bot Deploy API

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 typically combined with the Authentication API to obtain a JWT token before invoking deployment endpoints.

OpenAPI Specification

automation-anywhere-bot-deploy-openapi.yml Raw ↑
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