Nodes
Was this helpful?
Was this helpful?
Get node details by ID
GET /api/nodes/{id} HTTP/1.1
Host: localhost:3000
Authorization: Bearer JWT
Accept: */*
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"fqdn": "text",
"port": 1,
"regionId": "123e4567-e89b-12d3-a456-426614174000",
"isOnline": true,
"lastChecked": "2025-05-20T01:15:54.605Z",
"allocations": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"nodeId": "123e4567-e89b-12d3-a456-426614174000",
"bindAddress": "text",
"port": 1,
"alias": "text",
"notes": "text",
"assigned": true,
"serverId": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"region": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"identifier": "text",
"countryId": "text",
"fallbackRegionId": "123e4567-e89b-12d3-a456-426614174000",
"serverLimit": 1,
"stats": {
"serverCount": 1,
"nodeCount": 1,
"onlineNodeCount": 1,
"atCapacity": true
},
"nodes": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"fqdn": "text",
"port": 1,
"regionId": "123e4567-e89b-12d3-a456-426614174000",
"isOnline": true,
"lastChecked": "2025-05-20T01:15:54.605Z",
"allocations": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"nodeId": "123e4567-e89b-12d3-a456-426614174000",
"bindAddress": "text",
"port": 1,
"alias": "text",
"notes": "text",
"assigned": true,
"serverId": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"region": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"identifier": "text",
"countryId": "text",
"fallbackRegionId": "123e4567-e89b-12d3-a456-426614174000",
"serverLimit": 1,
"stats": {
"serverCount": 1,
"nodeCount": 1,
"onlineNodeCount": 1,
"atCapacity": true
},
"nodes": [
"[Circular Reference]"
],
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
},
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
},
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
Delete a server node
DELETE /api/nodes/{id} HTTP/1.1
Host: localhost:3000
Authorization: Bearer JWT
Accept: */*
No content
List all nodes in a specific region
GET /api/nodes/region/{regionId} HTTP/1.1
Host: localhost:3000
Authorization: Bearer JWT
Accept: */*
[
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"fqdn": "text",
"port": 1,
"regionId": "123e4567-e89b-12d3-a456-426614174000",
"isOnline": true,
"lastChecked": "2025-05-20T01:15:54.605Z",
"allocations": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"nodeId": "123e4567-e89b-12d3-a456-426614174000",
"bindAddress": "text",
"port": 1,
"alias": "text",
"notes": "text",
"assigned": true,
"serverId": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"region": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"identifier": "text",
"countryId": "text",
"fallbackRegionId": "123e4567-e89b-12d3-a456-426614174000",
"serverLimit": 1,
"stats": {
"serverCount": 1,
"nodeCount": 1,
"onlineNodeCount": 1,
"atCapacity": true
},
"nodes": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"fqdn": "text",
"port": 1,
"regionId": "123e4567-e89b-12d3-a456-426614174000",
"isOnline": true,
"lastChecked": "2025-05-20T01:15:54.605Z",
"allocations": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"nodeId": "123e4567-e89b-12d3-a456-426614174000",
"bindAddress": "text",
"port": 1,
"alias": "text",
"notes": "text",
"assigned": true,
"serverId": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"region": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"identifier": "text",
"countryId": "text",
"fallbackRegionId": "123e4567-e89b-12d3-a456-426614174000",
"serverLimit": 1,
"stats": {
"serverCount": 1,
"nodeCount": 1,
"onlineNodeCount": 1,
"atCapacity": true
},
"nodes": "[Circular Reference]",
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
},
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
},
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
]
List all server nodes
GET /api/nodes HTTP/1.1
Host: localhost:3000
Authorization: Bearer JWT
Accept: */*
[
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"fqdn": "text",
"port": 1,
"regionId": "123e4567-e89b-12d3-a456-426614174000",
"isOnline": true,
"lastChecked": "2025-05-20T01:15:54.605Z",
"allocations": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"nodeId": "123e4567-e89b-12d3-a456-426614174000",
"bindAddress": "text",
"port": 1,
"alias": "text",
"notes": "text",
"assigned": true,
"serverId": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"region": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"identifier": "text",
"countryId": "text",
"fallbackRegionId": "123e4567-e89b-12d3-a456-426614174000",
"serverLimit": 1,
"stats": {
"serverCount": 1,
"nodeCount": 1,
"onlineNodeCount": 1,
"atCapacity": true
},
"nodes": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"fqdn": "text",
"port": 1,
"regionId": "123e4567-e89b-12d3-a456-426614174000",
"isOnline": true,
"lastChecked": "2025-05-20T01:15:54.605Z",
"allocations": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"nodeId": "123e4567-e89b-12d3-a456-426614174000",
"bindAddress": "text",
"port": 1,
"alias": "text",
"notes": "text",
"assigned": true,
"serverId": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"region": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"identifier": "text",
"countryId": "text",
"fallbackRegionId": "123e4567-e89b-12d3-a456-426614174000",
"serverLimit": 1,
"stats": {
"serverCount": 1,
"nodeCount": 1,
"onlineNodeCount": 1,
"atCapacity": true
},
"nodes": "[Circular Reference]",
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
},
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
},
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
]
Create a new server node
^(localhost|[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}|(\d{1,3}\.){3}\d{1,3})$
POST /api/nodes HTTP/1.1
Host: localhost:3000
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 38
{
"name": "text",
"fqdn": "text",
"port": 1
}
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"fqdn": "text",
"port": 1,
"regionId": "123e4567-e89b-12d3-a456-426614174000",
"isOnline": true,
"lastChecked": "2025-05-20T01:15:54.605Z",
"allocations": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"nodeId": "123e4567-e89b-12d3-a456-426614174000",
"bindAddress": "text",
"port": 1,
"alias": "text",
"notes": "text",
"assigned": true,
"serverId": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"region": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"identifier": "text",
"countryId": "text",
"fallbackRegionId": "123e4567-e89b-12d3-a456-426614174000",
"serverLimit": 1,
"stats": {
"serverCount": 1,
"nodeCount": 1,
"onlineNodeCount": 1,
"atCapacity": true
},
"nodes": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"fqdn": "text",
"port": 1,
"regionId": "123e4567-e89b-12d3-a456-426614174000",
"isOnline": true,
"lastChecked": "2025-05-20T01:15:54.605Z",
"allocations": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"nodeId": "123e4567-e89b-12d3-a456-426614174000",
"bindAddress": "text",
"port": 1,
"alias": "text",
"notes": "text",
"assigned": true,
"serverId": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"region": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"identifier": "text",
"countryId": "text",
"fallbackRegionId": "123e4567-e89b-12d3-a456-426614174000",
"serverLimit": 1,
"stats": {
"serverCount": 1,
"nodeCount": 1,
"onlineNodeCount": 1,
"atCapacity": true
},
"nodes": [
"[Circular Reference]"
],
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
},
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
},
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
Update node details
^(localhost|[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}|(\d{1,3}\.){3}\d{1,3})$
PATCH /api/nodes/{id} HTTP/1.1
Host: localhost:3000
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 38
{
"name": "text",
"fqdn": "text",
"port": 1
}
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"fqdn": "text",
"port": 1,
"regionId": "123e4567-e89b-12d3-a456-426614174000",
"isOnline": true,
"lastChecked": "2025-05-20T01:15:54.605Z",
"allocations": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"nodeId": "123e4567-e89b-12d3-a456-426614174000",
"bindAddress": "text",
"port": 1,
"alias": "text",
"notes": "text",
"assigned": true,
"serverId": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"region": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"identifier": "text",
"countryId": "text",
"fallbackRegionId": "123e4567-e89b-12d3-a456-426614174000",
"serverLimit": 1,
"stats": {
"serverCount": 1,
"nodeCount": 1,
"onlineNodeCount": 1,
"atCapacity": true
},
"nodes": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"fqdn": "text",
"port": 1,
"regionId": "123e4567-e89b-12d3-a456-426614174000",
"isOnline": true,
"lastChecked": "2025-05-20T01:15:54.605Z",
"allocations": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"nodeId": "123e4567-e89b-12d3-a456-426614174000",
"bindAddress": "text",
"port": 1,
"alias": "text",
"notes": "text",
"assigned": true,
"serverId": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"region": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"identifier": "text",
"countryId": "text",
"fallbackRegionId": "123e4567-e89b-12d3-a456-426614174000",
"serverLimit": 1,
"stats": {
"serverCount": 1,
"nodeCount": 1,
"onlineNodeCount": 1,
"atCapacity": true
},
"nodes": [
"[Circular Reference]"
],
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
},
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
},
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
Assign a node to a region
PATCH /api/nodes/{id}/region HTTP/1.1
Host: localhost:3000
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 51
{
"regionId": "123e4567-e89b-12d3-a456-426614174000"
}
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"fqdn": "text",
"port": 1,
"regionId": "123e4567-e89b-12d3-a456-426614174000",
"isOnline": true,
"lastChecked": "2025-05-20T01:15:54.605Z",
"allocations": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"nodeId": "123e4567-e89b-12d3-a456-426614174000",
"bindAddress": "text",
"port": 1,
"alias": "text",
"notes": "text",
"assigned": true,
"serverId": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"region": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"identifier": "text",
"countryId": "text",
"fallbackRegionId": "123e4567-e89b-12d3-a456-426614174000",
"serverLimit": 1,
"stats": {
"serverCount": 1,
"nodeCount": 1,
"onlineNodeCount": 1,
"atCapacity": true
},
"nodes": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"fqdn": "text",
"port": 1,
"regionId": "123e4567-e89b-12d3-a456-426614174000",
"isOnline": true,
"lastChecked": "2025-05-20T01:15:54.605Z",
"allocations": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"nodeId": "123e4567-e89b-12d3-a456-426614174000",
"bindAddress": "text",
"port": 1,
"alias": "text",
"notes": "text",
"assigned": true,
"serverId": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"region": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"identifier": "text",
"countryId": "text",
"fallbackRegionId": "123e4567-e89b-12d3-a456-426614174000",
"serverLimit": 1,
"stats": {
"serverCount": 1,
"nodeCount": 1,
"onlineNodeCount": 1,
"atCapacity": true
},
"nodes": [
"[Circular Reference]"
],
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
},
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}
],
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
},
"createdAt": "2025-05-20T01:15:54.605Z",
"updatedAt": "2025-05-20T01:15:54.605Z"
}