Returns the account-level routed IPv6 state: allocated /48 pools, active routed subnets, eligible VPS destinations, allowed route prefix lengths, and action gates. Self-service allocation is available only when the account has no routed /48 yet; migrated accounts may still show more than one pool. Consumers should use actions and destination actions.canReceiveRoute instead of inferring readiness from VPS fields.
read:networkread:vm
Use Authorization: Bearer <token> for API keys. Dashboard sessions may also use hostup_session.
Accept Example Content-Type Example 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 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 GET "https://cloud.hostup.se/api/v2/routed-ipv6" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" {
"available": true,
"reason": null,
"allowedPrefixLengths": [
48,
56,
64
],
"pools": [
{
"id": "ripv6_01hxa3b4c5d6e7f8g9h0j1k2m3",
"parentCidr": "2001:db8:1000::/48",
"prefixLength": 48,
"status": "active",
"allocatedAt": "2026-06-15T12:00:00.000Z",
"updatedAt": "2026-06-15T12:00:00.000Z",
"routes": [
{
"id": "ripv6rt_01hxa3b4c5d6e7f8g9h0j1k2m4",
"prefix": "2001:db8:1000:10::/64",
"prefixLength": 64,
"nextHop": "2001:db8::10",
"label": "web subnet",
"vpsId": "vps_01hxa3b4c5d6e7f8g9h0j1k2m5",
"vpsName": "web-01",
"status": "active",
"allocatedAt": "2026-06-15T12:01:00.000Z",
"updatedAt": "2026-06-15T12:01:00.000Z",
"actions": {
"canDelete": {
"allowed": true,
"reason": null
}
}
}
],
"actions": {
"canCreateRoute": {
"allowed": true,
"reason": null
},
"canRelease": {
"allowed": false,
"reason": "Remove routed subnets before releasing this /48."
}
}
}
],
"destinations": [
{
"vpsId": "vps_01hxa3b4c5d6e7f8g9h0j1k2m5",
"name": "web-01",
"primaryIp": "192.0.2.10",
"nextHop": "2001:db8::10",
"serviceStatus": "active",
"actions": {
"canReceiveRoute": {
"allowed": true,
"reason": null
}
}
}
],
"actions": {
"canAllocatePool": {
"allowed": false,
"reason": "This account already has a routed /48."
},
"canCreateRoute": {
"allowed": true,
"reason": null
}
}
}