> ## Documentation Index
> Fetch the complete documentation index at: https://qatech-docs-bankid-manual-auth.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Post run

> Execute a run for a given project



## OpenAPI

````yaml /api-reference/api.json post /run
openapi: 3.0.0
info:
  title: QA.tech API
  version: 1.0.0
  description: API for managing test runs, test cases, and project configuration
servers:
  - url: https://api.qa.tech/v1
    description: Production
    variables: {}
security: []
tags: []
paths:
  /run:
    post:
      description: Execute a run for a given project
      operationId: RunProject
      parameters: []
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunRequest'
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunResponse'
        '400':
          description: Validation error or bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
        '402':
          description: Usage limit exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
        '403':
          description: Account suspended or invalid token
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
        '500':
          description: Server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
      security:
        - bearerAuth: []
components:
  schemas:
    RunRequest:
      type: object
      properties:
        trigger:
          type: string
          enum:
            - API
            - GITHUB
        actor:
          type: string
        branch:
          type: string
        commitHash:
          type: string
        commitMessage:
          type: string
        repository:
          type: string
        testPlanShortId:
          $ref: '#/components/schemas/TestPlanShortId'
        applications:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationOverride'
        notifications:
          type: array
          items:
            $ref: '#/components/schemas/NotificationOverride'
    RunResponse:
      type: object
      required:
        - success
        - run
      properties:
        success:
          type: boolean
        run:
          $ref: '#/components/schemas/Run'
    TestPlanShortId:
      type: string
      pattern: ^pln(-.+_.+|_.+)$
    ApplicationOverride:
      type: object
      required:
        - applicationShortId
      properties:
        applicationShortId:
          $ref: '#/components/schemas/ApplicationShortId'
        environment:
          $ref: '#/components/schemas/ApplicationEnvironmentOverride'
        devicePresetShortId:
          $ref: '#/components/schemas/DevicePresetShortId'
    NotificationOverride:
      type: object
      required:
        - type
        - channel
      properties:
        type:
          type: string
          enum:
            - slack
        channel:
          type: string
        notifyOn:
          type: string
          enum:
            - failure
            - always
    Run:
      type: object
      required:
        - id
        - shortId
        - url
        - testCount
        - testPlan
      properties:
        id:
          type: string
        shortId:
          type: string
        url:
          type: string
        testCount:
          type: integer
          format: int32
        testPlan:
          $ref: '#/components/schemas/TestPlan'
    ApplicationShortId:
      type: string
      pattern: ^app(-.+_.+|_.+)$
    ApplicationEnvironmentOverride:
      anyOf:
        - $ref: '#/components/schemas/ApplicationEnvironmentOverrideByUrl'
        - $ref: '#/components/schemas/ApplicationEnvironmentOverrideByShortId'
    DevicePresetShortId:
      type: string
      pattern: ^preset(-.+_.+|_.+)$
    TestPlan:
      type: object
      required:
        - name
        - shortId
      properties:
        name:
          type: string
        shortId:
          $ref: '#/components/schemas/TestPlanShortId'
    ApplicationEnvironmentOverrideByUrl:
      type: object
      required:
        - url
      properties:
        url:
          type: string
        name:
          type: string
    ApplicationEnvironmentOverrideByShortId:
      type: object
      required:
        - shortId
      properties:
        shortId:
          $ref: '#/components/schemas/EnvironmentShortId'
    EnvironmentShortId:
      type: string
      pattern: ^env(-.+_.+|_.+)$
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Project API token from Settings > Integrations > API. The token is
        scoped to a specific project.

````