> ## 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.

# Sprites

> Manage Sprites.dev stateful AI sandboxes - list, create, inspect, and destroy persistent Linux VMs and execute commands inside them

## At a glance

* **Availability**: Experimental ([how to enable](/cloud/integrations)).
* **Auth**: API key.
* **Connection**: The key from `SPRITES_TOKEN` is sent as the `Bearer` prefixed `Authorization` header.
* **Docs**: [https://sprites.dev/api](https://sprites.dev/api)

## Credentials

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

| Variable        | Required | Description                                                                                                                                                                            |
| --------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `SPRITES_TOKEN` | Yes      | Sprites API token in org/token-id/secret format, generated at sprites.dev/account; same env var used by the Sprites CLI and SDKs [Docs](https://docs.sprites.dev/cli/authentication/). |

## Setup

1. **Create a Sprites account**: Sign up at [https://sprites.dev](https://sprites.dev) by signing in with a Fly.io account (Sprites is made by Fly.io); new accounts can create sprites right away for testing.
2. **Generate an API token**: Go to [https://sprites.dev/account](https://sprites.dev/account) and generate an API token. Tokens have the format my-org/token-id/secret. (Alternatively, install the sprite CLI and run sprite org auth.)
3. **Set the environment variable**: Copy the token into your .env as SPRITES\_TOKEN.
4. **Verify access**: Run List Sprites to confirm the token works, then create a sprite and execute a command in it.

* The API is served on [https://api.sprites.dev/v1](https://api.sprites.dev/v1) and authenticates with Authorization: Bearer \$SPRITES\_TOKEN
* Sprites are stateful: the filesystem persists across suspends, and sprites wake automatically on use (status moves between cold, warm, and running)
* Destroying a sprite permanently deletes its persisted state
* Execute Command uses the HTTP POST exec endpoint for non-interactive commands; interactive TTY sessions, filesystem APIs, checkpoints, and services are WebSocket/SDK-first and not covered by these tools

Provider API reference: [https://sprites.dev/api](https://sprites.dev/api)

## Tools

| Tool               | Access | Description                                                                                                                                       |
| ------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| List Sprites       | Read   | List sprites in the organization, optionally filtered by name prefix and paginated                                                                |
| Create Sprite      | Write  | Create a new sprite - a persistent, hardware-isolated Linux VM that keeps its filesystem state between runs                                       |
| Get Sprite         | Read   | Get a sprite by name, including its URL, runtime status (cold, warm, or running), and creation/activity timestamps                                |
| Destroy Sprite     | Write  | Destroy a sprite by name, permanently deleting the VM and its persisted filesystem state                                                          |
| Execute Command    | Write  | Execute a command inside a sprite over HTTP (non-interactive) and return its output as JSON                                                       |
| Create Checkpoint  | Write  | Create a point-in-time checkpoint of a sprite (filesystem and memory) before risky operations; the response is a stream of NDJSON progress events |
| List Checkpoints   | Read   | List a sprite's checkpoints with their IDs (e.g. v7), creation times, and comments - discover restore points                                      |
| Restore Checkpoint | Write  | Roll a sprite back to a checkpoint, replacing its current state with the snapshot; the response is a stream of NDJSON progress events             |

## Example prompts

* List my Sprites.dev sandboxes with their status and last activity.
* Create a new sprite named scratchpad and confirm it is reachable by running uname -a inside it.
* List my sprites and destroy any that I confirm are no longer needed.
