How to start UiPath Job through API call

Srdjan Suc
4 min readMay 31, 2023

In today’s text, we will start the UiPath process through an API call.
We will work with two examples, one with and one without input arguments to show the functionality and configuration of these 2 different cases.

The tool that I will use is Postman.
Download link: https://www.postman.com/downloads/

The information that we need is:

  1. User key
  2. Organization ID
  3. Tenant Name
  4. Client id

We can get this information from the Orchestrator itself.
They can be located at User > Preferences > Privacy & Security > View API access.

Write this information down as we will need it later.

A good place to start is reading UiPath’s API documentation:

https://docs.uipath.com/orchestrator/reference/api-references

The first step we have to do is to get an authentication key

With this call, we will receive an Access Token, which we must use in every subsequent call.
Here’s what it looks like inside Postman:

It is necessary to add two parameters in the header:
1. Content-Type = application/json
2. X-UIPATH-TenantName = {tenant name}

Sample of JSON body as a request:

In the documentation itself, we can see an example of the response we will receive:

This Access token is exactly what we need for further implementation.

The second step is to take the release key of the process we want to call.

We also put the same two values ​​in the header as during the previous call, only in the Authorization part we will put the Access Token we generated.

The API call from Postman looks like the picture below:

We can see an example of the response in the documentation:

It is necessary to save the values ​​from the Key and OrganizationUnitId fields.

The third step is to call the process itself.

In the documentation, we can see how the request should look

This time we will have 3 properties ​​in the header itself.
Content type and tenant name as in the request and new one which is actually the value we need to extract from the previous response — OrganizationUnitId

The JSON body of our request looks like the picture below:

As you can see, we do not pass any arguments to the process (we are just writing a message so we know that our process ran successfully).

Calling a process with parameters is a little different.

It is necessary to map these parameters to the Request body.
We can take a look at UiPath’s documentation again, but for reference, I’ve used the Request below.

We can see that there are two arguments, param1, and param2

The process is made to only print the parameter values ​​that we sent to it.

Overview of the steps we did in order to start UiPath Robot using API:

  1. We generated the Authorization Token:
    POST https://account.uipath.com/oauth/token
  2. We extracted the Release Key
    GET https://cloud.uipath.com/{Organization ID}/{Tenant name}/orchestrator_/odata/Releases?$filter=ProcessKey eq ‘{Process name}’
  3. We have started the process:
    POST https://cloud.uipath.com/{Organization ID}/{Tenant name}/orchestrator_/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs

This logic can be very useful if we want to start the UiPath process using some external tools, and in the following text, I will show how it is done from the Power Automate platform.

If you have any questions or suggestions, feel free to write to me.

Until then, happy automation!

--

--

Srdjan Suc

Passionate RPA enthusiast focused on harnessing automation for efficiency. Adept at creating digital solutions to streamline business processes