---
title: "Install an app from App Storage"
method: POST
path: "/sessions/{sessionId}/device/installApp"
tags: ["Device Interactions"]
---

# Install an app from App Storage

`POST /sessions/{sessionId}/device/installApp`

## Request

- Base URL: `https://api.us-west-1.saucelabs.com/rdc/v2`
- URL: `https://api.us-west-1.saucelabs.com/rdc/v2/sessions/{sessionId}/device/installApp`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/saucelabs/apis/real-device-access-api-reference/docs/sessions/:sessionId/device/installApp/post.ts> (a function with typed inputs; its response is checked against the schema)

Install an app on the device. The installation will take place in the background. Use listAppInstallations to query for status.

## Path parameters

- `sessionId` string, required

## Request body

- AppInstallation: Configuration for installing an app on a device.
  - `app` string, required: This should be the location of your app in Sauce Labs App Storage Service (e.g., storage:filename=myapp.apk or storage:uuid)
  - `enableInstrumentation` boolean: Enable app instrumentation (includes app re-signing for iOS). Required for iOS app installation on cloud devices. Unlocks advanced features on both platforms. Automatically set to `true` if iOS app uses ad-hoc signing or advanced features are enabled. Setting to `false` may cause iOS installation failures and disables Android advanced features. Recommended: `true`.
  - `launchAfterInstall` boolean: If set to `true`, the app will automatically launch after a successful installation.
  - `features` object
    - `networkCapture` boolean: Enable system-wide network capture.
    - `deviceVitals` boolean: Collect vitals from device while app is running.
    - `imageInjection` boolean: Enable image injection through camera API.
    - `biometricsInterception` boolean: Enable interception of biometrics checks.
    - `bypassScreenshotRestriction` boolean
    - `errorReporting` boolean

## Response `200`

Command executed successfully

- AppInstallationStatus: Status of an ongoing or completed app installation process
  - `installationId` string: Identifier of this app installation process
  - `app` string: This should be the location of your app in Sauce Labs App Storage Service or Ephemeral app (e.g., storage:filename=myapp.apk, storage:uuid, https://www.myserver.com/files/myapp.apk)
  - `status` 'PENDING' | 'FINISHED' | 'ERROR'

## Other responses

- `400`: Bad Request
- `404`: Not Found

---

[API](https://skmtc.dev/saucelabs/apis/real-device-access-api-reference.md) - [All operations](https://skmtc.dev/saucelabs/apis/real-device-access-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/saucelabs/apis/real-device-access-api-reference/revisions/f845a4b66e37?raw)
