Skip to content
Coritan Docs

Order a service

Choose a product, configure it on its own page with any add-ons, pay for the whole order on one invoice, and follow it while we set it up.

View as Markdown

Order anything Coritan sells from the Order a service page of the dashboard. Each product has an order page of its own: the plan comes first, then the product's own questions, then its add-ons, which are other products you can buy in the same order. One first invoice covers the whole order, and you pay it on the page the order lands on.

  • Create an account and sign in.
  • Most accounts pay the first invoice before setup starts. Credit on your account pays it first, so add credit if you want the order to start in one go. You can also pay by card, Apple Pay, Google Pay or PayPal once you have placed the order.
  • Hourly billing, and anything billed by use, needs a minimum total of deposits on your account before it runs. How hourly billing works explains the rule.
  • A Cloud Compute instance, a game server and a database are billed by what they use, and need Server access. Pro, Business and Enterprise include it.

In the sidebar, select Order a service. The Order instance, New deployment and Order floating IP buttons elsewhere in the dashboard open the same order pages.

The page lists the products open to your account, each with its starting price. Cloud Compute and App Deployment come first, with their prices by the month and by the hour, and each shows Sold out when none of its plans can be ordered right now. Under Quick start, four common setups open a compute order with the software already chosen: a Minecraft server, an Ubuntu instance, a Node.js app and a PostgreSQL database. Every other product follows in its category:

Category Product Also an add-on for Guide
Compute Cloud Compute — Create an instance
Compute App Deployment — Order a deployment
Domain Management Domain — Register a domain
Network and security Floating IPs Cloud Compute, App Deployment Order a floating IP
Network and security DDoS Shield Cloud Compute, App Deployment, Floating IPs Order and use a custom profile
Mail Services Mail Hosting Cloud Compute, App Deployment Order Mail Hosting or SMTP Relay
Mail Services SMTP Relay Cloud Compute, App Deployment, Mail Hosting Order Mail Hosting or SMTP Relay
Storage Object Storage — Order Object Storage
Storage Snapshot Storage App Deployment Order more snapshot storage
Edge Proxy External Server — Connect a server you host elsewhere

Select a card to open the product's order page. When your account holds credit, a line above the cards shows the balance, with Add credit beside it. For bare metal, colocation or more than the catalogue lists, select Open a ticket at the end of the page and our team sends you a quote.

Once account plans open on your account, Mail Hosting and the free SMTP Relay plan come with your account plan and are no longer ordered here. You set them up with the API (Set up the services your plan includes). Paid SMTP Relay plans are ordered as before.

Configure an instance or a server

Section titled Configure an instance or a server

The Cloud Compute order page has five numbered sections: Plan, Operating system, Location, Settings and Add-ons. The App Deployment page orders a server the same way, with its software chosen from the Catalogue. When it offers What to deploy, it orders your code from a repository or an image too, with the sections that needs (Order a deployment). Every section but the software starts with an answer chosen for you, so you can order an instance without opening one. A server needs its software chosen, unless a quick start chose it.

  1. Select the Cloud Compute or App Deployment card.
  2. Choose the billing cycle with the switch above Size. Longer terms name what they save against paying monthly.
  3. Choose a Hardware tier if the page offers more than one, then a plan under Size. Each row shows its price for the cycle, its vCPUs, memory and storage.
  4. Under Operating system, choose a distribution and a release. For a server, choose what it runs in the Catalogue, then its version.
  5. Under Data centres, choose a location. We start with the one nearest you. A location marked Sold out has no room for this plan.
  6. Under Settings, check the Hostname of an instance or the Server name of a server. An instance also takes SSH keys and the Public IPv4 address switch. Answer any Plan options too: an option with a price is added to every charge.
  7. Under Add-ons, turn on anything you want to buy with it, as Add products to the order describes.
  8. Place the order, as Place the order describes.

Create an instance and Order a deployment describe each section in full.

Every other order page starts with its plans as cards, each with its price for the billing cycle chosen at the top right. We start with the plan the catalogue recommends, or else the first one on sale, and with the monthly cycle when the plan sells it. Object Storage has one plan, so its page starts with a Pricing card instead, with its rates and what is free each month. The product's own questions follow, such as the region of a floating IP or the domain of a mail service, and then the add-ons it takes. The guide for each product, in the table under Choose a product, walks through its page.

An add-on is another product bought in the same order. It goes on the order's first invoice and becomes a service of its own, which you can cancel on its own later. The Add-ons section lists what the product takes:

On the order page for You can add
Cloud Compute Up to four floating IPs, a DDoS Shield profile, Mail Hosting and SMTP Relay
App Deployment For a server or a database, one dedicated IPv4 address, a DDoS Shield profile and Snapshot Storage, with SMTP Relay and Mail Hosting except for a game server. For a web service, a static site or a hybrid site, SMTP Relay and Mail Hosting
Floating IPs A DDoS Shield profile
Mail Hosting SMTP Relay
  • Each card shows the add-on's price for the order's billing cycle. An add-on that is not sold on that cycle is billed monthly, and its card says so.
  • Turn on a card's switch to add it. Its fields appear under it, such as how many floating IPs to add, a profile name, a plan or a domain.
  • A card that cannot be added says why in its place, and its switch stays off. For example, the address pool in the order's location may be sold out, or a DDoS Shield profile may have no address in the order to protect.
  • Free plans are never add-ons. Until account plans open on your account, order the free SMTP Relay plan on its own page. After that, the free relay is the one your plan includes.
  • When the services are ready, we attach the floating IPs or the dedicated address to the new instance or server, and the DDoS Shield profile protects the addresses in the order.
  • A dedicated address, a DDoS Shield profile and Snapshot Storage go on a server, so on App Deployment only the order of a server or a database takes them.

The summary under Your order sits beside the sections. On a phone it follows them, and Review order at the bottom of the screen takes you to it. It lists each choice, the lines we bill under Billed, and the Total for each billing cycle, with any one-time setup fee, what a longer term saves and what is due today. The line under the total says how the first invoice will be paid.

  1. Check the summary. Change beside a choice takes you back to its section.
  2. If the button is greyed out, read the line under it. It names the first answer still missing, such as Choose a location., and selecting it takes you to that section.
  3. If a verification check appears above the button, complete it. It appears on an order whose plan costs nothing.
  4. Select the button. Its words follow the first payment:
    • The amount and what it does, such as Pay $5.00 and order or Pay $14.50 and deploy, when you pay with a card or a saved method. One click places the order and pays for it on this page; a bank's 3-D Secure check opens here too.
    • Order for free when nothing in the order costs anything.
    • The amount with from credit, such as Pay $5.00 from credit and order, when your credit covers what is due.
    • Deploy for a server or your own code, or Place order, when nothing is due today or your account is billed in arrears.

If you chose a currency other than US dollars in the currency menu in the top bar, the prices of the plan, the add-ons and the usage read in it as an estimate. The Total has the dollar amount under it, such as ≈ $14.97 USD, and the first invoice stays in US dollars. A deposit and your Account credit stay in US dollars too. We work out what a card is charged when it is charged, so the button reads Pay about €13.50 and deploy. When we have priced the charge already, for example the first deposit, it reads Pay €13.50 and deploy. A button for credit reads Pay $4.50 from credit and order in any currency. If we cannot take the payment in your currency, the page says why and offers Pay in US dollars. A domain is paid from your credit, so its page shows the price in your currency and what we take from your credit in US dollars. Currencies and countries explains the rates.

If we cannot take the order, the reason shows under the button with a link to the part of the page that fixes it, and your choices stay as they were. Otherwise the order's own page opens, as Pay and follow the order describes.

When you place an order, we raise one first invoice for everything in it: one billing period of the plan (one hour on hourly billing), the first period of each add-on and any setup fees. A service billed by use has no price of its own, so it adds nothing to the invoice (How usage billing works). The summary shows which of these cases applies before you place the order:

Paid from your credit balance
Your credit covers the first invoice. We take it from your balance when you place the order, and setup starts straight away.
Pay on the next page
Your credit does not cover the first invoice. We apply the credit you have, and the order's page asks for the rest. Setup starts once it is paid.
Billed to your account
Your account is billed in arrears. Setup starts when you place the order, and the first invoice follows at the end of the period. Coritan sets an account up this way, and you cannot choose it. Hourly, daily and weekly prices are paid in advance on every account.
Nothing to pay
Nothing in the order costs anything. Setup starts when you place it.
Nothing to pay now
An order billed by use, such as a static site, a web service or a server with no add-ons, puts nothing on the invoice, so nothing is due when you order it. What it uses is billed after that (How App Deployment is billed).

An order whose plan costs $0 needs the verification check, even when its add-ons cost money, and each account can hold one free service of each kind. The Cloud Compute and App Deployment order pages never show the check, and coritan.com does not sell the free server plan.

Object Storage is pay as you go: its order costs $0, and the summary reads We bill what you use above the free amounts once a month. It is the exception to one free service of each kind, because its free amounts belong to the account and a second service adds none (How Object Storage is billed).

While an invoice is unpaid, we keep trying to take it from your credit and your saved payment method. We cancel an App Deployment or floating IP order whose first invoice is still unpaid after two days, by default, so pay it soon after ordering.

The order's page shows three steps along the top: Order placed, the payment, then Setting up. What you ordered lists the service and each add-on with its status and price, and What happens next says what to do with each one once it is ready.

When the title reads Order placed, payment due, pay in the page:

  1. Under Pay invoice, check the amount under Due now.
  2. Choose how to pay. Account credit and your saved cards and PayPal accounts are under On your account, and a new card or PayPal under Pay another way.
  3. Select the button under the choices. It reads Pay with credit when your credit covers the amount and Apply credit when it covers part of it. For a card, it names the amount. A new card opens a card form in the page, where you select Pay now, and PayPal shows its own buttons. A provider with a checkout page of its own sends you there and brings you back afterwards.

When your phone or browser can pay with Apple Pay or Google Pay, that wallet's button sits above the choices and pays in one step. Select it and approve the payment on the sheet that opens, which charges the amount under Due now. The button stays when your credit covers the amount, and then charges the wallet's card and leaves your credit alone. It does not appear while a card form is open, and it is greyed out while another payment is in progress (Pay with Apple Pay or Google Pay).

Once the payment goes through, the page shows Paid and moves on to Setting up. It checks every few seconds while we set the order up, and the title becomes Your order is ready when every service is active. A button at the top of the page then opens the new service, and Order something else takes you back to the catalogue.

When nothing is due, the page shows Paid with what your credit paid, or Nothing to pay now for an order that is free or billed in arrears, and setup has already started. To pay later, leave the page and pay the invoice under Invoices. Setup starts on its own once it is paid.

Every service in the order appears on the Subscriptions tab of Billing with the status pending (Manage your subscriptions). It moves to provisioning while we set it up and to active when it is ready. The first invoice is under Invoices, with a line for each service in the order and one for each setup fee.

The button under the summary is greyed out
The line under it names what is missing, such as Choose a location. Select it to go to that section.
An add-on's switch is greyed out
The card says why under its description. Change what it names, such as the location or the public IPv4 switch, or order the product on its own page later.
Hourly billing needs a deposit first.
Your account has not deposited enough yet to use hourly billing. The Size card says how much more it needs. Select Top up credit to add it, or choose another cycle.
Deposit at least $10.00 before you start anything that bills by use. The deposit stays in your account as credit.
An order that runs an instance, a server or a web service is refused until a prepaid account has made the first deposit (What you need before you order).
Every location is sold out for this plan
No data centre has room for this size on this tier right now. Capacity differs by plan, so try another size or hardware tier.
That location has no capacity for this plan.
The location filled up after you chose it. Choose another under Data centres.
Could not load the prices
The list of products did not load. Select Try again.
Complete the verification check.
The plan costs nothing, so the order needs the check above the button. Complete it, then place the order.
The verification check did not pass. Complete it and try again.
The check expired or failed. Complete it again, then place the order again.
A message that ends Upgrade or remove one to create another.
You already hold the one free service of this kind that an account can have. Upgrade it or cancel it before you order another.
Too many requests for this action. Try again later.
Your account placed too many free orders in a short time. Wait ten minutes and try again.
The order's page shows an order you placed earlier
You placed the same order in the last two minutes, and it is still waiting to start. We show that order again instead of creating a second one. To order a second service on the same plan, give it a different name.
Payment cancelled; the invoice is still due.
You came back from a checkout page without paying. Choose a way to pay again under Pay invoice.
Could not load the invoice
The order is placed, but its invoice did not load on the order's page. Pay it under Invoices instead.
The order's page still says Setting up
The page stops checking after a few minutes. Reload it, or follow the service's status on the Subscriptions tab of Billing (Manage your subscriptions).

The catalogue needs no authentication. List the products with GET /products/. It returns up to per_page products (default 100, at most 200) from page, and group, product_group or hardware_tier (a tier's slug) narrow the list. It leaves out what you cannot order: the free server plan, which coritan.com does not sell, the services a plan includes and the products Coritan no longer sells. A plan sold only through our sales team is listed with orderable set to false:

Shell
curl "https://api.coritan.com/api/v1/products/?per_page=200"

Send your access token as well, and the list follows your account. Until account plans open on it, the list also holds the Mail Hosting plans and the free SMTP Relay plan, and you can order them. Without a token, the list holds them until account plans are open to every account.

Each product carries what an order needs:

id
The product_id to order.
module_name
The kind of product: vps for Cloud Compute and container for App Deployment. The others are ip, antiddos, mail, smtp_relay, object_storage, storage (Snapshot Storage), external_server, account_plan (the Pro and Business plans) and addon (capacity add-ons).
product_group, orderable and addon
The product's group (websites, servers, email, storage, plans or addons, the word product_group filters on), whether Coritan accepts a new order for it, and for a capacity add-on, what it goes on and how it is priced (Add capacity to a service).
pricing
One entry per billing cycle. Its id is the pricing_id to order, with billing_cycle, price, setup_fee, currency and is_active. Only an active entry can be ordered.
config_options
The plan's options, which the dashboard shows under Plan options. Put an option's field_name in config to take it. Its price_modifier is added to each charge.
is_orderable_now, stock_status and availability_reason
Whether the product can be ordered anywhere right now. stock_status is in_stock or out_of_stock.
locations
For compute products, each location's code, name and country_code, whether it is orderable for this product, and a reason when it is not.

GET /products/{product_id} returns one product in the same shape. GET /locations lists the active locations where we run servers, with their airport code, name, country_code and timezone. A network location with no servers is left out unless you add include_pops=true. GET /locations/availability checks capacity per location for a size: it takes module (vps or container), and optionally hardware_tier_id, memory_mb, disk_gb with template_id for an instance, or disk_mb for a server. Each location in the answer has available, and the reason Sold out for this plan when it is false.

Place the order with POST /services/order. This one needs your access token. The example orders an instance with two floating IPs and a DDoS Shield profile:

Shell
curl -X POST https://api.coritan.com/api/v1/services/order \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "product_id": 7,
    "pricing_id": 21,
    "hostname": "web-1.example.com",
    "idempotency_key": "3f1c9a52-8e0d-4d6b-b7a4-5c2e9f0a1d36",
    "config": {
      "location": "fra",
      "template_id": 4,
      "hostname": "web-1.example.com",
      "order_ipv4": true
    },
    "addons": [
      {"product_id": 31, "quantity": 2},
      {"product_id": 44, "config": {"profile_name": "web-1"}}
    ]
  }'
product_id and pricing_id
The product and one of its active prices.
hostname
Optional. The name the service is listed under, up to 100 characters.
config
The product's settings. A compute order needs location, an airport code such as fra. Create an instance and Order a deployment list the other keys for each product.
addons
Optional. Up to 8 products bought with this one, as Add-ons in the order describes.
idempotency_key
Up to 64 characters. A floating IP order needs one, and a retry with the same key returns the first order. Idempotent requests explains how to use it.
turnstile_token
Only for an order whose plan costs $0, when GET /auth/turnstile answers "enabled": true. It is needed even when the order's add-ons cost money. The token comes from the verification widget in a browser, so place such orders on the website.
promo_code
Optional. A promo code. Its discount comes off the product you order, and add-ons are charged in full (Use a promo code).

To see what an order would cost before you place it, send the same body to POST /checkout/quote. It writes nothing (Price an order before you place it).

Each entry in addons takes these fields:

product_id
The add-on product. Add products to the order lists the products each product takes. A server can also take extra ports and databases (Buy add-ons with a new server).
pricing_id
Optional. One of the add-on's active prices. Without it, we take its price on the order's billing cycle, else its monthly price, else its first active price. An hourly price needs the same deposit as an hourly service. Leave it out for extra ports or databases, which take the server's billing cycle.
quantity
Optional, 1 when left out. Floating IPs, extra ports and extra databases take more than 1, and everything else takes 1. Each floating IP becomes a service of its own, and an instance takes up to 4 of them while a server takes one /32 address. Extra ports or databases become one service that holds the whole quantity, up to 20, so list each of them once.
config
Optional. The settings an order of that product on its own takes. A floating IP comes from a pool in the order's location unless you name one in pool_id, and takes only the prefix length its product sells. A DDoS Shield profile takes profile_name (up to 40 characters, the order's hostname when left out), protection_mode, default_action, per_source_pps and aggregate_pps. It protects the addresses in the order, so leave ip_service_ids out. Extra ports and databases take no config.

An instance takes floating IPs only with "order_ipv4": true in its config, because the included address stays its free primary address. A DDoS Shield profile needs an address in the order: an instance's included IPv4, a floating IP added to a server, or the floating IP being ordered. When we cannot take one add-on, we refuse the whole order and create nothing.

A new order answers 201:

JSON
{
  "service": {"id": 1042, "status": "pending", "billing_cycle": "monthly", "amount": 12.0, "hostname": "web-1.example.com"},
  "addons": [
    {"id": 1044, "status": "pending", "billing_cycle": "monthly", "amount": 3.0},
    {"id": 1045, "status": "pending", "billing_cycle": "monthly", "amount": 3.0},
    {"id": 1046, "status": "pending", "billing_cycle": "monthly", "amount": 5.0}
  ],
  "invoice_id": 5531,
  "requires_payment": true,
  "checkout_available": true,
  "amount_due": "23.00",
  "message": "Invoice created; pay to start provisioning"
}

service is the new service, in the shape Manage your subscriptions describes. addons holds the add-ons' services in the order you listed them: one for each floating IP, and one for extra ports or databases whatever their quantity. An instance's included IPv4 is a service of its own too, but it is not in addons. When requires_payment is true, pay invoice_id as Pay an invoice shows; setup starts once it is paid. message says what happened:

message Meaning
Payment applied from credit balance; provisioning started Credit paid the first invoice.
Promo code covered the first invoice; provisioning started The promo code took off the whole first invoice.
Invoice created; pay to start provisioning amount_due is still to pay.
Provisioning started Nothing was due first, because the order is free or the account is billed in arrears.
Provisioning started (floating IP will auto-attach) As above, for an instance ordered with its included IPv4.
Order already submitted The same product, price and hostname were ordered in the last two minutes and are still pending. You get that order back, with its add-ons.
Replayed existing IP order A floating IP order was sent again with the same idempotency_key.

The errors you can act on:

  • 404 Product not found or Pricing tier not found: the id is wrong, or the price is not active.
  • 402 with the code paid_plan_required: a Cloud Compute instance, a game server or a database needs Server access. The answer names the add-on in upgrade.addon and the plan in upgrade.plan. A Free account avoids it by sending include_paid_plan set to true with its first order, which puts Server access on the same invoice (Add Server access).
  • 403 Deposit at least $10.00 before you start anything that bills by use. The deposit stays in your account as credit.: the order is billed by use, and the account has not made the first deposit.
  • 403 You must deposit at least $10 before using hourly billing services: the account cannot use hourly billing yet. GET /billing/hourly-eligibility returns the deposit it still needs in remaining.
  • 403 with "error": "plan_not_sold_here": the free server plan cannot be ordered here.
  • 403 with "error": "turnstile_failed": the verification check was missing or did not pass on an order whose plan costs $0.
  • 403 with "code": "plans_not_open": the order is for an account plan, and account plans are not open on your account yet.
  • 409 with "error": "free_limit_reached": the account already holds a free service of this kind.
  • 422 with a sentence that names the product, such as Enterprise is sold through our sales team. Contact sales to buy it.: Coritan no longer sells the product, does not sell it yet, sells it only through our sales team, or includes it with an account plan.
  • 422 with promo beside errors: the promo code cannot be used on this order. promo is one of the reason words in Use a promo code.
  • 422 with {"detail": {"errors": [...]}}: config is incomplete, the location has no room, or an add-on cannot go on this order. Examples are location is required (airport code, e.g. iad), Keep the included public IPv4 to add floating IPs. It is free, and floating IPs are extra addresses on top of it. and A server takes one floating IP, so add at most one. An App Deployment order of a kind other than template that names a floating IP, a DDoS Shield profile or Snapshot Storage gets a message that ends goes on a server, and only a template deployment has one. Order it with a template deployment, or on its own.
  • 422 for a floating IP, ordered on its own or as an add-on, with a prefix_len its product does not sell. The message ends Leave prefix_len out or set it to 29. for a product that sells /29 subnets.
  • 422 idempotency_key is required for IP orders, and 409 An identical IP order is already in progress; retry in a moment when the first request with that key has not finished.
  • 429 with "error": "rate_limited": more than 12 free orders from the account in ten minutes. Rate limits lists every limit.

API operations on this page

MethodPathWhat it does
POST/api/v1/services/orderOrder a platform service, and any add-ons bought with it
GET/api/v1/products/List the products you can order, with their prices
GET/api/v1/products/{product_id}Get one product by its ID, with its prices
GET/api/v1/locationsList the locations you can order a server in, by airport code
GET/api/v1/locations/availabilitySay which locations can take an order of this size right now