Edit Sandbox

  • PATCH
  • /workspaces
  • /:workspace
  • /sandboxes
  • /:sandbox_id

Update an existing sandbox configuration. This endpoint allows you to modify sandbox properties like name, resources, endpoints, and more.

Request

REQUIRED SCOPES
WORKSPACE, SANDBOX_MANAGE
URL PARAMETERS
workspacerequired string
The workspace name.
sandbox_idrequired string
The ID of the sandbox.
POST PARAMETERS
namerequired string
The name of the sandbox.
identifierrequired string
The sandbox identifier. It can consist of uppercase and lowercase letters, numbers, underscores, and hyphens. It must start with a letter.
osrequired string
Operating system image for the sandbox. Available values: ubuntu:22.04, ubuntu:24.04.
resourcesstring
Resource allocation for the sandbox in format CPUxRAM(e.g., 1x2 for 1 CPU core and 2GB RAM). Default: 2x4 (2 CPU cores, 4GB RAM).
install_commandsstring
Commands to run during sandbox setup/installation.
run_commandstring
Command to start the application in the sandbox.
app_dirstring
Directory where the application is located in the sandbox.
app_typestring
Type of application. Available values: CMD, SERVICE.
tagsstring[]
Array of tags to categorize the sandbox.
endpointsendpoint[]
Array of endpoints configuration for the sandbox.

Last modified on Sep 2, 2025

Example:

curl -X PATCH "https://api.buddy.works/workspaces/:workspace/sandboxes/:sandbox_id" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "Content-Type: application/json" \
-d '{
  "identifier": "my-new-sandbox",
  "name": "My New sandbox",
  "os": "ubuntu:22.04",
  "resources": "2x4",
  "install_commands": "apt-get update\napt-get install -y nginx",
  "tags": [
    "azure",
    "purple",
    "red"
  ],
  "folder": "dupny-folder",
  "run_command": "nginx -t",
  "app_dir": "/var/www/html",
  "app_type": "SERVICE",
  "endpoints": [
    {
      "name": "cqccimvxsc-tcp",
      "endpoint": "localhost:22",
      "region": "EU",
      "type": "TCP",
      "timeout": 60,
      "whitelist": [
        "12.34.56.78"
      ]
    },
    {
      "name": "cqccimvxsc-http",
      "endpoint": "localhost:8080",
      "region": "EU",
      "type": "HTTP",
      "timeout": 60,
      "whitelist": [
        "12.34.56.78"
      ],
      "http": {
        "rewrite_host_header": "buddy-tests.com",
        "login": "user",
        "password": "pass",
        "log_requests": true,
        "verify_certificate": true,
        "http2": true,
        "compression": true,
        "whitelist_user_agents": [
          "Buddy-tests Agent"
        ],
        "request_headers": {
          "request-header": "tests-request"
        },
        "response_headers": {
          "response-header": "tests-response"
        },
        "tls_ca": "-----BEGIN CERTIFICATE-----\r\nMIIFazCCA1OgAwIBAgIUP5JVBKx7xF1KQY8KJaEXKBgHiA0wDQYJKoZIhvcNAQEL\r\nBQAwRTELMAkGA1UEBhMCVVMxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\r\nGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNTA0MTQxOTAwMDBaFw0zNTA0\r\nMTIxOTAwMDBaMEUxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw\r\nHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggIiMA0GCSqGSIb3DQEB\r\nAQUAA4ICDwAwggIKAoICAQDeUK2CvzYPbUZyCqM7aY+rEqAB0OEGqH0FkGvU6Dqd\r\nflL6a+AxtOeIox7Eu+H+SEcUcKIGr3pXCBWs0zB9TcHmvBwTZ9LGP6KLi7Ctw8TD\r\nXB3IOYWZg7nFw4E+6TDsqo8RfJmXUIR5FzaIwL8xf8GB3N7GNGIGNbQ+WYM7Vu9S\r\nkA1GXq/H5Ny/lZM7un7Mg5pGbqYFqEHITx1Q8V5yrUstfiiMi7rVwUEhugLyFLGI\r\nQHdAkqRzHJRSVkBPzxPRgdwYvBg/B4tk8QkIqh6L1A7zfJ8MHmUebP/1Ky9t5i4R\r\nXIF6w43nT9BZ04mIYqZHJQ1BhV8gQgcCXJhQQDcm8wr6euFIQqG7JNJDVg9cvyOc\r\nKF7rQfGQmEuUPd6HJdmJfKJcX1ol+dMI7Y6BhC3Jb7Z2h0vDywB9HoVjwEeF/LGi\r\n/CicYu3fVu1AEyF/weBLjLCE2OVXnUeG3WJKtpzHCneLK3uP5r6o6/Bjmo8k0ByM\r\ne/LTz1UlI3w9tA60GZFBiURd3cWGBUhjZQKf0MI6jiQBMQIrfKD68eeXqbDsS9N9\r\nBpHZaAHcwYQMLnlwluSLlb2bfuaQfVMZ1e8S3ilZgkXADC6LdR7Jcc8vLVN+UVLF\r\nd4rXWF87IlSIoJxQSUcZ5JpYPsQNq3f4UPy7HByHXtzKSEXcMl7KnQFQn2xGLMTb\r\nowIDAQABo1MwUTAdBgNVHQ4EFgQUjVQRU1LCaXSFwD4o0xHdPKUBWJYwHwYDVR0j\r\nBBgwFoAUjVQRU1LCaXSFwD4o0xHdPKUBWJYwDwYDVR0TAQH/BAUwAwEB/zANBgkq\r\nhkiG9w0BAQsFAAOCAgEAfBK5Z6P2RlvHVMRcj8tqZwJIFSpAG6N8m9nw0nMRJfVa\r\nLVhMbz6T/9TQVJPnCTvd8jU/GqW3RbMt6QWQy1umKF1Bi2Jc72JtLiI3iGAdRTCd\r\nrYBdVwOQyh+F+5V0V/xp0C6jJ4VvJJvRzCkpULXMcKN+JfIHN3deQPcN82upDgxz\r\n8tbEQJBcYnJPUOPt8eJaALf9qJCJJVUBR60Z4x9a1JnGi63EGFUBpFJb4KklH7Ft\r\nkO6KpXvCH0NNUDmFR8KcNLln39OCpupdJkCMDiZiNVpNA6wmJJ71SNdNgkI5FmI0\r\nLwAJNl19ZPIzc5WKN5Fve+rkHhpfCHmYtZ8N0FHFI7F6oi+AmCfXE2GUBEqw5QFq\r\ngYHm9lLZCw9wGMGvM9lDhb9EDJ8U5sVyWdI3QrqS3H+UHz+IncCRCxQKcBFTvuVd\r\nQQRpsbqY/GRaiNEJisDWEXbYLGxymfdGREPa+ByB7FmJ/oGrQVP0eR4XjlwfSgUc\r\nZtDTRNjYC8CsV9xYP55FwiWzTobvIvPXXB8R/jN88EBIC8OxGRHfFv4IBvu/FHf7\r\n5e99SM9m9tQ24j+hk6w31vB6jIbO/7ZNtJQwEjrKmh2bA3S/W8Y2GHJzELNtHP5m\r\n4YBQ83uvR8/qRXPKI0QNj6yx77jNiMEYhzOW3q+5XCYiXXZmWHdoJV3MiI3CrZM=\r\n-----END CERTIFICATE-----",
        "circuit_breaker": 10
      }
    }
  ]
}'
EXAMPLE RESPONSE
{ "url": "https://api.buddy.works/workspaces/buddy/sandboxes/vwl4ui498kdmg", "html_url": "https://app.buddy.works/buddy/my-project/sandboxes/vwl4ui498kdmg", "id": "vwl4ui498kdmg", "identifier": "my-new-sandbox", "name": "My New sandbox", "status": "RUNNING", "os": "ubuntu:24.04", "resources": "2x4", "install_commands": "apt-get update\napt-get install -y nginx", "run_command": "nginx -t", "app_dir": "/var/www/html", "app_type": "SERVICE", "tags": [ "purple", "red", "azure" ], "app_status": "ENDED", "boot_logs": [ "Sandbox starting..." ], "setup_status": "DONE", "endpoints": [ { "name": "cqccimvxsc-tcp", "endpoint": "localhost:22", "type": "TCP", "region": "EU", "whitelist": [ "12.34.56.78" ], "timeout": 60 }, { "name": "cqccimvxsc-http", "endpoint": "localhost:8080", "type": "HTTP", "region": "EU", "whitelist": [ "12.34.56.78" ], "timeout": 60, "http": { "verify_certificate": true, "compression": true, "http2": true, "log_requests": true, "request_headers": { "request-header": "tests-request" }, "whitelist_user_agents": [ "Buddy-tests Agent" ], "rewrite_host_header": "buddy-tests.com", "response_headers": { "response-header": "tests-response" }, "login": "user", "password": "pass", "tls_ca": "-----BEGIN CERTIFICATE-----\r\nMIIFazCCA1OgAwIBAgIUP5JVBKx7xF1KQY8KJaEXKBgHiA0wDQYJKoZIhvcNAQEL\r\nBQAwRTELMAkGA1UEBhMCVVMxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\r\nGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNTA0MTQxOTAwMDBaFw0zNTA0\r\nMTIxOTAwMDBaMEUxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw\r\nHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggIiMA0GCSqGSIb3DQEB\r\nAQUAA4ICDwAwggIKAoICAQDeUK2CvzYPbUZyCqM7aY+rEqAB0OEGqH0FkGvU6Dqd\r\nflL6a+AxtOeIox7Eu+H+SEcUcKIGr3pXCBWs0zB9TcHmvBwTZ9LGP6KLi7Ctw8TD\r\nXB3IOYWZg7nFw4E+6TDsqo8RfJmXUIR5FzaIwL8xf8GB3N7GNGIGNbQ+WYM7Vu9S\r\nkA1GXq/H5Ny/lZM7un7Mg5pGbqYFqEHITx1Q8V5yrUstfiiMi7rVwUEhugLyFLGI\r\nQHdAkqRzHJRSVkBPzxPRgdwYvBg/B4tk8QkIqh6L1A7zfJ8MHmUebP/1Ky9t5i4R\r\nXIF6w43nT9BZ04mIYqZHJQ1BhV8gQgcCXJhQQDcm8wr6euFIQqG7JNJDVg9cvyOc\r\nKF7rQfGQmEuUPd6HJdmJfKJcX1ol+dMI7Y6BhC3Jb7Z2h0vDywB9HoVjwEeF/LGi\r\n/CicYu3fVu1AEyF/weBLjLCE2OVXnUeG3WJKtpzHCneLK3uP5r6o6/Bjmo8k0ByM\r\ne/LTz1UlI3w9tA60GZFBiURd3cWGBUhjZQKf0MI6jiQBMQIrfKD68eeXqbDsS9N9\r\nBpHZaAHcwYQMLnlwluSLlb2bfuaQfVMZ1e8S3ilZgkXADC6LdR7Jcc8vLVN+UVLF\r\nd4rXWF87IlSIoJxQSUcZ5JpYPsQNq3f4UPy7HByHXtzKSEXcMl7KnQFQn2xGLMTb\r\nowIDAQABo1MwUTAdBgNVHQ4EFgQUjVQRU1LCaXSFwD4o0xHdPKUBWJYwHwYDVR0j\r\nBBgwFoAUjVQRU1LCaXSFwD4o0xHdPKUBWJYwDwYDVR0TAQH/BAUwAwEB/zANBgkq\r\nhkiG9w0BAQsFAAOCAgEAfBK5Z6P2RlvHVMRcj8tqZwJIFSpAG6N8m9nw0nMRJfVa\r\nLVhMbz6T/9TQVJPnCTvd8jU/GqW3RbMt6QWQy1umKF1Bi2Jc72JtLiI3iGAdRTCd\r\nrYBdVwOQyh+F+5V0V/xp0C6jJ4VvJJvRzCkpULXMcKN+JfIHN3deQPcN82upDgxz\r\n8tbEQJBcYnJPUOPt8eJaALf9qJCJJVUBR60Z4x9a1JnGi63EGFUBpFJb4KklH7Ft\r\nkO6KpXvCH0NNUDmFR8KcNLln39OCpupdJkCMDiZiNVpNA6wmJJ71SNdNgkI5FmI0\r\nLwAJNl19ZPIzc5WKN5Fve+rkHhpfCHmYtZ8N0FHFI7F6oi+AmCfXE2GUBEqw5QFq\r\ngYHm9lLZCw9wGMGvM9lDhb9EDJ8U5sVyWdI3QrqS3H+UHz+IncCRCxQKcBFTvuVd\r\nQQRpsbqY/GRaiNEJisDWEXbYLGxymfdGREPa+ByB7FmJ/oGrQVP0eR4XjlwfSgUc\r\nZtDTRNjYC8CsV9xYP55FwiWzTobvIvPXXB8R/jN88EBIC8OxGRHfFv4IBvu/FHf7\r\n5e99SM9m9tQ24j+hk6w31vB6jIbO/7ZNtJQwEjrKmh2bA3S/W8Y2GHJzELNtHP5m\r\n4YBQ83uvR8/qRXPKI0QNj6yx77jNiMEYhzOW3q+5XCYiXXZmWHdoJV3MiI3CrZM=\r\n-----END CERTIFICATE-----", "circuit_breaker": 10 } } ] }
STATUS
200 OK
LIMITS
X-Rate-Limit-Limit: 1 X-Rate-Limit-Remaining: 999