# E2B Docs - [E2B Documentation](https://docs.e2b.dev/index.md) - [Running your first Sandbox](https://docs.e2b.dev/quickstart.md): This guide will show you how to start your first E2B Sandbox. - [Connect LLMs to E2B](https://docs.e2b.dev/quickstart/connect-llms.md) - [Upload & downloads files](https://docs.e2b.dev/quickstart/upload-download-files.md) - [Install custom packages](https://docs.e2b.dev/quickstart/install-custom-packages.md) - [API key](https://docs.e2b.dev/api-key.md) - [SDK client](https://docs.e2b.dev/client.md): Create a custom client with options - [Cookbook](https://docs.e2b.dev/cookbook.md) - [Need help?](https://docs.e2b.dev/support.md) - [Billing & limits](https://docs.e2b.dev/billing.md): E2B plans, limits, and usage-based pricing. Covers the Hobby, Pro, and Enterprise plan table (max continuous runtime, concurrent sandboxes, vCPU, memory, disk), API rate limits, and how per-second compute billing works. - [Sandbox lifecycle](https://docs.e2b.dev/sandbox.md): The sandbox lifecycle: create, connect to, pause, resume, and kill an isolated Linux VM for your agent, and control what happens when its timeout expires. - [Monitor sandbox lifecycle events](https://docs.e2b.dev/sandbox/lifecycle-events-api.md) - [Sandbox lifecycle webhooks](https://docs.e2b.dev/sandbox/lifecycle-events-webhooks.md) - [Sandbox persistence](https://docs.e2b.dev/sandbox/persistence.md): Pause a sandbox and resume it later from the exact state it was in, including the filesystem and the memory, so running processes and loaded variables survive. A paused sandbox is kept indefinitely with no automatic deletion. - [Sandbox snapshots](https://docs.e2b.dev/sandbox/snapshots.md): Create a persistent point-in-time capture of a running sandbox, including filesystem and memory, and spawn new sandboxes from that exact state. - [Sandbox forking](https://docs.e2b.dev/sandbox/fork.md): Snapshot a running sandbox and boot new sandboxes from that exact state in a single call. - [Auto-resume on request](https://docs.e2b.dev/sandbox/auto-resume.md): Manage sandbox lifecycle and auto-resume on activity. - [Filesystem-only snapshots](https://docs.e2b.dev/sandbox/filesystem-only-snapshots.md): Persist only the sandbox filesystem for a lighter snapshot that reboots on resume. - [Reboot on resume](https://docs.e2b.dev/sandbox/resume-without-memory.md): Resume a paused sandbox from its disk state alone, ignoring the memory in its snapshot. - [Git integration](https://docs.e2b.dev/sandbox/git-integration.md): The sandbox.git module is deprecated. Run git through sandbox.commands.run() instead. - [Sandbox metrics](https://docs.e2b.dev/sandbox/metrics.md) - [OTel telemetry export](https://docs.e2b.dev/sandbox/otel-telemetry-export.md) - [Sandbox metadata](https://docs.e2b.dev/sandbox/metadata.md) - [Environment variables](https://docs.e2b.dev/sandbox/environment-variables.md) - [List sandboxes](https://docs.e2b.dev/sandbox/list.md) - [Connect to running sandbox](https://docs.e2b.dev/sandbox/connect.md) - [Interactive terminal (PTY)](https://docs.e2b.dev/sandbox/pty.md) - [SSH access](https://docs.e2b.dev/sandbox/ssh-access.md): Connect to your sandbox via SSH using a WebSocket proxy - [Secured access](https://docs.e2b.dev/sandbox/secured-access.md) - [Quickstart](https://docs.e2b.dev/template/quickstart.md): Start with custom sandbox templates - [How it works](https://docs.e2b.dev/template/how-it-works.md): How the template building process works - [User and workdir](https://docs.e2b.dev/template/user-and-workdir.md): Default user and working directory in the sandbox and template - [Caching](https://docs.e2b.dev/template/caching.md): How the caching process works - [Base image](https://docs.e2b.dev/template/base-image.md): How to define a base image for your template - [Private registries](https://docs.e2b.dev/template/private-registries.md): Access private registries as the base image - [Defining template](https://docs.e2b.dev/template/defining-template.md): How to create your own template - [Start & ready commands](https://docs.e2b.dev/template/start-ready-command.md): Define running processes for the sandbox - [Build](https://docs.e2b.dev/template/build.md): How to build the template - [Template names](https://docs.e2b.dev/template/names.md): Understanding and managing template names - [Template tags & versioning](https://docs.e2b.dev/template/tags.md): Use tags to version your templates and manage environment-based deployments - [Logging](https://docs.e2b.dev/template/logging.md): How to view logs from the template build - [Error handling](https://docs.e2b.dev/template/error-handling.md): Handle errors in your template - [Next.js app](https://docs.e2b.dev/template/examples/nextjs.md): Next.js web app running in the sandbox using Node.js - [Next.js app (Bun)](https://docs.e2b.dev/template/examples/nextjs-bun.md): Next.js web app running in the sandbox using Bun - [Expo app](https://docs.e2b.dev/template/examples/expo.md): Expo web app running in the sandbox using Node.js - [Desktop](https://docs.e2b.dev/template/examples/desktop.md): Sandbox with Ubuntu Desktop and VNC access - [Claude Code](https://docs.e2b.dev/template/examples/claude-code.md): Claude Code Agent available in a sandbox - [Docker](https://docs.e2b.dev/template/examples/docker.md): Sandbox with Docker or Docker Compose installed for running containers - [Overview](https://docs.e2b.dev/filesystem.md) - [Read & write files](https://docs.e2b.dev/filesystem/read-write.md) - [Get information about a file or directory](https://docs.e2b.dev/filesystem/info.md) - [Attach custom metadata to files](https://docs.e2b.dev/filesystem/metadata.md): Attach custom key-value metadata to files when writing them to the sandbox and read it back with file info methods. - [Watch sandbox directory for changes](https://docs.e2b.dev/filesystem/watch.md) - [Upload data to sandbox](https://docs.e2b.dev/filesystem/upload.md) - [Download data from sandbox](https://docs.e2b.dev/filesystem/download.md) - [Overview](https://docs.e2b.dev/volumes.md): Persistent storage that exists independently of sandboxes and can be mounted across multiple sandboxes. - [Managing volumes](https://docs.e2b.dev/volumes/manage.md): Create, connect to, list, inspect, and destroy volumes with the E2B SDK. - [Mounting volumes](https://docs.e2b.dev/volumes/mount.md): Mount one or more volumes to a sandbox at custom paths when creating it. - [Read & write files](https://docs.e2b.dev/volumes/read-write.md): Read, write, list, and remove files and directories in a volume with the SDK. - [Get information about a file or directory](https://docs.e2b.dev/volumes/info.md): Get metadata, check existence, and update permissions for files and directories in a volume. - [Upload data to volume](https://docs.e2b.dev/volumes/upload.md): Upload single files or entire directories from your local filesystem to a volume. - [Download data from volume](https://docs.e2b.dev/volumes/download.md): Download files from a volume to your local filesystem with the E2B SDK. - [Migrating data between volumes](https://docs.e2b.dev/volumes/migrate.md): Copy all data from one E2B volume to another by mounting both into a sandbox and using rsync. - [Cloud buckets](https://docs.e2b.dev/storage/cloud-buckets.md) - [Archil](https://docs.e2b.dev/storage/archil.md): Mount Archil's elastic POSIX file system in your E2B sandbox for high-performance, shared access to S3, R2, and GCS object storage. - [Internet access](https://docs.e2b.dev/network/internet-access.md): Every sandbox has outbound internet access by default. Control and restrict it with a simple on/off switch or fine-grained allow and deny lists. - [Sandbox public URL](https://docs.e2b.dev/network/public-url.md) - [Restricting public access](https://docs.e2b.dev/network/restrict-public-access.md) - [Proxy tunneling](https://docs.e2b.dev/network/ip-tunneling.md): How to tunnel Sandbox network traffic through a proxy server - [Bring your own proxy (BYOP)](https://docs.e2b.dev/network/byop.md): Route outbound sandbox traffic through a SOCKS5 proxy you run - [Custom domain](https://docs.e2b.dev/network/custom-domain.md) - [Overview](https://docs.e2b.dev/secrets.md): Store secrets with E2B and inject them into outbound HTTPS requests outside the sandbox. - [Create a secret](https://docs.e2b.dev/secrets/create.md): Store a credential with E2B and reference it by a name you choose. - [Injecting secrets into requests](https://docs.e2b.dev/secrets/inject.md): Reference a stored secret in a network rule so the egress proxy adds it to matching outbound requests. - [Rotating secrets](https://docs.e2b.dev/secrets/rotate.md): Store a new value for a secret and have running sandboxes pick it up on their next request. - [Deleting secrets](https://docs.e2b.dev/secrets/delete.md): Revoke a stored secret and understand what happens to sandboxes that reference it. - [Listing secrets](https://docs.e2b.dev/secrets/list.md): Read one secret's metadata, check whether a name is stored, or page through the project's secrets. No read surface returns a value. - [Limits](https://docs.e2b.dev/secrets/limits.md): Size, count, and pagination limits that apply to stored secrets. - [Workload identity](https://docs.e2b.dev/iam/workload-identity.md): Give sandbox workloads short-lived identity tokens instead of long-lived secrets. - [Running commands in sandbox](https://docs.e2b.dev/commands.md) - [Streaming command output](https://docs.e2b.dev/commands/streaming.md) - [Running commands in background](https://docs.e2b.dev/commands/background.md) - [E2B CLI](https://docs.e2b.dev/cli.md) - [Authentication in CLI](https://docs.e2b.dev/cli/auth.md) - [List sandboxes](https://docs.e2b.dev/cli/list-sandboxes.md) - [Create sandbox](https://docs.e2b.dev/cli/create-sandbox.md) - [Connect to sandbox](https://docs.e2b.dev/cli/connect-to-sandbox.md) - [Fork sandbox](https://docs.e2b.dev/cli/fork-sandbox.md) - [Execute commands in sandbox](https://docs.e2b.dev/cli/exec-command.md) - [Shutdown running sandboxes](https://docs.e2b.dev/cli/shutdown-sandboxes.md) - [Manage snapshots](https://docs.e2b.dev/cli/manage-snapshots.md) - [Coding Agents](https://docs.e2b.dev/use-cases/coding-agents.md): Run AI coding agents like Claude Code, Codex, and Amp in secure E2B sandboxes with full terminal, filesystem, and git access. - [Computer use](https://docs.e2b.dev/use-cases/computer-use.md): Build AI agents that see, understand, and control virtual Linux desktops using E2B Desktop sandboxes. - [GitHub Actions CI/CD](https://docs.e2b.dev/use-cases/ci-cd.md): Run AI-powered code review, testing, and validation in secure E2B sandboxes from your GitHub Actions workflows. - [Run Kubernetes with k3s](https://docs.e2b.dev/use-cases/k3s.md): Create a disposable Kubernetes cluster for agents, CI, previews, and integration testing. - [Run Android](https://docs.e2b.dev/use-cases/android.md): Start an Android 16 system in an E2B sandbox and drive it with adb for app testing and mobile agents. - [Cloud browser](https://docs.e2b.dev/use-cases/remote-browser.md): Use Kernel cloud browsers with E2B sandboxes to give your agents access to the internet. - [Analyze data with AI](https://docs.e2b.dev/code-interpreting/analyze-data-with-ai.md) - [Pre-installed libraries](https://docs.e2b.dev/code-interpreting/analyze-data-with-ai/pre-installed-libraries.md) - [Create charts & visualizations](https://docs.e2b.dev/code-interpreting/create-charts-visualizations.md) - [Static charts](https://docs.e2b.dev/code-interpreting/create-charts-visualizations/static-charts.md) - [Interactive charts](https://docs.e2b.dev/code-interpreting/create-charts-visualizations/interactive-charts.md) - [Streaming](https://docs.e2b.dev/code-interpreting/streaming.md) - [Code contexts](https://docs.e2b.dev/code-interpreting/contexts.md) - [Customize the template](https://docs.e2b.dev/code-interpreting/customize-template.md): Extend the Code Interpreter sandbox or build the production template from source - [Supported languages](https://docs.e2b.dev/code-interpreting/supported-languages.md) - [Run Python code](https://docs.e2b.dev/code-interpreting/supported-languages/python.md) - [Run JavaScript and TypeScript code](https://docs.e2b.dev/code-interpreting/supported-languages/javascript.md) - [Run R code](https://docs.e2b.dev/code-interpreting/supported-languages/r.md) - [Run Java code](https://docs.e2b.dev/code-interpreting/supported-languages/java.md) - [Run bash code](https://docs.e2b.dev/code-interpreting/supported-languages/bash.md) - [Amp](https://docs.e2b.dev/agents/amp.md): Run Amp in a secure E2B sandbox with full filesystem, terminal, and git access. - [Claude Code](https://docs.e2b.dev/agents/claude-code.md): Run Claude Code in a secure E2B sandbox with full filesystem, terminal, and git access. - [Claude Managed Agents](https://docs.e2b.dev/agents/claude-managed-agents.md): Use E2B as the sandbox runtime for Claude Managed Agents self-hosted environments. - [Codex](https://docs.e2b.dev/agents/codex.md): Run OpenAI Codex in a secure E2B sandbox with full filesystem, terminal, and git access. - [Cursor](https://docs.e2b.dev/agents/cursor.md): Run Cursor Self-Hosted Machines in isolated E2B sandboxes. - [Hermes Agent](https://docs.e2b.dev/agents/hermes.md): Run Hermes Agent in a secure E2B sandbox with persistent sessions, memory, and self-improving skills. - [Crabbox with E2B](https://docs.e2b.dev/agents/crabbox.md): Run Crabbox test and execution workflows on E2B sandboxes. - [Devin](https://docs.e2b.dev/agents/devin.md): Run Devin for Terminal in a secure E2B sandbox. - [Devin Outposts](https://docs.e2b.dev/agents/devin-outposts.md): Run Devin sessions in isolated E2B sandboxes. - [Droid](https://docs.e2b.dev/agents/droid.md): Run Factory's Droid in a secure E2B sandbox with full filesystem, terminal, and git access. - [Grok Build](https://docs.e2b.dev/agents/grok.md): Run Grok Build in a secure E2B sandbox with full filesystem, terminal, and git access. - [Muse Code](https://docs.e2b.dev/agents/muse.md): Run Muse Code in a secure E2B sandbox with full filesystem, terminal, and git access. - [Pi](https://docs.e2b.dev/agents/pi.md): Run Pi in a secure E2B sandbox with full filesystem, terminal, and git access. - [Prime Agent](https://docs.e2b.dev/agents/prime.md): Run Prime Agent in a secure E2B sandbox with full filesystem, terminal, and git access. - [LangChain Deep Agents](https://docs.e2b.dev/agents/deep-agents.md): Use E2B sandboxes as the execution backend for LangChain Deep Agents. - [LangChain Open SWE](https://docs.e2b.dev/agents/open-swe.md): Use E2B sandboxes as the execution environment for Open SWE, LangChain's open-source coding agent framework. - [Vercel Eve](https://docs.e2b.dev/agents/eve.md): Run Vercel Eve agent sandboxes on E2B with the @e2b/eve-sandbox backend. - [Flue](https://docs.e2b.dev/agents/flue.md): Give a Flue agent an E2B sandbox with the flue add sandbox e2b blueprint adapter. - [Google ADK](https://docs.e2b.dev/agents/google-adk.md): Give Google ADK agents a secure E2B sandbox to run code, commands, and files in. - [Agno](https://docs.e2b.dev/agents/agno.md): Run Agno agents with E2B's secure Python sandbox. - [Mastra](https://docs.e2b.dev/agents/mastra.md): Build a Mastra coding agent with secure E2B sandboxes. - [CrewAI](https://docs.e2b.dev/agents/crewai.md): Give CrewAI agents an isolated E2B sandbox for running Python code. - [Letta](https://docs.e2b.dev/agents/letta.md): Run Letta custom server tools in isolated E2B sandboxes. - [OpenAI Agents API](https://docs.e2b.dev/agents/openai-agents-api.md): Run OpenAI Agents API sessions in isolated E2B sandboxes. - [OpenAI Agents SDK](https://docs.e2b.dev/agents/openai-agents-sdk.md): Use E2B sandboxes with the OpenAI Agents SDK. - [Vercel AI SDK](https://docs.e2b.dev/agents/vercel-ai-sdk.md): Run AI SDK agents and tools on E2B sandboxes with the @e2b/ai-sdk-sandbox provider. - [NVIDIA NeMo Gym](https://docs.e2b.dev/agents/nemo-gym.md): Run NVIDIA NeMo Gym agent evaluation and training environments in E2B sandboxes. - [Deploy OpenClaw](https://docs.e2b.dev/agents/openclaw/openclaw-gateway.md): Start the OpenClaw gateway in an E2B sandbox and connect your browser. - [OpenClaw Telegram](https://docs.e2b.dev/agents/openclaw/openclaw-telegram.md): Connect OpenClaw to Telegram in an E2B sandbox, approve pairing, and chat through your bot. - [OpenCode](https://docs.e2b.dev/agents/opencode.md): Run OpenCode in a secure E2B sandbox with full filesystem, terminal, and git access. - [Overview](https://docs.e2b.dev/mcp-gateway.md): Connect to 200+ tools through the Model Context Protocol - [Quickstart](https://docs.e2b.dev/mcp-gateway/quickstart.md): Get started with MCP integration - [Available servers](https://docs.e2b.dev/mcp-gateway/available-servers.md): Browse available MCP servers - [Custom templates](https://docs.e2b.dev/mcp-gateway/custom-templates.md): Use MCP servers with custom sandbox templates - [Custom servers](https://docs.e2b.dev/mcp-gateway/custom-servers.md): Use custom MCP servers from GitHub repositories - [Examples](https://docs.e2b.dev/mcp-gateway/examples.md): Example projects using MCP servers in E2B sandboxes - [Errors](https://docs.e2b.dev/sdk-reference/js-sdk/v2.52.1/errors.md) - [Sandbox](https://docs.e2b.dev/sdk-reference/js-sdk/v2.52.1/sandbox.md) - [Sandbox commands](https://docs.e2b.dev/sdk-reference/js-sdk/v2.52.1/sandbox-commands.md) - [Sandbox filesystem](https://docs.e2b.dev/sdk-reference/js-sdk/v2.52.1/sandbox-filesystem.md) - [Template](https://docs.e2b.dev/sdk-reference/js-sdk/v2.52.1/template.md) - [Template logger](https://docs.e2b.dev/sdk-reference/js-sdk/v2.52.1/template-logger.md) - [Template readycmd](https://docs.e2b.dev/sdk-reference/js-sdk/v2.52.1/template-readycmd.md) - [Volume](https://docs.e2b.dev/sdk-reference/js-sdk/v2.52.1/volume.md) - [Exceptions](https://docs.e2b.dev/sdk-reference/python-sdk/v2.52.1/exceptions.md) - [Logger](https://docs.e2b.dev/sdk-reference/python-sdk/v2.52.1/logger.md) - [Readycmd](https://docs.e2b.dev/sdk-reference/python-sdk/v2.52.1/readycmd.md) - [Sandbox async](https://docs.e2b.dev/sdk-reference/python-sdk/v2.52.1/sandbox_async.md) - [Sandbox sync](https://docs.e2b.dev/sdk-reference/python-sdk/v2.52.1/sandbox_sync.md) - [Template](https://docs.e2b.dev/sdk-reference/python-sdk/v2.52.1/template.md) - [Template async](https://docs.e2b.dev/sdk-reference/python-sdk/v2.52.1/template_async.md) - [Template sync](https://docs.e2b.dev/sdk-reference/python-sdk/v2.52.1/template_sync.md) - [Volume async](https://docs.e2b.dev/sdk-reference/python-sdk/v2.52.1/volume_async.md) - [Volume sync](https://docs.e2b.dev/sdk-reference/python-sdk/v2.52.1/volume_sync.md) - [Charts](https://docs.e2b.dev/sdk-reference/code-interpreter-js-sdk/v2.7.1/charts.md) - [Consts](https://docs.e2b.dev/sdk-reference/code-interpreter-js-sdk/v2.7.1/consts.md) - [Messaging](https://docs.e2b.dev/sdk-reference/code-interpreter-js-sdk/v2.7.1/messaging.md) - [Sandbox](https://docs.e2b.dev/sdk-reference/code-interpreter-js-sdk/v2.7.1/sandbox.md) - [Code interpreter](https://docs.e2b.dev/sdk-reference/code-interpreter-python-sdk/v2.9.1/code_interpreter.md) - [Sandbox](https://docs.e2b.dev/sdk-reference/desktop-js-sdk/v2.3.1/sandbox.md) - [Desktop](https://docs.e2b.dev/sdk-reference/desktop-python-sdk/v2.4.2/desktop.md) - [Auth](https://docs.e2b.dev/sdk-reference/cli/v2.21.1/auth.md) - [Sandbox](https://docs.e2b.dev/sdk-reference/cli/v2.21.1/sandbox.md) - [Template](https://docs.e2b.dev/sdk-reference/cli/v2.21.1/template.md) - [List sandboxes](https://docs.e2b.dev/api-reference/sandboxes/list-sandboxes.md): List all running sandboxes. Use GET /v2/sandboxes instead. - [Create sandbox](https://docs.e2b.dev/api-reference/sandboxes/create-sandbox.md): Create a sandbox from the template. Use POST /v2/sandboxes instead. - [List sandboxes (v2)](https://docs.e2b.dev/api-reference/sandboxes/list-sandboxes-v2.md): List all sandboxes - [Create sandbox (v2)](https://docs.e2b.dev/api-reference/sandboxes/create-sandbox-v2.md): Create a sandbox from the template. All system communication with the sandbox is secured. - [List sandbox metrics](https://docs.e2b.dev/api-reference/sandboxes/list-sandbox-metrics.md): List metrics for given sandboxes - [Get sandbox logs](https://docs.e2b.dev/api-reference/sandboxes/get-sandbox-logs.md): Get sandbox logs. Use /v2/sandboxes/{sandboxID}/logs instead. - [Get sandbox logs (v2)](https://docs.e2b.dev/api-reference/sandboxes/get-sandbox-logs-v2.md): Get sandbox logs - [Get sandbox](https://docs.e2b.dev/api-reference/sandboxes/get-sandbox.md): Get a sandbox by id - [Delete sandbox](https://docs.e2b.dev/api-reference/sandboxes/delete-sandbox.md): Kill a sandbox - [Get sandbox metrics](https://docs.e2b.dev/api-reference/sandboxes/get-sandbox-metrics.md): Get sandbox metrics - [Pause sandbox](https://docs.e2b.dev/api-reference/sandboxes/pause-sandbox.md): Pause the sandbox - [Resume sandbox](https://docs.e2b.dev/api-reference/sandboxes/resume-sandbox.md): Resume the sandbox - [Fork sandbox](https://docs.e2b.dev/api-reference/sandboxes/fork-sandbox.md): Fork the sandbox: checkpoint the running sandbox in place (it is briefly paused, snapshotted with its full memory state, and resumed on its node, keeping its ID and expiration untouched) and create count new sandboxes from that snapshot. Returns one result per requested fork, each carrying either th… - [Connect to sandbox](https://docs.e2b.dev/api-reference/sandboxes/connect-to-sandbox.md): Returns sandbox details. If the sandbox is paused, it will be resumed. TTL is only extended. Use POST /v2/sandboxes/{sandboxID}/connect instead. - [Connect sandbox (v2)](https://docs.e2b.dev/api-reference/sandboxes/connect-sandbox-v2.md): Returns sandbox details. If the sandbox is paused, it will be resumed. TTL is only extended. The request body is optional; an omitted timeout defaults to 300 seconds. - [Set sandbox timeout](https://docs.e2b.dev/api-reference/sandboxes/set-sandbox-timeout.md): Set the timeout for the sandbox. The sandbox will expire x seconds from the time of the request. Calling this method multiple times overwrites the TTL, each time using the current timestamp as the starting point to measure the timeout duration. - [Update sandbox network](https://docs.e2b.dev/api-reference/sandboxes/update-sandbox-network.md): Update the network configuration for a running sandbox. Replaces the current egress rules with the provided configuration. Omitting field clears it. - [Refresh sandbox](https://docs.e2b.dev/api-reference/sandboxes/refresh-sandbox.md): Refresh the sandbox extending its time to live - [Create snapshot](https://docs.e2b.dev/api-reference/sandboxes/create-snapshot.md): Create a persistent snapshot from the sandbox's current state. Snapshots can be used to create new sandboxes and persist beyond the original sandbox's lifetime. - [List snapshots](https://docs.e2b.dev/api-reference/sandboxes/list-snapshots.md): List all snapshots for the team - [Create template (v3)](https://docs.e2b.dev/api-reference/templates/create-template-v3.md): Create a new template - [List templates (v2)](https://docs.e2b.dev/api-reference/templates/list-templates-v2.md): List all templates - [Get build upload link](https://docs.e2b.dev/api-reference/templates/get-build-upload-link.md): Get an upload link for a tar file containing build layer files - [List templates](https://docs.e2b.dev/api-reference/templates/list-templates.md): List all templates - [Get template](https://docs.e2b.dev/api-reference/templates/get-template.md): List all builds for a template - [Delete template](https://docs.e2b.dev/api-reference/templates/delete-template.md): Delete a template - [Update template](https://docs.e2b.dev/api-reference/templates/update-template.md): Update template - [Start build (v2)](https://docs.e2b.dev/api-reference/templates/start-build-v2.md): Start the build - [Update template (v2)](https://docs.e2b.dev/api-reference/templates/update-template-v2.md): Update template - [Get build status](https://docs.e2b.dev/api-reference/templates/get-build-status.md): Get template build info - [Get build logs](https://docs.e2b.dev/api-reference/templates/get-build-logs.md): Get template build logs - [Get template by alias](https://docs.e2b.dev/api-reference/templates/get-template-by-alias.md): Check if template with given alias exists - [Assign tags](https://docs.e2b.dev/api-reference/tags/assign-tags.md): Assign tag(s) to a template build - [Delete tags](https://docs.e2b.dev/api-reference/tags/delete-tags.md): Delete multiple tags from templates - [List template tags](https://docs.e2b.dev/api-reference/tags/list-template-tags.md): List all tags for a template - [List team volumes](https://docs.e2b.dev/api-reference/volumes/list-team-volumes.md): List all team volumes - [Create team volume](https://docs.e2b.dev/api-reference/volumes/create-team-volume.md): Create a new team volume - [Team volume](https://docs.e2b.dev/api-reference/volumes/team-volume.md): Get team volume info - [Delete team volume](https://docs.e2b.dev/api-reference/volumes/delete-team-volume.md): Delete a team volume - [Check the health of the service](https://docs.e2b.dev/api-reference/envd/check-the-health-of-the-service.md) - [Service stats](https://docs.e2b.dev/api-reference/envd/service-stats.md) - [Environment variables](https://docs.e2b.dev/api-reference/envd/environment-variables.md) - [Download a file](https://docs.e2b.dev/api-reference/filesystem/download-a-file.md) - [Upload a file and ensure the parent directories exist. If the file exists, it will be overwritten.](https://docs.e2b.dev/api-reference/filesystem/upload-a-file-and-ensure-the-parent-directories-exist-if-the-file-exists-it-will-be-overwritten.md): Any request header of the form `X-Metadata-: ` is persisted as a user-defined extended attribute on the uploaded file. The `X-Metadata-` prefix is stripped and the remaining header name is lowercased to form the metadata key; the resulting map is returned on `EntryInfo` lookups (e.g. `St… - [CreateWatcher](https://docs.e2b.dev/api-reference/filesystem/createwatcher.md): Non-streaming versions of WatchDir - [GetWatcherEvents](https://docs.e2b.dev/api-reference/filesystem/getwatcherevents.md) - [ListDir](https://docs.e2b.dev/api-reference/filesystem/listdir.md) - [MakeDir](https://docs.e2b.dev/api-reference/filesystem/makedir.md) - [Move](https://docs.e2b.dev/api-reference/filesystem/move.md) - [Remove](https://docs.e2b.dev/api-reference/filesystem/remove.md) - [RemoveWatcher](https://docs.e2b.dev/api-reference/filesystem/removewatcher.md) - [Stat](https://docs.e2b.dev/api-reference/filesystem/stat.md) - [WatchDir](https://docs.e2b.dev/api-reference/filesystem/watchdir.md): Server-streaming RPC. Use the Connect protocol with streaming support. - [CloseStdin](https://docs.e2b.dev/api-reference/process/closestdin.md): Close stdin to signal EOF to the process. Only works for non-PTY processes. For PTY, send Ctrl+D (0x04) instead. - [Connect](https://docs.e2b.dev/api-reference/process/connect.md): Server-streaming RPC. Use the Connect protocol with streaming support. - [List](https://docs.e2b.dev/api-reference/process/list.md) - [SendInput](https://docs.e2b.dev/api-reference/process/sendinput.md) - [SendSignal](https://docs.e2b.dev/api-reference/process/sendsignal.md) - [Start](https://docs.e2b.dev/api-reference/process/start.md): Server-streaming RPC. Use the Connect protocol with streaming support. - [StreamInput](https://docs.e2b.dev/api-reference/process/streaminput.md): Client-streaming RPC. Client input stream ensures ordering of messages. Use the Connect protocol with streaming support. - [Update](https://docs.e2b.dev/api-reference/process/update.md) - [Get team metrics](https://docs.e2b.dev/api-reference/teams/get-team-metrics.md): Get metrics for the team - [Get team metrics max](https://docs.e2b.dev/api-reference/teams/get-team-metrics-max.md): Get the maximum metrics for the team in the given interval - [List secrets](https://docs.e2b.dev/api-reference/secrets/list-secrets.md): List the project's secrets. No response carries a secret value. - [Create secret](https://docs.e2b.dev/api-reference/secrets/create-secret.md): Create a secret by storing a runtime marker as its first version. The response carries metadata only. - [Get secret](https://docs.e2b.dev/api-reference/secrets/get-secret.md): Get one secret's metadata, selected by identifier or name. - [Update secret](https://docs.e2b.dev/api-reference/secrets/update-secret.md): Replace the secret's stored marker by appending a new version. The response carries metadata only. - [Delete secret](https://docs.e2b.dev/api-reference/secrets/delete-secret.md): Revoke the secret and schedule its versions for cleanup. - [List sandbox events](https://docs.e2b.dev/api-reference/events/list-sandbox-events.md): Get sandbox events - [List events](https://docs.e2b.dev/api-reference/events/list-events.md): Get all sandbox events for the team associated with the API key - [List webhooks](https://docs.e2b.dev/api-reference/webhooks/list-webhooks.md): List registered webhooks. - [Create webhook](https://docs.e2b.dev/api-reference/webhooks/create-webhook.md): Register events webhook. - [Get webhook](https://docs.e2b.dev/api-reference/webhooks/get-webhook.md): Get a registered webhook. - [Delete webhook](https://docs.e2b.dev/api-reference/webhooks/delete-webhook.md): Delete a registered webhook. - [Update webhook](https://docs.e2b.dev/api-reference/webhooks/update-webhook.md): Update a registered webhook configuration. - [List webhook deliveries](https://docs.e2b.dev/api-reference/webhooks/list-webhook-deliveries.md): List webhook delivery attempts. - [Get webhook statistics](https://docs.e2b.dev/api-reference/webhooks/get-webhook-statistics.md): Get webhook delivery aggregate stats. - [Changelog](https://docs.e2b.dev/changelog.md): Weekly updates on what shipped in E2B - [Frequently asked questions](https://docs.e2b.dev/faq/index.md): Common questions about E2B billing, sandbox limits, templates, storage, networking, and security. - [Projects](https://docs.e2b.dev/projects.md): A project groups your E2B API keys, sandboxes, templates, and billing under one account. Every API key is scoped to exactly one project. - [Workspaces](https://docs.e2b.dev/workspaces.md): A workspace groups your E2B projects under one name. Manage multiple projects, and who has access to them, from a single place in the console. - [How do I calculate the price of a sandbox?](https://docs.e2b.dev/faq/calculate-sandbox-price.md): E2B bills per second, only while a sandbox is running, based on the vCPU and RAM allocated to it. Paused and killed sandboxes are not billed. - [How do I increase my concurrency limit?](https://docs.e2b.dev/faq/increase-concurrency.md): Raise your concurrent sandbox limit with self-serve add-ons in the console billing tab, or contact sales for higher limits on the Enterprise plan. - [How long does a sandbox live?](https://docs.e2b.dev/faq/sandbox-lifetime.md): A sandbox is not session-scoped. Continuous runtime is capped by plan (1 hour Hobby, 24 hours Pro, custom Enterprise) and resets on pause and resume, while a paused sandbox is kept indefinitely with no time-to-live. SDK streams send keepalive pings and normally stay open for more than an hour, and c… - [Do paused sandboxes count toward the concurrency limit?](https://docs.e2b.dev/faq/paused-sandboxes-concurrency.md): No. Only running sandboxes count toward the concurrency limit and only running sandboxes are billed. There is no time limit on how long a sandbox can stay paused. - [Does E2B support GPUs?](https://docs.e2b.dev/faq/gpu-support.md): No. E2B sandboxes are CPU-only, sized by vCPU and RAM only, with no GPU option in the SDKs, CLI, API, or a template definition. BYOC does not change this. - [What limits apply to my template builds?](https://docs.e2b.dev/faq/build-limits.md): Two kinds of limit apply: plan limits like concurrent builds can be raised by upgrading or contacting support, while build timeouts are fixed for everyone and require restructuring the build. - [Is there a limit on how many templates I can create?](https://docs.e2b.dev/faq/template-limit.md): No. There is no limit on the total number of templates. The only template limit is on concurrent builds: 20 on Hobby and Pro, custom on Enterprise. - [Can I make a template public so other projects can use it?](https://docs.e2b.dev/faq/public-templates.md): Yes. Publish a template from the console Templates tab or with the CLI, and any project can then create sandboxes from it by its full project-slug/template-name. - [Why does pip install fail when building a template?](https://docs.e2b.dev/faq/pip-install-error.md): Large packages like PyTorch with CUDA exhaust the build environment: pip caches wheels in memory (MemoryError) and downloads them to the RAM-backed /tmp capped at ~3.9 GB ('No space left on device'). Set TMPDIR to a disk-backed path with --no-cache-dir, or install CPU-only builds. - [Why does my template build fail with a Docker push authentication error?](https://docs.e2b.dev/faq/docker-push-authentication-error.md): Docker sends no credentials to the build registry. Add E2B's local registry proxy (host.docker.internal:49984, or localhost:49984 on Linux) to Docker's insecure-registries and restart Docker. - [What are the limitations of the Volumes beta?](https://docs.e2b.dev/faq/volumes-beta-limitations.md): Volumes beta limits: file locking can hang, file metadata caching is disabled, read/write permission bits are not enforced between users, mounts are fixed at sandbox creation, and snapshots and read-only mounts are not yet supported. - [Can I run sandboxes in the EU?](https://docs.e2b.dev/faq/eu-region.md): Yes. E2B offers a shared EU cluster for customers on the Pro tier and above. Contact support to get access. - [Do you publish egress IP ranges (CIDRs)?](https://docs.e2b.dev/faq/egress-ip-ranges.md): No. Sandbox outbound traffic leaves from ephemeral, rotating IPs, so there is no fixed E2B-owned CIDR list. Allowlist the cloud provider's published ranges or route sandbox traffic through your own proxy for a dedicated IP. - [Why does iptables fail with 'xt_owner module missing' in a sandbox?](https://docs.e2b.dev/faq/iptables-xt-owner.md): The E2B sandbox kernel does not ship the xt_owner module, so iptables rules using --uid-owner or --gid-owner fail. Use nftables, which does not need xt_owner for owner-based matching. - [Why does my custom template fail with 'port 49999 not open'?](https://docs.e2b.dev/faq/port-49999-not-open.md): The Code Interpreter service inside the sandbox did not start, usually because the custom template was not built on the code-interpreter-v1 base or the start command is missing. - [BYOC (Bring Your Own Cloud)](https://docs.e2b.dev/byoc.md): Deploy E2B sandboxes inside your own VPC. BYOC is available on AWS, Google Cloud and Azure for Enterprise customers, and BYOC is a managed deployment in your account rather than self-hosting. - [DSCP marking for egress traffic](https://docs.e2b.dev/deployment/dscp-marking.md): Mark the egress traffic that leaves your sandboxes with a DSCP value so your firewalls can filter, log, or shape it. - [Is E2B SOC 2 compliant?](https://docs.e2b.dev/faq/security-and-compliance.md): E2B has a SOC 2 Type II report, served with the DPA template, penetration test, and bridge letter from the Trust Center at trust.e2b.dev. Covers where sandboxes run, encryption at rest, and how to request a HIPAA BAA, a signed DPA, a security questionnaire, or the subprocessor list. - [SDK v2 migration guide](https://docs.e2b.dev/migration/v2.md) - [V2 build system migration](https://docs.e2b.dev/migration/template-v2.md): How to migrate from the legacy template definition - [E2B_ACCESS_TOKEN deprecation](https://docs.e2b.dev/migration/access-token-deprecation.md): E2B_ACCESS_TOKEN is deprecated and no longer works. Authenticate the CLI with E2B_API_KEY instead. - [V1 build system deprecation](https://docs.e2b.dev/migration/v1-build-deprecation.md): The V1 template build system is deprecated. Migrate to the V2 build system. - [Sandbox git module deprecation](https://docs.e2b.dev/migration/git-deprecation.md): The sandbox.git module is deprecated. Run git through sandbox.commands.run() instead. ## OpenAPI Specs - [openapi-public](/openapi-public.yaml)