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

# Daytona

> Manage Daytona dev sandboxes - list, create, inspect, and delete sandboxes and run shell commands inside them

## At a glance

* **Availability**: Experimental ([how to enable](/cloud/integrations)).
* **Auth**: API key.
* **Connection**: The key from `DAYTONA_API_KEY` is sent as the `Bearer` prefixed `Authorization` header.
* **Docs**: [https://www.daytona.io/docs/en/api-keys/](https://www.daytona.io/docs/en/api-keys/)

## Credentials

Set these per environment. See [Connect an integration](/cloud/integrations).

| Variable          | Required | Description                                                                                                                                              |
| ----------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DAYTONA_API_KEY` | Yes      | Daytona API key created in the Dashboard under API Keys; same env var used by the Daytona SDKs and CLI [Docs](https://www.daytona.io/docs/en/api-keys/). |

## Setup

1. **Create a Daytona account**: Sign up at [https://app.daytona.io](https://app.daytona.io) - new accounts include free usage credits, so no payment method is needed to test.
2. **Create an API key**: In the Daytona Dashboard go to API Keys and create a new key (it is shown only once at creation time).
3. **Set the environment variable**: Copy the key into your .env as DAYTONA\_API\_KEY.
4. **Verify access**: Run List Sandboxes to confirm the key works, then create a sandbox and execute a simple command like echo hello.

* The API is served on [https://app.daytona.io/api](https://app.daytona.io/api) and authenticates with Authorization: Bearer \<API key>
* Sandboxes auto-stop after the autoStopInterval (default 15 minutes) unless set to 0
* Execute Command requires the sandbox to be in the started state
* Execute Command uses the legacy /toolbox REST route, which Daytona marks deprecated in favor of its SDKs; the richer per-sandbox toolbox API (files, git, sessions) is SDK-first and not covered here
* Creating sandboxes consumes billable compute - delete sandboxes you no longer need

Provider API reference: [https://www.daytona.io/docs/en/tools/api/](https://www.daytona.io/docs/en/tools/api/)

## Tools

| Tool            | Access | Description                                                                                                                                                          |
| --------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| List Sandboxes  | Read   | List sandboxes in the organization with optional name, label, and state filtering                                                                                    |
| Create Sandbox  | Write  | Create a new sandbox, optionally from a snapshot and with custom resources (starts billable compute)                                                                 |
| Get Sandbox     | Read   | Get sandbox details by ID or name, including state, snapshot, resources, and timestamps                                                                              |
| Delete Sandbox  | Write  | Delete a sandbox by ID or name, discarding its state and filesystem                                                                                                  |
| Execute Command | Write  | Execute a shell command inside a running sandbox via the toolbox and return its exit code and output (legacy REST route; Daytona's current toolbox API is SDK-first) |
| Start Sandbox   | Write  | Start a stopped sandbox - required before Execute Command, since sandboxes auto-stop after the autoStopInterval (15 minutes by default)                              |
| Stop Sandbox    | Write  | Stop a running sandbox to pause billable compute without destroying its state                                                                                        |
| List Snapshots  | Read   | List available snapshots (sandbox base images) - use these names or IDs in the snapshot field of Create Sandbox                                                      |

## Example prompts

* List my Daytona sandboxes with their state, snapshot, and resources.
* Create a new Daytona sandbox and confirm it reaches the started state.
* Run the shell command I give you inside the Daytona sandbox I name and show me the output and exit code.
