Skip to main content
POST
curl

Body

application/json
name
string
required

Node name

Maximum string length: 63
Pattern: ^[A-Za-z0-9_-]+$
public_ssh_host
string

Conditionally required.

Maximum string length: 255
platform
enum<string>

linux for Ubuntu service Nodes, or macos for tools on an existing account; no default account or address

Available options:
linux,
macos
architecture
string | null

Node machine architecture; defaults to the architecture observed on the machine and must match it when given

tld
string | null

Node TLD; required for production clone preview domains

Maximum string length: 253
Pattern: ^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$(?![\s\S])
public_ssh_port
integer
Required range: 1 <= x <= 65535
user
string

Bootstrap SSH user; root for a new Linux node, the managed user for an existing one; macOS requires the account

orbit_user
string

Managed user; Linux defaults to orbit, and macOS requires the same existing account as user

roles
enum<string>[]
Available options:
gateway,
vpn,
router,
ingress,
app-dev,
app-prod,
metrics,
database,
websocket,
analytics
cluster_id
integer | null
Required range: x >= 1
wireguard_ip
string | null

Stable WireGuard address; Linux allocates when omitted. macOS requires the existing one and does not replace it

lan_ip
string<ipv4> | null

Optional Cluster-local LAN IPv4 address

wireguard_endpoint_override
string | null
Maximum string length: 255
dns_server_override
string | null
host_key_fingerprint
string | null

Approved SSH SHA256 host key fingerprint

Pattern: ^SHA256:[A-Za-z0-9+/]{43}$(?![\s\S])

Response

The request succeeded; an exact retry returned the existing record.

data
object
required
meta
object
required