Nodes

Create nodes

Create VM nodes

post/v1/nodes

Request body

desired_countinteger required
zonestring

Zone to create the nodes in. Required for auto reserved nodes if any_zone is false.

any_zoneboolean

Allow auto reserved nodes to be created in any zone that meets the requirements

max_price_per_node_hourinteger required

Max price per hour for a node in cents

start_atinteger

Start time as Unix timestamp in seconds Optional for reserved nodes. If not provided, defaults to now

end_atinteger nullable

End time as Unix timestamp in seconds If provided, end time must be aligned to the hour If not provided, the node will be created as an autoreserved node

node_type'autoreserved' | 'reserved'
namesstring[]

Custom node names Names cannot begin with 'vm_' or 'n_' as this is reserved for system-generated IDs Names cannot be numeric strings Names cannot exceed 256 characters

cloud_init_user_datastring byte

User script to be executed during the VM's boot process Data should be base64 encoded

image_idstring

Custom image ID to use for the VM instances

forward_443boolean

(Optional) If set, enables forwarding to the VM on port 443.

_preview_enable_infinibandboolean

Experimental — subject to change or removal without notice. Enables InfiniBand. Requires hardware in the chosen zone that supports InfiniBand.

Example request

{
  "desired_count": 1,
  "zone": "hayesvalley",
  "max_price_per_node_hour": 1600,
  "start_at": 1640995200,
  "names": [
    "cuda-crunch"
  ],
  "cloud_init_user_data": "aGVsbG8gd29ybGQ=",
  "image_id": "image_1234567890abcdef"
}

Response

Nodes created successfully

objectstring required

Example response

{
  "object": "list",
  "data": [
    {
      "object": "node",
      "id": "n_b1dc52505c6db142",
      "name": "cuda-crunch",
      "zone": "hayesvalley",
      "owner": "sfcompute",
      "created_at": 1640995200,
      "updated_at": 1640995200,
      "start_at": 1640995200,
      "end_at": 1640995200,
      "deleted_at": 1640995200,
      "procurement_id": "proc_b1dc52505c6de142",
      "max_price_per_node_hour": 1000,
      "vms": {
        "object": "list",
        "data": [
          {
            "object": "vm",
            "id": "vm_myOZZXw4pfcp7H9DQOldd",
            "created_at": 1640995200,
            "updated_at": 1640995200,
            "start_at": 1640995200,
            "end_at": 1640998200,
            "image_id": "image_myOZZXw4pfcp7H9DQOldd",
            "zone": "hayesvalley"
          }
        ]
      },
      "current_vm": {
        "object": "vm",
        "id": "vm_myOZZXw4pfcp7H9DQOldd",
        "created_at": 1640995200,
        "updated_at": 1640995200,
        "start_at": 1640995200,
        "end_at": 1640998200,
        "image_id": "image_myOZZXw4pfcp7H9DQOldd",
        "zone": "hayesvalley"
      }
    }
  ]
}

Changes

Changed in 6 of the 44 revisions of this API.1072

  • 63632dd3473b11See the full diff
    • removed the request property enable_infiniband

      request-property-removed

    • added the new optional request property _preview_enable_infiniband

      new-optional-request-property

  • b819ba3108b3461See the full diff
    • removed the optional property error/details from the response with the 401 status

      response-optional-property-removed

    • removed the optional property error/details from the response with the 402 status

      response-optional-property-removed

    • removed the optional property error/details from the response with the 403 status

      response-optional-property-removed

    • removed the optional property error/details from the response with the 500 status

      response-optional-property-removed

    • added the new optional request property enable_infiniband

      new-optional-request-property

    • removed the api_error enum value from the error/type response property for the response status 400

      response-property-enum-value-removed

    • removed the api_error enum value from the error/type response property for the response status 401

      response-property-enum-value-removed

    • removed the api_error enum value from the error/type response property for the response status 402

      response-property-enum-value-removed

    • removed the api_error enum value from the error/type response property for the response status 403

      response-property-enum-value-removed

    • removed the authentication_error enum value from the error/type response property for the response status 400

      response-property-enum-value-removed

    • removed the authentication_error enum value from the error/type response property for the response status 402

      response-property-enum-value-removed

    • removed the authentication_error enum value from the error/type response property for the response status 403

      response-property-enum-value-removed

    • removed the authentication_error enum value from the error/type response property for the response status 500

      response-property-enum-value-removed

    • removed the conflict enum value from the error/type response property for the response status 400

      response-property-enum-value-removed

    • removed the conflict enum value from the error/type response property for the response status 401

      response-property-enum-value-removed

    • removed the conflict enum value from the error/type response property for the response status 402

      response-property-enum-value-removed

    • removed the conflict enum value from the error/type response property for the response status 403

      response-property-enum-value-removed

    • removed the conflict enum value from the error/type response property for the response status 500

      response-property-enum-value-removed

    • removed the forbidden enum value from the error/type response property for the response status 400

      response-property-enum-value-removed

    • removed the forbidden enum value from the error/type response property for the response status 401

      response-property-enum-value-removed

    • removed the forbidden enum value from the error/type response property for the response status 402

      response-property-enum-value-removed

    • removed the forbidden enum value from the error/type response property for the response status 500

      response-property-enum-value-removed

    • removed the idempotency_error enum value from the error/type response property for the response status 400

      response-property-enum-value-removed

    • removed the idempotency_error enum value from the error/type response property for the response status 401

      response-property-enum-value-removed

    • removed the idempotency_error enum value from the error/type response property for the response status 402

      response-property-enum-value-removed

    • removed the idempotency_error enum value from the error/type response property for the response status 403

      response-property-enum-value-removed

    • removed the idempotency_error enum value from the error/type response property for the response status 500

      response-property-enum-value-removed

    • removed the invalid_request_error enum value from the error/type response property for the response status 401

      response-property-enum-value-removed

    • removed the invalid_request_error enum value from the error/type response property for the response status 402

      response-property-enum-value-removed

    • removed the invalid_request_error enum value from the error/type response property for the response status 403

      response-property-enum-value-removed

    • removed the invalid_request_error enum value from the error/type response property for the response status 500

      response-property-enum-value-removed

    • removed the not_found enum value from the error/type response property for the response status 400

      response-property-enum-value-removed

    • removed the not_found enum value from the error/type response property for the response status 401

      response-property-enum-value-removed

    • removed the not_found enum value from the error/type response property for the response status 402

      response-property-enum-value-removed

    • removed the not_found enum value from the error/type response property for the response status 403

      response-property-enum-value-removed

    • removed the not_found enum value from the error/type response property for the response status 500

      response-property-enum-value-removed

    • removed the not_implemented enum value from the error/type response property for the response status 400

      response-property-enum-value-removed

    • removed the not_implemented enum value from the error/type response property for the response status 401

      response-property-enum-value-removed

    • removed the not_implemented enum value from the error/type response property for the response status 402

      response-property-enum-value-removed

    • removed the not_implemented enum value from the error/type response property for the response status 403

      response-property-enum-value-removed

    • removed the not_implemented enum value from the error/type response property for the response status 500

      response-property-enum-value-removed

    • removed the payment_required enum value from the error/type response property for the response status 400

      response-property-enum-value-removed

    • removed the payment_required enum value from the error/type response property for the response status 401

      response-property-enum-value-removed

    • removed the payment_required enum value from the error/type response property for the response status 403

      response-property-enum-value-removed

    • removed the payment_required enum value from the error/type response property for the response status 500

      response-property-enum-value-removed

    • removed the request_timed_out enum value from the error/type response property for the response status 400

      response-property-enum-value-removed

    • removed the request_timed_out enum value from the error/type response property for the response status 401

      response-property-enum-value-removed

    • removed the request_timed_out enum value from the error/type response property for the response status 402

      response-property-enum-value-removed

    • removed the request_timed_out enum value from the error/type response property for the response status 403

      response-property-enum-value-removed

    • removed the request_timed_out enum value from the error/type response property for the response status 500

      response-property-enum-value-removed

    • removed the service_unavailable enum value from the error/type response property for the response status 400

      response-property-enum-value-removed

    • removed the service_unavailable enum value from the error/type response property for the response status 401

      response-property-enum-value-removed

    • removed the service_unavailable enum value from the error/type response property for the response status 402

      response-property-enum-value-removed

    • removed the service_unavailable enum value from the error/type response property for the response status 403

      response-property-enum-value-removed

    • removed the service_unavailable enum value from the error/type response property for the response status 500

      response-property-enum-value-removed

    • removed the unprocessable_entity enum value from the error/type response property for the response status 400

      response-property-enum-value-removed

    • removed the unprocessable_entity enum value from the error/type response property for the response status 401

      response-property-enum-value-removed

    • removed the unprocessable_entity enum value from the error/type response property for the response status 402

      response-property-enum-value-removed

    • removed the unprocessable_entity enum value from the error/type response property for the response status 403

      response-property-enum-value-removed

    • removed the unprocessable_entity enum value from the error/type response property for the response status 500

      response-property-enum-value-removed

    • removed the upgrade_required enum value from the error/type response property for the response status 400

      response-property-enum-value-removed

    • removed the upgrade_required enum value from the error/type response property for the response status 401

      response-property-enum-value-removed

    • removed the upgrade_required enum value from the error/type response property for the response status 402

      response-property-enum-value-removed

    • removed the upgrade_required enum value from the error/type response property for the response status 403

      response-property-enum-value-removed

    • removed the upgrade_required enum value from the error/type response property for the response status 500

      response-property-enum-value-removed

    This revision also has 20 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • added the new optional request property forward_443

      new-optional-request-property

    • removed the resource_unavailable enum value from the error/type response property for the response status 400

      response-property-enum-value-removed

    • removed the resource_unavailable enum value from the error/type response property for the response status 401

      response-property-enum-value-removed

    • removed the resource_unavailable enum value from the error/type response property for the response status 402

      response-property-enum-value-removed

    • removed the resource_unavailable enum value from the error/type response property for the response status 403

      response-property-enum-value-removed

    • removed the resource_unavailable enum value from the error/type response property for the response status 500

      response-property-enum-value-removed

    • added the new resource_unavailable enum value to the error/type response property for the response status 400

      response-property-enum-value-added

    • added the new resource_unavailable enum value to the error/type response property for the response status 401

      response-property-enum-value-added

    • added the new resource_unavailable enum value to the error/type response property for the response status 402

      response-property-enum-value-added

    • added the new resource_unavailable enum value to the error/type response property for the response status 403

      response-property-enum-value-added

    • added the new resource_unavailable enum value to the error/type response property for the response status 500

      response-property-enum-value-added

    • added the new optional request property any_zone

      new-optional-request-property

    • the request property zone became optional

      request-property-became-optional

    • added the required property data/items/current_vm/oneOf[node-api_Vm]/zone to the response with the 201 status

      response-required-property-added

    • added the required property data/items/vms/oneOf[node-api_VmList]/data/items/zone to the response with the 201 status

      response-required-property-added

    This revision also has 2 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog