Skip to main content
Start with the Runloop Quickstart to use the examples below.

Launch Parameters

Because Blueprints map to images that launch devboxes, they share some of the same launch parameters as devboxes. See these pages for more customizable parameters:

Deleting Blueprints

By default, Blueprints persist indefinitely and continue to incur storage costs. To optimize resource usage and costs, you can delete Blueprints that are no longer needed.

Deleting a Single Blueprint

To delete a specific Blueprint, use its ID:
blueprint = await runloop.blueprint.from_id(blueprint_id)
await blueprint.delete()

Cleaning Up Old Blueprint Versions

When you create multiple versions of a Blueprint with the same name, you may want to delete older versions to reduce storage costs. Here’s how to keep only the latest version:
# Create a new blueprint
new_blueprint = await runloop.blueprint.create(
  name="my_blueprint_name",
  launch_parameters={"launch_commands": ["sudo apt install -y jq"]}
)

# Get all blueprints with the same name
blueprints = await runloop.blueprint.list(name='my_blueprint_name')

# Delete all older blueprints, keeping only the newest one
for blueprint in blueprints:
  if blueprint.id != new_blueprint.id:
    await blueprint.delete()

Be careful when deleting Blueprints, as this action cannot be undone. Ensure you’re not deleting Blueprints that you may need later.

Managing Blueprints with the CLI

The CLI provides convenient commands for listing, deleting, and pruning blueprints:
# List all blueprints
rli blueprint list

# Delete a specific blueprint by ID
rli blueprint delete bpt_abc123

# Prune old blueprint versions, keeping only the latest for each name
rli blueprint prune

# Prune with dry-run to see what would be deleted
rli blueprint prune --dry-run
The rli blueprint prune command is particularly useful for cleaning up old versions when you frequently rebuild blueprints with the same name.

Next Steps