# Permissions per endpoint

> | Action | Permissions |
| --- | --- |
| GET - `/tasks/GenericTasks/GetTaskDataById` | Tasks.View |
| POST - `/tasks/GenericTasks/CreateTask` | Tasks.Create |
| POST - `/tasks/GenericTasks/CompleteTask` | Tasks.Edit |

## Generic Tasks

| Action | Permissions |
| --- | --- |
| GET - `/tasks/GenericTasks/GetTaskDataById` | Tasks.View |
| POST - `/tasks/GenericTasks/CreateTask` | Tasks.Create |
| POST - `/tasks/GenericTasks/CompleteTask` | Tasks.Edit |

## Task Forms

| Action | Permissions |
| --- | --- |
| POST - `/forms/TaskForms/CreateFormTask` | Tasks.Create |
| GET - `/forms/TaskForms/GetTaskFormById` | Tasks.View |
| GET - `/forms/TaskForms/GetTaskDataById` | Tasks.View |
| POST - `/forms/TaskForms/CompleteTask` | Tasks.Edit |

## Task Catalogs

| Action | Permissions |
| --- | --- |
| GET - `/odata/TaskCatalogs` | TaskCatalogs.View |
| GET - `/odata/TaskCatalogs(Id)` | TaskCatalogs.View |
| POST - `/odata/TaskCatalogs/UiPath.Server.Configuration.OData.CreateTaskCatalog` | TaskCatalogs.Create |
| POST - `/odata/TaskCatalogs(Id)/UiPath.Server.Configuration.OData.UpdateTaskCatalog` | TaskCatalogs.Edit |

## Tasks

| Action | Permissions |
| --- | --- |
| GET - `/odata/Tasks` | Tasks.View |
| GET `/odata/Tasks(Id)` | Tasks.View |
| POST - `/odata/Tasks/UiPath.Server.Configuration.OData.AssignTasks` | Tasks.View & Tasks.Edit |
| POST - `/odata/Tasks/UiPath.Server.Configuration.OData.ReassignTasks` | Tasks.View & Tasks.Edit & TaskAssignment.Create |
| POST - `/odata/Tasks/UiPath.Server.Configuration.OData.UnassignTasks` | Tasks.View & Tasks.Edit |
| GET - `/odata/Tasks/UiPath.Server.Configuration.OData.GetTaskUsers(organizationUnitId=organizationUnitId)` | Tasks.View & Tasks.Edit & TaskAssignment.Create |

## Execution Media

| Action | Permissions |
| --- | --- |
| GET - `/odata/ExecutionMedia` | ExecutionMedia.View |
| GET - `/odata/ExecutionMedia(Id)` | ExecutionMedia.View |
| GET - `/odata/ExecutionMedia/UiPath.Server.Configuration.OData.DownloadMediaByJobId(jobId={jobId})}` | ExecutionMedia.View |
| POST - `/odata/ExecutionMedia/UiPath.Server.Configuration.OData.DeleteMediaByJobId` | ExecutionMedia.View |

## Folders

| Action | Permissions |
| --- | --- |
| GET - `/odata/Folders` | Folders.View or Subfolders.View |
| POST - `/odata/Folders` | Folders.Create or Subfolders.Create |
| DELETE -`/odata/Folders{Id}` | Folders.Delete or Subfolders.Delete |
| GET - `/odata/Folders{Id}` | Folders.View or Subfolders.View |
| PUT - `/odata/Folders{Id}` | Folders.Edit or Subfolders.Edit |
| POST - `/odata/Folders/UiPath.Server.Configuration.OData.AssignUsers` | Folders.Edit or Subfolders.Edit **and** Users.View and Roles.View |
| GET - `/odata/Folders/UiPath.Server.Configuration.OData.GetUsersForFolder(key={key},includeInherited={includeInherited})` | Folders.View or Subfolders.View **and** Users.View |
| POST - `/odata/Folders{Id}/UiPath.Server.Configuration.OData.RemoveUserFromFolder` | Folders.Edit or Subfolders.Edit **and** Users.View |

## Libraries

| Action | Permissions |
| --- | --- |
| GET - `/odata/Libraries` | Libraries.View |
| GET - `/odata/Libraries/UiPath.Server.Configuration.OData.GetVersions(packageId='{packageId}')` | Libraries.View |
| GET - `/odata/Libraries/UiPath.Server.Configuration.OData.DownloadPackage(key='{key}')` | Libraries.View |
| DELETE - `/odata/Libraries('{Id}')` | Libraries.Delete |
| POST - `/odata/Libraries/UiPath.Server.Configuration.OData.UploadPackage` | Libraries.Create |

:::note
The `GetVersions` API endpoint operates on a single feed per request. When the feed scope is set to **All (Host + Tenant)**, the endpoint will return versions only from the tenant feed.
:::

## Alerts

| Action | Permissions |
| --- | --- |
| GET - `/odata/Alerts` | Alerts.View |
| GET - `/odata/Alerts/UiPath.Server.Configuration.OData.GetUnreadCount()` | Alerts.View |
| POST - `/odata/Alerts/UiPath.Server.Configuration.OData.MarkAsRead` | Alerts.View |
| POST - `/odata/Alerts/UiPath.Server.Configuration.OData.RaiseProcessAlert` | Alerts.Create |

## Assets

| Action | Permissions |
| --- | --- |
| GET - `/odata/Assets` | Assets.View |
| POST - `/odata/Assets` | Assets.Create |
| PUT - `/odata/Assets({Id})` | Assets.Edit |
| DELETE - `/odata/Assets({Id})` | Assets.Delete |
| POST - `/odata/Assets/UiPath.Server.Configuration.OData.GetRobotAssetByNameForRobotKey` | Assets.View |
| GET - `/odata/Assets/UiPath.Server.Configuration.OData.GetRobotAssetByRobotId(robotId={robotId},assetName='{assetName}')` | Assets.View |

## AuditLogs

| Action | Permissions |
| --- | --- |
| GET - `/odata/AuditLogs` | Audit.View |
| GET - `/odata/AuditLogs/UiPath.Server.Configuration.OData.Reports()` | Audit.View |
| GET - `/odata/AuditLogs/UiPath.Server.Configuration.OData.GetAuditLogDetails(auditLogId={auditLogId})` | Audit.View |

## Buckets

| Action | Permissions |
| --- | --- |
| GET - `/odata/Buckets` | Storage Buckets.View |
| POST - `/odata/Buckets` | Storage Buckets.Create |
| DELETE - `/odata/Buckets({Id})` | Storage Buckets.Delete |
| GET - `/odata/Buckets({Id})` | Storage Buckets.View |
| PUT - `/odata/Buckets({Id})` | Storage Buckets.Edit |
| GET - `/odata/Buckets({key})/UiPath.Server.Configuration.OData.GetReadUri` | Storage Buckets.View **and** Storage Files.View |
| GET - `/odata/Buckets({key})/UiPath.Server.Configuration.OData.GetWriteUri` | Storage Buckets.View **and** Storage Files.Create |
| GET - `/odata/Buckets({key})/UiPath.Server.Configuration.OData.GetFiles` | Storage Buckets.View **and** Storage Files.View |
| GET - `/odata/Buckets({key})/UiPath.Server.Configuration.OData.GetDirectories` | Storage Buckets.View **and** Storage Files.View |
| GET - `/odata/Buckets({key})/UiPath.Server.Configuration.OData.GetFil`e | Storage Buckets.View **and** Storage Files.View |
| DELETE - `/odata/Buckets({key})/UiPath.Server.Configuration.OData.DeleteFile` | Storage Buckets.View **and** Storage Files.Delete |

## Environments

| Action | Permissions |
| --- | --- |
| GET - `/odata/Environments` | Environments.View |
| GET - `/odata/Environments({Id})` | Environments.View |
| GET - `/odata/Environments/UiPath.Server.Configuration.OData.GetRobotsForEnvironment(key={key})` | Environments.View & Robots.View |
| GET - `/odata/Environments/UiPath.Server.Configuration.OData.GetRobotIdsForEnvironment(key={key})` | Environments.View & Robots.View |
| POST - `/odata/Environments` | Environments.Create |
| PUT - `/odata/Environments({Id})` | Environments.Edit |
| DELETE - `/odata/Environments({Id})` | Environments.Delete |
| POST - `/odata/Environments({Id})/UiPath.Server.Configuration.OData.AddRobot` | Environments.Edit |
| POST - `/odata/Environments({Id})/UiPath.Server.Configuration.OData.RemoveRobot` | Environments.Edit |
| POST - `/odata/Environments({Id})/UiPath.Server.Configuration.OData.SetRobots` | Environments.Edit |

## Jobs

| Action | Permissions |
| --- | --- |
| GetJobs | Jobs.View |
| GetJobs(Id) | Jobs.View |
| StartJobs | Jobs.Create |
| StopJob | Jobs.Edit |
| StopJobs | Jobs.Edit |

## Logs

| Action | Permissions |
| --- | --- |
| SubmitLogs | Logs.Create |
| PostLogs | Logs.Create |

## Permissions

| Action | Permissions |
| --- | --- |
| GetPermissions |  |

## Processes

| Action | Permissions |
| --- | --- |
| GET - `/odata/Processes` | Packages.View |
| GET - `/odata/Processes/UiPath.Server.Configuration.OData.GetProcessVersions(processId='{processId}')` | Packages.View |
| DELETE - `/odata/Processes('{Id}')` | Packages.Delete |
| POST - `/odata/Processes/UiPath.Server.Configuration.OData.UploadPackage` | Packages.Create |
| GET - `/odata/Processes/UiPath.Server.Configuration.OData.DownloadPackage(key='{key}')` | Packages.View |
| GET - `/odata/Processes/UiPath.Server.Configuration.OData.GetArguments(key='{key}')` | Packages.View |
| POST - `/odata/Processes/UiPath.Server.Configuration.OData.SetArguments` | Packages.Edit |

## QueueDefinitions

| Action | Permissions |
| --- | --- |
| GetQueueDefinitions | Queues.View |
| GetQueueDefinitions(Id) | Queues.View |
| Reports | Queues.View & Transactions.View |
| PutQueueDefinitions(Id) | Queues.Edit |
| PostQueueDefinitions | Queues.Create |
| DeleteQueueDefinitions(Id) | Queues.Delete |

## QueueItemComments

| Action | Permissions |
| --- | --- |
| GetQueueItemComments | Queues.View & Transactions.View |
| GetQueueItemCommentsHistory | Queues.View & Transactions.View |
| GetQueueItemComments(Id) | Queues.View & Transactions.View |
| PostQueueItemComments | Queues.View & Transactions.Edit |
| PutQueueItemComments(Id) | Queues.View & Transactions.Edit |
| DeleteQueueItemComments(Id) | Queues.View & Transactions.Edit |

## LicensesNamedUser

| Action | Permissions |
| --- | --- |
| GET - `/odata/LicensesNamedUser/UiPath.Server.Configuration.OData.GetLicensesNamedUser(robotType='{robotType}')` | License.View |

## LicensesRuntime

| Action | Permissions |
| --- | --- |
| GET - `/odata/LicensesRuntime/UiPath.Server.Configuration.OData.GetLicensesRuntime(robotType='robotType')` | License.View |
| POST - `/odata/LicensesRuntime('{Key}')/UiPath.Server.Configuration.OData.ToggleEnabled` | Machines.Edit |

## QueueItemEvents

| Action | Permissions |
| --- | --- |
| GET - `/odata/QueueItemEvents` | Queues.View & Transactions.View |
| GET - `/odata/QueueItemEvents/UiPath.Server.Configuration.OData.GetQueueItemEventsHistory(queueItemId=queueItemId)` | Queues.View & Transactions.View |
| GET - `/odata/QueueItemEvents(Id)` | Queues.View & Transactions.View |

## QueueItems

| Action | Permissions |
| --- | --- |
| GetQueueItems | Queues.View & Transactions.View |
| GetQueueItems(Id) | Queues.View & Transactions.View |
| SetTransactionProgress | Queues.View & Transactions.Edit |
| GetItemProcessingHistory | Queues.View & Transactions.View |
| SetItemReviewStatus | Queues.View & Transactions.Edit |
| DeleteQueueItems(Id) | Queues.View & Transactions.Delete |
| DeleteBulk | Queues.View & Transactions.Delete |
| SetItemReviewer | Queues.View & Transactions.Edit |
| UnsetItemReviewer | Queues.View & Transactions.Edit |
| GetReviewers | Queues.View & Transactions.Edit |

## QueueProcessingRecords

| Action | Permissions |
| --- | --- |
| RetrieveLastDaysProcessingRecords | Queues.View & Transactions.View |
| RetrieveQueuesProcessingStatus | Queues.View |

## Queues

| Action | Permissions |
| --- | --- |
| SetTransactionResult | Queues.View & Transactions.Edit |
| AddQueueItem | Queues.View & Transactions.Create |
| StartTransaction | Queues.View & Transactions.View & Transactions.Create & Transactions.Edit |
| BulkAddQueueItems | Queues.View & Transactions.Create |

## Releases

| Action | Permissions |
| --- | --- |
| GET - `/odata/Releases({Id})` | Processes.View |
| GET - `/odata/Releases` | Processes.View |
| POST - `/odata/Releases` | Processes.Create |
| DELETE - `/odata/Releases({Id})` | Processes.Delete |
| PATCH - `/odata/Releases({Id})` | Processes.Edit |
| PUT - `/odata/Releases({Id})` | Processes.Edit |
| POST - `/odata/Releases({Id})/UiPath.Server.Configuration.OData.UpdateToSpecificPackageVersion` | Processes.Edit |
| POST - `/odata/Releases({Id})/UiPath.Server.Configuration.OData.UpdateToLatestPackageVersion` | Processes.Edit |
| POST - `/odata/Releases/UiPath.Server.Configuration.OData.UpdateToLatestPackageVersionBulk` | Processes.Edit |
| POST - `/odata/Releases({Id})/UiPath.Server.Configuration.OData.RollbackToPreviousReleaseVersion` | Processes.Edit |

## UserLoginAttempts

| Action | Permissions |
| --- | --- |
| GET - `/odata/UserLoginAttempts({Id})` | Requires authentication. |

## RobotLogs

| Action | Permissions |
| --- | --- |
| GetRobotLogs | Logs.View |
| GetTotalCount | Logs.View |
| Reports | Logs.View |

## Robots

| Action | Permissions |
| --- | --- |
| GET - `/odata/Robots` | Robots.View |
| GET - `/odata/Robots({Id})` | Robots.View |
| POST - `/odata/Robots` | Robots.Create |
| PUT - `/odata/Robots({Id})` | Robots.Edit |
| PATCH - `/odata/Robots({Id})` | Robots.Edit |
| DELETE - `/odata/Robots({Id})` | Robots.Delete |
| POST - `/odata/Robots/UiPath.Server.Configuration.OData.DeleteBulk` | Robots.Delete |
| GET - `/odata/Robots/UiPath.Server.Configuration.OData.GetMachineNameToLicenseKeyMappings()` | Robots.Create & Machines.View |
| GET - `/odata/Robots/UiPath.Server.Configuration.OData.GetUsernames()` | Robots.View |
| GET - `/odata/Robots/UiPath.Server.Configuration.OData.GetRobotsForProcess(processId='{processId}')` | Robots.View & Environments.View & Processes.View |
| POST - `/odata/Robots/UiPath.Server.Configuration.OData.ConvertToFloating` | Robots.Edit |

## ProcessSchedules

| Action | Permissions |
| --- | --- |
| GetProcessSchedules | Schedules.View |
| GetProcessSchedules(Id) | Schedules.View |
| GetRobotIdsForSchedule | Schedules.View |
| PostProcessSchedules | Schedules.Create |
| PutProcessSchedules(Id) | Schedules.Edit |
| SetEnabled | Schedules.Edit |
| DeleteProcessSchedules(Id) | Schedules.Delete |

## Sessions

| Action | Permissions |
| --- | --- |
| GetSessions | Robots.View |

## Roles

| Action | Permissions |
| --- | --- |
| GetRoles | Roles.View |
| GetRoles(Id) | Roles.View |
| PostRoles | Roles.Create |
| PutRoles(Id) | Roles.Edit |
| DeleteRoles(Id) | Roles.Delete |
| SetUsers | Users.Edit |
| GetUsersForRole | Roles.View & Users.View |
| GetUserIdsForRole | Roles.View or Users.View |

## Settings

| Action | Permissions |
| --- | --- |
| GetSettings | Settings.View |
| GetSettings(Id) | Settings.View |
| PutSettings(Id) | Settings.Edit |
| UpdateBulk | Settings.Edit |
| GetWebSettings | Requires authentication. |
| GetExecutionSettingsConfiguration | Settings.Edit or Robots.Create or Robots.Edit |
| UploadLicense | License.Create or License.Edit |
| DeleteLicense | License.Deletes |
| GetLicense | Requires authentication. |

## Stats

| Action | Permissions |
| --- | --- |
| GetSessionsStats | Robots.View |
| GetJobsStats | Jobs.View |

## Users

| Action | Permissions |
| --- | --- |
| GetUsers | Users.View |
| GetUsers(Id) | Users.View |
| PostUsers | Users.Create |
| PutUsers | Users.Edit |
| PatchUsers(Id) | Users.Edit |
| DeleteUsers(Id) | Users.Delete |
| GetCurrentPermissions | Requires authentication. |
| ToggleRole | Users.Edit |
| ImportUsers | Users.Create |
| SetActive | Users.Edit |
| ChangeCulture | Requires authentication. |

## Machines

| Action | Permissions |
| --- | --- |
| GET - `/odata/Machines` | Machines.View |
| GET - `/odata/Machines({Id})` | Machines.View |
| POST - `/odata/Machines` | Machines.Create |
| PUT - `/odata/Machines({Id})` | Machines.Edit |
| DELETE - `/odata/Machines({Id})` | Machines.Delete |
| POST - `/odata/Machines/UiPath.Server.Configuration.OData.DeleteBulk` | Machines.Delete |
| PATCH - `/odata/Machines({Id})` | Machines.Edit |

## Webhooks

| Action | Permissions |
| --- | --- |
| GetWebhooks | Webhooks.View |
| GetWebhooks(Id) | Webhooks.View |
| PostWebhooks | Webhooks.Create |
| PutWebhooks(Id) | Webhooks.Edit |
| PatchWebhooks(Id) | Webhooks.Edit |
| DeleteWebhooks | Webhooks.Delete |
| Ping | Webhooks.View |
| GetEventTypes | Webhooks.View |
| TriggerCustom | Webhooks.View |

## Test Automation

| Action | Permissions |
| --- | --- |
| POST - `/api/TestAutomation/StartTestSetExecution` | TestSetExecutions.Create |
| POST - `/api/TestAutomation/CancelTestSetExecution` | TestSetExecutions.Edit |
| POST - `/api/TestAutomation/CancelTestCaseExecution` | TestSetExecutions.Edit |
| GET - `/api/TestAutomation/GetAssertionScreenshot` | TestSetExecutions.View |
| POST - `/api/TestAutomation/CreateTestSetForReleaseVersion` | TestSets.Create |
| GET - `/odata/TestCaseDefinitions` | TestSets.View |
| GET - `/odata/TestCaseExecutions` | TestSetExecutions.View |
| GET - `/odata/TestCaseExecutions({Id})` | TestSetExecutions.View |
| GET - `/odata/TestSetExecutions` | TestSetExecutions.View |
| GET - `/odata/TestCaseExecutions({Id})` | TestSetExecutions.View |
| GET - `/odata/TestSets` | TestSets.View |
| POST - `/odata/TestSets` | TestSets.Create |
| DELETE - `/odata/TestSets({Id})` | TestSets.Delete |
| GET - `/odata/TestSets({Id})` | TestSets.View |
| PUT - `/odata/TestSets({Id})` | TestSets.Edit |
| GET - `/odata/TestSetSchedules` | TestSetSchedules.View |
| POST - `/odata/TestSetSchedules` | TestSetSchedules.Create |
| DELETE - `/odata/TestSetSchedules({Id})` | TestSetSchedules.Delete |
| GET - `/odata/TestSetSchedules({Id})` | TestSetSchedules.View |
| PUT - `/odata/TestSetSchedules({Id})` | TestSetSchedules.Edit |
| POST - `/odata/TestSetSchedules/UiPath.Server.Configuration.OData.SetEnabled` | TestSetSchedules.Edit |
