Skip to main content

Dedicated servers API

The dedicated servers API covers the server catalog, pricing a configuration, ordering, following delivery, monthly renewals, revealing login details and installing an operating system. The arianet baremetal CLI commands are built on it.

Quick start​

  1. In the panel, at cloud.ariaservice.net/users/api-tokens, create a token with the scopes baremetal:servers:read and baremetal:servers:write.
  2. Read the catalog, price a configuration and order it:
export ARIANET_TOKEN="paste-your-token-here"
BASE=https://api.ariaservice.net/baremetal/v1
AUTH="Authorization: Bearer $ARIANET_TOKEN"

curl -s "$BASE/plans?range=rise" -H "$AUTH"
curl -s "$BASE/plans/eco/24rise01/options" -H "$AUTH"
curl -s $BASE/rules -H "$AUTH" # the rules version the order must accept
curl -s -X POST $BASE/quote -H "$AUTH" -H "Content-Type: application/json" \
-d '{"catalog":"eco","plan_code":"24rise01","datacenter":"fra","memory":"ram-32g","storage":"softraid-2x512nvme","bandwidth":"1gbps"}'
curl -s -X POST $BASE/orders -H "$AUTH" -H "Content-Type: application/json" \
-d '{"catalog":"eco","plan_code":"24rise01","datacenter":"fra","memory":"ram-32g","storage":"softraid-2x512nvme","bandwidth":"1gbps","rules_version":"2026-10","accept_rules":true}'

The order amount is held on the wallet and delivery goes through stages shown by GET /orders/{id}. Until procurement starts an order can be cancelled and the full amount is released.

Authentication and scopes​

ScopeAllows
baremetal:servers:readcatalog, quotes, orders, servers and renewals
baremetal:servers:writeordering and cancelling, paying renewals, revealing login details and installing an OS

A token without any scope is unrestricted. Dedicated servers have a single install: an Arianet-Region header answers 404 region_not_found.

Resources​

Method and pathPurpose
GET /suppliers, GET /ranges, GET /planscatalog
GET /plans/{catalog}/{plan}/optionsdatacenters, memory, storage and bandwidth with prices
GET /rulesthe rules an order must accept
POST /quoteprice a configuration (nothing is held)
GET /orders, POST /orders, GET /orders/{id}orders and their stages
POST /orders/{id}/cancelcancel before procurement started
GET /servers, GET /servers/{id}delivered servers
POST /servers/{id}/credentials/reveallogin details (shown only once)
GET /servers/{id}/renewals, POST /servers/{id}/renewrenewals and paying the next month
GET /servers/{id}/os-templates, POST /servers/{id}/reinstall, GET /servers/{id}/reinstallOS installation (the disks are wiped) and its state

Errors​

Errors are JSON, {"error": "...", "code": "..."}.

HTTPcode
400invalid_input
401unauthorized
402insufficient balance
403forbidden, insufficient_scope
404not_found, region_not_found
409the order's or server's state does not allow it now
429rate_limit_exceeded
503baremetal_unavailable