> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pathors.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Run test suite

> Start a test suite run. Returns the freshly created RUNNING result — poll `/results` for completion.



## OpenAPI

````yaml https://api.pathors.com/openapi.json post /v1/projects/{projectId}/test-suites/{testSuiteId}/run
openapi: 3.1.0
info:
  title: Pathors API
  description: >-
    Public developer API for the Pathors platform. Authenticate with a developer
    key (`Authorization: Bearer dk_...`) created from the dashboard. See
    [docs.pathors.com](https://docs.pathors.com) for guides.
  version: 1.0.0
  contact:
    name: Pathors Support
    url: https://app.pathors.com/support
servers:
  - url: https://api.pathors.com
    description: Production
  - url: http://localhost:8080
    description: Local development
security:
  - developerKey: []
tags:
  - name: Projects
    description: CRUD for projects owned by the authenticated developer
  - name: Agent Config
    description: Read and update a project's agent configuration and versions
  - name: Pathway
    description: Manage a project's pathway graph — nodes and decision edges
  - name: Chat
    description: OpenAI-compatible chat completions for a project agent
  - name: Sessions
    description: Create, search, terminate, and inspect agent sessions
  - name: Session History
    description: Browse and inspect persisted session history
  - name: Tools
    description: Manage a project's tools and inspect available tool types
  - name: Knowledgebases
    description: Manage knowledgebases and query them for relevant chunks
  - name: Datasets
    description: Upload and manage source files embedded into a knowledgebase
  - name: Test Cases
    description: CRUD for agent test cases
  - name: Test Suites
    description: Group test cases, run them, and read results
  - name: Webhooks
    description: Manage webhook subscriptions for project events
  - name: Calls
    description: Place outbound voice calls from a project agent
paths:
  /v1/projects/{projectId}/test-suites/{testSuiteId}/run:
    post:
      tags:
        - Test Suites
      summary: Run test suite
      description: >-
        Start a test suite run. Returns the freshly created RUNNING result —
        poll `/results` for completion.
      operationId: postV1ProjectsByProjectIdTestSuitesByTestSuiteIdRun
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
          description: The ID of your project
        - name: testSuiteId
          in: path
          required: true
          schema:
            type: string
          description: The test suite ID
      responses:
        '202':
          description: Accepted — run started
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                      testSuiteId:
                        type: string
                      projectId:
                        type: string
                      name:
                        type: string
                      startedAt:
                        type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      completedAt:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      status:
                        type: string
                        enum:
                          - RUNNING
                          - COMPLETED
                          - FAILED
                      testCaseResults:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            testResultId:
                              type: string
                            testCaseId:
                              type: string
                            status:
                              type: string
                              enum:
                                - PENDING
                                - RUNNING
                                - PASSED
                                - FAILED
                                - ERROR
                            messages:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                  testCaseResultId:
                                    type: string
                                  content:
                                    type: string
                                  role:
                                    type: string
                                    enum:
                                      - system
                                      - user
                                      - assistant
                                      - tool
                                      - error
                                  timestamp:
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                required:
                                  - id
                                  - testCaseResultId
                                  - content
                                  - role
                                  - timestamp
                            criteriaResults:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                  testCaseResultId:
                                    type: string
                                  criterionId:
                                    type: string
                                  passed:
                                    type: boolean
                                  reason:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                required:
                                  - id
                                  - testCaseResultId
                                  - criterionId
                                  - passed
                                  - reason
                          required:
                            - id
                            - testResultId
                            - testCaseId
                            - status
                            - messages
                            - criteriaResults
                    required:
                      - id
                      - testSuiteId
                      - projectId
                      - name
                      - startedAt
                      - completedAt
                      - status
                      - testCaseResults
                required:
                  - data
        '400':
          description: Error response
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      error:
                        type: string
                    required:
                      - error
                  - type: object
                    properties:
                      error:
                        type: object
                        properties:
                          message:
                            type: string
                          code:
                            type: string
                          details:
                            type: object
                            propertyNames:
                              type: string
                            additionalProperties: {}
                        required:
                          - message
                    required:
                      - error
        '401':
          description: Error response
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      error:
                        type: string
                    required:
                      - error
                  - type: object
                    properties:
                      error:
                        type: object
                        properties:
                          message:
                            type: string
                          code:
                            type: string
                          details:
                            type: object
                            propertyNames:
                              type: string
                            additionalProperties: {}
                        required:
                          - message
                    required:
                      - error
        '404':
          description: Error response
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      error:
                        type: string
                    required:
                      - error
                  - type: object
                    properties:
                      error:
                        type: object
                        properties:
                          message:
                            type: string
                          code:
                            type: string
                          details:
                            type: object
                            propertyNames:
                              type: string
                            additionalProperties: {}
                        required:
                          - message
                    required:
                      - error
components:
  securitySchemes:
    developerKey:
      type: http
      scheme: bearer
      bearerFormat: Developer key (dk_...)
      description: Developer key created from the dashboard (Settings → Developer Keys)

````