/api/v2/vps/{id}/actions/upgrade Return available plan changes, current configurable resource options, and any next-period change already scheduled for one VPS.
Get {id} from GET /api/v2/vps data[].id.
Use availablePlans[].slug with POST /api/v2/vps/{id}/actions/upgrade when changing plan.
Use configurableOptions[].key with POST /api/v2/vps/{id}/actions/config when changing only options such as bandwidthGb, backupSlots, snapshotSlots, ipv4Count, or additionalStorageGb.
A non-null scheduledChange blocks another plan, resource, or PAYG conversion change until it is applied or cancelled with DELETE /api/v2/vps/{id}/actions/upgrade.
Snapshot endpoints do not sell snapshot capacity directly; if GET /api/v2/vps/{id}/snapshots or /snapshot-schedules reports available: false or limits.totalSnapshots: 0, add snapshot slots here through snapshotSlots or change to a plan that includes snapshots.
read:services
Authenticate with an API key in the Authorization: Bearer <token> header.
id string required
Example: vps_01hxa3b4c5d6e7f8g9h0j1k2m3 Public VPS ID from GET /api/v2/vps data[].id. Do not invent this value; use the exact ID returned by the referenced API response.
Authorization Bearer <token> Accept application/json vpsId string
· Example: vps_01hxa3b4c5d6e7f8g9h0j1k2m3 currentProduct null configurableOptions array<object> Current product configurable options such as bandwidthGb, backupSlots, ipv4Count, or additionalStorageGb. To change only these values, use POST /api/v2/vps/{id}/actions/config, not actions/upgrade.
configurableOptions[].key string required
· Example: bandwidthGb Canonical resource option key accepted under resources by POST /api/v2/vps/{id}/actions/config.
configurableOptions[].label string required
· Example: Bandwidth configurableOptions[].type string · enum required
· Example: slider slider quantity toggle input select configurableOptions[].min number
· Example: 1024 configurableOptions[].max number
· Example: 10240 configurableOptions[].step number
· Example: 1024 configurableOptions[].default number | string | boolean · nullable
· Example: 2048 Nullable: may be null when not applicable.
configurableOptions[].currentValue number | string | boolean · nullable required
· Example: 2048 Nullable: may be null when not applicable.
configurableOptions[].unit string · nullable
· Example: GB Nullable: may be null when not applicable.
configurableOptions[].pricing array<object> configurableOptions[].pricing[].billingCycle string required configurableOptions[].pricing[].amount number required configurableOptions[].pricing[].currencyCode string required configurableOptions[].includedAtBase number · nullable
· Example: 2048 Option amount included by the current VPS plan before paid adjustments.
configurableOptions[].required boolean configurableOptions[].choices array<object> configurableOptions[].choices[].value string required configurableOptions[].choices[].label string required configurableOptions[].choices[].osTemplateId string configurableOptions[].constraints object Runtime constraints. For bandwidth this can raise the effective minimum above the product minimum based on current usage.
configurableOptions[].constraints.min number · nullable required
· Example: 2048 Nullable: may be null when not applicable.
configurableOptions[].constraints.max number · nullable required
· Example: 10240 Nullable: may be null when not applicable.
configurableOptions[].constraints.step number · nullable required
· Example: 1024 Nullable: may be null when not applicable.
configurableOptions[].constraints.unit string · nullable required
· Example: GB Nullable: may be null when not applicable.
configurableOptions[].constraints.currentValue number | string | boolean · nullable required
· Example: 2048 Nullable: may be null when not applicable.
configurableOptions[].constraints.effectiveMin number · nullable required
· Example: 2048 Nullable: may be null when not applicable.
configurableOptions[].constraints.effectiveMax number · nullable required
· Example: 10240 Nullable: may be null when not applicable.
configurableOptions[].constraints.usage object configurableOptions[].constraints.usage.bandwidthUsedGb number required
· Example: 193.483 Current-period bandwidth already used, when it affects the minimum orderable bandwidth.
configurableOptions[].constraints.actions object required configurableOptions[].constraints.actions.canDecrease object required configurableOptions[].constraints.actions.canDecrease.allowed boolean required configurableOptions[].constraints.actions.canDecrease.reason string · nullable required Nullable: may be null when not applicable.
configurableOptions[].constraints.actions.canIncrease object required configurableOptions[].constraints.actions.canIncrease.allowed boolean required configurableOptions[].constraints.actions.canIncrease.reason string · nullable required Nullable: may be null when not applicable.
configurableOptions[].actions object configurableOptions[].actions.canDecrease object required configurableOptions[].actions.canDecrease.allowed boolean required configurableOptions[].actions.canDecrease.reason string · nullable required Nullable: may be null when not applicable.
configurableOptions[].actions.canIncrease object required configurableOptions[].actions.canIncrease.allowed boolean required configurableOptions[].actions.canIncrease.reason string · nullable required Nullable: may be null when not applicable.
availablePlans array<object> availablePlans[].id string · nullable required
· Example: vpsprod_01hxa3b4c5d6e7f8g9h0j1k2m3 Nullable: may be null when not applicable.
availablePlans[].slug string · nullable required
· Example: vps-sm Canonical plan slug to send as productSlug when changing plan.
availablePlans[].tier string required
· Example: sm availablePlans[].name string · nullable required
· Example: VPS SM Nullable: may be null when not applicable.
availablePlans[].resources object required availablePlans[].resources.cpuCores number · nullable required
· Example: 2 Nullable: may be null when not applicable.
availablePlans[].resources.memoryGb number · nullable required
· Example: 4 Nullable: may be null when not applicable.
availablePlans[].resources.storageGb number · nullable required
· Example: 80 Nullable: may be null when not applicable.
availablePlans[].bandwidth object required availablePlans[].bandwidth.limitGb number · nullable required
· Example: 2048 Nullable: may be null when not applicable.
availablePlans[].billing object required availablePlans[].billing.amount number required
· Example: 149 availablePlans[].billing.currencyCode string required
· Example: SEK availablePlans[].billing.billingCycle string required
· Example: monthly availablePlans[].billingCycles array<object> required
· Example: [{"billingCycle":"monthly","amount":149,"currencyCode":"SEK","isPrimary":true,"setupAmo... availablePlans[].billingCycles[].billingCycle string required
· Example: monthly availablePlans[].billingCycles[].amount number required
· Example: 149 availablePlans[].billingCycles[].currencyCode string required
· Example: SEK availablePlans[].billingCycles[].isPrimary boolean required
· Example: true availablePlans[].billingCycles[].setupAmount number · nullable required
· Example: null One-time setup fee for this billing cycle. Null when no setup fee applies.
availablePlans[].availabilityStatus string · enum required
· Example: available available hidden out_of_stock availablePlans[].available boolean required
· Example: true availablePlans[].reason string · nullable required
· Example: null Nullable: may be null when not applicable.
availablePlans[].actions object required availablePlans[].actions.canApply object required availablePlans[].actions.canApply.allowed boolean required availablePlans[].actions.canApply.reason string · nullable required Nullable: may be null when not applicable.
actions object actions.canChangeProduct object required actions.canChangeProduct.allowed boolean required actions.canChangeProduct.reason string · nullable required Nullable: may be null when not applicable.
scheduledChange null blocker object blocker.code string · enum required pending_order_blocking existing_invoice_blocking blocker.reason string required blocker.blockingInvoice object blocker.blockingInvoice.id string required
· Example: inv_01hxa3b4c5d6e7f8g9h0j1k2m3 blocker.blockingInvoice.number string · nullable required
· Example: 202600001 Nullable: may be null when not applicable.
blocker.blockingInvoice.amount number required
· Example: 12.99 blocker.blockingInvoice.currencyCode string required
· Example: EUR blocker.blockingInvoice.dueAt string · nullable required Nullable: may be null when not applicable.
blocker.blockingInvoice.status string · enum required draft unpaid partially_paid paid cancelled refunded blocker.blockingInvoice.paymentUrl string · nullable required Customer-facing URL for opening the invoice.
blocker.blockingInvoice.paymentMethods object blocker.blockingInvoice.paymentMethods.card object required blocker.blockingInvoice.paymentMethods.card.method string · enum required
· Example: card Canonical v2 payment method. Card-backed hosted checkout and wallet flows are represented as card; provider names are not public v2 method values.
card accountCredit swish bankgiro sepa alipay crypto blocker.blockingInvoice.paymentMethods.card.label string required
· Example: Card blocker.blockingInvoice.paymentMethods.card.available boolean required
· Example: true blocker.blockingInvoice.paymentMethods.card.visible boolean
· Example: true Present for restricted methods. When false, the method must not be rendered to the customer.
blocker.blockingInvoice.paymentMethods.card.reason string · nullable required
· Example: null Human-readable blocker when available is false.
blocker.blockingInvoice.paymentMethods.card.checkoutMode string · nullable · enum required
· Example: payment Hosted checkout mode used by the existing payment session endpoint, or null for methods handled without hosted checkout.
payment sepa_bank_transfer_payment alipay_payment blocker.blockingInvoice.paymentMethods.card.requirements object required Machine-readable requirements for the payment method. Examples: card minimum amount, Swish/Bankgiro Swedish account requirement, SEPA bank transfer EUR requirement, cryptocurrency account eligibility, account-credit balance limit.
blocker.blockingInvoice.paymentMethods.card.requirements.invoiceCurrencyCode string
· Example: SEK blocker.blockingInvoice.paymentMethods.card.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] blocker.blockingInvoice.paymentMethods.card.requirements.accountCountryCode string
· Example: SE blocker.blockingInvoice.paymentMethods.card.requirements.accountCountryExcludedCode string
· Example: SE Billing country that is explicitly excluded for this method.
blocker.blockingInvoice.paymentMethods.card.requirements.accountType string · enum
· Example: private private organisation blocker.blockingInvoice.paymentMethods.card.requirements.accountCurrencyCode string
· Example: SEK blocker.blockingInvoice.paymentMethods.card.requirements.requiresCardVerification boolean
· Example: true Whether a saved card or prior successful card payment is required.
blocker.blockingInvoice.paymentMethods.card.requirements.availableBalance object blocker.blockingInvoice.paymentMethods.card.requirements.availableBalance.amount number required
· Example: 100 blocker.blockingInvoice.paymentMethods.card.requirements.availableBalance.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.card.requirements.minimumAmount object blocker.blockingInvoice.paymentMethods.card.requirements.minimumAmount.amount number required
· Example: 3 blocker.blockingInvoice.paymentMethods.card.requirements.minimumAmount.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.card.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal blocker.blockingInvoice.paymentMethods.card.requirements.maximumAmount object blocker.blockingInvoice.paymentMethods.card.requirements.maximumAmount.amount number required
· Example: 3 blocker.blockingInvoice.paymentMethods.card.requirements.maximumAmount.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.card.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal blocker.blockingInvoice.paymentMethods.accountCredit object required blocker.blockingInvoice.paymentMethods.accountCredit.method string · enum required
· Example: card Canonical v2 payment method. Card-backed hosted checkout and wallet flows are represented as card; provider names are not public v2 method values.
card accountCredit swish bankgiro sepa alipay crypto blocker.blockingInvoice.paymentMethods.accountCredit.label string required
· Example: Card blocker.blockingInvoice.paymentMethods.accountCredit.available boolean required
· Example: true blocker.blockingInvoice.paymentMethods.accountCredit.visible boolean
· Example: true Present for restricted methods. When false, the method must not be rendered to the customer.
blocker.blockingInvoice.paymentMethods.accountCredit.reason string · nullable required
· Example: null Human-readable blocker when available is false.
blocker.blockingInvoice.paymentMethods.accountCredit.checkoutMode string · nullable · enum required
· Example: payment Hosted checkout mode used by the existing payment session endpoint, or null for methods handled without hosted checkout.
payment sepa_bank_transfer_payment alipay_payment blocker.blockingInvoice.paymentMethods.accountCredit.requirements object required Machine-readable requirements for the payment method. Examples: card minimum amount, Swish/Bankgiro Swedish account requirement, SEPA bank transfer EUR requirement, cryptocurrency account eligibility, account-credit balance limit.
blocker.blockingInvoice.paymentMethods.accountCredit.requirements.invoiceCurrencyCode string
· Example: SEK blocker.blockingInvoice.paymentMethods.accountCredit.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] blocker.blockingInvoice.paymentMethods.accountCredit.requirements.accountCountryCode string
· Example: SE blocker.blockingInvoice.paymentMethods.accountCredit.requirements.accountCountryExcludedCode string
· Example: SE Billing country that is explicitly excluded for this method.
blocker.blockingInvoice.paymentMethods.accountCredit.requirements.accountType string · enum
· Example: private private organisation blocker.blockingInvoice.paymentMethods.accountCredit.requirements.accountCurrencyCode string
· Example: SEK blocker.blockingInvoice.paymentMethods.accountCredit.requirements.requiresCardVerification boolean
· Example: true Whether a saved card or prior successful card payment is required.
blocker.blockingInvoice.paymentMethods.accountCredit.requirements.availableBalance object blocker.blockingInvoice.paymentMethods.accountCredit.requirements.availableBalance.amount number required
· Example: 100 blocker.blockingInvoice.paymentMethods.accountCredit.requirements.availableBalance.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.accountCredit.requirements.minimumAmount object blocker.blockingInvoice.paymentMethods.accountCredit.requirements.minimumAmount.amount number required
· Example: 3 blocker.blockingInvoice.paymentMethods.accountCredit.requirements.minimumAmount.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.accountCredit.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal blocker.blockingInvoice.paymentMethods.accountCredit.requirements.maximumAmount object blocker.blockingInvoice.paymentMethods.accountCredit.requirements.maximumAmount.amount number required
· Example: 3 blocker.blockingInvoice.paymentMethods.accountCredit.requirements.maximumAmount.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.accountCredit.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal blocker.blockingInvoice.paymentMethods.swish object required blocker.blockingInvoice.paymentMethods.swish.method string · enum required
· Example: card Canonical v2 payment method. Card-backed hosted checkout and wallet flows are represented as card; provider names are not public v2 method values.
card accountCredit swish bankgiro sepa alipay crypto blocker.blockingInvoice.paymentMethods.swish.label string required
· Example: Card blocker.blockingInvoice.paymentMethods.swish.available boolean required
· Example: true blocker.blockingInvoice.paymentMethods.swish.visible boolean
· Example: true Present for restricted methods. When false, the method must not be rendered to the customer.
blocker.blockingInvoice.paymentMethods.swish.reason string · nullable required
· Example: null Human-readable blocker when available is false.
blocker.blockingInvoice.paymentMethods.swish.checkoutMode string · nullable · enum required
· Example: payment Hosted checkout mode used by the existing payment session endpoint, or null for methods handled without hosted checkout.
payment sepa_bank_transfer_payment alipay_payment blocker.blockingInvoice.paymentMethods.swish.requirements object required Machine-readable requirements for the payment method. Examples: card minimum amount, Swish/Bankgiro Swedish account requirement, SEPA bank transfer EUR requirement, cryptocurrency account eligibility, account-credit balance limit.
blocker.blockingInvoice.paymentMethods.swish.requirements.invoiceCurrencyCode string
· Example: SEK blocker.blockingInvoice.paymentMethods.swish.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] blocker.blockingInvoice.paymentMethods.swish.requirements.accountCountryCode string
· Example: SE blocker.blockingInvoice.paymentMethods.swish.requirements.accountCountryExcludedCode string
· Example: SE Billing country that is explicitly excluded for this method.
blocker.blockingInvoice.paymentMethods.swish.requirements.accountType string · enum
· Example: private private organisation blocker.blockingInvoice.paymentMethods.swish.requirements.accountCurrencyCode string
· Example: SEK blocker.blockingInvoice.paymentMethods.swish.requirements.requiresCardVerification boolean
· Example: true Whether a saved card or prior successful card payment is required.
blocker.blockingInvoice.paymentMethods.swish.requirements.availableBalance object blocker.blockingInvoice.paymentMethods.swish.requirements.availableBalance.amount number required
· Example: 100 blocker.blockingInvoice.paymentMethods.swish.requirements.availableBalance.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.swish.requirements.minimumAmount object blocker.blockingInvoice.paymentMethods.swish.requirements.minimumAmount.amount number required
· Example: 3 blocker.blockingInvoice.paymentMethods.swish.requirements.minimumAmount.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.swish.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal blocker.blockingInvoice.paymentMethods.swish.requirements.maximumAmount object blocker.blockingInvoice.paymentMethods.swish.requirements.maximumAmount.amount number required
· Example: 3 blocker.blockingInvoice.paymentMethods.swish.requirements.maximumAmount.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.swish.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal blocker.blockingInvoice.paymentMethods.bankgiro object required blocker.blockingInvoice.paymentMethods.bankgiro.method string · enum required
· Example: card Canonical v2 payment method. Card-backed hosted checkout and wallet flows are represented as card; provider names are not public v2 method values.
card accountCredit swish bankgiro sepa alipay crypto blocker.blockingInvoice.paymentMethods.bankgiro.label string required
· Example: Card blocker.blockingInvoice.paymentMethods.bankgiro.available boolean required
· Example: true blocker.blockingInvoice.paymentMethods.bankgiro.visible boolean
· Example: true Present for restricted methods. When false, the method must not be rendered to the customer.
blocker.blockingInvoice.paymentMethods.bankgiro.reason string · nullable required
· Example: null Human-readable blocker when available is false.
blocker.blockingInvoice.paymentMethods.bankgiro.checkoutMode string · nullable · enum required
· Example: payment Hosted checkout mode used by the existing payment session endpoint, or null for methods handled without hosted checkout.
payment sepa_bank_transfer_payment alipay_payment blocker.blockingInvoice.paymentMethods.bankgiro.requirements object required Machine-readable requirements for the payment method. Examples: card minimum amount, Swish/Bankgiro Swedish account requirement, SEPA bank transfer EUR requirement, cryptocurrency account eligibility, account-credit balance limit.
blocker.blockingInvoice.paymentMethods.bankgiro.requirements.invoiceCurrencyCode string
· Example: SEK blocker.blockingInvoice.paymentMethods.bankgiro.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] blocker.blockingInvoice.paymentMethods.bankgiro.requirements.accountCountryCode string
· Example: SE blocker.blockingInvoice.paymentMethods.bankgiro.requirements.accountCountryExcludedCode string
· Example: SE Billing country that is explicitly excluded for this method.
blocker.blockingInvoice.paymentMethods.bankgiro.requirements.accountType string · enum
· Example: private private organisation blocker.blockingInvoice.paymentMethods.bankgiro.requirements.accountCurrencyCode string
· Example: SEK blocker.blockingInvoice.paymentMethods.bankgiro.requirements.requiresCardVerification boolean
· Example: true Whether a saved card or prior successful card payment is required.
blocker.blockingInvoice.paymentMethods.bankgiro.requirements.availableBalance object blocker.blockingInvoice.paymentMethods.bankgiro.requirements.availableBalance.amount number required
· Example: 100 blocker.blockingInvoice.paymentMethods.bankgiro.requirements.availableBalance.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.bankgiro.requirements.minimumAmount object blocker.blockingInvoice.paymentMethods.bankgiro.requirements.minimumAmount.amount number required
· Example: 3 blocker.blockingInvoice.paymentMethods.bankgiro.requirements.minimumAmount.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.bankgiro.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal blocker.blockingInvoice.paymentMethods.bankgiro.requirements.maximumAmount object blocker.blockingInvoice.paymentMethods.bankgiro.requirements.maximumAmount.amount number required
· Example: 3 blocker.blockingInvoice.paymentMethods.bankgiro.requirements.maximumAmount.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.bankgiro.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal blocker.blockingInvoice.paymentMethods.sepa object required blocker.blockingInvoice.paymentMethods.sepa.method string · enum required
· Example: card Canonical v2 payment method. Card-backed hosted checkout and wallet flows are represented as card; provider names are not public v2 method values.
card accountCredit swish bankgiro sepa alipay crypto blocker.blockingInvoice.paymentMethods.sepa.label string required
· Example: Card blocker.blockingInvoice.paymentMethods.sepa.available boolean required
· Example: true blocker.blockingInvoice.paymentMethods.sepa.visible boolean
· Example: true Present for restricted methods. When false, the method must not be rendered to the customer.
blocker.blockingInvoice.paymentMethods.sepa.reason string · nullable required
· Example: null Human-readable blocker when available is false.
blocker.blockingInvoice.paymentMethods.sepa.checkoutMode string · nullable · enum required
· Example: payment Hosted checkout mode used by the existing payment session endpoint, or null for methods handled without hosted checkout.
payment sepa_bank_transfer_payment alipay_payment blocker.blockingInvoice.paymentMethods.sepa.requirements object required Machine-readable requirements for the payment method. Examples: card minimum amount, Swish/Bankgiro Swedish account requirement, SEPA bank transfer EUR requirement, cryptocurrency account eligibility, account-credit balance limit.
blocker.blockingInvoice.paymentMethods.sepa.requirements.invoiceCurrencyCode string
· Example: SEK blocker.blockingInvoice.paymentMethods.sepa.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] blocker.blockingInvoice.paymentMethods.sepa.requirements.accountCountryCode string
· Example: SE blocker.blockingInvoice.paymentMethods.sepa.requirements.accountCountryExcludedCode string
· Example: SE Billing country that is explicitly excluded for this method.
blocker.blockingInvoice.paymentMethods.sepa.requirements.accountType string · enum
· Example: private private organisation blocker.blockingInvoice.paymentMethods.sepa.requirements.accountCurrencyCode string
· Example: SEK blocker.blockingInvoice.paymentMethods.sepa.requirements.requiresCardVerification boolean
· Example: true Whether a saved card or prior successful card payment is required.
blocker.blockingInvoice.paymentMethods.sepa.requirements.availableBalance object blocker.blockingInvoice.paymentMethods.sepa.requirements.availableBalance.amount number required
· Example: 100 blocker.blockingInvoice.paymentMethods.sepa.requirements.availableBalance.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.sepa.requirements.minimumAmount object blocker.blockingInvoice.paymentMethods.sepa.requirements.minimumAmount.amount number required
· Example: 3 blocker.blockingInvoice.paymentMethods.sepa.requirements.minimumAmount.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.sepa.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal blocker.blockingInvoice.paymentMethods.sepa.requirements.maximumAmount object blocker.blockingInvoice.paymentMethods.sepa.requirements.maximumAmount.amount number required
· Example: 3 blocker.blockingInvoice.paymentMethods.sepa.requirements.maximumAmount.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.sepa.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal blocker.blockingInvoice.paymentMethods.alipay object required blocker.blockingInvoice.paymentMethods.alipay.method string · enum required
· Example: card Canonical v2 payment method. Card-backed hosted checkout and wallet flows are represented as card; provider names are not public v2 method values.
card accountCredit swish bankgiro sepa alipay crypto blocker.blockingInvoice.paymentMethods.alipay.label string required
· Example: Card blocker.blockingInvoice.paymentMethods.alipay.available boolean required
· Example: true blocker.blockingInvoice.paymentMethods.alipay.visible boolean
· Example: true Present for restricted methods. When false, the method must not be rendered to the customer.
blocker.blockingInvoice.paymentMethods.alipay.reason string · nullable required
· Example: null Human-readable blocker when available is false.
blocker.blockingInvoice.paymentMethods.alipay.checkoutMode string · nullable · enum required
· Example: payment Hosted checkout mode used by the existing payment session endpoint, or null for methods handled without hosted checkout.
payment sepa_bank_transfer_payment alipay_payment blocker.blockingInvoice.paymentMethods.alipay.requirements object required Machine-readable requirements for the payment method. Examples: card minimum amount, Swish/Bankgiro Swedish account requirement, SEPA bank transfer EUR requirement, cryptocurrency account eligibility, account-credit balance limit.
blocker.blockingInvoice.paymentMethods.alipay.requirements.invoiceCurrencyCode string
· Example: SEK blocker.blockingInvoice.paymentMethods.alipay.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] blocker.blockingInvoice.paymentMethods.alipay.requirements.accountCountryCode string
· Example: SE blocker.blockingInvoice.paymentMethods.alipay.requirements.accountCountryExcludedCode string
· Example: SE Billing country that is explicitly excluded for this method.
blocker.blockingInvoice.paymentMethods.alipay.requirements.accountType string · enum
· Example: private private organisation blocker.blockingInvoice.paymentMethods.alipay.requirements.accountCurrencyCode string
· Example: SEK blocker.blockingInvoice.paymentMethods.alipay.requirements.requiresCardVerification boolean
· Example: true Whether a saved card or prior successful card payment is required.
blocker.blockingInvoice.paymentMethods.alipay.requirements.availableBalance object blocker.blockingInvoice.paymentMethods.alipay.requirements.availableBalance.amount number required
· Example: 100 blocker.blockingInvoice.paymentMethods.alipay.requirements.availableBalance.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.alipay.requirements.minimumAmount object blocker.blockingInvoice.paymentMethods.alipay.requirements.minimumAmount.amount number required
· Example: 3 blocker.blockingInvoice.paymentMethods.alipay.requirements.minimumAmount.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.alipay.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal blocker.blockingInvoice.paymentMethods.alipay.requirements.maximumAmount object blocker.blockingInvoice.paymentMethods.alipay.requirements.maximumAmount.amount number required
· Example: 3 blocker.blockingInvoice.paymentMethods.alipay.requirements.maximumAmount.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.alipay.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal blocker.blockingInvoice.paymentMethods.crypto object required blocker.blockingInvoice.paymentMethods.crypto.method string · enum required
· Example: card Canonical v2 payment method. Card-backed hosted checkout and wallet flows are represented as card; provider names are not public v2 method values.
card accountCredit swish bankgiro sepa alipay crypto blocker.blockingInvoice.paymentMethods.crypto.label string required
· Example: Card blocker.blockingInvoice.paymentMethods.crypto.available boolean required
· Example: true blocker.blockingInvoice.paymentMethods.crypto.visible boolean
· Example: true Present for restricted methods. When false, the method must not be rendered to the customer.
blocker.blockingInvoice.paymentMethods.crypto.reason string · nullable required
· Example: null Human-readable blocker when available is false.
blocker.blockingInvoice.paymentMethods.crypto.checkoutMode string · nullable · enum required
· Example: payment Hosted checkout mode used by the existing payment session endpoint, or null for methods handled without hosted checkout.
payment sepa_bank_transfer_payment alipay_payment blocker.blockingInvoice.paymentMethods.crypto.requirements object required Machine-readable requirements for the payment method. Examples: card minimum amount, Swish/Bankgiro Swedish account requirement, SEPA bank transfer EUR requirement, cryptocurrency account eligibility, account-credit balance limit.
blocker.blockingInvoice.paymentMethods.crypto.requirements.invoiceCurrencyCode string
· Example: SEK blocker.blockingInvoice.paymentMethods.crypto.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] blocker.blockingInvoice.paymentMethods.crypto.requirements.accountCountryCode string
· Example: SE blocker.blockingInvoice.paymentMethods.crypto.requirements.accountCountryExcludedCode string
· Example: SE Billing country that is explicitly excluded for this method.
blocker.blockingInvoice.paymentMethods.crypto.requirements.accountType string · enum
· Example: private private organisation blocker.blockingInvoice.paymentMethods.crypto.requirements.accountCurrencyCode string
· Example: SEK blocker.blockingInvoice.paymentMethods.crypto.requirements.requiresCardVerification boolean
· Example: true Whether a saved card or prior successful card payment is required.
blocker.blockingInvoice.paymentMethods.crypto.requirements.availableBalance object blocker.blockingInvoice.paymentMethods.crypto.requirements.availableBalance.amount number required
· Example: 100 blocker.blockingInvoice.paymentMethods.crypto.requirements.availableBalance.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.crypto.requirements.minimumAmount object blocker.blockingInvoice.paymentMethods.crypto.requirements.minimumAmount.amount number required
· Example: 3 blocker.blockingInvoice.paymentMethods.crypto.requirements.minimumAmount.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.crypto.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal blocker.blockingInvoice.paymentMethods.crypto.requirements.maximumAmount object blocker.blockingInvoice.paymentMethods.crypto.requirements.maximumAmount.amount number required
· Example: 3 blocker.blockingInvoice.paymentMethods.crypto.requirements.maximumAmount.currencyCode string required
· Example: SEK blocker.blockingInvoice.paymentMethods.crypto.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal blocker.blockingInvoice.availablePaymentMethods array<string> blocker.blockingInvoice.actions object blocker.blockingInvoice.actions.canPayWithAvailableMethod object required blocker.blockingInvoice.actions.canPayWithAvailableMethod.allowed boolean required blocker.blockingInvoice.actions.canPayWithAvailableMethod.reason string · nullable required Nullable: may be null when not applicable.
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/vps/{id}/actions/upgrade curl -X GET "https://cloud.hostup.se/api/v2/vps/vps_01hxa3b4c5d6e7f8g9h0j1k2m3/actions/upgrade" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" {
"vpsId": "vps_01hxa3b4c5d6e7f8g9h0j1k2m3",
"currentProduct": {
"id": "vpsprod_01hxa3b4c5d6e7f8g9h0j1k2m3",
"slug": "vps-xs",
"tier": "xs",
"name": "VPS XS",
"resources": {
"cpuCores": 1,
"memoryGb": 2,
"storageGb": 40
},
"bandwidth": {
"limitGb": 2048
},
"billing": {
"amount": 79,
"currencyCode": "SEK",
"billingCycle": "monthly"
},
"billingCycles": [
{
"billingCycle": "monthly",
"amount": 79,
"currencyCode": "SEK",
"isPrimary": true,
"setupAmount": null
}
],
"availabilityStatus": "out_of_stock",
"available": false,
"reason": "This plan is not currently offered."
},
"configurableOptions": [
{
"key": "bandwidthGb",
"label": "Bandwidth",
"type": "slider",
"min": 2048,
"max": 10240,
"step": 1024,
"default": 2048,
"currentValue": 2048,
"unit": "GB",
"pricing": [
{
"billingCycle": "monthly",
"amount": 20,
"currencyCode": "SEK"
}
],
"constraints": {
"min": 2048,
"max": 10240,
"step": 1024,
"unit": "GB",
"currentValue": 2048,
"effectiveMin": 2048,
"effectiveMax": 10240,
"usage": {
"bandwidthUsedGb": 193.483
},
"actions": {
"canDecrease": {
"allowed": true,
"reason": null
},
"canIncrease": {
"allowed": true,
"reason": null
}
}
},
"includedAtBase": 2048,
"actions": {
"canDecrease": {
"allowed": true,
"reason": null
},
"canIncrease": {
"allowed": true,
"reason": null
}
}
},
{
"key": "additionalStorageGb",
"label": "Attachable Block Storage",
"type": "slider",
"min": 0,
"max": 1000,
"step": 10,
"default": 0,
"currentValue": 100,
"unit": "GB",
"pricing": [
{
"billingCycle": "monthly",
"amount": 30,
"currencyCode": "SEK"
}
],
"constraints": {
"min": 100,
"max": 1000,
"step": 10,
"unit": "GB",
"currentValue": 100,
"effectiveMin": 100,
"effectiveMax": 1000,
"actions": {
"canDecrease": {
"allowed": true,
"reason": null
},
"canIncrease": {
"allowed": true,
"reason": null
}
}
},
"includedAtBase": 100,
"actions": {
"canDecrease": {
"allowed": true,
"reason": null
},
"canIncrease": {
"allowed": true,
"reason": null
}
}
},
{
"key": "snapshotSlots",
"label": "Snapshot slots",
"type": "quantity",
"min": 0,
"max": 5,
"step": 1,
"default": 0,
"currentValue": 0,
"unit": "slots",
"pricing": [
{
"billingCycle": "monthly",
"amount": 10,
"currencyCode": "SEK"
}
],
"constraints": {
"min": 0,
"max": 5,
"step": 1,
"unit": "slots",
"currentValue": 0,
"effectiveMin": 0,
"effectiveMax": 5,
"actions": {
"canDecrease": {
"allowed": false,
"reason": "No snapshot slots are currently active."
},
"canIncrease": {
"allowed": true,
"reason": null
}
}
},
"includedAtBase": 0,
"actions": {
"canDecrease": {
"allowed": false,
"reason": "No snapshot slots are currently active."
},
"canIncrease": {
"allowed": true,
"reason": null
}
}
}
],
"availablePlans": [
{
"id": "vpsprod_01hxa3b4c5d6e7f8g9h0j1k2m4",
"slug": "vps-sm",
"tier": "sm",
"name": "VPS SM",
"resources": {
"cpuCores": 2,
"memoryGb": 4,
"storageGb": 80
},
"bandwidth": {
"limitGb": 4096
},
"billing": {
"amount": 149,
"currencyCode": "SEK",
"billingCycle": "monthly"
},
"billingCycles": [
{
"billingCycle": "monthly",
"amount": 149,
"currencyCode": "SEK",
"isPrimary": true,
"setupAmount": null
}
],
"availabilityStatus": "out_of_stock",
"available": false,
"reason": "This plan is not currently offered.",
"actions": {
"canApply": {
"allowed": false,
"reason": "This plan is not currently offered."
}
}
}
],
"actions": {
"canChangeProduct": {
"allowed": true,
"reason": null
}
},
"scheduledChange": null
}