robot
2022.10
false
- Getting Started
- Installation and Upgrade
- Robot Types
- Robot Components
- Licensing
- Connecting Robots to Orchestrator
- Processes and Activities
- Logging
- Specific Scenarios
- Governance
- Troubleshooting
- Robot Service troubleshooting
- Execution troubleshooting
- Recording and Remote Control troubleshooting
- Networking troubleshooting
- Connection troubleshooting
- Licensing troubleshooting
- Package troubleshooting
- .NET troubleshooting
- Logging troubleshooting
- Session troubleshooting
- CrowdStrike integration troubleshooting

Robot Admin Guide
Last updated Feb 6, 2026
The Robot is able to tackle various automation needs. These capabilities are greatly increased when you make use of the Robot API, offering a tailored experience to create domain-specific interfaces.
The Robot API is only used to manage your own jobs, and not for other users. It is accessible only from the machine on which the Robot is installed. The API shares the same version as the Robot, with each update offering backwards compatibility.
| Robot Version | API 2023.10.x | API 2023.4.x | API 2022.10.x | API 2022.4.x | API 2021.10.x |
|---|---|---|---|---|---|
| Robot 2023.10.x | |||||
| Robot 2023.4.x | |||||
| Robot 2022.10.x | |||||
| Robot 2022.4.x | |||||
| Robot 2021.10.x |
The
UiPath.Robot.api library is required to use the Robot API. It can be downloaded from the https://uipath.pkgs.visualstudio.com/Public.Feeds/_packaging/UiPath-Official/nuget/v3/index.json feed.
You can make use of the followings .NET Robot Client calls:
var client = new RobotClient();var client = new RobotClient();var processes = await client.GetProcesses();
var myProcess = processes.Single(process => process.Name == "MyProcess");
var job = myProcess.ToJob();var processes = await client.GetProcesses();
var myProcess = processes.Single(process => process.Name == "MyProcess");
var job = myProcess.ToJob();var job = new Job("812e908a-7609-4b81-86db-73e3c1438be4");var job = new Job("812e908a-7609-4b81-86db-73e3c1438be4");{
await client.RunJob(job);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}{
await client.RunJob(job);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}job.InputArguments = {["numbers"] = new int[] { 1, 2, 3 }};
await client.RunJob(job);job.InputArguments = {["numbers"] = new int[] { 1, 2, 3 }};
await client.RunJob(job);var jobOutput = await client.RunJob(job);
Console.WriteLine(jobOutput.Arguments["sumOfNumbers"]);var jobOutput = await client.RunJob(job);
Console.WriteLine(jobOutput.Arguments["sumOfNumbers"]);await client.RunJob(job, cancellationToken);await client.RunJob(job, cancellationToken);job.StatusChanged += (sender, args) => Console.WriteLine($"{((Job)sender).ProcessKey}: {args.Status}");
await client.RunJob(job);job.StatusChanged += (sender, args) => Console.WriteLine($"{((Job)sender).ProcessKey}: {args.Status}");
await client.RunJob(job);