# QA.tech Docs ## Docs - [Application Builds API](https://docs.qa.tech/api-reference/application-builds.md): Upload and manage mobile app builds for testing - [Create application build](https://docs.qa.tech/api-reference/application-builds/create-application-build.md): Step 2 of 2 for attaching a mobile build: registers a file already uploaded via `application_build_upload_url`. Pass the `buildToken` returned by that tool (after you PUT the file to its `uploadUrl`). Returns `applicationBuildShortId` — use it as `environment.applicationBuildShortId` inside an `appl… - [Get build upload URL](https://docs.qa.tech/api-reference/application-builds/get-build-upload-url.md): Step 1 of 2 for attaching a mobile build (.apk/.ipa) to a run. Returns a presigned `uploadUrl` and a `buildToken`. Next, upload the raw build file to `uploadUrl` with an HTTP PUT request (request body = the raw file bytes, `Content-Type` = the file's MIME type such as `application/octet-stream`; no… - [Applications API](https://docs.qa.tech/api-reference/applications.md): List applications and their environments programmatically - [List application environments](https://docs.qa.tech/api-reference/applications/list-application-environments.md): List environments for a specific application - [List applications](https://docs.qa.tech/api-reference/applications/list-applications.md): Lists the applications under test in the project the API key is bound to. - [Chat API](https://docs.qa.tech/api-reference/chat.md): Interact with the QA.tech AI Chat Assistant programmatically - [Get chat conversation](https://docs.qa.tech/api-reference/chat/get-chat-conversation.md): Get conversation metadata and recent messages (newest first). - [Send chat message](https://docs.qa.tech/api-reference/chat/send-chat-message.md): Send a chat message to an existing conversation. - [Start change review chat](https://docs.qa.tech/api-reference/chat/start-change-review-chat.md): Create a new chat conversation and start an autonomous change review from either a PR URL or raw change input. - [Start chat conversation](https://docs.qa.tech/api-reference/chat/start-chat-conversation.md): Create a new chat conversation and send its first message. - [Exporting Test Cases](https://docs.qa.tech/api-reference/exporting-test-cases.md): Export your test case definitions, including steps, via the API or CLI - [Get feature](https://docs.qa.tech/api-reference/features/get-feature.md): Fetch detail for a single feature, including pages it spans and actions that belong to it - [List features](https://docs.qa.tech/api-reference/features/list-features.md): List features in the project's feature graph. Features are LLM-clustered groupings of related UI actions discovered during crawling, and describe what the product can do. - [Get outbound IPs](https://docs.qa.tech/api-reference/infrastructure/get-outbound-ips.md): Get the current outbound IP addresses QA.tech test runners use, for firewall rules and allowlists. No authentication required. - [API Introduction](https://docs.qa.tech/api-reference/introduction.md): Learn how to interact with QA.tech programmatically using our REST API - [Create knowledge item](https://docs.qa.tech/api-reference/knowledge/create-knowledge-item.md): Add an item to the project's knowledge base and index it for the QA.tech agents. Use `text` for documentation notes, `link` to crawl and index a URL, or `memory` for agent-maintained observations. PDF and icon items are managed in the dashboard. - [Delete knowledge item](https://docs.qa.tech/api-reference/knowledge/delete-knowledge-item.md): Delete a knowledge item and remove it from the agents' knowledge index - [Get knowledge item](https://docs.qa.tech/api-reference/knowledge/get-knowledge-item.md): Fetch a single knowledge item including its full text content - [List knowledge items](https://docs.qa.tech/api-reference/knowledge/list-knowledge-items.md): List the project's knowledge base items: text notes, crawled links, uploaded PDFs, agent memories and UI icons. Returns summaries without content; fetch a single item for its full content. - [Update knowledge item](https://docs.qa.tech/api-reference/knowledge/update-knowledge-item.md): Update a text, link or memory knowledge item. Changing content or url re-indexes the item; pdf and icon items are managed in the dashboard. - [Get project metrics](https://docs.qa.tech/api-reference/metrics/get-project-metrics.md): Prometheus text exposition format for the project bound to the API key. - [Create project](https://docs.qa.tech/api-reference/projects/create-project.md): Create a new project in the organization the API key belongs to. Requires an organization-scoped API key with write scope. - [List projects](https://docs.qa.tech/api-reference/projects/list-projects.md): Lists the projects in the organization the API key belongs to. Organization-scoped keys see every project; project-scoped keys see only their own. Returned `shortId`s can be passed as `projectShortId` to any project-scoped tool to target that project. - [Get release check](https://docs.qa.tech/api-reference/release-checks/get-release-check.md): Fetch the compiled release check report by its short ID. Poll until `status` is `completed`. - [Start release check](https://docs.qa.tech/api-reference/release-checks/start-release-check.md): 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. - [Remote Tunnels API](https://docs.qa.tech/api-reference/remote-tunnels.md): Create and manage secure tunnels to expose local environments - [Create remote tunnel](https://docs.qa.tech/api-reference/remote-tunnels/create-remote-tunnel.md): Create a new remote tunnel that exposes local ports via Cloudflare. - [Delete remote tunnel](https://docs.qa.tech/api-reference/remote-tunnels/delete-remote-tunnel.md): Tear down a remote tunnel and its DNS records - [Get remote tunnel status](https://docs.qa.tech/api-reference/remote-tunnels/get-remote-tunnel-status.md): Get the live Cloudflare health status of a remote tunnel - [List remote tunnels](https://docs.qa.tech/api-reference/remote-tunnels/list-remote-tunnels.md): List remote tunnels for the authenticated project - [Create rule](https://docs.qa.tech/api-reference/rules/create-rule.md): Create a rule: a standing instruction injected into a QA.tech agent's context. Agent rules support filters to target specific applications, labels, scenarios or URL paths. - [Delete rule](https://docs.qa.tech/api-reference/rules/delete-rule.md): Delete a rule so it is no longer injected into the agent's context - [List rules](https://docs.qa.tech/api-reference/rules/list-rules.md): List the project's rules: standing instructions injected into the QA.tech agents. Filter by consumer to see rules for the chat assistant, the test agent, or PR review. - [Update rule](https://docs.qa.tech/api-reference/rules/update-rule.md): Update a rule's title, content, filters or sort order. Pass null on a filter field to clear it. - [Get run](https://docs.qa.tech/api-reference/runs/get-run.md): Fetches a run by its short ID. Pass `testCases: "all"` or `"failed"` to include nested test-case results, and `issues` to include detected issues (`all` or a category such as `accessibility`; omitted by default). Use `get_run_issues` to fetch only the issues. - [Get run issues](https://docs.qa.tech/api-reference/runs/get-run-issues.md): Lists issues detected during a run, deduplicated and aggregated across its test cases. Returns every issue type by default; pass `issueType` to filter to one category (e.g. `accessibility`). Each issue includes its type, severity, tags, a help URL, and the test cases where it was found. - [Get run test case](https://docs.qa.tech/api-reference/runs/get-run-test-case.md): Fetches a single run test case (one test's execution within a run) by its short ID — the `` in a `/results/test/` URL. Returns the goal and success criteria, the evaluator's reasoning, the result and error classification, durations, and a deep link plus best-effort media URLs. Use… - [Get run test case trace](https://docs.qa.tech/api-reference/runs/get-run-test-case-trace.md): Returns the agent's step-by-step action trace for a run test case: per step the reasoning, the tools it called with their arguments, the observed result, and a screenshot. Paginated via `limit`/`offset` so large traces don't overflow token limits. - [Get test case history](https://docs.qa.tech/api-reference/runs/get-test-case-history.md): Returns the recent pass/fail history and durations for the test case behind a run test case short ID, across its most recent runs — for flaky-vs-consistent analysis. - [List runs](https://docs.qa.tech/api-reference/runs/list-runs.md): Lists runs for the project, newest first. With no filters it returns the 20 most recent runs across all time; pass `since`/`until` (ISO 8601) to scope to a window such as the last 24 hours. Returned `shortId`s work directly with `get_run` and `rerun_run`. - [Rerun run](https://docs.qa.tech/api-reference/runs/rerun-run.md): Reruns a previous run. Pass `failedOnly: true` to rerun only failed/skipped/errored cases, or `projectTestCaseIds` to rerun a specific subset. - [Start test run](https://docs.qa.tech/api-reference/runs/start-test-run.md): Execute a run for a given project. Supports API or GITHUB trigger. When using GITHUB trigger, provide actor, branch, commitHash, commitMessage, and repository. Use applications to override environment or device preset per run. - [Get example status badge](https://docs.qa.tech/api-reference/status-badge/get-example-status-badge.md): Get a sample status badge as SVG (no token). For live project badges use GET /v1/badge.svg. - [Get status badge](https://docs.qa.tech/api-reference/status-badge/get-status-badge.md): Get status badge as SVG. Authenticate with the token query parameter (not the API Bearer key). Project is resolved from the token. - [Create test case](https://docs.qa.tech/api-reference/test-cases/create-test-case.md): Create a test case in the project. It is created in draft and a burn-in run starts automatically. - [Get test case](https://docs.qa.tech/api-reference/test-cases/get-test-case.md): Fetches a test case's authored configuration by its ID (UUID, as returned by `list_test_cases`): goal, expected result, steps, start URL path, dependencies, labels, enabled state, and scenario. This is the authored config the agent executes — for a specific run's outcome use `get_run_test_case` inst… - [List test cases](https://docs.qa.tech/api-reference/test-cases/list-test-cases.md): Lists test cases for the project, optionally filtered by application, labels, or enabled state. - [Update test case](https://docs.qa.tech/api-reference/test-cases/update-test-case.md): Updates a test case's authored configuration. Patch semantics: only the fields you provide change; pass `null` on nullable fields (`startUrlPath`, `scenarioShortId`, `resumeFromDependencyProjectTestCaseId`) to clear them. - [BankID](https://docs.qa.tech/applications/se-bank-id.md) - [Creating Tests](https://docs.qa.tech/best-practices/creating-tests.md): Learn how to create effective test cases in QA.tech and write tests that the AI agent can execute reliably. - [Authentication](https://docs.qa.tech/best-practices/handle-auth.md) - [Running Tests](https://docs.qa.tech/best-practices/running-tests.md) - [How to review test results](https://docs.qa.tech/best-practices/test-results.md) - [Troubleshooting](https://docs.qa.tech/best-practices/troubleshooting.md): What can you do to make QA.tech work as well as possible for you? - [QA.tech Bot](https://docs.qa.tech/bot.md): Identify and verify QA.tech automated testing traffic. - [qatech applications](https://docs.qa.tech/cli/commands/applications.md): List the applications in your QA.tech project. - [qatech chat](https://docs.qa.tech/cli/commands/chat.md): Talk to the QA.tech agent - get test IDs, ask about coverage, and run tests against custom URLs. - [qatech configure](https://docs.qa.tech/cli/commands/configure.md): Set up and inspect your QA.tech CLI credentials. - [qatech environments](https://docs.qa.tech/cli/commands/environments.md): List the environments configured for an application. - [qatech init](https://docs.qa.tech/cli/commands/init.md): Generate Claude Code subagent and skill files for the QA.tech CLI. - [qatech run](https://docs.qa.tech/cli/commands/run.md): Start a test run by test plan or individual test cases. - [qatech status](https://docs.qa.tech/cli/commands/status.md): Check or wait for the result of a test run. - [qatech test-cases](https://docs.qa.tech/cli/commands/test-cases.md): List and search test cases in your project. - [qatech tunnel](https://docs.qa.tech/cli/commands/tunnel.md): Expose local ports to QA.tech and run tests against your dev server. - [CLI Overview](https://docs.qa.tech/cli/overview.md): Run QA.tech tests, inspect results, expose local servers, and chat with the QA.tech agent from the terminal. - [Authentication Rate Limits](https://docs.qa.tech/configuration/auth-rate-limits.md): Configure authentication rate limits to prevent issues during parallel testing - [Authentication Settings](https://docs.qa.tech/configuration/authentication.md): Configure authentication for your QA.tech account - [Bitrise](https://docs.qa.tech/configuration/bitrise.md): Trigger QA.tech test runs from Bitrise CI/CD: upload your Android or iOS build and run mobile test plans automatically - [CI/CD Integration](https://docs.qa.tech/configuration/ci-cd-integration.md): Integrate QA.tech into your CI/CD workflows to automatically test your applications on every deployment, pull request, or scheduled run. - [Cloudflare WAF & Turnstile](https://docs.qa.tech/configuration/cloudflare-waf-turnstile.md): Allow QA.tech through Cloudflare edge blocking (WAF) and app-embedded Turnstile widgets - [Envoyer](https://docs.qa.tech/configuration/envoyer.md): Trigger your test from a GitHub repo - [GitHub Actions](https://docs.qa.tech/configuration/github-actions.md): Integrate QA.tech testing and PR reviews into GitHub Actions workflows - [GitHub App for PR Reviews](https://docs.qa.tech/configuration/github-app.md): Automatic AI-powered pull request testing and reviews - [GitLab Merge Request Reviews and CI/CD](https://docs.qa.tech/configuration/gitlab.md): Set up automated GitLab merge request reviews and API-driven test runs - [IP Access](https://docs.qa.tech/configuration/ip-access-control.md): Configure your ingress to allow QA.tech testing traffic - [Organization Access](https://docs.qa.tech/configuration/organization-access.md): Manage who can join your organization and how they sign in — verified domains, auto-join, and SAML SSO - [SSH Tunnel Proxy](https://docs.qa.tech/configuration/ssh-tunnel.md): Securely test applications behind firewalls using SSH tunnels - [Vercel Firewall](https://docs.qa.tech/configuration/vercel-firewall.md): Allow QATechBot traffic through the Vercel Firewall with a custom bypass rule - [Vercel Preview](https://docs.qa.tech/configuration/vercel-preview-protection.md): Configure QA.tech to bypass Vercel deployment protection for automated testing - [Agent Cache](https://docs.qa.tech/core-concepts/agent-cache.md): Understand how Agent Cache speeds up your tests and when to disable it - [AI Agents](https://docs.qa.tech/core-concepts/ai-agent-testing.md): Autonomous AI testing - [AI Chat Assistant](https://docs.qa.tech/core-concepts/ai-chat-assistant.md): Natural language interface for managing your QA.tech projects - [Projects, Applications, Environments](https://docs.qa.tech/core-concepts/applications-and-environments.md): Organize your testing infrastructure with Applications and Environments, and test dynamic preview deployments - [Config Environment Overrides](https://docs.qa.tech/core-concepts/config-environment-overrides.md): How config environment overrides are stored, merged, and resolved at runtime. - [Configs](https://docs.qa.tech/core-concepts/configs.md): Manage reusable test variables and data across your tests - [Crawling Sessions](https://docs.qa.tech/core-concepts/crawling.md): Learn how crawling sessions help QA.tech understand your application and improve test suggestions - [Test Dependencies](https://docs.qa.tech/core-concepts/dependencies.md): Control test execution order, manage browser isolation, and structure multi-user testing scenarios - [Issues](https://docs.qa.tech/core-concepts/issues.md): QA.tech automatically detects issues during test runs, including failed tests, JavaScript console errors, and WCAG accessibility violations. - [Knowledge](https://docs.qa.tech/core-concepts/knowledge.md): Manage project knowledge and context for better AI assistance - [Knowledge Graph](https://docs.qa.tech/core-concepts/knowledge-graph.md): A knowledge graph is a digital representation of facts and relations. This can be used as an AI agent’s understanding and memory of a website. - [Limits](https://docs.qa.tech/core-concepts/limits.md): Understanding log limits and how they affect your tests - [Notifications](https://docs.qa.tech/core-concepts/notifications.md) - [Dependency Output States](https://docs.qa.tech/core-concepts/output-state-optimization.md): Speed up test execution by reusing browser state from recently completed dependency tests - [Ownership](https://docs.qa.tech/core-concepts/ownership.md): Assign team members to test cases and test plans to organize responsibilities and track your work - [Parallel Test Execution and Concurrency Limits](https://docs.qa.tech/core-concepts/parallel-test-execution.md): Control how many QA.tech test cases run in parallel. Set per-environment concurrency limits to protect staging servers or maximize throughput on production. - [Roles and Permissions](https://docs.qa.tech/core-concepts/roles-and-permissions.md): Role-based access in QA.tech - [Session State Lifetime](https://docs.qa.tech/core-concepts/session-state-lifetime.md): Control how long saved browser states from dependency tests remain valid before requiring a fresh run - [Shared Steps](https://docs.qa.tech/core-concepts/shared-steps.md): Reuse the same sequence of steps across multiple tests using dependencies, agent knowledge, or assistant docs - [Test plans](https://docs.qa.tech/core-concepts/test-plans.md): Test Plans allow you to organize and manage groups of test cases that can be executed together as a single unit. - [Tests and Results](https://docs.qa.tech/core-concepts/tests-and-results.md): Scenarios are groups of test cases that belong together - [Time Saved](https://docs.qa.tech/core-concepts/time-saved.md) - [POC Mobile Setup Checklist](https://docs.qa.tech/getting-started/poc-mobile-setup-checklist.md): Prepare native iOS and Android apps before a Proof of Concept with QA.tech - [POC Setup Checklist](https://docs.qa.tech/getting-started/poc-setup-checklist.md): Prepare your web application before a Proof of Concept with QA.tech - [Jira](https://docs.qa.tech/integrations/jira.md): Let the QA.tech agent read Jira issues for PR reviews and test planning - [Linear](https://docs.qa.tech/integrations/linear.md): Export issues to Linear and manage them from the AI Chat Assistant - [MCP Server](https://docs.qa.tech/integrations/mcp.md): Connect Claude Code, Cursor, Codex, or Continue to QA.tech so your AI assistant can list test cases, start runs, and read results. - [Microsoft Teams](https://docs.qa.tech/integrations/microsoft-teams.md): Receive QA.tech notifications in Microsoft Teams channels - [Slack](https://docs.qa.tech/integrations/slack.md): AI-powered testing assistance directly in your Slack workspace - [Status Badges](https://docs.qa.tech/integrations/status-badges.md): Visual indicators for your project test status - [Trello](https://docs.qa.tech/integrations/trello.md): Export QA.tech-detected issues to Trello - [Testing API Calls](https://docs.qa.tech/test-features/api-calls.md): Configure API endpoints (URL, method, headers, body) to make HTTP requests during test execution - [Device Presets](https://docs.qa.tech/test-features/device-presets.md): Configure browser sessions with predefined device settings - [Dialog Handling](https://docs.qa.tech/test-features/dialog-handling.md): How QA.tech handles browser dialogs (alerts, confirms, prompts) during automated testing - [Dynamic Navigation](https://docs.qa.tech/test-features/dynamic-navigation.md): How the AI agent navigates to URLs that change during test execution - [Email Inbox](https://docs.qa.tech/test-features/email-inbox.md): Access and manage test emails during automated testing - [File Downloads](https://docs.qa.tech/test-features/file-downloads.md): Testing to export and download files - [File Uploads](https://docs.qa.tech/test-features/file-uploads.md): Testing file uploads with default and custom files - [Mobile App Testing](https://docs.qa.tech/test-features/mobile-app-testing.md): Test native iOS and Android apps with AI-powered automation - [Revision History](https://docs.qa.tech/test-features/revision-history.md): View and compare previous versions of your test cases ## OpenAPI Specs - [api](https://docs.qa.tech/api-reference/api.json) - [package](https://docs.qa.tech/package.json) ## Optional - [Blog](https://qa.tech/blog/)