Create a private network for Cloud VPS workflows. name is required and capped at 100 characters. parentCidr is optional; when supplied it must be a /21. If omitted, the server allocates a parent range and creates the first /24 subnet.
write:network
Use Authorization: Bearer <token> for API keys. Dashboard sessions may also use hostup_session.
Accept Example Content-Type Example name string required
· Example: production-private region string
· Example: stockholm description stringnull
· Example: Private backend network parentCidr string
· Example: 10.42.0.0/21 id string required
· Example: pnet_01hxa3b4c5d6e7f8g9h0j1k2m3 name string required
· Example: production-private parentCidr string required
· Example: 10.42.0.0/21 region stringnull required
· Example: stockholm status string · enum required
· Example: active provisioning active deprovisioning retired unknown subnetCount number required
· Example: 1 attachedVpsCount number required
· Example: 0 subnets array<object> required subnets[].id string required
· Example: subnet_01hxa3b4c5d6e7f8g9h0j1k2m3 subnets[].subnetCidr string required
· Example: 10.42.0.0/24 subnets[].vlanTag numbernull required
· Example: 253 subnets[].gateway stringnull required
· Example: 10.42.0.1 subnets[].status string · enum required
· Example: active provisioning active deprovisioning retired unknown attachedVps array<object> required attachedVps[].id string required
· Example: vps_01hxa3b4c5d6e7f8g9h0j1k2m3 attachedVps[].name string required
· Example: web-01 attachedVps[].primaryIp stringnull required
· Example: 10.42.0.10 actions object required actions.canDelete object required actions.canDelete.allowed boolean required
· Example: true actions.canDelete.reason stringnull required
· Example: null actions.canAddSubnet object required actions.canAddSubnet.allowed boolean required
· Example: true actions.canAddSubnet.reason stringnull required
· Example: null createdAt string required
· Example: 2026-04-27T12:00:00.000Z type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on `detail`.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when `code` is `invalid_request`.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on `detail`.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when `code` is `invalid_request`.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on `detail`.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when `code` is `invalid_request`.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on `detail`.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when `code` is `invalid_request`.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on `detail`.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when `code` is `invalid_request`.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on `detail`.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when `code` is `invalid_request`.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object https://cloud.hostup.se/api/v2/private-networks curl -X POST "https://cloud.hostup.se/api/v2/private-networks" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "production-private",
"region": "stockholm",
"description": "Private backend network"
}' {
"id": "pnet_01hxa3b4c5d6e7f8g9h0j1k2m3",
"name": "production-private",
"parentCidr": "10.201.64.0/21",
"region": "dc1r28",
"status": "provisioning",
"subnetCount": 1,
"attachedVpsCount": 0,
"subnets": [
{
"id": "subnet_01hxa3b4c5d6e7f8g9h0j1k2m3",
"subnetCidr": "10.201.64.0/24",
"vlanTag": 253,
"gateway": "203.0.113.10",
"status": "provisioning"
}
],
"attachedVps": [],
"actions": {
"canDelete": {
"allowed": false,
"reason": "Retire all child subnets before deleting."
},
"canAddSubnet": {
"allowed": false,
"reason": "Private network limit reached."
}
},
"createdAt": "2026-04-27T12:00:00.000Z"
} {
"name": "production-private",
"region": "stockholm",
"description": "Private backend network"
}