Skip to main content
Create reusable Devbox configurations with client.blueprints. Create, fetch, list, update, and delete blueprints, or iterate through every blueprint in a workspace.

blueprints.create()

Create a named blueprint from a complete definition.

Example

API reference

Arguments and options

string
required
The blueprint name.
BlueprintDefinition
required
The complete configuration. See Blueprint definitions.
OperationOptions
The SDK defaults site to "iad" and access to "private". Blueprint sizes are resolved by the SDK and must be "s", "m", "l", or "xl". volumeSizeGB must be a non-negative safe integer.

Return value

Returns the created Blueprint.

blueprints.get()

Fetch a blueprint by name.

Example

API reference

Arguments and options

string
required
The blueprint name.
OperationOptions
Optional cancellation signal and timeout.

Return value

Returns the matching Blueprint.

blueprints.list()

List one page of blueprints.

Example

API reference

Arguments and options

ListBlueprintsOptions

Return value

Returns a Page<Blueprint>.

blueprints.iterate()

Iterate through all blueprints, fetching additional pages automatically.

Example

API reference

Arguments and options

Accepts the limit, orderBy, signal, and timeoutMs list options. Do not pass a cursor because iteration manages pagination.

Return value

Returns an async iterator of Blueprint objects.

blueprints.update()

Replace the complete definition of an existing blueprint.

Example

API reference

Arguments and options

string
required
The blueprint name.
BlueprintDefinition
required
The complete replacement definition.
OperationOptions
Optional cancellation signal and timeout.
The same defaults and validation as create() apply.
update() replaces the stored definition wholesale. It first resolves the blueprint by name, then performs a last-write-wins update without compare-and-swap protection. Preserve fields explicitly, and avoid concurrent updates that could silently overwrite each other.

Return value

Returns the updated Blueprint.

blueprints.delete()

Delete a blueprint by name.

Example

API reference

Arguments and options

string
required
The blueprint name.
OperationOptions
Optional cancellation signal and timeout.

Return value

The promise resolves after the blueprint has been deleted.

Blueprint definitions

string
required
An image name or a full image reference. Strings containing /, @, or : are treated as full references.
MachineSize
One of "s", "m", "l", or "xl".
string
The site where Devboxes are created. Defaults to "iad".
string
A description shown with the blueprint.
"private" | "workspace"
Who can use the blueprint. Defaults to "private".
Record<string, string>
Environment variables added to Devboxes.
number
Persistent volume size in GB. Must be a non-negative safe integer.
boolean | { stoppedRetentionMs?: number }
Enables ephemeral behavior. The object form sets retention after stopping.
string[]
Devbox feature names to enable.
NetworkPolicy
Egress policy for the Devbox.
number
Minimum time the Devbox remains busy.

Blueprint fields

string
required
The immutable blueprint ID.
string
required
The blueprint name.
bigint
required
The blueprint version.
Date
When the blueprint was created.
Date
When the blueprint was last updated.
BlueprintDefinition
required
The stored definition.

Page fields

Blueprint[]
required
The blueprints in this page.
string
An opaque cursor for the next page. Its absence means there are no more results.
See Create and manage Devboxes to create a Devbox from a blueprint and Manage images to register images used by blueprints.
Last modified on August 26, 2026