- Alerts Requests
- Assets Requests
- Calendars Requests
- Environments Requests
- Folders Requests
- Generic Tasks Requests
- Jobs Requests
- Libraries Requests
- License Requests
- Packages Requests
- Permissions Requests
- Personal Workspaces Requests
- Processes Requests
- Process Data Retention Policy Requests
- Queue Items Requests
- Queue Retention Policy Requests
- Robots Requests
- Roles Requests
- Schedules Requests
- Settings Requests
- Storage Bucket Requests
- Tasks Requests
- Task Catalogs Requests
- Task Forms Requests
- Tenants Requests
- Transactions Requests
- Users Requests
- Webhooks Requests
Consuming Cloud API
Overview
UiPath Automation Cloud has two mechanisms for consuming APIs:
- getting the API access information from Automation Cloud (described on this page)
- registering an external application to use the OAuth flow (information and instructions).
Which mechanism to use? You can use whichever mechanism you want, but if your Automation Cloud organization uses the Azure Active Directory model, you must register external applications in Automation Cloud and use the OAuth flow.
All clients that used to connect to Orchestrator CE via API, or using PowerShell and other scripting tools, need to be updated in order to connect to the UiPath Automation Cloud.
On-premises Orchestrator or Orchestrator installed in your private cloud have not been changed. You can continue to use your API integrations, PowerShell or other scripting tools as before when connecting to these Orchestrator instances.
Getting the API Access Information From the Automation Cloud UI
The Services page within your Automation Cloud account enables you to access API specific information for each of your existing services, allowing you to easily find the information required for authenticating to your cloud-based Orchestrator services via API calls.
Local users , regardless of their organization-level role, can view API access information for Orchestrator services.
Directory users cannot view API access information for an Orchestrator service as described below. Instead, they must register an external application and use the OAuth flow.
- Log in to your Automation Cloud account.
- Navigate to Admin > Tenants. The Tenants page lists all existing tenants.
- Click the arrow on the left of the desired tenant to display its available services.
- Click API Access for the Orchestrator service. The API Access window opens and includes the following service-specific information:
- User Key - allows you to generate unique login keys to be used with APIs or with 3rd party applications in order to log in and perform actions on your behalf. This was previously known as your refresh token.
- Organization ID - your organization name. It is the name after the base URL.
- Tenant Name - the display name of the tenant.
-
Client Id - specific to the Orchestrator application itself, is the same for all users and tenants on a specific platform. For example, all the tenants on https://cloud.uipath.com have the same Client Id value.
Do not close this window. You need the information to make the authentication call. Copy the values by clicking the copy button
next to each field.
Authenticating to Your Automation Cloud Based Orchestrator Tenant
The authentication operation sends a POST request to https://account.uipath.com/oauth/token
. The request and response should look as in the following example:
POST
https://account.uipath.com/oauth/token
Request header
Key |
Value |
---|---|
Authorization |
Bearer |
Request body
{
"grant_type": "refresh_token",
"client_id": "{client_ID}",
"refresh_token": "{user_key}"
}
{
"grant_type": "refresh_token",
"client_id": "{client_ID}",
"refresh_token": "{user_key}"
}
Response code
200 OK
Response body
{
"access_token": "{access_token}",
"id_token": "{id_token}",
"scope": "openid profile email offline_access",
"expires_in": 86400,
"token_type": "Bearer"
}
{
"access_token": "{access_token}",
"id_token": "{id_token}",
"scope": "openid profile email offline_access",
"expires_in": 86400,
"token_type": "Bearer"
}
{tenant_name}
, {client_ID}
and
{user_key}
values from your API Access page, as described in the previous
section.
Copy the {access_token}
for later use.
{access_token}
required for making Orchestrator API calls is valid for 24 hours. You have to regenerate {access_token}
using your {refresh_token}
; otherwise you receive a 401 status code.
Making Orchestrator API Calls
-
Perform a GET request to
https://cloud.uipath.com/{organizationName}/{tenantName}/orchestrator_/odata/Settings/UiPath.Server.Configuration.OData.GetLicense
-
Replace the
{organization_name}
and{tenant_name}
with your values from the API Access page. -
Set the Authorization header to
Bearer {access_token}
, and paste in the{access_token}
value received in the procedure above.
After sending the request, you should get a response back from Orchestrator with the license information for this service.
The request and response should look as in the following example:
GET
https://cloud.uipath.com/{organizationName}/{tenantName}/orchestrator_/odata/Settings/UiPath.Server.Configuration.OData.GetLicense
Request header
Key |
Value |
---|---|
Authorization |
Bearer |
Response code
200 OK
Response body
{
"@odata.context": "https://cloud.uipath.com/{organizationName}/{tenantName}/orchestrator_/odata/$metadata#UiPath.Application.Dto.License.LicenseDto",
"HostLicenseId": null,
"Id": 0,
"ExpireDate": 1622678399,
"GracePeriodEndDate": 1622678399,
"GracePeriod": null,
"AttendedConcurrent": false,
"DevelopmentConcurrent": false,
"StudioXConcurrent": false,
"LicensedFeatures": [],
"IsRegistered": true,
"IsExpired": false,
"CreationTime": "2019-11-28T06:16:21.373Z",
"Code": "d1c8-4785-55ace9a0c233",
"Allowed": {
"Unattended": 1,
"Attended": 1,
"NonProduction": 0,
"Development": 1,
"StudioX": 0
},
"Used": {
"Unattended": 0,
"Attended": 0,
"NonProduction": 0,
"Development": 1,
"StudioX": 0
}
}
{
"@odata.context": "https://cloud.uipath.com/{organizationName}/{tenantName}/orchestrator_/odata/$metadata#UiPath.Application.Dto.License.LicenseDto",
"HostLicenseId": null,
"Id": 0,
"ExpireDate": 1622678399,
"GracePeriodEndDate": 1622678399,
"GracePeriod": null,
"AttendedConcurrent": false,
"DevelopmentConcurrent": false,
"StudioXConcurrent": false,
"LicensedFeatures": [],
"IsRegistered": true,
"IsExpired": false,
"CreationTime": "2019-11-28T06:16:21.373Z",
"Code": "d1c8-4785-55ace9a0c233",
"Allowed": {
"Unattended": 1,
"Attended": 1,
"NonProduction": 0,
"Development": 1,
"StudioX": 0
},
"Used": {
"Unattended": 0,
"Attended": 0,
"NonProduction": 0,
"Development": 1,
"StudioX": 0
}
}
All Orchestrator API calls subsequent to the initial authorization must go to the Orchestrator URL .
They have to contain the following header:
- Authorization: Bearer {access_token}
For accessing resources in a folder, remember to add the FolderId
or FolderPath
in an HTTP header, as explained on the Building API requests page. For example:
- X-UIPATH-OrganizationUnitId: {FolderId}
Note that, for Automation Cloud Orchestrator services, the results displayed by the API requests are limited to 1,000 entries for each page.
You can use $top
and $skip
parameters in your requests to retrieve subsequent pages. For example, use the GET https://cloud.uipath.com/{organizationName}/{tenantName}/orchestrator_/odata/RobotLogs?$top=1000&$skip=2000
request to retrieve the robot log entries between 2,001 and 3,000.