List shared-hosting / webhotel plans that can be ordered through POST /api/v2/orders. Use data[].slug as items[].productSlug on a shared_hosting order item, set items[].primaryDomain to the domain the hosting account should use, and pick one of the returned billingCycles[].billingCycle values. Only order products where available is true. This is a product catalog endpoint, not the endpoint for existing shared-hosting accounts; use GET /api/v2/shared-hosting for provisioned accounts.
No authentication required.
limit integer · min: 1 · max: 100
· Example: 20 Maximum shared-hosting products to return in this page. Defaults to 20 and is capped at 100.
cursor string Opaque cursor returned as `nextCursor` from the previous page.
locale string · enum
· Example: en Optional label locale. Supported values are `en` and `sv`; unsupported values fall back to English.
en sv Accept Example Content-Type Example data array<object> required data[].id string required
· Example: shprod_01hxa3b4c5d6e7f8g9h0j1k2m3 Public shared-hosting product ID. Use `slug` for orders; keep `id` for product detail lookups.
data[].slug string required
· Example: webbhotell-start Canonical value to send as `items[].productSlug` in `POST /api/v2/orders`.
data[].tier string required
· Example: start Short plan tier used for display and sorting.
data[].name string required
· Example: Webbhotell Start data[].resources object required data[].resources.cpuCores numbernull required
· Example: 1 CPU core or CPU-time allowance. `null` means unlimited or not published by the upstream catalog.
data[].resources.memoryGb numbernull required
· Example: 1 RAM allowance in GB. `null` means unlimited or not published by the upstream catalog.
data[].resources.storageGb numbernull required
· Example: 20 Disk quota in GB. `null` means unlimited.
data[].resources.bandwidthGb numbernull required
· Example: 1024 Traffic quota in GB. `null` means unlimited.
data[].resources.emailAccountLimit integernull required
· Example: 10 Mailbox limit. `null` means unlimited.
data[].resources.databaseLimit integernull required
· Example: 5 Database limit. `null` means unlimited.
data[].billing object required data[].billing.amount number required
· Example: 99 Amount for the primary/default billing cycle.
data[].billing.currencyCode string required
· Example: SEK data[].billing.billingCycle string · enum required
· Example: annually monthly annually free data[].billingCycles array<object> required Enabled billing cycles. Use one of these `billingCycle` values in the shared-hosting order item.
data[].billingCycles[].billingCycle string · enum required
· Example: annually monthly annually free data[].billingCycles[].amount number required
· Example: 990 data[].billingCycles[].currencyCode string required
· Example: SEK data[].billingCycles[].setupAmount numbernull required
· Example: null data[].billingCycles[].isPrimary boolean required
· Example: true data[].availabilityStatus string · enum required
· Example: available `available` is orderable; `out_of_stock` means do not create an order for that plan.
available out_of_stock hidden data[].available boolean required
· Example: true data[].reason stringnull required
· Example: null Customer-facing reason when `available` is false.
data[].controlPanel object required data[].controlPanel.type string · enum required
· Example: cpanel cpanel data[].controlPanel.supportsWhm boolean
· Example: true Present only for reseller-style plans that include WHM.
hasMore boolean required
· Example: false nextCursor 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 https://cloud.hostup.se/api/v2/products/shared-hosting curl -X GET "https://cloud.hostup.se/api/v2/products/shared-hosting" \
-H "Accept: application/json" {
"data": [
{
"id": "shprod_01hxa3b4c5d6e7f8g9h0j1k2m3",
"slug": "webbhotell-start",
"tier": "start",
"name": "Webbhotell Start",
"resources": {
"cpuCores": 1,
"memoryGb": 1,
"storageGb": 20,
"bandwidthGb": 1024,
"emailAccountLimit": 10,
"databaseLimit": 5
},
"billing": {
"amount": 990,
"currencyCode": "SEK",
"billingCycle": "annually"
},
"billingCycles": [
{
"billingCycle": "monthly",
"amount": 99,
"currencyCode": "SEK",
"setupAmount": null,
"isPrimary": false
},
{
"billingCycle": "annually",
"amount": 990,
"currencyCode": "SEK",
"setupAmount": null,
"isPrimary": true
}
],
"availabilityStatus": "available",
"available": true,
"reason": null,
"controlPanel": {
"type": "cpanel"
}
}
],
"hasMore": false,
"nextCursor": null
}