# Sauce Labs

> Sauce Labs through One

- Skill: `withoneai/sauce-labs` (Agent Skill)
- Install (CLI): `npx skillmds@latest add withoneai/sauce-labs`
- Raw SKILL.md: https://api.skillmd.com/api/skills/withoneai/sauce-labs/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: withoneai (https://skillmd.com/u/withoneai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/withoneai/sauce-labs

---


# Sauce Labs through One

Sauce Labs is a cloud-based testing platform that provides browser, mobile, and API test automation infrastructure, allowing development and QA teams to run cross-browser and cross-device tests, monitor application quality, and integrate testing into CI/CD workflows.

One exposes Sauce Labs through four MCP tools. The table below carries real action ids from One's knowledge base, so for a common operation you can skip search and go straight to reading the action's parameters.

## How to run an action

1. Find the action in the table below, or call `search_one_platform_actions` with platform `sauce-labs` if it is not listed.
2. Call `get_one_action_knowledge` with the action id. Do this every time, including for actions in this table. The table gives you the id, not the parameters.
3. Call `execute_one_action` with parameters copied from that knowledge.

Never guess a parameter name, a body field, or an enum value. The knowledge has the real schema, and a guessed field is either a 400 or a silent write of the wrong thing.

## Before you start

Call `list_one_integrations` once and confirm Sauce Labs is connected. If it is missing, the user has not connected it: say so and point them at https://app.withone.ai rather than reaching for raw HTTP.

Each connection carries an `access` field. If it reports `{"policy": "methods", "methods": ["GET"]}` the agent is read-only here, so plan a read-only answer instead of attempting a write that will be refused.

## Before a write

Creates, updates, deletes and sends land on a real Sauce Labs account and cannot be recalled. State the action and the specific target in one line before the first write in a task, and let the user stop you. Reads need no confirmation.

## Actions

### Users

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a User | GET | `/team-management/v1/users/{{uuid}}/` | `conn_mod_def::GMXu9o2QCHA::gSHD2THtQtC3yvttUCH3KA` |
| Get a User in Sauce Labs | GET | `/rest/v1/users/{{username}}` | `conn_mod_def::GMXu9PMH9rA::dI_w39h7RwGcePNgW0lpwA` |
| Get a User's Concurrency | GET | `/rest/v1.2/users/{{username}}/concurrency` | `conn_mod_def::GMXu9OkS89A::t1uh4EC5RDaBUOWM5ZSsag` |
| Get a User's Organization Information | GET | `/rest/v1.1/users/{{username}}/organization` | `conn_mod_def::GMXu9TXDAIA::6BdNhICNT-aUf-FzmdQSdw` |
| Get the Signed-in User Profile | GET | `/team-management/v1/users/me/` | `conn_mod_def::GMXu9nsG7lg::DtstZBKqTlyir3-GezEp8A` |
| Get the Signed-in User's Access Key | GET | `/team-management/v1/users/me/access-key/` | `conn_mod_def::GMXu9gu1QBg::Wfs1swPSSniF0m7_uBCqyQ` |
| List Users | GET | `/team-management/v1/users/` | `conn_mod_def::GMXu9hiSldg::dfgxtKs_TkG4Z6UNlQRavw` |
| Read a User's Access Key | GET | `/team-management/v1/users/{{uuid}}/access-key/` | `conn_mod_def::GMXu9ZeJPrA::4gX_mYl1TDWTGZgUFw6Y8A` |
| Activate a User | POST | `/team-management/v1/users/{{uuid}}/activate/` | `conn_mod_def::GMXu9ZdlDRA::L29CPj8QTzWQbewIhAhfEg` |
| Create a User | POST | `/team-management/v1/users/` | `conn_mod_def::GMXu9Zsvfqg::ouc0WSOGSHSNh9RoJmibnQ` |
| Deactivate a User | POST | `/team-management/v1/users/{{uuid}}/deactivate/` | `conn_mod_def::GMXu9f0-jXg::3hjga6WfTe-zM_dBKqTkhg` |
| Partially Update a User | PATCH | `/team-management/v1/users/{{uuid}}/` | `conn_mod_def::GMXu9nshDdg::NuoapgZ0Tu2BQbnYlMGaZg` |

12 more Users actions are available through search.

### Teams

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Team | GET | `/team-management/v1/teams/{{uuid}}/` | `conn_mod_def::GMXu85Ubt7g::fIzTCMuDSw282Is5UyPV8g` |
| List a User's Teams | GET | `/team-management/v1/users/{{uuid}}/teams/` | `conn_mod_def::GMXu93WB00g::w21R3H-8TrOWq4bAkUIsMQ` |
| List Admin Teams | GET | `/team-management/v1/admin/teams/` | `conn_mod_def::GMXu5mYGUyg::dmoDuvE7Qv66zULggZKrnQ` |
| List an Organization's Teams | GET | `/team-management/v1/organizations/{{uuid}}/teams/` | `conn_mod_def::GMXu8lCRB8A::VbkWAQDLSqKAgcyjcSb0XQ` |
| List Teams | GET | `/team-management/v1/teams/` | `conn_mod_def::GMXu86RXXFA::8ZaYvFIwQ-OogZATzz1H9g` |
| List Teams for an Admin Organization | GET | `/team-management/v1/admin/organizations/{{uuid}}/teams/` | `conn_mod_def::GMXu5lwUiIA::wu1Ix2q3TNygpi9nGQ6ahQ` |
| Create a Team | POST | `/team-management/v1/teams/` | `conn_mod_def::GMXu8zRAL3g::PKxD-7KLQAuzXYpmeaQtMg` |
| Create an Admin Team | POST | `/team-management/v1/admin/teams/` | `conn_mod_def::GMXu5l-n5Ig::YpX65hWJQr6_VTtN7ull9w` |
| Delete a Team | DELETE | `/team-management/v1/teams/{{uuid}}/` | `conn_mod_def::GMXu8zGBfNg::RUqReAEkTkqcqBciJQfBcQ` |
| Partially Update a Team | PATCH | `/team-management/v1/teams/{{uuid}}/` | `conn_mod_def::GMXu8zLN3rA::iu7nzHs0SImpJdIBG6IujA` |
| Patch Teams | PATCH | `/team-management/v1/teams/` | `conn_mod_def::GMXu85YofGg::gdFBHw1QStei06DbeKjwfw` |
| Reset a Team's Access Key | POST | `/team-management/v1/admin/teams/{{uuid}}/reset-access-key/` | `conn_mod_def::GMXu5s81EUA::CPKhy2ElR3aFboNjQmVOfA` |

2 more Teams actions are available through search.

### AdminUsers

| Action | Method | Path | Action id |
|---|---|---|---|
| Get an Admin User | GET | `/team-management/v1/admin/users/{{uuid}}/` | `conn_mod_def::GMXu59PYXVA::0HCdPXrzQzGy_lE1ZBba3w` |
| List Admin Users | GET | `/team-management/v1/admin/users/` | `conn_mod_def::GMXu59gnQSg::slRAjuD0SFyFBUQ-a9gWAQ` |
| Activate an Admin User | POST | `/team-management/v1/admin/users/{{uuid}}/activate/` | `conn_mod_def::GMXu50ktS5g::LJXbyOoASGe-6HIEvQGf-g` |
| Change an Admin User's Organization | POST | `/team-management/v1/admin/users/{{uuid}}/change-organization/` | `conn_mod_def::GMXu50knEdg::MPa7tEgJQSa3Ga7DoKaF8w` |
| Create an Admin User | POST | `/team-management/v1/admin/users/` | `conn_mod_def::GMXu53Ectug::or2vOOoQRtSjOs4yerhCyA` |
| Deactivate an Admin User | POST | `/team-management/v1/admin/users/{{uuid}}/deactivate/` | `conn_mod_def::GMXu52QvMKA::VtshSaLzRwuFXvaOs8i6vA` |
| Partially Update an Admin User | PATCH | `/team-management/v1/admin/users/{{uuid}}/` | `conn_mod_def::GMXu6BABE1g::JAbwWyHYQHCGhzq_oaO53g` |
| Reset Access Key for an Admin User | POST | `/team-management/v1/admin/users/{{uuid}}/reset-access-key/` | `conn_mod_def::GMXu59xVqJg::aDruWzEyRZS6nhEpiRUCKg` |
| Reset Password for an Admin User | POST | `/team-management/v1/admin/users/{{uuid}}/reset-password/` | `conn_mod_def::GMXu59Ka-1A::KjnKBQIWSAepr0neXy-R8Q` |
| Update an Admin User | PUT | `/team-management/v1/admin/users/{{uuid}}/` | `conn_mod_def::GMXu6HXMCRg::RtTHjaOmS7GoKYsjPvnNGg` |
| Verify an Admin User's Email | POST | `/team-management/v1/admin/users/{{uuid}}/verify-email/` | `conn_mod_def::GMXu6TeiMog::tdSgrcuqT8eeO2_DzXguwA` |

### Groups

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Group | GET | `/team-management/v1/groups/{{uuid}}/` | `conn_mod_def::GMXu7a3CiSg::5St63N3IRCy5ne7sMuMACw` |
| List an Organization's Groups | GET | `/team-management/v1/organizations/{{uuid}}/groups/` | `conn_mod_def::GMXu8W_AYzA::lGI9DCdlS7S_hy7iGQ8YxA` |
| List Groups | GET | `/team-management/v1/groups/` | `conn_mod_def::GMXu7RWD-OA::vqw8w3BpTEKKZGhTrBFuUg` |
| Assign a Team to a Group | POST | `/team-management/v1/groups/{{uuid}}/teams/` | `conn_mod_def::GMXu7Lg59AA::oTltO3CSR9aySBdiJR6lQQ` |
| Create a Group | POST | `/team-management/v1/groups/` | `conn_mod_def::GMXu7JtqbzA::kB7c7OusSz2naqesOCBzMQ` |
| Delete a Line of Business by UUID | DELETE | `/team-management/v1/groups/{{uuid}}/` | `conn_mod_def::GMXu7S37uGg::XUHIpXMaSayIJeLQGWLRBg` |
| Partially Update a Group by UUID | PATCH | `/team-management/v1/groups/{{uuid}}/` | `conn_mod_def::GMXu7a3nIFg::nab5OEzYR4Cpm7wsDLiwow` |
| Partially Update Groups | PATCH | `/team-management/v1/groups/` | `conn_mod_def::GMXu7S4W2bg::kRpoEMF9TmiBvWO8fAssRg` |
| Remove a Team from a Group | DELETE | `/team-management/v1/groups/{{uuid}}/teams/{{teamUuid}}` | `conn_mod_def::GMXu7ZRe3xg::V7W0CmOnTPO-hTnLTs_WeQ` |
| Set Batch Concurrency for a Group | PATCH | `/team-management/v1/groups/{{uuid}}/set-batch-concurrency/` | `conn_mod_def::GMXu7a39Aeg::BqWjPTTVSXSER1RidngXrQ` |
| Update a Group | PUT | `/team-management/v1/groups/{{uuid}}/` | `conn_mod_def::GMXu7hrw2mg::uXjFtUI7T7u6suCGILiKag` |

### Organizations

| Action | Method | Path | Action id |
|---|---|---|---|
| Export Organization Members CSV for an Admin | GET | `/team-management/v1/admin/organizations/{{uuid}}/members-csv/` | `conn_mod_def::GMXu5RLr-fA::SN-goHwDTTaMj_jBAuTWLA` |
| Get an Organization by UUID | GET | `/team-management/v1/organizations/{{uuid}}/` | `conn_mod_def::GMXu8fFVzbg::lt525vpgRdmH0s8_toTfIA` |
| List Organizations | GET | `/team-management/v1/organizations/` | `conn_mod_def::GMXu8Yoywgg::p5YZBNvESPWBJy33FLxaKg` |
| List Organizations for an Admin | GET | `/team-management/v1/admin/organizations/` | `conn_mod_def::GMXu5R97jXA::3iasFy8ERbGSitHaK2jw1Q` |
| Create an Organization as an Admin | POST | `/team-management/v1/admin/organizations/` | `conn_mod_def::GMXu5KtQN-g::B_iHfuXgTpiohK8c6RJ2rQ` |
| Partial Update an Admin Organization | PATCH | `/team-management/v1/admin/organizations/{{uuid}}/` | `conn_mod_def::GMXu5SIuhCg::nfKE2F46Syu7ECBN7oezYQ` |
| Partially Update an Organization | PATCH | `/team-management/v1/organizations/{{uuid}}/` | `conn_mod_def::GMXu8etZgDA::YNzAHhebRTqgxCw3lSCKvg` |
| Reset an Organization Access Key | POST | `/team-management/v1/organizations/{{uuid}}/reset-access-key/` | `conn_mod_def::GMXu8e0YP2A::wLXwTdCITB6xSdJ8oGIFFw` |
| Update an Organization | PUT | `/team-management/v1/organizations/{{uuid}}/` | `conn_mod_def::GMXu8s21ukg::41avCYrWQd2E3bH6lg8Wdw` |
| Update an Organization as an Admin | PUT | `/team-management/v1/admin/organizations/{{uuid}}/` | `conn_mod_def::GMXu5mKRRPA::NZNhUUdEQI2ZkYm2J8Asyw` |

### Invitations

| Action | Method | Path | Action id |
|---|---|---|---|
| List Invitations | GET | `/team-management/v1/invitations/` | `conn_mod_def::GMXu7vmaNhA::1O1yJzXuQr6GJdwsVXp4oQ` |
| Read an Invitation by Token | GET | `/team-management/v1/invitations/{{token}}/` | `conn_mod_def::GMXu73mRB-A::sqqcU-q3RIKdx_X5kY6aOg` |
| Accept an Invitation | POST | `/team-management/v1/invitations/{{token}}/accept/` | `conn_mod_def::GMXu7ouk44A::dqO6LHkcQFu2_7ho3eQVWQ` |
| Create an Invitation | POST | `/team-management/v1/invitations/` | `conn_mod_def::GMXu7usDn2A::zGl6qkHuQ7SrhPchmOJQRw` |
| Decline an Invitation | POST | `/team-management/v1/invitations/{{token}}/decline/` | `conn_mod_def::GMXu7xVWM7g::9IojYUlKRTKsRqqn7mSt2w` |
| Delete an Invitation by Token | DELETE | `/team-management/v1/invitations/{{token}}/` | `conn_mod_def::GMXu7u_gLNg::Nt54uZ78QEWqTOvdPyc3CA` |
| Move an Invitation | POST | `/team-management/v1/invitations/{{token}}/move/` | `conn_mod_def::GMXu7vB1JZA::wX6q434wRnStfnlk3FMp4Q` |
| Renew an Invitation | POST | `/team-management/v1/invitations/{{token}}/renew/` | `conn_mod_def::GMXu74EU2-A::rzlRSAOyQSeegkUAVvczsg` |
| Revoke an Invitation by Token | POST | `/team-management/v1/invitations/{{token}}/revoke/` | `conn_mod_def::GMXu734Ah2A::RUs4vytxTEGiFiWR7APXnQ` |

### DeviceSessions

| Action | Method | Path | Action id |
|---|---|---|---|
| List Device Sessions | GET | `/rdc/v2/sessions` | `conn_mod_def::GMXu8zrmq2g::R-xvPymgRbGgXGv9_7m17w` |
| Create a Device Session | POST | `/rdc/v2/sessions` | `conn_mod_def::GMXu8s4Idfg::EdU7XDvyRlerFyVOBv7wug` |
| Execute Shell Command on a Device Session | POST | `/rdc/v2/sessions/{{sessionId}}/device/executeShellCommand` | `conn_mod_def::GMXu63VrS-g::JCinUlXdQKWodSXnU3tIOQ` |
| Install App for a Device Session | POST | `/rdc/v2/sessions/{{sessionId}}/device/installApp` | `conn_mod_def::GMXu64EKXRg::MP-OK7uqSa6U83t6GnR6kg` |
| Launch App on a Device Session | POST | `/rdc/v2/sessions/{{sessionId}}/device/launchApp` | `conn_mod_def::GMXu62M9gNA::hXGuPUZ2RVKcAO2y-pUkdA` |
| Push a File to a Device Session | POST | `/rdc/v2/sessions/{{sessionId}}/device/pushFile` | `conn_mod_def::GMXu6qHBgWg::YCbgZbiUQH6jULGVfhrIWw` |
| Reset Network Conditions for a Device Session | DELETE | `/rdc/v2/sessions/{{sessionId}}/network/condition` | `conn_mod_def::GMXu8NEbu1g::QI3J9fZxSGWJn6eq9nGBEg` |

### Jobs

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Job Information | GET | `/rest/v1.1/jobs/{{id}}` | `conn_mod_def::GMXu731OkMg::8cOYugvsTdiLVOeleDCBmg` |
| Get Job Information for a User | GET | `/rest/v1/{{username}}/jobs/{{id}}` | `conn_mod_def::GMXu7_o4XTA::2rsrIwVbRY-gZw6IoEIczg` |
| List a User's Jobs | GET | `/rest/v1.1/{{username}}/jobs` | `conn_mod_def::GMXu75-RKjg::IEzX4FK-TleJdtMbS72yVw` |
| List Jobs for a Build | GET | `/rest/v1/builds/{{id}}/jobs` | `conn_mod_def::GMXu6aBsoPA::udD8ATJFTReTIR8mJISCzw` |
| Stop Job Information for a User | PUT | `/rest/v1/{{username}}/jobs/{{id}}/stop` | `conn_mod_def::GMXu8ALN62g::6OK0hA7ITz-FZ_6huK9GkQ` |
| Update Job Information for a User | PUT | `/rest/v1/{{username}}/jobs/{{id}}` | `conn_mod_def::GMXu8AEzXdg::fpDmhfHlQ5S1ZnxB6g6NXA` |

### AdminTeams

| Action | Method | Path | Action id |
|---|---|---|---|
| Get an Admin Team by UUID | GET | `/team-management/v1/admin/teams/{{uuid}}/` | `conn_mod_def::GMXu5s8vHdA::ZDFE0gj7TTOqIbeZ7LQeaw` |
| Delete an Admin Team | DELETE | `/team-management/v1/admin/teams/{{uuid}}/` | `conn_mod_def::GMXu5mAQDJg::KQBYwgmFSNaZZHjYfLp3Gw` |
| Move Membership for Admin Teams | PATCH | `/team-management/v1/admin/teams/move_membership/` | `conn_mod_def::GMXu5s8T4Sg::BIoWQNaURpaipSNaWd2Ojw` |
| Partially Update an Admin Team | PATCH | `/team-management/v1/admin/teams/{{uuid}}/` | `conn_mod_def::GMXu5t7Jn5A::7b3uYiMmRyK1AawkhMx7yw` |
| Update an Admin Team | PUT | `/team-management/v1/admin/teams/{{uuid}}/` | `conn_mod_def::GMXu50ksjDA::MBG5kBM4TXmc4m11vT1MJQ` |

### Tunnels

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a User's Tunnel | GET | `/rest/v1/{{username}}/tunnels/{{id}}` | `conn_mod_def::GMXu9IUBlPA::6072NUIkRreLH413Xbnmkw` |
| List a User's Tunnels | GET | `/rest/v1/{{username}}/tunnels` | `conn_mod_def::GMXu9IeezUA::sU_uMAfVRaCzH_Sv_ghkpg` |
| List All Tunnels for a User | GET | `/rest/v1/{{username}}/all_tunnels` | `conn_mod_def::GMXu9CKhf_A::juw_sRWKTTyPYLM2mbWX_Q` |
| Delete a Tunnel for a User | DELETE | `/rest/v1/{{username}}/tunnels/{{id}}` | `conn_mod_def::GMXu9CIPG2A::CCeF8w8KTu6_cDXMEM5mow` |

### AdminInvitations

| Action | Method | Path | Action id |
|---|---|---|---|
| List Admin Invitations | GET | `/team-management/v1/admin/invitations/` | `conn_mod_def::GMXu5D7KX5A::fNF6AfE5RLaV3VNWEijhww` |
| Read an Admin Invitation | GET | `/team-management/v1/admin/invitations/{{token}}/` | `conn_mod_def::GMXu5Dgy43g::pvIjx47uQMiL0scpuLuzNw` |
| Create an Admin Invitation | POST | `/team-management/v1/admin/invitations/` | `conn_mod_def::GMXu5C-pLIA::7rwIzsUES4WFdC_dq26jYA` |

1 more AdminInvitations actions are available through search.

This lists 90 of 188 actions. For anything not here, call `search_one_platform_actions` with platform `sauce-labs`. The full catalog is at https://www.withone.ai/knowledge/sauce-labs.

## When a call fails

The error comes from Sauce Labs, not from One. A 400 or 422 means your parameters do not match the schema, so re-read the knowledge and fix the field. A 401 or 403 means the connection needs re-authorizing, which no retry will fix. A 404 means the id is not on this account. A 429 means slow down. Never retry a write more than once: the first attempt may have landed.

Full catalog: https://www.withone.ai/knowledge/sauce-labs

Integration knowledge by One (withone.ai), licensed under [One-Knowledge-1.0](https://www.withone.ai/licenses/knowledge). Attribution must be preserved in derivative works.

