Create private network allocations and subnets

Create new private network allocations and subnets. This endpoint returns a `subnet_id` to be used with `POST /api/vm/{vmid}/network`. To create a new subnet within an existing allocation, use the `allocationId` obtained from a previous call to `POST /api/private-networks`.

VPS Services VM

Context

Workflow links

Requires
Produces

Headers

Accept Example
Content-Type Example

Body

required
application/json
action string · enum required · Example: create_allocation
create_allocation
create_subnet
allocationId integer · Example: 22
description string · Example: test
name string required · Example: Test

Responses

200
data object required
data.allocation object
data.allocation.client_id string required · Example: 30000
data.allocation.created_at string required · Example: 2026-02-10T00:00:00.000Z
data.allocation.id integer required · Example: 24
data.allocation.metadata object required
data.allocation.metadata.requestedBy string required · Example: 13887
data.allocation.parent_cidr string required · Example: 10.0.0.0/21
data.allocation.parent_subnet_id string required · Example: 893
data.allocation.rack_id string required · Example: dc1r28
data.allocation.status string required · Example: pending_switch
data.allocation.updated_at string required · Example: 2026-02-10T00:00:00.000Z
data.allocationId integer · Example: 22
data.firstSubnet object
data.firstSubnet.allocation_id integer required · Example: 24
data.firstSubnet.cidr string required · Example: 10.0.0.0/24
data.firstSubnet.created_at string required · Example: 2026-02-10T00:00:00.000Z
data.firstSubnet.gateway_ip string required · Example: 10.0.0.0
data.firstSubnet.id integer required · Example: 34
data.firstSubnet.metadata object required
data.firstSubnet.metadata.parentSubnetId integer required · Example: 893
data.firstSubnet.status string required · Example: pending_switch
data.firstSubnet.subnet_id string required · Example: 894
data.firstSubnet.updated_at string required · Example: 2026-02-10T00:00:00.000Z
data.firstSubnet.vlan_id integer required · Example: 233
data.message string required · Example: Private network allocated successfully

Human-readable message.

data.subnet object
data.subnet.allocation_id integer required · Example: 22
data.subnet.cidr string required · Example: 10.0.0.0/24
data.subnet.created_at string required · Example: 2026-02-10T00:00:00.000Z
data.subnet.gateway_ip string required · Example: 10.0.0.0
data.subnet.id integer required · Example: 32
data.subnet.metadata object required
data.subnet.metadata.description string required · Example: Opnsene-proxmox
data.subnet.status string required · Example: pending_switch
data.subnet.subnet_id string required · Example: 882
data.subnet.updated_at string required · Example: 2026-02-10T00:00:00.000Z
data.subnet.vlan_id integer required · Example: 231
requestId string required · Example: 2121ae20-bd9d-41e9-aeeb-5dd1dd1a24ba

Unique request identifier (UUID).

success boolean required · Example: true

True for successful responses.

timestamp string required · Example: 2026-02-10T00:00:00.000Z

ISO 8601 timestamp (UTC).

POST https://cloud.hostup.se/api/private-networks
For AI assistants
cURL
curl -X POST "https://cloud.hostup.se/api/private-networks" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Test",
    "description": "test",
    "action": "create_allocation"
  }'
Response
{
  "success": true,
  "timestamp": "2026-02-10T00:00:00.000Z",
  "requestId": "2121ae20-bd9d-41e9-aeeb-5dd1dd1a24ba",
  "data": {
    "message": "Private network allocated successfully",
    "allocation": {
      "id": 24,
      "client_id": "30000",
      "parent_subnet_id": "893",
      "parent_cidr": "10.0.0.0/21",
      "rack_id": "dc1r28",
      "status": "pending_switch",
      "metadata": {
        "requestedBy": "13887"
      },
      "created_at": "2026-02-10T00:00:00.000Z",
      "updated_at": "2026-02-10T00:00:00.000Z"
    },
    "firstSubnet": {
      "id": 34,
      "allocation_id": 24,
      "subnet_id": "894",
      "cidr": "10.0.0.0/24",
      "vlan_id": 233,
      "gateway_ip": "10.0.0.0",
      "status": "pending_switch",
      "metadata": {
        "parentSubnetId": 893
      },
      "created_at": "2026-02-10T00:00:00.000Z",
      "updated_at": "2026-02-10T00:00:00.000Z"
    }
  }
}
Request Body create_allocation
{
  "name": "Test",
  "description": "test",
  "action": "create_allocation"
}