Skip to content

Role Based Access Controller

This document outlines the RBAC policies grouped by access levels. Each section includes a description of the resources, along with the APIs available for that resource.

Access Hierarchy

  • Admin:
    • Admin has full access, including all permissions granted to User and Reader roles.
    • In addition to User and Reader privileges, Admins can perform high-level management tasks such as creating, editing, and deleting projects, runs, update user roles etc.
  • User:
    • User has access to all permissions available to the Reader role.
    • Additionally, Users can manage resources like test cases, runs, and labels.
  • Reader:
    • Reader has view-only access to resources.
    • Can retrieve data such as test details, reports, and project information but cannot modify or delete any resources.

Admin Accesses

The following APIs are accessible to users with the ADMIN role:

ResourceEndpointActionDescription
AddProjectsapi/v1/project/createPOSTUsed to add new projects.
EditProjectapi/v1/project/editPUTEdits the details of an existing project.
EditProjectStatusapi/v1/project/update-statusPUTUpdates the status [Delete/Archive] of a project.
RunLockapi/v1/run/lockPUTLocks a specific run to prevent future changes.
RunResetapi/v1/run/resetPUTMark the passed tests to reset.
UpdateUserRoleapi/v1/user/update-rolePUTUpdates the role of a user in the system.
RunRemoveTestapi/v1/run/remove-testsPUTRemoves a test from a specific run.
GetAllUserapi/v1/all-usersGETRetrieves a list of all users in the system.
DeleteRunapi/v1/run/deleteDELETEDeletes a specific run.

User Accesses

The following APIs are accessible to users with the USER role:

ResourceEndpointMethodsDescription
RunUpdateTestStatusapi/v1/run/update-test-statusPUTUpdates the status of a test in a run.
EditTestapi/v1/test/updatePUTEdits the details of a specific test.
EditRunapi/v1/run/editPUTEdits the details of a specific run.
EditTestsInBulkapi/v1/test/bulk-updatePUTEdits multiple tests in bulk.
AddLabelsapi/v1/project/add-labelsPOSTAdds new labels to the project.
AddSquadsapi/v1/project/add-squadsPOSTAdds new squads to the project.
AddTestBulkapi/v1/test/bulk-addPOSTBulk adds multiple tests.
AddRunapi/v1/run/createPOSTCreates a new test run.
AddTestapi/v1/test/createPOSTAdds a single test to the project.
AddSectionapi/v1/project/add-sectionPOSTAdds a new section within a project.
DeleteTestapi/v1/test/deleteDELETEDeletes a single test.
DeleteBulkTestsapi/v1/test/bulk-deleteDELETEDeletes multiple tests in bulk.

Reader Accesses

The following APIs are accessible to users with the READER role:

ResourceEndpointMethodsDescription
DownloadReportapi/v1/run/report-downloadGETDownloads a report of a run.
DownloadTestsapi/v1/tests/downloadGETDownloads a list of tests of a project.
GetAutomationStatusapi/v1/automation-statusGETRetrieves the list of autmation types.
GetLabelsapi/v1/labelsGETRetrieves the list of labels.
GetPlatformsapi/v1/platformGETRetrieves phe list of platfrom types.
GetPriorityapi/v1/priorityGETRetrieves the list of priority types.
GetSquadsapi/v1/project/squadsGETRetrieves the list of squads in project.
GetTestCoveredByapi/v1/test-covered-byGETRetrieves the list of test covered by types.
GetTestDetailsapi/v1/test/detailsGETRetrieves details for a specific test.
GetRunTestStatusapi/v1/run/test-statusGETRetrieves the status of a test in a run.
GetTestStatusHistoryapi/v1/test/test-status-historyGETRetrieves the history of a test’s status across runs.
GetTestStatusHistoryInRunapi/v1/run/test-status-historyGETRetrieves the history of a test in a run.
GetTypeapi/v1/typeGETRetrieves the list of types list.
GetOrgsListapi/v1/orgsGETRetrieves the list of organizations.
GetOrgDetailsapi/v1/org/detailGETRetrieves details of a specific organization.
GetProjectDetailapi/v1/project/detailGETRetrieves details of a specific project.
GetProjectsapi/v1/projectsGETRetrieves the list of projects.
GetRunStateDetailapi/v1/run/state-detailGETRetrieves details of a specific run state.
GetRunsapi/v1/runsGETRetrieves a list of runs.
GetRunTestsListapi/v1/run/testsGETRetrieves the list of tests in a run.
GetSectionsapi/v1/project/sectionsGETRetrieves the list of sections in a project.
GetTestsapi/v1/project/testsGETRetrieves a list of tests.
GetTestsCountapi/v1/project/tests-countGETRetrieves the count of tests.
GetUserDetailsapi/v1/user/detailsGETRetrieves details of a self.
RunDetailapi/v1/run/detailGETRetrieves details of a specific run.
AddTokenapi/v1/token/generatePOSTAdds a self token to the system.
DeleteTokenapi/v1/token/deleteDELETEDeletes a self token from the system.