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

# Start release check

> Start a release check: an orchestrated pre-release report that runs your
regression suite and/or an autonomous exploratory change review, then
compiles the results into a single report.

Request at least one of a regression suite (`regression`) or an exploratory
change review (`prUrl` or `changes`). All testing and analysis runs on
QA.tech — it does not consume the caller's tokens or credits.

Returns 202 immediately. Poll `get_release_check` until `status` is
`completed` (or `failed`) to read the compiled report.



## OpenAPI

````yaml /api-reference/api.json post /v1/release-checks
openapi: 3.0.0
info:
  title: QA.tech API
  version: 1.0.0
  contact:
    name: QA.tech
    url: https://qa.tech
    email: support@qa.tech
  description: API for triggering and managing AI-powered test runs
servers:
  - url: https://api.qa.tech
    description: Production
    variables: {}
security:
  - BearerAuth: []
tags:
  - name: Runs
  - name: Infrastructure
  - name: Test Cases
  - name: Application Builds
  - name: Status badge
  - name: Remote Tunnels
  - name: Chat
  - name: Applications
  - name: Features
  - name: Metrics
  - name: Release Checks
  - name: Projects
paths:
  /v1/release-checks:
    post:
      tags:
        - Release Checks
      summary: Start release check
      description: >-
        Start a release check: an orchestrated pre-release report that runs your

        regression suite and/or an autonomous exploratory change review, then

        compiles the results into a single report.


        Request at least one of a regression suite (`regression`) or an
        exploratory

        change review (`prUrl` or `changes`). All testing and analysis runs on

        QA.tech — it does not consume the caller's tokens or credits.


        Returns 202 immediately. Poll `get_release_check` until `status` is

        `completed` (or `failed`) to read the compiled report.
      operationId: StartReleaseCheck
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReleaseCheckRequest'
      responses:
        '202':
          description: >-
            The request has been accepted for processing, but processing has not
            yet completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReleaseCheckResponse'
components:
  schemas:
    ReleaseCheckRequest:
      type: object
      properties:
        releaseName:
          type: string
          description: >-
            Human-readable name for this release, e.g. 'v2.3.0' or 'June
            checkout revamp'.
        releaseSummary:
          type: string
          description: Short description of what this release contains.
        context:
          type: string
          description: Free-text focus areas, risk areas, or instructions for the review.
        changes:
          type: array
          items:
            $ref: '#/components/schemas/ReleaseCheckChange'
          description: >-
            The intended changes in this release (user prompts, PR descriptions,
            tickets). The review agent verifies each one behaves as described.
        regression:
          allOf:
            - $ref: '#/components/schemas/ReleaseCheckRegressionInput'
          description: Regression baseline to run as part of the check.
        prUrl:
          type: string
          format: uri
          description: >-
            Optional pull request URL to enrich the review with diffs and
            deployment info. Requires vcsProviderId.
        vcsProviderId:
          allOf:
            - $ref: '#/components/schemas/VcsProviderId'
          description: VCS provider for prUrl.
        applicationOverrides:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationOverrideWithRequiredEnvironment'
          description: >-
            Per-application environment overrides identifying the build/URL
            under review.
        projectShortId:
          allOf:
            - $ref: '#/components/schemas/ProjectShortId'
          description: >-
            Target a specific project by its prefixed short ID
            (proj-slug_shortId or proj_shortId), as returned by the projects
            API. Required for organization-scoped API keys; project-scoped keys
            may only pass their own project's short ID.
      description: >-
        Request body for starting a release check.


        The calling agent describes the release and its intended changes;
        QA.tech runs

        an autonomous launch-review agent that tests the current state of the
        app

        against an end-user launch checklist, verifies the intended changes, and

        synthesizes an informational launch-readiness report (Lighthouse-style:
        it

        scores the app and highlights what needs attention, it does not block a

        release). All testing and analysis runs on QA.tech and does not consume
        the

        caller's tokens.


        Provide at least one of `changes`, `regression`, or `prUrl` so the agent
        has

        something concrete to review.
    ReleaseCheckResponse:
      type: object
      required:
        - shortId
        - url
        - status
      properties:
        shortId:
          $ref: '#/components/schemas/ReleaseCheckShortId'
        url:
          type: string
          description: Dashboard URL for the release check's launch-readiness report.
        status:
          $ref: '#/components/schemas/ReleaseCheckStatus'
        reviewShortId:
          allOf:
            - $ref: '#/components/schemas/ChatConversationShortId'
          description: Short ID of the launch-review conversation driving this check.
      description: >-
        Lightweight response returned immediately after starting a release
        check.
    ReleaseCheckChange:
      type: object
      required:
        - summary
      properties:
        summary:
          type: string
          minLength: 1
          description: >-
            Short statement of what this change does or intends. Example: 'Add a
            discount-code field to checkout'.
        details:
          type: string
          description: >-
            Longer description: the user's prompt, the PR body, or the ticket
            description behind this change.
        kind:
          type: string
          enum:
            - feature
            - fix
            - refactor
            - content
            - config
            - other
          description: Kind of change, used to focus testing.
        source:
          type: string
          enum:
            - user_prompt
            - pull_request
            - ticket
            - commit
            - changelog
            - other
          description: Where this change description came from.
        reference:
          type: string
          description: Optional URL or identifier for the change (PR link, ticket key).
        diff:
          type: string
          description: Optional diff for this change.
      description: >-
        A single intended change in the release, described by the calling agent.
        This intent layer is richer than a diff: it tells the review agent what
        the change was meant to achieve so it can verify the outcome, not just
        detect what bytes changed.
    ReleaseCheckRegressionInput:
      type: object
      properties:
        testPlanShortId:
          allOf:
            - $ref: '#/components/schemas/TestPlanShortId'
          description: Run an existing test plan as the regression baseline.
        testCaseIds:
          type: array
          items:
            type: string
          description: >-
            Run a specific set of project test case IDs as the regression
            baseline.
      description: >-
        Regression suite selection for a release check. Provide a test plan or
        explicit test case IDs; omit both to let the agent decide what to run.
    VcsProviderId:
      type: string
      enum:
        - github
        - gitlab
      description: Supported VCS providers for pull request URL review mode
    ApplicationOverrideWithRequiredEnvironment:
      type: object
      required:
        - applicationShortId
        - environment
      properties:
        applicationShortId:
          $ref: '#/components/schemas/ApplicationShortId'
        devicePresetShortId:
          $ref: '#/components/schemas/DevicePresetShortId'
        environment:
          $ref: '#/components/schemas/ApplicationEnvironmentOverride'
      description: Application override with a required environment
    ProjectShortId:
      type: string
      pattern: ^proj(-.+_.+|_.+)$
    ReleaseCheckShortId:
      type: string
      pattern: ^rc(-.+_.+|_.+)$
    ReleaseCheckStatus:
      type: string
      enum:
        - pending
        - running
        - completed
        - failed
      description: Lifecycle status of a release check.
    ChatConversationShortId:
      type: string
      pattern: ^chat(-.+_.+|_.+)$
    TestPlanShortId:
      type: string
      pattern: ^pln(-.+_.+|_.+)$
    ApplicationShortId:
      type: string
      pattern: ^app(-.+_.+|_.+)$
    DevicePresetShortId:
      type: string
      pattern: ^preset(-.+_.+|_.+)$
    ApplicationEnvironmentOverride:
      anyOf:
        - $ref: '#/components/schemas/ApplicationEnvironmentOverrideByUrl'
        - $ref: '#/components/schemas/ApplicationEnvironmentOverrideByShortId'
        - $ref: >-
            #/components/schemas/ApplicationEnvironmentOverrideByApplicationBuildShortId
    ApplicationEnvironmentOverrideByUrl:
      type: object
      required:
        - url
      properties:
        url:
          type: string
          format: uri
        name:
          type: string
    ApplicationEnvironmentOverrideByShortId:
      type: object
      required:
        - shortId
      properties:
        shortId:
          $ref: '#/components/schemas/EnvironmentShortId'
    ApplicationEnvironmentOverrideByApplicationBuildShortId:
      type: object
      required:
        - applicationBuildShortId
      properties:
        applicationBuildShortId:
          $ref: '#/components/schemas/ApplicationBuildShortId'
      description: >-
        Use a specific application build (from POST /v1/application/builds).
        Creates or reuses an environment with this build.
    EnvironmentShortId:
      type: string
      pattern: ^env(-.+_.+|_.+)$
    ApplicationBuildShortId:
      type: string
      pattern: ^build(-.+_.+|_.+)$
  securitySchemes:
    BearerAuth:
      type: http
      scheme: Bearer

````