Skip to end of metadata
Go to start of metadata

Choosing a REST API

If you run Appium tests with your:

Sauce Labs CredentialsTest Object  Credentials

Please use the Unified Platform Storage REST API (app.saucelabs.com

To retrieve your Sauce Labs credentials:

Please use the Legacy Real Device Cloud REST API (app.testobject.com)

To retrieve your Test Object credentials:


Unified Platform Storage (app.saucelabs.com) 

Upload Commands

US Datacenter:

curl -u "your_username:your_api_key" -X POST https://api.us-west-1.saucelabs.com/v1/rdc/apps/upload -H "Content-Type: application/octet-stream" --data-binary @your_app.apk


EU Datacenter:

curl -u "your_username:your_api_key" -X POST https://api.eu-central-1.saucelabs.com/v1/rdc/apps/upload -H "Content-Type: application/octet-stream" --data-binary @your_app.apk

Header Parameters

You can also optionally set the App-DisplayName and App-Identifier with these header parameters.

App-DisplayName

A custom display name for your app.

curl -u "your_username:your_api_key" -X POST https://api.us-west-1.saucelabs.com/v1/rdc/apps/upload -H "Content-Type: application/octet-stream" -H "App-DisplayName: yourCustomDisplayName" --data-binary @your_app.apk

App-Identifier

A custom identifier for your app. 

curl -u "your_username:your_api_key" -X POST https://app.saucelabs.com:443/api/storage/upload -H "Content-Type: application/octet-stream" -H "App-Identifier: identifier_for_your_app" --data-binary @your_app.apk


Legacy Real Device Cloud (app.testobject.com)  

Upload Command

Use this command to upload your app file. 

curl -u "your_username:your_api_key" -X POST https://app.testobject.com:443/api/storage/upload -H "Content-Type: application/octet-stream" --data-binary @your_app.apk

The response will be the ID of the newly uploaded app. If you're working with Appium you can use it to update the appVersionId of your suite.

Header Parameters

You can also optionally set the App-DisplayName and App-Identifier with these header parameters.

App-DisplayName

A custom display name for your app.

curl -u "your_username:your_api_key" -X POST https://app.testobject.com:443/api/storage/upload -H "Content-Type: application/octet-stream" -H "App-DisplayName: yourCustomDisplayName" --data-binary @your_app.apk

App-Identifier

A custom identifier for your app. 

curl -u "your_username:your_api_key" -X POST https://app.testobject.com:443/api/storage/upload -H "Content-Type: application/octet-stream" -H "App-Identifier: identifier_for_your_app" --data-binary @your_app.apk

Using App-Identiifer to Check for Duplicate Uploads

You can use a customer app identifier to to check if an app was already uploaded.

First, get all the apps for a specified MD5:

curl -u "your_username:your_api_key" -X GET https://app.testobject.com:443/api/storage/app?appIdentifier=MD5_hash_of_your_app

If the call returns an empty JSON array, start uploading the file:

curl -u "your_username:your_api_key" -X POST https://app.testobject.com:443/api/storage/upload -H "Content-Type: application/octet-stream" -H "App-Identifier: MD5_hash_of_your_app" --data-binary @your_app.apk



  • No labels