Skip to main content
PUT
/
v1
/
nodes
/
{id}
/
redeploy
Redeploy a node
curl --request PUT \
  --url https://api.sfcompute.com/v1/nodes/{id}/redeploy \
  --header 'Content-Type: application/json' \
  --data '
{
  "image_id": "vmi_1234567890abcdef",
  "cloud_init_user_data": "aGVsbG8gd29ybGQ=",
  "override_empty": false
}
'
{
  "object": "node",
  "id": "n_b1dc52505c6db143",
  "name": "cuda-crunch",
  "zone": "hayesvalley",
  "gpu_type": "H100",
  "owner": "sfcompute",
  "status": "running",
  "created_at": 1640995200,
  "updated_at": 1640995200,
  "start_at": 1640995200,
  "end_at": 1641007200,
  "max_price_per_node_hour": 1000,
  "node_type": "autoreserved",
  "procurement_id": "proc_b1dc52505c6de142",
  "vms": {
    "object": "list",
    "data": [
      {
        "object": "vm",
        "id": "vm_oldInstance",
        "status": "destroyed",
        "created_at": 1640995200,
        "updated_at": 1640995200,
        "start_at": 1640995200,
        "end_at": 1641007200,
        "image_id": "vmi_old_id",
        "zone": "hayesvalley"
      },
      {
        "object": "vm",
        "id": "vm_newInstance",
        "status": "running",
        "created_at": 1641003600,
        "updated_at": 1641003600,
        "start_at": 1641003600,
        "end_at": 1641007200,
        "image_id": "vmi_new_id",
        "zone": "hayesvalley"
      }
    ]
  },
  "current_vm": {
    "object": "vm",
    "id": "vm_newInstance",
    "status": "running",
    "created_at": 1641003600,
    "updated_at": 1641003600,
    "start_at": 1641003600,
    "end_at": 1641007200,
    "image_id": "vmi_myOZZXw4pfcp7H9DQOldd",
    "zone": "hayesvalley"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.sfcompute.com/llms.txt

Use this file to discover all available pages before exploring further.

Path Parameters

id
string
required

Node ID or name

Body

application/json
image_id
string

Redeploy node with this VM image ID

Example:

"vmi_1234567890abcdef"

cloud_init_user_data
string<byte>

Update the cloud init user data for VMs running on this node Data should be base64 encoded

Example:

"aGVsbG8gd29ybGQ="

override_empty
boolean
default:false

If false, then the new VM will inherit any configuration (like image_id, cloud_init_user_data) that is left empty in this request from the current VM.

If true, then any configuration left empty will be set as empty in the new VM. E.g if cloud_init_user_data is left unset and override_empty is true, then the new VM will not have any cloud init user data. override_empty defaults to false.

Response

Node redeployed successfully

object
string
required
Example:

"node"

id
string
required
Example:

"n_b1dc52505c6db142"

name
string
required
Example:

"cuda-crunch"

gpu_type
enum<string>
required
Available options:
H100,
H200
owner
string
required
Example:

"sfcompute"

status
enum<string>
required

Node Status

Available options:
pending,
awaitingcapacity,
running,
released,
terminated,
deleted,
failed,
unknown
node_type
enum<string>
required
Available options:
autoreserved,
reserved
zone
string | null
Example:

"hayesvalley"

created_at
integer<int64> | null

Creation time as Unix timestamp in seconds

Example:

1640995200

updated_at
integer<int64> | null

Last updated time as Unix timestamp in seconds

Example:

1640995200

start_at
integer<int64> | null

Start time as Unix timestamp in seconds

Example:

1640995200

end_at
integer<int64> | null

End time as Unix timestamp in seconds

Example:

1640995200

deleted_at
integer<int64> | null

Deletion time as Unix timestamp in seconds

Example:

1640995200

procurement_id
string | null
Example:

"proc_b1dc52505c6de142"

max_price_per_node_hour
integer<int64> | null

Max price per hour you're willing to pay for a node in cents

Example:

1000

vms
object
current_vm
object