openapi: 3.1.0 info: title: UiPath Test Manager API description: >- The UiPath Test Manager API allows external tools and systems to integrate with UiPath's test management platform for managing test projects, test cases, test sets, requirements, and execution results programmatically. API access uses OAuth 2.0 scopes including TM.Projects and TM.Requirements.Read, enabling fine-grained control over permissions granted to integrated tooling. The API is suited for integrating third-party test management or defect tracking systems with UiPath automation testing workflows. Rate limits apply to API requests to ensure platform stability across all tenants. The Swagger interface is accessible by appending /swagger/index.html to the Test Manager URL. The base URL for Automation Cloud follows the pattern https://cloud.uipath.com/{organizationName}/{tenantName}/testmanager_. version: '2' contact: name: UiPath Support url: https://support.uipath.com termsOfService: https://www.uipath.com/legal/terms-of-use externalDocs: description: UiPath Test Manager API Documentation url: https://docs.uipath.com/test-manager/automation-cloud/latest/user-guide/test-manager-api-integration servers: - url: https://cloud.uipath.com/{organizationName}/{tenantName}/testmanager_ description: UiPath Automation Cloud Test Manager variables: organizationName: default: your-org description: The name of your UiPath organization tenantName: default: your-tenant description: The name of your UiPath tenant tags: - name: Projects description: Manage test projects within Test Manager - name: Requirements description: Manage requirements and their traceability links to test cases - name: TestCases description: Manage test cases and their definitions - name: TestExecutions description: Retrieve test execution results and logs - name: TestSets description: Manage test sets that group test cases for execution security: - bearerAuth: [] paths: /api/v2/projects: get: operationId: listProjects summary: UiPath List Test Projects description: >- Retrieves all test projects accessible to the authenticated user. Projects are the top-level containers for test cases, requirements, test sets, and execution results. Requires the TM.Projects or TM.Projects.Read OAuth scope. tags: - Projects parameters: - name: page in: query required: false description: Page number for pagination (0-based) schema: type: integer minimum: 0 default: 0 example: 1 - name: pageSize in: query required: false description: Number of records per page schema: type: integer minimum: 1 maximum: 100 default: 20 example: 1 responses: '200': description: A list of test projects content: application/json: schema: $ref: '#/components/schemas/ProjectListResponse' examples: listProjects200Example: summary: Default listProjects 200 response x-microcks-default: true value: totalCount: 1 page: 1 pageSize: 1 projects: - {} '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createProject summary: UiPath Create a Test Project description: >- Creates a new test project in Test Manager. The project becomes the container for all test cases, requirements, and test sets associated with the testing effort. Requires the TM.Projects OAuth scope. tags: - Projects requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateProjectRequest' examples: createProjectRequestExample: summary: Default createProject request x-microcks-default: true value: name: example-value description: example-value responses: '201': description: Test project created successfully content: application/json: schema: $ref: '#/components/schemas/Project' examples: createProject201Example: summary: Default createProject 201 response x-microcks-default: true value: id: example-value name: example-value description: example-value createdBy: example-value createdOn: '2026-01-15T10:30:00Z' testCaseCount: 1 requirementCount: 1 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/v2/projects/{projectId}: get: operationId: getProject summary: UiPath Get a Test Project by ID description: >- Retrieves a specific test project by its unique identifier. Returns project details including name, description, creation date, and summary statistics for test cases and requirements. tags: - Projects parameters: - $ref: '#/components/parameters/projectId' example: example-value responses: '200': description: The requested test project content: application/json: schema: $ref: '#/components/schemas/Project' examples: getProject200Example: summary: Default getProject 200 response x-microcks-default: true value: id: example-value name: example-value description: example-value createdBy: example-value createdOn: '2026-01-15T10:30:00Z' testCaseCount: 1 requirementCount: 1 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/v2/projects/{projectId}/testcases: get: operationId: listTestCases summary: UiPath List Test Cases in a Project description: >- Retrieves all test cases defined within a specific test project. Each test case represents a single test scenario with preconditions, steps, and expected results. Supports pagination and filtering. Requires the TM.TestCases or TM.TestCases.Read OAuth scope. tags: - TestCases parameters: - $ref: '#/components/parameters/projectId' example: example-value - name: page in: query required: false description: Page number for pagination (0-based) schema: type: integer minimum: 0 default: 0 example: 1 - name: pageSize in: query required: false description: Number of records per page schema: type: integer minimum: 1 maximum: 100 default: 20 example: 1 responses: '200': description: A list of test cases in the project content: application/json: schema: $ref: '#/components/schemas/TestCaseListResponse' examples: listTestCases200Example: summary: Default listTestCases 200 response x-microcks-default: true value: totalCount: 1 testCases: - {} '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createTestCase summary: UiPath Create a Test Case description: >- Creates a new test case within a test project. The test case can be linked to automation packages deployed in Orchestrator to enable automated test execution via test sets. Requires the TM.TestCases OAuth scope. tags: - TestCases parameters: - $ref: '#/components/parameters/projectId' example: example-value requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateTestCaseRequest' examples: createTestCaseRequestExample: summary: Default createTestCase request x-microcks-default: true value: name: example-value description: example-value labels: - example-value responses: '201': description: Test case created successfully content: application/json: schema: $ref: '#/components/schemas/TestCase' examples: createTestCase201Example: summary: Default createTestCase 201 response x-microcks-default: true value: id: example-value name: example-value description: example-value status: Draft automationStatus: NotAutomated labels: - example-value createdOn: '2026-01-15T10:30:00Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/v2/projects/{projectId}/testcases/{testCaseId}: get: operationId: getTestCase summary: UiPath Get a Test Case by ID description: >- Retrieves a specific test case by its unique identifier within a project. Returns full test case details including steps, labels, custom fields, automation linkage, and preconditions. tags: - TestCases parameters: - $ref: '#/components/parameters/projectId' example: example-value - $ref: '#/components/parameters/testCaseId' example: example-value responses: '200': description: The requested test case content: application/json: schema: $ref: '#/components/schemas/TestCase' examples: getTestCase200Example: summary: Default getTestCase 200 response x-microcks-default: true value: id: example-value name: example-value description: example-value status: Draft automationStatus: NotAutomated labels: - example-value createdOn: '2026-01-15T10:30:00Z' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/v2/projects/{projectId}/testsets: get: operationId: listTestSets summary: UiPath List Test Sets in a Project description: >- Retrieves all test sets within a specific test project. Test sets group test cases for coordinated execution runs and can be linked to Orchestrator processes to trigger automated execution. tags: - TestSets parameters: - $ref: '#/components/parameters/projectId' example: example-value - name: page in: query required: false description: Page number for pagination (0-based) schema: type: integer minimum: 0 default: 0 example: 1 - name: pageSize in: query required: false description: Number of records per page schema: type: integer minimum: 1 maximum: 100 default: 20 example: 1 responses: '200': description: A list of test sets in the project content: application/json: schema: $ref: '#/components/schemas/TestSetListResponse' examples: listTestSets200Example: summary: Default listTestSets 200 response x-microcks-default: true value: totalCount: 1 testSets: - {} '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createTestSet summary: UiPath Create a Test Set description: >- Creates a new test set within a project. The test set can include test cases and be configured to execute against specific Orchestrator environments. Requires the TM.TestSets OAuth scope. tags: - TestSets parameters: - $ref: '#/components/parameters/projectId' example: example-value requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateTestSetRequest' examples: createTestSetRequestExample: summary: Default createTestSet request x-microcks-default: true value: name: example-value description: example-value responses: '201': description: Test set created successfully content: application/json: schema: $ref: '#/components/schemas/TestSet' examples: createTestSet201Example: summary: Default createTestSet 201 response x-microcks-default: true value: id: example-value name: example-value description: example-value testCaseCount: 1 createdOn: '2026-01-15T10:30:00Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/v2/projects/{projectId}/requirements: get: operationId: listRequirements summary: UiPath List Requirements in a Project description: >- Retrieves all requirements defined within a specific test project. Requirements represent business or technical specifications that test cases are mapped to for traceability. Supports pagination. Requires the TM.Requirements or TM.Requirements.Read OAuth scope. tags: - Requirements parameters: - $ref: '#/components/parameters/projectId' example: example-value - name: page in: query required: false description: Page number for pagination (0-based) schema: type: integer minimum: 0 default: 0 example: 1 - name: pageSize in: query required: false description: Number of records per page schema: type: integer minimum: 1 maximum: 100 default: 20 example: 1 responses: '200': description: A list of requirements in the project content: application/json: schema: $ref: '#/components/schemas/RequirementListResponse' examples: listRequirements200Example: summary: Default listRequirements 200 response x-microcks-default: true value: totalCount: 1 requirements: - {} '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createRequirement summary: UiPath Create a Requirement description: >- Creates a new requirement within a test project. Requirements can be linked to test cases to establish traceability coverage. Requires the TM.Requirements OAuth scope. tags: - Requirements parameters: - $ref: '#/components/parameters/projectId' example: example-value requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateRequirementRequest' examples: createRequirementRequestExample: summary: Default createRequirement request x-microcks-default: true value: name: example-value description: example-value externalId: example-value responses: '201': description: Requirement created successfully content: application/json: schema: $ref: '#/components/schemas/Requirement' examples: createRequirement201Example: summary: Default createRequirement 201 response x-microcks-default: true value: id: example-value name: example-value description: example-value externalId: example-value status: Active linkedTestCaseCount: 1 createdOn: '2026-01-15T10:30:00Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/v2/projects/{projectId}/testexecutions: get: operationId: listTestExecutions summary: UiPath List Test Executions in a Project description: >- Retrieves test execution results within a specific test project. Test executions represent runs of test sets and contain the aggregate pass/fail status across all included test cases. References to individual test case log objects are included for drill-down. tags: - TestExecutions parameters: - $ref: '#/components/parameters/projectId' example: example-value - name: page in: query required: false description: Page number for pagination (0-based) schema: type: integer minimum: 0 default: 0 example: 1 - name: pageSize in: query required: false description: Number of records per page schema: type: integer minimum: 1 maximum: 100 default: 20 example: 1 responses: '200': description: A list of test executions in the project content: application/json: schema: $ref: '#/components/schemas/TestExecutionListResponse' examples: listTestExecutions200Example: summary: Default listTestExecutions 200 response x-microcks-default: true value: totalCount: 1 executions: - {} '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: >- OAuth 2.0 Bearer token obtained from the UiPath Identity Server. Test Manager API scopes include TM.Projects, TM.TestCases, TM.TestSets, TM.Requirements, and their read-only variants. parameters: projectId: name: projectId in: path required: true description: Unique identifier of the test project schema: type: string testCaseId: name: testCaseId in: path required: true description: Unique identifier of the test case schema: type: string responses: BadRequest: description: The request was malformed or contained invalid parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: The request lacks valid authentication credentials content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Forbidden: description: The authenticated user does not have permission to perform this action content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' NotFound: description: The requested resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: Project: type: object description: A test project container in Test Manager properties: id: type: string description: Unique identifier of the test project example: abc123 name: type: string description: Display name of the test project example: Example Name description: type: string description: Optional description of the project's testing scope example: Example description for this resource. createdBy: type: string description: Name of the user who created the project example: example-value createdOn: type: string format: date-time description: ISO 8601 timestamp when the project was created example: '2026-01-15T10:30:00Z' testCaseCount: type: integer description: Total number of test cases in the project example: 42 requirementCount: type: integer description: Total number of requirements in the project example: 42 CreateProjectRequest: type: object description: Request payload for creating a new test project required: - name properties: name: type: string description: Display name for the new test project maxLength: 256 example: Example Name description: type: string description: Optional description of the project's testing scope example: Example description for this resource. TestCase: type: object description: A test case definition within a test project properties: id: type: string description: Unique identifier of the test case example: abc123 name: type: string description: Display name of the test case example: Example Name description: type: string description: Description of the test scenario example: Example description for this resource. status: type: string enum: [Draft, Active, Deprecated] description: Lifecycle status of the test case example: Draft automationStatus: type: string enum: [NotAutomated, Automated] description: Whether the test case is linked to an automated robot process example: NotAutomated labels: type: array items: type: string description: Labels applied to the test case for filtering and grouping example: [] createdOn: type: string format: date-time description: ISO 8601 timestamp when the test case was created example: '2026-01-15T10:30:00Z' CreateTestCaseRequest: type: object description: Request payload for creating a new test case required: - name properties: name: type: string description: Display name for the new test case maxLength: 512 example: Example Name description: type: string description: Description of the test scenario example: Example description for this resource. labels: type: array items: type: string description: Labels to apply to the test case example: [] TestSet: type: object description: A collection of test cases grouped for execution properties: id: type: string description: Unique identifier of the test set example: abc123 name: type: string description: Display name of the test set example: Example Name description: type: string description: Optional description of the test set's purpose example: Example description for this resource. testCaseCount: type: integer description: Number of test cases included in this test set example: 42 createdOn: type: string format: date-time description: ISO 8601 timestamp when the test set was created example: '2026-01-15T10:30:00Z' CreateTestSetRequest: type: object description: Request payload for creating a new test set required: - name properties: name: type: string description: Display name for the new test set maxLength: 256 example: Example Name description: type: string description: Optional description of the test set's purpose example: Example description for this resource. Requirement: type: object description: A business or technical requirement for traceability coverage properties: id: type: string description: Unique identifier of the requirement example: abc123 name: type: string description: Display name of the requirement example: Example Name description: type: string description: Detailed description of the requirement specification example: Example description for this resource. externalId: type: string description: Optional external identifier linking to a third-party requirements tool example: abc123 status: type: string enum: [Active, Deprecated] description: Lifecycle status of the requirement example: Active linkedTestCaseCount: type: integer description: Number of test cases currently linked to this requirement example: 42 createdOn: type: string format: date-time description: ISO 8601 timestamp when the requirement was created example: '2026-01-15T10:30:00Z' CreateRequirementRequest: type: object description: Request payload for creating a new requirement required: - name properties: name: type: string description: Display name for the new requirement maxLength: 512 example: Example Name description: type: string description: Detailed description of the requirement specification example: Example description for this resource. externalId: type: string description: Optional external identifier for integration with third-party tools example: abc123 TestExecution: type: object description: A test set execution run with aggregated results properties: id: type: string description: Unique identifier of the test execution example: abc123 testSetId: type: string description: Identifier of the test set that was executed example: abc123 testSetName: type: string description: Display name of the test set that was executed example: Example Name status: type: string enum: [Pending, Running, Passed, Failed, Blocked, Cancelled] description: Aggregate execution status example: Pending startedOn: type: string format: date-time description: ISO 8601 timestamp when execution began example: '2026-01-15T10:30:00Z' finishedOn: type: string format: date-time description: ISO 8601 timestamp when execution completed example: '2026-01-15T10:30:00Z' totalTestCases: type: integer description: Total number of test cases in the execution example: 42 passedTestCases: type: integer description: Number of test cases that passed example: 1 failedTestCases: type: integer description: Number of test cases that failed example: 1 blockedTestCases: type: integer description: Number of test cases that could not be executed example: 1 ProjectListResponse: type: object description: Paginated response containing test projects properties: totalCount: type: integer description: Total number of projects example: 42 page: type: integer description: Current page number example: 1 pageSize: type: integer description: Records per page example: 1 projects: type: array items: $ref: '#/components/schemas/Project' example: [] TestCaseListResponse: type: object description: Paginated response containing test cases properties: totalCount: type: integer description: Total number of test cases example: 42 testCases: type: array items: $ref: '#/components/schemas/TestCase' example: [] TestSetListResponse: type: object description: Paginated response containing test sets properties: totalCount: type: integer description: Total number of test sets example: 42 testSets: type: array items: $ref: '#/components/schemas/TestSet' example: [] RequirementListResponse: type: object description: Paginated response containing requirements properties: totalCount: type: integer description: Total number of requirements example: 42 requirements: type: array items: $ref: '#/components/schemas/Requirement' example: [] TestExecutionListResponse: type: object description: Paginated response containing test executions properties: totalCount: type: integer description: Total number of test executions example: 42 executions: type: array items: $ref: '#/components/schemas/TestExecution' example: [] ErrorResponse: type: object description: Standard error response body properties: message: type: string description: Human-readable error message example: example-value errorCode: type: string description: Error code identifier example: example-value