Use action: "allocate_pool" to add the account-level /48 when the account has none yet. Use action: "create_route" with poolId, vpsId, and prefixLength to route a /48, /56, or /64 to a VPS. prefix is optional; when omitted, the server chooses the first available child prefix in the selected /48.
write:network
Use Authorization: Bearer <token> for API keys. Dashboard sessions may also use hostup_session.
Accept Example Content-Type Example action string · enum
· Example: create_route allocate_pool create_route poolId string
· Example: ripv6_01hxa3b4c5d6e7f8g9h0j1k2m3 Required for `create_route`. Use `pools[].id` from `GET /api/v2/routed-ipv6`.
vpsId string
· Example: vps_01hxa3b4c5d6e7f8g9h0j1k2m5 Required for `create_route`. Use an eligible `destinations[].vpsId` value.
prefixLength integer · enum
· Example: 64 Required for `create_route`; allowed child prefix length.
48 56 64 prefix string
· Example: 2001:db8:1000:100::/56 Optional explicit child prefix. Omit it to let the server choose the first available prefix.
label string
· Example: web subnet Optional customer label for the route.
available boolean
· Example: true reason stringnull
· Example: null allowedPrefixLengths array<integer>
· Example: [48,56,64] pools array<object> pools[].id string required
· Example: ripv6_01hxa3b4c5d6e7f8g9h0j1k2m3 pools[].parentCidr string required
· Example: 2001:db8:1000::/48 pools[].prefixLength integer · enum required
· Example: 48 48 pools[].status string · enum required
· Example: active active pools[].allocatedAt stringnull required
· Example: 2026-06-15T12:00:00.000Z pools[].updatedAt stringnull required
· Example: 2026-06-15T12:00:00.000Z pools[].routes array<object> required pools[].routes[].id string required
· Example: ripv6rt_01hxa3b4c5d6e7f8g9h0j1k2m4 pools[].routes[].prefix string required
· Example: 2001:db8:1000:10::/64 pools[].routes[].prefixLength integer · enum required
· Example: 64 48 56 64 pools[].routes[].nextHop string required
· Example: 2001:db8::10 pools[].routes[].label stringnull required
· Example: web subnet pools[].routes[].vpsId string required
· Example: vps_01hxa3b4c5d6e7f8g9h0j1k2m5 pools[].routes[].vpsName string required
· Example: web-01 pools[].routes[].status string · enum required
· Example: active active pools[].routes[].allocatedAt stringnull required
· Example: 2026-06-15T12:01:00.000Z pools[].routes[].updatedAt stringnull required
· Example: 2026-06-15T12:01:00.000Z pools[].routes[].actions object required pools[].routes[].actions.canDelete object required Whether one routed IPv6 action is currently available.
pools[].routes[].actions.canDelete.allowed boolean required
· Example: true pools[].routes[].actions.canDelete.reason stringnull required
· Example: null pools[].actions object required pools[].actions.canCreateRoute object required Whether one routed IPv6 action is currently available.
pools[].actions.canCreateRoute.allowed boolean required
· Example: true pools[].actions.canCreateRoute.reason stringnull required
· Example: null pools[].actions.canRelease object required Whether one routed IPv6 action is currently available.
pools[].actions.canRelease.allowed boolean required
· Example: true pools[].actions.canRelease.reason stringnull required
· Example: null destinations array<object> destinations[].vpsId string required
· Example: vps_01hxa3b4c5d6e7f8g9h0j1k2m5 destinations[].name string required
· Example: web-01 destinations[].primaryIp stringnull required
· Example: 192.0.2.10 destinations[].nextHop stringnull required
· Example: 2001:db8::10 destinations[].serviceStatus string required
· Example: active destinations[].actions object required destinations[].actions.canReceiveRoute object required Whether one routed IPv6 action is currently available.
destinations[].actions.canReceiveRoute.allowed boolean required
· Example: true destinations[].actions.canReceiveRoute.reason stringnull required
· Example: null actions object actions.canAllocatePool object required Whether one routed IPv6 action is currently available.
actions.canAllocatePool.allowed boolean required
· Example: true actions.canAllocatePool.reason stringnull required
· Example: null actions.canCreateRoute object required Whether one routed IPv6 action is currently available.
actions.canCreateRoute.allowed boolean required
· Example: true actions.canCreateRoute.reason stringnull required
· Example: null 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 No response body
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/routed-ipv6 curl -X POST "https://cloud.hostup.se/api/v2/routed-ipv6" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"action": "allocate_pool"
}' {
"available": true,
"reason": null,
"allowedPrefixLengths": [
48,
56,
64
],
"pools": [],
"destinations": [],
"actions": {
"canAllocatePool": {
"allowed": true,
"reason": null
},
"canCreateRoute": {
"allowed": false,
"reason": "Add a routed /48 before creating routes."
}
}
} {
"action": "allocate_pool"
}