> ## Documentation Index
> Fetch the complete documentation index at: https://docs.autosana.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Apps API

> List apps and manage default Chrome extension dependencies

Use the Apps API to discover app and build UUIDs, then configure the default
Chrome extensions loaded with a web app. All requests require an API key in the
`X-API-Key` header. See [API Reference](/api-reference) for authentication.

## List Apps

<Note>
  **GET** `/api/v1/apps` — Returns `200 OK`
</Note>

<ParamField query="platform" type="string">
  Optional platform filter: `ios`, `android`, `web`, or `chrome-extension`.
</ParamField>

```bash theme={null}
curl "https://backend.autosana.ai/api/v1/apps?platform=chrome-extension" \
  -H "X-API-Key: YOUR_API_KEY"
```

```json theme={null}
{
  "apps": [
    {
      "id": "extension-app-uuid",
      "name": "MetaMask",
      "platform": "chrome-extension",
      "bundle_id": "nkbihfbeogaeaoehlefnkodbefgpgknn",
      "active_build": {
        "id": "extension-build-uuid"
      }
    }
  ],
  "count": 1
}
```

`active_build` is `null` when an app has no active build. `bundle_id` may also
be `null`.

## List App Dependencies

List the Chrome extensions attached by default to a web app.

<Note>
  **GET** `/api/v1/apps/{app_id}/dependencies` — Returns `200 OK`
</Note>

```bash theme={null}
curl "https://backend.autosana.ai/api/v1/apps/WEB_APP_UUID/dependencies" \
  -H "X-API-Key: YOUR_API_KEY"
```

```json theme={null}
{
  "app_id": "web-app-uuid",
  "dependencies": [
    {
      "app": {
        "id": "extension-app-uuid",
        "name": "MetaMask",
        "platform": "chrome-extension",
        "bundle_id": "nkbihfbeogaeaoehlefnkodbefgpgknn",
        "active_build": {
          "id": "extension-build-uuid"
        }
      }
    }
  ],
  "count": 1
}
```

## Attach a Dependency

Attach a Chrome extension app to a web app. Future runs inherit the
extension's active build unless the run request supplies an explicit
`dependencies` override.

<Note>
  **POST** `/api/v1/apps/{app_id}/dependencies` — Returns `201 Created`
</Note>

```bash theme={null}
curl -X POST \
  "https://backend.autosana.ai/api/v1/apps/WEB_APP_UUID/dependencies" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"dependency_app_id": "EXTENSION_APP_UUID"}'
```

```json theme={null}
{
  "app_id": "web-app-uuid",
  "dependency": {
    "app": {
      "id": "extension-app-uuid",
      "name": "MetaMask",
      "platform": "chrome-extension",
      "bundle_id": "nkbihfbeogaeaoehlefnkodbefgpgknn",
      "active_build": {
        "id": "extension-build-uuid"
      }
    }
  }
}
```

The primary app must have platform `web`, and the dependency must have platform
`chrome-extension`. Both apps must belong to the API key's organization.

## Detach a Dependency

<Note>
  **DELETE** `/api/v1/apps/{app_id}/dependencies/{dependency_app_id}` — Returns `200 OK`
</Note>

```bash theme={null}
curl -X DELETE \
  "https://backend.autosana.ai/api/v1/apps/WEB_APP_UUID/dependencies/EXTENSION_APP_UUID" \
  -H "X-API-Key: YOUR_API_KEY"
```

```json theme={null}
{
  "app_id": "web-app-uuid",
  "dependency_app_id": "extension-app-uuid",
  "detached": true
}
```

Detaching changes future runs only. Historical run results retain the exact
extension build UUIDs they used. To override defaults for one run, including
running with no extensions, see [Run Flows](/api-runs#run-flows).
