---
title: "POST /#X-Amz-Target=DeviceFarm_20150623.InstallToRemoteAccessSession"
method: POST
path: "/#X-Amz-Target=DeviceFarm_20150623.InstallToRemoteAccessSession"
---

# POST /#X-Amz-Target=DeviceFarm_20150623.InstallToRemoteAccessSession

`POST /#X-Amz-Target=DeviceFarm_20150623.InstallToRemoteAccessSession`

Installs an application to the device in a remote access session. For Android applications, the file must be in .apk format. For iOS applications, the file must be in .ipa format.

## Headers

- `X-Amz-Target` 'DeviceFarm_20150623.InstallToRemoteAccessSession', required

## Request body

- InstallToRemoteAccessSessionRequest — Represents the request to install an Android application (in .apk format) or an iOS application (in .ipa format) as part of a remote access session.
  - `remoteAccessSessionArn` string, required — The Amazon Resource Name (ARN) of the remote access session about which you are requesting information.
  - `appArn` string, required — The ARN of the app about which you are requesting information.

## Response `200`

Success

- InstallToRemoteAccessSessionResult — Represents the response from the server after AWS Device Farm makes a request to install to a remote access session.
  - `appUpload` object — An app to upload or that has been uploaded.
    - `arn` string — The upload's ARN.
    - `name` string — The upload's file name.
    - `created` string, date-time — When the upload was created.
    - `type` 'ANDROID_APP' | 'IOS_APP' | 'WEB_APP' | 'EXTERNAL_DATA' | 'APPIUM_JAVA_JUNIT_TEST_PACKAGE' | 'APPIUM_JAVA_TESTNG_TEST_PACKAGE' | 'APPIUM_PYTHON_TEST_PACKAGE' | 'APPIUM_NODE_TEST_PACKAGE' | 'APPIUM_RUBY_TEST_PACKAGE' | 'APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE' | 'APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE' | 'APPIUM_WEB_PYTHON_TEST_PACKAGE' | 'APPIUM_WEB_NODE_TEST_PACKAGE' | 'APPIUM_WEB_RUBY_TEST_PACKAGE' | 'CALABASH_TEST_PACKAGE' | 'INSTRUMENTATION_TEST_PACKAGE' | 'UIAUTOMATION_TEST_PACKAGE' | 'UIAUTOMATOR_TEST_PACKAGE' | 'XCTEST_TEST_PACKAGE' | 'XCTEST_UI_TEST_PACKAGE' | 'APPIUM_JAVA_JUNIT_TEST_SPEC' | 'APPIUM_JAVA_TESTNG_TEST_SPEC' | 'APPIUM_PYTHON_TEST_SPEC' | 'APPIUM_NODE_TEST_SPEC' | 'APPIUM_RUBY_TEST_SPEC' | 'APPIUM_WEB_JAVA_JUNIT_TEST_SPEC' | 'APPIUM_WEB_JAVA_TESTNG_TEST_SPEC' | 'APPIUM_WEB_PYTHON_TEST_SPEC' | 'APPIUM_WEB_NODE_TEST_SPEC' | 'APPIUM_WEB_RUBY_TEST_SPEC' | 'INSTRUMENTATION_TEST_SPEC' | 'XCTEST_UI_TEST_SPEC' — <p>The upload's type.</p> <p>Must be one of the following values:</p> <ul> <li> <p>ANDROID_APP</p> </li> <li> <p>IOS_APP</p> </li> <li> <p>WEB_APP</p> </li> <li> <p>EXTERNAL_DATA</p> </li> <li> <p>APPIUM_JAVA_JUNIT_TEST_PACKAGE</p> </li> <li> <p>APPIUM_JAVA_TESTNG_TEST_PACKAGE</p> </li> <li> <p>APPIUM_PYTHON_TEST_PACKAGE</p> </li> <li> <p>APPIUM_NODE_TEST_PACKAGE</p> </li> <li> <p>APPIUM_RUBY_TEST_PACKAGE</p> </li> <li> <p>APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE</p> </li> <li> <p>APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE</p> </li> <li> <p>APPIUM_WEB_PYTHON_TEST_PACKAGE</p> </li> <li> <p>APPIUM_WEB_NODE_TEST_PACKAGE</p> </li> <li> <p>APPIUM_WEB_RUBY_TEST_PACKAGE</p> </li> <li> <p>CALABASH_TEST_PACKAGE</p> </li> <li> <p>INSTRUMENTATION_TEST_PACKAGE</p> </li> <li> <p>UIAUTOMATION_TEST_PACKAGE</p> </li> <li> <p>UIAUTOMATOR_TEST_PACKAGE</p> </li> <li> <p>XCTEST_TEST_PACKAGE</p> </li> <li> <p>XCTEST_UI_TEST_PACKAGE</p> </li> <li> <p>APPIUM_JAVA_JUNIT_TEST_SPEC</p> </li> <li> <p>APPIUM_JAVA_TESTNG_TEST_SPEC</p> </li> <li> <p>APPIUM_PYTHON_TEST_SPEC</p> </li> <li> <p>APPIUM_NODE_TEST_SPEC</p> </li> <li> <p>APPIUM_RUBY_TEST_SPEC</p> </li> <li> <p>APPIUM_WEB_JAVA_JUNIT_TEST_SPEC</p> </li> <li> <p>APPIUM_WEB_JAVA_TESTNG_TEST_SPEC</p> </li> <li> <p>APPIUM_WEB_PYTHON_TEST_SPEC</p> </li> <li> <p>APPIUM_WEB_NODE_TEST_SPEC</p> </li> <li> <p>APPIUM_WEB_RUBY_TEST_SPEC</p> </li> <li> <p>INSTRUMENTATION_TEST_SPEC</p> </li> <li> <p>XCTEST_UI_TEST_SPEC</p> </li> </ul>
    - `status` 'INITIALIZED' | 'PROCESSING' | 'SUCCEEDED' | 'FAILED' — <p>The upload's status.</p> <p>Must be one of the following values:</p> <ul> <li> <p>FAILED</p> </li> <li> <p>INITIALIZED</p> </li> <li> <p>PROCESSING</p> </li> <li> <p>SUCCEEDED</p> </li> </ul>
    - `url` string, password — The presigned Amazon S3 URL that was used to store a file using a PUT request.
    - `metadata` string — The upload's metadata. For example, for Android, this contains information that is parsed from the manifest and is displayed in the AWS Device Farm console after the associated app is uploaded.
    - `contentType` string — The upload's content type (for example, <code>application/octet-stream</code>).
    - `message` string — A message about the upload's result.
    - `category` 'CURATED' | 'PRIVATE' — <p>The upload's category. Allowed values include:</p> <ul> <li> <p>CURATED: An upload managed by AWS Device Farm.</p> </li> <li> <p>PRIVATE: An upload managed by the AWS Device Farm customer.</p> </li> </ul>

## Other responses

- `480` — ArgumentException
- `481` — NotFoundException
- `482` — LimitExceededException
- `483` — ServiceAccountException

---

[API](https://skmtc.net/aws/apis/devicefarm.md) · [All operations](https://skmtc.net/aws/apis/devicefarm/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/devicefarm/versions/a20834382f29/schema)
