Create new sandbox

  • PATCH
  • /workspaces
  • /:workspace
  • /projects
  • /:project_name
  • /pipelines
  • /:pipeline_id
  • /actions
  • /:action_id

Update Create new sandbox action configuration

Warning
You can't change the type of an existing action. To change the type, remove the action and add it again.

Request

REQUIRED SCOPES
EXECUTION_MANAGE
URL PARAMETERS
workspacerequiredstring
The human-readable ID of the workspace

Example: "my-company"

project_namerequiredstring
The human-readable ID of the project

Example: "my-project"

pipeline_idrequiredinteger
The ID of the pipeline

Example: 123

action_idrequiredinteger
The ID of the action

Example: 456

POST PARAMETERS
typerequiredstring enum
The type of the action
Allowed enum:
SANDBOX_CREATE
urlread-onlystring
API endpoint to GET this object
html_urlread-onlystring
Web URL to view this object in Buddy.works
after_action_idinteger
The numerical ID of the action, after which this action should be added
namerequiredstring
The name of the action
trigger_timestring enum
Specifies when the action should be executed
Allowed enum:
ON_EVERY_EXECUTION,
ON_SUCCESS,
ON_FAILURE,
ON_BACK_TO_SUCCESS,
ON_WARNING,
ON_WAIT_FOR_APPROVE,
ON_TERMINATE
trigger_conditionsTriggerConditionView[]
The list of trigger conditions to meet so that the action can be triggered
run_nextstring enum
Defines whether the action should run in parallel with the next one
Allowed enum:
WAIT_ON_SUCCESS,
IN_SOFT_PARALLEL,
IN_HARD_PARALLEL
run_only_on_first_failureboolean
Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE
variablesEnvironmentVariableView[]
The list of variables you can use the action
disabledboolean
When set to true the action is disabled. By default it is set to false
timeoutinteger
The timeout in seconds
ignore_errorsboolean
If set to true the execution will proceed, mark action as a warning and jump to the next action. Doesn't apply to deployment actions
retry_countinteger
Number of retries if the action fails
retry_intervalinteger
Delay time between auto retries in seconds
loopstring[]
The list of commands that will be executed in a loop
current_revisionstring
The git revision of the last successful run of the action
permissionsPermissionsView
Access permissions configuration
fromstring enum
The source type for creating the sandbox
Allowed enum:
SCRATCH,
SANDBOX,
SNAPSHOT
sandbox_identifierstring
The identifier of the source sandbox (when creating from another sandbox)
snapshot_namestring
The name of the snapshot (when creating from a snapshot)
update_if_existsboolean
Whether to update the sandbox configuration if a sandbox with the same identifier already exists in the project. If true and a sandbox exists, it will be reconfigured with the new specification instead of creating a new one
startboolean
Whether to start the sandbox after creation
specSandboxView
The sandbox specification containing configuration details

Response

RESPONSE BODY
typestring enum
The type of the action
Allowed enum:
SANDBOX_CREATE
urlread-onlystring
API endpoint to GET this object
html_urlread-onlystring
Web URL to view this object in Buddy.works
idinteger
The ID of the action
namestring
The name of the action
current_revisionstring
The git revision of the last successful run of the action
trigger_timestring enum
Specifies when the action should be executed
Allowed enum:
ON_EVERY_EXECUTION,
ON_SUCCESS,
ON_FAILURE,
ON_BACK_TO_SUCCESS,
ON_WARNING,
ON_WAIT_FOR_APPROVE,
ON_TERMINATE
trigger_conditionsTriggerConditionView[]
The list of trigger conditions to meet so that the action can be triggered
run_nextstring enum
Defines whether the action should run in parallel with the next one
Allowed enum:
WAIT_ON_SUCCESS,
IN_SOFT_PARALLEL,
IN_HARD_PARALLEL
run_only_on_first_failureboolean
Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE
variablesEnvironmentVariableView[]
The list of variables you can use the action
disabledboolean
When set to true the action is disabled. By default it is set to false
timeoutinteger
The timeout in seconds
ignore_errorsboolean
If set to true the execution will proceed, mark action as a warning and jump to the next action. Doesn't apply to deployment actions
retry_countinteger
Number of retries if the action fails
retry_intervalinteger
Delay time between auto retries in seconds
last_execution_statusstring enum
The status of the last run of the action
Allowed enum:
INPROGRESS,
ENQUEUED,
TERMINATED,
SUCCESSFUL,
FAILED,
INITIAL,
NOT_EXECUTED,
SKIPPED,
TERMINATING,
WAITING_FOR_APPLY,
WAITING_FOR_VARIABLES,
WAITING_FOR_SETTABLE_VARIABLES,
WAITING_FOR_VT_SESSION
pipelineShortPipelineView
Short representation of a pipeline
permissionsPermissionsView
Access permissions configuration
loopstring[]
The list of commands that will be executed in a loop
fromstring enum
The source type for creating the sandbox
Allowed enum:
SCRATCH,
SANDBOX,
SNAPSHOT
sandbox_identifierstring
The identifier of the source sandbox (when creating from another sandbox)
snapshot_namestring
The name of the snapshot (when creating from a snapshot)
update_if_existsboolean
Whether to update the sandbox configuration if a sandbox with the same identifier already exists in the project. If true and a sandbox exists, it will be reconfigured with the new specification instead of creating a new one
startboolean
Whether to start the sandbox after creation
specSandboxView
The sandbox specification containing configuration details

Last modified on Feb 18, 2026

Request example

curl -X PATCH "https://api.buddy.works/workspaces/:workspace/projects/:project_name/pipelines/:pipeline_id/actions/:action_id" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "name": "Create sandbox", "disabled": true, "type": "SANDBOX_CREATE", "trigger_time": "ON_EVERY_EXECUTION", "timeout": 1800, "retry_interval": 60, "retry_count": 5, "ignore_errors": true, "current_revision": "21825f31ddce8a89b3ed9f4c92f038b339cde150", "from": "SCRATCH", "update_if_exists": true, "start": false, "spec": { "name": "Running", "identifier": "running", "os": "ubuntu:24.04", "resources": "3x6", "first_boot_commands": "apt-get update\napt-get install -y nginx", "tags": [ "azure", "purple" ], "apps": [ "nginx -t" ], "app_dir": "/var/www/html", "endpoints": [ { "name": "buddy-graigmaribelesposito-dev-tcp", "endpoint": "localhost:22", "domain": "agent-dev.net", "subdomain": null, "region": "EU", "type": "TCP", "timeout": 60, "whitelist": [ "12.34.56.78" ] } ] }, "loop": [ "env_key" ] }'
STATUS
200 OK