Skip to main content
The QA.tech REST API allows you to programmatically control test runs, create test cases, check results, and integrate QA.tech into your CI/CD pipelines and automation workflows.

What Can You Do?

  • Start test runs programmatically from CI/CD pipelines or scripts
  • Create and list test cases via API for importing tests or generating them dynamically
  • Check run status and retrieve test results
  • Rerun tests (all or a subset) from a previous run
  • Chat with AI assistant to create tests and review changes via API
  • List applications and environments for dynamic test configuration
  • Create remote tunnels to test local environments
  • Upload mobile app builds for iOS and Android testing
  • Get outbound IPs for firewall allowlisting

Quick Start

Here’s a complete example to start a test run:
See Start Test Run for all request options, including application/environment overrides. What you need:
  1. API Token - Created in Organization Settings → API Keys (the key is shown only once, at creation)
  2. Test Plan Short ID - Prefixed ID from your test plan (e.g. pln_abc123). Alternatively pass testCaseIds to run specific test cases instead of a plan
  3. Other short IDs as needed - Application, Environment, Config, Device Preset, Scenario (see table below)

Authentication

All API endpoints (except a few public ones such as Get Outbound IPs and the status badge endpoints) require Bearer token authentication. Include your API token in the Authorization header:
Where to find your API token:
  1. Navigate to Organization Settings → API Keys
  2. Create a new API key
  3. Copy the key when it is shown — it will not be displayed again
API keys can be project-scoped or organization-scoped. With a project-scoped key the project is inferred from the token, so you can omit projectShortId. With an organization-scoped key you must pass projectShortId (e.g. proj_abc123) in the request body or query string of project-scoped endpoints.

Understanding Different IDs

QA.tech uses prefixed short IDs for most API resources. The prefix indicates the resource type. Some fields (e.g., dependency test case IDs in Create Test Case and Rerun endpoints) still use UUIDs and are documented on their respective pages:

Finding Application and Environment Short IDs

Application and Environment Short IDs are shown in the UI with their app_ and env_ prefixes.
1

Go to Applications & Envs

Navigate to Settings → Applications & Envs in your project
2

Find Short ID

The Application Short ID (e.g. app_gXeBl2) appears in the applications table. Use the three-dot menu (⋮) to Copy Short ID
3

Find Environment Short ID

Under Settings → Applications & Envs → [Select Application], the Environment Short ID (e.g. env_aB3xY9) appears in the Environments section. Use the copy action to copy it

Next Steps

Base URL

All API requests are made to:

Migration from Legacy API

If you used the legacy API format:
  • Old: https://app.qa.tech/api/projects/{projectUuid}/runs
  • New: https://api.qa.tech/v1/run (project is inferred from your API key)
The old format may still work temporarily but is deprecated. Key changes in the current API:
  • No projectUuid in the path; the project is determined by your API token
  • All IDs use prefixed short IDs (e.g. pln_abc123, app_gXeBl2) instead of UUIDs where applicable
  • Base URL is https://api.qa.tech/v1
Migrate to the new base URL and request format when possible.