Calculate a cart quote
apiToken orders:readAuthorizationBearer <token>A personal API token: Authorization: Bearer dh_live_…. See Authentication for scopes.
Scope: orders:read
application/json- body
items*array<>couponCode?stringlocale?stringLanguage of the budget-VPS disclaimer text (en, it, de, nl), when the cart needs one. Default en.
Operation completed or accepted; asynchronous actions may still be running.
application/json- response
lines*array<>subtotalCents*numbersetupTotalCents*numberdiscountCents*numberstampDutyCents*numbertotalCents*numbercoupon*null|disclaimer?Present when the cart holds a plan that needs the budget-VPS disclaimer. Show it with its own unticked checkbox and send version and locale back with POST /v1/orders.
couponError?stringunavailable*array<>curl -X POST 'https://api.deluxhost.net/v1/cart/quote' \ -H "Authorization: Bearer $DELUXHOST_TOKEN" \ -H 'Content-Type: application/json' \ -d '{ "items": [ { "productSlug": "string", "cycle": "string" } ]}'{ "lines": [ { "productSlug": "string", "productName": "string", "groupName": "string", "cycle": "string", "quantity": 0, "unitPriceCents": 0, "setupFeeCents": 0, "lineTotalCents": 0, "specs": {}, "ipv4Count": 0, "extraIpv4": 0, "extraIpv4UnitCents": 0, "extraIpv4Offer": { "monthlyCents": 0, "max": 0 } } ], "subtotalCents": 0, "setupTotalCents": 0, "discountCents": 0, "stampDutyCents": 0, "totalCents": 0, "coupon": null, "disclaimer": { "kind": "string", "version": "string", "locale": "string", "title": "string", "intro": "string", "points": [ "string" ], "checkbox": "string", "sha256": "string" }, "couponError": "string", "unavailable": [ { "productSlug": "string", "cycle": "string", "reason": "string", "code": "retired", "available": 0, "maxPerUser": 0, "held": 0 } ]}Prepay service renewals POST
Requires confirm: true. Inspect the resource before retrying an uncertain outcome. Requires Idempotency-Key. Use the same key and payload to replay a completed response. A 409 for a pending or failed attempt requires checking the resource; a new key could duplicate a charge or purchase.
List invoices GET
Cursor-paginated: pass the previous response's `nextCursor` as `before`. `nextCursor` is null on the last page. An unknown `status` is a 400, not a silently ignored filter.