Skip to main content

sandboxes

Creates, updates, deletes, gets or lists a sandboxes resource.

Overview​

Namesandboxes
TypeResource
Idrailway.agents.sandboxes

Fields​

The following fields are returned by SELECT queries:

One Sandbox row.

NameDatatypeDescription
idstring
environment_idstring
created_atstring (date-time)
domainsarrayRailway-provided public HTTP domains whose routes have been published.
idle_timeout_minutesintegerMinutes of inactivity before the sandbox is destroyed. 0 means it never idles out; null means unknown, including for a destroyed sandbox.
network_isolationstring (ISOLATED, PRIVATE)
regionstring
statusstring (CREATING, DESTROYED, DESTROYING, FAILED, RUNNING)

Methods​

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectenvironment_id, idGet a sandbox by id. Backed by the Railway GraphQL query sandbox.
listselectenvironment_idactiveList sandboxes in an environment, newest first. Passing first/after paginates; omitting them returns the full list. Backed by the Railway GraphQL query sandboxes.
createinsertenvironment_idCreate a sandbox in an environment. Backed by the Railway GraphQL mutation sandboxCreate.
destroydeleteenvironment_id, idDestroy a sandbox. Backed by the Railway GraphQL mutation sandboxDestroy.
execexeccommand, environment_id, idtimeout_secExecute a command inside a running sandbox. Backed by the Railway GraphQL mutation sandboxExec.
heartbeatexecenvironment_id, idExtend a sandbox's lifetime. Backed by the Railway GraphQL mutation sandboxHeartbeat.

Parameters​

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
environment_idstring
idstring
activebooleantrue = live sandboxes only (excludes destroyed; FAILED and transitional states are still included), false = destroyed only, omitted = all.
commandstring
timeout_secstringInteger passed as a string, for example '1'.

SELECT examples​

Get a sandbox by id. Backed by the Railway GraphQL query sandbox.

SELECT
id,
environment_id,
created_at,
domains,
idle_timeout_minutes,
network_isolation,
region,
status
FROM railway.agents.sandboxes
WHERE environment_id = '{{ environment_id }}' -- required
AND id = '{{ id }}' -- required
;

INSERT examples​

Create a sandbox in an environment. Backed by the Railway GraphQL mutation sandboxCreate.

INSERT INTO railway.agents.sandboxes (
environment_id,
idle_timeout_minutes,
network_isolation,
public_domains,
region,
resources,
source_sandbox_id,
template,
variables
)
SELECT
'{{ environment_id }}' /* required */,
{{ idle_timeout_minutes }},
'{{ network_isolation }}',
'{{ public_domains }}',
'{{ region }}',
'{{ resources }}',
'{{ source_sandbox_id }}',
'{{ template }}',
'{{ variables }}'
RETURNING
id,
environment_id,
created_at,
domains,
idle_timeout_minutes,
network_isolation,
region,
status
;

DELETE examples​

Destroy a sandbox. Backed by the Railway GraphQL mutation sandboxDestroy.

DELETE FROM railway.agents.sandboxes
WHERE
environment_id = '{{ environment_id }}' --required
AND id = '{{ id }}' --required
;

Lifecycle Methods​

Execute a command inside a running sandbox. Backed by the Railway GraphQL mutation sandboxExec.

EXEC railway.agents.sandboxes.exec
@command='{{ command }}', --required
@environment_id='{{ environment_id }}', --required
@id='{{ id }}', --required
@timeout_sec='{{ timeout_sec }}'
;