Skip to main content

Start Run API

The Start Run API allows you to programmatically trigger test runs for your project. This endpoint is particularly useful for integrating QA.tech testing into your CI/CD pipelines and custom automation workflows.
  • Endpoint: POST /run
  • Authentication: Bearer token (project API token)
  • Content-Type: application/json
  • Base URL: https://api.qa.tech/v1

Authentication

Include your project’s API token in the Authorization header:
You can obtain your project’s API token in the QA.tech dashboard: Settings → Integrations → API. The project is inferred from the token, so you do not pass a project ID in the URL.

Request Body

The request body is optional. When omitted, the server defaults to trigger: "API" and runs using the project’s default test plan. All fields are optional:

GitHub Trigger Fields

When using trigger: "GITHUB" (typically from a CI/CD integration), you can include additional context fields: These fields provide attribution and context in the QA.tech dashboard. They are ignored when trigger is "API" or omitted.

Application Overrides (applications)

applications is an array of objects. Each object has: Environment override – use one of:
  • New/preview environment: { "url": "https://...", "name": "Optional name" }
  • Existing environment: { "shortId": "env_aB3xY9" }
Find Application and Environment Short IDs in Settings → Applications. Use the copy action for the Short ID (e.g. app_gXeBl2, env_aB3xY9). See API Introduction.

Slack Notification Overrides (notifications)

Use the notifications array to send per-run Slack updates:
  • always: Run started + final result summary
  • failure: Only final summary when result is not PASSED
Slack notification overrides do not work for projects with SSH Tunnel Proxy enabled.
Validation & errors:
  • Empty notifications array → 400 (array must contain at least one element)
  • Slack not configured for project → 400 (“Slack integration is not configured for this project…”)
  • Inaccessible channel(s) → 400 (“Slack channel override failed. Ensure the QA.tech bot has access to: …”)

Example Requests

Basic Test Run

Test Run with Preview Environment

Use url/name for a new preview environment, or shortId to reference an existing environment:

Test Run with Device Preset Override

Test Run with Slack Notification Override

Response Format

Success (200)

Use run.shortId to get run status or rerun.

Error Responses

All error responses can include a body such as: { "message": "Error message" }.