List shared-hosting accounts

Return shared-hosting accounts with domains, billing, resource limits, control-panel metadata, and pagination. Use account IDs from this endpoint for shared-hosting actions and detail lookups.

Web Hosting Hosting Accounts

Authentication

Required API scope: read:hosting

Use Authorization: Bearer <token> for API keys. Dashboard sessions may also use hostup_session.

Context

Query Parameters

limit integer · min: 1 · max: 100

Maximum shared-hosting accounts to return in this page.

cursor string

Opaque cursor from `nextCursor` for the next page.

include string · enum · Example: billingCycleOptions

Repeatable include selector. Use `include=billingCycleOptions` to attach cycle-change options to each account. Use `include=domains` to hydrate `domains` with the full cPanel main/addon/parked/subdomain inventory; without it, `domains` contains only the primary domain from the account record.

billingCycleOptions
domains

Headers

Accept Example
Content-Type Example

Responses

200 Cursor-paginated list.
data array<object>
data[].id string required · Example: acct_01hxa3b4c5d6e7f8g9h0j1k2m3
data[].name string required · Example: example.com

Customer-facing account name. Defaults to the primary domain when no custom name is set.

data[].primaryDomain stringnull required · Example: example.com
data[].domains array<string> required · Example: ["example.com"]

Domains known on this account. List responses normally include the primary domain only.

data[].customName stringnull required · Example: null
data[].serviceStatus string · enum required · Example: active
active
pending
suspended
cancelled
terminated
expired
fraud
unknown
data[].billing object required
data[].billing.amount number required · Example: 99
data[].billing.currencyCode string required · Example: SEK
data[].billing.billingCycle stringnull · enum required · Example: annually
monthly
quarterly
semiannually
annually
biennially
triennially
free
data[].createdAt stringnull required · Example: 2026-04-27T12:34:56.000Z
data[].nextDueAt stringnull required · Example: 2026-05-27T12:00:00.000Z
data[].expiresAt stringnull required · Example: null
data[].pinned boolean required · Example: false
data[].resources objectnull required
data[].controlPanel object required
data[].controlPanel.type string · enum required · Example: cpanel
cpanel
data[].controlPanel.supportsWhm boolean · Example: true

Only present when the account supports WHM access.

data[].billingCycleState object | null required
data[].billingCycleState.billingCycleOptions array<object> required
data[].billingCycleState.billingCycleOptions[].billingCycle string · enum required · Example: annually
monthly
quarterly
semiannually
annually
biennially
triennially
free
data[].billingCycleState.billingCycleOptions[].amount number required · Example: 1188
data[].billingCycleState.billingCycleOptions[].initialAmount number · Example: 149

Present only when the first payment differs from the recurring amount.

data[].billingCycleState.billingCycleOptions[].currencyCode string required · Example: SEK
data[].billingCycleState.billingCycleOptions[].isCurrent boolean required · Example: true
data[].billingCycleState.billingCycleOptions[].savingsPercent numbernull required · Example: null
data[].billingCycleState.actions object required
data[].billingCycleState.actions.canSwitchCycle object required
data[].billingCycleState.actions.canSwitchCycle.allowed boolean required · Example: true
data[].billingCycleState.actions.canSwitchCycle.reason stringnull required · Example: null
data[].billingCycleState.actions.canSwitchCycle.code stringnull · Example: pending_order

Machine-readable reason code when an action is blocked.

data[].actions object | null required

Null on list responses. Detail responses include lifecycle and control-panel action gates.

data[].actions.canRenew object required
data[].actions.canRenew.allowed boolean required · Example: true
data[].actions.canRenew.reason stringnull required · Example: null
data[].actions.canRenew.code stringnull · Example: pending_order

Machine-readable reason code when an action is blocked.

data[].actions.canChangeBillingCycle object required
data[].actions.canChangeBillingCycle.allowed boolean required · Example: true
data[].actions.canChangeBillingCycle.reason stringnull required · Example: null
data[].actions.canChangeBillingCycle.code stringnull · Example: pending_order

Machine-readable reason code when an action is blocked.

data[].actions.canPause object required
data[].actions.canPause.allowed boolean required · Example: true
data[].actions.canPause.reason stringnull required · Example: null
data[].actions.canPause.code stringnull · Example: pending_order

Machine-readable reason code when an action is blocked.

data[].actions.canUpgrade object required
data[].actions.canUpgrade.allowed boolean required · Example: true
data[].actions.canUpgrade.reason stringnull required · Example: null
data[].actions.canUpgrade.code stringnull · Example: pending_order

Machine-readable reason code when an action is blocked.

data[].actions.canCancel object required
data[].actions.canCancel.allowed boolean required · Example: true
data[].actions.canCancel.reason stringnull required · Example: null
data[].actions.canCancel.code stringnull · Example: pending_order

Machine-readable reason code when an action is blocked.

data[].actions.canAddStorage object required
data[].actions.canAddStorage.allowed boolean required · Example: true
data[].actions.canAddStorage.reason stringnull required · Example: null
data[].actions.canAddStorage.code stringnull · Example: pending_order

Machine-readable reason code when an action is blocked.

data[].actions.canSso object required
data[].actions.canSso.allowed boolean required · Example: true
data[].actions.canSso.reason stringnull required · Example: null
data[].actions.canSso.code stringnull · Example: pending_order

Machine-readable reason code when an action is blocked.

data[].tags array<string> required
hasMore boolean · Example: false
nextCursor stringnull · Example: null
400 Invalid request. The response body is an RFC 7807 Problem Details document.
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
401 Unauthorized. Authentication is required.
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
403 Forbidden. The caller lacks a required scope or does not own the resource.
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
404 Not found. The resource does not exist or is not owned by the caller.
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
429 Rate limited. Retry after the limit resets. 429 responses include `Retry-After` seconds plus `X-RateLimit-*` headers.
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
500 Internal error. Retry later or contact support if the issue persists.
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
GET https://cloud.hostup.se/api/v2/shared-hosting
For AI assistants
View as Markdown
cURL
curl -X GET "https://cloud.hostup.se/api/v2/shared-hosting" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
Response
{
  "data": [
    {
      "id": "acct_01hxa3b4c5d6e7f8g9h0j1k2m3",
      "name": "example.com",
      "primaryDomain": "example.com",
      "domains": [
        "example.com",
        "shop.example.com"
      ],
      "customName": "Main hosting account",
      "serviceStatus": "active",
      "billing": {
        "amount": 1188,
        "currencyCode": "SEK",
        "billingCycle": "annually"
      },
      "createdAt": "2026-04-27T12:34:56.000Z",
      "nextDueAt": "2026-05-27T12:00:00.000Z",
      "expiresAt": "2026-06-27T12:00:00.000Z",
      "pinned": false,
      "resources": {
        "storageGb": 100,
        "memoryGb": 4,
        "cpuPercent": 800,
        "diskLimitGb": 100
      },
      "controlPanel": {
        "type": "cpanel"
      },
      "billingCycleState": {
        "billingCycleOptions": [
          {
            "billingCycle": "annually",
            "amount": 1188,
            "currencyCode": "SEK",
            "isCurrent": true,
            "savingsPercent": 34
          }
        ],
        "actions": {
          "canSwitchCycle": {
            "allowed": false,
            "reason": "No alternative billing cycles are available for this account."
          }
        }
      },
      "actions": null,
      "tags": []
    }
  ],
  "hasMore": false,
  "nextCursor": null
}