UiPath Test Manager API

The UiPath Test Manager API enables programmatic interaction with the automated testing platform, allowing CI/CD pipelines and external tools to create test sets, execute tests, and retrieve test results. Supports enterprise-grade test management and reporting workflows.

OpenAPI Specification

uipath-test-manager-openapi.yml Raw ↑
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

# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/uipath/refs/heads/main/openapi/uipath-test-manager-openapi.yml