Orchestrator API in Enterprise edition of orchestrator

Hi UiPath Family,

Note: Sample Xaml Has Been Attached For Your Refrence
Developed Studio Version:2020.4.3
Please leave a like.

I was having issue with using orchestrator API with Enterprise edition of Orchestrator. I really had a difficult time in resolving the issue. The process to follow in Community edition of orchestrator is entirely different from the method you use for enterprise

Important step to know. YOU DON’T NEED TO ENABLE API LIKE YOU DO IN COMMUNITY EDITION directly you can start from the step 1

So let this post be the refrence in future if you face the issue with Orchestrator API in Enterprise edition.

Please Follow the following steps:

  1. Generate Access token with following step UiPath Orchestrator API Guide 2016.2

Note: output is json access token with other data you need to use regex to extract the data out of it. I have attached xaml for your reference

  1. you need to get Releases(Get Request)
    https://YourEnterpriseOrchUrl/odata/Releases
    In headers give the access token Name = Authorization Direction=In Type=String Value="Bearer "+“Token value returned by 1st step”
    take the value mentioned as “KEY” and not “Process key”

https://docs.uipath.com/orchestrator/reference/environments-requests
Note: there will be different keys for different processes that you have published in orchestrator, make sure you choose right key

  1. you need to get robot Id’s(Get Request)
    https://YourEnterpriseOrchUrl/odata/Robots
    In headers give the access token Name = Authorization Direction=In Type=String Value="Bearer "+“Token value returned by 1st step”

output will be json. Note down the field “Id” and not “UserId”, id for each bot created in orchestrator varies from one another.
https://docs.uipath.com/orchestrator/reference/robots-requests

If You are done you are almost done it is now you have issues. Because this is not mentioned in the documentation.

  1. You Need to make final Post request to start job.
    the json payload is as follows
    {
    “startInfo”: {
    “ReleaseKey”: “output from the 2nd Step. Your desired Process Key”,
    “Strategy”: “Specific”,
    “RobotIds”: [output from the 3rd step. Your Desired robot ID]
    }
    }
    Jobs Requests

NOTE: Please note Requests are case sensitive

API.zip (5.9 KB)

3 Likes

Hi @ashley11,
thank you for your tutorial about Orchestrator API.
I want to run it on a robot to get some informations about my assets and store them in a file. I changed the request to Your_URL+“/odata/Assets”. That worked with global assets, but I want to get the values per Robot as well. Do you know, how I can get the values per robot?

And another question: Why didn’t you use the http Orchestrator request? I think, this activity doesn’t need authentication first, does it? Or is this activity for other purposes?
Thank you!
Moritz

To use Orchestrator request activities you need to be connected to orchestrator with the robot in your system.
This tutorial we use web http activities which will work even if you are using a pc which is not connected to the orchestrator.

Hi, thats a good idea.
With web http request activity we can get assets or other informations from both orchestrators (test-environment and production-environment) in one job.

Hi,

Is there any possibility to get the “Robot ID” based on “User ID/Name”?
i.e. Using User id/name, I should get the Robot ID.

The customer has given a document with the columns
“Process Name, Robot ID, User id/Name”
E.g: “GR/IR Process, , Raju/1234”

The requirement says, GR/IR Process should run at the Robot which uses user id “Raju”.
To run the JOB, I should pass the “Robot Id” as parameter to “Orchestrator API”, But I didn’t find the Get request of Robot ID using User id/name
E.g: Odata/Robots/{Username=Raju}

Any thoughts to get the solution?

Thanks in advance.
-Pushpa Raj