# Sauce Labs integration

> Sauce Labs REST APIs for cloud web and mobile test automation: jobs, builds, real devices, Sauce Connect tunnels, app storage, insights, performance, and account management.

- Authentication: apiKey

## Tools (160)

- **Acknowlege New Regimes**: Confirm values in a new regime (point at which a consecutive number of jobs with an unchanged result posts a different result) are acceptable.
- **Activate a User**: Re-activates the specified user's account, if it had been previously deactivated.
- **Assign a User Org Admin Rights**: Assigns administrator rights to the user within their organization. Organization Admins automatically have Team Admin rights in all the teams in the Organization.
- **Assign a User Team Admin Rights**: Assigns administrator rights to the user within their current team. If the user is currently assigned an Org Admin role, this call would reduce the rights to only those of a Team Admin.
- **Change User's Team Assignment**: Assign user to one or multiple teams. New team assignments will replace the existing ones. User assigned to multiple teams will be able to switch between them.
- **Create a New User**: Creates a new user in your Sauce Labs organization.
- **Create a Service Account**: Creates a new service account. Provide the required fields to generate a service account with an automatically generated username and access key.
- **Create a Team**: Creates a new team under the organization of the requesting account.
- **Deactivate a User**: Suspends the specified user's account, preventing all access to Sauce Labs while deactivated.
- **Delete a Group of App Storage Files**: Deletes the specified group of files from Sauce Storage. Only team or organization administrators have permission to delete a group of files.
- **Delete a Job (Real Devices)**: Delete a job and all of its assets from the Sauce Labs test history.:::note Authorization Only the **job owner**, **team admins**, or **organization admins** can delete a job. Team admins can only delete jobs belonging to their own team.:::
- **Delete a Job (Virtual Devices)**: Delete a job and all of its assets from the Sauce Labs test history.
- **Delete an App Storage File**: Deletes the specified file from Sauce Storage. Only team or organization administrators have permission to delete files.
- **Delete a Service Account**: Deletes the specified service account from your organization.
- **Delete a Team**: Deletes the specified team from the organization of the requesting account.
- **Delete Job Assets**: Sauce Labs retains job asset files for 30 days, after which, they are purged, but you can delete the asset files for a job before that, if desired. This request deletes all of the asset files associated with a job. Deleting a single asset file is not supported at this time.
- **Discard Outliers as Flaky**: Discards outlier results for a job to exclude them from future baseline calculations.
- **Download a File from App Storage**: Returns an app file from Sauce Storage as a payload object in the response.
- **Download a Specific Real Device Job's Asset**: Download a specific asset for a job after it has completed running on a real device at the data center. The available assets for a specific job depend on the test framework and whether the corresponding feature was enabled during the test. For jobs created from a [Real Device Access API](/mobile-app
- **Edit App Storage Group Settings**: Adds or updates the settings of an app group with the given ID.
- **Edit a Stored File**: Adds or updates various attributes of the specified file.
- **Get Activity**: Return daily statistics about test results and concurrency usage for the specified `user_id`.
- **Get Activity for Org**: Return daily statistics about test results and concurrency usage for organization.
- **Get Activity for Teams**: Return daily statistics about test results and concurrency usage for teams.
- **Get Activity for Users**: Return daily statistics about test results and concurrency usage.
- **Get a Job Asset File**: Retrieve one of the asset files associated with a job, such as a log file, video, or screenshot. The response contains the output of the requested file.:::note NOTE To improve performance, some assets can be compressed in transit. This is indicated by the use of `Content-Encoding: gzip` header in th
- **Get All Screenshots**: Retrieves all of the screenshot files for the specified job and downloads them as a single ZIP file. Use the `--output ` cURL flag, as shown in the request samples, to download to a local directory.
- **Get App Storage Files**: Returns the set of files that have been uploaded to Sauce Storage by the requestor.
- **Get App Storage Groups**: Returns an array of groups (apps containing multiple files) currently in storage for the authenticated requestor.
- **Get App Storage Group Settings**: Returns the settings of an app group with the given ID.
- **Get a Specific Build**: Retrieve the details related to a specific build by passing its unique ID in the request.
- **Get a Specific Device**: Get information about the device specified in the request.
- **Get a Specific Real Device Job**: Get information about a specific job running on a real device at the data center.
- **Get a Specific Service Account**: Retrieves details of the specified service account.
- **Get a Specific Team**: Returns the full profile of the specified team. The `ID` of the team is the only valid unique identifier.
- **Get a Specific User**: Returns the full profile of the specified user. The `ID` of the user is the only valid unique identifier.
- **Get a Summary of Test Metrics**: Return an aggregate of metric values for runs of a specified test during the specified period.
- **Get a User's Access Key**: Retrieves the Sauce Labs access key for the specified user.
- **Get a User's Team**: Returns the number of teams a user belongs to and provides information about each team, including whether it is the default and its concurrency settings.:::note At this time, users may only belong to a maximum of one team.:::
- **Get Available Devices**: Returns a list of Device IDs for all devices in the data center that are currently free for testing.:::note Deprecated Endpoint This endpoint is deprecated. Please transition to the status endpoint for continued service.:::
- **Get Builds and Tests**: Return the set of all tests run in the specified period, grouped by whether each test was part of a build or not.
- **Get Common Tests**: Return an array of tests with details.
- **Get Coverage**: Return information about tests coverage for the specified `coverage_field`.
- **Get Coverage CSV**: Return information about tests coverage for the specified `coverage_field` in a CSV format.
- **Get Coverage CSV from All Sources**: Return information from all sources about test coverage for the specified `coverage_field` in a CSV format.
- **Get Coverage from All Sources**: Return information from all sources about test coverage for the specified `coverage_field`.
- **Get Current Jobs for a Tunnel**: Returns the number of currently running jobs for the specified tunnel.
- **Get Devices**: Get the set of real devices located at the data center, as well as the operating system/browser combinations and identifying information for each device.
- **Get Devices Status**: Returns a list of devices in the data center along with their current states. Each device is represented by a descriptor, indicating its model, and includes information on availability, usage status, and whether it is designated as a private device.:::note The `inUseBy` field is exposed only for pri
- **Get Discarded Test History**: Returns a list of tests that have been discarded from the baseline calculation as outliers.
- **Get End of Life Dates for Appium Versions**: Returns the expected date (in Unix time) on which Sauce Labs support for each Appium version is to be discontinued.
- **Get Errors**: Return an array of errors with occurrence count on all tests run in the specified period.
- **Get Errors Trends**: Return past and current data about errors for comparison.
- **Get File Icon**: Returns the actual payload for the given icon hash. All icons are stored in.png format. This endpoint supports caching. `icon_hash` | PATH | REQUIRED | STRING | Hash string of the particular icon. You can look up icon hashes using the Get App Storage Files endpoint. **us** ```jsx title="Sample Reque
- **Get Filter Items**: Return data for all tests that match the request criteria.
- **Get Filter Items from All Sources**: Return data from all sources for all tests that match the request criteria.
- **Get Job Details**: Get detailed information about a specific job.
- **Get Jobs**: Get a list of recent jobs run by the specified user.
- **Get Max Concurrency Report CSV**: Return information about concurrency usage in a CSV format.
- **Get Max Concurrency Report JSON**: Return information about concurrency usage.
- **Get Metric Regimes**: Returns the starting and ending job counts in the current regime (a set of consecutive tests where the results are unchanged) for each specified metric.
- **Get Performance Results for a Specific Test**: Retrieves the results of a specific performance test run by the requesting account.
- **Get Performance Test Results**: Retrieves the results of performance tests run by the requesting account and returns the metric values for those tests.
- **Get Private Devices**: Get a list of private devices with their device information and settings.
- **Get Real Device Jobs**: Get a list of jobs that are actively running on real devices in the data center.
- **Get Sauce Labs TestStatus**: Returns the current (30 second cache) availability of the Sauce Labs platform.
- **Get Status Trend**: Return a histogram with test statistic details grouped by specific period.
- **Get Supported Platforms**: Returns the set of supported operating system and browser combinations for the specified automation framework.
- **Get Test Assertions**: Returns information about any outliers values in the test for the specified metrics.
- **Get Test Baseline**: Returns acceptable upper and lower border values for specified metrics as determined by the baseline used for the test.
- **Get Test Baseline Reset History**: Indicates whether the baseline has been reset for the specified job (`true`) or not (`false`).
- **Get Test Cases**: Return an array of test cases (grouped by name) with statistical details.
- **Get Test Cases CSV**: Return an array of test cases (grouped by name) with statistical details as a CSV file.
- **Get Test Cases Stats**: Return an array of test cases (grouped by name) with statistical details.
- **Get Test History**: Returns the test history of the specified job.
- **Get Test Results**: Return run data for all tests that match the request criteria.
- **Get Tests**: Return an array of tests with details.
- **Get Test Trends**: Return a set of data "buckets" representing tests that were run in each time interval defined by the request parameters.
- **Get Trends Builds Tests**: Return information about builds and tests run included in the build. Also, it provides information about tests without build names.
- **Get Trends Builds Tests from All Sources**: Return information from all sources about builds and tests run included in the build. Also, it provides information about tests without build names.
- **Get Trends Errors**: Return statistics for errors that occurred in tests run in the specified period.
- **Get Trends Errors from All Sources**: Return statistics from all sources for errors that occurred on tests run in the specified period.
- **Get Trends Tests**: Return an array of buckets with aggregations, such as number of tests run on a specific browser or device.
- **Get Trends Tests from All Sources**: Return an array of buckets with aggregations, such as the number of tests from all sources run on a specific browser or device.
- **Get Tunnel Information**: Returns information about the specified tunnel.
- **Get Tunnels for a User**: Returns Tunnel IDs or Tunnels Info for any currently running tunnels launched by or shared with the specified user. It also allows to filter tunnels using an optional "filter" parameter that may take the following values: - `filter=v2alpha` - a response will contain only tunnels that were started wi
- **Get Tunnel Version Downloads**: Returns tunnel version download information.
- **Get User Concurrency**: Returns details about the current in-use virtual machines and real devices along with the maximum allowed values.:::note Real Devices At this time, the current usage for real devices is not accurately returned in the response. As a workaround, use the following endpoint: ```jsx curl -u "$SAUCE_USERN
- **Get your active team**: Retrieves the Sauce Labs active team for the currently authenticated user.
- **List Job Assets**: Get a list of files associated with a specific test, such as the logs, video, and screenshots.
- **List Projects**: Returns an alphabetically sorted list of projects available for your team. Each project name is only returned if assigned to at least one file (group). `kind` | QUERY | OPTIONAL | STRING | The app type associated with the project(s), such as `android`, `ios` or `other`. `page` |
- **List Tags**: Returns the list of tags available for your team sorted alphabetically. Each tag name is only returned if assigned to at least one file. `page` | QUERY | OPTIONAL | INTEGER | Return results beginning with a specific page. Default is `1`. `per_page` | QUERY | OPTIONAL | STRING | The number of
- **List Team Members**: Returns the number of members in the specified team and lists each member.
- **Lookup Builds**: Queries the requesting account and returns a summary of each build matching the query, including the `ID` value, which may be a required parameter of other API calls related to a specific build. You can narrow the results of your query using any of the optional filtering parameters.
- **Lookup Jobs in a Build**: Returns information about all jobs associated with the specified build. You can limit which jobs are returned using any of the optional filtering parameters.
- **Lookup Service Accounts**: Lists existing service accounts in your organization. You can filter the results using the query parameters below.
- **Lookup Teams**: Queries the organization of the requesting account and returns the number of teams matching the query and a summary of each team, including the `ID` value, which may be a required parameter of other API calls related to a specific team. You can filter the results of your query using the `name` param
- **Lookup the Build for a Specific Job**: Retrieves the build details for a known job.
- **Lookup Users**: Queries the organization of the requesting account and returns the number of users matching the query and a basic profile of each user, including the `ID` value, which may be a required parameter of other API calls related to a specific user. You can narrow the results of your query using any of the
- **Manage Device Assignment to Teams**: Assign a private device to specified teams, or remove its assignment by providing an empty list or a new set of teams.
- **Organization Concurrency**: Return information about concurrency usage for organization: maximum, minimum concurrency for given granularity (monthly, weekly, daily, hourly), teams' share for the organization maximum concurrency for given granularity (in percentage), current limits. Concurrency data is broken down by resource t
- **Organization Visual Snapshot Usage**: Return information about visual snapshot usage for organization: visual snapshot usage by daily granularity
- **Partially Update a Team**: Updates one or more individual editable parameters (such as the concurrency allocation) of the specified team without requiring a full profile update.
- **Partially Update a User**: Allows you to update individual user values without replacing the entire profile.
- **Real Device Access: Allocate a device and create a new session**: Creates a new device session. The session runs on a private device or on a public device from the shared Sauce Labs cloud, depending on which devices match your query.
- **Real Device Access: Change device configuration**: Changes device settings such as orientation, locale, or animations during an active session. The request body must contain **at least one** of the properties below. **Note**: Some settings are OS-specific. Please review the parameter descriptions for details.
- **Real Device Access: Close and release a device session**: Closes an active device session and releases the device back to the pool. The session transitions to CLOSING state and then CLOSED. For private devices, set rebootDevice to true to reboot the device after release. Once closed, the session cannot be reused — create a new session to continue testing.
- **Real Device Access: End the active test on a device session**: Ends the test that is currently active on the session and reports its result. Any artifact recordings started by [`startTest`](#operation/startTest) are stopped and collected. Collection happens asynchronously, so the artifacts appear on the test shortly after the call returns. Once the test is ende
- **Real Device Access: Execute an adb shell command on an Android device**: Runs an adb shell command on the device and returns stdout. This command is not available for iOS devices. The adbShellCommand should be the shell command without the 'adb shell' prefix (e.g., 'ls /' not 'adb shell ls /'). Use for checking device properties, listing packages, granting permissions, o
- **Real Device Access: Forward a single http DELETE request via a proxy running on the device.**: Forward a single http request via a proxy running on the device. Transparently forwards the provided DELETE request and proxies the response from the server as the proxy in the device receives it
- **Real Device Access: Forward a single http GET request via a proxy running on the device.**: Forward a single http request via a proxy running on the device. Transparently forwards the provided GET request and proxies the response from the server as the proxy in the device receives it
- **Real Device Access: Forward a single http POST request via a proxy running on the device.**: Forward a single http request via a proxy running on the device. Transparently forwards the provided POST request and proxies the response from the server as the proxy in the device receives it
- **Real Device Access: Forward a single http PUT request via a proxy running on the device.**: Forward a single http request via a proxy running on the device. Transparently forwards the provided PUT request and proxies the response from the server as the proxy in the device receives it
- **Real Device Access: Get details of a specific device session**: Returns full session metadata including device info (name, OS, version), session state (PENDING, ACTIVE, CLOSING, CLOSED), WebSocket URLs for I/O and companion channels, and the live view URL. Use the session state to determine if the device is ready for interaction. The response includes links to r
- **Real Device Access: Get details of the status of the hosted appium server**: Returns the current status of the hosted Appium server for this session, including the server URL and version. Use this to check if the Appium server is running and to retrieve the endpoint URL for connecting your Appium client.
- **Real Device Access: Get file information from the device**: Returns metadata about a specific file or directory on the device storage, including its path, size, and whether it is a directory.
- **Real Device Access: Get launching status for WDA**: Returns the current state of WebDriverAgent on the device. The state can be PENDING, LAUNCHING, RUNNING, or ERROR. When RUNNING, the response includes the device port and host port for connecting automation tools. Use this to poll after calling launchWebDriverAgent to confirm WDA is ready.
- **Real Device Access: Get the list of supported Appium versions for Real Devices**: Returns all Appium versions currently available for use on Real Devices, sorted by end-of-life date (latest EOL first). Versions with no scheduled EOL appear at the end of the list.
- **Real Device Access: Install an app from App Storage**: Install an app on the device. The installation will take place in the background. Use listAppInstallations to query for status.
- **Real Device Access: Launch an app on device**: Launches an installed app on the device. For iOS, provide the bundleId (e.g., 'com.apple.mobilesafari'). For Android, provide the packageName and optionally the activityName for the main activity. The app must already be installed on the device — use installApp first if needed.
- **Real Device Access: Launch WDA installed on the device**: Launches WebDriverAgent (WDA) on an iOS device. WDA enables Appium-based automation by providing a WebDriver-compatible interface to the device. Please use the installApp endpoint to provide your own WDA binary and use getWebDriverAgentStatus to check if WDA is running. After launching, you can inte
- **Real Device Access: List all device descriptors eligible for AccessAPI**: List our catalog of devices available for AccessAPI usage. Use this endpoint to retrieve 'device descriptors'.
- **Real Device Access: List device sessions**: Retrieves a list of device sessions, including pending, active and recently closed sessions.
- **Real Device Access: List files in a directory on the device**: Returns a list of files and directories at the specified path on the device storage.
- **Real Device Access: List ongoing, completed and failed app installations**: Returns the status of all app installations for this session. Each entry includes an installationId, the app reference, and a status (PENDING, FINISHED, or ERROR). Use this to poll for installation completion after calling installApp, since app installation runs in the background.
- **Real Device Access: List predefined network profiles**: Returns the list of predefined network profiles that can be applied to the device session.
- **Real Device Access: List the status of all devices**: Lists the current status of all devices. For private devices, additional details are available, including the precise state and current user. The delay of this state is < 1s.
- **Real Device Access: List the tests of a device session**: Returns every test created on the session, oldest first. Every entry also carries two links: `self` points at the test on the jobs API (where the pass/fail result lives), and `uiViewUrl` opens the test details page in the Sauce Labs UI.
- **Real Device Access: Open a url (through browser) or a deeplink to an app**: Opens a URL or deeplink based on the URL scheme. iOS supports deeplinking; Android opens all URLs in Chrome.
- **Real Device Access: Pull a file from the device**: Retrieves a file from the device storage as a binary stream.
- **Real Device Access: Push a file to the device**: Uploads a file to the specified destination path on the device storage. **Format**: Multipart Form Data.
- **Real Device Access: Remove a file from the device**: Deletes a specific file from the device storage.
- **Real Device Access: Reset network conditions**: Removes all network throttling from the device session, restoring normal network connectivity. This resets conditions regardless of whether they were set via a predefined profile or custom conditions, since profiles are mapped to conditions internally.
- **Real Device Access: Set a predefined network profile**: Applies a predefined network profile (e.g. `2G`, `4G-fast`) to the device session. Profiles are mapped to network conditions internally—the resolved conditions are returned in the response. Use `DELETE /sessions/{sessionId}/network/condition` to reset.
- **Real Device Access: Set custom network conditions**: Applies custom network conditions to the device session. Only specified parameters will be conditioned. The applied network conditions are returned in the response.
- **Real Device Access: Start an Appium server that runs next to the device.**: Starts a hosted Appium server co-located with the device. Once started, the response includes the Appium server URL that you can use with any Appium client. Optionally specify an Appium version — use listAppiumVersions to see available versions. If omitted, the platform default version is used.
- **Real Device Access: Start a test on a device session**: Starts a new test on the session. From this point on we start recording what happens on the device. This lets you mark the start of a test that you are executing on the device. Afterwards you define whether the test passed or failed, and you review it on the Test Results page in the Sauce Labs UI, j
- **Real Device Access: Start network traffic capture**: Initiates system-wide network traffic capture for the device session.
- **Real Device Access: Stop network traffic capture**: Stops the ongoing system-wide network traffic capture for the device session. Returns HTTP 204.
- **Real Device Access: Take a screenshot from device**: Takes a screenshot from the device and returns a PNG representation.
- **Real Device Access: Uninstall an app currently installed on the device**: Removes an installed app from the device. Requires either a bundleId for iOS or a packageName for Android, but not both. The request body must contain exactly one of these identifiers.
- **Remove Admin Rights from User**: Assigns the `member` role to the user. If the user is currently assigned any Admin rights, this call removes those rights.
- **Reset Access Keys for Entire Team**: Globally regenerates new access key values for every member of the specified team.:::warning Regenerating an access key invalidates the previous value and any tests containing the prior value will fail, so make sure you edit any tests and credential environment variables with the new value.:::
- **Reset a User's Access Key**: Creates a new auto-generated access key for the specified user.:::warning Regenerating an access key invalidates the previous value and any tests containing the prior value will fail, so make sure you update any tests and credential environment variables with the new value.:::
- **Reset Service Account Access Key**: Resets the access key for the specified service account. A new access key is generated and returned in the response.:::warning Regenerating an access key invalidates the previous key. Any tests or configurations using the previous key will fail, so make sure to update all tests and credential enviro
- **Set a New Baseline Point**: Resets the point from which the baseline for the specified job is calculated. Any tests prior to the reset point are ignored.
- **Share an App Storage Group**: Grants team access to a storage group. This endpoint allows organization administrators to share an app group with one or more teams in the organization.:::note Only organization administrators can share groups. Team administrators and regular users do not have permission to share groups.:::
- **Start a XCTest, XCUITest or Espresso Job**: Start a XCTest.
- **Stop a Job (Real Devices)**: Stops a running job described by the `job_id`.:::note This API can be used to stop actively running Appium, Espresso and XCUITest jobs.:::
- **Stop a Job (Virtual Devices)**: Stop a specific job.
- **Stop a Tunnel**: Shuts down the specified tunnel.
- **Teams Concurrency**: Return information about concurrency usage for teams: maximum, minimum concurrency for given granularity (monthly, weekly, daily, hourly), current limits. Concurrency data is broken down by resource types for: Virtual Cloud: virtual machines, mac virtual machines, mac arm virtual machines, total vir
- **Teams Visual Snapshot Usage**: Return information about visual snapshot usage for teams: visual snapshot usage by daily granularity
- **Update a Job (Real Devices)**: Edit job attributes based on parameters passed in the request, including setting the status and name of the job. Any parameter for which a new value is provided in the request will replace the existing value. For example, if you provide a set of tags, they will not be added to the current tags; they
- **Update a Job (Virtual Devices)**: Edit job attributes based on parameters passed in the request, including setting the status and name of the job. Any parameter for which a new value is provided in the request will replace the existing value. For example, if you provide a set of tags, they will not be added to the current tags; they
- **Update a Service Account**: Updates the details of an existing service account. You can only update the **name** field, which is a user-friendly, editable display name. The username remains immutable.
- **Update a Team**: Replaces all values of the specified team with the new set of parameters passed in the request. To update only certain parameters, see [Partially Update Team](#partially-update-a-team).
- **Update a User**: Replaces all values of the specified user profile with the new set of parameters passed in the request. To update only certain parameters, see [Partially Update a User](#partially-update-a-user).
- **Update Device Settings**: Update device settings to allow apps, system apps, and accounts to persist between sessions. Check out the [available device settings](/basics/acct-team-mgmt/private-device-mgmt/#app-allow-list) for more information on each setting. The old values will be replaced with the new ones.
- **Upload File to App Storage**: Uploads an app file to Sauce Storage for the purpose of mobile app testing or generic files to be used as [Pre-Run Executables](/web-apps/automated-testing/selenium/pre-run-executables/) and returns a unique file ID assigned to the uploaded file. Sauce Storage supports mobile app packages in \*.apk,

Connect Sauce Labs in General Input: https://www.generalinput.com/apps/sauce-labs