> ## 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.

# Applications API

> List applications and their environments programmatically

Retrieve applications and their environments from your project. Use these endpoints to discover application and environment short IDs for use with other API endpoints like [Start Run](/api-reference/runs/start-test-run) and [Chat](/api-reference/chat).

<Tip>
  You can also find Application and Environment Short IDs in the QA.tech
  dashboard: **Settings → Applications**. The short IDs (e.g. `app_gXeBl2`,
  `env_aB3xY9`) are displayed in the UI and can be copied using the three-dot
  menu (⋮).
</Tip>

## Endpoints

For full request, response, and error details, see the generated reference pages:

* [List Applications](/api-reference/applications/list-applications) – all applications in your project, including their kind (web or mobile)
* [List Application Environments](/api-reference/applications/list-application-environments) – the environments configured for a specific application

<Note>
  For mobile applications, the iOS/Android platform is set per build when
  [uploading application builds](/api-reference/application-builds), not on the
  application itself.
</Note>

## Authentication

All endpoints require Bearer token authentication. Create your API key in the QA.tech dashboard: **Organization Settings → API Keys**. The key is shown only once, at creation. See the [API Introduction](/api-reference/introduction#authentication) for details, including how organization-scoped keys pass `projectShortId`.

## Typical Workflow

A common pattern is to discover IDs dynamically instead of hardcoding them:

1. Call [List Applications](/api-reference/applications/list-applications) to find the application's `shortId`.
2. Call [List Application Environments](/api-reference/applications/list-application-environments) with that ID to find the environment you want to test against (for example, the first non-production environment, using the `isProduction` flag).
3. Pass the discovered IDs as application/environment overrides when [starting a run](/api-reference/runs/start-test-run) or [creating a chat conversation](/api-reference/chat).

This is especially useful in CI/CD pipelines, where the target environment may vary per branch or deployment.

## Related

* [Start Run API](/api-reference/runs/start-test-run) – Use application/environment IDs to run tests
* [Chat API](/api-reference/chat) – Use application overrides in chat conversations
* [Applications and Environments](/core-concepts/applications-and-environments) – Learn about the application model
* [API Introduction](/api-reference/introduction) – Authentication and ID reference
