AAE 11.3 Control Room API User Guide
AAE 11.3 Control Room API User Guide
11.3
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
}
403 { User is deactivated
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.
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.
restRequest = objStream.ReadText()
objStream.Close
Set objStream = Nothing
contentType = "application/json"
oWinHttp.Send restRequest
response = oWinHttp.StatusText
MsgBox response
Dim AuthToken
AuthToken = oWinHttp.ResponseText
'oJson.loadJSON(AuthToken)
'MsgBox oJson.data("token")
MsgBox AuthToken
'---------------------------------------------------
MsgBox(sToken)
MsgBox posUser
MsgBox(sToken)
restRequest = objStream_dep.ReadText()
objStream_dep.Close
Set objStream = Nothing
contentType = "application/json"
oWinHttp.Send restRequest
response = oWinHttp.StatusText
MsgBox response
Dim DeployResponse
DeployResponse = oWinHttp.ResponseText
'MsgBox DeployResponse
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" }
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.
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
409 Conflict
500 Internal Server error
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.
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
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
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.
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.
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
Note: Cross import/export from API to User Interface (and vice versa) is not supported.
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.
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
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
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:
{
"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
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:
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.
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:
For example:
https://crdevenv.com:81/v1/wlm/queues
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
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
}
]
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
},
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
}
]
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
{
"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",
"ownerId": "1",
"attributes": [
"id": "58",
"name": "Username",
"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.
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":
[
Update credential
This API allows you to update existing credentials.
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":
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.
Parameter Description
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.
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”
}
]
}
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
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
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.
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.
"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
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":
[
{ "id": "14" }
]
}
Parameter Description
Parameter Description
id Id of the locker consumer. This can be identified by using the Get Locker by Id API
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
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
}
]}
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:
GET https://crdevenv.com:81/v2/credentialvault/mode
2. Provide the following request payload in Headers
“X-Authorization” : “Authorization token”
“Content-Type” : “application/json”
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.
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.
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.
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:
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.
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”
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
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
For example:
https://crdevenv.com:81/v2/migration/connection/botinsight
4. Provide following request parameters in Body:
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
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.
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
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.
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":
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
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)
{
{
"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.
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.
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
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 -
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.
For example:
https://crdevenv.com:81/v1/authentication
4. Provide the following request payload in Headers:
“X-Authorization” : “Authorization token”
“Content-Type” : “application/json”
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.
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
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
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" },
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
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
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.
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
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.
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”
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
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
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
Parameter Description
id Unique execution id
createdBy Id of the user who created the automation associated with the execution
modifiedOn Date and time when the execution was last updated
queueId Queue id
usingRdp Whether the bot should be deployed using remote desktop process - true or false
canManage Does the current logged in user has rights to manage the execution - 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
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
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
The following screenshot displays a sample audit log details page, for deploying a bot using Deployment API:
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”
For example:
{
"username":"Ellie.Brown",
"password": "12345678"
}
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
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
For example:
https://crdevenv.com:81/v1/files/manualdependencies
{
"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)
{
"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.
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:
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”
For example:
{
"username":"Ellie.Brown",
"password": "12345678"
}
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
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
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":[
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
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",
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".
6. Once the schedule is created, you can view that in the Control Room User Interface (Activity -> Scheduled page).
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
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.
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.