> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hopx.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Sandboxes

> Complete guide to creating, managing, and working with HopX sandboxes - isolated cloud environments for code execution. Learn how to create sandboxes from templates, list and filter existing sandboxes, connect to sandboxes, manage state, and configure timeouts using Python and JavaScript SDKs or REST API.

Sandboxes are isolated, ephemeral cloud environments where your code runs. This hub provides a complete overview of sandbox lifecycle management, from creation to cleanup.

## Related

* [CLI Sandbox Commands](/cli/commands/sandbox) - Manage sandboxes from CLI

## What You'll Learn

* How to create sandboxes from templates
* How to list and filter existing sandboxes
* How to connect to sandboxes and manage their state
* How to configure timeouts and lifecycle management
* SDK and API methods for sandbox operations

## Sandbox Lifecycle Overview

| Operation                                                     | SDK Method                                    | API Endpoint                     |
| ------------------------------------------------------------- | --------------------------------------------- | -------------------------------- |
| **[Creating](/core-concepts/sandboxes/creating)**             | `Sandbox.create()`                            | `POST /v1/sandboxes`             |
| **[Listing](/core-concepts/sandboxes/listing)**               | `Sandbox.list()` / `Sandbox.iter()`           | `GET /v1/sandboxes`              |
| **[Connecting](/core-concepts/sandboxes/connecting)**         | `Sandbox.connect()`                           | `GET /v1/sandboxes/:id`          |
| **[Managing State](/core-concepts/sandboxes/managing-state)** | `start()` / `stop()` / `pause()` / `resume()` | `POST /v1/sandboxes/:id/:action` |
| **[Timeout](/core-concepts/sandboxes/timeout)**               | `set_timeout()`                               | `PUT /v1/sandboxes/:id/timeout`  |

## Core Concepts

### Creating Sandboxes

Learn how to create new sandboxes from templates with custom configuration.

* **[Creating Sandboxes](/core-concepts/sandboxes/creating)** - Create new sandboxes from templates
* **SDK**: [Python: Sandbox.create()](/sdk/python/sandbox#create) | [JavaScript: Sandbox.create()](/sdk/javascript/sandbox#create)
* **API**: [POST /v1/sandboxes](/api/control-plane/create-sandbox)

### Listing Sandboxes

Discover how to list, filter, and iterate through existing sandboxes.

* **[Listing Sandboxes](/core-concepts/sandboxes/listing)** - List and filter sandboxes
* **SDK**: [Python: Sandbox.list()](/sdk/python/sandbox#list) | [Python: Sandbox.iter()](/sdk/python/sandbox#iter) | [JavaScript: Sandbox.list()](/sdk/javascript/sandbox#list)
* **API**: [GET /v1/sandboxes](/api/control-plane/list-sandboxes)

### Connecting to Sandboxes

Connect to existing sandboxes by ID or from previous sessions.

* **[Connecting to Sandboxes](/core-concepts/sandboxes/connecting)** - Connect to existing sandboxes
* **SDK**: [Python: Sandbox.connect()](/sdk/python/sandbox#connect) | [JavaScript: Sandbox.connect()](/sdk/javascript/sandbox#connect)
* **API**: [GET /v1/sandboxes/:id](/api/control-plane/get-sandbox)

### Managing Sandbox State

Control sandbox lifecycle: start, stop, pause, and resume operations.

* **[Managing Sandbox State](/core-concepts/sandboxes/managing-state)** - Control sandbox lifecycle
* **SDK**: [Python: start/stop/pause/resume](/sdk/python/sandbox#start) | [JavaScript: start/stop/pause/resume](/sdk/javascript/sandbox#start)
* **API**: [POST /v1/sandboxes/:id/start](/api/control-plane/start-sandbox) | [POST /v1/sandboxes/:id/stop](/api/control-plane/stop-sandbox) | [POST /v1/sandboxes/:id/pause](/api/control-plane/pause-sandbox) | [POST /v1/sandboxes/:id/resume](/api/control-plane/resume-sandbox)

### Timeout Management

Configure and manage sandbox auto-shutdown timers.

* **[Timeout Management](/core-concepts/sandboxes/timeout)** - Set and extend sandbox timeouts
* **SDK**: [Python: set\_timeout()](/sdk/python/sandbox#set_timeout) | [JavaScript: setTimeout()](/sdk/javascript/sandbox#settimeout)
* **API**: [PUT /v1/sandboxes/:id/timeout](/api/control-plane/set-timeout)

## SDK Reference

### Python SDK

Complete reference for Python sandbox operations.

* **[Sandbox Class](/sdk/python/sandbox)** - Complete Python SDK reference
* **[AsyncSandbox Class](/sdk/python/async-sandbox)** - Async/await support

### JavaScript SDK

Complete reference for JavaScript/TypeScript sandbox operations.

* **[Sandbox Class](/sdk/javascript/sandbox)** - Complete JavaScript SDK reference

## API Reference

### Control Plane API

REST API endpoints for sandbox lifecycle management.

* **[Control Plane API Overview](/api/control-plane/overview)** - API overview
* **[Create Sandbox](/api/control-plane/create-sandbox)** - `POST /v1/sandboxes`
* **[Get Sandbox](/api/control-plane/get-sandbox)** - `GET /v1/sandboxes/:id`
* **[List Sandboxes](/api/control-plane/list-sandboxes)** - `GET /v1/sandboxes`
* **[Delete Sandbox](/api/control-plane/delete-sandbox)** - `DELETE /v1/sandboxes/:id`
* **[Pause Sandbox](/api/control-plane/pause-sandbox)** - `POST /v1/sandboxes/:id/pause`
* **[Resume Sandbox](/api/control-plane/resume-sandbox)** - `POST /v1/sandboxes/:id/resume`
* **[Set Timeout](/api/control-plane/set-timeout)** - `PUT /v1/sandboxes/:id/timeout`

## Quick Start

If you're new to sandboxes, start here:

1. **[Quickstart Guide](/quickstart)** - Get started in 5 minutes
2. **[Creating Sandboxes](/core-concepts/sandboxes/creating)** - Create your first sandbox
3. **[Listing Sandboxes](/core-concepts/sandboxes/listing)** - Find existing sandboxes
4. **[Managing State](/core-concepts/sandboxes/managing-state)** - Control sandbox lifecycle

## Related Topics

* **[Templates](/core-concepts/templates/listing)** - Learn about sandbox templates
* **[Code Execution](/core-concepts/code-execution/synchronous)** - Execute code in sandboxes
* **[File Operations](/core-concepts/filesystem/reading)** - Work with files in sandboxes
* **[Environment Variables](/core-concepts/environment/getting)** - Manage environment variables

## Next Steps

* Explore [Code Execution](/core-concepts/code-execution/synchronous) to run code in sandboxes
* Learn about [File Operations](/core-concepts/filesystem/reading) for working with files
* Understand [Template Management](/core-concepts/templates/listing) for custom environments
* Review [Observability](/core-concepts/observability/metrics) for monitoring sandboxes
