Skip to content

Open an authenticated SSH WebSocket to a running node

GET
/v1/spot/nodes/{id}/ssh
curl --request GET \
--url https://example.com/v1/spot/nodes/example/ssh \
--header 'Authorization: Bearer <token>'

Use nodus spot ssh NODE_ID with the private key matching a public SSH key installed on the node. Keep the private key on your machine. This endpoint upgrades HTTP to a WebSocket carrying binary SSH bytes; it does not return JSON or run a shell command itself. Send a bearer token with organization-wide spot:write access in the Authorization header. Project-restricted keys, browser Origin headers and query parameters are not accepted. The connection closes after node release or credential revocation is detected.

id
required
string
Nodus-Org
string

Organization to select with a user token; API keys are already scoped.

Switching protocols to a binary WebSocket carrying SSH

Spot error or platform Status before the WebSocket upgrade

Media type application/json
Any of:
object
current_price
number format: double
error
required
string
message
string
retry_after
integer format: int64
Example
{
"apiVersion": "v1",
"kind": "Status",
"status": "Failure"
}

Authentication failed

Media type application/json
object
apiVersion
required
string
Allowed values: v1
code
required
integer
kind
required
string
Allowed values: Status
message
required
string
reason
required
string
status
required
string
Allowed values: Failure
Example
{
"apiVersion": "v1",
"kind": "Status",
"status": "Failure"
}

Spot error or platform Status before the WebSocket upgrade

Media type application/json
Any of:
object
current_price
number format: double
error
required
string
message
string
retry_after
integer format: int64
Example
{
"apiVersion": "v1",
"kind": "Status",
"status": "Failure"
}

Spot error or platform Status before the WebSocket upgrade

Media type application/json
Any of:
object
current_price
number format: double
error
required
string
message
string
retry_after
integer format: int64
Example
{
"apiVersion": "v1",
"kind": "Status",
"status": "Failure"
}

Spot error or platform Status before the WebSocket upgrade

Media type application/json
Any of:
object
current_price
number format: double
error
required
string
message
string
retry_after
integer format: int64
Example
{
"apiVersion": "v1",
"kind": "Status",
"status": "Failure"
}

Request rate limit or daily stream egress quota exceeded

Media type application/json
object
apiVersion
required
string
Allowed values: v1
code
required
integer
kind
required
string
Allowed values: Status
message
required
string
reason
required
string
status
required
string
Allowed values: Failure
Example
{
"apiVersion": "v1",
"kind": "Status",
"status": "Failure"
}

Spot error or platform Status before the WebSocket upgrade

Media type application/json
Any of:
object
current_price
number format: double
error
required
string
message
string
retry_after
integer format: int64
Example
{
"apiVersion": "v1",
"kind": "Status",
"status": "Failure"
}

Spot error or platform Status before the WebSocket upgrade

Media type application/json
Any of:
object
current_price
number format: double
error
required
string
message
string
retry_after
integer format: int64
Example
{
"apiVersion": "v1",
"kind": "Status",
"status": "Failure"
}