0% found this document useful (0 votes)
53 views

AAE 11.3 Control Room API User Guide

Control ROom API

Uploaded by

Vijai Murugesan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views

AAE 11.3 Control Room API User Guide

Control ROom API

Uploaded by

Vijai Murugesan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 93

AUTOMATION ANYWHERE ENTERPRISE

11.3

Control Room APIs - User Guide

Product Version 11.3.0.0


Document Version 1.0
Date of Publication 4th October 2018
Update(s) to Document Edition Third Edition
- Schedules API added.

Copyright © 2018 Automation Anywhere, Inc. 1 https://support.automationanywhere.com


Copyright © 2018 Automation Anywhere, Inc. 2 https://support.automationanywhere.com
Contents
1. Control Room APIs .................................................................................................................................................... 7
API to manage bot login credentials .............................................................................................................................. 7
API for bot deployment .................................................................................................................................................. 7
API for export import of bots for Business Lifecycle Management.................................................................................. 7
API to export and import Workload Management (WLM) configuration .......................................................................... 7
API to get list of all queues ............................................................................................................................................ 7
API to get all work items in a given queue ..................................................................................................................... 7
API to add/insert work item data to a given queue ......................................................................................................... 8
API to manage the credential vault ................................................................................................................................ 8
API to manage data migration ....................................................................................................................................... 8
API to deploy and monitor bot progress ......................................................................................................................... 8
API to add and remove manual dependencies to a bot .................................................................................................. 8
API to Create and Manage Schedules ........................................................................................................................... 8
2. Control Room API for Authentication ......................................................................................................................... 9
Authentication API ......................................................................................................................................................... 9
3. Control Room API to manage Bot login credentials ................................................................................................. 11
Authentication API ....................................................................................................................................................... 11
Login Credentials API .................................................................................................................................................. 11
API: v1/credentialvault/external/credentials/loginsetting .............................................................................................. 11
VB Script to Create User's Login Credentials .............................................................................................................. 11
Contents of Input Files................................................................................................................................................. 13
4. Control Room API for Bot deployment ........................................................................................................................ 14
Key Features and Business Benefits of Control Room APIs ........................................................................................ 14
Deployment API .......................................................................................................................................................... 14
Bot Deployment API Response Codes ........................................................................................................................ 15
5. API - export and import Bots for Bot lifecycle management ....................................................................................... 16
Features and Benefits ................................................................................................................................................. 16
API Endpoints ............................................................................................................................................................. 16
Export Bot ................................................................................................................................................................... 16
Import Bot .................................................................................................................................................................. 17
Audit Logs ................................................................................................................................................................... 18
Export bots audit details .............................................................................................................................................. 18
Import bots audit details .............................................................................................................................................. 18
6. API - export and import workload management configuration .................................................................................... 20
Features and Benefits ................................................................................................................................................. 20
Prerequisites ............................................................................................................................................................... 20
API Endpoints ............................................................................................................................................................. 20
Export Queues ............................................................................................................................................................ 21
Import Queues ............................................................................................................................................................ 21
API Response Codes .................................................................................................................................................. 22
Audit Logs ................................................................................................................................................................... 22

Copyright © 2018 Automation Anywhere, Inc. 3 https://support.automationanywhere.com


7. API - get all queues .................................................................................................................................................. 24
API End Point .............................................................................................................................................................. 24
Get all queues ............................................................................................................................................................. 24
API Response Codes .................................................................................................................................................. 25
8. API - get all work items of a queue ........................................................................................................................... 26
API End Point .............................................................................................................................................................. 26
Get all queues ............................................................................................................................................................. 26
API Response Codes .................................................................................................................................................. 27
9. API - add/insert work item data to queue ................................................................................................................. 28
API End Point .............................................................................................................................................................. 28
API Response Codes .................................................................................................................................................. 29
10. APIs to manage credential vault ................................................................................................................................ 30
API end point ............................................................................................................................................................... 30
APIs to manage credentials ......................................................................................................................................... 30
Create Credential API ................................................................................................................................................. 30
Parameter Description ................................................................................................................................................. 32
Update credential ........................................................................................................................................................ 34
Update ownership of credential ................................................................................................................................... 35
Delete credentials........................................................................................................................................................ 36
APIs to manage credential attributes ........................................................................................................................... 36
APIs to manage lockers............................................................................................................................................... 38
List of lockers .............................................................................................................................................................. 39
Create a locker ............................................................................................................................................................ 39
Update locker .............................................................................................................................................................. 41
Delete locker ............................................................................................................................................................... 42
List all locker consumers ............................................................................................................................................. 42
Add locker consumers ................................................................................................................................................. 42
Remove locker consumers .......................................................................................................................................... 43
List all locker members ................................................................................................................................................ 43
Add or update locker member ..................................................................................................................................... 44
Remove locker member .............................................................................................................................................. 44
Add credential to a locker ............................................................................................................................................ 44
Locker credentials ....................................................................................................................................................... 44
Remove credential from a locker ................................................................................................................................. 45
APIs to manage credential vault mode ........................................................................................................................ 45
11. API for data migration from 10.x Control Room to 11.x Control Room ....................................................................... 50
API End Point .............................................................................................................................................................. 50
Migration Process APIs ............................................................................................................................................... 50
Connect to source Control Room database ................................................................................................................. 51
Get store connection details ........................................................................................................................................ 51
Connect to 2.x Bot Insight database, if available ......................................................................................................... 52
Get stored connection details ...................................................................................................................................... 53
List of entities of TYPE available for migration in source database .............................................................................. 54

Copyright © 2018 Automation Anywhere, Inc. 4 https://support.automationanywhere.com


Prepare migration data based on User input................................................................................................................ 56
List the data for migration ............................................................................................................................................ 56
Start Migration ............................................................................................................................................................. 57
Migration object by ID .................................................................................................................................................. 58
Migration Progress ...................................................................................................................................................... 59
Migration statistics - number of entities that succeeded/failed per Migration This API allows you to view the number of
successful or failed entities per migration. ................................................................................................................... 59
Post Migration process APIs........................................................................................................................................ 60
Migrate files from My Docs folder................................................................................................................................. 61
Fetch list of root folders from 10.x Control Room ......................................................................................................... 61
Fetch list of sub-folders of a root-folder from 10.x Control Room ................................................................................. 61
Fetch list of files in given folder .................................................................................................................................... 62
Search for a folder by name in Control Room 10.x ...................................................................................................... 63
Fetch list of files for a given folder in Control Room 10.x ............................................................................................. 64
Migrate new or modified bots from 10.x since the last migration in 11.x ....................................................................... 64
API Response Codes .................................................................................................................................................. 65
Audit Logs ................................................................................................................................................................... 66
12. API for deploying and monitoring bot progress .......................................................................................................... 67
API to fetch bot details ................................................................................................................................................. 67
Fetch bots details ........................................................................................................................................................ 67
API to fetch list of available devices (bot runner clients) .............................................................................................. 69
Fetch list of devices ..................................................................................................................................................... 69
API to fetch automation status ..................................................................................................................................... 71
API to deploy bot ......................................................................................................................................................... 75
API to monitor bot execution........................................................................................................................................ 75
API Response Codes .................................................................................................................................................. 69
Audit Logs ................................................................................................................................................................... 70
13. API to Add/Remove Manual dependencies to a Bot .................................................................................................. 71
API to fetch bot details ................................................................................................................................................. 71
Fetch bot details .......................................................................................................................................................... 71
API to Add Manual Dependencies ............................................................................................................................... 73
Add Manual Dependencies ......................................................................................................................................... 73
API Response Codes .................................................................................................................................................. 74
API to Remove Manual Dependencies ........................................................................................................................ 74
Delete (Remove) Manual Dependencies ..................................................................................................................... 74
API Response Codes .................................................................................................................................................. 75
Audit Logs ................................................................................................................................................................... 75
13. API to Create and Manage Schedules ...................................................................................................................... 76
API to fetch bot details ................................................................................................................................................. 76
Fetch bot details .......................................................................................................................................................... 76
API to Create Schedules ............................................................................................................................................. 78
Create Schedule.......................................................................................................................................................... 78
API Response Codes .................................................................................................................................................. 83

Copyright © 2018 Automation Anywhere, Inc. 5 https://support.automationanywhere.com


API to Update Schedules ............................................................................................................................................ 83
API Response Codes .................................................................................................................................................. 83
API to Delete Schedules .............................................................................................................................................. 84
API Response Codes .................................................................................................................................................. 84
Audit Logs ................................................................................................................................................................... 84

Copyright © 2018 Automation Anywhere, Inc. 6 https://support.automationanywhere.com


1. Control Room APIs
The Automation Anywhere Enterprise Control Room provides various public APIs that allow you to customize your business
automation for third party applications. It enables third-party applications to consume Robotic Process Automation (RPA), orchestrate
bots, and manage the RPA data based on events.

All APIs are preceded by an Authentication API. When calling a third-party application, you must first authenticate, before being able
to use any downstream APIs.
See Control Room API for Authentication for details.

API to manage bot login credentials

In enterprise organizations where the password rotation policy is applied, the Client user must remember to update the password from
Tools → Options → Login Settings during each password rotation. To automate this process, Control Room enables you to use an
API to create, update, or delete the Login Credentials stored in the credential vault.
See Control Room API to manage Bot login credentials for details.

API for bot deployment

To deploy Bots onto the Automation Environment you must login into the Control Room, select the Bot and the Bot Runners and then Run
or Schedule the task. As the Automation scenarios scale up, there is an increasing need to deploy or trigger Bots from an external third-
party application. To meet this business requirement, use the Bot Deployment API, which enables you to trigger a Bot from an External
System.
See Control Room API for Bot deployment for details.

API for export import of bots for Business Lifecycle Management

The Control Room user has to depend on means other than Control Room (for example email) to deploy TaskBots from one environment
to another. Using the Export-Import APIs, you can easily introduce a customized business lifecycle management (BLM) solution by
removing all external factors that could disrupt your automation life cycle.
See API – export and import Bots for Bot lifecycle management for details.

API to export and import Workload Management (WLM) configuration

Automation Anywhere has provided the Workload Management configuration API which can be used to export and import Workload
configuration to move validated configurations from one environment to another.
See API - export and import Bots for Bot workload management configuration for details.

API to get list of all queues

Automation Anywhere has provided a REST API that allows you to fetch the list and queue details available in the Control Room.
See API – get all queues for details.

API to get all work items in a given queue

Automation Anywhere has provided a REST API that allows you to fetch the list of work items in each queue and its details available in
the Control Room.
See API – get all work items of a queue for details.

Copyright © 2018 Automation Anywhere, Inc. 7 https://support.automationanywhere.com


API to add/insert work item data to a given queue

Automation Anywhere has provided a REST API that allows you to insert work item data in a given queue available in the Control Room.
See API – add/insert work item data in a queue for details.

You can insert a numeric value with a limit of 17 digits only. Beyond that, the numeric value would add a zero for each additional number.
The maximum supported number is 9007199254740991.

For Example:
If you pass "Amount": "123456789123456789", for number data type in Control Room, it displays as 123456789123456780.
If you pass "Amount": “123456789123456789123456789”, for number data type in Control Room, it displays as
1.2345678912345679e+26.

Note: You can pass the number value with or without quotes.

API to manage the credential vault

Use the Credential Vault APIs to manage your Credentials, Attributes, Lockers, and Credential Vault mode in the Control Room.
See APIs to manage credential vault for details.

API to manage data migration

Use the Migration APIs to manage data migration from source 10.x Control Room to destination 11.x Control Room database.
See API for data migration from 10.x Control Room to 11.x Control Room for details.

API to deploy and monitor bot progress

Use the Deploy and Monitor APIs to retrieve details of a given bot from the server repository to identify its file ID that can be used for bot
deployment, fetch list of devices (bot runners) available for automation and its automation status, deploy a bot on given device(s) and
fetch its automation ID, and monitor the bot progress based on automation ID.
See API for deploying and monitoring bot progress for details.

API to add and remove manual dependencies to a bot

Use the Add/Remove Manual Dependencies API to add or remove dependencies to a bot. These dependencies will then be deployed
along with the bot, which is deployed from Control Room.
See API to Add/Remove manual dependencies to a Bot for details.

API to Create and Manage Schedules

Use the Schedule API to create and manage schedules.


See API to Create and Manage Schedules for details.

Copyright © 2018 Automation Anywhere, Inc. 8 https://support.automationanywhere.com


2. Control Room API for Authentication
Control Room v.11 exposes public APIs that let you manipulate the Control Room data and deploy bots from an external system. This
enables third party applications to use RPA, orchestrate bots, and manage all RPA data based on events.

For Example:

When you create a user in the SAP system, an AAE user gets created. You would have to update the login credentials in AAE when
the password is rotated in the domain controller.
To use all downstream APIs, the invoking third party application user must authenticate using an Authentication API.

Authentication API
API: v1/authentication

If the Control Room URL is https://ultron.com:81, then the API will be https://ultron.com:81/v1/authentication The API takes two
parameters as input in JSON format:
1. The username of the AAE user.
2. The password of the AAE user.

Note: All parameters are mandatory.

For Example:
1. The AAE username is mike_williams.
2. The AAE password is abc123, then the JSON will be:
{
"Username":"mike_williams",
”Password":"abc123"
}

If the authentication is successful, the Control Room will issue an authentication token that needs to be passed on to the Deployment
API as header information.

Note: The authentication token will be valid for 15 minutes only from the time of issue.

Authentication API Response Codes

Http Response Description


Status
code
200 { Authentication is
successful
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.
eyJ1c2VyIjoiMSIsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Qvd2ViY3
JzdmMvIiwiYXVkIjoiaHR0cDovL2xvY2FsaG9zdC93ZWJjcnN2Yy8iLCJle
HAiOjE0OTUwOTAwOTksIm5iZiI6MTQ5NTA4OTE5OX0.qPPhpti0j7
LGAmWkj3XFymFfJXzA1P4zPehIjVYfulc"

Copyright © 2018 Automation Anywhere, Inc. 9 https://support.automationanywhere.com


Http Response Description
Status
code
401 { o The password is
invalid
"message": "Invalid credentials."
o User does not exist
} o AD Authentication –
Credentials are
Invalid
401 { Email notification is
enabled - user has not
"message": "Please verify your email by clicking on the email verification link. This verified email
is mandatory as you will be able to login post verification only."
}
402 { License has expired

"message": "License expired."

}
403 { User is deactivated

"message": "Your account is not activated. Please contact the admin."

Copyright © 2018 Automation Anywhere, Inc. 10 https://support.automationanywhere.com


3. Control Room API to manage Bot login credentials
When a Bot is deployed from the Control Room to the Bot Runner while the machine is locked or logged off, it auto-logs in to the Bot
Runner. The Bot uses the credentials stored in the Credential Vault for auto-login. These credentials are set by the user using Tools →
Options → Login Settings of AAE Client.
In instances where the Windows password for the user is modified, specifically in Enterprises with a password rotation policy, the user
must remember to update the new password from Tools →Options → Login Settings.
To automate the above process, Control Room 11.1 provides a direct API to create, update, or delete the Login Credentials stored in the
credential vault.

Follow the steps to use this API:


1. Invoke the Authentication API
2. Invoke the Login Credentials API
Authentication API
For details, see article Control Room API for Authentication.

Login Credentials API

Note: Only Control Room administrators, with AAE_Admin role, can use Login Credentials API.

This API uses the authentication token obtained using the Authentication API. The authentication token needs to be passed on as one of
the header inputs to the Login Credentials API.

API: v1/credentialvault/external/credentials/loginsetting
If the Control Room URL is:
https://ultron.com:81, then the API will be: https://ul- tron.com:81/v1/credentialvault/external/credentials/loginsetting
The API requires the following parameters as input in JSON format:
1. The username of the AAE user.
2. The Login (Windows) username for the user which is to be updated in the Credential Vault against that user.
3. The Login (Windows) password for the user which is to be updated in the Credential Vault against that user.

Note: All parameters are mandatory.


For Example:
Database Authentication scenario (where users are stored and authenticated by the Control Room)

1. The AAE username is mike_williams


2. The fully qualified Login username is ultron.com\mike.williams
3. The Login password is abc123, then the JSON will be
{ "Username": "mike_williams", "Windows_Username": "ultron.com\\mike.williams", "Windows_Password": "abc123" }

Using the Login Credentials API, the Control Room Admins can:

1. Create Login Credentials in the Control Room - by using the 'POST' method
2. Update Login Credentials in the Control Room - by using the 'PUT' method
3. Delete Login Credentials from Control Room - by using the 'DELETE' method.

VB Script to Create User's Login Credentials


Copyright © 2018 Automation Anywhere, Inc. 11 https://support.automationanywhere.com
'AUTHENTICATION API - START
Set objStream = CreateObject("ADODB.Stream")
objStream.CharSet = "utf-8"
objStream.Open
objStream.LoadFromFile("D:\Deven.Deshpande\Office\Products\API for CV\auth-input.txt")

restRequest = objStream.ReadText()

objStream.Close
Set objStream = Nothing

contentType = "application/json"

Set oWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")

oWinHttp.Open "POST", "http://productslt12.aaspl-brd.com:81/v1/authentication", False

oWinHttp.setRequestHeader "Content-Type", contentType

oWinHttp.Send restRequest

response = oWinHttp.StatusText

MsgBox response

Dim AuthToken

'Set oJson = new aspJSON

AuthToken = oWinHttp.ResponseText

'oJson.loadJSON(AuthToken)

'MsgBox oJson.data("token")

MsgBox AuthToken

'AUTHENTICATION API - ENDS

'---------------------------------------------------

'RESPONSE HEADER PARSING - START


Dim sToken
Dim posUser

sToken = Right(AuthToken, Len(AuthToken) - 10)

MsgBox(sToken)

'sToken = Left(sToken, Len(sToken) - 4)

posUser = InStr(sToken, "user")

MsgBox posUser

sToken = Left(sToken, posUser - 4)

MsgBox(sToken)

Copyright © 2018 Automation Anywhere, Inc. 12 https://support.automationanywhere.com


'RESPONSE HEADER PARSING - END

'DEPLOYMENT API - START

Set objStream_dep = CreateObject("ADODB.Stream")


objStream_dep.CharSet = "utf-8"
objStream_dep.Open
objStream_dep.LoadFromFile("D:\Deven.Deshpande\Office\Products\API for CV\cred-input.txt")

restRequest = objStream_dep.ReadText()

objStream_dep.Close
Set objStream = Nothing

contentType = "application/json"

Set oWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")

oWinHttp.Open "POST", "http://productslt12.aaspl-brd.-


com:81/v1/credentialvault/external/credentials/loginsetting", False

oWinHttp.setRequestHeader "Content-Type", contentType

oWinHttp.setRequestHeader "X-Authorization", sToken

oWinHttp.Send restRequest

response = oWinHttp.StatusText

MsgBox response

Dim DeployResponse

DeployResponse = oWinHttp.ResponseText

'MsgBox DeployResponse

'DEPLOYMENT API - ENDS

Contents of Input Files

Applicable to the above VB Script

The text Of auth-input.txt will have the input JSON String For authentication {"UserName":"admin","Password":"12345678"}

The text For deploy-input.txt will have the input JSON String For deployment
{ "Username": "mike_williams", "Windows_Username": "ultron.com\\mike.williams", "Windows_Password": "abc123" }

Copyright © 2018 Automation Anywhere, Inc. 13 https://support.automationanywhere.com


4. Control Room API for Bot deployment
To deploy Bots onto the Automation Environment, you must first login into the Control Room, then select the Bot and Bot Runners,
and finally Run or Schedule the task.

For Automation scale up scenarios, there is an increasing need to deploy or trigger Bots from an external third-party application. To
meet this business requirement, Automation Anywhere Enterprise (AAE) has published Application Programming Interfaces (APIs)
that can trigger Bots from an external system.

A Control Room user can use these APIs to deploy Bots (Tasks) to BotRunners on commencement of events specified by a third-party
or external application.

Key Features and Business Benefits of Control Room APIs

1. Bots can be deployed from third-party systems using AAE APIs.


2. The input and output of APIs is based on the JSON format (industry standard data-interchange format).
3. Bot Deployment can be orchestrated from an external application or workflow using a combination of scripts and AAE
APIs.

Note: The Bot deployment API can ONLY be invoked once the system/user has authenticated using the
Authentication API

You would require authorizations for Run my bots and BotRunners (on which the bot is deployed).

Deployment API
The Deployment API is used to deploy Bots to BotRunners.
API: <Control Room URL>/v1/schedule/automations/deploy

For Example:
If the Control Room URL is https://www.ultron.com:81 ; then the bot deployment API will be https://www.ul-
tron.com:81/v1/schedule/automations/deploy

You can pass the following three parameters as JSON string.


1. Bot name with relative path. This is mandatory.
2. List of Bot-Runners and users in JSON format. This is mandatory.
3. Use RDP based approach. This is optional and set to false by default.

Deployment Scenario and corresponding JSON string:


3. For example: the name of the Bot is AccountsBot.atmx and the Bot is under ‘My Tasks’
4. The Bot must be deployed on 3 machines
• l First machine hostname BR-1 with user U-1
• l Second machine hostname BR-2 with user U-2
• l Third machine hostname BR-3 with user U3.
5. The JSON string in the above scenario will be:
{
"taskRelativePath":"My Tasks\\AccountsBot.atmx", "botRunners":
[
{
"client":"BR-1", "user":"U-1"
},
{

Copyright © 2018 Automation Anywhere, Inc. 14 https://support.automationanywhere.com


"client":"BR-2", "user":"U-2"
},
{
"client":"BR-3", "user":"U-3"
}
]
}

Bot Deployment API Response Codes


Http(s) Status code Response - Description

200 Successful creation of automaton.

400 Bad Request

401 Authentication Required

403 Unauthorized access

409 Conflict
500 Internal Server error

Copyright © 2018 Automation Anywhere, Inc. 15 https://support.automationanywhere.com


5. API - export and import Bots for Bot lifecycle management
The Control Room user has to depend on means other than Control Room (such as: email) to deploy TaskBots from one environment
to another. Using the Export/Import APIs, you can easily introduce a customized Bot Lifecycle Management (BLM) solution, hence
removing all external factors that can disrupt your automation life cycle.

As a Control Room user with Export and Download bot permission, you can export a bot and its dependent files. Similarly, as a user with
Import and Upload bot permission, you can import that bot and its dependent files.
For example: you can move the bots from staging to production that are verified as production ready.

Use the Control Room Export Import REST API to manage your automation TaskBots including dependent files in different environments
such as Development, Testing, Acceptance, and Production based on your organization automation needs.

Refer to Export bot files and Import bot files to use the functionality from your Control Room user interface.

Features and Benefits


• Role based access control on Bot Lifecycle Management
• Automatic export of dependencies (files and bots)
• Audit and traceability on source and target environment for compliance
• Email notification on successful execution or failure of export and import.

Prerequisites

Export
1. The Control Room user whose credentials are used for authentication must have Export bots permission.
2. The Control Room user, whose credentials are used for authentication must have Download permission on the Bots, minimum
Execute permission on MetaBot, and dependencies that are exported.
3. If versioncontrol is enabled in the source Control Room, you must set it for the production version of al botsand dependencies that
you want to export.
4. User account used to run the Control Room services must have access to the location where package is getting exported, such
as: network location in shared drive or the Control Room server machine.

Import
1. The Control Room user whose credentials are used for authentication must have Import bots permission.
2. The Control Room user whose credentials are used for authentication must have Upload permission on the Bots and dependencies
that are imported.
3. The Control Room user using the APIs to import multiple bots must have access to the exported package file provided by
Automation Anywhere.
4. User account used to run the Control Room services must have access to the location where package is imported, such as:
network location in shared drive or the Control Room server machine.

API Endpoints
a. Export - <Control Room URL>/v1/alm/export
For example: https://crdevenv.com:81/v1/alm/export
b. Import - <Control Room URL>/v1/alm/import

For example: https://crtestenv.com:82/v1/alm/import


Using the above end points of the BLM Export Import API you can export and import a single bot and all its dependencies.

Export Bot
Export a single bot with its dependent files using the Export API provided by Automation Anywhere:
1. Use the Post method to generate a token using the end point http(s)://<hostname:port>/v1/authentication. For this provide the
Control Room instance as Server Name /Hostname /IP and the Port number.
Copyright © 2018 Automation Anywhere, Inc. 16 https://support.automationanywhere.com
For example: https://crdevenv.com:81/v1/authentication

2. Use the Post method and state the parameters for credentials in Body data as follows. Refer to the following sample:
{
"username":"cradmin"
"password":"cr@admin"

}
3. Click Play/Start.
4. BLM Export API will make use of the authentication token that is obtained using the Authentication API. The authentication token
must be passed on as one of the header inputs to the BLM Export API.
5. Provide parameters such as filename, destination path, and package name in Body data as follows to export a bot. Following
list provides parameter description:

• l filename - specifies the file path ending with the name of the bot that you want to export
• l destination path - specifies the destination path where the exported package is to be stored
• l package name - specifies the package name that you want to assign to the exported package

Refer to the following sample:


{
"filePath":"Automation Anywhere\\My Tasks\\Finance\\Account Reconciliation.atmx",
"destinationPath":"tempshare\\datashare\\Finance Department",
"packageName":"Finance package"
}
6. Click Play/Start.
7. Use multiple sources to view the export results in,
• Response Data that comprises of package path and checksum.
• Audit Log page (landing page as well as details page).
• Email when you receivenotification on success or failure, if configured.
Import Bot
Once the bot is successfully exported to a network drive or Control Room machine path, another authorized user can import that pack-
age to a different Control Room using the Import API:

1. Use the Post method to generate a token using the end point http(s)://<hostname:port>/v1/authentication. Provide the Control Room
instance as Server Name /Hostname /IP and the Port number.
For example: https://crtestenv.com:82/v1/authentication
2. Use the Post method and state the parameters for credentials in Body data as follows.

Refer to the following sample:


{
"username":"cradmin2",
"password":"cr@admin"
}
3. Click Play/Start.
4. BLM Import API will make use of the authentication token that is obtained using the Authentication API. The authentication token
must be passed on as one of the header inputs to the BLM Import API.
5. Once your credentials are authenticated, provide parameters such as package path and the checksum that was generated as a
token during export in Body data as follows.

Refer to the following sample:


{

Copyright © 2018 Automation Anywhere, Inc. 17 https://support.automationanywhere.com


"packagePath":"tempshare\\datashare\\Finance Department\\Finance Package_20171221-154403.aapkg",
"checksum":"ZLyQ+Lbu2N+beEuXf6qd2Qi9uwi3BZxApn57C7mYjKQ="
}

Tip: You can copy the response of the BLM Export API and directly pass that as an input to the BLM
Import API, if the package path is same and is accessible to the BLM Import API user.

Http(s) Status code Response - Description Corrective Action


200 Package created successfully NA
400 Bad request parameter Retry with valid parameters
404 File not found Ensure that the file/bot is present in Control Room
501 Permission error Ensure that you have the Export/Import bots or Upoad/Down-
load permission

Audit Logs
An audit entry is logged in the Control Room Audit Log page when you export or import bots. The illustration below shows the detailed
audit entries for Export and Import Bots

Export bots audit details

Note: Cross import/export from API to User Interface (and vice versa) is not supported.

Import bots audit details

Copyright © 2018 Automation Anywhere, Inc. 18 https://support.automationanywhere.com


Copyright © 2018 Automation Anywhere, Inc. 19 https://support.automationanywhere.com
6. API - export and import workload management configuration
As a Control Room administrator or user with Export/Import bot permissions, you can export and import Workload configuration to move
validated configuration from one environment to another.
For example: you can move the queues that are verified as production ready from staging to production.

Use the Control Room Export Import REST API to manage your automation in different environments such as development, testing,
acceptance, and production based on your organization's automation needs.

Features and Benefits


• Role based access control on Workload Management module
• Audit and traceability on source and target environment for compliance

Prerequisites
Export
1. The Control Room user whose credentials are used for authentication must be the admin or should have Export bot permission.
2. The Control Room user must be Queue Admin or Owner of the queue to export a queue.
3. Since details of queue owners, consumers, and participants are not part of the export, you need to manually add those as required
after import.
4. User account that is used to run the Control Room services must have read/write access permission to the folder where package is
getting exported, i.e. the application path which could be either a network location (shared drive) or local machine.

For example:
C:\Users\Public\Documents\Server Files\wlm-files\export

5. l Maximum 200 queues can be exported in a package.


6. l Maximum size of package supported can be 10 GB (irrespective of number of files to export).
7. l Queues in draft state cannot be exported.
8. l Entire export operation will fail, if any of the queue export fails.

Import
1. The Control Room user whose credentials are used for authentication must have Import bot permission.
2. The Control Room Queue Admin can import all queues.
3. The Control Room user who would use the APIs to import multiple bots must have read /write access permission to the folder where
the exported package file would be provided by Automation Anywhere. The application path could be either a network location on
shared drive or a local machine.

For example:
C:\Users\Public\Documents\Server Files\wlm-files\import
4. l User importing the package becomes the owner of the imported queue by default. Add participants, consumers or additional
owners manually on the imported queues, as required.
5. l If a queue category is already created by any previous import, subsequent imports will just use that queue category if all column
names and types match.

API Endpoints
a. Export - <Control Room URL>/v1/wlm/queues

For example:
https://crdevenv.com:81/v1/wlm/queues

Copyright © 2018 Automation Anywhere, Inc. 20 https://support.automationanywhere.com


b. Import - <Control Room URL>/v1/wlm/queues

For example:
https://crtestenv.com:82/v1/wlm/queues
Export and import queues using the above end points of the WLM Export Import API.

Export Queues
Export queues using the Export API provided by Automation Anywhere as follows:

1. Use the POST method to generate a token using the end point as http(s)://<hostname:port>/v1/authentication. For this, provide the
Control Room instance as Server Name /Hostname /IP and the Port number.

For example: https://crdevenv.com:81/v1/authentication


2. Use the POST method and state the parameters for credentials in Body data as follows. For example:
{
"username":"Mike.Lee",
"password":"1234567890"
}
3. Click Play/Start/Send.
4. The Workload Export API would make use of the authentication token that is obtained using the Authentication API. The
authentication token must be passed on as one of the header inputs to the Workload Export API.
5. Provide Request parameters X-Authorization, Accept and queue-ids as Headers.

For example:
{
"X-Authorization":"authorization token issued by Control Room after login",
"Accept":"application/json/file",
"queue-ids":"1,2,3,4,5"
}
6. Click Play/Start/Send.
7. The action is successful when the response status is 200 OK.
8. Copy the package name from the response frame. You can use this to import the queue package.

Tip: Ensure the import package has the correct extension - .wlmpkg

For example: copy the filename given in content-disposition:


cache-control → no-cache, no-store, max-age=0, must-revalidate
content-disposition → attachment; filename=WorkloadPackage_20180524_180900.wlmpkg
content-length → 887
content-type → application/aapkg
date → Thu, 24 May 2018 12:39:00 GMT

expires → 0
pragma → no-cache
x-frame-options → SAMEORIGIN

Import Queues
Once the queue package is successfully exported to a network drive or Control Room machine path, another authorized user can import
that package to a different Control Room using Import API:

Copyright © 2018 Automation Anywhere, Inc. 21 https://support.automationanywhere.com


1. Use the Post method to generate a token using the end point http(s)://<hostname:port>/v1/authentication. Provide the Control Room
instance as Server Name /Hostname /IP and the Port number.
For example: https://crtestenv.com:82/v1/authentication
2. Use the POST method and state the parameters for credentials in the request body.
Refer to the following sample:
{
"username":"Tom.Watson",
"password":"1234567890"
}
3. Click Play/Start/Send
4. Workload Import API will make use of the authentication token that is obtained using the Authentication API. The authentication
token has to be passed on as one of the header inputs to the Workload Import API.
5. Provide Request parameters X-Authorization, and Content-Type as Headers.

For example:
"X-Authorization":"authorization token issued by Control Room after login",
"Content-Type":"multipart/form-data"

6. Now prov67
7. e the parameters Content-Disposition: form-data; name="upload"; filename="{file name}" to import the queue package in the request
body.

For example:
Content-Disposition: form-data;
name="upload"; filename="{WorkloadPackage_20180524_180900.wlmpkg}"
8. Click Play/Start/Send.
9. The action is successful when the response status is 200 OK.

API Response Codes


Http(s) Status code Response - Description Corrective Action
200 Package created successfully NA
400 Bad request parameter Retry with valid parameters
404 File not found Ensure that the queue is present in Control Room
501 Permission error Ensure that you have the required permission

Audit Logs
An audit entry is logged in the Control Room Audit Log page when you export or import queues. The following image displays the
successful and unsuccessful audit for Export queues:

Copyright © 2018 Automation Anywhere, Inc. 22 https://support.automationanywhere.com


Copyright © 2018 Automation Anywhere, Inc. 23 https://support.automationanywhere.com
7. API - get all queues
As a Control Room user with Export and Import Bots, and Queue Admin role permissions, you can use the Get all queues API fetch the
list of work items of all queues and its details available in the Control Room.
As the Control Room user with Export and Import Bot permission, along with Queue Owner, Participant, and/or Consumer privileges, use
the Get all queues API to fetch the list of work items and its details in a queue, available in the Control Room.
API End Point
Use the following end point to access the API:

<Control Room URL>/v1/wlm/queues

For example:
https://crdevenv.com:81/v1/wlm/queues

Get all queues


1. Use the Post method to generate a token using the end point http(s)://<hostname:port>/v1/authentication. For this provide the
Control Room instance as Server Name /Hostname /IP and the Port number.

For example:
https://crdevenv.com:81/v1/authentication
2. Use the GET method to access the Workload APIs.
For example:
GET https://crdevenv.com:81/v1/wlm/queues
3. Provide the following Request parameters in Headers

“X-Authorization” : “Authorization token”


“Content-Type” : “application/json”

4. Click Send.
5. The action is successful when the response status is 200 OK.
6. You can view the result in the Body data as follows. For example:
[
{
"id": 1, "createdBy": 2, "createdOn": "2018-05-23T16:53:46+05:30", "updatedBy": 2, "updatedOn":
"2018-05-24T16:26:02+05:30", "tenantId": 1, "version": 2, "name": "Invoice Queue", "description": "",
"reactivationThreshold": 1, "status": "IN_USE", "expiry": null, "manualProcessingTime": null, "manu-
alProcessingTimeUnit": "SECONDS", "workItemProcessingOrders": [ { "id": 3, "priority": 1, "columnId":
2, "sortDirection": "asc" } ], "displayColumnIds": null, "workItemModelId": 1
},

{
"id": 2, "createdBy": 2, "createdOn": "2018-05-25T12:28:36+05:30", "updatedBy": 2, "updatedOn":
"2018-05-25T12:28:36+05:30", "tenantId": 1, "version": 0, "name": "Devices for deployment queue",
"description": "", "reactivationThreshold": 1, "status": "NOT_IN_USE", "expiry": null, "manu-
alProcessingTime": null, "manualProcessingTimeUnit": "SECONDS", "workItemProcessingOrders": [ { "id":
4, "priority": 1, "columnId": 6, "sortDirection": "asc" } ], "displayColumnIds": null,
"workItemModelId": 2
}
]

Copyright © 2018 Automation Anywhere, Inc. 24 https://support.automationanywhere.com


API Response Codes
Http(s) Status code Response - Description Corrective Action
200 Queue details listed suc- NA
cessfully
400 Bad request parameter Retry with valid parameters
404 File not found Ensure that the queue is present in Control Room
501 Permission error Ensure that you have the required permission

Copyright © 2018 Automation Anywhere, Inc. 25 https://support.automationanywhere.com


8. API - get all work items of a queue
As a Control Room user with Queue Admin role or Queue Owner, Participant, and/or Consumer privileges, you can use the Get all
queues API to access all work items of a queue.

API End Point


Use the following end point to access the API:
<Control Room URL>/v1/wlm/queues/<queue-id>/workitems

For example: https://crdevenv.com:81/v1/wlm/queues/1/workitems


Get all queues
1. Use the Post method to generate a token using the end point http(s)://<hostname:port>/v1/authentication. For this provide the
Control Room instance as Server Name /Hostname /IP and the Port number.
For example:
https://crdevenv.com:81/v1/authentication
2. Use the GET method to access the Workload API and the work items within a specific queue
For example:
GET https://crdevenv.com:81/v1/wlm/queues/1/workitems
3. Provide the following Request parameters in Headers
"X-Authorization" : "Authorization Token"
"Content-Type": "application/json"
4. Click Send.
5. The action is successful when the response status is 200 OK.
6. You can view the result in the Body data as follows:

For example:
[
{ "id": 1, "createdBy": 2, "createdOn": "2018-05-23T16:54:15+05:30", "updatedBy": 2, "updatedOn":
"2018-05-23T16:54:15+05:30", "tenantId": 1, "version": 0, "deviceId": null, "status": "ERROR",
"startTime": null, "endTime": null, "brUserId": null, "queueId": 1, "comment": null, "botId": null,
"poolId": null, "automationId": null, "data": { "Invoice Id": "INV4001", "Customer Name": "Mymm",
"Amount": "", "email": "bfreshwater0@nps.gov", "Invoice Date": "2018-04-17T02:33:32Z" },
"lastPausedTime": null, "totalPausedTime": 0
},

{ "id": 2, "createdBy": 2, "createdOn": "2018-05-23T16:54:15+05:30", "updatedBy": 2, "updatedOn":


"2018-05-23T16:54:15+05:30", "tenantId": 1, "version": 1, "deviceId": null, "status": "NEW",
"startTime": null, "endTime": null, "brUserId": null, "queueId": 1, "comment": null, "botId": null,
"poolId": null, "automationId": null, "data": { "Invoice Id": "INV4002", "Customer Name": "Vipe",
"Amount": 1025, "email": "ibricksey1@godaddy.com", "Invoice Date": "2018-04-14T08:52:35Z" },
"lastPausedTime": null, "totalPausedTime": 0
},
{ "id": 3, "createdBy": 2, "createdOn": "2018-05-23T16:54:15+05:30", "updatedBy": 2, "updatedOn":
"2018-05-23T16:54:15+05:30", "tenantId": 1, "version": 1, "deviceId": null, "status": "NEW",
"startTime": null, "endTime": null, "brUserId": null, "queueId": 1, "comment": null, "botId": null,
"poolId": null, "automationId": null, "data": { "Invoice Id": "INV4003", "Customer Name": "Skyndu",
"Amount": 1466, "email": "vwooster2@nymag.com", "Invoice Date": "2018-04-25T14:02:29Z" },
"lastPausedTime": null, "totalPausedTime": 0
},
....]

Copyright © 2018 Automation Anywhere, Inc. 26 https://support.automationanywhere.com


API Response Codes

Http(s) Status code Response - Description Corrective Action


200 Work items listed suc- NA
cessfully
400 Bad request parameter Retry with valid parameters
404 File not found Ensure that the queue is present in Control Room
501 Permission error Ensure that you have the required permission

Copyright © 2018 Automation Anywhere, Inc. 27 https://support.automationanywhere.com


9. API - add/insert work item data to queue
As a Control Room administrator, user with Export and Import Bots and Queue Admin role permissions, Queue Owner, Participant,
and/or Consumer privileges, you can use the REST API provided by Automation Anywhere to add work item data to queues created in
the Control Room.

API End Point


Use the following end point to access the API:
<Control Room URL>/v1/wlm/queues/<queue-id>/workitems
For example:
https://crdevenv.com:81/v1/wlm/queues/1/workitems
Steps to add work item data to a queue
1. Login to Control Room. Refer Log on to Control Room for more information.
2. Create a queue. Refer Create a queue for more information
3. For the next step, you need to note down the Queue Id from the database that you configured for your Control Room. Refer AAE
Control Room Installation Guide for more information.
For example:
a. Go to Control Room Database
b. Right click dbo.QUEUES in the Tables node
c. Click Select Top 1000 Rows to run the SQL query for Queues.
d. Identify the queue id that is displayed beside the queue name column - in this case 1
4. Use POST method to the insert work item data to queue API to upload work items.

For example: if the Queue Id is '1', use the following parameters,


https://crdevenv.com:81/v1/wlm/queues/1/workitems
5. Provide the following Request parameters in Headers.

“X-Authorization” : “Authorization token”


“Content-Type” : “application/json”
6. In the Request Body, provide required parameters that include the work item column names with its data to insert it in a queue.
Ensure the parameters for columns in the Body data as follows match that of the queue structure.

For example:
[{"Invoice Id":"INV5001","Customer Name":"Daniel","Amount":"55555","email":"daniel@aae.com","Invoice
Date":"2018-05-28"}]

7. Click Send.
8. The action is successful when the response status is 200 OK.
9. You can view the result in the Body data as follows. For example:
[
{
"id": 11, "createdBy": 2, "createdOn": "2018-05-28T12:29:22+05:30", "updatedBy": 2, "updatedOn":
"2018-05-28T12:29:22+05:30", "tenantId": 1, "version": 0, "json": "q+j74omkZEMS0Ta2obN0Pvm-
b1se/xK+MDc3k0/V4TOXfm1ICoG2jNEsT/yPlW5Xc64opOqAuozVoSf8Hg/us3HqIOtKRun-
IJB4is/rCG9xK7g9LN+e3Cg4DTlgfoxD9UeB0oU+bXKKq1b3p6EI9f07gvvrymM45pIsoktSkM3+U=", "deviceId": null,
"status": "NEW", "startTime": null, "endTime": null, "col1": "INV5001", "col2": "Daniel", "col3":
"55555", "col4": "daniel@aae.com", "col5": "2018-05-28", "brUserId": null, "queueId": null, "com-
ment": null, "botId": null, "poolId": null, "automationId": null, "lastPausedTime": null,
"totalPausedTime": 0
}
]

Copyright © 2018 Automation Anywhere, Inc. 28 https://support.automationanywhere.com


10. Go to Control Room → Workload → Queues → View page to verify that the data is added:

API Response Codes


Http(s) Status code Response - Description Corrective Action
200 Work item data inserted suc- NA
cessfully
400 Bad request parameter Retry with valid parameters
404 File not found Ensure that the queue is present in Control Room
501 Permission error Ensure that you have the required permission

Copyright © 2018 Automation Anywhere, Inc. 29 https://support.automationanywhere.com


10. APIs to manage credential vault
As a Control Room user with Manage my credentials and lockers role permissions, use the Credential Vault APIs to manage your
Credentials, Attributes, Lockers, and Credential Vault mode in the Control Room.

1. The Credential APIs can be used to create, update, and delete credentials.
2. The Credential Attribute APIs can be used to create, update, and delete the credential attributes and values.
3. The Locker APIs can be used to add, edit, and remove lockers including consumers and members
4. The Credential Vault mode APIs can be used to configure the Connection mode that allows you to connect to the Credential Vault
using a Master key.

Note: The examples provided in this article are for reference only.
API end point
Use the following end point to access the Credential Vault APIs:
<Control Room URL>/v2/credentialvault

APIs to manage credentials


Use these APIs to manage your Credentials in the Control Room.
Before accessing the Credential Vault API's you must first use the authentication API and pass it as a token to use a particular Credential
Vault API.
1. Use the POST method to generate a token using the end point http(s)://<hostname:port>/v1/authentication. For this provide the
Control Room instance as Server Name /Hostname /IP and the Port number.
For example:
https://crdevenv.com:81/v1/authentication
2. Provide the following request payload in Headers
“X-Authorization” : “Authorization token”
“Content-Type” : “application/json”

3. Provide the following request payload in Body:


{
"username": "<Username>",
"password": "<Password>"
}
For example:
{
"username":"Ellie.Brown",
"password": "12345678"
}

Create Credential API


This API allows you to create a credential.
<Control Room URL>/v2/credentialvault/credentials

1. Provide the "X-Authorization" and "Content Type" parameters in Headers.


2. Use the POST method to provide the following request payload in Body:
{
"name": "<Credential Name>",
"description": "<Credential Description>",
"attributes":
[

Copyright © 2018 Automation Anywhere, Inc. 30 https://support.automationanywhere.com


{
"name": "<Attribute Name>",
"description": "<Attribute Description>",
"userProvided": <true or false>,
"masked": <true or false>
}
]
}
For example:
The following creates a Credential "SharePoint Login" with "Username" as an attribute:

{
"name": "SharePoint Login",
"description": "Credentials to login to SharePoint",
"attributes":
[
{
"name": "Username",
"description": "Name of the user",
"userProvided": true,
"masked": true
}
]
}
3. Click Send.
4. The action is successful when the response status is 201 Credential created.
5. You can view the response in the Body data as follows.
{

"id": "10",

"name": "SharePoint Login",

"description": "Credentials to login to SharePoint",

"ownerId": "1",

"attributes": [

"id": "58",

"name": "Username",

"description": "Name of the user",

"userProvided": true,

"masked": true,

"createdBy": "1",
Copyright © 2018 Automation Anywhere, Inc. 31 https://support.automationanywhere.com
"createdOn": "2018-07-16T06:04:32.905Z",

"updatedBy": "1",

"updatedOn": "2018-07-16T06:04:32.905Z",

"version": "0"

],

"createdBy": "1",

"createdOn": "2018-07-16T06:04:32.905Z",

"updatedBy": "1",

"updatedOn": "2018-07-16T06:04:32.905Z",

"version": "0"

Parameter Description
Parameter Description
name Credential name in the first instance and Attribute name in the second instance
description Credential description in the first instance and Attribute value description in second instance
userProvided Whether the Attribute type is User-provided or Standard. If User-provided, this is set to true which is
also the default parameter. For details on Attribute value types, refer Create a credential.
masked Whether the Attribute value is Masked. This is set to true if it is encrypted. For details refer Create a
credential.

List of credentials
This API allows you to view all credentials where a user is an owner or has access through a locker. If the user is a locker admin, it lists
all credentials in the system.

1. Provide the "X-Authorization" parameter in Headers.


2. Use the POST method to access the Credential APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault/credentials?consumed="<true or false>"&name or names="<filter credentials name(s)
separated by comma>"
For example:
The following lists all Credentials that are not consumed:
https://crdevenv.com:81/v2/credentialvault/list?consumed=false
3. Click Send.
4. The action is successful when the response status is 200 Found credentials.
5. You can view the response in Body data as follows:
{
"list":

Copyright © 2018 Automation Anywhere, Inc. 32 https://support.automationanywhere.com


[

{ "id": 12, "createdBy": “1”, "createdOn": "2018-06-25T14:13:58+05:30", "updatedBy": “1”,


"updatedOn": "2018-06-25T14:13:58+05:30", "tenantId": “1”, "version": 0, "name": "SharePoint Login",
"description": "-", "lockerId": null, "ownerId": “1”, "attributes": [ { "id": 61, "createdBy": “1”,
"createdOn": "2018- 06-25T14:13:58+05:30", "updatedBy": “1”, "updatedOn": "2018-06-25T14:13:58+05:30",
"tenantId": “1”, "ver-
sion": 0, "name": "Username", "description": "-", "userProvided": true, "masked": true } ], "com-
pleted": false },
{ "id": 11, "createdBy": “1”, "createdOn": "2018-06-21T12:56:07+05:30", "updatedBy": “1”, "updatedOn":
"2018-06-21T13:00:22+05:30", "tenantId": “1”, "version": “1”, "name": "SharePoint-User1",
"description": "name of the SharePoint user", "lockerId": null, "ownerId": “1”, "attributes": [ {
"id": 59, "cre- atedBy": “1”, "createdOn": "2018-06-21T12:56:07+05:30", "updatedBy": “1”, "updatedOn":
"2018-06- 21T13:00:22+05:30", "tenantId": “1”, "version": “1”, "name": "SP-User1", "description":
"name of the user", "userProvided": true, "masked": false }, { "id": 60, "createdBy": 1,
"createdOn": "2018-06- 21T13:00:22+05:30", "updatedBy": 1, "updatedOn": "2018-06-21T13:00:22+05:30",
"tenantId": “1”, "ver-
sion": 0, "name": "Victor.Hugo", "description": null, "userProvided": true, "masked": false }
],
"completed": false
]
}

Parameter Description
Parameter Description
consumed Filters credentials by fact if credential is userProvided and consumed by current user.
name Filters credentials by a single name.
names Filters credentials by comma separated list of names.

List credential by id
This API allows you to view details of the credential whose id you provide as a parameter or the complete credential list.

Tip: You can identify the Id of a credential from the list of credentials that were fetched using the
List Credentials API.
1. Provide the "X-Authorization" and "Content Type" parameters in Headers.
2. Use the GET method to access the Credential APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault/credentials/<id>
For example:
The following fetches a user credential that has the id 12:
https://crdevenv.com:81/v2/credentialvault/credentials/12
3. Click Send.
4. The action is successful when the response status is 200.
5. You can view the response in Body data as follows:
{
"id": 12, "createdBy": “1”, "createdOn": "2018-06-25T14:13:58+05:30", "updatedBy": “1”, "updatedOn":
"2018-06-25T14:13:58+05:30", "tenantId": “1”, "version": “0”, "name": "SharePoint Login",
"description": "-", "lockerId": null, "ownerId": “1”,
"attributes":
[

Copyright © 2018 Automation Anywhere, Inc. 33 https://support.automationanywhere.com


{ "id": “61”, "createdBy": “1”, "createdOn": "2018-06-25T14:13:58+05:30", "updatedBy": “1”,
"updatedOn":
"2018-06-25T14:13:58+05:30", "tenantId": “1”, "version": “0”, "name": "Username", "description": "-",
"userProvided": true, "masked": true }
]
}

Update credential
This API allows you to update existing credentials.

1. Provide the "X-Authorization" and "Content Type" parameters in Headers.


2. Use PUT method to access the Credential APIs http(s)://<hostname:port>/v2/credentialvault/credentials/<id>
For example:
The following updates the credential with Id 12 :
https://crdevenv.com:81/v2/credentialvault/credentials/12
3. Provide the following request payload in Body:
{
"id": "<Credential id>", "version": <Version id>, "name": "<Credential Name>", "description": "<Credential Description>", "lockerId":
null, "ownerId": <the user ID of the owner>,
"attributes":
[
{ "id": <Attribute id>, "version": 0, "name": "<Updated attribute name >", "description": "<Updated attribute description>", "user-
Provided": <False or true>, - Attribute type "masked": <false or true> masking is true or false }
]
}
For example:
If you want to update the Credential Description, you can provide following request parameters:
{
"id": "12", "version": 0, "name": "SharePoint Login", "description": "Login details for
SharePoint", "lockerId": null, "ownerId": <the user ID of the owner>,
"attributes":
[
{ "id": “61”, "version": 0, "name": "<Updated attribute name >", "description": "SharePoint
User- name", "userProvided": <False or true>, - Attribute type "masked": true
}
]
}

Tip: You can input only those parameters that you want to update and keep the other para-
meter values intact; i.e. make no change.
4. Click Send.
5. The action is successful when the response status is 200 Credential updated.
6. You can view the response in Body data as follows:
{
"id": 12, "createdBy": 1, "createdOn": "2018-06-25T14:13:58+05:30", "updatedBy": 1, "updatedOn":
"2018-06-25T14:13:58+05:30", "tenantId": 1, "version": 0, "name": "SharePoint Login", "description":
"Login details for SharePoint", "lockerId": null, "ownerId": 1,
"attributes":
[
{ "id": 61, "createdBy": 1, "createdOn": "2018-06-25T14:13:58+05:30", "updatedBy": 1, "updatedOn":
"2018-06-25T14:13:58+05:30", "tenantId": 1, "version": 0, "name": "Username", "description":

Copyright © 2018 Automation Anywhere, Inc. 34 https://support.automationanywhere.com


"SharePoint Username", "userProvided": true, "masked": true }
]
}

Parameter Description
Parameter Description
id Credential id in the first instance and Attribute id in the second instance. This can be identified by
using the Get Credential by Id API
version Updated version id of Credential in the first instance and Attribute in the second instance. In case of
discrepancy in earlier and current version, the conflict error is shown
name Updated Credential in the first instance and Attribute value in the second instance
description Updated Credential description in the first instance and Attribute value description in second instance
lockerId Locker id if available. If no locker id is provided this is set to null which is a default value. This can be
identified by using the Get Credential by Id API
ownerId The user id of the credential owner. This can be identified by using the Get Credential by Id API
userProvided Whether the Attribute type is User-provided or Standard. If User-provided, this is set to true which is
also the default parameter. For details on Attribute value types, refer Create a credential.
masked Whether the Attribute value is Masked. This is set to true if it is encrypted. For details refer Create a
credential.

Note: Using the update credential API, neither the lockerID nor the ownerID can be changed.

Update ownership of credential


This API allows you to update ownership of the credential.
1. Provide the "X-Authorization" parameters in Headers.
2. Use PUT method to access the Credential APIs
http(s)://<hostname:port>/v2/credentialvault/credentials/<id>/owner/<credentialOwnerId>
For example:
The following changes the ownership of credential with Id 12 from owner 1 to 2
https://crdevenv.com:81/v2/credentialvault/credentials/12/owner/2
3. Click Send.
4. The action is successful when the response status is 200 Successful update of credential ownership.
5. You can view the response in Body data as follows:
{
"id": 12, "createdBy": 1, "createdOn": "2018-06-25T14:13:58+05:30", "updatedBy": 1, "updatedOn":
"2018-06-25T14:13:58+05:30", "tenantId": 1, "version": 0, "name": "SharePoint Login", "description":
"Login details for SharePoint", "lockerId": null, "ownerId": 1,
"attributes":
[
{ "id": 61, "createdBy": 1, "createdOn": "2018-06-25T14:13:58+05:30", "updatedBy": 1, "updatedOn":
"2018-06-25T14:13:58+05:30", "tenantId": 1, "version": 0, "name": "Username", "description":
"SharePoint Username", "userProvided": true, "masked": true }
]
}

Parameter Description

Copyright © 2018 Automation Anywhere, Inc. 35 https://support.automationanywhere.com


Parameter Description
id Id of the Credential. This can be identified by using the Get Credential by Id API
credentialOwnerId Id of the new Credential owner. This can be identified by using the Get Credential by Id API

Delete credentials
This API allows you to delete the credential whose id you provide as a parameter
1. Provide the "X-Authorization" parameters in Headers.
2. Use the DELETE method to access the Credential APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault/credentials/<id>
For example:
The following deleted the credential that has Id 11
https://crdevenv.com:81/v2/credentialvault/credentials/11
3. Click Send.
4. The action is successful when the response status is 204 Successful Delete.

APIs to manage credential attributes


As a Control Room user with View and edit ALL credentials attributes value use the Credential Attribute APIs to manage your Credential
Attributes and its Values in the Control Room. Use this API to create, edit, and remove attribute values of user created credentials.
Before accessing the Credential Vault API's you must first use the authentication API and pass it as a token to use a particular Credential
Vault API.

1. Use the POST method to generate a token using the end point http(s)://<hostname:port>/v1/authentication. For this provide the
Control Room instance as Server Name /Hostname /IP and the Port number.
For example:
https://crdevenv.com:81/v1/authentication
2. Use the POST method to access the Credential APIs.
For example:
GET https://crdevenv.com:81/v2/credentialvault
3. Provide the following request payload in Headers
“X-Authorization” : “Authorization token”
“Content-Type” : “application/json”

Create attribute value


This API allows you to create attribute value of a credential whose id you provide as a parameter
1. Provide the "X-Authorization" and "Content Type" parameters in Headers.
2. Use the POST method to access the Credential APIs:
http(s)://<hostname:port>/v2/credentialvault/credentials/<id>/attributevalues
3. Provide the request payload in Body as follows:
{
“list”:
[
{
"credentialAttributeId": "<Attribute Id>",
"value": "<attribute value>"
}
]
}
For example:
Copyright © 2018 Automation Anywhere, Inc. 36 https://support.automationanywhere.com
For the Credential "SharePoint Login" that was created in the earlier example with Id "12", for the Attribute "username" with Id "30" you
can add the value as follows:
{
“list”:
[
{
"credentialAttributeId": "30",
"value": "Jane.Smith"

}
]
}
4. Click Send.
5. The action is successful when the response status is 201 Credential attribute values created.
6. You can view the response in Body data as follows:
[
{
"id":30,"createdBy":1,"createdOn":"2018-06-27T14:18:13+05:30","updatedBy":1,"updatedOn":"2018-06-
27T14:18:13+05:30","ten-
antId":1,"version":0,"userId":null,"value":"Jane.Smith","credentialAttributeId":62
}
]

Parameter Description
Parameter Description
credentialAttributeId Id of the Attribute. This can be identified by using the Get Credential by Id API
value Attribute value that you want to provide

List of credential attribute values


This API allows you to list all standard and user specified values for a specific credential.
1. Provide the "X-Authorization" parameters in Headers.
2. Use the GET method to access the Credential APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault/credentials/<id>/attributevalues
For example:
For the credential "SharePoint Login" with Id "12" for the Attribute "username" with Id "30" you can add the value as shown:
https://crdevenv.com:81/v2/credentialvault/credentials/12/attributevalues
3. Click Send.
4. The action is successful when the response status is 200 Credential attribute values found.
5. You can view the response in Body data as follows:
{ "list":[
{
"id": 30, "createdBy": 1, "createdOn": "2018-06-27T14:16:20+05:30", "updatedBy": 1, "updatedOn":
"2018-06-27T14:16:20+05:30", "tenantId": 1, "version": 0, "userId": null, "value": "Jane.Smith", "cre-
dentialAttributeId": 62
}
]}

Copyright © 2018 Automation Anywhere, Inc. 37 https://support.automationanywhere.com


Parameter Description
Parameter Description
id Id of the Credential. This can be identified by using the Get Credential by Id API
credentialAttributeId Id of the Attribute. This can be identified by using the Get Credential by Id API
userId Id of the Control Room user

Update credential attribute value


This API allows you to update the value of an attribute of the specified credential.
1. Provide the "X-Authorization" and "Content Type" parameters in Headers.
2. Use the PUT method to access the Credential APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault/credentials/<id>/attributevalues/<attributeValueId>
For example:
For the credential "SharePoint Login" with Id"12" for Attribute "username" with Id "30" you can update the value as shown:
https://crdevenv.com:81/v2/credentialvault/credentials/12/attributevalues/30
3. Provide the request payload in Body: [
{
"id": "<Attribute value id>", "version": 0, "value": "<Attribute value>", "credentialAttributeId": "<Attribute ID>"
}
]
4. Click Send.
5. The action is successful when the response status is 200 Credential attribute value updated.
6. You can view the response in Body data as follows:
[
{
"id":30,"createdBy":1,"createdOn":"2018-06-27T14:47:55+05:30","updatedBy":1,"updatedOn":"2018-06-
27T14:47:55+05:30","tenantId":1,"version":0,"userId":null,"value":"","credentialAttributeId":62
}
]

Parameter Description
Parameter Description
id Id of the Attribute Value. This can be identified by using the Get Credential by Id API
version Version number of the updated Attribute Value
credentialAttributeId Id of the Attribute. This can be identified by using the Get Credential by Id API

Delete credential attribute value


This API allows you to delete the attribute value of a specific credential
1. Provide the "X-Authorization" parameters in Headers.
2. Use the DELETE method to delete the credential attribute value using the Credential APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault/credentials/<id>/attributevalues/<attributeValueId>
For example:
https://crdevenv.com:81/v2/credentialvault/credentials/12/attributevalues/30
3. Click Send.
4. The action is successful when the response status is 204 Successful Delete.

APIs to manage lockers


Copyright © 2018 Automation Anywhere, Inc. 38 https://support.automationanywhere.com
As a Control Room admin with Administer all lockers permission or a Control Room user with Manage my lockers permission, use the
Manage Locker APIs to create, update, and delete Lockers, Consumers, and Members in the Control Room.

Before accessing these API’s, you must first use the authentication API and pass it as a token to use a particular Credential Vault API.

1. Use the POST method to generate a token using the end point http(s)://<hostname:port>/v1/authentication. For this provide the
Control Room instance as Server Name /Hostname /IP and the Port number.
For example:
https://crdevenv.com:81/v1/authentication
2. Use the POST method to access the Credential APIs
For example:
GET https://crdevenv.com:81/v2/credentialvault/lockers
3. Provide the following request payload in Headers
“X-Authorization” : “Authorization token”
“Content-Type” : “application/json”

List of lockers
This API fetches list of the lockers for which the logged-on user is a member (owner, manager or participant) or has usage permission. If
the user is locker admin, it fetches the list of all lockers in the system.

1. Provide the "X-Authorization" parameter in Headers.


2. Use the GET method to access the Locker APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault/lockers/list
3. Click Send.
4. The action is successful when the response status is 200 Lockers found.
5. You can view the response in Body data as follows:
{ "list":
[
{
"id": 2, "name": "SharePoint Locker", "description": "", "createdBy": 2, "createdOn": "2018-07-
04T09:40:49.187Z", "updatedBy": 2, "updatedOn": "2018-07-04T09:41:04.682Z", "tenantId": 1, "version":
1
},
{
"id": 3, "name": "Outlook Locker", "description": "", "createdBy": 2, "createdOn": "2018-07-
04T09:47:33.532Z", "updatedBy": 2, "updatedOn": "2018-07-04T09:47:33.532Z", "tenantId": 1, "version":
0
}
]}

Parameter Description
Parameter Description
id Locker id
name Name of the locker
description Description that is given for the locker

Create a locker
This API allows you to create a locker.

Copyright © 2018 Automation Anywhere, Inc. 39 https://support.automationanywhere.com


1. Provide the "X-Authorization" and "Content Type" parameters in Headers.
2. Use the POST method to access the Locker APIs : http(s)://<hostname:port>/v2/credentialvault/lockers
3. Provide the request payload in Body:
{
"name":"<Locker name>" ,

"description":"<Locker description>"

For example:
The following creates a "SalesForce" locker:
{
"name": "SalesForce Locker", "description": "Use this to store all credentials for the
SalesForce application"
}
4. Click Send.
5. The action is successful when the response status is 201 Locker created.
6. You can view the response in Body data as follows:
{
"id": 4, "name": "SalesForce Locker", "description": "Use this to store all credentials for the
SalesForce application", "createdBy": 2, "createdOn": "2018-07-04T09:55:04.045Z", "updatedBy": 2,
"updatedOn": "2018-07-04T09:55:04.045Z", "tenantId": 1, "version": 0
}

Parameter Description
Parameter Description
name Name of the locker as provided by the Locker admin
description Description of the locker

List of all lockers with additional fields included


This API fetches list of the lockers for which the logged-on user is a member (owner, manager or participant) or has usage permission. If
the user is locker admin, it fetches the list of all lockers in the system. The response includes locker members and count of credentials
inside each locker.
1. Provide the "X-Authorization" parameter in Headers.
2. Use the GET method to access the Locker APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault/lockers/list
For example:
The following lists all locker names with additional fields
https://crdevenv.com:81/v2/credentialvault/lockers/list
3. Click Send.
4. The action is successful when the response status is 200 Lockers found.
5. You can view the response in Body data as follows:
{ "list":[
{ "id": 2, "name": "SharePoint Locker", "description": "", "createdBy": 2, "createdOn": "2018-07-
04T09:40:49.187Z", "updatedBy": 2, "updatedOn": "2018-07-04T10:10:04.163Z", "tenantId": 1, "version":
2, "members": [ { "id": 1, "permissions": [ "participate", "manage" ] }, { "id": 2, "permissions": [
"participate", "own", "manage" ] } ], "countOfCredentials": 1 },

{ "id": 3, "name": "Outlook Locker", "description": "", "createdBy": 2, "createdOn": "2018-07-

Copyright © 2018 Automation Anywhere, Inc. 40 https://support.automationanywhere.com


04T09:47:33.532Z", "updatedBy": 2, "updatedOn": "2018-07-04T09:47:33.532Z", "tenantId": 1, "version":
0, "members": [ { "id": 2, "permissions": [ "participate", "own", "manage" ] } ], "coun-
tOfCredentials": 0 },

{ "id": 4, "name": "SalesForce Locker", "description": "-", "createdBy": 2, "createdOn": "2018-07-

04T09:55:04.045Z", "updatedBy": 2, "updatedOn": "2018-07-04T09:55:04.045Z", "tenantId": 1, "version":


0, "members": [ { "id": 2, "permissions": [ "participate", "own", "manage" ] } ], "coun-
tOfCredentials": 0 }
]}
List locker by ID
This API allows you to fetch locker details based on its Id.

Tip: You can identify the Id of a locker from the list of lockers that were fetched using the List Lock-
ers API.
1. Provide the "X-Authorization" and "Content Type" parameters in Headers.
2. Use the GET method to access the Credential APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault/lockers/<id>

For example:
The following fetches a locker that has the id 2:
https://crdevenv.com:81/v2/credentialvault/lockers/2
3. Click Send.
4. The action is successful when the response status is 200 Locker.
5. You can view the response in Body data as follows:
{
"id": 2, "name": "SharePoint Locker", "description": "", "createdBy": 2, "createdOn": "2018-07-
04T09:40:49.187Z", "updatedBy": 2, "updatedOn": "2018-07-04T10:10:04.163Z", "tenantId": 1, "version":
2
}

Update locker
This API allows you to update the values of a specific locker
1. Provide the "X-Authorization" and "Content Type" parameters in Headers.
2. Use the PUT method to access the Credential APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault//lockers/<id>
For example:
For the locker "SharePoint Locker" with Id"2" you can update the value as shown:
https://crdevenv.com:81/v2/credentialvault/lockers/2
3. Provide the request payload in Body:
{
"id": "<locker id>", "name": "<updated lockername>", "description": "<updated description>", "version": 0
}
4. Click Send.
5. The action is successful when the response status is 200 Locker updated.
6. You can view the response in Body data as follows:
{
"id": 2, "createdBy": 8, "createdOn": "2018-06-16T10:59:33Z", "updatedBy": 8, "updatedOn": "2018-06-
16T10:59:37Z", "version": 1, "name": "SharePoint-Locker", "description": "Locker to manage SharePoint
credentials"
}
Copyright © 2018 Automation Anywhere, Inc. 41 https://support.automationanywhere.com
Parameter Description
Parameter Description
id Id of the locker. This can be identified by using the Get Locker by Id API
version Version number of the updated locker value
name Updated name of the locker
description Updated description of the locker

Delete locker
This API allows you to delete the locker whose id you provide as a parameter
1. Provide the "X-Authorization" parameters in Headers.
2. Use the DELETE method to remove the credentials of a locker using Locker APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault/lockers/<id>
For example:
The following deletes the credential that has Id 4
https://crdevenv.com:81/v2/credentialvault/lockers/4
3. Click Send.
4. The action is successful when the response status is 204 Successful Delete.

List all locker consumers


This API allows you to fetch the list of roles that can use credentials in the locker
1. Provide the "X-Authorization" parameters in Headers.
2. Use the GET method to access the Locker APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault/lockers/<id>/consumers
For example:
The following fetches the roles that can use credentials from the locker with Id 2
https://crdevenv.com:81/v2/credentialvault/lockers/2/consumers
3. Click Send.
4. The action is successful when the response status is 200 Successful.
5. You can view the response in the Body data as follows:

{
"list":
[
{ "id": "14" }
]
}

Add locker consumers


This API allows you to add a consumer to the specified locker
1. Provide the "X-Authorization" and "Content Type" parameters in Headers.
2. Use the POST method to access the Locker APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault/lockers/<id>/consumers
For example:
The following allows you to connect to the locker with Id 2 wherein you want to add the role with consumer id 14
https://crdevenv.com:81/v2/credentialvault/lockers/2
3. Provide the request payload in Body:
{

Copyright © 2018 Automation Anywhere, Inc. 42 https://support.automationanywhere.com


"id": "<consumer id>"
}
For example:
{
"id": 14
}
4. Click Send.
5. The action is successful when the response status is 204 Successful creation of locker consumer.

Parameter Description
Parameter Description
id Id of the locker consumer. This can be identified by using the Get Locker by Id API

Remove locker consumers


This API allows you to remove consumers from the specified locker
1. Provide the "X-Authorization" parameters in Headers.
2. Use the DELETE method to remove a locker consumer using Locker APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault/lockers/<lockerId>/consumers/<roleId>
For example:
The following deletes the credential that has Id 2
https://crdevenv.com:81/v2/credentialvault/lockers/2/consumers/14
3. Click Send.
4. The action is successful when the response status is 204 Successful Delete.

List all locker members


This API allows you to fetch the list of all users that can add/remove credentials from the specified locker or edit the locker settings.
1. Provide the "X-Authorization" parameters in Headers.
2. Use the GET method to access the Locker APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault/lockers/<lockerId>/members
For example:
The following fetches the users that can add/remove user from the locker with Id 2
https://crdevenv.com:81/v2/credentialvault/lockers/2/members
3. Click Send.
4. The action is successful when the response status is 200 Locker Members.
5. You can view the response in the Body data as follows:
{
"list": [
{
"id": 1, "permissions": [ "participate", "manage" ]
},
{
"id": 2, "permissions": [ "participate", "own", "manage" ]
}
]
}

Copyright © 2018 Automation Anywhere, Inc. 43 https://support.automationanywhere.com


Add or update locker member
This API allows you to add a user who can add/remove credentials from the locker or edit the locker settings.
1. Provide the "X-Authorization" and "Content Type" parameters in Headers.
2. Use the PUT method to add/update user using Locker APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault/lockers/<lockerId>/members/<userId>
For example:
The following allows you to connect to the locker with Id 2 wherein you want to add the user with member id 3
https://crdevenv.com:81/v2/credentialvault/lockers/2/members/3
3. Provide the request payload in Body:
{ "permissions":
["<permission type>"]

For example:
{
"permissions": ["participate", "manage"]
}
4. Click Send.
5. The action is successful when the response status is 204 Successful creation/update of locker member.

Parameter Description
Parameter Description
permissions Permission that the user is granted. It can be participate, manage and/or own

Remove locker member


This API allows you to remove locker users or members from the specified locker
1. Provide the "X-Authorization" parameters in Headers.
2. Use the DELETE method to remove a locker consumer using Locker APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault/lockers/<lockerId>/members/<userId>
For example: the following deletes the locker user that has Id 3
https://crdevenv.com:81/v2/credentialvault/lockers/2/members/3
3. Click Send.
4. The action is successful when the response status is 204 Successful removal of locker member.

Add credential to a locker


This API allows you to add your own credential to a locker where you have owner, manage or participant permissions.
1. Provide the "X-Authorization" parameters in Headers.
2. Use the PUT method to add credentials to a locker using the Credentials API with following parameters:
http(s)://<hostname:port>/v2/credentialvault/lockers/<lockerId>/credentials/<credentialId>
For example:
The following adds a credential to the locker with Id 2
https://crdevenv.com:81/v2/credentialvault/lockers/2/credentials/58
3. Click Send.
4. The action is successful when the response status is 200 Credential has been added to the locker.

Locker credentials
Copyright © 2018 Automation Anywhere, Inc. 44 https://support.automationanywhere.com
This API allows you to fetch the list of credentials in a locker for which you have owner, manage or participant permissions.
1. Provide the "X-Authorization" parameters in Headers.
2. Use the GET method to fetch the list of credentials using the Credentials API with following parameters:
http(s)://<hostname:port>/v2/credentialvault/lockers/<lockerId>/credentials
For example:
The following lists all credentials that are added to the locker with Id 2
https://crdevenv.com:81/v2/credentialvault/lockers/2/credentials
3. Click Send.
4. The action is successful when the response status is 200 Locker credentials.
5. You can view the response in the Body data as follows:
{ "list": [
{
"id": 10, "name": "SharePoint Credentials", "description": "", "completed": false, "lockerId": 2, "ownerId": 2, "attributes":
[
{
"id": 58, "name": "username", "description": "", "userProvided": true, "masked": false, "createdBy": 2, "createdOn": "2018-07-
04T10:09:32.854Z", "updatedBy": 2, "updatedOn": "2018-07-04T10:09:32.854Z",
"tenantId": 1, "version": 0
},
{
"id": 59, "name": "password", "description": "", "userProvided": true, "masked": true, "createdBy": 2, "createdOn": "2018-07-
04T10:09:32.854Z", "updatedBy": 2, "updatedOn": "2018-07-04T10:09:32.854Z",
"tenantId": 1, "version": 0
}
],
"createdBy": 2, "createdOn": "2018-07-04T10:09:32.854Z", "updatedBy": 2, "updatedOn": "2018-07-
04T10:10:04.316Z", "tenantId": 1, "version": 1

}
]}

Remove credential from a locker


This API allows you to remove locker users or members from the specified locker
1. Provide the "X-Authorization" parameters in Headers.
2. Use the DELETE method to remove a locker consumer using Locker APIs with the following parameters:
http(s)://<hostname:port>/v2/credentialvault/lockers/<lockerId>/credentials/<credentialId>
For example: the following deletes the credential with Id 59 from the locker with Id 2
https://crdevenv.com:81/v2/credentialvault/lockers/2/credentials/59
3. Click Send.
4. The action is successful when the response status is 204 credentials has been removed from the locker.

APIs to manage credential vault mode


As a Control Room admin with View and mange settings permission, use the Manage Credential Vault mode APIs to manage the CV
mode of the Control Room.

Before accessing these API's you must first use the authentication API and pass it as a token to use a particular Credential Vault API.
1. Use the POST method to generate a token using the end point http(s)://<hostname:port>/v1/authentication. For this provide the
Control Room instance as Server Name /Hostname /IP and the Port number.

Copyright © 2018 Automation Anywhere, Inc. 45 https://support.automationanywhere.com


For example:
https://crdevenv.com:81/v1/authentication

Use the POST method to access the Credential APIs

For example:
GET https://crdevenv.com:81/v2/credentialvault/mode
2. Provide the following request payload in Headers
“X-Authorization” : “Authorization token”
“Content-Type” : “application/json”

View current credential vault mode


This API allows you to view the current mode used to connect to the Credential Vault. This can either be "Express" or "Manual"
1. Provide the "X-Authorization" parameters in Headers.
2. Use GET method to access the Credential Vault API's using the following parameters:
http(s)://<hostname:port>/v2/credentialvault/mode
For example:
The following displays the current mode used to connect to the Credential Vault:
https://crdevenv.com:81/v2/credentialvault/mode
3. Click Send./Execute
4. The action is successful when the response status is 200 CV Mode has been successfully received.
5. You can view the response in the Body data as follows:
{
"name": "Express"
}

Update Credential Vault mode


This API allows you to change the mode used to connect to the Credential Vault. This can either be "Express" or "Manual"
1. Provide the "X-Authorization" parameters in Headers.
2. Use PUT method to access the Credential Vault API's using the following parameters:
http(s)://<hostname:port>/v2/credentialvault/mode

For example:
The following displays the current mode used to connect to the Credential Vault:
https://crdevenv.com:81/v2/credentialvault/mode
3. Provide the request payload in the Body:
{
"name": "<mode>",
"privateKey": "<CV Key>"
}
For example:
{
"name": "Manual",
"privateKey": "ABC123"
}
4. Click Send./Execute.
5. The action is successful when the response status is 204 Mode has been successfully set.

Copyright © 2018 Automation Anywhere, Inc. 46 https://support.automationanywhere.com


Parameter Description
Parameter Description
name Connection type - Manual or Express. This is specified during the initial configuration of the Control
Room. Refer Control Room Settings for updating this from the Control Room UI.
privateKey The Master key that is used to connect to credential vault.

Check if the master key has been applied or not


This API allows you to verify whether the Control Room Master key that connects to Credential Vault has been applied or not. Use this to
check the Credential Vault status.
1. Provide the "X-Authorization" parameters in Headers.
2. Use GET method to access the Credential Vault API's using the following parameters:
http(s)://<hostname:port>/v2/credentialvault/keys/private
For example:
https://crdevenv.com:81/v2/credentialvault/keys/private
3. Click Send/Execute.
4. The action is successful when the response status is 200 Private key status.
5. You can view the response in the Body data as follows:
{
"applied": true
}

Note: The value is shown false if the private key was not applied.

Apply Master key to unlock Credential Vault after restarting Control Room in Manual mode
This API allows you to unlock the Credential Vault after restarting the Control Room using the Manual mode of connection. Use this to
verify whether the Credential Vault is connected.

1. Provide the "X-Authorization" parameters in Headers.


2. Use PUT method to access the Credential Vault API's using the following parameters:
http(s)://<hostname:port>/v2/credentialvault/keys/private
For example:
https://crdevenv.com:81/v2/credentialvault/keys/private
3. Provide the request payload in the Body:
{
"privateKey": "<CV Key>"
}
4. Click Send/Execute.

Parameter Description
Parameter Description
privateKey The Master key that is used to connect to credential vault. This is specified during the initial con-
figuration of the Control Room. You can also change the mode from Control Room Settings by
providing this key.

Copyright © 2018 Automation Anywhere, Inc. 47 https://support.automationanywhere.com


API Response Codes
Http(s) Status code Response - Description Corrective Action
200/204 Action completed suc- NA
cessfully
304 No changes applied Update as required
400 Bad request parameter Retry with valid parameters
401 Authentication required Provide authentication parameters. For example: X-Authorization
key
403 Unauthorized access Ensure you are authorized to access the Control Room
404 Not found Ensure that the request payload is available in Control Room
409 Conflict Ensure the parameters provided are correct
500 Internal server error Ensure the server is up and running
501 Permission error Ensure that you have the required permission

Audit Logs
All API activities are logged in the Control Room Audit Log page. As a Control Room administrator or a user with View everyone's audit
log actions, you can view the audit entries as shown:

Copyright © 2018 Automation Anywhere, Inc. 48 https://support.automationanywhere.com


The following screenshot displays a sample audit log details page for creating a locker with the Locker API:

Copyright © 2018 Automation Anywhere, Inc. 49 https://support.automationanywhere.com


11. API for data migration from 10.x Control Room to 11.x Control Room
As a Control Room administrator with View and Manage Migration role permissions, use the Migration APIs to migrate data from 10.x
Control Room to the current Control Room version 11.3.
The Migration APIs allow you to,

5. Save or update and connect to the 10.x Control Room database.


6. Save or update and connect to the 2.x Bot Insight database, if available.
7. Specify options to migrate data based on Roles, Users, or Bots
8. Fetch list of data based on option specified for migration such as: Roles, Users, or Bots.
9. View the migration progress summary.
10. View migration statistics of number of entities that succeeded or failed migration.
11. Fetch list of new and updated bots from 10.x Control Room, post migration.
12. Migrate files in bulk from the 10.x Control Room My docs folder, post migration.

Alternately, you can use the Migration wizard provided in Administration → Migration module to migrate the data from the Control Room
user interface. Refer to Migration Overview for details.

Note: The examples provided in this article are for reference only.

API End Point


Use the following end points to access the API:

1. For migration process use <Control Room URL>/v2/migration.


2. For migrating files from the My Docs folder of source 10.x Control Room after the migration process has completed use <Control
Room URL>/v1/migration.
For example:
https://crdevenv.com:81/v2/migration

Migration Process APIs


The Migration APIs allow you to migrate 10.x Control Room data to 11.x Control Room using the end point, as mentioned earlier.
Before accessing the Migration API's you must first use the authentication API and pass it as a token to use a particular Migration API.

1. Use the POST method to generate a token using the end point http(s)://<hostname:port>/v1/authentication. For this provide the
Control Room instance as Server Name /Hostname /IP and the Port number.

For example:
https://crdevenv.com:81/v1/authentication
2. Provide the following request payload in Headers
“X-Authorization” : “Authorization token”
“Content-Type” : “application/json”

3. Provide the following request payload in Body:


{
"username": "<Username>",
"password": "<Password>"
}
For example:
{
"usename": "Ellie.Brown",

Copyright © 2018 Automation Anywhere, Inc. 50 https://support.automationanywhere.com


"password": "12345678"
}

Connect to source Control Room database


This API allows you to save and update the connection configuration to the source 10.x Control Room database.

1. Provide the "X-Authorization" and "Content Type" parameters in Headers.


2. Provide credential parameters in Body.
3. Use the POST method to connect to the 10.x Control Room database using the end point http(s)://<host-
name:port>/v2/migration/connection.

For example:
https://crdevenv.com:81/v2/migration/connection
4. Provide the following request parameters in Body:
{
"host": "string", "port": 0, "databaseName": "string", "username": "string", "password": "string", "integratedSecurity": true, "encrypt":
true, "privateKey": "string", "repoPath": "string"
}
For example:
{
"host": "PRODUCTLT",
"port": 1433,
"databaseName": "CR104MIG",
"username": "Ellie.Brown",
"password": "12345678",
"integratedSecurity": true,
"encrypt": true,
"privateKey": "ABC123",
"repoPath": "D:\\Data\Automation Anywhere Server Files"
}
5. Click Send.
6. The connection parameters are successfully saved when the response status is 200 Successful operation.

Parameter Description
Parameter Description
host Source Control Room database host name
port Source Control Room database port number
databaseName Source Control Room database name
username Username to connect to database
password Password to connect to database
integratedSecurity An indicator whether to use Windows authentication when connecting to source database. Set this to
true if you want use Windows authentication. The default value is false
encrypt An indicator whether to use secure connection to source database. Set this to true if you want to use a
secure connection. The default value is false
privateKey The private key to decrypt credential values in source database. This is available for configuration dur-
ing the initial Control Room setup.
repoPath The shared repository path where Control Room 10.x repository is stored

Get store connection details

Copyright © 2018 Automation Anywhere, Inc. 51 https://support.automationanywhere.com


This API allows you to fetch the stored connection details of source 10.x Control Room database from where the data can be migrated.

1. Provide the "X-Authorization" and "Content Type" parameters in Headers.


2. Provide credential parameters in Body.
3. Use the GET method to fetch the connection configuration of 10.x Control Room database using the end point http(s)://<host-
name:port>/v2/migration/connection
For example:
https://crdevenv.com:81/v2/migration/connection
4. Click Send.
5. The connection parameters are successfully saved when the response status is 200 Migration config.
6. You can view the result in Body data as follows as follows:
{
"host": "productlt",
"port": 1433,
"databaseName": "CR104MIG",
"username": "",
"password": "",
"integratedSecurity": true,
"encrypt": false,
"privateKey": "",
"repoPath": "D:\\DATA\AUTOMATION ANYWHERE SERVER FILES"
}

Parameter Description
Parameter Description
host Source database host
port Source database port
databaseName Source database name
username Username to connect to source database
password Password to connect to source database
integratedSecurity An indicator whether to use Windows authentication when connecting to
source database, default value is false
encrypt An indicator whether to use secure connection to source database, default
value is false
privateKey Private key to decrypt credential values in source database
repoPath The shared repository path where Control Room 10.x repository is stored

Connect to 2.x Bot Insight database, if available


This API allows you to connect to the source 2.x Bot Insight database if available to migrate analytics data.

1. Provide the "X-Authorization" and "Content Type" parameters in Headers.


2. Provide credential parameters in Body.
3. Use the POST method to connect to the BotInsight database using the end point http(s)://<host-
name:port>/v2/migration/connection /botinsight

For example:
https://crdevenv.com:81/v2/migration/connection/botinsight
4. Provide following request parameters in Body:

Copyright © 2018 Automation Anywhere, Inc. 52 https://support.automationanywhere.com


{
"host": "string",
"port": 0,
"databaseName": "string",
"username": "string",
"password": "string",
"integratedSecurity": true,
"encrypt": true, "serverUrl":
"string"
}

For example:
{
"host": "Productlt",
"port": 8091,
"databaseName": "BotInsight",
"username": "Ellie.Brown",
"password": "12345678",
"integratedSecurity": true,
"encrypt": true,
"serverUrl": "https://productlt.aae.com:82/analytics"
}
5. Click Send.
6. The connection parameters are successfully saved when the response status is 200 Successful operation.

Parameter Description
Parameter Description
host Source Bot Insight database host name
port Source Bot Insight database port number
databaseName Source Bot Insight database name
username Username to connect to database
password Password to connect to database
integratedSecurity An indicator whether to use Windows authentication when connecting to source database. Set this to
true if you want use Windows authentication. The default value is false
encrypt An indicator whether to use secure connection to source database. Set this to true if you want to use a
secure connection. The default value is false
serverUrl Server url where the Bot Insight Visualization ServerPort

Get stored connection details


This API allows you to fetch the stored connection details of source 2.x Bot Insight database from where the data can be migrated.

1. Provide the "X-Authorization" and "Content Type" parameters in Headers.


2. Provide credential parameters in Body
3. Use the GET method to fetch the connection configuration of 10.x Control Room database using the end point http(s)://<host-
name:port>/v2/migration/connection/botinsight.

For example:
https://crdevenv.com:81/v2/migration/connection/botinsight
4. Click Send.
5. The connection parameters are successfully saved when the response status is 200 Migration config.

Copyright © 2018 Automation Anywhere, Inc. 53 https://support.automationanywhere.com


6. You can view the result in Body data as follows:
{
"host": "Productlt",
"port": 8091,
"databaseName": "BotInsight",
"username": "Ellie.Brown",
"password": "12345678",
"integratedSecurity": true,
"encrypt": true,
"serverUrl": "https://productlt.aae.com:82/analytics"
}

Parameter Description
Parameter Description
host Source Bot Insight database host name
port Source Bot Insight database port number
databaseName Source Bot Insight database name
username Username to connect to database
password Password to connect to database
integratedSecurity An indicator whether to use Windows authentication when connecting to source database. Set this to
true if you want use Windows authentication. The default value is false
encrypt An indicator whether to use secure connection to source database. Set this to true if you want to use a
secure connection. The default value is false
serverUrl Server url where the Bot Insight Visualization ServerPort

List of entities of TYPE available for migration in source database


This API returns list of entities available for migration in source database by TYPE parameter. Using either of the options – Role or User,
will let you migrate all data that is associated with the chosen parameter.

Note: For selective migration of data i.e. selecting only certain data based on specified parameter,
use the Migration wizard provided in the Control Room.

1. Provide the "X-Authorization" parameters in Headers.


2. Use the GET method to connect to the Control Room database using the end point http(s)://<host-
name:port>/v2/migration/connection /entities followed by TYPE parameter that could include any one of the option - Roles, Users,
Bots, or Schedules

For example:
https://crdevenv.com:81/v2/migration/connection/entities?Type=ROLE
3. Click Send.
4. The data is migrated successfully when the response status is 200 Collection of items from source db eligible for migration.
5. The list of entities based on TYPE parameter are displayed in Body.
{
"entities":
[
{ "id": "0", "type": "ROLE", "sourceId": "1", "targetId": "0", "name": "Admin", "status": "SUCCESS",
"reason": "" },
{ "id": "0", "type": "ROLE", "sourceId": "2", "targetId": "0", "name": "Basic", "status": "SUCCESS",
"reason": "" },
{ "id": "0", "type": "ROLE", "sourceId": "3", "targetId": "0", "name": "IQBotValidator", "status":

Copyright © 2018 Automation Anywhere, Inc. 54 https://support.automationanywhere.com


"SUCCESS", "reason": "" },
{ "id": "0", "type": "ROLE", "sourceId": "4", "targetId": "0", "name": "AnalyticsExperts", "status":
"SUCCESS", "reason": "" },
{ "id": "0", "type": "ROLE", "sourceId": "5", "targetId": "0", "name": "AnalyticsConsumers",
"status": "SUCCESS", "reason": "" },
{ "id": "0", "type": "ROLE", "sourceId": "6", "targetId": "0", "name": "BotAgentUser", "status":
"SUCCESS", "reason": "" },
{ "id": "0", "type": "ROLE", "sourceId": "7", "targetId": "0", "name": "BotFarmAdmin", "status":
"SUCCESS", "reason": "" },
{ "id": "0", "type": "ROLE", "sourceId": "8", "targetId": "0", "name": "IQBotServices", "status":
"SUCCESS", "reason": "" },
{ "id": "0", "type": "ROLE", "sourceId": "9", "targetId": "0", "name": "Bot Creator 10x", "status":
"SUCCESS", "reason": "" },
{ "id": "0", "type": "ROLE", "sourceId": "10", "targetId": "0", "name": "Bot Runner 10x", "status":
"SUCCESS", "reason": "" },
{ "id": "0", "type": "ROLE", "sourceId": "11", "targetId": "0", "name": "Bot Scheduler 10x",
"status": "SUCCESS", "reason": "" }
]
}

Parameter Description
Parameter Description
id Migration ID
type Type of entity selected for migration - Role, User or Bot
sourceId Id of entity in the source database
targetId Id of entity after Migration in the target database
name Name of the entity in the source database
status The migration status for that particular entity
reason The reason for migration failure for that particular entity

Copyright © 2018 Automation Anywhere, Inc. 55 https://support.automationanywhere.com


Prepare migration data based on User input
This API allows you to migrate entities with associated data based on the sub-section of the entity type specified for migration.

1. Provide the "X-Authorization" and "Content Type" parameters in Headers.


2. Provide credential parameters in Body
3. Use the POST method to migrate the data using the endpoint http(s)://<hostname:port>/v2/migration/prepare

For example:
https://crdevenv.com:81/v2/migration/prepare
4. Provide following request payload in Body:
{
"selected":
[
{ "type": "<enitity type>",
"sourceId": "string" }
],
"excludes": [ "<entity type>"
]
“excludeMetaBots”:true,
“overwriteFiles”:true
}
For example:
{ "selected": [ { "type": "ROLE", "sourceId": "12" } ], "excludes": [ "BOT" ] }
5. Click Send.
6. The data is listed successfully for migration when the response status is 200.
7. The result is displayed in the Body
{ "selected":
[
{ "type": "ROLE", "sourceId": "12" } ],
"excludes": [ "BOT" ]
}

Parameter Description
Parameter Description
type Type of entity selected for migration - Role, User or Bot and Schedules
sourceId The id of the entity in the source database
excludes The entity name that is excluded from migration. The options are available based on the entity type
selected.

Hence, when you select Role or User you can Exclude Bots and Schedules; when you select Bots
and Schedules, you can Exclude MetaBots, and/or Overwrite existing Bots .
excludeMetaBots The flag to choose whether to migrate MetaBots.
overWriteFiles The flag to choose whether to overwrite the File (if the same File is present at the destination)

List the data for migration


This API allows you to fetch the list of entities that are ready for migration.

1. Provide the "X-Authorization" and "Content Type" parameters in Headers.

Copyright © 2018 Automation Anywhere, Inc. 56 https://support.automationanywhere.com


2. Provide credential parameters in Body
3. Use the GET method to fetch the list of entities using the endpoint http(s)://<hostname:port>/v2/migration/prepped
For example:
https://crdevenv.com:81/v2/migration/prepped
4. Click Send.
5. The data is listed successfully for migration when the response status is 200.
6. The result is displayed in the Body:

{
{
"ROLE":
{ "entities":
[
{ "id": "0", "type": "ROLE", "sourceId": "11", "targetId": "0", "name": "Bot Scheduler 10x",
"status": "SUCCESS", "reason": "" }

] },
"USER":
{ "entities": [ { "id": "0", "type": "USER", "sourceId": "2", "targetId": "0", "name":
"Tom.Hardy", "status": "SUCCESS", "reason": "" }, { "id": "0", "type": "USER", "sourceId": "12",
"targetId": "0", "name": "P.G.Wodehouse", "status": "SUCCESS", "reason": "" }
] },
"CREDENTIAL": { "entities": [] },
"BOT": { "entities": [] },
"SCHEDULE": { "entities": [] }
}
}

Parameter Description
Parameter Description
id Migration ID
type Type of entity selected for migration - Role, User or Bot
sourceId Id of entity in the source database
targetId Id of entity after Migration in the target database
name Name of the entity in the source database
status The migration status for that particular entity
reason The reason for migration failure for that particular entity

Start Migration
This API allows you to launch the migration process.

1. Provide the "X-Authorization" parameters in Headers.


2. Provide credential parameters in Body
3. Use the POST method to migrate the data using the endpoint http(s)://<hostname:port>/v2/migration/start/async
For example:
https://crdevenv.com:81/v2/migration/start/async
4. Click Send.
5. The data migration starts successfully when the response status is 200 Successful operation.
Copyright © 2018 Automation Anywhere, Inc. 57 https://support.automationanywhere.com
6. The result is displayed in the Body data as follows as follows:
{
"id": 1,
"name": "2018.07.17.16.13.48.ellie.brown",
"createdBy": 1,
"migrationType": "ROLE_EXCLUDE_BOT_SCHEDULE"
}

Parameter Description
Parameter Description
id Migration ID
name Name of the user who initiated the migration
createdBy Id of the entity that started the migration i.e. the Control Room administrator
migrationType The migration type chosen - Role, User, or Bots and Schedules

Migration object by ID
This API lists the migration object details based on the ID that is generated using the Start Migration API.

1. Provide the "X-Authorization" parameters in Headers.


2. Provide credential parameters in Body.
3. Use the GET method to fetch object details by id using the endpoint http(s)://<hostname:port>/v2/migration/<id>
For example:
https://crdevenv.com:81/v2/migration/9
4. Click Send.
5. The object details are listed successfully when the response status is 200.
6. The details are shown in the Body data as follows as follows:
{
"id": "9",
"name": "2018.07.17.16.13.48.ellie.brown",
"startTime": "2018-07-17T10:43:48.127Z",
"endTime": "2018-07-17T10:43:49.833Z",
"createdBy": "1",
"migrationType": "ROLE_EXCLUDE_BOT_SCHEDULE",
"entities": []
}

Parameter Description
Parameter Description
id Migration ID
name Name of the user who initiated the migration
startTime The time when the migration was initiated
endTime The time when the migration was complete
createdBy Id of the entity that started the migration i.e. the Control Room administrator
entities List of entities migrated during this Migration process
migrationType The migration type chosen - Role, User, or Bots and Schedules

Copyright © 2018 Automation Anywhere, Inc. 58 https://support.automationanywhere.com


Migration Progress
This API allows you to view the process of migration that is in progress.

1. Provide the "X-Authorization" and "Content Type" parameters in Headers.


2. Provide credential parameters in Body.
3. Use the GET method to fetch object details by id using the endpoint http(s)://<hostname:port>/v2/migration/pogress
For example:
https://crdevenv.com:81/v2/migration/progress
4. Click Send.
5. The object details are listed successfully when the response status is 200.
6. The details are shown in the Body data as follows as follows:
{
"migration":
{ "id": "10", "name": "2018.07.17.16.55.59.ellie.brown", "startTime": "2018-07-17T11:25:59.800Z",
"endTime": "2018-07-17T11:26:16.002Z", "createdBy": "1", "migrationType": "BOT_EXCLUDE_METABOT",
"entities": [] },
"current": "SCHEDULE",
"progress":
{
"BOT": { "total": "10", "successful": "7", "failed": "0", "skipped": "3" },
"SCHEDULE": { "total": "8", "successful": "8", "failed": "0", "skipped": "0" }
}
}

Parameter Description
Parameter Description
id Migration id
name Migration name displayed
startTime Timestamp when Migration process started
endTime Timestamp when Migration process completed. Null when migration is in progress
createdBy Id of the user who created/started the migration process
current Type of entity currently being migrated - ROLE, USER, CREDENTIAL, BOT, or SCHEDULE ]
progress Progress of the entities -

l total - total number of entities of specific type to be migrated


l successful - number of entities out of total migrated successfully
l failed - number of entities out of total failed to be migrated
l skipped - number of entities out of total skipped during migration

Migration statistics - number of entities that succeeded/failed per Migration This API allows you to view the number of successful
or failed entities per migration.
1. Provide the "X-Authorization" parameters in Headers.
2. Use the GET method to fetch object details by id using the endpoint http(s)://<hostname:port>/v2/migration/statistics
For example:
https://crdevenv.com:81/v2/migration/statistics
3. Click Send.
4. The object details are listed successfully when the response status is 200.

Copyright © 2018 Automation Anywhere, Inc. 59 https://support.automationanywhere.com


5. The details are shown in the Body data as follows as follows:
{
"items": [
{ "id": "1", "name": "2018.07.13.11.14.59.ellie.brown", "startTime": "2018-07-13T05:44:59.787Z",
"endTime": "2018-07-13T06:56:25.537Z", "createdBy": "1", "duration": "4285s", "numSuccess": 0,
"numFailed": 0, "numSkipped": 0 },
{ "id": "2", "name": "2018.07.13.12.28.08.ellie.brown", "startTime": "2018-07-13T06:58:09.283Z",
"endTime": "2018-07-13T06:58:12.910Z", "createdBy": "1", "duration": "3s", "numSuccess": 1,
"numFailed": 1, "numSkipped": 0 },
{ "id": "3", "name": "2018.07.13.12.40.34.ellie.brown", "startTime": "2018-07-13T07:10:34.470Z",
"endTime": "2018-07-13T07:10:40.060Z", "createdBy": "1", "duration": "5s", "numSuccess": 10,
"numFailed": 0, "numSkipped": 0 },
{ "id": "4", "name": "2018.07.13.12.42.19.ellie.brown", "startTime": "2018-07-13T07:12:20.007Z",
"endTime": "2018-07-13T07:12:23.107Z", "createdBy": "1", "duration": "3s", "numSuccess": 0,
"numFailed": 0, "numSkipped": 6 },
{ "id": "5", "name": "2018.07.13.13.39.53.ellie.brown", "startTime": "2018-07-13T08:09:53.113Z",
"endTime": "2018-07-13T08:10:02.673Z", "createdBy": "1", "duration": "9s", "numSuccess": 4,
"numFailed": 0, "numSkipped": 0 }
]
}
Parameter Description
Parameter Description
id migration id
name Migration name displayed
startTime Timestamp when Migration process started
endTime Timestamp when Migration process completed. Null when migration is in progress
createdBy Id of the user who created the object
duration Duration of migration - seconds or nano seconds
numSuccess Number of items successfully migrated
numFailed Number of items that failed to migrate
numSkipped Number of items that were skipped during migration

Post Migration process APIs


Use the Migration APIs after the process has completed to do the following:

1. Import files from the My Docs folder of 10.x Control Room.


2. Fetch the list of new or modified bots from 10.x Control Room since last migration run.
Before accessing the APIs, use the authentication API and pass it as a token to use a particular Migration API.
3. Use the POST method to generate a token using the end point http(s)://<hostname:port>/v1/authentication. For this provide the
Control Room instance as Server Name /Hostname /IP and the Port number.

For example:
https://crdevenv.com:81/v1/authentication
4. Provide the following request payload in Headers:
“X-Authorization” : “Authorization token”
“Content-Type” : “application/json”

5. Provide the following request payload in Body:


{
Copyright © 2018 Automation Anywhere, Inc. 60 https://support.automationanywhere.com
"username": "<Username>",
"password": "<Password>"
}
For example:
{
"usename": "Ellie.Brown",
"password": "12345678"
}

Important: When the error code 404 is shown while using any or all the post migration APIs, re-use the
API to fetch the list of root folders from 10.x Control Room i.e. http(s)://<host-
name:port>/v1/migration/legacyrepository/rootDirectories.

Migrate files from My Docs folder


Use certain set of APIs to migrate files from the My Docs folder of the 10.x Control Room. These APIs allow you to migrate large number
of files that could either be used in bots as dependencies or if stand alone, are useful for automation.

Fetch list of root folders from 10.x Control Room


This API allows you to fetch the list of folders available in the 10.x Control Room Repository. This would help you understand the folder
structure that was available in the source Control Room.

1. Provide the "X-Authorization" parameters in Headers.


2. Use the GET method to fetch object details by id using the endpoint http(s)://<host-
name:port>/v1/migration/legacyrepository/rootDirectories followed by excludeMetaBot parameter

For example:
https://crdevenv.com:81/v1/migration/legacyrepository/rootDirectories?excludeMetaBot=true
3. Click Send.
4. The object details are listed successfully when the response status is 200.
5. The details are shown in the Body data as follows as follows:
[
{ "name": "My Docs", "path": "Automation Anywhere\\My Docs" },
{ "name": "My Exes", "path": "Automation Anywhere\\My Exes" },
{ "name": "My Reports", "path": "Automation Anywhere\\My Reports" },
{ "name": "My Scripts", "path": "Automation Anywhere\\My Scripts" },
{ "name": "My Tasks", "path": "Automation Anywhere\\My Tasks" },
{ "name": "My Workflow", "path": "Automation Anywhere\\My Workflow" }
]

Parameter Description
Parameter Description
name Name of the directory/folder
path Directory/folder path

Fetch list of sub-folders of a root-folder from 10.x Control Room


This API allows you to fetch the list of sub-folders for a given root-folder available in the 10.x Control Room Repository. This would help
you understand the folder structure of the source Control Room.

1. Provide the "X-Authorization" parameters in Headers.


Copyright © 2018 Automation Anywhere, Inc. 61 https://support.automationanywhere.com
2. Use the GET method to fetch object details by id using the endpoint http(s)://<host-
name:port>/v1/migration/legacyrepository/childDirectories followed by the path parameter

For example:
https://crdevenv.com:81/v1/migration/legacyrepository/childDirectories?path=Automation Any- where\My Docs
3. Click Send.
4. The object details are listed successfully when the response status is 200.
5. The details are shown in the Body data as follows:
{
"folders":
[
{ "name": "Log-Files", "path": "Automation Anywhere\\My Docs\\Log-Files" }
]
}

Parameter Description
Parameter Description
folders List of sub directories
name Name of the directory/folder
path Directory/folder path

Fetch list of files in given folder


This API allows you to fetch the list of files available in a given folder in the source Control Room repository.

1. Provide the "X-Authorization" parameters in Headers.


2. Use the GET method to fetch object details by id using the endpoint http(s)://<host-
name:port>/v1/migration/legacyrepository/childFiles followed by the path and excludeMetaBot parameters

For example:
https://crdevenv.com:81/v1/migration/legacyrepository/childFiles?path=Automation Anywhere\My
Docs\Log-Files&excludeMetaBot=false

3. Click Send.
4. The object details are listed successfully when the response status is 200.
5. The details are shown in the Body data as follows as follows:
{
"files":
[
{ "id": "280", "name": "ActiveMQServer-2018-Jul-17-2.log.zip", "path": "Automation Anywhere\\My Doc-
s\\Log-Files\\ActiveMQServer-2018-Jul-17-2.log.zip" },
{ "id": "281", "name": "IgniteServer-2018-Jul-17-4.log.zip", "path": "Automation Anywhere\\My Doc-
s\\Log-Files\\IgniteServer-2018-Jul-17-4.log.zip" },
{ "id": "283", "name": "WebCR_Ignite-2018-Jul-17-4.log.zip", "path": "Automation Anywhere\\My Doc-
s\\Log-Files\\WebCR_Ignite-2018-Jul-17-4.log.zip" },
{ "id": "284", "name": "WebCR_License-2018-Jul-17-4.log.zip", "path": "Automation Anywhere\\My Doc-
s\\Log-Files\\WebCR_License-2018-Jul-17-4.log.zip" },
{ "id": "292", "name": "WebCR_Migration-2018-Jul-17-4.log", "path": "Automation Anywhere\\My Doc-
s\\Log-Files\\WebCR_Migration-2018-Jul-17-4.log" },
{ "id": "285", "name": "WebCR_Migration-2018-Jul-17-4.log.zip", "path": "Automation Anywhere\\My Doc-
s\\Log-Files\\WebCR_Migration-2018-Jul-17-4.log.zip" },

Copyright © 2018 Automation Anywhere, Inc. 62 https://support.automationanywhere.com


{ "id": "293", "name": "WebCR_Migration-2018-Jul-17-4.txt", "path": "Automation Anywhere\\My Doc-
s\\Log-Files\\WebCR_Migration-2018-Jul-17-4.txt" }
]
}

Parameter Description
Parameter Description
files List of sub files
id File id of the bot
name Name of the directory/folder
path Directory/folder path

Search for a folder by name in Control Room 10.x


This API allows you to search for a folder by a given name from the source Control Room My Docs repository.

1. Provide the "X-Authorization" parameters in Headers.


2. Use the GET method to fetch object details by id using the endpoint http(s)://<host-
name:port>/v1/migration/legacyrepository/folders followed by the taskName parameter

For example:
https://crdevenv.com:81/v1/migration/legacyrepository/folders?taskName=Import-Table
3. Click Send.
4. The object details are listed successfully when the response status is 200.
5. The details are shown in the Body data as follows:
{
"paths":
[ "Automation Anywhere\\My Docs\\Import-Table" ]
}

Parameter Description
Parameter Description
paths List of Directory/folder path

Copyright © 2018 Automation Anywhere, Inc. 63 https://support.automationanywhere.com


Fetch list of files for a given folder in Control Room 10.x
This API allows you to fetch a list of files from a given folder from the source Control Room My Docs repository.

1. Provide the "X-Authorization" parameters in Headers.


2. Use the POST method to fetch list of files for a given folder using the endpoint http(s)://<hostname:port>/v1/legacyrepository/files
For example:
https://crdevenv.com:81/v1/legacyrepository/files
3. Provide the list of folder paths as request payload in Body [
"string"
]
For example:
The following lists the files available
[
"Automation Anywhere\\My Docs\\Import-Table"
]
4. Click Send.
5. The object details are listed successfully when the response status is 200.
6. The Response details are shown in the Body data as follows:
{
"files":
[
{ "id": 1281, "type": "BOT", "sourceId": "1281", "targetId": 0, "name": "Automation Anywhere\\My Doc-
s\\Import-Table\\Import-Table.txt", "status": "SUCCESS", "reason": "" },
{ "id": 293, "type": "BOT", "sourceId": "293", "targetId": 0, "name": "Automation Anywhere\\My Doc-
s\\Import-Table\\WebCR_Migration-2018-Jul-17-4.txt", "status": "SUCCESS", "reason": "" }
]
}

Parameter Description
Parameter Description
files List of sub files
type file type
sourceId Id of entity in the source database
targetId Id of entity after migration in the target database
name Name of the directory/folder
status Status of response - SUCCESS, SKIPPED, or FAILED
reason Description for the reason of status FAILED or SKIPPED

Migrate new or modified bots from 10.x since the last migration in 11.x
This API allows you to fetch list of bots that are new or modified in source Control Room version 10.x after data has already been
migrated to destination Control Room version 11.3. This API lets you continue using your 10.x environment even when the 11.3
environment is ready to go into production.

1. Provide the "X-Authorization" parameters in Headers.


2. Use the POST method to fetch object details by id using the endpoint http(s)://<hostname:port>/v1/legacyrepository/changedfiles.
For example:

Copyright © 2018 Automation Anywhere, Inc. 64 https://support.automationanywhere.com


https://crdevenv.com:81/v1/legacyrepository/changedfiles
3. Provide the list of folder paths as request payload in Body data as follows:
{
"changeSince": "<last migration date and time>"
}
For example:
The following lists the bot names that were update post migration
{
"changeSince":"2018-06-25T12:05:00+05:30"
}

Tip: Do not specify the changeSince parameter to consider the delta for last migration date and
time.
4. Click Send.
5. The object details are listed successfully when the response status is 200.
6. The Response details are shown in the Body data as follows:
{
"changedfiles":
[
{ "type": "BOT", "sourceId": "6", "name": "Automation Anywhere\\My Tasks\\Sample Tasks\\Import-
Table.atmx" },
{ "type": "BOT", "sourceId": "7", "name": "Automation Anywhere\\My Tasks\\Sample Tasks\\List-Vari-
able.atmx" }
]
}

Parameter Description
Parameter Description
changedFiles List of entities that were changed or are new since last migration run
type entity type
sourceId Id of entity in the source database
name Name of the directory/folder

API Response Codes


Http(s) Status code Response - Description Corrective Action
200 Successful operation NA
400 Bad request Retry with valid parameters
401 Authentication required Retry by providing authentication parameters
403 Unauthorized access Ensure you have appropriate permissions to perform this
operation
404 Not found Ensure the requested data is present in Control Room
409 Conflict Ensure the parameters provided are correct
500 Inernal server error Ensure the server is up and running
501 Permission error Ensure that you have the required permission

Copyright © 2018 Automation Anywhere, Inc. 65 https://support.automationanywhere.com


Audit Logs
The Audit Log displays individual entry for each entity that is migrated.

When the migration process is initiated, a Migration started entry is logged in Audit log. When the migration process is completed, a
Migration finished entry is logged. Between these two entries, migration entries are logged for each entity that is migrated such as:
Create, Update, or Upload operation.

Click to view details of the process.


For example:
The following screenshot displays details of a successful migration:

Copyright © 2018 Automation Anywhere, Inc. 66 https://support.automationanywhere.com


12. API for deploying and monitoring bot progress
As a Control Room administrator or user with View and Manage Scheduled Activity permission, deploy bots and monitor the progress
using a set of Control Room APIs.
The Deploy and Monitor Bot APIs allow you to do the following:
1. Retrieve details of a given bot from the server repository to identify the file ID to be used for bot deployment.
2. Fetch a list of devices (bot runners) available for automation and the automation status.
3. Deploy a bot on given device(s) and fetch its automation ID.
4. Monitor the bot progress based on automation ID.

Note: The examples provided in this article are for reference only.

Before accessing the Deploy and Monitor API's you must first use the authentication API and pass it as a token to use an API.

1. Use the POST method to generate a token using the end point http(s)://<hostname:port>/v1/authentication. For this provide the
Control Room instance as Server Name /Hostname /IP and the Port number.
For example:
https://crdevenv.com:81/v1/authentication
2. Provide the following request payload in Headers
“X-Authorization” : “Authorization token”
“Content-Type” : “application/json”

3. Provide the following request payload in Body:


{
"username": "<Username>",
"password": "<Password>"
}
For example:
{
"username":"Ellie.Brown",
"password": "12345678"
}

API to fetch bot details


Use this API to fetch details of a bot from the server repository. The bot ID fetched from this API is used in the API for Bot Deployment.

API end point


Use the following end point to access the APIs:
<Control Room URL>/v2/repository/file/list
For example:
https://crdevenv.com:81/v2/repository/file/list

Fetch bots details


1. Provide the "X-Authorization" and "Content Type" parameters in Headers.
2. Use the POST method to provide the following request payload in Body:
{ "filter
":
{
"operator":"<eq, ne, lt, le, gt, or ge>", "value":"<bot name>", "field":"fileName"
}
Copyright © 2018 Automation Anywhere, Inc. 67 https://support.automationanywhere.com
}

Tip: Use ‘eq’ or ‘substring’ operator with field as ‘name’ and bot name in the ‘value’ of the
filter, to fetch bot details of all the bots matching the bot name provided. Additional fil-
tering, ordering and pagination rules can also be requested.

For example:
The following fetches details of the bot Import-Table.atmx:
{
"filter":
{
"operator":"eq", "value":"Import-Table.atmx", "field":"fileName"
}
}

3. Click Send.
4. The action is successful when the response status is 200.
5. You can view the response in the Body data as follows.
{
"page": { "offset": 0, "total": 1, "totalFilter": 1 },
"list":
[
{ "id": "10", "parentid": "9", "name": "Import-Table.atmx", "canDelete": true, "canDownload": true,
"canExecute": true, "canUpload": true, "canRun": true, "lastModified": "2018-07-18T04:42:05Z",
"lastModifiedBy": "0", "path": "Automation Anywhere\\My Tasks\\Sample Tasks\\Import-Table.atmx", "dir-
ectory": false, "size": 418719, "isLocked": false, "productionVersion": "", "lockedBy": "",
"latestVersion": "", "fileLastModified": "2018-07-18T04:42:05Z" }
]
}

Parameter Description
Parameter Description
operator l NONE
l lt - less than
l le - less than equal to
l eq - equal to
l ne - not equal to
l ge - greater than equal to
l gt - greater than
l substring
l and
l or
l not
value Name of the bot or the date
field Name of the bot for which details are sought / lastModified / updatedOn
id Id of the bot

Copyright © 2018 Automation Anywhere, Inc. 68 https://support.automationanywhere.com


Parameter Description
parentId Parent directory Id of the bot
name Name of the bot
canDelete Logged in user has rights to delete the bot - true or false
canDownload Logged in user has rights to download the bot - true or false
canExecute Logged in user has rights to execute the bot# - true or false

canUpload Logged in user has rights to upload the bot - true or false
canRun Logged in user has rights to run\schedule the bot - true or false
lastModified Date and time when the bot was last updated
lastModifiedBy The id of the user who has last modified the entity
path Relative path of the bot
directory Flag for directory - true or false
size Size of the bot in KB
isLocked Is the bot checked out by another user* - true or false
productionVersion Current production version of the bot*
lockedBy user id who has locked the bot *
latestVersion Latest version of the bot*
fileLastModified Date and time when the bot was last updated

# applicable only for Meta Bots

* applicable when version control is enabled

API to fetch list of available devices (bot runner clients)


Use this API to fetch the list of devices available for automation deployment and status of automation. To do this, follow the workflow
mentioned here:

1. Fetch the list of devices, its type and connection status.


2. Verify status of bot execution of devices.
Fetch list of devices
Use this API to fetch the list of devices, or bot runners available for bot deployment. The device ID retrieved from this can be passed as a
parameter while using the Deployment API.

API end point


Use the following end point to access the APIs:
<Control Room URL>/v2/devices/list
For example:
https://crdevenv.com:81/v2/devices/list

1. Provide the "X-Authorization" and "Content Type" parameters in Headers.


2. Use the POST method to provide the following request payload in Body:
{ "filter
":
{
"operator":"<eq, ne, lt, le, gt, or ge>",
"value":"<device user ID>",
"field":"<userId>" },
"page":{ }

Copyright © 2018 Automation Anywhere, Inc. 69 https://support.automationanywhere.com


}

Tip: Use ‘id’ and ‘hostName’ field for filtering on bot type and status. Additional filtering,
ordering and pagination rules can also be requested.

For example:
The following fetches the device with userId as 1:

{
"filter":{
"operator":"eq", "value":"1", "field":"userId"
},
"page":{}
}
3. Click Send.
4. The action is successful when the response status is 200.
5. You can view the response in the Body data as follows.

{
"page": {
"offset": 0,
"total": 100,
"totalFilter": 1
},
"list": [
{
"id": "7",
"type": "BOT_RUNNER",
"hostName": "WIN-ABC123",
"userId": "1",
"userName": "james",
"status": "CONNECTED",
"poolName": ""
}
]
}

Parameter Description

Copyright © 2018 Automation Anywhere, Inc. 70 https://support.automationanywhere.com


Parameter Description
operator
• NONE
• lt - less than
• le - less than equal to
• eq - equal to
• ne - not equal to
• ge - greater than equal to
• gt - greater than
• substring
• and
• or
• not
value Value of the field to be filtered
field id, hostName, userId
id Id of the device
type Device type - BOT_RUNNER or BOT_CREATOR
hostName Host name of the machine where the device is logged in
userId User id of the device
userName User name of the device
status Status of the device - OFFLINE, CONNECTED, or DISCONNECTED
poolName Name of the device pool

API to fetch automation status


Use this API to fetch the current status of automation - whether a bot is running or not.
API end point
Use the following end point to access the APIs:
<Control Room URL>/v2/activity/list For example:
https://crdevenv.com:81/v2/activity/list

1. Provide the "X-Authorization" and "Content Type" parameters in Headers.


2. Use the POST method to provide the following request payload in Body:
{ "filter
":
{ "operator":"<and/or>", "operands":
[
{ "operator":"<eq, ne, lt, le, gt, or ge>", "value":"<id>", "fileld":"deviceId" },
{ "operator":"<and/or>", "operands":
[

{ "operator":"<eq, ne, lt, le, gt, or ge>", "value":"<Automation status>", "field":"status" },


{ "operator":"<eq, ne, lt, le, gt, or ge>", "value":"<Automation status>", "field":"status" }
]
}
]
}
}
Copyright © 2018 Automation Anywhere, Inc. 71 https://support.automationanywhere.com
For example:
The following fetches the status of bot execution for the device with id 2:
{
"filter":{
"operator":"and", "operands":[
{ "operator":"eq", "value":"2", "field":"deviceId" },
{ "operator":"or", "operands":
[

{ "operator":"eq", "value":"RUNNING", "field":"status" }


]
}
]
}
}
3. Click Send.
4. The action is successful when the response status is 200.
5. You can view the response in the Body data as follows.
{
"page":
{ "offset": 0, "total": 3, "totalFilter": 1 },
"list":
[
{ "id": "6e312e83-4115-4861-b118-26660b2b7b08", "automationName": "Import-Table_18.07.24.16.13.52_
ellie.brown_API", "fileName": "Import-Table.atmx", "filePath": "Automation Anywhere\\My Tasks\\Sample
Tasks\\Import-Table.atmx", "type": "TASK", "startDateTime": "2018-07-24T10:43:59Z", "endDateTime":
"2018-07-24T10:44:25Z", "command": "Web Recorder", "status": "RUNNING", "progress": 43, "auto-
mationId": "6", "userId": "5", "deviceId": "2", "currentLine": 7, "totalLines": 16, "fileId": "10",
"modifiedBy": "5", "createdBy": "1", "modifiedOn": "2018-07-24T10:44:26.209Z", "createdOn": "2018-07-
24T10:43:52.808Z", "deploymentId": "e11d7888-1187-4ce7-b9c4-5790715bf93b", "queueName": "",
"queueId": "", "usingRdp": false, "message": "Task is stopped by user.\r\n An error occurred at line
number 7 of Task 'Import-Table'. Open the Task in Workbench to view action at line number 7.", "can-
Manage": true }
]
}

Parameter Description

Copyright © 2018 Automation Anywhere, Inc. 72 https://support.automationanywhere.com


Parameter Description
operator
• NONE
• lt - less than
• le - less than equal to
• eq - equal to
• ne - not equal to
• ge - greater than equal to
• gt - greater than
• substring
• and
• or
• not
value Automation status - DEPLOYED, RUNNING, RUN_PAUSED, UNKNOWN, COMPLETED, RUN_
FAILED, RUN_ABORTED, RUN_TIMED_OUT, or DEPLOY_FAILED
field Status of the bot for which details are sought

id Unique execution id

automationName Name of the automation to which the execution is associated

fileName Name of the bot that is deployed to execute

filePath Relative path of the bot that is deployed to execute

type Type of activity – TASK

startDateTime Date and time when the execution started

endDateTime Date and time when the execution ended

command Current command of the execution

status Current status of the execution - DEPLOYED, RUNNING, RUN_PAUSED, UNKNOWN,


COMPLETED, RUN_FAILED, RUN_ABORTED, RUN_TIMED_OUT, or DEPLOY_FAILED
progress Current progress of the execution in percentage

automationId Id of the automation to which the execution is associated

userId Corresponding User id of the device where the bot is deployed

deviceId Device id where the bot is deployed

currentLine Current line of bot that is deployed to execute

totalLines Total lines of the bot that is deployed to execute

fileId Id of the bot that is deployed to execute

Copyright © 2018 Automation Anywhere, Inc. 73 https://support.automationanywhere.com


Parameter Description
modifiedBy Id of the user who last updated the execution

createdBy Id of the user who created the automation associated with the execution

modifiedOn Date and time when the execution was last updated

createdOn Date and time when the execution was created

deploymentId Deployment id to which the execution is associated

queueName Queue name

queueId Queue id

usingRdp Whether the bot should be deployed using remote desktop process - true or false

message Message if available

canManage Does the current logged in user has rights to manage the execution - true or false

Copyright © 2018 Automation Anywhere, Inc. 74 https://support.automationanywhere.com


API to deploy bot
Use this to deploy a bot using device id on one or more devices using the file id of a bot.
API end point
Use the following end point to access the APIs:
<Control Room URL>/v2/automations/deploy
For example:
https://crdevenv.com:81/v2/automations/deploy

1. Provide the "X-Authorization" and "Content Type" parameters in Headers.


2. Use the POST method to provide the following request payload in Body:
{
"fileId":"<file id of bot>",
"deviceIds":[ "<device id 1>", "<device id 2>", "<device id 3>".... ],
"runWithRdp":<true or false>
}

For example:
The following deploys a bot with ID 10 on devices with id 1, 2, and 3, and deploys a bot using RDP:
{
"fileId":"10",
"deviceIds":[ "1", "2", "3" ],
"runWithRDP":true
}
3. Click Send.
4. The action is successful when the response status is 200.
5. You can view the response in the Body data as follows.
{
"automationid": "6"
}
Parameter Description
Parameter Description
fileId ID of the bot for which is to be deployed
deviceId Device id where the bot is to be deployed
runWithRDP Whether the bot should be deployed using remote desktop process - true or false
automationId Id of the automation to which the execution is associated

API to monitor bot execution


Use this API to monitor the bot progress based on automation ID that is fetched using the Bot Deployment API.

Note: This API is also used to fetch a list of currently running bots on devices.
API end point
Use the following end point to access the APIs:
<Control Room URL>/v2/activity/list
For example:
https://crdevenv.com:81/v2/activity/list

Copyright © 2018 Automation Anywhere, Inc. 75 https://support.automationanywhere.com


1. Provide the "X-Authorization" and "Content Type" parameters in Headers.
2. Use the POST method to provide the following request payload in Body:
{ "filter
":
{
"operator":"<eq, ne, lt, le, gt, or ge>",
"value":"<automationId>",
"fileld":"automationId"
}
}

For example:
The following fetches the status of automation with ID 15:
{
"filter":
{
"operator":"eq",
"value":"6",
"field":"automationId"
}
}
3. Click Send.
4. The action is successful when the response status is 200.
5. You can view the response in the Body data as follows.
{
"page":
{ "offset": 0, "total": 3, "totalFilter": 1 },
"list":
[
{ "id": "6e312e83-4115-4861-b118-26660b2b7b08", "automationName": "Import-Table_18.07.24.16.13.52_
ellie.brown_API", "fileName": "Import-Table.atmx", "filePath": "Automation Anywhere\\My
Tasks\\Sample Tasks\\Import-Table.atmx", "type": "TASK", "startDateTime": "2018-07-24T10:43:59Z",
"endDateTime": "2018-07-24T10:44:25Z", "command": "Web Recorder", "status": "RUN_PAUSED", "pro-
gress": 43, "automationId": "6", "userId": "5", "deviceId": "2", "currentLine": 7, "totalLines":
16, "fileId": "10", "modifiedBy": "5", "createdBy": "1", "modifiedOn": "2018-07-24T10:44:26.209Z",
"createdOn": "2018-07-24T10:43:52.808Z", "deploymentId": "e11d7888-1187-4ce7-b9c4-5790715bf93b",
"queueName": "", "queueId": "", "usingRdp": false, "message": "Task is stopped by user.\r\n An
error occurred at line number 7 of Task 'Import-Table'. Open the Task in Workbench to view action
at line number 7.", "canManage": true }
]
}

Note: If activity is “RUNNING” or “PAUSED FOR INPUT” status, the progress command line, currentLine
and totalLines values will be shown 0.

Parameter Description

Copyright © 2018 Automation Anywhere, Inc. 76 https://support.automationanywhere.com


Parameter Description
operator
• NONE
• lt - less than
• le - less than equal to
• eq - equal to
• ne - not equal to
• ge - greater than equal to
• gt - greater than
• substring
• and
• or
• not
Value Automation status - DEPLOYED, RUNNING, RUN_PAUSED, UNKNOWN, COMPLETED, RUN_
FAILED, RUN_ABORTED, RUN_TIMED_OUT, or DEPLOY_FAILED
Fileld Status of the bot for which details are sought
ID Unique execution ID
automationName Name of the automation to which the execution is associated
fileName Name of the bot that is deployed to execute
filePath Relative path of the bot that is deployed to execute
Type Type of activity - TASK
startDateTime Date and time when the execution started
endDateTime Date and time when the execution ended
command Current command of the execution
Status Current status of the execution - DEPLOYED, RUNNING, RUN_PAUSED, UNKNOWN,
COMPLETED, RUN_FAILED, RUN_ABORTED, RUN_TIMED_OUT, or DEPLOY_FAILED
progress Current progress of the execution in percentage
automationId ID of the automation to which the execution is associated
userId Corresponding User ID of the device where the bot is deployed
deviceId Device id where the bot is deployed
currentLine Current line of bot that is deployed to execute
totalLines Total lines of the bot that is deployed to execute
fileId ID of the bot that is deployed to execute
modifiedBy ID of the user who last updated the execution
createdBy ID of the user who created the automation associated with the execution
modifiedOn Date and time when the execution was last updated
createdOn Date and time when the execution was created
deploymentId Deployment ID to which the execution is associated
queueName Queue name
queueId Queue ID
usingRdp Whether the bot should be deployed using remote desktop process - true or false
message Message if available
canManage Does the current logged in user has rights to manage the execution - true or false

Copyright © 2018 Automation Anywhere, Inc. 77 https://support.automationanywhere.com


API Response Codes
Http(s) Status code Response - Description Corrective Action
200/204 Action completed NA
successfully
304 No changes applied Update as required
400 Bad request parameter Retry with valID parameters
401 Authentication required Provide authentication parameters. For example: X-Authorization
key
403 Unauthorized access Ensure you are authorized to access the Control Room
404 Not found Ensure that the request payload is available in Control Room
409 Conflict Ensure the parameters provided are correct
500 Internal server error Ensure the server is up and running
501 Permission error Ensure that you have the required permission

Copyright © 2018 Automation Anywhere, Inc. 69 https://support.automationanywhere.com


Audit Logs
The deployment activity using the API is logged in the Control Room Audit Log page. As a Control Room administrator or user with
access to view all audit log actions, you can view the audit entries as follows:

The following screenshot displays a sample audit log details page, for deploying a bot using Deployment API:

Copyright © 2018 Automation Anywhere, Inc. 70 https://support.automationanywhere.com


13. API to Add/Remove Manual dependencies to a Bot
As a Control Room administrator or user with Run/Schedule permission (in the Role as well as for the Bot Repository), you can attach
and remove dependent files to a bot using this API.
The Add/Remove Manual Dependency APIs allow you to,
1. Attach files from My Docs, My Scripts, or My Exes to a bot.
2. Remove the attached manual dependencies from the bot.

Note: The examples provided in this article are for reference only.

Before accessing the Manual Dependencies API's you must first use the authentication API and pass it as a token to use a particular API.
3. Use the POST method to generate a token using the end point http(s)://<hostname:port>/v1/authentication. For this provide the
Control Room instance as Server Name /Hostname /IP and the Port number.

For example:
https://crdevenv.com:81/v1/authentication
4. Provide the following request payload in Headers
“X-Authorization” : “Authorization token”
“Content-Type” : “application/json”

5. Provide the following request payload in Body:


{
"username": "<Username>",
"password": "<Password>"
}

For example:
{
"username":"Ellie.Brown",
"password": "12345678"
}

API to fetch bot details


Use this API to fetch details of a bot from the server repository. The bot ID fetched from this API is used in the API for Bot Deployment.

API end point


Use the following end point to access the APIs:

<Control Room URL>/v2/repository/file/list


For example:
https://crdevenv.com:81/v2/repository/file/list

Fetch bot details


1. Provide the "X-Authorization" and "Content Type" parameters in Headers.
2. Use the POST method to provide the following request payload in Body:
{ "filter
":
{
"operator":"<eq, ne, lt, le, gt, or ge>", "value":"<bot name>", "field":"fileName"
}

Copyright © 2018 Automation Anywhere, Inc. 71 https://support.automationanywhere.com


}

Tip: Use ‘eq’ or ‘substring’ operator with field as ‘name’ and bot name in the ‘value’ of the
filter, to fetch bot details of all the bots matching the bot name provided. Additional fil-
tering, ordering and pagination rules can also be requested.

For example:
The following fetches details of the bot Import-Table.atmx:

{
"filter":
{
"operator":"eq", "value":"Import-Table.atmx", "field":"fileName"
}
}

3. Click Send.
4. The action is successful when the response status is 200.
5. You can view the response in the Body data as follows.
{
"page": { "offset": 0, "total": 1, "totalFilter": 1 },
"list":
[
{ "id": "10", "parentid": "9", "name": "Import-Table.atmx", "canDelete": true, "canDownload": true,
"canExecute": true, "canUpload": true, "canRun": true, "lastModified": "2018-07-18T04:42:05Z",
"lastModifiedBy": "0", "path": "Automation Anywhere\\My Tasks\\Sample Tasks\\Import-Table.atmx", "dir-
ectory": false, "size": 418719, "isLocked": false, "productionVersion": "", "lockedBy": "",
"latestVersion": "", "fileLastModified": "2018-07-18T04:42:05Z" }
]
}

Parameter Description
Parameter Description
operator
• NONE
• lt - less than
• le - less than equal to
• eq - equal to
• ne - not equal to
• ge - greater than equal to
• gt - greater than
• substring
• and
• or
• not
value Name of the bot or the date
field Name of the bot for which details are sought / lastModified / updatedOn

Copyright © 2018 Automation Anywhere, Inc. 72 https://support.automationanywhere.com


Parameter Description
id ID of the bot
parentId Parent directory ID of the bot
name Name of the bot
canDelete Logged in user has rights to delete the bot - true or false
canDownload Logged in user has rights to download the bot - true or false
canExecute Logged in user has rights to execute the bot# - true or false

canUpload Logged in user has rights to upload the bot - true or false
canRun Logged in user has rights to run\schedule the bot - true or false
lastModified Date and time when the bot was last updated
lastModifiedBy The ID of the user who has last modified the entity
path Relative path of the bot
directory Flag for directory - true or false
size Size of the bot in KB
isLocked Is the bot checked out by another user* - true or false
productionVersion Current production version of the bot*
lockedBy user ID who has locked the bot *
latestVersion Latest version of the bot*
fileLastModified Date and time when the bot was last updated

# applicable only for Meta Bots

* applicable when version control is enabled

API to Add Manual Dependencies


Use this API to Add (attach) manual dependencies to a bot.

API end point


Use the following end point to access the APIs:
<ControlRoomURL>/v1/files/manualdependencies

For example:
https://crdevenv.com:81/v1/files/manualdependencies

Add Manual Dependencies


1. Provide the "X-Authorization" and "Content Type" parameters in Headers.
2. Use the POST method to add the dependencies to the parent bot.

{
"id": 1,
"child_ids": [13, 15, 234]
}

3. Click Send.
4. The action is successful when the response status is 200.
5. You can view the Response in the Body data as follows:
“OK” Manual Dependencies Added Successfully
6. When the files are added/attached to a Bot, you can view them in the Control Room User Interface (from the Bot Details page)

Copyright © 2018 Automation Anywhere, Inc. 73 https://support.automationanywhere.com


Parameter Description
Parameter Description
id This is the ID for the parent bot (the bot to which the dependencies are to be added/attached)
Child_ids These are the IDs of the files which need to be added to the parent bot. Note that ONLY files
from My Docs, My Scripts and My Exes can be added to the parent bot.
Also, the user invoking the Add/Remove Manual Dependencies API must have run/schedule
permission on the parent bot and the child files.

API Response Codes

Http(s) Status code Response - Description Corrective Action


200 Manual dependencies added successfully None
400 Bad Request Ensure that the input json string is valid
401 Authentication Required Ensure that the authentication token string is valid
403 Forbidden Ensure that the user has run/schedule permission on the
parent bot and child files
404 Not found The IDs are invalid
412 Precondition failed Ensure that you are ONLY adding/removing dependency
files from My Docs, My Scripts and My Exes folder
422 Unprocessable entry Ensure that the parent bot ID is valid. You can ONLY
add/remove dependency files to an atmx file.

API to Remove Manual Dependencies


Use this API to delete (remove) manual dependencies to a bot.

API end point


Use the following end point to access the APIs:
<ControlRoomURL>/v1/files/manualdependencies
For example:
https://crdevenv.com:81/v1/files/manualdependencies

Delete (Remove) Manual Dependencies


1. Provide the "X-Authorization" and "Content Type" parameters in Headers.
2. Use the DELETE method to remove the dependencies to the parent bot.

{
"id": 1,
"child_ids": [13, 15, 234]
}

3. Click Send.
4. The action is successful when the response status is 200.
5. You can view the Response in the Body data as follows:
“OK” Manual Dependencies removed Successfully
6. You can verify that from the Control Room User Interface -> Bot Details page.

Parameter Description
Parameter Description
id This is the ID for the parent bot (the bot to which the dependencies are to be added/attached)
Copyright © 2018 Automation Anywhere, Inc. 74 https://support.automationanywhere.com
Parameter Description
Child_ids These are the IDs of the files which need to be removed from the parent bot. Note that ONLY
files from My Docs, My Scripts and My Exes can be removed from the parent bot.
Also, the user invoking the Add/Remove Manual Dependencies API must have run/schedule
permission on the parent bot and the child files.

API Response Codes

Http(s) Status code Response - Description Corrective Action


200 Manual dependencies removed None
successfully
400 Bad Request Ensure that the input json string is valid
401 Authentication Required Ensure that the authentication token string is valid
403 Forbidden Ensure that the user has run/schedule permission on the
parent bot and child files
404 Not found The IDs are invalid
412 Precondition failed Ensure that you are ONLY adding/removing dependency
files from My Docs, My Scripts and My Exes folder
422 Unprocessable entry Ensure that the parent bot ID is valid. You can ONLY
add/remove dependency files to an atmx file.

Audit Logs
The Add/Remove Manual Dependencies using the API is logged in the Control Room Audit Log page. As a Control Room administrator
or user with access to view all audit log actions, you can view the audit entries as follows:

Copyright © 2018 Automation Anywhere, Inc. 75 https://support.automationanywhere.com


13. API to Create and Manage Schedules
As a Control Room administrator or user with Schedule permission (in the Role as well as for the Bot Repository), you can create and
manage schedules for bots.
The Schedule APIs allow you to do the following:
1. Create a schedule for a bot
2. Update an existing schedule
3. Delete an existing schedule

To perform the tasks mentioned above, ensure you have appropriate permissions to the bot folder and user roles.

Note: The examples provided in this article are for reference only.

Before accessing the Schedule API's, use the authentication API and pass it as a token to use a particular API.

4. Use the POST method to generate a token using the end point http(s)://<hostname:port>/v1/authentication. For this provide the
Control Room instance as Server Name /Hostname /IP and the Port number.
For example:
https://crdevenv.com:81/v1/authentication
5. Provide the following request payload in Headers
“X-Authorization” : “Authorization token”
“Content-Type” : “application/json”

6. Provide the following request payload in Body:


{
"username": "<Username>",
"password": "<Password>"
}

For example:
{
"username":"Ellie.Brown",
"password": "12345678"
}

API to fetch bot details


To create a schedule for a bot, you would need the bot ID. Use this API to fetch details of a bot from the server repository. The bot ID
fetched from this API is used in the API for Bot Deployment.

API end point


Use the following end point to access the APIs:
<Control Room URL>/v2/repository/file/list
For example:
https://crdevenv.com:81/v2/repository/file/list

Fetch bot details


1. Provide the "X-Authorization" and "Content Type" parameters in Headers.
2. Use the POST method to provide the following request payload in Body:
{ "filter
":

Copyright © 2018 Automation Anywhere, Inc. 76 https://support.automationanywhere.com


{
"operator":"<eq, ne, lt, le, gt, or ge>", "value":"<bot name>", "field":"fileName"
}
}

Tip: Use ‘eq’ or ‘substring’ operator with field as ‘name’ and bot name in the ‘value’ of the
filter, to fetch bot details of all the bots matching the bot name provided. Additional fil-
tering, ordering and pagination rules can also be requested.

For example:
The following fetches details of the bot Import-Table.atmx:

{
"filter":
{
"operator":"eq", "value":"Import-Table.atmx", "field":"fileName"
}
}

3. Click Send.
4. The action is successful when the response status is 200.
5. You can view the response in the Body data as follows.
{
"page": { "offset": 0, "total": 1, "totalFilter": 1 },
"list":
[
{ "id": "10", "parentid": "9", "name": "Import-Table.atmx", "canDelete": true, "canDownload": true,
"canExecute": true, "canUpload": true, "canRun": true, "lastModified": "2018-07-18T04:42:05Z",
"lastModifiedBy": "0", "path": "Automation Anywhere\\My Tasks\\Sample Tasks\\Import-Table.atmx", "dir-
ectory": false, "size": 418719, "isLocked": false, "productionVersion": "", "lockedBy": "",
"latestVersion": "", "fileLastModified": "2018-07-18T04:42:05Z" }
]
}

Parameter Description
Parameter Description
operator
• NONE
• lt - less than
• le - less than equal to
• eq - equal to
• ne - not equal to
• ge - greater than equal to
• gt - greater than
• substring
• and
• or
• not

Copyright © 2018 Automation Anywhere, Inc. 77 https://support.automationanywhere.com


Parameter Description
value Name of the bot or the date
field Name of the bot for which details are sought / lastModified / updatedOn
id ID of the bot
parentId Parent directory ID of the bot
name Name of the bot
canDelete Logged in user has rights to delete the bot - true or false
canDownload Logged in user has rights to download the bot - true or false
canExecute Logged in user has rights to execute the bot# - true or false

canUpload Logged in user has rights to upload the bot - true or false
canRun Logged in user has rights to run\schedule the bot - true or false
lastModified Date and time when the bot was last updated
lastModifiedBy The ID of the user who has last modified the entity
path Relative path of the bot
directory Flag for directory - true or false
size Size of the bot in KB
isLocked Is the bot checked out by another user* - true or false
productionVersion Current production version of the bot*
lockedBy user ID who has locked the bot *
latestVersion Latest version of the bot*
fileLastModified Date and time when the bot was last updated

# applicable only for Meta Bots

* applicable when version control is enabled

API to Create Schedules


Use this API to create schedules
API end point
Use the following end point to access the APIs:
<ControlRoomURL>/v1/schedule/automations
For example:
https://crdevenv.com:81/v1/schedule/automations

Create Schedule
1. Provide the "X-Authorization" and "Content Type" parameters in Headers.
2. Use the POST method to create schedule with the Body payload as follows

{
"name": "string",
"fileId": "string",
"startDate": "string",
"endDate": "string",
"startTime": "string",
"description": "string",
"rdpEnabled": true,
Copyright © 2018 Automation Anywhere, Inc. 78 https://support.automationanywhere.com
"scheduleType": "NONE",
"repeatEnabled": true,
"status": "ACTIVE",
"timeZone": "string",
"deviceIds": [
"string"
],
"dailyRecurrence": {
"interval": "string"
},
"weeklyRecurrence": {
"daysOfWeek": [
"SUN"
],
"interval": "string"
},
"monthlyDateRecurrence": {
"dateOfMonth": "string",
"monthsOfYear": [
"JAN"
]
},
"monthlyWeekDayRecurrence": {
"weekOfMonth": "FIRST",
"dayOfWeek": "SUN",
"monthsOfYear": [
"JAN"
]
},
"repeatOccurrence": {
"endTime": "string",
"runEvery": "string",
"timeUnit": "MINUTES"
}
}

For Example:

To create a one-time schedule To create a daily schedule that runs To create a monthly schedule
every 2 hours

{ { {
"name":"MontlyOpsSch",
name":"FinanceSchedule", "name":"DailyHRAtmnSch",
"fileId":10,
"fileId":32, "fileId":10,
"status":"ACTIVE",
"status":"ACTIVE", "status":"ACTIVE",
"deviceIds":[
"deviceIds":[ "deviceIds":[

Copyright © 2018 Automation Anywhere, Inc. 79 https://support.automationanywhere.com


To create a one-time schedule To create a daily schedule that runs To create a monthly schedule
every 2 hours
"2" "1" "1"
], ], ],
"description":"", "description":"hello", "description":"",
"rdpEnabled":false, "rdpEnabled":false, "rdpEnabled":false,

"timeZone":"Asia/Calcutta" "timeZone":"Europe/Athens" "timeZone":"Asia/Calcutta",


, ,
"startDate":"2018-10-30",
"startDate":"2018-10-30", "startDate":"2018-09-28",
"endDate":"2024-10-30",
"startTime":"14:30", "endDate":"",
"startTime":"14:30",
"scheduleType":"NONE" "dailyRecurrence":{
} "interval":"1" "scheduleType":"MONTHL
Y",
},
"scheduleType":"DAILY",
"monthlyWeekDayRecurre
"startTime":"18:00", nce":{
"repeatOccurrence":{ "monthsOfYear":[
"endTime":"23:59", "JAN",
"runEvery":2, "MAY",
"timeUnit":"HOURS" "JUL",
}, "SEP",
"repeatEnabled":true "DEC"
} ],
"weeksOfMonth":[
"FIRST"
],
"daysOfWeek":[
"MON"
]
},
"repeatOccurrence":{
"endTime":"23:59",
"runEvery":3,
"timeUnit":"HOURS"
},
"repeatEnabled":true
}

Parameter Description
Parameter Description
name This will be the schedule name
fileId This is the ID of the Bot on which the schedule is to be set
startDate The start date of the schedule; the date format is fixed YYYY-MM-DD
endDate The end date of the schedule; the date format is fixed YYYY-MM-DD

Copyright © 2018 Automation Anywhere, Inc. 80 https://support.automationanywhere.com


Parameter Description
startTime The start time of the schedule; this will be a 24 hour format
description This is the description of the schedule; this can be empty
rdpEnabled This parameter describes whether the bot has to run using ‘bot runner session on
Control Room’
scheduleType This can be either of NONE, DAILY, WEEKLY, MONTHLY
NONE – this will be 1 time schedule
repeatEnabled Use this option if you want to repeat the schedule at intervals that you can define in the
repeatOccurence parameter.
status There could be 2 values for this: ACTIVE or INACTIVE. These correspond to active and
inactive schedules respectively.
timeZone Please refer the TZ column of the table mentioned at
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for the timeZone values.
deviceIds The IDs of the devices; you can get the device ID using the <Control Room
URL>/v2/devices/list API. Please refer section 12 for more details on this API.
Use either of daily dailyRecurrence, weeklyRecurrence, monthlyDateRecurrence or monthlyWeekDayRecurrence
dailyRecurrence This will be interval for daily occurrence (days) ; (e.g.) every 1 day / every 2 days etc.
weeklyRecurrence This will have 2 parameters
- daysOfWeek ; this will be one or more of [ SUN, MON, TUE, WED, THU, FRI,
SAT ]
- interval; Frequency of weekly occurrence interval (Every 1 week on MON,TUE /
Every 2 weeks on MON,TUE / Every 3 weeks on MON,TUE and so on
monthlyDateRecurrence This will have 2 parameters
- dateOfMonth; Date of month (Every 1st of JAN, FEB / Every 11th of JAN, FEB /
Every 21st of JAN, FEB and so on.
- monthsOfYear; Months of the year. [ JAN, FEB, MAR, APR, MAY, JUN, JUL,
AUG, SEP, OCT, NOV, DEC ]
monthlyWeekDayRecurrence This will have 3 parameters
- weekOfMonth; Week of month (Every FIRST MON of JAN, FEB / Every
SECOND MON of JAN, FEB / Every LAST MON of JAN, FEB and so on.
[ FIRST, SECOND, THIRD, FOURTH, LAST ]
- dayOfWeek; Day of week (Every FIRST SUN of JAN, FEB / Every FIRST MON
of JAN, FEB / Every FIRST SAT of JAN, FEB and so on. [ SUN, MON, TUE,
WED, THU, FRI, SAT ]
- monthsOfYear; Months of the year. [ JAN, FEB, MAR, APR, MAY, JUN, JUL,
AUG, SEP, OCT, NOV, DEC ]
repeatOccurrence This will have 3 parameters
- endTime; End time for a repeat occurrence for a day. This will be in HH:MM
format
- runEvery; Frequency of interval.
- timeUnit; Unit of automation repeat interval. [ MINUTES, HOURS ]

1. Click Send.
2. The action is successful when the response status is 200
3. You can view the Response in the Body data as displayed below.
4. On successful schedule creation, the response code will be 201. The format of the response will be as follows:
{
"name": "string",
"fileId": "string",
"startDate": "string",
"endDate": "string",
"startTime": "string",
"description": "string",
"rdpEnabled": true,
"scheduleType": "NONE",

Copyright © 2018 Automation Anywhere, Inc. 81 https://support.automationanywhere.com


"repeatEnabled": true,
"status": "ACTIVE",
"timeZone": "string",
"deviceIds": [
"string"
],
"dailyRecurrence": {
"interval": "string"
},
"weeklyRecurrence": {
"daysOfWeek": [
"SUN"
],
"interval": "string"
},
"monthlyDateRecurrence": {
"dateOfMonth": "string",
"monthsOfYear": [
"JAN"
]
},
"monthlyWeekDayRecurrence": {
"weekOfMonth": "FIRST",
"dayOfWeek": "SUN",
"monthsOfYear": [
"JAN"
]
},
"repeatOccurrence": {
"endTime": "string",
"runEvery": "string",
"timeUnit": "MINUTES"
},
"id": "string",
"zonedNextRunDateTime": "string",
"createdBy": "string",
"createdOn": "string",
"updatedBy": "string",
"updatedOn": "string",
"tenantId": "string"
}

Most of the response parameters are mentioned in the Parameter Description table above.
5. The new ones are as follows:
• id – ID of the schedule
• zonedNextRunDateTime - Date and time when the automation is scheduled to run next. Sample data "2017-04-
14T15:08:42Z".

Copyright © 2018 Automation Anywhere, Inc. 82 https://support.automationanywhere.com


• createdBy - ID of the user who created the automation.
• updatedBy - ID of the user who last updated the automation.
• updatedOn - Date and time when the automation was last updated. Sample data "2017-04-14T15:08:42Z".
• tenantId - ID of the tenant.

6. Once the schedule is created, you can view that in the Control Room User Interface (Activity -> Scheduled page).

API Response Codes

Http(s) Status code Response - Description Corrective Action


201 Successful creation of automaton. None
400 Bad Request Ensure that the input json string is valid
401 Authentication Required Ensure that the authentication token string is valid
403 Unauthorized access Ensure that the user has schedule permission on the parent
bot
404 Not found The IDs are invalid
500 Unprocessable entry Ensure that the bot ID is valid. You can ONLY schedule on
an atmx file.

API to Update Schedules


Use this API to update the schedules.

API end point


Use the following end point to access the APIs:
<ControlRoomURL>/v1/schedule/automations/{id}

For example:
If you want to update a schedule with ID 3, then the API will be:
https://crdevenv.com:81/v1/schedule/automations/3

• The Request body will have the same parameters as mentioned in Create Schedule API; but you cannot edit the name and
fileid
• The API method will be PUT

API Response Codes

Http(s) Status code Response - Description Corrective Action


200 Successful update of automation None
400 Bad Request Ensure that the input json string is valid
401 Authentication Required Ensure that the authentication token string is valid
403 Forbidden Ensure that the user has schedule permission on the bot.
404 Not found The IDs are invalid
409 Precondition failed Ensure that you are ONLY adding/removing dependency
files from My Docs, My Scripts and My Exes folder
500 Unprocessable entry Ensure that the parent bot ID is valid. You can ONLY
add/remove dependency files to an atmx file.

Copyright © 2018 Automation Anywhere, Inc. 83 https://support.automationanywhere.com


API to Delete Schedules
Use this API to delete schedules.
API end point
Use the following end point to access the APIs:
<ControlRoomURL>/v1/schedule/automations/{id}

For example:
If you want to delete a schedule with ID 12, then the API will be

https://crdevenv.com:81/v1/schedule/automations/12
There will be no request body.
The API method will be DELETE.

API Response Codes

Http(s) Status code Response - Description Corrective Action


200 Manual dependencies removed None
successfully
400 Bad Request Ensure that the input json string is valid
401 Authentication Required Ensure that the authentication token string is valid
403 Forbidden Ensure that the user has run/schedule permission on the
parent bot and child files
404 Not found The IDs are invalid
412 Precondition failed Ensure that you are ONLY adding/removing dependency
files from My Docs, My Scripts and My Exes folder
422 Unprocessable entry Ensure that the parent bot ID is valid. You can ONLY
add/remove dependency files to an atmx file.

Audit Logs
The operations for creating schedule, edit, and delete using the above APIs are recorded in the audit trail, that requires access to audit
trail.

Copyright © 2018 Automation Anywhere, Inc. 84 https://support.automationanywhere.com

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy