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 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
  • Get outbound IPs for firewall allowlisting
  • View metrics and test execution data

Quick Start

Here’s a complete example to start a test run:
curl -X POST https://api.qa.tech/v1/run \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"testPlanShortId": "pln_abc123"}'
What you need:
  1. API Token - Found in Settings → Integrations → API (project-specific)
  2. Test Plan Short ID - Prefixed ID from your test plan (e.g. pln_abc123)
  3. Other short IDs as needed - Application, Environment, Config, Device Preset, Scenario (see table below)

Authentication

All API endpoints (except Get Outbound IPs) require Bearer token authentication. Include your API token in the Authorization header:
Authorization: Bearer YOUR_API_TOKEN
Where to find your API token:
  1. Navigate to Settings → Integrations → API in your project dashboard
  2. Your API token is displayed on the API integration page
  3. Copy the token and use it in the Authorization header
Your API token is project-specific. The project is inferred from the token, so you do not pass a project ID in the URL or body.

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:
ID TypeFormatWhere to FindUsed In APIExample
Test Plan Short IDpln_ + alphanumericTest plan URLs, SettingstestPlanShortId in request bodypln_abc123
Application Short IDapp_ + alphanumericSettings → ApplicationsapplicationShortId in applications arrayapp_gXeBl2
Environment Short IDenv_ + alphanumericSettings → Applications → Environmentsenvironment.shortId in applications arrayenv_aB3xY9
Config Short IDcfg_ + alphanumericSettings → ConfigsconfigShortIds arraycfg_xyz789
Device Preset Short IDpreset_ + alphanumericSettings → Device PresetsdevicePresetShortId in applications arraypreset_abc123
Scenario Short IDscenario_ + alphanumericScenariosscenarioShortId in test-cases bodyscenario_abc123

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

Navigate to Settings → Applications 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 → [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:
https://api.qa.tech/v1

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.