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.
- Base URL:
https://api.ariaservice.net/baremetal/v1 - Format: JSON over HTTPS
- Authentication: a personal API token sent as a Bearer token (Authentication)
- OpenAPI 3.1:
https://api.ariaservice.net/baremetal/v1/openapi.json, browsable in the interactive reference
Quick start
- In the panel, at cloud.ariaservice.net/users/api-tokens, create a token with the scopes
baremetal:servers:readandbaremetal:servers:write. - 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
| Scope | Allows |
|---|---|
baremetal:servers:read | catalog, quotes, orders, servers and renewals |
baremetal:servers:write | ordering 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 path | Purpose |
|---|---|
GET /suppliers, GET /ranges, GET /plans | catalog |
GET /plans/{catalog}/{plan}/options | datacenters, memory, storage and bandwidth with prices |
GET /rules | the rules an order must accept |
POST /quote | price a configuration (nothing is held) |
GET /orders, POST /orders, GET /orders/{id} | orders and their stages |
POST /orders/{id}/cancel | cancel before procurement started |
GET /servers, GET /servers/{id} | delivered servers |
POST /servers/{id}/credentials/reveal | login details (shown only once) |
GET /servers/{id}/renewals, POST /servers/{id}/renew | renewals and paying the next month |
GET /servers/{id}/os-templates, POST /servers/{id}/reinstall, GET /servers/{id}/reinstall | OS installation (the disks are wiped) and its state |
Errors
Errors are JSON, {"error": "...", "code": "..."}.
| HTTP | code |
|---|---|
| 400 | invalid_input |
| 401 | unauthorized |
| 402 | insufficient balance |
| 403 | forbidden, insufficient_scope |
| 404 | not_found, region_not_found |
| 409 | the order's or server's state does not allow it now |
| 429 | rate_limit_exceeded |
| 503 | baremetal_unavailable |