Documentation
SDK/Managing sandboxes•1 min read

Managing sandboxes

Create, open, fork, stop, restart, and delete SDK-managed sandboxes.

Browse Docs

Managing sandboxes

The SDK can create, retrieve, fork, stop, restart, and delete a sandbox. These operations act on the sandbox as a whole.

Create a sandbox

import { PHPSandbox } from '@phpsandbox/sdk';

const token = process.env.PHPSANDBOX_TOKEN;
if (!token) throw new Error('PHPSANDBOX_TOKEN is required');

const client = PHPSandbox.realtime(token);

const sandbox = await client.notebook.create('laravel', {
  title: 'Inventory',
  visibility: 'private',
});

The current SDK method is named client.notebook.create(), but the resource it creates is a sandbox.

Retrieve an existing sandbox

const sandbox = await client.notebook.get(sandboxId);

Call ready() when the next step requires the sandbox to be fully initialized, such as opening its preview:

const ready = await sandbox.ready();
console.log(ready.data.previewUrl);

Runtime operations such as filesystem and command calls wait for initialization when necessary.

Fork a sandbox

Forking creates another sandbox from the current state:

const fork = await sandbox.fork();

Changes in the fork do not alter the source sandbox.

Stop and restart

await sandbox.stop();
await sandbox.restart();

Stopping releases the sandbox’s active compute without deleting its files and configuration. Restarting starts its compute again.

Delete a sandbox

await sandbox.destroy();

destroy() permanently deletes the remote sandbox. Use it only when the sandbox and its retained work are no longer needed.