canonical: https://jentic.com/apis/saucelabs.com/saucelabs

# Sauce Labs API

Sauce Labs provides a comprehensive cloud-based platform for automated testing of web and mobile applications. This API allows you to manage test jobs, builds, accounts, Sauce Connect tunnels, app storage, platform information, test insights, and real devices. The API exposes 79 endpoints secured with basic authentication.

## For AI agents

Programmatically get jobs for a user, get job details. Covers 79 operations with basic authentication.

## Scope

Does not handle payments, communications, or crm - use for storage and databases only.

## Capabilities

- Get jobs for a user
- Update a job
- Delete a job
- Stop a running job
- List job assets

## Use cases

### Storage and Databases Operations

Use the Sauce Labs API to perform storage operations programmatically. The API provides 79 endpoints covering core functionality including get jobs for a user, get job details, update a job.

Example prompt: Call GET `/rest/v1/{username}/jobs` to get jobs for a user

### Automated Jobs Management

Automate jobs operations by combining multiple Sauce Labs API endpoints. Agents can get job details and then update a job in a single workflow.

Example prompt: Call GET `/rest/v1/{username}/jobs/{job_id}` to get job details, then verify the result

### AI Agent Integration via Jentic

AI agents discover and call Sauce Labs API endpoints through Jentic without managing credentials directly. An agent searches for the required operation by intent, receives the matching endpoint schema, and executes the call with Jentic-managed authentication. This eliminates the need to read API documentation or handle basic tokens manually.

Example prompt: Search Jentic for 'get jobs for a user', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/rest/v1/{username}/jobs` | Get jobs for a user |
| GET | `/rest/v1/{username}/jobs/{job_id}` | Get job details |
| PUT | `/rest/v1/{username}/jobs/{job_id}` | Update a job |
| DELETE | `/rest/v1/{username}/jobs/{job_id}` | Delete a job |
| PUT | `/rest/v1/{username}/jobs/{job_id}/stop` | Stop a running job |
| GET | `/rest/v1/{username}/jobs/{job_id}/assets` | List job assets |
| DELETE | `/rest/v1/{username}/jobs/{job_id}/assets` | Delete job assets |
| GET | `/rest/v1/{username}/jobs/{job_id}/assets/{file_name}` | Download a job asset file |

## Key resources

- **Jobs** — Manage test jobs, job assets, and job lifecycle
- **Builds** — Manage builds and lookup build-job associations
- **Accounts** — Manage teams, users, and service accounts
- **SauceConnect** — Manage Sauce Connect proxy tunnels
- **Storage** — Upload, manage, and download app files

## Why Jentic

- **Setup:** Wiring the Sauce Labs API by hand means encoding your username and access key for basic auth, choosing the right us-west-1, us-east-4, or eu-central-1 host, and managing job and asset ids yourself. Through Jentic you install once, import the Sauce Labs API from the API Directory, store the basic credentials once, and your agent calls it.
- **Permission scoping:** Sauce Labs puts the username and job id in the URL path (`/rest/v1/{username}/jobs/{job_id}`), so a rule can pin your agent to one job. You choose the operations it may call, so a destructive one like deleting a job or its assets is not included unless you add it.
- **Credential handling:** Your Sauce Labs username and access key are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list jobs for a user' or 'download a job asset', and Jentic returns the matching Sauce Labs API operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Dropbox** — Alternative storage API
- **Box** — Alternative storage API
- **Amazonaws** — Complementary storage API

## FAQ

### What authentication does the Sauce Labs API use?

The Sauce Labs API uses HTTP Basic authentication with username and password. Through Jentic, these credentials are stored encrypted in your Jentic One instance and injected at execution time, so raw secrets never enter the agent context.

### Can I get jobs for a user with the Sauce Labs API?

Yes. Use the GET `/rest/v1/{username}/jobs` endpoint. The API returns structured JSON responses that agents can parse and act on directly.

### What are the rate limits for the Sauce Labs API?

Rate limits are not specified in the OpenAPI spec. Check the vendor documentation for current limits. Through Jentic, rate limiting is handled automatically with retry logic built into the execution layer.

### How do I get jobs for a user through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'get jobs for a user'. Jentic returns the matching Sauce Labs API operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

### How many endpoints does the Sauce Labs API have?

The Sauce Labs API exposes 79 endpoints covering jobs, builds, accounts operations.

### Can I limit what my agent is allowed to do with the Sauce Labs API?

Yes. Because you run Jentic One yourself, your own rules decide which Sauce Labs operations and credentials the agent may use. Since the username and job id sit in the URL path, such as `/rest/v1/{username}/jobs/{job_id}`, you can pin the agent to a single job and allow only read operations like getting jobs for a user or listing job assets. A destructive call such as deleting a job or its assets stays out of reach unless you explicitly add it.
