Your rate
Ask us for a reseller discount and we’ll put it on your account as a single percentage off list. It applies to everything you buy, dedicated and cloud, through the API or the panel. It’s also captured on each service when you order, so renewals stay at the rate you bought at. If your discount changes later, nothing that’s already running gets re-priced. In the catalogue, every price is an object, not a number:listMinor is what the storefront charges, and netMinor is what we charge you. The difference is your margin. discountBps is your discount in basis points, so 1000 is 10%. All amounts are integers in minor units, so 15000 is £150.00.
The catalogue
catalogue:read. It returns all three products in one response, as dedicated, cloud and hosting, plus a meta block with the currency, your discount as a percentage, and priceUnit: "minor".
Dedicated rows have a price and a setup fee, and a stock object worth reading carefully:
rackedis how many machines are sitting in a rack right now.slotsis hardware we’ve committed to build but haven’t racked yet. You can order it today, and it’s delivered withinleadTime.totalis the two added together, which is what you can sell right now.
instant: true means a paid order provisions itself without anyone on our side. Cloud plans are always instant.
Pass ?currency=USD to price cloud and hosting in dollars. If we’ve set a price for that currency, you get it. Otherwise the figure is converted and priceSource says converted. Quote those knowing the exchange rate moves.
Hosting rows carry orderable. If it’s false, the plan isn’t fully set up on our side and an order will be refused, so don’t quote it.
Ordering
Every order needsorders:place.
Dedicated
planSlug and hostname are required. You can also pass profileId (the OS to install), rootPassword and sshKeys.
Cloud
planId is the cloud row’s slug from the catalogue, and hostname is required. location, os, app and appInputs are optional.
Shared hosting
domain instead of a hostname, and you can only have one subscription per domain. If we already host the domain, you get a 409 before any money changes hands.
The response
All three answer201 with the same shape:
Order responses use
list and net in price. The catalogue uses listMinor and netMinor. Both are minor units. The names just differ.invoice.total includes tax, and subtotal doesn’t.
Nothing is provisioned until the invoice is paid. You can pay it with invoices:pay or from the panel. Once it’s paid, the machine builds itself. If provisional came back true, we build it by hand, and you have a lead time to quote.
When an order is refused
If you get a
409 on stock, read the catalogue again rather than retrying blind.