Skip to content
Coritan Docs

Order a floating IP

Order a single IPv4 address or a subnet from a region's pool, pay for it on the order's page, and follow or cancel an open order.

View as Markdown

Order a floating IP when you need an IP address that stays on your account as instances and servers come and go. The Floating IPs order page asks for the size and the region the address comes from, and can add a DDoS Shield profile to the same order. We hold an address for you while you pay, then assign it to your account.

To get addresses with a new instance or server, add them on its own order page instead: Create an instance takes up to four floating IPs, and Order a server takes one dedicated address.

  • Know which region your instance or server runs in. We announce a floating IP from its pool's region, so choose a pool in the same region. IP pools and regions explains the pools.
  • Credit on your account pays the first invoice when you place the order. Without enough credit, you pay the rest by card or PayPal on the page the order opens. To pay in one go, add credit first.
  1. In the dashboard, go to Floating IPs and select Order floating IP. You can also select the Floating IPs card on the Order a service page. Either way, the order page opens at https://www.coritan.com/dashboard/order/floating-ips.
  2. Under Size, choose a single address, or a subnet when a server needs several. Each card shows its price for the billing cycle and any one-time setup fee. A size marked Sold out cannot be ordered right now.
  3. If the sizes sell more than one billing cycle, choose one at the top of Size. A longer term names what it saves against paying monthly.
  4. Under Region, choose a pool in the region where your instance or server runs. The pools are grouped by region, and each shows its airport code, such as FRA. We start with a pool in your own region. A pool marked Sold out has no address of this size left.
  5. Under Add-ons, you can turn on the DDoS Shield profile card. It gives the address your own protection mode, firewall rules and packet rate limits, and goes on the same first invoice. Give it a Profile name, or we name it after the order, such as Shield profile for #215. Without a profile, the address keeps the scrubbing every address on the platform gets.
  6. Check the summary under Your order. It lists the Size and the Region, each with Change beside it, then what we bill under Billed and the Total. The line under the total says how the first invoice will be paid.
  7. If the button is greyed out, read the line under it. It names the first answer still missing, such as Choose a region., and selecting it takes you to that section.
  8. If a verification check appears above the button, complete it. It appears when the size costs nothing, even if the add-on costs money.
  9. Select the button. It reads Place order when your credit pays the first invoice or your account is billed in arrears, Place order and pay when you pay on the next page, and Order for free when nothing in the order costs anything.

If we refuse the order, Could not place the order appears above the button with the reason, and your choices stay as they were. Otherwise the order's own page opens. When its title reads Order placed, payment due, pay under Pay invoice, as Pay and follow the order describes. If you leave without paying, the order waits on the Orders tab, as Follow the order describes.

To order a size from a particular pool, go to the Pools tab and select Order beside that size. The order page opens with the size and the pool chosen.

The order's page follows the order until the address is assigned. The Orders tab lists the orders you have placed that do not have an address assigned yet, under Open orders. Each row shows the Pool with the size and region, the Status, when it was Placed, and Open invoice when it has one. Refresh reloads the list.

Started
We are placing the order.
Address held
We have reserved an address in the pool for you.
Awaiting payment
The order has an invoice to pay. The address stays held.
Provisioning
The invoice is paid and we are assigning the address to your account.

Under the status, the tab shows when the hold on the address expires, and an error when the last attempt failed. Pay before the hold expires. After that, we release the address back to the pool. We cancel an order whose invoice is still unpaid after two days, by default.

Once we assign the address, the order leaves the Orders tab and the floating IP appears on the IPs tab.

You can cancel an order while it is Started, Address held or Awaiting payment.

  1. On the Orders tab, select Cancel order… on the order's row.
  2. Select Cancel order.

The held address goes back to the pool and we void the unpaid invoice. Once an order is Provisioning, you cannot cancel it here: wait until the floating IP appears on the IPs tab, then cancel the floating IP.

The floating IP appears on the IPs tab as Unattached. It is yours, DDoS Shield filters its traffic, and you can attach it to an instance or a server. A DDoS Shield profile ordered with it protects it as soon as both are ready.

This size is sold out
No pool has an address of this size left. Choose another size, or look at the Pools tab later. Pools refill as other customers release addresses.
Choose a region.
Choose a pool under Region before you place the order.
Could not load the pools
The list of pools did not load. Reload the page.
Complete the verification check.
The size costs nothing, so the order needs the check above the button. Complete it, then place the order.
No available addresses in the selected pool
The pool ran out while you were ordering. Choose another pool in the same region, or another size.
An identical IP order is already in progress; retry in a moment
The same order is being placed from another tab or request. Wait a moment, then look for it on the Orders tab before you order again.
The order stays at Awaiting payment
The invoice is not paid yet. Select Open invoice and pay it, as Pay an invoice describes.
Hold expired under the status
We released the address you were holding. Cancel the order and place a new one.
This IP order can no longer be cancelled
The order is paid and we are assigning the address, or it has already ended. Once the floating IP appears on the IPs tab, cancel it if you no longer want it.
This IP is already provisioned
The address is already on your account. Cancel it from its Billing tab instead.

An order goes through POST /api/v1/services/order, the endpoint every product uses. Gather three values first.

  1. Find the plan. GET /api/v1/products/ lists the catalogue. Floating IP plans have module_name set to ip, and each has a list of pricing rows. A row's id is the pricing_id for one billing period at its price.

  2. Find a pool with stock of the size you want, as IP pools and regions describes:

    Shell
    curl "https://api.coritan.com/api/v1/client/ips/pools?prefix_len=29&region=fra" \
      -H "Authorization: Bearer $CORITAN_TOKEN"
    
  3. Choose an idempotency key for the order: 1–64 letters, digits, ., _, : or -. Use a new key for each new order.

Then place the order:

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": 31,
    "pricing_id": 87,
    "config": {"pool_id": 4, "prefix_len": 29},
    "idempotency_key": "subnet-fra-2026-09-25"
  }'

config.pool_id is required. config.prefix_len takes the plan's size when you leave it out, and any other size is refused. With "allow_pool_fallback": true in config, we take the address from any other pool with stock when the chosen one has none left, and that pool can be in another region.

To add a DDoS Shield profile, list it in addons, as Add-ons in the order describes. It protects the address this order buys. An order for a plan that costs $0 also needs a turnstile_token while the verification check is on, even with a paid profile in it.

JSON
{
  "service": {"id": 215, "status": "pending"},
  "addons": [],
  "invoice_id": 5120,
  "requires_payment": true,
  "checkout_available": true,
  "amount_due": "32.00",
  "message": "Invoice created; pay to start provisioning"
}

The response is shortened here. service.id becomes the floating IP's service_id once the address is assigned. When your credit balance covers the invoice, we pay it from there: requires_payment is false and message is Payment applied from credit balance; provisioning started. When requires_payment is true, pay invoice invoice_id, as Pay an invoice describes.

Sending the same idempotency_key again returns the same order instead of a second one. Once the order has an invoice, the replay answers with message set to Replayed existing IP order. While the first request is still running, it answers 409 with An identical IP order is already in progress; retry in a moment. A key whose order was cancelled, failed or expired starts a new order.

A second order for the same plan and billing cycle within two minutes of the first, while the first is still pending, returns the first order with message set to Order already submitted, whatever key it sends. Wait two minutes before you order the same plan again.

Leaving out the key answers 422 with idempotency_key is required for IP orders, and a key in the wrong format answers 422 with a message that starts idempotency_key must be. Leaving out the pool answers 422 with pool_id is required. A prefix_len the plan does not sell answers 422 with a message that ends Leave prefix_len out or set it to 29. for a plan that sells /29 subnets. A pool with nothing left answers 409 with No available addresses in the selected pool.

GET /api/v1/client/ips/orders lists your open orders as items, newest first, up to 25. Each has its idempotency_key, status, pool_id, prefix_len, version, service_id, invoice_id, hold_expires_at and last_error. status is started, held, invoiced or provisioning, the four statuses the Orders tab shows.

GET /api/v1/client/ips/orders/{idempotency_key} returns one order in any status. Besides the open statuses, status can be active once the address is assigned, or cancelled, failed or expired. An order with an invoice also carries invoice_number, total, currency, due_date and invoice_status. An unknown key answers 404 with IP order not found.

POST /api/v1/client/ips/orders/{idempotency_key}/cancel cancels an open order and returns it:

Shell
curl -X POST https://api.coritan.com/api/v1/client/ips/orders/subnet-fra-2026-09-25/cancel \
  -H "Authorization: Bearer $CORITAN_TOKEN"

An order that is provisioning or has ended answers 409 with This IP order can no longer be cancelled, and one whose address is already assigned answers 409 with This IP is already provisioned.

The Floating IPs API reference and the services API reference list every field.

API operations on this page

MethodPathWhat it does
GET/api/v1/client/ips/ordersOpen platform IP order intents for resume after login or a new tab
GET/api/v1/client/ips/orders/{idempotency_key}Get my IP order
POST/api/v1/client/ips/orders/{idempotency_key}/cancelCancel my IP order
POST/api/v1/services/orderOrder a platform service, and any add-ons bought with it