/api/v2/shared-hosting/{accountId}/actions/upgrade Return shared-hosting plan upgrade and downgrade options using public productSlug values, together with any next-period package change already scheduled.
Use these slugs with the POST dry-run or commit body; raw numeric product IDs are not accepted.
A non-null scheduledChange blocks another package change until it is applied or cancelled with DELETE /api/v2/shared-hosting/{accountId}/actions/upgrade.
read:services
Authenticate with an API key in the Authorization: Bearer <token> header.
accountId string required
Example: acct_01hxa3b4c5d6e7f8g9h0j1k2m3 Public shared-hosting account ID from GET /api/v2/shared-hosting data[].id. Do not invent this value; use the exact ID returned by the referenced API response.
Authorization Bearer <token> Accept application/json accountId string required
· Example: acct_01hxa3b4c5d6e7f8g9h0j1k2m3 domain string · nullable required
· Example: example.com currencyCode string required
· Example: SEK actions object required actions.canUpgrade object required actions.canUpgrade.allowed boolean required
· Example: true actions.canUpgrade.reason string · nullable required
· Example: null Nullable: may be null when not applicable.
actions.canUpgrade.code string · nullable
· Example: pending_order Machine-readable reason code when an action is blocked.
currentPackage object · nullable required availableOptions array<object> required availableOptions[].productSlug string · nullable required
· Example: webbhotell-business Nullable: may be null when not applicable.
availableOptions[].name string · nullable required
· Example: Business Nullable: may be null when not applicable.
availableOptions[].type string · nullable · enum required Nullable: may be null when not applicable.
upgrade downgrade availableOptions[].billing object required availableOptions[].billing.amount number · nullable required
· Example: 199 Nullable: may be null when not applicable.
availableOptions[].billing.currencyCode string required availableOptions[].billing.billingCycle string required
· Example: annually availableOptions[].available boolean required availableOptions[].reason string · nullable required
· Example: null Nullable: may be null when not applicable.
scheduledChange null 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 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 Retry-After seconds plus X-RateLimit-* headers. 10 fields 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/shared-hosting/{accountId}/actions/upgrade curl -X GET "https://cloud.hostup.se/api/v2/shared-hosting/acct_01hxa3b4c5d6e7f8g9h0j1k2m3/actions/upgrade" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" {
"accountId": "acct_01hxa3b4c5d6e7f8g9h0j1k2m3",
"domain": "example.com",
"currencyCode": "SEK",
"actions": {
"canUpgrade": {
"allowed": true,
"reason": null
}
},
"currentPackage": {
"productSlug": "webbhotell-start",
"name": "Start",
"storage": "20 GB",
"ram": "2 GB",
"cpu": "1 vCPU",
"features": [
"Free SSL Certificate",
"Daily Backups"
]
},
"availableOptions": [
{
"productSlug": "webbhotell-business",
"name": "Business",
"type": "upgrade",
"storage": "50 GB",
"ram": "4 GB",
"cpu": "2 vCPU",
"annualPrice": 199,
"currencyCode": "SEK",
"billing": {
"amount": 199,
"currencyCode": "SEK",
"billingCycle": "annually"
},
"features": [
"SSH Access",
"Daily Backups"
],
"order": 2,
"available": true,
"reason": null
}
],
"scheduledChange": null
}