Prejsť na obsah
Aktuálny kupón:zľava 10 %Uplatniť v objednávke

API pre vlastné panely a reselling

Ovládajte svoje služby z vlastného systému: rovnaké funkcie ako v zákazníckom účte, s kľúčmi a oprávneniami, ktoré si sami nastavíte.

Na čo API slúži

API je pre každého, kto chce služby StormHostu ovládať z vlastného prostredia: reselleri s vlastným panelom pre svojich zákazníkov, firmy s internými nástrojmi alebo vývojári, ktorí chcú reštart servera, zálohy alebo DNS riešiť skriptom.

Cez API funguje takmer všetko, čo robíte v zákazníckom účte: zapnutie a reštart, štatistiky, preinštalácia, firewall, rDNS, zálohy, súbory, databázy, nastavenia herných serverov a Minecraftu, Discord boti, DNS domén, zmeny balíkov, obnovy aj platba kreditom.

Kľúč koná vaším menom, ale len v rozsahu oprávnení, ktoré mu dáte. Pri službe, ktorú s vami niekto zdieľa, navyše platia oprávnenia, ktoré vám dal jej majiteľ.

Rýchly štart

  1. V zákazníckom účte otvorte Nastavenia účtu, záložku API kľúče, a vytvorte kľúč. Zvoľte názov, oprávnenia, prípadne služby a IP adresy, z ktorých ho budete používať, a platnosť. Vytvorenie potvrdíte kódom z aplikácie alebo heslom.
  2. Kľúč sa ukáže len raz. Skopírujte si ho a uložte bezpečne, napríklad do premennej prostredia na serveri. U nás je uložený len jeho odtlačok, takže ho nevieme znova zobraziť.
  3. Vyskúšajte prvú požiadavku. Endpoint /api/v1/key vráti informácie o kľúči a funguje s každým platným kľúčom:
curl https://stormhost.eu/api/v1/key \
  -H "Authorization: Bearer shk_…"

Overenie kľúčom

  • Každá požiadavka posiela kľúč v hlavičke Authorization v tvare Bearer shk_… (namiesto toho možno použiť aj hlavičku X-API-Key).
  • API nepoužíva cookies. Požiadavku s prihlasovacou cookie zákazníckeho účtu odmietne, takže kľúč nemožno zneužiť z prehliadača.
  • Kľúč nikdy nedávajte do kódu, ktorý beží v prehliadači alebo v mobilnej aplikácii. Patrí len na váš server.
  • Po zmene alebo obnove hesla a pri zablokovaní účtu doterajšie kľúče prestanú platiť. Vytvorte potom nové.
Authorization: Bearer shk_ab12cd34ef56_…

Oprávnenia

Kľúču dajte len oprávnenia, ktoré naozaj potrebuje. Chýbajúce oprávnenie API odmietne odpoveďou 403 s kódom insufficient_scope a názvom potrebného oprávnenia v poli requiredScope.

OprávnenieČo povoľuje
account:readÚdaje účtu (len čítanie)
services:readZoznam služieb, stav a štatistiky
services:powerZapnúť, vypnúť, reštartovať
services:consoleKonzola
services:networkSieť: rDNS, privátna sieť, adresy
services:firewallFirewall
services:filesSúbory, svety, pluginy a módy
services:databaseDatabázy
services:backupsZálohy a obnova
services:settingsNastavenia služby (hry, boti, plánovač, upozornenia, ISO)
services:secretsCitlivé: preinštalácia, heslá, SFTP, kód na prevod doménylen s obmedzením na IP adresy
domains:readDNS záznamy (len čítanie)
domains:writeDNS záznamy a nameservery (úpravy)
billing:readDoklady a kredit (len čítanie)
billing:writeObjednávky zmien, obnovy a platba kreditom

Obmedzenie na služby a IP adresy

Kľúč môžete obmedziť na vybrané služby. K ostatným službám sa potom nedostane a API odpovie 404, ako keby neexistovali. Bez obmedzenia platí pre všetky vaše služby, aj budúce.

Kľúč môžete obmedziť na IP adresy alebo rozsahy (napr. 203.0.113.10 alebo 203.0.113.0/24, najviac 20). Z inej adresy API odpovie 403 s kódom ip_not_allowed. Citlivé oprávnenie services:secrets je možné len s týmto obmedzením.

Platnosť kľúča volíte pri vytvorení (30 až 365 dní, alebo bez obmedzenia). Kľúč môžete kedykoľvek odvolať, prestane platiť okamžite.

Požiadavky a odpovede

  • Adresa API je https://stormhost.eu/api/v1. Všetky odpovede sú JSON v kódovaní UTF-8, okrem sťahovania súborov a PDF.
  • Požiadavky s telom (POST, PUT, PATCH, DELETE) posielajte ako JSON s hlavičkou Content-Type: application/json.
  • Jazyk hlásení zvolíte parametrom ?locale=cs, en, sk, pl alebo de, pri zápisoch aj poľom locale v tele. Bez neho odpovedáme po česky.
  • Identifikátor služby {id} nájdete v zozname služieb (GET /api/v1/services) alebo v adrese služby v zákazníckom účte.
  • Úspešná odpoveď má stav 200. Chyba má stav 4xx alebo 5xx a v tele pole error (text pre človeka) a zvyčajne aj code (strojový kód).
{
  "error": "This API key lacks the services:power scope.",
  "code": "insufficient_scope",
  "requiredScope": "services:power"
}

Chyby

Chyby spoločné všetkým funkciám. Chyby jednotlivých funkcií nájdete pri nich v prehľade.

StavKódVýznam
400cookies_not_allowedPožiadavka nesie cookies. API sa používa len s kľúčom.
401missing_keyChýba kľúč v hlavičke Authorization.
401invalid_keyKľúč je neplatný, prepadnutý alebo odvolaný.
403ip_not_allowedKľúč nemožno použiť z tejto IP adresy.
403insufficient_scopeKľúč nemá potrebné oprávnenie (pole requiredScope).
403email_unverifiedE-mail účtu nie je overený.
404not_foundNeznáma adresa alebo služba, ku ktorej kľúč nemá prístup.
400—Funkcia nie je pre tento typ služby (napríklad nastavenia Minecraftu pri VPS).
409—Služba nie je aktívna (čaká na zriadenie, je pozastavená alebo zrušená).
405method_not_allowedMetóda nie je povolená, hlavička Allow uvádza povolené.
429rate_limitedPrekročený limit požiadaviek, opakujte po čase v hlavičke Retry-After.
503unavailableSlužba je dočasne nedostupná, skúste to o chvíľu.

Limity

  • Jeden kľúč smie poslať najviac 300 požiadaviek za minútu (všetky funkcie dohromady).
  • Niektoré funkcie majú vlastný, prísnejší limit rovnako ako v zákazníckom účte, napríklad zapnutie a reštart služby 5 za minútu.
  • Po prekročení limitu API odpovie 429 a hlavička Retry-After povie, o koľko sekúnd to skúsiť znova. Opakované neplatné kľúče z jednej IP adresy sa dočasne blokujú.
  • Aktívnych kľúčov môže mať účet najviac 20.

Ukážky kódu

Ukážky overia kľúč a vypíšu služby. Kľúč čítajú z premennej prostredia STORMHOST_API_KEY. Typický postup resellera: vypísať služby, zistiť stav a podľa potreby službu reštartovať.

curl

curl https://stormhost.eu/api/v1/key \
  -H "Authorization: Bearer $STORMHOST_API_KEY"

curl "https://stormhost.eu/api/v1/services?status=active" \
  -H "Authorization: Bearer $STORMHOST_API_KEY"

curl -X POST https://stormhost.eu/api/v1/services/SERVICE_ID/power \
  -H "Authorization: Bearer $STORMHOST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"action":"restart"}'

JavaScript (Node.js)

const API = "https://stormhost.eu/api/v1";
const headers = { Authorization: `Bearer ${process.env.STORMHOST_API_KEY}` };

const res = await fetch(`${API}/services`, { headers });
if (!res.ok) throw new Error((await res.json()).error);
const { data } = await res.json();

for (const s of data) console.log(s.id, s.name, s.status);

await fetch(`${API}/services/${data[0].id}/power`, {
  method: "POST",
  headers: { ...headers, "Content-Type": "application/json" },
  body: JSON.stringify({ action: "restart" }),
});

PHP

<?php
$api = "https://stormhost.eu/api/v1";
$key = getenv("STORMHOST_API_KEY");

function call(string $method, string $url, string $key, ?array $body = null): array {
    $ch = curl_init($url);
    curl_setopt_array($ch, [
        CURLOPT_CUSTOMREQUEST => $method,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => ["Authorization: Bearer $key", "Content-Type: application/json"],
        CURLOPT_POSTFIELDS => $body ? json_encode($body) : null,
    ]);
    $out = json_decode(curl_exec($ch), true);
    curl_close($ch);
    return $out;
}

$services = call("GET", "$api/services", $key)["data"];
call("POST", "$api/services/{$services[0]['id']}/power", $key, ["action" => "restart"]);

Python

import os, requests

API = "https://stormhost.eu/api/v1"
s = requests.Session()
s.headers["Authorization"] = f"Bearer {os.environ['STORMHOST_API_KEY']}"

services = s.get(f"{API}/services").json()["data"]
for svc in services:
    print(svc["id"], svc["name"], svc["status"])

r = s.post(f"{API}/services/{services[0]['id']}/power", json={"action": "restart"})
r.raise_for_status()

Prehľad funkcií

Pri každej funkcii je metóda, adresa, potrebné oprávnenie, parametre a ukážka odpovede. Hodnoty v ukážkach sú vymyslené.

Kľúč a účet

GET/keyInformácie o API kľúči

Vráti názov kľúča, jeho oprávnenia, obmedzenie na služby a IP adresy a platnosť. Nepotrebuje žiadne oprávnenie, hodí sa na overenie kľúča.

Oprávnenie: –

Ukážka odpovede

{
  "name": "Můj panel",
  "key": "shk_a1b2c3d4_…",
  "scopes": [
    "services:read",
    "services:power"
  ],
  "serviceIds": [],
  "allowedIps": [
    "203.0.113.10"
  ],
  "expiresAt": null,
  "createdAt": "2026-10-01T08:00:00.000Z"
}

Možné chyby

  • 401invalid_key Kľúč je neplatný, vypršal alebo bol odvolaný.
GET/meÚdaje o účte

Vráti základné údaje účtu, ku ktorému kľúč patrí: e-mail, meno, firmu, IČO, DIČ a krajinu.

Oprávnenie: account:read

Ukážka odpovede

{
  "id": "clx9k2m4p0000cus01abcdef",
  "email": "[email protected]",
  "firstName": "Jan",
  "lastName": "Novák",
  "companyName": null,
  "ico": null,
  "dic": null,
  "country": "CZ",
  "emailVerified": true,
  "createdAt": "2026-03-12T09:30:00.000Z"
}

Možné chyby

  • 401invalid_key Účet kľúča sa nenašiel.

Služby

GET/overview/metricsOkamžité metriky služieb

Vráti aktuálny stav a využitie až 8 služieb naraz: pri VPS a herných serveroch napájanie, procesor, pamäť a dobu behu, pri Minecrafte hráčov, pri rackhousingu príkon, pri doménach dátum expirácie. Keď sa dáta nedajú zistiť, služba má state: unavailable s dôvodom v reason.

Oprávnenie: services:read

Parametre v adrese

NázovTypPovinnéPopis
idsstringnieID služieb oddelené čiarkou, najviac 8. Bez parametra vráti prvých 8 služieb. Neznáme ID sa ticho vynechajú. Kľúč obmedzený na vybrané služby smie poslať len ich ID.
localestringnieJazyk chybových hlásení: cs, en, sk, pl alebo de. Predvolený je cs.

Ukážka odpovede

{
  "at": "2026-11-07T10:00:00.000Z",
  "ttlMs": 2500,
  "truncated": false,
  "services": [
    {
      "serviceId": "clx9k2m4p0000svc01abcdef",
      "sampledAt": "2026-11-07T09:59:58.000Z",
      "kind": "vps",
      "state": "ok",
      "power": "running",
      "cpuPercent": 12.5,
      "cpuAt": "2026-11-07T09:59:00.000Z",
      "memUsedMib": 1536,
      "memTotalMib": 4096,
      "uptimeSeconds": 864000,
      "cpuSeries": [
        {
          "t": 1794045540000,
          "v": 11.2
        },
        {
          "t": 1794045600000,
          "v": 12.5
        }
      ]
    },
    {
      "serviceId": "clx9k2m4p0001svc02abcdef",
      "sampledAt": "2026-11-07T09:59:58.000Z",
      "kind": "game",
      "state": "ok",
      "power": "running",
      "cpuPercent": 34.1,
      "memUsedMib": 2900,
      "memTotalMib": 6144,
      "uptimeSeconds": 7200,
      "players": {
        "state": "ok",
        "online": 5,
        "max": 20,
        "at": "2026-11-07T09:55:00.000Z",
        "stale": false
      }
    },
    {
      "serviceId": "clx9k2m4p0002svc03abcdef",
      "sampledAt": "2026-11-07T09:59:58.000Z",
      "kind": "domain",
      "state": "ok",
      "expiresOn": "2027-05-01"
    },
    {
      "serviceId": "clx9k2m4p0003svc04abcdef",
      "sampledAt": "2026-11-07T09:59:58.000Z",
      "kind": "vps",
      "state": "unavailable",
      "reason": "provider"
    }
  ]
}

Možné chyby

  • 404not_found Kľúč je obmedzený na vybrané služby a ids obsahuje inú službu.
  • 429rate_limited Prekročený limit 40 dopytov za minútu.
  • 503unavailable Zoznam služieb teraz nejde načítať. Skúste to o pár sekúnd.
GET/servicesZoznam služieb

Vráti vaše služby aj služby, ktoré s vami niekto zdieľa (rola member, pri nich bez ceny a s vašimi oprávneniami). Kľúč obmedzený na vybrané služby vidí len tie.

Oprávnenie: services:read

Parametre v adrese

NázovTypPovinnéPopis
statusstringnieFilter podľa stavu: PENDING, ACTIVE, SUSPENDED alebo TERMINATED (na veľkosti písmen nezáleží).
localestringnieJazyk názvov služieb: cs, en, sk, pl alebo de. Predvolený je cs.

Ukážka odpovede

{
  "data": [
    {
      "id": "clx9k2m4p0000svc01abcdef",
      "name": "VPS Start",
      "type": "VPS",
      "kind": "vps",
      "status": "ACTIVE",
      "role": "owner",
      "plan": "vps-start",
      "address": "203.0.113.25",
      "priceCzk": 249,
      "currency": "CZK",
      "expiresAt": "2026-12-01T00:00:00.000Z",
      "createdAt": "2026-06-01T10:00:00.000Z"
    },
    {
      "id": "clx9k2m4p0001svc02abcdef",
      "name": "Minecraft server",
      "type": "GAME_SERVER",
      "kind": "game",
      "status": "ACTIVE",
      "role": "member",
      "permissions": [
        "power",
        "console"
      ],
      "plan": null,
      "address": "mc.example.com",
      "priceCzk": null,
      "currency": "CZK",
      "expiresAt": "2026-11-20T00:00:00.000Z",
      "createdAt": "2026-08-15T12:00:00.000Z"
    }
  ]
}
GET/services/{id}Detail služby

Vráti jednu službu v rovnakom tvare ako zoznam služieb. Funguje aj pre pozastavené a ukončené služby.

Oprávnenie: services:read

Parametre v adrese

NázovTypPovinnéPopis
localestringnieJazyk názvu služby a chybových hlásení: cs, en, sk, pl alebo de. Predvolený je cs.

Ukážka odpovede

{
  "data": {
    "id": "clx9k2m4p0000svc01abcdef",
    "name": "VPS Start",
    "type": "VPS",
    "kind": "vps",
    "status": "ACTIVE",
    "role": "owner",
    "plan": "vps-start",
    "address": "203.0.113.25",
    "priceCzk": 249,
    "currency": "CZK",
    "expiresAt": "2026-12-01T00:00:00.000Z",
    "createdAt": "2026-06-01T10:00:00.000Z"
  }
}

Možné chyby

  • 404 Služba neexistuje, nepatrí vám alebo k nej kľúč nemá prístup.
  • 400 Tento druh služby API nepodporuje.
  • 403mfa_required Vlastník zdieľanej služby vyžaduje dvojfázové overenie, ktoré na účte nemáte zapnuté.

Služby všeobecne

POST/services/{id}/console-tokenToken na pripojenie ku konzole

Vydá jednorazový token platný 30 s pre websocket konzoly VPS (VNC alebo terminál) alebo herného servera. Konzola otvorená tokenom z API beží najdlhšie asi minútu; len aktívna služba, limit 10 za minútu.

Oprávnenie: services:console

Telo požiadavky (JSON)

NázovTypPovinnéPopis
modestringánoLen pri VPS: vnc alebo term. Pri hernom serveri sa nečíta.

Ukážka tela

{
  "mode": "vnc"
}

Ukážka odpovede

{
  "token": "eyJhbGciOi…example",
  "password": "example-rfb-ticket"
}

Možné chyby

  • 400 Pri VPS chýba alebo je neplatná hodnota mode.
  • 403 Chýba oprávnenie Konzola pri zdieľanej službe.
  • 404 Služba sa nenašla alebo pri nej konzola nie je.
  • 409 Služba nie je aktívna alebo je VPS zamknutá (obnova zo zálohy).
  • 412NOT_PROVISIONED Server ešte nie je pripravený.
  • 429 Viac ako 10 tokenov za minútu.
GET/services/{id}/crashRozbor pádu a logu servera

Rozoberie log, crash report alebo výpis konzoly herného servera či bota a vráti nálezy s návrhmi riešenia. Na serveri nič nemení; nálezy obsahujú id a parametre, nie hotové texty. Limit 10 rozborov za minútu na službu.

Oprávnenie: services:read

Parametre v adrese

NázovTypPovinnéPopis
sourcestringnieauto (predvolené), latest, crash-report, console alebo file.
namestringnieSúbor pre source=file, napr. logs/latest.log, crash-reports/crash-….txt alebo hs_err_pid….log (max. 120 znakov).
liststringniefiles vráti zoznam súborov, ktoré je možné rozobrať (najviac 50).
langstringnieJazyk hlásení: cs, en, sk, pl alebo de.
tplstringnie1 = povoliť aj návrhy, ktoré pošlú pevný príkaz do konzoly.

Ukážka odpovede

{
  "result": {
    "v": 1,
    "kind": "mc",
    "findings": [
      {
        "id": "mc.oom",
        "sev": "critical",
        "p": {
          "heapMb": 2048
        },
        "evidence": [
          {
            "line": 412,
            "text": "java.lang.OutOfMemoryError: Java heap space"
          }
        ],
        "fix": {
          "type": "recalc-memory"
        },
        "alt": [
          {
            "type": "upgrade"
          }
        ]
      }
    ],
    "rootCause": {
      "cls": "java.lang.OutOfMemoryError",
      "msg": "Java heap space",
      "line": 412
    },
    "stats": {
      "lines": 1830,
      "truncated": false,
      "ms": 42,
      "timedOut": false,
      "crashReport": false
    }
  },
  "sources": [
    {
      "kind": "log",
      "name": "logs/latest.log",
      "mtime": 1762508000,
      "truncated": false
    }
  ]
}

Možné chyby

  • 400bad-request Neplatný parameter. Kód bad-name: tento súbor nie je možné rozobrať.
  • 403forbidden Chýba oprávnenie Konzola alebo Súbory pri zdieľanej službe.
  • 404no-source Log sa nenašiel, server možno ešte nebežal.
  • 412not-ready Server ešte nie je pripravený.
  • 413too-large Log je na rozbor príliš veľký (nad 16 MiB).
  • 429rate Prekročený limit. Kód busy: práve bežia rozbory iných serverov.
  • 502failed Log sa nepodarilo načítať.
GET/services/{id}/databaseDatabázový server na VPS a prehľad

Zistí, či je na VPS MariaDB/MySQL alebo PostgreSQL, a po pripojení vráti verziu, databázy a používateľov. Len VPS.

Oprávnenie: services:database

Parametre v adrese

NázovTypPovinnéPopis
localestringnieJazyk dôvodu v connectError: cs, en, sk, pl alebo de.

Ukážka odpovede

{
  "detection": {
    "mysql": {
      "installed": true,
      "listening": true
    },
    "postgres": {
      "installed": false,
      "listening": false
    },
    "os": {
      "id": "debian",
      "like": "",
      "name": "Debian GNU/Linux 12 (bookworm)"
    },
    "canAutoInstall": true,
    "install": {
      "running": false,
      "engine": null,
      "exitCode": null,
      "logTail": null
    }
  },
  "config": {
    "engine": "mysql",
    "port": 3306,
    "username": "stormhost_panel",
    "auto": true
  },
  "overview": {
    "version": "10.11.6-MariaDB",
    "databases": [
      {
        "name": "shop",
        "sizeBytes": 5242880,
        "tables": 14,
        "system": false
      }
    ],
    "users": [
      {
        "name": "shop",
        "host": "localhost",
        "databases": [
          "shop"
        ],
        "system": false
      }
    ]
  },
  "connectError": null
}

Možné chyby

  • 403 Chýba oprávnenie Databázy.
  • 401AUTH_FAILED VPS odmietol prihlasovacie údaje.
  • 409HOST_KEY_CHANGED Odtlačok SSH kľúča VPS sa zmenil (nový v presentedHostKey); potvrďte ho akciou trustHostKey.
  • 412NO_TARGET VPS zatiaľ nemá adresu alebo prístupové údaje (tiež NO_CREDENTIALS).
  • 502UNREACHABLE VPS nie je dostupný (tiež TIMEOUT, FAILED).
POST/services/{id}/databaseInštalácia, pripojenie, databázy a používatelia

Spravuje databázový server na VPS podľa poľa action. Inštalácia beží na pozadí (len Debian/Ubuntu); zmazanie databázy alebo používateľa je nevratné. Vygenerované heslo sa vráti len raz.

Oprávnenie: services:database

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringánoinstall, connectAuto, connectManual, disconnect, createDatabase, dropDatabase, createUser, dropUser, setPassword alebo grant.
enginestringnieinstall, connectAuto, connectManual: mysql alebo postgres. connectAuto založí účet panela cez lokálny prístup roota.
portintegernieconnectManual: port databázového servera.
usernamestringnieconnectManual: používateľ, pod ktorým sa panel pripojí.
passwordstringnieconnectManual: heslo (povinné). createUser, setPassword: nové heslo 8–128 znakov; bez neho sa vygeneruje.
namestringnieDatabázové akcie: názov databázy alebo používateľa, písmená bez diakritiky, číslice a podčiarkovník, najviac 63 znakov, nezačína číslicou.
createUserbooleanniecreateDatabase: založiť aj rovnomenného používateľa s plnými právami.
hoststringniecreateDatabase, createUser (MySQL): localhost (predvolené) alebo %. dropUser: konkrétny host, inak všetky.
databasestringniecreateUser (nepovinné), grant (povinné): databáza, ku ktorej používateľ dostane plné práva.

Ukážka tela

{
  "action": "createDatabase",
  "name": "shop",
  "createUser": true,
  "host": "localhost"
}

Ukážka odpovede

{
  "ok": true,
  "username": "shop",
  "password": "<generated>"
}

Možné chyby

  • 400 Neplatná požiadavka, vyhradený názov, inštalácia už beží, systém nevie automatickú inštaláciu alebo chyba z databázového servera.
  • 412 Databázový server ešte nie je pripojený.
  • 403 Chýba oprávnenie Databázy.
  • 500 Vnútorná chyba (v odpovedi je ref pre podporu).
  • 401AUTH_FAILED VPS odmietol prihlasovacie údaje.
  • 409HOST_KEY_CHANGED Odtlačok SSH kľúča VPS sa zmenil (nový v presentedHostKey); potvrďte ho akciou trustHostKey.
  • 412NO_TARGET VPS zatiaľ nemá adresu alebo prístupové údaje (tiež NO_CREDENTIALS).
  • 502UNREACHABLE VPS nie je dostupný (tiež TIMEOUT, FAILED).
GET/services/{id}/database/browseTabuľky a riadky databázy na VPS

Bez table vráti tabuľky databázy s odhadom počtu riadkov a veľkosťou. S table vráti riadky po 50. Len VPS s pripojeným databázovým serverom.

Oprávnenie: services:database

Parametre v adrese

NázovTypPovinnéPopis
dbstringánoNázov databázy.
tablestringnieNázov tabuľky; bez neho sa vráti zoznam tabuliek.
schemastringniePostgreSQL: schéma tabuľky, predvolene public.
pageintegernieStránka od 0, po 50 riadkoch.

Ukážka odpovede

{
  "columns": [
    "id",
    "name",
    "created_at"
  ],
  "rows": [
    [
      "1",
      "Alice",
      "2026-10-01 12:00:00"
    ],
    [
      "2",
      "Bob",
      "2026-10-03 08:30:00"
    ]
  ],
  "page": 0,
  "pageSize": 50,
  "total": 2
}

Možné chyby

  • 400 Neplatný názov alebo chyba z databázového servera.
  • 412 Databázový server ešte nie je pripojený.
  • 403 Chýba oprávnenie Databázy.
  • 401AUTH_FAILED VPS odmietol prihlasovacie údaje.
  • 409HOST_KEY_CHANGED Odtlačok SSH kľúča VPS sa zmenil (nový v presentedHostKey); potvrďte ho akciou trustHostKey.
  • 412NO_TARGET VPS zatiaľ nemá adresu alebo prístupové údaje (tiež NO_CREDENTIALS).
  • 502UNREACHABLE VPS nie je dostupný (tiež TIMEOUT, FAILED).
POST/services/{id}/database/querySpustiť SQL dotaz na VPS

Spustí SQL dotaz pod účtom, ktorým sa panel pripája k databázovému serveru VPS. Vráti najviac 500 riadkov, limit 25 s. Dotaz môže dáta aj meniť alebo mazať.

Oprávnenie: services:database

Telo požiadavky (JSON)

NázovTypPovinnéPopis
sqlstringánoSQL dotaz, najviac 100 000 znakov.
dbstringnieDatabáza, v ktorej dotaz pobeží.

Ukážka tela

{
  "db": "shop",
  "sql": "SELECT id, name FROM customers ORDER BY id LIMIT 10"
}

Ukážka odpovede

{
  "columns": [
    "id",
    "name"
  ],
  "rows": [
    [
      "1",
      "Alice"
    ],
    [
      "2",
      "Bob"
    ]
  ],
  "rowCount": 2,
  "affectedRows": null,
  "truncated": false,
  "command": "SELECT",
  "durationMs": 7
}

Možné chyby

  • 400 Neplatná požiadavka alebo chyba z databázového servera.
  • 412 Databázový server ešte nie je pripojený.
  • 403 Chýba oprávnenie Databázy.
  • 429 Najviac 60 dotazov za minútu.
  • 401AUTH_FAILED VPS odmietol prihlasovacie údaje.
  • 409HOST_KEY_CHANGED Odtlačok SSH kľúča VPS sa zmenil (nový v presentedHostKey); potvrďte ho akciou trustHostKey.
  • 412NO_TARGET VPS zatiaľ nemá adresu alebo prístupové údaje (tiež NO_CREDENTIALS).
  • 502UNREACHABLE VPS nie je dostupný (tiež TIMEOUT, FAILED).
GET/services/{id}/filesVýpis priečinka na serveri

Vypíše obsah priečinka na VPS (cez SFTP) alebo na hernom serveri či Discord botovi, najviac 5000 položiek. Pri VPS pridá prístupové údaje bez hesla.

Oprávnenie: services:files

Parametre v adrese

NázovTypPovinnéPopis
pathstringnieAbsolútna cesta k priečinku. Predvolene / pri hrách a botoch, domovský priečinok používateľa pri VPS.

Ukážka odpovede

{
  "path": "/home/app",
  "entries": [
    {
      "name": "logs",
      "type": "dir",
      "size": 4096,
      "mtime": 1762500000,
      "mode": "drwxr-xr-x",
      "owner": "app",
      "group": "app"
    },
    {
      "name": "config.yml",
      "type": "file",
      "size": 1832,
      "mtime": 1762489123,
      "mode": "-rw-r--r--",
      "owner": "app",
      "group": "app"
    },
    {
      "name": "current",
      "type": "link",
      "size": 12,
      "mtime": 1762400000,
      "mode": "lrwxrwxrwx",
      "owner": "app",
      "group": "app",
      "linkTarget": "/srv/releases/42",
      "linkType": "dir"
    }
  ],
  "truncated": false,
  "access": {
    "host": "203.0.113.20",
    "port": 22,
    "username": "root",
    "customCredentials": false,
    "hasDefaultPassword": true,
    "hostKey": "SHA256:AbCdEfGhIjKlMnOpQrStUvWxYz0123456789abcdefg"
  }
}

Možné chyby

  • 400 Neplatná cesta alebo chyba SFTP.
  • 403 Chýba oprávnenie Súbory.
  • 404 Priečinok na hernom serveri neexistuje.
  • 401AUTH_FAILED VPS odmietol prihlasovacie údaje.
  • 409HOST_KEY_CHANGED Odtlačok SSH kľúča VPS sa zmenil (nový v presentedHostKey); potvrďte ho akciou trustHostKey.
  • 412NO_TARGET VPS zatiaľ nemá adresu alebo prístupové údaje (tiež NO_CREDENTIALS).
  • 502UNREACHABLE VPS nie je dostupný (tiež TIMEOUT, FAILED).
POST/services/{id}/filesVytvoriť, premenovať, upraviť alebo zmazať súbory

Vykoná súborovú akciu na VPS, hernom serveri alebo Discord botovi podľa poľa action. Mazanie je nevratné; pri VPS maže priečinky aj s obsahom. Nahrávanie súborov cez API nejde, použite SFTP.

Oprávnenie: services:files

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringánomkdir, touch, rename, delete, chmod, write; len VPS a len vlastník: credentials, resetCredentials, trustHostKey; len hry a boti: compress, decompress.
pathstringniemkdir, touch, rename, chmod, write, decompress: absolútna cesta k položke.
tostringnierename: nová absolútna cesta.
pathsstring[]niedelete: 1–200 absolútnych ciest.
modestringniechmod: práva osmičkovo, 3–4 číslice (napr. 644).
contentstringniewrite: celý nový obsah súboru v UTF-8, najviac 2 MB.
usernamestringniecredentials: SSH používateľ pre správcu súborov (namiesto root).
passwordstringniecredentials: heslo SSH používateľa, uloží sa šifrovane po úspešnom prihlásení.
portintegerniecredentials: SSH port 1–65535.
fingerprintstringnietrustHostKey: nový odtlačok kľúča v tvare SHA256:….
dirstringniecompress: priečinok, v ktorom sú položky na zbalenie.
namesstring[]niecompress: 1–200 mien z priečinka dir.
archiveNamestringniecompress: názov archívu .tar.gz, najviac 120 znakov.
intostringniedecompress: here (predvolené) alebo newFolder.
folderNamestringniedecompress: názov nového priečinka, najviac 120 znakov.
localestringnieJazyk hlásení: cs, en, sk, pl alebo de. Predvolene cs.

Ukážka tela

{
  "action": "write",
  "path": "/server.properties",
  "content": "motd=Můj server\nmax-players=20\n"
}

Ukážka odpovede

{
  "ok": true
}

Možné chyby

  • 400 Neplatná požiadavka, cesta alebo názov; systémové priečinky a /proc, /sys, /dev meniť nejde.
  • 403 Prístupové údaje mení len vlastník; alebo chýba oprávnenie Súbory.
  • 409 Súbor alebo priečinok s týmto názvom už existuje.
  • 409JOB_RUNNING Na Minecraft serveri beží zmena softvéru alebo inštalácia modpacku.
  • 409ARCHIVE_BUSY Prebieha iné balenie alebo rozbaľovanie.
  • 413 Obsah pre write je väčší než 2 MB.
  • 429 Najviac 10 balení a rozbalení za 10 minút.
  • 401AUTH_FAILED VPS odmietol prihlasovacie údaje.
  • 409HOST_KEY_CHANGED Odtlačok SSH kľúča VPS sa zmenil (nový v presentedHostKey); potvrďte ho akciou trustHostKey.
  • 412NO_TARGET VPS zatiaľ nemá adresu alebo prístupové údaje (tiež NO_CREDENTIALS).
  • 502UNREACHABLE VPS nie je dostupný (tiež TIMEOUT, FAILED).
GET/services/{id}/files/downloadStiahnuť súbor alebo prečítať text

Stiahne súbor z VPS, herného servera alebo Discord bota. S as=text vráti obsah textového súboru v UTF-8 ako JSON, najviac 1 MB.

Oprávnenie: services:files

Parametre v adrese

NázovTypPovinnéPopis
pathstringánoAbsolútna cesta k súboru.
asstringnietext = vrátiť obsah ako JSON namiesto stiahnutia.

Ukážka odpovede

{
  "path": "/server.properties",
  "content": "motd=Můj server\nmax-players=20\n",
  "eol": "lf",
  "bom": false
}

Možné chyby

  • 400 Neplatná cesta, nejde o bežný súbor, alebo ide o /proc, /sys, /dev na VPS.
  • 413TOO_LARGE as=text: súbor je väčší než 1 MB.
  • 415BINARY as=text: súbor nie je text v UTF-8.
  • 403 Chýba oprávnenie Súbory.
  • 401AUTH_FAILED VPS odmietol prihlasovacie údaje.
  • 409HOST_KEY_CHANGED Odtlačok SSH kľúča VPS sa zmenil (nový v presentedHostKey); potvrďte ho akciou trustHostKey.
  • 412NO_TARGET VPS zatiaľ nemá adresu alebo prístupové údaje (tiež NO_CREDENTIALS).
  • 502UNREACHABLE VPS nie je dostupný (tiež TIMEOUT, FAILED).
GET/services/{id}/liveAktuálny stav a využitie servera

Vráti stav napájania a aktuálne využitie CPU, RAM, disku a siete VPS alebo herného servera. Na priebežné sledovanie použite live/stream; keď stav zistiť nejde, odpoveď je 200 s ok: false.

Oprávnenie: services:read

Parametre v adrese

NázovTypPovinnéPopis
pollstringnieHodnota live pre opakované dopyty (po 2 s), odpoveď ide z posledného živého vzorku.

Ukážka odpovede

{
  "ok": true,
  "status": {
    "status": "ACTIVE",
    "details": {
      "vmStatus": "running",
      "gameState": null,
      "cpuPercent": 12.4,
      "memUsedMib": 1840,
      "memTotalMib": 4096,
      "diskUsedGb": 18.2,
      "diskTotalGb": 60,
      "netinMbps": 0.42,
      "netoutMbps": 1.1,
      "uptimeSeconds": 86400,
      "diskVolumes": [
        {
          "mountpoint": "/",
          "usedBytes": 19542261760,
          "totalBytes": 64424509440
        }
      ],
      "netInBps": 420000,
      "netOutBps": 1100000,
      "diskReadBytesPerSec": 0,
      "diskWriteBytesPerSec": 24576
    }
  }
}

Možné chyby

  • 403mfa_required Vlastník služby vyžaduje pri členoch dvojfázové overenie.
  • 404 Služba sa nenašla.
  • 429 Viac ako 240 dopytov za minútu.
GET/services/{id}/live/streamŽivé štatistiky cez SSE

Otvorí prúd Server-Sent Events so vzorkami využitia VPS alebo herného servera zhruba každú sekundu (hello, backfill, sample, disk, status, unavailable, end). Spojenie s API kľúčom skončí asi po minúte udalosťou end, potom sa pripojte znova.

Oprávnenie: services:read

Ukážka odpovede

event: hello
data: {"v":1,"kind":"vps","intervalMs":1000,"serverNow":1762508460000}

event: sample
data: {"t":1762508461000,"power":"running","vmStatus":"running","gameState":null,"cpuPercent":8.3,"memUsedMib":1840,"memTotalMib":4096,"netInBps":420000,"netOutBps":1100000,"diskReadBytesPerSec":0,"diskWriteBytesPerSec":24576,"uptimeSeconds":86401}

event: end
data: {"reason":"rotate"}

Možné chyby

  • 403mfa_required Vlastník služby vyžaduje pri členoch dvojfázové overenie.
  • 404 Služba sa nenašla.
  • 200 Ostatné problémy prídu ako udalosť end s dôvodom: unsupported, busy (s retryInMs), revoked, inactive, moved, rotate.
PATCH/services/{id}/namePremenovanie služby

Nastaví vlastný názov služby, ktorý sa potom vracia v poli name (productName zostane názov tarifu). null alebo prázdny reťazec vráti pôvodný názov. Len vlastník služby.

Oprávnenie: services:settings

Telo požiadavky (JSON)

NázovTypPovinnéPopis
namestring | nullánoNový názov, najviac 60 znakov.
localestringnieJazyk chybových hlásení (cs, en, sk, pl, de).

Ukážka tela

{
  "name": "Survival server"
}

Ukážka odpovede

{
  "name": "Survival server"
}

Možné chyby

  • 400invalid Názov je dlhší ako 60 znakov alebo telo obsahuje iné polia.
  • 404not_allowed Služba nepatrí vášmu účtu.
GET/services/{id}/outletsStav zásuviek PDU a udalosti

Vráti stav zásuviek rackhousingu (zapnuté, vypnuté, príkon, prúd), či ich smiete ovládať, a posledných 20 udalostí PDU. Len pre rackhousing; bez zásuviek je view null.

Oprávnenie: services:read

Parametre v adrese

NázovTypPovinnéPopis
beforestringnieID udalosti, od ktorej načítať staršie udalosti (stránkovanie).

Ukážka odpovede

{
  "view": {
    "canControl": true,
    "controlBlocked": null,
    "measuredAt": "2026-11-07T09:41:00.000Z",
    "stale": false,
    "outlets": [
      {
        "n": 3,
        "state": "on",
        "pending": false,
        "powerW": 120,
        "currentA": 0.52
      }
    ],
    "events": [
      {
        "id": "clx9k2m4p0001",
        "at": "2026-11-06T18:12:00.000Z",
        "kind": "command",
        "severity": "info",
        "outlet": 3,
        "action": "reboot",
        "result": "ok",
        "actorType": "customer",
        "actor": "vy",
        "serviceRef": "#A1B2C3",
        "message": "Restart zásuvky 3 — provedeno."
      }
    ],
    "eventsMore": false,
    "eventsAvailable": true
  }
}

Možné chyby

  • 400 Služba nie je rackhousing.
  • 404 Služba sa nenašla.
POST/services/{id}/outletsZapnúť, vypnúť alebo reštartovať zásuvky

Pošle príkaz zásuvkám PDU, ktoré patria vašej službe rackhousingu. Funguje len pri aktívnej službe, pri ktorej podpora ovládanie povolila; limit 6 za minútu na účet a 5 za minútu na službu.

Oprávnenie: services:power

Telo požiadavky (JSON)

NázovTypPovinnéPopis
outletsnumber[]ánoČísla zásuviek 1–48 (1 až 48 položiek), len zásuvky tejto služby.
commandstringánoon, off, reboot alebo cancel (zruší čakajúci príkaz).

Ukážka tela

{
  "outlets": [
    3,
    4
  ],
  "command": "reboot"
}

Ukážka odpovede

{
  "ok": true,
  "outlets": [
    {
      "n": 3,
      "state": "on",
      "pending": true
    },
    {
      "n": 4,
      "state": "on",
      "pending": true
    }
  ]
}

Možné chyby

  • 400not_yours Niektorá zásuvka k tejto službe nepatrí. Bez kódu: neplatné telo požiadavky.
  • 403not_allowed Ovládanie zásuviek pri službe nie je zapnuté.
  • 409inactive Služba nie je aktívna. Kód no_config: PDU teraz nie je dostupné.
  • 429 Prekročený limit požiadaviek.
  • 502pdu_failed PDU príkaz nevykonalo.
GET/services/{id}/powerSpotreba elektriny rackhousingu

Vráti príkon zásuviek rackhousingu oproti pridelenému príkonu, kWh za tento a minulý mesiac a denný prehľad. Len pre rackhousing, dáta sú z posledného merania PDU; bez zásuviek alebo dát je view null.

Oprávnenie: services:read

Ukážka odpovede

{
  "view": {
    "contractedW": 500,
    "currentW": 212,
    "measuredAt": "2026-11-07T09:41:00.000Z",
    "stale": false,
    "monthKwh": 38.4,
    "lastMonthKwh": 151.2,
    "month": {
      "y": 2026,
      "m": 11,
      "days": 30,
      "today": 7
    },
    "daily": [
      5.1,
      5.3,
      5.4,
      5.6,
      5.5,
      5.7,
      5.8,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null
    ],
    "outlets": [
      {
        "n": 3,
        "powerW": 120,
        "monthKwh": 21.6
      },
      {
        "n": 4,
        "powerW": 92,
        "monthKwh": 16.8
      }
    ]
  }
}

Možné chyby

  • 400 Služba nie je rackhousing.
  • 404 Služba neexistuje alebo k nej nemáte prístup.
POST/services/{id}/powerZapnúť, vypnúť alebo reštartovať server

Zapne, vypne alebo reštartuje VPS alebo herný server (aj bota). Len pri aktívnej službe, najviac 5 požiadaviek za minútu na službu; stav služby vo fakturácii sa nemení.

Oprávnenie: services:power

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringánostart, stop alebo restart.

Ukážka tela

{
  "action": "restart"
}

Ukážka odpovede

{
  "ok": true
}

Možné chyby

  • 400 Chýba alebo je neplatná hodnota action.
  • 404 Služba sa nenašla alebo pri nej ovládanie napájania nie je (napr. rackhousing, web).
  • 409 Služba nie je aktívna, beží zmena softvéru servera alebo ešte beží obnova zo zálohy.
  • 429 Viac ako 5 požiadaviek za minútu na službu.
  • 502 Akciu sa nepodarilo vykonať, skúste to znova.
GET/services/{id}/rackhousingPrehľad rackhousingu

Vráti umiestnenie v racku, výšku, pridelený príkon, porty so stavom linky a IP adresy služby rackhousingu. Stav portov je z posledného merania, pri dopyte sa nič neprepína.

Oprávnenie: services:read

Ukážka odpovede

{
  "view": {
    "site": "Praha",
    "rack": "R12",
    "unitRange": "U20–U21",
    "heightU": 2,
    "powerW": 500,
    "ports1g": 1,
    "ports10g": 1,
    "ports": [
      {
        "port": "port 3",
        "speed": "1g",
        "speedText": "1 Gbit",
        "status": "up"
      },
      {
        "port": "port 4",
        "speed": "10g",
        "speedText": "10 Gbit",
        "status": "down"
      }
    ],
    "ipv4": [
      {
        "address": "203.0.113.10",
        "prefix": 29,
        "gateway": "203.0.113.9"
      }
    ],
    "ipv6": "2001:db8:100::/48",
    "equipment": "1× server 2U",
    "polledAt": "2026-11-07T09:40:00.000Z"
  }
}

Možné chyby

  • 400 Služba nie je rackhousing.
  • 404 Služba sa nenašla.
GET/services/{id}/sftpPrihlasovacie údaje SFTP

Vráti adresu, port a používateľské meno SFTP herného servera alebo bota; heslo sa nevracia. Člen zdieľanej služby dostane len owner: false. Funkcia zatiaľ nie je spustená a vracia 404.

Oprávnenie: services:secrets

Parametre v adrese

NázovTypPovinnéPopis
langstringnieen pre anglické hlásenia, inak česky.

Ukážka odpovede

{
  "owner": true,
  "host": "203.0.113.40",
  "port": 2022,
  "username": "user.1a2b3c4d",
  "canSetPassword": true
}

Možné chyby

  • 404 SFTP zatiaľ nie je spustené, alebo sa služba nenašla.
  • 400 Služba nie je herný server ani bot.
  • 502 Údaje sa nepodarilo načítať.
POST/services/{id}/sftpNastaviť heslo SFTP

Nastaví zadané heslo pre SFTP herného servera alebo bota; heslo sa nikam neukladá a vlastník dostane e-mail. Len vlastník, limit 5× za hodinu, potvrdenie z portálu tu nahrádza oprávnenie services:secrets. Funkcia zatiaľ nie je spustená a vracia 404.

Oprávnenie: services:secrets

Parametre v adrese

NázovTypPovinnéPopis
langstringnieen pre anglické hlásenia, inak česky.

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringánoVždy setPassword.
passwordstringánoNové heslo, 10–200 znakov, nie bežné ani uniknuté heslo.

Ukážka tela

{
  "action": "setPassword",
  "password": "example-Sftp-Pass-2026"
}

Ukážka odpovede

{
  "ok": true,
  "username": "user.1a2b3c4d"
}

Možné chyby

  • 400weak_password Heslo nespĺňa pravidlá alebo je telo neplatné.
  • 403insufficient_scope Kľúču chýba oprávnenie services:secrets. Kód not_owner: nie ste vlastník.
  • 404 SFTP zatiaľ nie je spustené.
  • 409admin_user SFTP pre túto službu nastaví podpora. Ďalšie kódy: email_mismatch, foreign_server, inactive.
  • 429 Viac ako 5 pokusov za hodinu.
  • 502failed Heslo sa nepodarilo nastaviť. Kód unavailable: služba teraz nie je dostupná.

VPS a rackhousing

GET/services/{id}/backupsZoznam záloh VPS

Vráti zálohy VPS zo všetkých úložísk, len z doby súčasného vlastníka. Výsledok sa 20 s drží v medzipamäti, limit 10 dopytov za minútu; partial: true znamená, že niektoré úložisko neodpovedalo. Záloha aj úložisko majú nepriehľadné id (storageId zálohy = id úložiska v storages); id zálohy pošlite do backups/restore.

Oprávnenie: services:backups

Ukážka odpovede

{
  "backups": [
    {
      "id": "Q2xP7rT0aN4mVb8sKe1wYg",
      "storageId": "h5Jd9LkQ2pWm0ZcR7tUv3A",
      "storageLabel": "Backup 1",
      "sizeBytes": 8589934592,
      "createdAt": 1762394400,
      "name": "vps-000001"
    }
  ],
  "storages": [
    {
      "id": "h5Jd9LkQ2pWm0ZcR7tUv3A",
      "label": "Backup 1",
      "enabled": true
    },
    {
      "id": "Xo3bN6qE8yTf1GsD4lHk9w",
      "label": "Backup 2",
      "enabled": false
    }
  ]
}

Možné chyby

  • 403 Chýba oprávnenie Zálohy pri zdieľanej službe.
  • 409 Služba nie je aktívna, alebo práve prebieha obnova zo zálohy.
  • 412NOT_PROVISIONED VPS ešte nie je pripravená.
  • 429 Viac ako 10 dopytov za minútu.
  • 502 Zálohy sa nepodarilo načítať.
POST/services/{id}/backups/restoreObnoviť VPS zo zálohy

Tvrdo vypne VPS a prepíše jej disk obsahom zvolenej zálohy; nevratné. Pri väčších diskoch obnova dobehne na pozadí (pending: true) a VPS pôjde zapnúť, keď skončí. Limit 3 za minútu na službu.

Oprávnenie: services:backups

Telo požiadavky (JSON)

NázovTypPovinnéPopis
idstringánoid zálohy zo zoznamu backups.

Ukážka tela

{
  "id": "Q2xP7rT0aN4mVb8sKe1wYg"
}

Ukážka odpovede

{
  "ok": true,
  "pending": true,
  "message": "Obnova ze zálohy běží. VPS půjde zapnout, až skončí (u větších disků i několik minut)."
}

Možné chyby

  • 400 Chýba id.
  • 403 Záloha k tejto službe nepatrí alebo už neexistuje.
  • 409 Služba nie je aktívna alebo už beží iná obnova.
  • 429 Viac ako 3 pokusy za minútu.
  • 502 Obnovu sa nepodarilo spustiť alebo dokončiť.
GET/services/{id}/ddosDostupnosť ochrany Anti-DDoS

Povie, či je pre IP adresy VPS dostupné nastavenie ochrany Anti-DDoS. Zatiaľ vracia vždy available: false; pri zdieľanej službe potrebuje člen oprávnenie Sieť.

Oprávnenie: services:read

Ukážka odpovede

{
  "available": false
}

Možné chyby

  • 400 Služba nie je VPS.
  • 409 Služba nie je aktívna.
GET/services/{id}/firewallPravidlá firewallu VPS

Vráti nastavenie firewallu VPS a všetky pravidlá vrátane spravovaných (pole managed), ktoré meniť nejde. Hodnotu digest pošlite pri úprave pravidla.

Oprávnenie: services:firewall

Ukážka odpovede

{
  "digest": "3f2a9c0d1e5b7a8c4d6e2f1a0b9c8d7e6f5a4b3c",
  "baseline": true,
  "enabled": true,
  "ipfilter": true,
  "macfilter": true,
  "policyIn": "DROP",
  "policyOut": "ACCEPT",
  "inboundDefault": "accept",
  "scannerBlock": true,
  "ipfilterEntries": [
    "203.0.113.25",
    "2001:db8:10::/64"
  ],
  "rules": [
    {
      "pos": 0,
      "managed": "censys",
      "type": "in",
      "action": "DROP",
      "proto": "",
      "dport": "",
      "sport": "",
      "source": "+dc/censys",
      "dest": "",
      "macro": "",
      "comment": "",
      "enable": true
    },
    {
      "pos": 1,
      "managed": null,
      "type": "in",
      "action": "DROP",
      "proto": "tcp",
      "dport": "3306",
      "sport": "",
      "source": "",
      "dest": "",
      "macro": "",
      "comment": "MySQL ven ne",
      "enable": true
    },
    {
      "pos": 2,
      "managed": "allowIn",
      "type": "in",
      "action": "ACCEPT",
      "proto": "",
      "dport": "",
      "sport": "",
      "source": "",
      "dest": "+guest/ipfilter-net0",
      "macro": "",
      "comment": "",
      "enable": true
    }
  ]
}

Možné chyby

  • 403 Chýba oprávnenie Firewall pri zdieľanej službe.
  • 409 Služba nie je aktívna alebo akciu teraz nejde vykonať.
  • 412 VPS ešte nie je pripravená.
  • 502 Firewall sa nepodarilo načítať.
POST/services/{id}/firewallUpraviť pravidlá firewallu VPS

Pridá, upraví, zapne alebo vypne, zmaže či presunie vlastné pravidlo, prepne predvolenú prichádzajúcu prevádzku alebo použije odporúčané nastavenie. Akcie nad pozíciou chcú digest z GET; najviac 50 vlastných pravidiel, hlásenia sú v češtine.

Oprávnenie: services:firewall

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringánoadd, update, toggle, delete, move, setInbound alebo applyBaseline.
posnumberniePre update, toggle, delete a move: pozícia vlastného pravidla z GET.
digeststringniePre update, toggle, delete a move: digest z GET.
ruleobjectniePre add a update: type (in, out), action (ACCEPT, DROP, REJECT), proto ("", tcp, udp, icmp, ipv6-icmp), dport, sport (napr. 22, 80,443, 25565:25570; len TCP a UDP), source, dest (IP alebo rozsah, najviac 10), comment (max. 100), enable.
enablebooleanniePre toggle: zapnúť alebo vypnúť pravidlo.
directionstringniePre move: up alebo down (len medzi vlastnými pravidlami).
valuestringniePre setInbound: accept alebo drop (predvolená prichádzajúca prevádzka).

Ukážka tela

{
  "action": "add",
  "rule": {
    "type": "in",
    "action": "ACCEPT",
    "proto": "tcp",
    "dport": "22",
    "source": "198.51.100.0/24",
    "comment": "SSH z kanceláře"
  }
}

Ukážka odpovede

{
  "ok": true,
  "firewall": {
    "digest": "9b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c",
    "baseline": true,
    "enabled": true,
    "ipfilter": true,
    "macfilter": true,
    "policyIn": "DROP",
    "policyOut": "ACCEPT",
    "inboundDefault": "accept",
    "scannerBlock": true,
    "ipfilterEntries": [
      "203.0.113.25"
    ],
    "rules": []
  }
}

Možné chyby

  • 400 Neplatné telo alebo pravidlo (port, adresa, protokol), alebo viac ako 50 vlastných pravidiel.
  • 403 Spravované pravidlo nejde meniť, alebo chýba oprávnenie Firewall.
  • 409 Firewall sa medzitým zmenil (načítajte digest znova), služba nie je aktívna, beží obnova zo zálohy alebo odporúčané nastavenie nejde použiť.
  • 502 Zmenu sa nepodarilo uložiť.
GET/services/{id}/historyHistória využitia VPS

Vráti priebeh CPU, RAM, siete a disku VPS za zvolené obdobie (najviac 300 bodov), špičky CPU a prenos za 30 dní a od začiatku mesiaca. Výsledok sa 20 s drží v medzipamäti, limit 30 dopytov za minútu.

Oprávnenie: services:read

Parametre v adrese

NázovTypPovinnéPopis
rangestringniehour, day, week, month alebo year. Predvolené day.
langstringnieen pre anglické chybové hlásenia, inak česky.

Ukážka odpovede

{
  "range": "day",
  "points": [
    {
      "t": 1762473600,
      "cpu": 6.2,
      "ram": 44.8,
      "netIn": 52000,
      "netOut": 138000,
      "diskRead": 0,
      "diskWrite": 20480
    }
  ],
  "cpuPeak": [
    {
      "t": 1762473600,
      "cpu": 31.5
    }
  ],
  "cpu": {
    "avg": 7.1,
    "max": 64.2
  },
  "transfer30d": {
    "inBytes": 18253611008,
    "outBytes": 42949672960
  },
  "transferMonth": {
    "inBytes": 4294967296,
    "outBytes": 9663676416
  }
}

Možné chyby

  • 400 Služba nie je VPS.
  • 409 VPS nie je aktívna ani pozastavená, alebo ju teraz nejde overiť.
  • 429 Viac ako 30 dopytov za minútu.
  • 502 Štatistiky sa teraz nedajú načítať.
GET/services/{id}/installStav inštalácie VPS

Vráti fázu inštalácie alebo reinštalácie VPS (image, create, start, finish, done) a či ešte beží. Hodí sa na dopytovanie po reinštalácii, limit 90 dopytov za minútu.

Oprávnenie: services:read

Ukážka odpovede

{
  "status": "ACTIVE",
  "phase": "finish",
  "active": true,
  "source": "reinstall",
  "restarting": false,
  "running": true,
  "reboot": true,
  "failed": false
}

Možné chyby

  • 400 Služba nie je VPS.
  • 404 Služba sa nenašla.
  • 429 Viac ako 90 dopytov za minútu.
GET/services/{id}/isoISO obrazy a pripojené ISO

Vráti katalóg ISO, vaše vlastné ISO, limity, aktuálne pripojené ISO s voľbou bootu a stav poslednej akcie. Len vlastník VPS.

Oprávnenie: services:settings

Ukážka odpovede

{
  "available": true,
  "catalog": [
    {
      "id": "clx9a0iso0001",
      "kind": "catalog",
      "name": "Debian 13 netinst",
      "osFamily": "debian",
      "sizeBytes": 754974720,
      "createdAt": "2026-10-20T08:00:00.000Z",
      "lastUsedAt": null,
      "expiresAt": null
    }
  ],
  "own": [
    {
      "id": "clx9a0iso0002",
      "kind": "custom",
      "name": "Rescue tools",
      "osFamily": null,
      "sizeBytes": 524288000,
      "createdAt": "2026-11-02T12:00:00.000Z",
      "lastUsedAt": "2026-11-03T09:00:00.000Z",
      "expiresAt": "2026-12-03T09:00:00.000Z"
    }
  ],
  "limits": {
    "count": 2,
    "maxBytes": 10737418240,
    "retentionDays": 30
  },
  "status": {
    "attached": false,
    "bootFromIso": false,
    "isoId": null,
    "name": null
  },
  "job": null
}

Možné chyby

  • 400 Služba nie je VPS.
  • 403 Nie ste vlastník služby.
  • 409 Služba nie je aktívna.
POST/services/{id}/isoPridať, pripojiť alebo odpojiť ISO

Podľa action pridá vlastné ISO z odkazu HTTPS, zmaže ho, pripojí ISO k VPS, prepne boot alebo ISO vysunie. Pripojenie beží ako akcia na pozadí (súbor sa najprv stiahne); len vlastník, najviac 2 vlastné ISO do 10 GB.

Oprávnenie: services:settings

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringánoadd, delete, attach, boot alebo detach.
namestringniePre add: názov ISO (max. 80 znakov), inak podľa súboru.
urlstringniePre add: verejný odkaz https:// na súbor ISO s uvedenou veľkosťou.
isoIdstringniePre delete a attach: ID ISO z GET.
bootbooleanniePre attach a boot: true = bootovať z ISO, inak z disku.

Ukážka tela

{
  "action": "attach",
  "isoId": "clx9a0iso0001",
  "boot": true
}

Ukážka odpovede

{
  "ok": true,
  "job": {
    "id": "clx9r1t7w0004",
    "kind": "iso",
    "state": "running",
    "step": null,
    "startedAt": "2026-11-07T10:00:00.000Z",
    "updatedAt": "2026-11-07T10:00:00.000Z"
  }
}

Možné chyby

  • 400url Odkaz nie je možné použiť (nie HTTPS, neverejná sieť, nad 10 GB, bez veľkosti, nie je súbor). Ďalšie kódy: limit, attached; bez kódu neplatná action.
  • 404not_found ISO sa nenašlo.
  • 409unavailable ISO teraz nie sú dostupné. Bez kódu: na VPS beží iná akcia.
  • 429 Viac ako 10 pridaných ISO za deň.
  • 502 Akcia sa nepodarila.
GET/services/{id}/private-networkPrivátne siete v lokalite VPS

Vráti vaše privátne siete v lokalite VPS, ich členov, limity a stav tejto VPS v každej sieti. Len vlastník VPS.

Oprávnenie: services:network

Ukážka odpovede

{
  "enabled": true,
  "scope": "location",
  "maxNetworks": 5,
  "maxMembers": 20,
  "priceCzk": null,
  "networks": [
    {
      "id": "clx9p7net0001",
      "name": "zalohy",
      "cidr": "10.20.0.0/24",
      "prefix": 24,
      "createdAt": "2026-10-18T08:00:00.000Z",
      "members": [
        {
          "serviceId": "clx9svc000001",
          "shortId": "#000001",
          "ipv4": "203.0.113.25",
          "address": "10.20.0.1",
          "state": "active",
          "isThis": true,
          "own": true
        }
      ],
      "me": {
        "address": "10.20.0.1",
        "mac": "BC:24:11:00:00:01",
        "nicIndex": 1,
        "state": "active",
        "cloudInit": false,
        "failed": false
      },
      "canDelete": false
    }
  ]
}

Možné chyby

  • 403 Nie ste vlastník služby.
  • 409 Služba nie je aktívna.
  • 503unavailable Privátne siete teraz nie sú k dispozícii.
POST/services/{id}/private-networkZaložiť, pripojiť alebo odpojiť sieť

Založí privátnu sieť, pripojí alebo odpojí túto VPS, alebo zmaže prázdnu sieť. Pripojenie chce zapnuté odporúčané nastavenie firewallu; keď pendingRestart je true, zmena sa prejaví po reštarte VPS.

Oprávnenie: services:network

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringánocreate, attach, detach alebo delete.
namestringniePre create: názov siete, 1–40 znakov (písmená, číslice, medzera, . _ -).
cidrstringniePre create: privátny rozsah /16 až /29 začínajúci adresou siete, napr. 10.20.0.0/24.
networkIdstringniePre attach, detach a delete: ID siete z GET.
addressstring|nullniePre attach: adresa VPS v sieti; prázdne = prvá voľná.
cloudInitbooleanniePre attach: true = adresu zapísať aj do cloud-initu VPS.

Ukážka tela

{
  "action": "attach",
  "networkId": "clx9p7net0001",
  "address": "10.20.0.5"
}

Ukážka odpovede

{
  "ok": true,
  "address": "10.20.0.5",
  "mac": "BC:24:11:00:00:05",
  "pendingRestart": true,
  "view": {
    "enabled": true,
    "scope": "location",
    "maxNetworks": 5,
    "maxMembers": 20,
    "priceCzk": null,
    "networks": []
  }
}

Možné chyby

  • 400invalid_request Neplatné telo. Ďalšie kódy: name_invalid, cidr_invalid, address_invalid, address_outside, address_reserved.
  • 404network_not_found Sieť sa nenašla. Kód not_member: VPS v sieti nie je.
  • 409firewall_required Najprv použite odporúčané nastavenie firewallu. Ďalšie kódy: cidr_overlap, limit_networks, limit_members, address_taken, network_full, not_empty, detaching, other_location, other_node, no_slot, vm_locked, disabled, no_vlan.
  • 412vm_not_ready VPS ešte nie je pripravená.
  • 502apply_failed Zmenu sa nepodarilo dokončiť.
  • 503unavailable Privátne siete teraz nie sú k dispozícii.
GET/services/{id}/rdnsReverzné DNS adries VPS

Vráti PTR záznamy IP adries VPS: aktuálnu, predvolenú a vlastnú hodnotu, a IPv6 rozsahy služby. Pri zdieľanej službe potrebuje člen oprávnenie Sieť.

Oprávnenie: services:network

Ukážka odpovede

{
  "configured": true,
  "error": null,
  "entries": [
    {
      "ip": "203.0.113.25",
      "family": 4,
      "current": "mail.example.com",
      "default": "25.113.0.203.example.net",
      "custom": "mail.example.com"
    },
    {
      "ip": "2001:db8:10::2",
      "family": 6,
      "current": null,
      "default": "vps.example.net",
      "custom": null
    }
  ],
  "ranges": [
    {
      "cidr": "2001:db8:10::/64",
      "family": 6
    }
  ],
  "vmIpv6": "2001:db8:10::2"
}

Možné chyby

  • 400 Služba nie je VPS.
  • 403 Chýba oprávnenie Sieť pri zdieľanej službe.
  • 409 Služba nie je aktívna.
POST/services/{id}/rdnsNastaviť alebo vrátiť PTR záznam

Nastaví vlastné reverzné DNS pre IP adresu pridelenú VPS, alebo s hostname null vráti predvolený záznam. Najviac 32 vlastných záznamov, limit 20 zmien za minútu; hlásenia sú v češtine.

Oprávnenie: services:network

Telo požiadavky (JSON)

NázovTypPovinnéPopis
ipstringánoIPv4 alebo IPv6 adresa služby (aj z jej IPv6 rozsahu).
hostnamestring|nullánoNázov hostiteľa, napr. mail.example.com (max. 253 znakov); null alebo prázdne = predvolený záznam.

Ukážka tela

{
  "ip": "203.0.113.25",
  "hostname": "mail.example.com"
}

Ukážka odpovede

{
  "ok": true,
  "ip": "203.0.113.25",
  "ptr": "mail.example.com",
  "isDefault": false
}

Možné chyby

  • 400 Neplatný názov hostiteľa, reverzná alebo vyhradená doména, alebo viac ako 32 vlastných záznamov.
  • 403 IP adresa nepatrí tejto službe, alebo chýba oprávnenie Sieť.
  • 502 rDNS sa teraz nepodarilo uložiť.
GET/services/{id}/reinstallSystémy na reinštaláciu VPS

Vráti systémy, ktoré je možné na VPS nainštalovať, aktuálny systém, čas poslednej reinštalácie a stav poslednej akcie. Len vlastník služby.

Oprávnenie: services:read

Ukážka odpovede

{
  "options": [
    {
      "key": "ubuntu-2404",
      "label": "Ubuntu 24.04 LTS"
    },
    {
      "key": "debian-13",
      "label": "Debian 13"
    }
  ],
  "job": {
    "id": "clx9r1t7w0002",
    "kind": "reinstall",
    "state": "done",
    "step": null,
    "startedAt": "2026-11-01T10:00:00.000Z",
    "updatedAt": "2026-11-01T10:06:12.000Z",
    "finishedAt": "2026-11-01T10:06:12.000Z",
    "error": null
  },
  "os": "ubuntu-2404",
  "reinstalledAt": "2026-11-01T10:06:12.000Z"
}

Možné chyby

  • 400 Služba nie je VPS.
  • 403 Nie ste vlastník služby.
  • 409 Služba nie je aktívna.
POST/services/{id}/reinstallPreinštalovať VPS

Zmaže disk VPS a nainštaluje zvolený systém; beží na pozadí, priebeh sledujte cez install. Nové root heslo je len v tejto odpovedi. Len vlastník, najviac 3× za deň; potvrdenie z portálu tu nahrádza oprávnenie services:secrets.

Oprávnenie: services:secrets

Telo požiadavky (JSON)

NázovTypPovinnéPopis
osstringánoKľúč systému z GET, napr. ubuntu-2404 alebo debian-13.
sshKeysstringnieVerejné SSH kľúče, jeden na riadok, najviac 10 (ssh-ed25519, ssh-rsa, ecdsa-…).

Ukážka tela

{
  "os": "debian-13",
  "sshKeys": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIExampleKeyExampleKeyExampleKeyExample user@laptop"
}

Ukážka odpovede

{
  "started": true,
  "password": "example-Root-Pass-123",
  "job": {
    "id": "clx9r1t7w0003",
    "kind": "reinstall",
    "state": "running",
    "step": null,
    "startedAt": "2026-11-07T10:00:00.000Z",
    "updatedAt": "2026-11-07T10:00:00.000Z"
  }
}

Možné chyby

  • 400 Chýba alebo je neplatný systém, neplatný SSH kľúč alebo viac ako 10 kľúčov.
  • 403insufficient_scope Kľúču chýba oprávnenie services:secrets, alebo nie ste vlastník.
  • 409 Na VPS beží iná akcia, je v záchrannom režime, uzol je vyťažený alebo reinštalácia nie je dostupná.
  • 429 Reinštalácia už prebehla 3× za posledných 24 hodín.
  • 502 Reinštaláciu sa nepodarilo spustiť.
POST/services/{id}/reveal-secretZobraziť uložené root heslo VPS

Vráti uložené root heslo VPS z doby založenia, reinštalácie alebo poslednej zmeny. Každé zobrazenie sa zapíše do auditu a vlastník dostane e-mail; limit 5× za 10 minút, potvrdenie z portálu tu nahrádza oprávnenie services:secrets.

Oprávnenie: services:secrets

Ukážka odpovede

{
  "password": "example-Root-Pass-789"
}

Možné chyby

  • 403insufficient_scope Kľúču chýba oprávnenie services:secrets. Bez kódu: chýba oprávnenie pri zdieľanej službe.
  • 404 Služba sa nenašla alebo pri nej nie je uložené heslo.
  • 429 Viac ako 5 zobrazení za 10 minút.
  • 503 Heslo teraz nejde zobraziť, skúste to znova.
GET/services/{id}/root-passwordDá sa nastaviť nové root heslo?

Zistí, či je root heslo VPS teraz možné zmeniť cez qemu-guest-agent, a ak nie, vráti dôvod. Výsledok sa 60 s drží v medzipamäti.

Oprávnenie: services:secrets

Parametre v adrese

NázovTypPovinnéPopis
langstringnieen pre anglické hlásenia, inak česky.

Ukážka odpovede

{
  "available": false,
  "reason": "stopped",
  "message": "VPS je vypnutá. Heslo jde nastavit jen u běžící VPS."
}

Možné chyby

  • 400 Služba nie je VPS.
  • 403 Chýba oprávnenie Tajné údaje pri zdieľanej službe.
  • 409 Služba nie je aktívna.
POST/services/{id}/root-passwordNastaviť nové root heslo VPS

Vygeneruje nové root heslo, nastaví ho v bežiacej VPS cez qemu-guest-agent a vráti ho len v tejto odpovedi; vlastník dostane e-mail. Limit 3× za hodinu na službu a 10× za deň na účet; potvrdenie z portálu tu nahrádza oprávnenie services:secrets.

Oprávnenie: services:secrets

Parametre v adrese

NázovTypPovinnéPopis
langstringnieen pre anglické hlásenia, inak česky.

Ukážka odpovede

{
  "password": "example-Root-Pass-456"
}

Možné chyby

  • 403insufficient_scope Kľúču chýba oprávnenie services:secrets. Bez kódu: chýba oprávnenie pri zdieľanej službe.
  • 409 Heslo teraz nastaviť nejde; pole reason: agent_down, stopped, rescue, command_disabled, not_configured, no_permission alebo busy.
  • 429 Prekročený limit 3× za hodinu alebo 10× za deň.
  • 502 Agent heslo nenastavil, staré heslo platí ďalej (reason failed alebo unavailable).

Herné servery

GET/services/{id}/alertsNastavenie upozornení na pád a výpadok

Vráti nastavenie upozornení herného servera alebo Discord bota (e-mail, Discord webhook, udalosti) a históriu posledných upozornení. Adresa webhooku sa nikdy nevracia, len jej koniec. Len pre vlastníka služby.

Oprávnenie: services:settings

Parametre v adrese

NázovTypPovinnéPopis
langstringnieJazyk hlásení: en, inak cs.

Ukážka odpovede

{
  "settings": {
    "enabled": true,
    "email": true,
    "discord": {
      "hint": "discord.com/api/webhooks/…ab12",
      "disabled": false
    },
    "events": {
      "crash": true,
      "down": true,
      "recovered": true,
      "cleanExit": false,
      "node": true
    },
    "includeLog": true,
    "updatedAt": "2026-11-02T18:20:00.000Z"
  },
  "history": [
    {
      "id": "alr_01",
      "at": "2026-11-06T21:14:03.000Z",
      "kind": "crash",
      "exitCode": 137,
      "oom": true,
      "reason": null,
      "cause": null,
      "suppressed": null,
      "channels": {
        "email": "sent",
        "discord": "sent"
      },
      "extra": 0,
      "downtimeMin": null
    }
  ]
}

Možné chyby

  • 403 Len pre vlastníka služby.
POST/services/{id}/alertsUložiť, otestovať alebo vypnúť upozornenia

Mení nastavenie upozornení podľa poľa action. Nový Discord webhook sa uloží, len keď naň prejde skúšobná správa. Telo nesmie obsahovať iné polia. Len pre vlastníka služby.

Oprávnenie: services:settings

Parametre v adrese

NázovTypPovinnéPopis
langstringnieJazyk hlásení: en, inak cs.

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringánosave, test (skúšobná správa na uložený webhook, 1× za minútu a 5× za hodinu), removeDiscord alebo disable.
enabledbooleanniesave: zapnúť sledovanie.
emailbooleanniesave: posielať upozornenia e-mailom vlastníkovi.
eventsobjectniesave: ktoré udalosti hlásiť, kľúče crash, down, recovered, cleanExit, node (boolean).
includeLogbooleanniesave: priložiť koniec logu.
webhookstringniesave: nová adresa Discord webhooku (https://discord.com/api/webhooks/…), najviac 300 znakov.

Ukážka tela

{
  "action": "save",
  "enabled": true,
  "email": true,
  "events": {
    "crash": true,
    "down": true,
    "recovered": true,
    "cleanExit": false,
    "node": true
  },
  "includeLog": true
}

Ukážka odpovede

{
  "ok": true,
  "settings": {
    "enabled": true,
    "email": true,
    "discord": null,
    "events": {
      "crash": true,
      "down": true,
      "recovered": true,
      "cleanExit": false,
      "node": true
    },
    "includeLog": true,
    "updatedAt": "2026-11-07T10:05:00.000Z"
  }
}

Možné chyby

  • 400bad-request Neplatné telo alebo pole navyše.
  • 400webhook Adresa nie je Discord webhook.
  • 400test-failed Skúšobnú správu sa nepodarilo doručiť.
  • 400no-webhook test: nie je uložený žiadny webhook.
  • 400no-channel Zapnuté sledovanie potrebuje e-mail alebo webhook.
  • 429rate Skúšobnú správu je možné poslať raz za minútu a 5× za hodinu.
  • 500failed Nastavenia sa nepodarilo uložiť.
  • 403 Len pre vlastníka služby.
GET/services/{id}/gameSieť, databázy, zálohy alebo spustenie servera

Vráti jednu časť nastavenia herného servera alebo Discord bota podľa parametra section. Heslá k databázam a tajné hodnoty premenných dostane len vlastník a člen s oprávnením Tajné údaje.

Oprávnenie: services:settings

Parametre v adrese

NázovTypPovinnéPopis
sectionstringánonetwork (porty a SFTP), databases (databázy), backups (zálohy a doplnok záloh) alebo startup (príkaz a premenné spustenia).
localestringnieJazyk hlásení pri odmietnutí prístupu: cs, en, sk, pl alebo de.

Ukážka odpovede

{
  "allocations": [
    {
      "id": 1201,
      "ip": "203.0.113.10",
      "port": 25565,
      "notes": null,
      "primary": true
    },
    {
      "id": 1202,
      "ip": "203.0.113.10",
      "port": 25566,
      "notes": "Dynmap",
      "primary": false
    }
  ],
  "limit": 3,
  "sftp": {
    "ip": "203.0.113.10",
    "port": 2022
  }
}

Možné chyby

  • 400 Chýba alebo je neznáma sekcia (section).
  • 403 Chýba oprávnenie k danej sekcii (Sieť, Databázy, Zálohy alebo Nastavenia).
  • 412 Server zatiaľ nie je v hernom paneli dostupný.
POST/services/{id}/gameDatabázy, zálohy, premenné, porty a reinštalácia

Vykoná jednu akciu na hernom serveri alebo Discord botovi podľa poľa action. Obnova a zmazanie zálohy, zmazanie databázy a reinštalácia sú nevratné; reinštalácia zastaví server a prepíše súbory.

Oprávnenie: services:settings

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringánocreateDatabase, rotateDatabasePassword, deleteDatabase, createBackup, restoreBackup, deleteBackup, lockBackup (zamkne alebo odomkne), setVariable, reinstall, addAllocation alebo removeAllocation.
namestringniecreateDatabase: názov databázy, 1–48 znakov (písmená, číslice, podčiarkovník), povinné. createBackup: nepovinný názov zálohy, najviac 191 znakov.
remotestringniecreateDatabase: odkiaľ sa k databáze smie pripojiť (IP adresa alebo %). Predvolene % = odkiaľkoľvek.
databaseIdstringnierotateDatabasePassword, deleteDatabase: id databázy z GET ?section=databases.
uuidstring (uuid)nierestoreBackup, deleteBackup, lockBackup: uuid zálohy z GET ?section=backups.
truncatebooleannierestoreBackup: pred obnovou zmazať všetky súbory servera. Predvolene false.
keystringniesetVariable: názov premennej spustenia (veľké písmená, číslice, podčiarkovník).
valuestringniesetVariable: nová hodnota, najviac 4096 znakov, bez riadiacich znakov.
allocationIdintegernieremoveAllocation: id portu z GET ?section=network. Hlavný port odobrať nejde.
localestringnieJazyk hlásení: cs, en, sk, pl alebo de. Predvolene cs.

Ukážka tela

{
  "action": "setVariable",
  "key": "MAX_PLAYERS",
  "value": "32"
}

Ukážka odpovede

{
  "ok": true,
  "value": "32"
}

Možné chyby

  • 400 Neplatné telo požiadavky alebo názov databázy.
  • 400CONTROL_CHARS Hodnota premennej obsahuje riadiace znaky.
  • 403 Chýba oprávnenie k akcii; reinštalácia navyše chce Súbory a Napájanie.
  • 403SECRETS_REQUIRED Tajnú premennú smie meniť len vlastník alebo člen s oprávnením Tajné údaje.
  • 403FILES_REQUIRED Zdroj kódu Discord bota je možné meniť len s oprávnením Súbory.
  • 404 Záloha neexistuje.
  • 409MANAGED_VARIABLE Premennú spravuje StormHost, meniť ju nejde.
  • 409MC_MANAGED_VARIABLE Pri Minecrafte premennú nastavuje záložka Softvér.
  • 409PROTECTED_ARGUMENT Voľné argumenty nesmú prepísať chránené parametre (napr. RCON).
  • 409JOB_RUNNING Na Minecraft serveri práve beží zmena softvéru.
  • 409PORT_LIMIT Balík už nemá voľný port.
  • 409NO_FREE_PORT Na uzle teraz nie je voľný port.
  • 412 Server zatiaľ nie je v hernom paneli dostupný.
GET/services/{id}/game/backup-downloadStiahnuť zálohu herného servera

Stiahne archív zálohy (.tar.gz) herného servera alebo Discord bota. Archív obsahuje všetky súbory vrátane tajných údajov, preto člen potrebuje aj oprávnenie Súbory.

Oprávnenie: services:backups

Parametre v adrese

NázovTypPovinnéPopis
uuidstring (uuid)ánouuid zálohy z GET …/game?section=backups.
localestringnieJazyk hlásení pri odmietnutí prístupu: cs, en, sk, pl alebo de.

Ukážka odpovede

Binární soubor (Content-Type: application/gzip, Content-Disposition: attachment; filename="backup-….tar.gz")

Možné chyby

  • 400 Chýba alebo je neplatné uuid.
  • 403 Chýba oprávnenie Zálohy alebo Súbory.
  • 404 Záloha neexistuje.
  • 502 Zálohu sa nepodarilo stiahnuť z herného panela.
  • 429 Najviac 10 stiahnutí za minútu.
GET/services/{id}/schedulesPlány herného servera alebo bota

Vráti naplánované úlohy (reštart, záloha, príkaz, zapnutie alebo vypnutie) herného servera alebo Discord bota, ich ďalší a posledný beh, limity a dostupné sloty záloh.

Oprávnenie: services:settings

Parametre v adrese

NázovTypPovinnéPopis
localestringnieJazyk textov v odpovedi: en, inak cs.

Ukážka odpovede

{
  "schedules": [
    {
      "id": 41,
      "name": "Denní restart",
      "cron": {
        "minute": "0",
        "hour": "5",
        "dom": "*",
        "month": "*",
        "dow": "*"
      },
      "target": {
        "minute": "0",
        "hour": "5",
        "dom": "*",
        "month": "*",
        "dow": "*"
      },
      "active": true,
      "onlyWhenOnline": false,
      "processing": false,
      "stuck": false,
      "lastRunAt": "2026-11-07T04:00:00.000Z",
      "nextRunAt": "2026-11-08T04:00:00.000Z",
      "kind": "restart",
      "preset": {
        "kind": "restart",
        "repeat": {
          "kind": "daily",
          "time": "05:00"
        },
        "countdown": {
          "m5": true,
          "m1": true,
          "s10": true
        }
      },
      "origin": "portal",
      "author": "you",
      "lastResult": "ok",
      "lastResultCause": null,
      "allowed": true
    }
  ],
  "panelZone": {
    "expected": "Europe/Prague",
    "detected": "Europe/Prague",
    "ok": true,
    "preview": "Europe/Prague"
  },
  "backupSlots": 1,
  "canBackup": true,
  "backupAddonPriceCzk": 120,
  "game": "minecraft",
  "countdown": true,
  "mcVersion": "1.21.4",
  "isOwner": true,
  "permissions": {
    "console": true,
    "power": true,
    "backups": true
  },
  "limits": {
    "maxSchedules": 10,
    "nameMax": 60,
    "commandMax": 256,
    "messageMax": 100,
    "hourSteps": [
      1,
      2,
      3,
      4,
      6,
      8,
      12
    ]
  }
}

Možné chyby

  • 403 Chýba oprávnenie Nastavenia.
  • 412 Server zatiaľ nie je v hernom paneli dostupný.
POST/services/{id}/schedulesZaložiť, upraviť, spustiť alebo zmazať plán

Spravuje plány podľa poľa action. Na serveri je najviac 10 plánov; príkaz najskôr po 15 minútach, reštart a zapnutie alebo vypnutie po hodine, záloha raz denne a len jeden zálohový plán.

Oprávnenie: services:settings

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringánocreate, update, delete, toggle (zapnúť alebo vypnúť), run (spustiť hneď, najviac 1× za minútu) alebo unstick (uvoľniť zaseknutý plán).
scheduleIdintegernieVšetky akcie okrem create: id plánu z GET.
presetobjectniecreate, update: kind restart (repeat, countdown {m5, m1, s10}, message do 100 znakov), backup (repeat), command (repeat, command do 256 znakov, onlyWhenOnline) alebo power (repeat, signal start|stop).
preset.repeatobjectnieOpakovanie: {kind: daily, time: "HH:MM"}, {kind: weekly, days: [0–6, 0 = nedeľa], time}, {kind: hours, every: 1|2|3|4|6|8|12, minute: 0–59} alebo {kind: cron, expr}.
namestringniecreate, update: názov plánu, najviac 60 znakov.
ackbooleanniecreate, update: pri zálohovom pláne musí byť true (potvrdenie, že nová záloha nahradí staršiu).
activebooleannietoggle: true zapne, false vypne.
localestringnieJazyk hlásení: cs, en, sk, pl alebo de. Predvolene cs.

Ukážka tela

{
  "action": "create",
  "name": "Noční restart",
  "preset": {
    "kind": "restart",
    "repeat": {
      "kind": "daily",
      "time": "04:30"
    },
    "countdown": {
      "m5": true,
      "m1": true,
      "s10": false
    },
    "message": "Server se za chvíli restartuje."
  }
}

Ukážka odpovede

{
  "ok": true,
  "id": 42
}

Možné chyby

  • 400INVALID Plán nie je vyplnený správne.
  • 400GAP Plán by sa spúšťal príliš často.
  • 400BACKUP_ACK Pri zálohovom pláne chýba ack: true.
  • 400COMMAND_FORBIDDEN Príkaz by server vypol alebo reštartoval; použite predvoľbu restart alebo power.
  • 403FORBIDDEN K plánu chýba oprávnenie (podľa úloh Konzola, Napájanie alebo Zálohy).
  • 404NOT_FOUND Plán neexistuje.
  • 409LIMIT Server už má 10 plánov.
  • 409BACKUP_SLOTS Zálohy podľa plánu potrebujú doplnok Záloha.
  • 409BACKUP_EXISTS Zálohový plán už existuje.
  • 409NOT_EDITABLE Plán vznikol mimo portálu; dá sa len vypnúť alebo zmazať.
  • 409PANEL_TZ Plány na konkrétny čas teraz nejde nastaviť, zatiaľ len opakovanie po hodinách.
  • 409SUSPENDED Server je pozastavený.
  • 409JOB_RUNNING Na Minecraft serveri beží zmena softvéru.
  • 429RATE Plán je možné spustiť najviac raz za minútu.
  • 502PARTIAL Plán sa neuložil celý a zostal vypnutý.
GET/services/{id}/vip-shopVIP obchod Minecraft servera

Vráti VIP obchod Minecraft servera: údaje obchodu, položky s rozpadom ceny, aktuálne sadzby a súhrn predajov po mesiacoch. Len pre vlastníka služby.

Oprávnenie: services:settings

Parametre v adrese

NázovTypPovinnéPopis
langstringnieJazyk hlásení: cs, en, sk, pl alebo de. Predvolene cs.

Ukážka odpovede

{
  "view": {
    "state": {
      "mode": "live",
      "open": true,
      "checkoutOpen": true
    },
    "usable": true,
    "shop": {
      "id": "shp_3k9d",
      "slug": "muj-server",
      "title": "Můj server",
      "status": "active",
      "sellerName": "Jan Novák",
      "sellerIco": null,
      "sellerEmail": "[email protected]",
      "sellerAddress": null,
      "playerTerms": null,
      "termsVersion": "2026-10-29",
      "termsAcceptedAt": "2026-11-01T09:00:00.000Z",
      "termsCurrent": true,
      "suspendedReason": null,
      "createdAt": "2026-11-01T09:00:00.000Z"
    },
    "items": [
      {
        "id": "itm_8f2a",
        "title": "VIP na 30 dní",
        "description": "Barevné jméno a /fly",
        "priceCzk": 99,
        "category": "Ranky",
        "durationDays": 30,
        "commandsBuy": [
          "lp user {player} parent addtemp vip 30d"
        ],
        "commandsExpire": [],
        "active": true,
        "sortOrder": 0,
        "breakdown": null
      }
    ],
    "rates": null,
    "termsVersion": "2026-10-29",
    "summary": [
      {
        "month": "2026-11",
        "count": 3,
        "priceHaler": 29700,
        "commissionHaler": 1485,
        "feeHaler": 1020,
        "creditHaler": 27195
      }
    ]
  }
}

Možné chyby

  • 400not_minecraft VIP obchod je len pri Minecraft serveroch.
  • 404disabled VIP obchod teraz nie je pre účet dostupný.
  • 503disabled VIP obchod ešte nie je pripravený.
  • 500failed Akcia sa nepodarila.
  • 403 Len pre vlastníka služby.
POST/services/{id}/vip-shopUpraviť obchod a položky VIP obchodu

Založí alebo upraví VIP obchod, pozastaví ho a spravuje položky podľa poľa action. Údaje obchodu sa posielajú vždy celé; pri založení a po zmene podmienok je nutné terms: true. Len pre vlastníka služby.

Oprávnenie: services:settings

Parametre v adrese

NázovTypPovinnéPopis
langstringnieJazyk hlásení: cs, en, sk, pl alebo de. Predvolene cs.

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringánosaveShop, setStatus, saveItem alebo deleteItem.
slugstringniesaveShop: adresa obchodu, 3–32 znakov a–z, 0–9 a pomlčka.
titlestringniesaveShop: názov obchodu (2–60 znakov). saveItem: názov položky (2–60 znakov).
sellerNamestringniesaveShop: meno alebo firma predávajúceho (2–120 znakov).
sellerIcostringniesaveShop: IČO predávajúceho (nepovinné).
sellerEmailstringniesaveShop: kontaktný e-mail predávajúceho.
sellerAddressstringniesaveShop: adresa predávajúceho, 5–200 znakov (nepovinné).
playerTermsstringniesaveShop: vlastné podmienky pre hráčov, najviac 20 000 znakov (nepovinné).
termsbooleanniesaveShop: súhlas s podmienkami prevádzkovateľa obchodu.
statusstringniesetStatus: active alebo paused.
idstringniesaveItem: id položky na úpravu (bez id sa založí nová, najviac 50). deleteItem: id položky (povinné).
descriptionstringniesaveItem: popis, najviac 500 znakov.
priceCzkintegerniesaveItem: cena v Kč, 10–10 000 (povinné).
categorystringniesaveItem: kategória, najviac 40 znakov.
durationDaysinteger | nullniesaveItem: platnosť v dňoch 1–3650, null = natrvalo.
commandsBuystring[]niesaveItem: 1–10 príkazov po nákupe, každý do 300 znakov; jediná premenná {player}; príkazy ako stop, restart, op zakázané.
commandsExpirestring[]niesaveItem: najviac 10 príkazov po vypršaní platnosti.
activebooleanniesaveItem: ponúkať položku v obchode. Predvolene true.
sortOrderintegerniesaveItem: poradie 0–10 000.

Ukážka tela

{
  "action": "saveItem",
  "title": "VIP na 30 dní",
  "priceCzk": 99,
  "category": "Ranky",
  "durationDays": 30,
  "commandsBuy": [
    "lp user {player} parent addtemp vip 30d"
  ],
  "commandsExpire": [],
  "active": true
}

Ukážka odpovede

{
  "ok": true,
  "item": {
    "id": "itm_8f2a",
    "title": "VIP na 30 dní",
    "description": null,
    "priceCzk": 99,
    "category": "Ranky",
    "durationDays": 30,
    "commandsBuy": [
      "lp user {player} parent addtemp vip 30d"
    ],
    "commandsExpire": [],
    "active": true,
    "sortOrder": 0,
    "breakdown": null
  }
}

Možné chyby

  • 400bad Neplatná požiadavka alebo neznáma akcia.
  • 400 Chybné pole; kód a pole (field) hovoria ktoré, napr. slug, title, seller_email, terms, item_price, command_denied.
  • 404no_shop Služba ešte nemá obchod.
  • 404item_not_found Položka neexistuje.
  • 409slug_taken Adresa obchodu je obsadená.
  • 409suspended Obchod je pozastavený prevádzkovateľom.
  • 409items_max Obchod už má 50 položiek.
  • 400not_minecraft VIP obchod je len pri Minecraft serveroch.
  • 500failed Akcia sa nepodarila.
  • 403 Len pre vlastníka služby.
GET/services/{id}/vip-shop/salesPredaje VIP obchodu a doručenia

Vráti posledných 50 predajov VIP obchodu so stavom doručenia príkazov, províziou, poplatkom a pripísaným kreditom. Sumy sú v halieroch (1/100 Kč). Funguje aj pri neaktívnej službe. Len pre vlastníka.

Oprávnenie: services:settings

Parametre v adrese

NázovTypPovinnéPopis
langstringnieJazyk hlásení: cs, en, sk, pl alebo de. Predvolene cs.
beforestring (ISO 8601)nieStaršie predaje než tento čas (stránkovanie).

Ukážka odpovede

{
  "sales": [
    {
      "id": "sal_51c0",
      "number": "VIP-2026-000123",
      "createdAt": "2026-11-05T19:02:11.000Z",
      "paidAt": "2026-11-05T19:03:40.000Z",
      "state": "paid",
      "refundState": null,
      "test": false,
      "itemTitle": "VIP na 30 dní",
      "durationDays": 30,
      "playerName": "Steve_42",
      "buyerEmail": "[email protected]",
      "priceHaler": 9900,
      "commissionHaler": 495,
      "feeHaler": 340,
      "creditHaler": 9065,
      "reversedHaler": null,
      "deliveries": [
        {
          "id": "dlv_77aa",
          "kind": "purchase",
          "state": "done",
          "attempts": 1,
          "nextAttemptAt": null,
          "doneAt": "2026-11-05T19:03:52.000Z",
          "lastErrorCode": null,
          "sent": 1,
          "total": 1
        }
      ]
    }
  ]
}

Možné chyby

  • 404no_shop Služba ešte nemá obchod.
  • 400not_minecraft VIP obchod je len pri Minecraft serveroch.
  • 500failed Akcia sa nepodarila.
  • 403 Len pre vlastníka služby.
POST/services/{id}/vip-shop/salesZopakovať doručenie príkazov za predaj

Hneď skúsi znova poslať príkazy jedného doručenia na server. Najviac 10× za minútu na službu. Len pre vlastníka.

Oprávnenie: services:settings

Parametre v adrese

NázovTypPovinnéPopis
langstringnieJazyk hlásení: cs, en, sk, pl alebo de. Predvolene cs.

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringánoretry.
deliveryIdstringánoid doručenia z GET (deliveries[].id).

Ukážka tela

{
  "action": "retry",
  "deliveryId": "dlv_77aa"
}

Ukážka odpovede

{
  "ok": true,
  "state": "done",
  "code": null
}

Možné chyby

  • 400bad Neplatná požiadavka.
  • 404no_shop Služba ešte nemá obchod.
  • 404delivery_not_found Doručenie neexistuje.
  • 409delivery_state Doručenie teraz znova poslať nejde.
  • 429rate Najviac 10 pokusov za minútu.
  • 400not_minecraft VIP obchod je len pri Minecraft serveroch.
  • 500failed Akcia sa nepodarila.
  • 403 Len pre vlastníka služby.

Minecraft

GET/services/{id}/minecraft/datapacksDatapacky aktívneho sveta

Bez parametrov vráti datapacky aktívneho sveta. S `q` hľadá datapacky na Modrinthe pre verziu servera, s `project` vráti verzie jedného datapacku.

Oprávnenie: services:files

Parametre v adrese

NázovTypPovinnéPopis
qstringnieHľadaný text (najviac 80 znakov).
offsetintegerniePosun vo výsledkoch hľadania, predvolene 0.
projectstringnieID alebo slug projektu na Modrinthe, vráti jeho verzie so súborom.

Ukážka odpovede

{
  "version": "1.21.4",
  "world": "world",
  "worldValid": true,
  "worldExists": true,
  "power": "running",
  "busy": null,
  "items": [
    {
      "name": "example-pack.zip",
      "kind": "zip",
      "size": 48211,
      "mtime": 1730970000,
      "source": "modrinth",
      "title": "Example Pack",
      "versionName": "1.2.0",
      "projectId": "AbCdEf12",
      "enabled": true,
      "compat": "ok"
    }
  ],
  "evidenceBroken": false,
  "canConsole": true,
  "maxUploadMb": 50
}

Možné chyby

  • 409NOT_IMPORTED Softvér servera zatiaľ nie je nastavený, najprv použite minecraft/software.
  • 412NO_PANEL Server teraz nie je dostupný v hernom paneli.
  • 429 Príliš veľa požiadaviek, skúste to o chvíľu.
POST/services/{id}/minecraft/datapacksInštalácia, odobratie a načítanie datapackov

`install` stiahne datapack z Modrinthu do aktívneho sveta, na bežiacom serveri sa prejaví až po `reload`. `remove` datapack vypne a zmaže, `reload` spustí príkaz `reload` (len bežiaci server, pri zdieľanej službe s oprávnením Konzola). Nahranie vlastného ZIPu cez API nejde.

Oprávnenie: services:files

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringáno`install`, `remove` alebo `reload`.
projectIdstringnieLen `install`: ID projektu na Modrinthe (1–64 znakov).
versionIdstringnieLen `install`: ID verzie z `GET ?project=` (1–16 znakov).
namestringnieLen `remove`: názov súboru alebo priečinka datapacku z výpisu (najviac 120 znakov).

Ukážka tela

{
  "action": "install",
  "projectId": "AbCdEf12",
  "versionId": "XyZ98765"
}

Ukážka odpovede

{
  "ok": true,
  "file": "example-pack.zip",
  "replaced": null,
  "needsReload": true,
  "packFormat": "61",
  "compat": "ok"
}

Možné chyby

  • 400INVALID Neplatné telo požiadavky.
  • 403FORBIDDEN `reload` bez oprávnenia Konzola pri zdieľanej službe.
  • 404NO_SUCH_PACK Datapack s týmto názvom vo svete nie je.
  • 409NAME_TAKEN Datapack s rovnakým názvom už vo svete je, najprv ho odoberte.
  • 409TOO_MANY Vo svete je už 100 datapackov.
  • 409NOT_RUNNING Server nebeží, zapnite ho a skúste to znova.
  • 409JOB Na serveri beží iná zmena alebo inštalácia doplnku.
  • 422INCOMPATIBLE Verzia datapacku nie je pre verziu servera.
  • 422NO_PACK_MCMETA Súbor nie je platný datapack (chýba pack.mcmeta).
  • 429RATE_LIMITED Limit: inštalácia a odobratie 20 za 10 minút, `reload` 10 za 10 minút.
GET/services/{id}/minecraft/dnsVlastná adresa servera

Vráti stav vlastnej adresy (záznamy A/AAAA a SRV), predvolený port servera a priamu adresu. S `check` len overí, či je názov voľný. Keď sa zmenila IP alebo port servera, záznamy sa pri čítaní samy zrovnajú (`resynced`).

Oprávnenie: services:network

Parametre v adrese

NázovTypPovinnéPopis
checkstringnieNázov na overenie dostupnosti, vráti `{ name, fqdn, available, code?, error? }`.
localestringnieJazyk chybových hlášok kontroly prístupu: cs, en, sk, pl, de.

Ukážka odpovede

{
  "enabled": true,
  "zone": "play.example.com",
  "ttl": 300,
  "nameMin": 3,
  "nameMax": 32,
  "current": {
    "name": "mujserver",
    "fqdn": "mujserver.play.example.com",
    "zone": "play.example.com",
    "ip": "203.0.113.10",
    "port": 25565,
    "recordType": "A",
    "srvName": "_minecraft._tcp.mujserver.play.example.com",
    "createdAt": "2026-11-07T10:15:00.000Z",
    "updatedAt": null,
    "records": {
      "address": "ok",
      "srv": "ok"
    }
  },
  "allocation": {
    "ip": "203.0.113.10",
    "alias": null,
    "port": 25565
  },
  "directAddress": "203.0.113.10:25565",
  "allocationError": null,
  "allocationErrorCode": null,
  "recordsError": null,
  "recordsErrorCode": null,
  "resynced": false,
  "canManage": true
}

Možné chyby

  • 400NOT_MINECRAFT Služba nie je Minecraft server.
  • 503PANEL Správa servera je dočasne nedostupná.
  • 500SETUP_FAILED Nepodarilo sa dokončiť, skúste to neskôr.
POST/services/{id}/minecraft/dnsZaloženie, zmena a odobratie adresy

Založí adresu `<name>.<zone>`, premenuje ju, odoberie alebo znova zapíše záznamy podľa aktuálnej IP a portu (`resync`). Služba musí byť aktívna; adresu možno meniť najviac 5× za hodinu a 20× denne.

Oprávnenie: services:network

Parametre v adrese

NázovTypPovinnéPopis
localestringnieJazyk chybových hlášok kontroly prístupu: cs, en, sk, pl, de.

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringáno`create`, `rename`, `delete` alebo `resync`.
namestringniePre `create` a `rename`: 3–32 znakov, malé písmená a–z, číslice a pomlčky (nie na začiatku ani na konci).

Ukážka tela

{
  "action": "create",
  "name": "mujserver"
}

Ukážka odpovede

{
  "ok": true,
  "current": {
    "name": "mujserver",
    "fqdn": "mujserver.play.example.com",
    "zone": "play.example.com",
    "ip": "203.0.113.10",
    "port": 25565,
    "recordType": "A",
    "srvName": "_minecraft._tcp.mujserver.play.example.com",
    "createdAt": "2026-11-07T10:15:00.000Z",
    "updatedAt": null,
    "records": {
      "address": "ok",
      "srv": "ok"
    }
  }
}

Možné chyby

  • 400INVALID Neplatné telo požiadavky.
  • 400INVALID_NAME Názov nespĺňa pravidlá.
  • 400RESERVED Názov je vyhradený.
  • 400SAME_NAME Server už túto adresu má.
  • 404NONE Server nemá žiadnu vlastnú adresu.
  • 409TAKEN Adresa je obsadená.
  • 409EXISTS Server už vlastnú adresu má, použite `rename`.
  • 409NO_ALLOCATION Server nemá predvolený port.
  • 409NOT_PUBLIC Predvolená adresa servera nie je verejná.
  • 412NO_PANEL_LINK Server teraz nie je dostupný v hernom paneli.
  • 429RATE_LIMITED Prekročený limit zmien, skúste to neskôr.
  • 503DISABLED Vlastné adresy teraz nie sú dostupné.
  • 502DNS Zápis DNS záznamov zlyhal.
GET/services/{id}/minecraft/eulaStav prijatia EULA

Vráti, či je v eula.txt prijatá licencia Minecraftu. `accepted: null` znamená, že súbor zatiaľ neexistuje.

Oprávnenie: services:settings

Ukážka odpovede

{
  "accepted": false,
  "acceptedAt": null,
  "url": "https://aka.ms/MinecraftEULA"
}

Možné chyby

  • 412 Server teraz nie je dostupný v hernom paneli (hláška `panel.unavailable` v poli `msg`).
  • 429 Príliš veľa požiadaviek, skúste to o chvíľu.
POST/services/{id}/minecraft/eulaPrijatie EULA

Zapíše do eula.txt `eula=true`. So `start: true` zároveň zapne vypnutý server (pri zdieľanej službe s oprávnením Napájanie). Limit 10 za 10 minút.

Oprávnenie: services:settings

Telo požiadavky (JSON)

NázovTypPovinnéPopis
acceptbooleanánoMusí byť `true`.
startbooleanniePo prijatí zapnúť vypnutý server.

Ukážka tela

{
  "accept": true,
  "start": true
}

Ukážka odpovede

{
  "ok": true,
  "accepted": true,
  "acceptedAt": "2026-11-07T10:15:00.000Z",
  "started": true,
  "startError": null,
  "startErrorMsg": null
}

Možné chyby

  • 400 Chýba `accept: true`.
  • 403 `start` bez oprávnenia Napájanie.
  • 409 Na serveri práve beží zmena (job).
  • 412 Server teraz nie je dostupný v hernom paneli (hláška `panel.unavailable` v poli `msg`).
GET/services/{id}/minecraft/gamerulesPravidlá hry aktívneho sveta

Vráti pravidlá hry platné pre verziu servera s aktuálnou a predvolenou hodnotou. Pri zdieľanej službe je potrebné oprávnenie Konzola.

Oprávnenie: services:settings

Parametre v adrese

NázovTypPovinnéPopis
langstringnieJazyk názvov pravidiel: `cs` (predvolené) alebo `en`.

Ukážka odpovede

{
  "version": "1.21.4",
  "world": "world",
  "worldValid": true,
  "power": "running",
  "busy": null,
  "perDimension": true,
  "source": "file",
  "fileAt": "2026-11-07T10:15:00.000Z",
  "pending": [],
  "rules": [
    {
      "id": "minecraft:keep_inventory",
      "name": "keepInventory",
      "type": "bool",
      "min": null,
      "max": null,
      "group": "players",
      "common": true,
      "label": "Keep inventory after death",
      "value": false,
      "default": false
    }
  ]
}

Možné chyby

  • 409NOT_IMPORTED Softvér servera zatiaľ nie je nastavený, najprv použite minecraft/software.
  • 412NO_PANEL Server teraz nie je dostupný v hernom paneli.
  • 413FILE_TOO_LARGE Súbor s pravidlami je príliš veľký.
  • 422FILE_CORRUPT Súbor s pravidlami je poškodený.
  • 429 Príliš veľa požiadaviek, skúste to o chvíľu.
POST/services/{id}/minecraft/gamerulesZmena pravidiel hry

Nastaví pravidlá príkazom `gamerule` na bežiacom serveri, prejavia sa hneď bez reštartu. Naraz najviac 30 pravidiel, limit 30 požiadaviek za 10 minút.

Oprávnenie: services:settings

Telo požiadavky (JSON)

NázovTypPovinnéPopis
rulesobjectánoMapa `id` pravidla (z GET) na hodnotu `boolean` alebo celé číslo.
allDimensionsbooleannieNa Paperi a odvodených serveroch nastaviť vo všetkých dimenziách, predvolene `true`.

Ukážka tela

{
  "rules": {
    "minecraft:keep_inventory": true,
    "minecraft:spawn_radius": 0
  },
  "allDimensions": true
}

Ukážka odpovede

{
  "ok": true,
  "world": "world",
  "results": [
    {
      "id": "minecraft:keep_inventory",
      "status": "set"
    },
    {
      "id": "minecraft:spawn_radius",
      "status": "unchanged"
    }
  ]
}

Možné chyby

  • 400INVALID Neplatné telo požiadavky.
  • 400NO_CHANGES V `rules` nič nie je.
  • 400UNKNOWN_RULE Pravidlo vo verzii servera neexistuje (pole `rule`).
  • 400INVALID_VALUE Neplatná hodnota pravidla (pole `rule`).
  • 409NOT_RUNNING Server nebeží, zapnite ho a skúste to znova.
  • 409NOT_IMPORTED Softvér servera zatiaľ nie je nastavený, najprv použite minecraft/software.
  • 409JOB Na serveri beží iná zmena alebo inštalácia doplnku.
  • 429CONSOLE_BUSY Konzola servera je zaneprázdnená.
  • 412NO_PANEL Server teraz nie je dostupný v hernom paneli.
GET/services/{id}/minecraft/jobStav bežiacej zmeny servera

Vráti posledný job (zmena softvéru, reinštalácia, modpack, svet) s krokom, záznamom a priebehom. Po spustení jobu ho dopytujte zhruba každé 2 s, kým `status` nie je `done` alebo `failed`; zaseknutý job sa označí ako `failed` s `interrupted: true`.

Oprávnenie: services:settings

Ukážka odpovede

{
  "job": {
    "id": "k3j9x2m1q8",
    "kind": "switch",
    "status": "running",
    "step": "install",
    "log": [
      {
        "at": "2026-11-07T10:15:00.000Z",
        "key": "job.log.installing",
        "params": {
          "label": "Paper 1.21.4"
        }
      }
    ],
    "startedAt": "2026-11-07T10:15:00.000Z",
    "updatedAt": "2026-11-07T10:16:10.000Z",
    "error": null,
    "errorMsg": null,
    "progress": {
      "done": 42,
      "total": 168,
      "unit": "files",
      "bytesDone": null,
      "bytesTotal": null
    },
    "from": {
      "type": "paper",
      "version": "1.21.1",
      "build": "130"
    },
    "target": {
      "type": "paper",
      "version": "1.21.4",
      "build": "232"
    },
    "destructive": true,
    "finishedAt": null
  },
  "active": true
}

Možné chyby

  • 429 Príliš veľa požiadaviek, skúste to o chvíľu.
POST/services/{id}/minecraft/jobSkrytie dokončeného jobu

Skryje dokončený alebo zlyhaný job, aby ho GET už nevracal. Bežiaci job skryť nejde.

Oprávnenie: services:settings

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringánoVždy `dismiss`.
jobIdstringáno`id` jobu z GET (8–40 malých písmen a číslic).

Ukážka tela

{
  "action": "dismiss",
  "jobId": "k3j9x2m1q8"
}

Ukážka odpovede

{
  "ok": true
}

Možné chyby

  • 400 Neplatné telo požiadavky (hláška v poli `msg`).
  • 409 Job ešte beží alebo už to nie je posledný job.
GET/services/{id}/minecraft/modpacksModpacky: stav, hľadanie a náhľad

Bez parametrov vráti nainštalovaný modpack, odložené súbory a frontu. `search` hľadá modpacky na Modrinthe, `project` vráti projekt s verziami, `preview` ukáže, čo by inštalácia urobila (nič nemení), `serverFiles=1` vypíše súbory .mrpack v koreni servera.

Oprávnenie: services:files

Parametre v adrese

NázovTypPovinnéPopis
searchstringnieHľadaný text na Modrinthe.
mcstringnieSo `search`: verzia Minecraftu, napr. `1.21.1`.
loaderstringnieSo `search`: `fabric`, `forge` alebo `neoforge`.
sortstringnieSo `search`: `downloads`, `relevance` alebo `newest`.
offsetintegernieSo `search`: posun vo výsledkoch.
projectstringnieID alebo slug projektu; s `preview=modrinth` len ID (8 znakov).
previewstringnie`modrinth` (s `project` a `version`) alebo `upload` (s `upload`).
versionstringnieS `preview=modrinth`: ID verzie (8 znakov).
uploadstringnieS `preview=upload`: `id` z akcie `stageServerFile` (24 hex znakov).
modestringnieS `preview`: `all` (predvolené), `keep-world` alebo `wipe`.
serverFilesstringnie`1` vypíše súbory .mrpack v koreni servera.

Ukážka odpovede

{
  "installed": null,
  "aside": null,
  "recovering": false,
  "server": {
    "type": "fabric",
    "version": "1.21.1",
    "memoryMib": 8192
  },
  "perms": {
    "install": true,
    "rollback": true,
    "deleteAside": true,
    "wipe": true,
    "replaceBackup": true
  },
  "queue": {
    "active": 0,
    "waiting": 0,
    "limit": 2
  },
  "limits": {
    "uploadMaxMb": 95,
    "serverFileMaxMb": 1024,
    "serverMb": 3072,
    "files": 30000
  }
}

Možné chyby

  • 400 Neplatný projekt, verzia, nahraný súbor alebo režim (hláška v poli `msg`).
  • 429 Príliš veľa požiadaviek, skúste to o chvíľu.
POST/services/{id}/minecraft/modpacksInštalácia a návrat modpacku

`install` a `rollback` spustí job na pozadí (odpoveď 202), priebeh sledujte cez minecraft/job. Server sa pri inštalácii vypne, `all` staré súbory odloží (dá sa vrátiť cez `rollback`), `wipe` všetko zmaže (len vlastník). Limit 3 za hodinu na službu (spoločný so zmenou softvéru) a 10 denne na zákazníka; vlastný .mrpack nahrajte cez SFTP a pripravte akciou `stageServerFile`.

Oprávnenie: services:files

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringáno`install`, `rollback`, `deleteAside` alebo `stageServerFile`.
originstringnie`install`: `modrinth` alebo `mrpack` (vlastný súbor).
projectIdstringnie`install` z Modrinthu: ID projektu (8 znakov).
versionIdstringnie`install` z Modrinthu: ID verzie (8 znakov).
uploadIdstringnie`install` s `mrpack`: `id` zo `stageServerFile` (24 hex znakov).
modestringnie`install`: `all` (nahradiť všetko, staré odložiť), `keep-world` (ponechať svet a server.properties) alebo `wipe` (zmazať všetko, len vlastník).
replaceBackupbooleanniePri plných slotoch záloh prepísať najstaršiu zálohu (vlastník alebo oprávnenie Zálohy).
acceptEulabooleanniePrijať licenciu Minecraftu (EULA) v rámci inštalácie.
confirmDowngradebooleanniePotvrdiť inštaláciu so staršou verziou Minecraftu, než má svet.
namestringnie`stageServerFile`: názov súboru .mrpack v koreni servera (do 1 GB).

Ukážka tela

{
  "action": "install",
  "origin": "modrinth",
  "projectId": "AbCdEf12",
  "versionId": "XyZ98765",
  "mode": "all",
  "acceptEula": true
}

Ukážka odpovede

{
  "ok": true,
  "job": {
    "id": "k3j9x2m1q8",
    "kind": "modpack",
    "status": "queued",
    "step": "queued",
    "log": [],
    "startedAt": "2026-11-07T10:15:00.000Z",
    "updatedAt": "2026-11-07T10:15:00.000Z",
    "error": null,
    "errorMsg": null,
    "progress": null
  },
  "warnings": []
}

Možné chyby

  • 400 Neplatné telo požiadavky (hláška v poli `msg`).
  • 403 Chýba oprávnenie Nastavenia, Súbory a Napájanie (hláška v poli `msg`).
  • 403WIPE_OWNER Režim `wipe` smie len vlastník.
  • 403BACKUP_PERMISSION `replaceBackup` bez oprávnenia Zálohy.
  • 409JOB_RUNNING Na serveri už beží iný job.
  • 409ADDON_RUNNING Prebieha inštalácia pluginu alebo módu.
  • 409QUEUE_FULL Fronta inštalácií je plná, skúste to neskôr.
  • 409DISK Na disku servera je málo miesta (`details.freeMb`, `details.needMb`).
  • 409DOWNGRADE Modpack má staršiu verziu Minecraftu, potvrďte `confirmDowngrade`.
  • 422LOADER Loader modpacku teraz nejde nainštalovať.
  • 429 Prekročený limit inštalácií (hodinový na službu alebo denný na zákazníka).
GET/services/{id}/minecraft/player-statsGraf počtu hráčov

Vráti body grafu online hráčov za zvolené obdobie s priemerom, maximom a rekordom. Keď je zber vypnutý, `enabled` je `false` a `points` je prázdne.

Oprávnenie: services:settings

Parametre v adrese

NázovTypPovinnéPopis
rangestringnie`24h` (predvolené, body po 5 min), `7d` (po hodine) alebo `30d` (po 4 h).

Ukážka odpovede

{
  "enabled": true,
  "collecting": true,
  "range": "24h",
  "canToggle": true,
  "bucketSec": 300,
  "points": [
    {
      "t": 1730973600000,
      "peak": 4,
      "avg": 2.5,
      "slots": 20,
      "state": "up"
    }
  ],
  "average": 2.1,
  "peak": {
    "online": 6,
    "at": "2026-11-07T10:15:00.000Z"
  },
  "record": {
    "online": 14,
    "at": "2026-10-20T19:40:00.000Z"
  },
  "last": {
    "at": "2026-11-07T10:15:00.000Z",
    "online": 3,
    "max": 20
  }
}

Možné chyby

  • 503unavailable Graf hráčov zatiaľ nie je k dispozícii.
  • 502ERROR Graf sa nepodarilo načítať.
  • 429 Príliš veľa požiadaviek, skúste to o chvíľu.
POST/services/{id}/minecraft/player-statsZapnutie a vypnutie grafu hráčov

Zapne alebo vypne zber počtu hráčov. Vypnutie zmaže všetky nazbierané dáta služby (`deleted`). Limit 10 za 10 minút.

Oprávnenie: services:settings

Telo požiadavky (JSON)

NázovTypPovinnéPopis
enabledbooleanáno`true` zapnúť, `false` vypnúť a zmazať dáta.

Ukážka tela

{
  "enabled": false
}

Ukážka odpovede

{
  "ok": true,
  "enabled": false,
  "deleted": 2016
}

Možné chyby

  • 400INVALID Neplatné telo požiadavky.
  • 503unavailable Graf hráčov zatiaľ nie je k dispozícii.
  • 429 Príliš veľa požiadaviek, skúste to o chvíľu.
GET/services/{id}/minecraft/playersHráči, whitelist, operátori a bany

Vráti whitelist, operátorov, bany a bany IP zo súborov servera, nastavenia zo server.properties a online hráčov (len s oprávnením Konzola). S `lookup` overí nick u Mojangu.

Oprávnenie: services:settings

Parametre v adrese

NázovTypPovinnéPopis
lookupstringnieNick hráča na overenie, vráti `{ lookup: { query, found, name, uuid } }` (oprávnenie Konzola).

Ukážka odpovede

{
  "power": "running",
  "busy": null,
  "canConsole": true,
  "version": "1.21.4",
  "settings": {
    "whitelist": true,
    "enforceWhitelist": false,
    "onlineMode": true,
    "opLevel": 4,
    "propsMissing": false
  },
  "propsInvalid": false,
  "floodgatePrefix": null,
  "online": {
    "online": 1,
    "max": 20,
    "players": [
      {
        "name": "Steve",
        "uuid": "0f3c1e2a-4b5d-4c6e-8f70-1a2b3c4d5e6f"
      }
    ],
    "truncated": false,
    "source": "console",
    "at": "2026-11-07T10:15:00.000Z"
  },
  "onlineError": null,
  "onlineErrorMsg": null,
  "lists": {
    "whitelist": {
      "status": "ok",
      "entries": [
        {
          "uuid": "0f3c1e2a-4b5d-4c6e-8f70-1a2b3c4d5e6f",
          "name": "Steve"
        }
      ]
    },
    "ops": {
      "status": "ok",
      "entries": [
        {
          "uuid": "0f3c1e2a-4b5d-4c6e-8f70-1a2b3c4d5e6f",
          "name": "Steve",
          "level": 4,
          "bypassesPlayerLimit": false
        }
      ]
    },
    "bans": {
      "status": "absent",
      "entries": []
    },
    "ipBans": {
      "status": "absent",
      "entries": []
    }
  },
  "known": [],
  "owner": true
}

Možné chyby

  • 400INVALID_NICK Neplatný nick v `lookup`.
  • 403FORBIDDEN `lookup` bez oprávnenia Konzola.
  • 503MOJANG_BUSY Overenie u Mojangu teraz nejde, skúste to o minútu.
  • 412 Server teraz nie je dostupný v hernom paneli (hláška `panel.unavailable` v poli `msg`).
  • 429 Príliš veľa požiadaviek, skúste to o chvíľu.
POST/services/{id}/minecraft/playersWhitelist, operátori, bany a kick

Na bežiacom serveri vykoná zmenu príkazom, na vypnutom úpravou súboru (`mode`). Pri zdieľanej službe je potrebné oprávnenie Konzola; limit 30 zmien za 10 minút na službu a 60 na zákazníka.

Oprávnenie: services:settings

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringáno`whitelist-add`, `whitelist-remove`, `whitelist-toggle`, `op`, `deop`, `ban`, `pardon`, `pardon-ip`, `kick`, `bedrock-whitelist-add` alebo `bedrock-whitelist-remove`.
nickstringnieNick hráča (najviac 40 znakov); pri akciách `bedrock-*` meno hráča Bedrocku.
uuidstringnieUUID zo zoznamu, na odobratie na vypnutom serveri aj bez platného nicku.
levelintegernie`op`: úroveň operátora 1–4.
bypassesPlayerLimitbooleannie`op`: operátor sa pripojí aj na plný server.
reasonstringnie`ban` a `kick`: dôvod (najviac 200 znakov).
ipstringnie`pardon-ip`: zabanovaná IP adresa.
enabledbooleannie`whitelist-toggle` (povinné): zapnúť alebo vypnúť whitelist.

Ukážka tela

{
  "action": "op",
  "nick": "Steve",
  "level": 4
}

Ukážka odpovede

{
  "ok": true,
  "mode": "command",
  "result": "done",
  "player": {
    "name": "Steve",
    "uuid": "0f3c1e2a-4b5d-4c6e-8f70-1a2b3c4d5e6f"
  }
}

Možné chyby

  • 400INVALID Neplatné telo požiadavky.
  • 400INVALID_NICK Neplatný nick alebo UUID.
  • 400INVALID_REASON Neplatný dôvod.
  • 400INVALID_IP Neplatná IP adresa.
  • 409NOT_RUNNING Akcia potrebuje bežiaci server (napr. `kick`).
  • 409PLAYER_OFFLINE Hráč nie je online.
  • 409NO_FLOODGATE Akcie `bedrock-*` potrebujú Floodgate.
  • 409CONFLICT Súbor sa medzitým zmenil, skúste to znova.
  • 409JOB Na serveri beží iná zmena.
  • 422PLAYER_UNKNOWN Hráč s týmto nickom neexistuje.
  • 429RATE_LIMITED Prekročený limit zmien, skúste to neskôr.
  • 503MOJANG_BUSY Overenie u Mojangu teraz nejde.
GET/services/{id}/minecraft/pluginsPluginy a módy servera

Bez parametrov vypíše nainštalované pluginy alebo módy a `restartRequired`. Prepínače `search`, `versions`, `plan` a `updates` stačí uviesť bez hodnoty (napr. `?search&source=modrinth&q=maps`); `op` vráti stav inštalácie na pozadí.

Oprávnenie: services:files

Parametre v adrese

NázovTypPovinnéPopis
searchflagnieHľadanie v katalógu (so `source`, `q`, `offset`).
versionsflagnieKompatibilné verzie projektu (so `source`, `project`).
planflagnieNáhľad inštalácie so závislosťami bez zápisu (so `source`, `project`, `version`, `deps`).
updatesflagnieNovšie verzie súborov nainštalovaných cez portál.
sourcestringnie`modrinth` alebo `hangar` (Hangar len pre pluginy).
qstringnieHľadaný text.
offsetintegerniePosun vo výsledkoch hľadania.
projectstringnieID alebo slug projektu (1–64 znakov).
versionstringnieS `plan`: ID verzie, inak najnovšia kompatibilná.
depsstringnieS `plan`: `0` bez závislostí.
opstringnieID operácie (UUID) z odpovede POST s 202.

Ukážka odpovede

{
  "context": {
    "type": "paper",
    "kind": "plugins",
    "gameVersion": "1.21.4",
    "versionKnown": true,
    "versionSource": "metadata",
    "dir": "/plugins"
  },
  "sources": [
    "modrinth",
    "hangar"
  ],
  "maxBytes": 104857600,
  "items": [
    {
      "file": "ExamplePlugin-1.2.0.jar",
      "filename": "ExamplePlugin-1.2.0.jar",
      "enabled": true,
      "size": 512000,
      "modifiedAt": 1730970000,
      "managed": true,
      "source": "modrinth",
      "projectId": "AbCdEf12",
      "title": "Example Plugin",
      "icon": null,
      "url": "https://modrinth.com/plugin/example-plugin",
      "versionId": "XyZ98765",
      "versionName": "1.2.0",
      "publishedAt": "2026-11-07T10:15:00.000Z",
      "installedAt": "2026-11-07T10:15:00.000Z",
      "installedByYou": true,
      "dependencyOf": null,
      "unverified": true,
      "fromModpack": null,
      "dataFolder": "ExamplePlugin"
    }
  ],
  "dataFolders": [
    "ExamplePlugin"
  ],
  "folderExists": true,
  "changedAt": "2026-11-07T10:15:00.000Z",
  "restartRequired": true,
  "serverState": "running",
  "jobRunning": false,
  "op": null
}

Možné chyby

  • 400BAD_REQUEST Neznámy zdroj, projekt alebo verzia.
  • 400UNSUPPORTED_TYPE Typ servera nepodporuje pluginy ani módy (Vanilla).
  • 404OP_NOT_FOUND Operácia neexistuje alebo už vypršala.
  • 429RATE_LIMITED Limit dopytov na katalógy: 60 za minútu.
  • 502SOURCE_ERROR Katalóg teraz neodpovedá.
POST/services/{id}/minecraft/pluginsInštalácia a správa pluginov a módov

`install` a `update` bežia na pozadí: hotová odpoveď príde do 40 s, inak 202 s `pending: true` a `op`, stav potom čítajte cez `GET ?op=`. Zmeny sa prejavia po reštarte servera; limit 20 zmien za 10 minút na službu.

Oprávnenie: services:files

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringáno`install`, `update`, `remove` alebo `toggle`.
sourcestringnie`install`: `modrinth` alebo `hangar`.
projectstringnie`install`: ID alebo slug projektu.
versionstringnie`install` a `update`: ID verzie, inak najnovšia kompatibilná.
dependenciesbooleannie`install`: nainštalovať aj povinné závislosti, predvolene `true`.
skipstring[]nie`install`: ID závislostí, ktoré sa vynechajú (najviac 50).
replacebooleannie`install`: nahradiť konfliktné súbory, predvolene `false`.
filestringnie`update`, `remove`, `toggle`: názov súboru z výpisu (najviac 255 znakov).
dataFolderstringnie`remove`: zmazať aj priečinok s dátami pluginu (názov z `dataFolders`).
enabledbooleannie`toggle` (povinné): zapnúť alebo vypnúť súbor.

Ukážka tela

{
  "action": "install",
  "source": "modrinth",
  "project": "example-plugin",
  "dependencies": true
}

Ukážka odpovede

{
  "ok": true,
  "op": {
    "id": "3f1c2a7e-9b4d-4e21-8c3a-5d6e7f809a1b",
    "action": "install",
    "status": "done",
    "step": "Hotovo",
    "stepMsg": {
      "key": "plugin.step.done"
    },
    "startedAt": "2026-11-07T10:15:00.000Z",
    "finishedAt": "2026-11-07T10:15:12.000Z",
    "result": {
      "installed": [
        {
          "file": "ExamplePlugin-1.2.0.jar",
          "title": "Example Plugin",
          "versionName": "1.2.0",
          "role": "target"
        }
      ],
      "removed": [],
      "skipped": [],
      "missing": []
    },
    "error": null,
    "errorMsg": null,
    "code": null,
    "data": null
  },
  "result": {
    "installed": [
      {
        "file": "ExamplePlugin-1.2.0.jar",
        "title": "Example Plugin",
        "versionName": "1.2.0",
        "role": "target"
      }
    ],
    "removed": [],
    "skipped": [],
    "missing": []
  }
}

Možné chyby

  • 400BAD_REQUEST Neplatné telo požiadavky alebo označenie projektu či verzie.
  • 404NOT_FOUND Súbor alebo projekt sa nenašiel.
  • 404NO_VERSION Žiadna kompatibilná verzia.
  • 409JOB_RUNNING Na serveri beží iná zmena.
  • 409INSTALLING Server sa práve inštaluje.
  • 409EXISTS Súbor už existuje, použite `replace`.
  • 409UP_TO_DATE Súbor už má najnovšiu verziu.
  • 413TOO_LARGE Súbor je väčší ako 100 MB.
  • 422INCOMPATIBLE Verzia nie je pre tento server.
  • 422EXTERNAL Projekt sa dá stiahnuť len zo stránky autora.
  • 429RATE_LIMITED Limit 20 zmien za 10 minút.
  • 502SOURCE_ERROR Katalóg teraz neodpovedá.
GET/services/{id}/minecraft/propertiesObsah server.properties

Vráti server.properties ako text aj ako zoznam kľúčov s `etag` na uloženie. Tajné hodnoty (heslá RCON a Management Protocolu) sú zamaskované; `reveal` jednu odhalí, len s oprávnením Tajné údaje.

Oprávnenie: services:settings

Parametre v adrese

NázovTypPovinnéPopis
revealstringnie`rcon.password`, `management-server-secret` alebo `management-server-tls-keystore-password`; vráti `{ key, value }`.

Ukážka odpovede

{
  "locked": [
    "server-ip",
    "server-port",
    "query.port"
  ],
  "secretKeys": [
    "rcon.password",
    "management-server-secret",
    "management-server-tls-keystore-password"
  ],
  "privilegedKeys": [
    "enable-rcon",
    "rcon.port",
    "management-server-enabled",
    "management-server-host",
    "management-server-port",
    "management-server-tls-enabled",
    "management-server-tls-keystore",
    "management-server-allowed-origins"
  ],
  "allocationPorts": [
    25565,
    25566
  ],
  "canSecrets": true,
  "canPower": true,
  "jobActive": false,
  "exists": true,
  "etag": "9b1f0c2d4e6a8b0c1d2e3f4a5b6c7d8e9f0a1b2c",
  "raw": "motd=A Minecraft Server\nmax-players=20\nrcon.password=********\n",
  "entries": [
    {
      "key": "motd",
      "value": "A Minecraft Server"
    },
    {
      "key": "max-players",
      "value": "20"
    },
    {
      "key": "rcon.password",
      "value": "********"
    }
  ]
}

Možné chyby

  • 400 Neznámy kľúč v `reveal`.
  • 403 `reveal` bez oprávnenia Tajné údaje.
  • 422 Súbor je príliš veľký alebo nie je textový.
  • 412 Server teraz nie je dostupný v hernom paneli (hláška `panel.unavailable` v poli `msg`).
  • 429 Príliš veľa požiadaviek, skúste to o chvíľu.
POST/services/{id}/minecraft/propertiesUloženie server.properties

Uloží jednotlivé kľúče (`fields`) alebo celý súbor (`raw`), vždy s `etag` z GET. Zamknuté kľúče (IP a porty) sa nemenia, tajné a vzdialenú správu mení len oprávnenie Tajné údaje. Zmeny sa prejavia po reštarte, `restart: true` ho hneď vykoná (oprávnenie Napájanie).

Oprávnenie: services:settings

Telo požiadavky (JSON)

NázovTypPovinnéPopis
etagstringáno`etag` z GET; keď súbor neexistuje, `absent`.
fieldsobjectnieKľúč na hodnotu (string, číslo alebo boolean). Nejde spolu s `raw`.
rawstringnieCelý obsah súboru (najviac 80 000 znakov, výsledok do 64 KB). Zamknuté a tajné kľúče sa vrátia na pôvodnú hodnotu.
createbooleannieZaložiť súbor z predvolených hodnôt, keď ešte neexistuje.
restartbooleanniePo uložení reštartovať bežiaci server.

Ukážka tela

{
  "etag": "9b1f0c2d4e6a8b0c1d2e3f4a5b6c7d8e9f0a1b2c",
  "fields": {
    "motd": "Vítejte",
    "max-players": 30
  },
  "restart": true
}

Ukážka odpovede

{
  "ok": true,
  "unchanged": false,
  "etag": "0c1d2e3f4a5b6c7d8e9f0a1b2c9b1f0c2d4e6a8b",
  "changed": [
    "motd",
    "max-players"
  ],
  "restored": [],
  "restarted": true,
  "restartError": null,
  "restartErrorMsg": null
}

Možné chyby

  • 400 Neplatné telo požiadavky (hláška v poli `msg`).
  • 400UNKNOWN_KEY Kľúč nejde meniť cez `fields` (pole `key`).
  • 400LOCKED Kľúč je zamknutý (pole `key`).
  • 400INVALID Neplatná hodnota kľúča (pole `key`).
  • 400RAW_INVALID Text súboru je príliš dlhý alebo obsahuje nepovolené znaky.
  • 403SECRETS Zmena tajnej hodnoty alebo vzdialenej správy bez oprávnenia Tajné údaje.
  • 403 `restart` bez oprávnenia Napájanie.
  • 409CONFLICT Súbor sa medzitým zmenil, načítajte nový `etag`.
  • 409NO_FILE Súbor neexistuje, pošlite `create: true`.
  • 409 Na serveri beží zmena (job).
  • 412 Server teraz nie je dostupný v hernom paneli (hláška `panel.unavailable` v poli `msg`).
GET/services/{id}/minecraft/softwareSoftvér servera a dostupné verzie

Bez parametrov vráti typ a verziu servera, históriu zmien, bežiaci job, sloty záloh, EULA a oprávnenia. `versions` a `builds` vypíšu verzie a buildy typu, `preview` ukáže dopad zmeny (Java, obraz, disk, varovania) bez zápisu.

Oprávnenie: services:settings

Parametre v adrese

NázovTypPovinnéPopis
versionsstringnieTyp servera: `paper`, `purpur`, `folia`, `vanilla`, `fabric`, `forge` alebo `neoforge`; vráti až 250 verzií.
prereleasestringnieS `versions`: `1` pridá predbežné verzie.
buildsstringnieTyp servera; s `version` vráti až 100 buildov.
previewstringnieTyp servera pre náhľad zmeny (s `version`, `build`).
versionstringnieVerzia Minecraftu (pri `preview` predvolene `latest`).
buildstringnieS `preview`: konkrétny build alebo verzia loadera.
unstablestringnie`1` povolí nestabilné buildy (`builds`, `preview`).

Ukážka odpovede

{
  "state": {
    "type": "paper",
    "version": "1.21.4",
    "build": "232",
    "loaderVersion": null,
    "javaMajor": 21,
    "launch": {
      "kind": "jar",
      "file": "server.jar"
    },
    "history": [],
    "importedAt": null,
    "installedAt": "2026-11-07T10:15:00.000Z"
  },
  "job": null,
  "jobActive": false,
  "server": {
    "memoryMib": 8192,
    "diskMib": 40960,
    "javaMajor": 21,
    "imageOfficial": true,
    "busy": null
  },
  "panelError": null,
  "clientError": null,
  "backups": {
    "used": 1,
    "limit": 3
  },
  "diskFreeMb": 35200,
  "diskFreeUnknown": false,
  "eula": {
    "accepted": true,
    "acceptedAt": "2026-11-07T10:15:00.000Z"
  },
  "importSuggestion": null,
  "perms": {
    "change": true,
    "import": true,
    "eula": true,
    "power": true,
    "skipBackup": true
  },
  "types": [
    "paper",
    "purpur",
    "folia",
    "vanilla",
    "fabric",
    "forge",
    "neoforge"
  ]
}

Možné chyby

  • 400 Neznámy typ, verzia alebo build (hláška v poli `msg`).
  • 422 Verziu alebo build nejde nájsť.
  • 502 Zdroj verzií teraz neodpovedá.
  • 412 Server teraz nie je dostupný v hernom paneli (hláška `panel.unavailable` v poli `msg`).
  • 429 Príliš veľa požiadaviek, skúste to o chvíľu.
POST/services/{id}/minecraft/softwareZmena typu a verzie servera

`switch` a `reinstall` spustí job (202), priebeh sledujte cez minecraft/job: server sa vypne, zálohuje, nainštaluje sa nový softvér a bežiaci server sa znova spustí. Potrebuje voľný slot záloh (inak `skipBackup`, len vlastník) a dá sa spustiť najviac 3× za hodinu. `import` len zapíše, aký softvér už na serveri je, nič nemení.

Oprávnenie: services:settings

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringáno`switch`, `reinstall` alebo `import`.
typestringnie`switch` a `import`: `paper`, `purpur`, `folia`, `vanilla`, `fabric`, `forge` alebo `neoforge`.
versionstringnie`switch` a `import`: verzia Minecraftu (1–40 znakov), pri `switch` ide aj `latest`.
buildstringnieBuild alebo verzia loadera, inak najnovšia stabilná.
allowUnstablebooleannie`switch`: povoliť nestabilný build.
modestringnie`switch`: `keep` (predvolené, nič nemazať), `clean` (zmazať všetko okrem sveta, nastavení a zoznamov hráčov) alebo `wipe` (zmazať všetko).
acceptEulabooleannie`switch` a `reinstall`: prijať EULA.
confirmDowngradebooleannie`switch`: potvrdiť prechod na staršiu alebo neznámu verziu.
skipBackupbooleannie`switch` a `reinstall`: bez zálohy, len vlastník.

Ukážka tela

{
  "action": "switch",
  "type": "paper",
  "version": "1.21.4",
  "mode": "keep",
  "acceptEula": true
}

Ukážka odpovede

{
  "ok": true,
  "job": {
    "id": "k3j9x2m1q8",
    "kind": "switch",
    "status": "queued",
    "step": "queued",
    "log": [],
    "startedAt": "2026-11-07T10:15:00.000Z",
    "updatedAt": "2026-11-07T10:15:00.000Z",
    "error": null,
    "errorMsg": null,
    "progress": null
  },
  "warnings": []
}

Možné chyby

  • 400 Neplatné telo požiadavky (hláška v poli `msg`).
  • 403 Zmena potrebuje oprávnenie Nastavenia, Súbory a Napájanie.
  • 403SKIP_BACKUP_OWNER `skipBackup` smie len vlastník.
  • 409JOB_RUNNING Na serveri už beží iný job.
  • 409ADDON_RUNNING Prebieha inštalácia pluginu alebo módu.
  • 409BACKUP_SLOT Sloty záloh sú plné.
  • 409BACKUP_DISABLED Služba nemá zálohy, zmena ide len so `skipBackup`.
  • 409DISK Na disku je málo miesta (`details.freeMb`, `details.needMb`).
  • 409DOWNGRADE Staršia verzia, potvrďte `confirmDowngrade`.
  • 409UNKNOWN_VERSION Aktuálna verzia nie je známa, potvrďte `confirmDowngrade`.
  • 409NOT_IMPORTED `reinstall` bez známeho softvéru, najprv `import` alebo `switch`.
  • 409INSTALLING Server sa inštaluje alebo obnovuje zo zálohy.
  • 422NEED_BUILD `import`: pri Forge a NeoForge doplňte `build`.
  • 429 Najviac 3 zmeny za hodinu.
GET/services/{id}/minecraft/startupSpúšťací príkaz a pamäť

Vráti aktuálny spúšťací príkaz, veľkosť haldy, dostupné presety JVM s náhľadom haldy, uložený stav a riziko pádu na pamäť. S `java=1` navyše verzie Javy, ktoré server ponúka.

Oprávnenie: services:settings

Parametre v adrese

NázovTypPovinnéPopis
javastringnie`1` pridá `javaOptions` (verzie Javy, ktoré egg ponúka).

Ukážka odpovede

{
  "type": "paper",
  "imported": true,
  "javaMajor": 21,
  "arch": "x86_64",
  "envPrefix": true,
  "memoryMib": 8192,
  "launch": {
    "kind": "jar",
    "file": "server.jar"
  },
  "command": "java -Xms6656M -Xmx6656M -XX:+UseG1GC -jar server.jar nogui",
  "heapMb": 6656,
  "addons": 12,
  "modpack": false,
  "presets": [
    {
      "preset": "standard",
      "heapMb": 6656,
      "isDefault": true,
      "vectors": true
    },
    {
      "preset": "zgc",
      "heapMb": 5888,
      "isDefault": false,
      "vectors": true
    },
    {
      "preset": "none",
      "heapMb": 6656,
      "isDefault": false,
      "vectors": true
    }
  ],
  "defaultPreset": "standard",
  "vectors": true,
  "memory": null,
  "stored": {
    "preset": "standard",
    "heapMb": 6656,
    "memoryMib": 8192,
    "vectors": true,
    "extraFlags": [],
    "appliedAt": "2026-11-07T10:15:00.000Z",
    "custom": false,
    "hasPrevious": true,
    "check": null
  },
  "lastSync": null,
  "managed": true,
  "matchesStored": true,
  "drifted": false,
  "needsSync": false,
  "busy": null,
  "jobActive": false,
  "canPower": true,
  "canExtraFlags": true,
  "canJava": true
}

Možné chyby

  • 502 Herný panel teraz neodpovedá.
  • 429 Príliš veľa požiadaviek, skúste to o chvíľu.
POST/services/{id}/minecraft/startupZmena spúšťacieho príkazu alebo Javy

Bez `action` (alebo `apply`) použije preset JVM, `recalculate` prepočíta haldu podľa aktuálnej pamäte, `revert` vráti predchádzajúci príkaz, `java` prepne obraz na inú Javu bez reinštalácie. Zmena platí od ďalšieho štartu, `restart: true` server hneď reštartuje (oprávnenie Napájanie).

Oprávnenie: services:settings

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringnie`apply` (predvolené), `recalculate`, `revert` alebo `java`.
presetstringnie`apply` (povinné): `standard`, `zgc` (Java 21+), `proxy` alebo `none`.
extraFlagsstring | string[]nie`apply`: vlastné JVM flagy (text do 4000 znakov alebo až 60 položiek); nové flagy len s oprávnením Napájanie.
dryRunbooleannie`apply`: len zostaviť príkaz a nič neuložiť.
majorintegernie`java` (povinné): hlavná verzia Javy 8–99.
restartbooleanniePo zmene reštartovať (vypnutý server zapnúť).

Ukážka tela

{
  "preset": "standard",
  "extraFlags": [],
  "restart": true
}

Ukážka odpovede

{
  "ok": true,
  "command": "java -Xms6656M -Xmx6656M -XX:+UseG1GC -jar server.jar nogui",
  "heapMb": 6656,
  "preset": "standard",
  "restarted": true,
  "restartError": null,
  "restartErrorMsg": null
}

Možné chyby

  • 400 Neplatné telo požiadavky (hláška v poli `msg`).
  • 403EXTRA_FLAGS_PERMISSION Nové vlastné flagy bez oprávnenia Napájanie (pole `token`).
  • 403 `restart` alebo `java` bez potrebných oprávnení.
  • 409NEED_IMPORT Softvér servera nie je nastavený.
  • 409NO_MEMORY_LIMIT Server nemá limit pamäte.
  • 409CHANGED Startup sa medzitým zmenil.
  • 409 Na serveri beží zmena softvéru alebo inštalácia.
  • 422PRESET Preset nie je pre túto Javu.
  • 422EXTRA_FLAGS Nepovolený flag (pole `token`).
  • 422TOO_OLD `java`: verzia je pre verziu Minecraftu príliš stará.
  • 422NO_IMAGE `java`: pre túto Javu nie je obraz.
  • 429 Limit: použitie presetu 10 za hodinu, prepnutie Javy 3 za hodinu.
GET/services/{id}/minecraft/textFarebný nick a prefix: možnosti

Vráti, či server beží, éru syntaxe textu podľa verzie a ktoré pluginy (EssentialsX, LuckPerms, TAB) sú nainštalované. Pri zdieľanej službe je potrebné oprávnenie Konzola.

Oprávnenie: services:settings

Ukážka odpovede

{
  "running": true,
  "state": "running",
  "version": "1.21.4",
  "era": "components",
  "eraKnown": true,
  "plugins": {
    "essentials": true,
    "luckperms": true,
    "tab": false
  }
}

Možné chyby

  • 412 Server teraz nie je dostupný v hernom paneli (hláška `panel.unavailable` v poli `msg`).
  • 429 Príliš veľa požiadaviek, skúste to o chvíľu.
POST/services/{id}/minecraft/textNastavenie farebného textu na serveri

Zo `spans` alebo `doc` zostaví na serveri príkaz (nick EssentialsX, prefix LuckPerms alebo TAB, menovka, tellraw) a pošle ho do konzoly bežiaceho servera. Limit 20 za 10 minút.

Oprávnenie: services:settings

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringáno`essentials-nick`, `lp-prefix`, `tab-prefix`, `give-nametag` alebo `tellraw`.
targetstringánoHráč alebo skupina (1–36 znakov); pri `tellraw` aj `@a`.
targetKindstringnie`lp-prefix` a `tab-prefix`: `group` (predvolené) alebo `player`.
priorityinteger | nullnie`lp-prefix`: priorita 0–1000.
prefixFormatstringnie`lp-prefix`: `ampHex` (predvolené), `amp`, `minimessage` alebo `bungeeHex`.
tabFieldstringnie`tab-prefix`: `tabprefix` (predvolené) alebo `tagprefix`.
tabFormatstringnie`tab-prefix`: `tabGradient` (predvolené), `ampHex` alebo `minimessage`.
erastringnieÉra syntaxe (`legacy`, `json`, `jsonHex`, `components`, `snbt`), použije sa len pri neznámej verzii servera.
spansobject[]nieÚseky `{ text, color: "#rrggbb" | null, bold?, italic?, underlined?, strikethrough?, obfuscated? }`, najviac 200. Pošlite buď `spans`, alebo `doc`.
docobjectnie`{ segments: [{ text, fill, … }] }`, kde `fill` je `{ kind: "solid", color }`, `{ kind: "gradient", colors: [2–5 farieb] }` alebo `{ kind: "rainbow" }`.

Ukážka tela

{
  "action": "lp-prefix",
  "target": "vip",
  "targetKind": "group",
  "priority": 50,
  "doc": {
    "segments": [
      {
        "text": "[VIP] ",
        "fill": {
          "kind": "solid",
          "color": "#ffaa00"
        },
        "bold": true
      }
    ]
  }
}

Ukážka odpovede

{
  "ok": true,
  "command": "lp group vip meta setprefix 50 \"&#FFAA00&l[VIP] \"",
  "warnings": [],
  "delivered": null
}

Možné chyby

  • 400INVALID Neplatné telo požiadavky.
  • 400TARGET Neplatný hráč alebo skupina.
  • 400PRIORITY Priorita musí byť celé číslo 0–1000.
  • 400EMPTY Text je prázdny.
  • 400TOO_LONG Text je príliš dlhý (nick najviac 64 znakov, ostatné 256).
  • 400TOO_MANY_PARTS Text má príliš veľa farebných úsekov.
  • 409JOB Na serveri beží zmena (job).
  • 409 Server nebeží.
  • 429RATE_LIMITED Prekročený limit zmien, skúste to neskôr.
  • 412 Server teraz nie je dostupný v hernom paneli (hláška `panel.unavailable` v poli `msg`).
GET/services/{id}/minecraft/worldsSvety servera a pripravené stiahnutia

Vráti aktívny a uložené svety (najviac 5), pripravené stiahnutia, bežiaci job sveta, sloty záloh a stav servera.

Oprávnenie: services:files

Ukážka odpovede

{
  "active": "world",
  "activeValid": true,
  "worlds": [
    {
      "name": "world",
      "active": true,
      "exists": true,
      "extraFolders": [],
      "version": "1.21.4",
      "mtime": 1730970000,
      "seed": null,
      "createdAt": null
    },
    {
      "name": "creative",
      "active": false,
      "exists": true,
      "extraFolders": [],
      "version": "1.21.4",
      "mtime": 1730800000,
      "seed": "12345",
      "createdAt": "2026-11-01T18:00:00.000Z"
    }
  ],
  "unchecked": 0,
  "maxWorlds": 5,
  "exports": [
    {
      "id": "a1b2c3d4e5",
      "world": "world",
      "status": "ready",
      "createdAt": "2026-11-07T10:15:00.000Z",
      "expiresAt": "2026-11-07T12:15:00.000Z",
      "bytes": 104857600,
      "error": null,
      "errorMsg": null
    }
  ],
  "job": null,
  "jobOther": false,
  "backups": {
    "used": 1,
    "limit": 3,
    "free": true
  },
  "power": "running",
  "busy": null,
  "version": "1.21.4",
  "uploadMaxMb": 95,
  "canPower": true
}

Možné chyby

  • 412NO_PANEL Server teraz nie je dostupný v hernom paneli.
  • 429 Príliš veľa požiadaviek, skúste to o chvíľu.
POST/services/{id}/minecraft/worldsStiahnutie, prepnutie, zmazanie a nový svet

`export` pripraví archív sveta na pozadí (202), stiahnete ho cez worlds/download, najviac 3× za hodinu. `switch` a `reset` spustí job (202, priebeh cez minecraft/job), server sa počas neho vypne a potom znova zapne; `delete` uložený svet natrvalo zmaže. Okrem `export` je potrebné aj oprávnenie Napájanie; zmeny najviac 10× za hodinu.

Oprávnenie: services:files

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringáno`export`, `switch`, `delete` alebo `reset`.
worldstringnie`export`, `switch`, `delete`: názov sveta z výpisu (1–64 znakov).
oldstringnie`reset` (povinné): `delete` starý svet zmazať, `keep` ponechať ako uložený.
keepAsstringnie`reset` s `keep`: nový názov starého sveta (1–32 znakov A–Z, a–z, 0–9, _ a -).
seedstringnie`reset`: seed nového sveta (najviac 128 znakov), prázdny = náhodný.
levelTypestringnie`reset`: `normal` (predvolené), `flat`, `large_biomes` alebo `amplified`.
structuresbooleannie`reset`: generovať stavby, predvolene `true`.
confirmNoBackupbooleannie`reset` s `delete`: potvrdiť zmazanie bez zálohy, keď nie je voľný slot záloh.

Ukážka tela

{
  "action": "reset",
  "old": "keep",
  "keepAs": "stary_svet",
  "seed": "",
  "levelType": "normal",
  "structures": true
}

Ukážka odpovede

{
  "ok": true,
  "job": {
    "id": "k3j9x2m1q8",
    "kind": "world-reset",
    "status": "queued",
    "step": "queued",
    "log": [],
    "startedAt": "2026-11-07T10:15:00.000Z",
    "updatedAt": "2026-11-07T10:15:00.000Z",
    "error": null,
    "errorMsg": null,
    "progress": null
  }
}

Možné chyby

  • 400INVALID Neplatné telo požiadavky.
  • 400BAD_NAME Neplatný názov sveta.
  • 400RESERVED_NAME Názov patrí priečinku servera.
  • 400BAD_SEED Neplatný seed.
  • 403FORBIDDEN Chýba oprávnenie Napájanie.
  • 404NO_SUCH_WORLD Svet na serveri nie je.
  • 409ACTIVE_WORLD Svet je práve aktívny.
  • 409NAME_TAKEN Priečinok s týmto názvom už existuje.
  • 409TOO_MANY_WORLDS Na serveri môže byť najviac 5 svetov.
  • 409NEEDS_CONFIRM Starý svet sa zmaže bez zálohy, pošlite `confirmNoBackup: true`.
  • 409JOB_RUNNING Na serveri už beží iná zmena.
  • 409EXPORT_RUNNING Stiahnutie sveta sa už pripravuje.
  • 409DISK Na disku servera je málo miesta.
  • 409STATE Server sa práve zapína alebo vypína.
  • 429RATE_LIMITED Prekročený limit zmien, skúste to neskôr.
  • 412NO_PANEL Server teraz nie je dostupný v hernom paneli.
GET/services/{id}/minecraft/worlds/downloadStiahnutie pripraveného sveta

Stiahne archív pripravený akciou `export` (ZIP alebo tar.gz). Po úplnom stiahnutí sa archív na serveri zmaže; naraz ide jedno sťahovanie na službu, najviac 10 za hodinu.

Oprávnenie: services:files

Parametre v adrese

NázovTypPovinnéPopis
idstringáno`id` stiahnutia z `exports` (10 hex znakov).
formatstringnie`zip` (predvolené) alebo `tar.gz`.

Ukážka odpovede

HTTP/1.1 200 OK
Content-Type: application/zip
Content-Disposition: attachment; filename="world-2026-11-07.zip"

(binary archive)

Možné chyby

  • 400INVALID Chýba alebo je neplatné `id`.
  • 404EXPORT_GONE Stiahnutie už nie je pripravené, pripravte ho znova.
  • 429DOWNLOAD_BUSY Sťahovanie už prebieha.
  • 429RATE_LIMITED Príliš veľa stiahnutí.
  • 412NO_PANEL Server teraz nie je dostupný v hernom paneli.

Domény

POST/services/{id}/domain/auth-infoOdoslať AUTH-ID na prevod domény

Požiada registrátora, aby poslal AUTH-ID (kód na prevod domény k inému registrátorovi) e-mailom držiteľovi domény. Kód sa v odpovedi nevracia. Môže len vlastník domény, najviac 3-krát za hodinu. Oprávnenie services:secrets možno dať len kľúču obmedzenému na IP adresy.

Oprávnenie: services:secrets

Telo požiadavky (JSON)

NázovTypPovinnéPopis
localestringnieJazyk chybových hlásení: cs, en, sk, pl alebo de. Predvolený je cs.

Ukážka tela

{
  "locale": "cs"
}

Ukážka odpovede

{
  "ok": true
}

Možné chyby

  • 400invalid Telo požiadavky obsahuje neznáme pole.
  • 403 Akciu môže vykonať len vlastník domény, nie člen zdieľanej služby.
  • 404 Služba neexistuje, nepatrí vám alebo k nej kľúč nemá prístup.
  • 409inactive Doména ešte nie je aktívna.
  • 429 Prekročený limit 3 žiadostí za hodinu.
  • 503unavailable Odoslanie je dočasne nedostupné. Skúste to neskôr.
  • 422failed Registrátor žiadosť odmietol.
GET/services/{id}/domain/connectPlán napojenia domény na službu

Vypočíta DNS záznamy, ktoré nasmerujú doménu alebo subdoménu na vašu VPS alebo herný server (Minecraft, FiveM), a ukáže, čo sa v zóne pridá a čo nahradí. Nič nemení. Pri doméne mimo našich DNS vráti mode manual so záznamami na ručné nastavenie.

Oprávnenie: domains:read

Parametre v adrese

NázovTypPovinnéPopis
servicestringánoID vašej aktívnej VPS alebo herného servera (Minecraft, FiveM). Zdieľané služby nejdú.
hoststringánoMeno v doméne: @ pre samotnú doménu, alebo subdoména (písmená, číslice, pomlčky, bez * a _).
localestringnieJazyk chybových hlásení: cs, en, sk, pl alebo de. Predvolený je cs.

Ukážka odpovede

{
  "mode": "zone",
  "domain": "example.com",
  "host": "@",
  "kind": "vps",
  "records": [
    {
      "type": "A",
      "host": "@",
      "fqdn": "example.com",
      "value": "203.0.113.25",
      "ttl": 300
    },
    {
      "type": "AAAA",
      "host": "@",
      "fqdn": "example.com",
      "value": "2001:db8::25",
      "ttl": 300
    }
  ],
  "notes": [],
  "add": [
    {
      "type": "AAAA",
      "host": "@",
      "fqdn": "example.com",
      "value": "2001:db8::25",
      "ttl": 300
    }
  ],
  "replace": [
    {
      "type": "A",
      "host": "@",
      "fqdn": "example.com",
      "value": "198.51.100.7",
      "ttl": 3600
    }
  ],
  "unchanged": false,
  "withinLimit": true,
  "planHash": "3f9a0c1b2d4e5f60718293ab"
}

Možné chyby

  • 403 Akciu môže vykonať len vlastník domény, nie člen zdieľanej služby.
  • 404 Služba neexistuje, nepatrí vám alebo k nej kľúč nemá prístup.
  • 409inactive Doména ešte nie je aktívna.
  • 400host Neplatné meno: zadajte @ pre samotnú doménu, alebo subdoménu z písmen, číslic a pomlčiek.
  • 404service Služba neexistuje, nepatrí vám, nie je aktívna alebo ju nejde napojiť.
  • 409no_address Služba nemá verejnú adresu, na ktorú by sa dala doména napojiť.
  • 503unavailable Adresu služby alebo stav DNS teraz nejde zistiť.
  • 429 Prekročený limit 60 požiadaviek za 10 minút.
POST/services/{id}/domain/connectNapojiť doménu na službu

Založí v zóne záznamy z plánu (A, AAAA, pri Minecrafte aj SRV _minecraft._tcp, TTL 300). Pošlite planHash z GET; keď plán nahrádza existujúce záznamy, treba confirm: true. Len pre doménu na našich DNS.

Oprávnenie: domains:write

Telo požiadavky (JSON)

NázovTypPovinnéPopis
serviceIdstringánoID vašej aktívnej VPS alebo herného servera, rovnaké ako v GET.
hoststringánoMeno v doméne, rovnaké ako v GET (@ alebo subdoména).
planHashstringánoOdtlačok plánu z GET (24 hex znakov). Keď sa zóna medzitým zmení, vráti sa 409 changed s novým plánom.
confirmbooleanniePotvrdenie, že sa existujúce záznamy z replace nahradia. Povinné, keď replace nie je prázdne.
localestringnieJazyk chybových hlásení: cs, en, sk, pl alebo de. Predvolený je cs.

Ukážka tela

{
  "serviceId": "clx9k2m4p0000svc01abcdef",
  "host": "@",
  "planHash": "3f9a0c1b2d4e5f60718293ab",
  "confirm": true
}

Ukážka odpovede

{
  "ok": true,
  "mode": "zone",
  "domain": "example.com",
  "host": "@",
  "kind": "vps",
  "records": [
    {
      "type": "A",
      "host": "@",
      "fqdn": "example.com",
      "value": "203.0.113.25",
      "ttl": 300
    },
    {
      "type": "AAAA",
      "host": "@",
      "fqdn": "example.com",
      "value": "2001:db8::25",
      "ttl": 300
    }
  ],
  "notes": [],
  "add": [],
  "replace": [],
  "unchanged": true,
  "withinLimit": true,
  "planHash": "3f9a0c1b2d4e5f60718293ab"
}

Možné chyby

  • 400invalid Chýba povinné pole alebo má zlý tvar.
  • 403 Akciu môže vykonať len vlastník domény, nie člen zdieľanej služby.
  • 404 Služba neexistuje, nepatrí vám alebo k nej kľúč nemá prístup.
  • 409inactive Doména ešte nie je aktívna.
  • 400host Neplatné meno: zadajte @ pre samotnú doménu, alebo subdoménu z písmen, číslic a pomlčiek.
  • 404service Služba neexistuje, nepatrí vám, nie je aktívna alebo ju nejde napojiť.
  • 409no_address Služba nemá verejnú adresu, na ktorú by sa dala doména napojiť.
  • 503unavailable Adresu služby alebo stav DNS teraz nejde zistiť.
  • 409manual Doména nepoužíva naše DNS. Záznamy nastavte u svojho DNS poskytovateľa.
  • 409changed Zóna sa od GET zmenila. Odpoveď obsahuje nový plán v poli plan.
  • 409confirm Plán nahrádza existujúce záznamy a chýba confirm: true. Odpoveď obsahuje plán v poli plan.
  • 409limit Zóna by prekročila limit 200 záznamov.
  • 429 Prekročený limit 60 zmien DNS za 10 minút (spoločný so zápismi DNS záznamov).
GET/services/{id}/domain/dnsVýpis DNS záznamov

Vráti záznamy zóny domény na našich DNS (A, AAAA, CNAME, MX, TXT, SRV, CAA), názvové servery a počet záznamov voči limitu 200. delegated: false znamená, že zóna je pripravená, ale doména zatiaľ na naše DNS neukazuje.

Oprávnenie: domains:read

Parametre v adrese

NázovTypPovinnéPopis
localestringnieJazyk chybových hlásení: cs, en, sk, pl alebo de. Predvolený je cs.

Ukážka odpovede

{
  "zone": "example.com",
  "unicode": "example.com",
  "records": [
    {
      "id": "a1b2c3d4e5f60718293a",
      "type": "A",
      "host": "@",
      "ttl": 3600,
      "value": "203.0.113.25",
      "fields": {
        "host": "@",
        "ttl": "3600",
        "address": "203.0.113.25"
      }
    },
    {
      "id": "b2c3d4e5f60718293a4b",
      "type": "MX",
      "host": "@",
      "ttl": 3600,
      "value": "10 mail.example.com",
      "fields": {
        "host": "@",
        "ttl": "3600",
        "preference": "10",
        "exchange": "mail.example.com"
      }
    },
    {
      "id": "c3d4e5f60718293a4b5c",
      "type": "TXT",
      "host": "@",
      "ttl": 3600,
      "value": "v=spf1 mx -all",
      "fields": {
        "host": "@",
        "ttl": "3600",
        "text": "v=spf1 mx -all"
      }
    }
  ],
  "nameservers": [
    "ns1.stormhost.eu",
    "ns2.stormhost.eu"
  ],
  "count": 3,
  "limit": 200,
  "delegated": true
}

Možné chyby

  • 403 Akciu môže vykonať len vlastník domény, nie člen zdieľanej služby.
  • 404 Služba neexistuje, nepatrí vám alebo k nej kľúč nemá prístup.
  • 400 Služba nie je doména.
  • 409inactive Doména ešte nie je aktívna.
  • 409no_zone Doména nemá zónu na našich DNS. Pripravte ju cez domain/zone alebo prepnite názvové servery na naše.
  • 503unavailable DNS server teraz neodpovedá. Skúste to neskôr.
  • 422failed Zmenu sa nepodarilo vykonať.
POST/services/{id}/domain/dnsPridať DNS záznam

Pridá záznam do zóny domény na našich DNS. Všetky hodnoty v record sa posielajú ako text. Odpoveď obsahuje ID nového záznamu a celý nový výpis zóny.

Oprávnenie: domains:write

Telo požiadavky (JSON)

NázovTypPovinnéPopis
recordobjectánoNový záznam.
record.typestringánoTyp záznamu: A, AAAA, CNAME, MX, TXT, SRV alebo CAA.
record.hoststringnieMeno: @ alebo prázdne pre samotnú doménu, relatívne meno (www, _dmarc, *.dev) alebo celé meno končiace doménou.
record.ttlstringnieTTL v sekundách ako text, 60 až 86400. Prázdne = 3600.
record.addressstringnieA: IPv4 adresa, AAAA: IPv6 adresa.
record.targetstringnieCNAME a SRV: cieľové meno (pri SRV aj . = služba nie je dostupná). CNAME nesmie byť na samotnej doméne ani vedľa iného záznamu rovnakého mena.
record.preferencestringnieMX: priorita 0 až 65535 ako text.
record.exchangestringnieMX: meno poštového servera (nie IP adresa).
record.textstringnieTXT: text do 2000 znakov bez riadiacich znakov.
record.prioritystringnieSRV: priorita 0 až 65535 ako text. Meno SRV musí mať tvar _služba._protokol (tcp, udp, tls, sctp).
record.weightstringnieSRV: váha 0 až 65535 ako text.
record.portstringnieSRV: port 0 až 65535 ako text.
record.flagsstringnieCAA: príznak 0 alebo 128 ako text.
record.tagstringnieCAA: issue, issuewild alebo iodef.
record.valuestringnieCAA: pri issue a issuewild doména certifikačnej autority, pri iodef adresa mailto: alebo https:.
localestringnieJazyk chybových hlásení: cs, en, sk, pl alebo de. Predvolený je cs.

Ukážka tela

{
  "record": {
    "type": "MX",
    "host": "@",
    "ttl": "3600",
    "preference": "10",
    "exchange": "mail.example.com"
  }
}

Ukážka odpovede

{
  "ok": true,
  "id": "b2c3d4e5f60718293a4b",
  "zone": "example.com",
  "unicode": "example.com",
  "records": [
    {
      "id": "a1b2c3d4e5f60718293a",
      "type": "A",
      "host": "@",
      "ttl": 3600,
      "value": "203.0.113.25",
      "fields": {
        "host": "@",
        "ttl": "3600",
        "address": "203.0.113.25"
      }
    },
    {
      "id": "b2c3d4e5f60718293a4b",
      "type": "MX",
      "host": "@",
      "ttl": 3600,
      "value": "10 mail.example.com",
      "fields": {
        "host": "@",
        "ttl": "3600",
        "preference": "10",
        "exchange": "mail.example.com"
      }
    },
    {
      "id": "c3d4e5f60718293a4b5c",
      "type": "TXT",
      "host": "@",
      "ttl": 3600,
      "value": "v=spf1 mx -all",
      "fields": {
        "host": "@",
        "ttl": "3600",
        "text": "v=spf1 mx -all"
      }
    }
  ],
  "nameservers": [
    "ns1.stormhost.eu",
    "ns2.stormhost.eu"
  ],
  "count": 3,
  "limit": 200,
  "delegated": true
}

Možné chyby

  • 400 Záznam neprešiel kontrolou. Pole code hovorí prečo (napr. type, host, host_zone, cname_apex, srv_host, ipv4, ipv6, target, text, ttl, caa_flags, caa_tag, caa_value, cname_conflict, duplicate, limit) a pole field, ktorého poľa sa to týka.
  • 403 Akciu môže vykonať len vlastník domény, nie člen zdieľanej služby.
  • 404 Služba neexistuje, nepatrí vám alebo k nej kľúč nemá prístup.
  • 400 Služba nie je doména.
  • 409inactive Doména ešte nie je aktívna.
  • 409no_zone Doména nemá zónu na našich DNS. Pripravte ju cez domain/zone alebo prepnite názvové servery na naše.
  • 503unavailable DNS server teraz neodpovedá. Skúste to neskôr.
  • 422failed Zmenu sa nepodarilo vykonať.
  • 429 Prekročený limit 60 zmien za 10 minút.
PATCH/services/{id}/domain/dnsUpraviť DNS záznam

Upraví záznam podľa ID z výpisu. Vynechané alebo prázdne polia zostanú bez zmeny, typ záznamu zmeniť nejde. ID sa počíta z hodnoty záznamu, takže po zmene mena alebo hodnoty vráti odpoveď nové ID.

Oprávnenie: domains:write

Telo požiadavky (JSON)

NázovTypPovinnéPopis
idstringánoID záznamu z výpisu (20 hex znakov).
recordobjectánoPolia, ktoré sa majú zmeniť (rovnaké ako pri pridaní, bez type).
record.hoststringnieMeno: @ alebo prázdne pre samotnú doménu, relatívne meno (www, _dmarc, *.dev) alebo celé meno končiace doménou.
record.ttlstringnieTTL v sekundách ako text, 60 až 86400. Prázdne = 3600.
record.addressstringnieA: IPv4 adresa, AAAA: IPv6 adresa.
record.targetstringnieCNAME a SRV: cieľové meno (pri SRV aj . = služba nie je dostupná). CNAME nesmie byť na samotnej doméne ani vedľa iného záznamu rovnakého mena.
record.preferencestringnieMX: priorita 0 až 65535 ako text.
record.exchangestringnieMX: meno poštového servera (nie IP adresa).
record.textstringnieTXT: text do 2000 znakov bez riadiacich znakov.
record.prioritystringnieSRV: priorita 0 až 65535 ako text. Meno SRV musí mať tvar _služba._protokol (tcp, udp, tls, sctp).
record.weightstringnieSRV: váha 0 až 65535 ako text.
record.portstringnieSRV: port 0 až 65535 ako text.
record.flagsstringnieCAA: príznak 0 alebo 128 ako text.
record.tagstringnieCAA: issue, issuewild alebo iodef.
record.valuestringnieCAA: pri issue a issuewild doména certifikačnej autority, pri iodef adresa mailto: alebo https:.
localestringnieJazyk chybových hlásení: cs, en, sk, pl alebo de. Predvolený je cs.

Ukážka tela

{
  "id": "a1b2c3d4e5f60718293a",
  "record": {
    "address": "203.0.113.26",
    "ttl": "600"
  }
}

Ukážka odpovede

{
  "ok": true,
  "id": "d4e5f60718293a4b5c6d",
  "zone": "example.com",
  "unicode": "example.com",
  "records": [
    {
      "id": "a1b2c3d4e5f60718293a",
      "type": "A",
      "host": "@",
      "ttl": 3600,
      "value": "203.0.113.25",
      "fields": {
        "host": "@",
        "ttl": "3600",
        "address": "203.0.113.25"
      }
    },
    {
      "id": "b2c3d4e5f60718293a4b",
      "type": "MX",
      "host": "@",
      "ttl": 3600,
      "value": "10 mail.example.com",
      "fields": {
        "host": "@",
        "ttl": "3600",
        "preference": "10",
        "exchange": "mail.example.com"
      }
    },
    {
      "id": "c3d4e5f60718293a4b5c",
      "type": "TXT",
      "host": "@",
      "ttl": 3600,
      "value": "v=spf1 mx -all",
      "fields": {
        "host": "@",
        "ttl": "3600",
        "text": "v=spf1 mx -all"
      }
    }
  ],
  "nameservers": [
    "ns1.stormhost.eu",
    "ns2.stormhost.eu"
  ],
  "count": 3,
  "limit": 200,
  "delegated": true
}

Možné chyby

  • 400 Záznam neprešiel kontrolou. Pole code hovorí prečo (napr. type, host, host_zone, cname_apex, srv_host, ipv4, ipv6, target, text, ttl, caa_flags, caa_tag, caa_value, cname_conflict, duplicate, limit) a pole field, ktorého poľa sa to týka.
  • 404not_found Záznam s týmto ID v zóne nie je (mohol sa medzitým zmeniť).
  • 403 Akciu môže vykonať len vlastník domény, nie člen zdieľanej služby.
  • 404 Služba neexistuje, nepatrí vám alebo k nej kľúč nemá prístup.
  • 400 Služba nie je doména.
  • 409inactive Doména ešte nie je aktívna.
  • 409no_zone Doména nemá zónu na našich DNS. Pripravte ju cez domain/zone alebo prepnite názvové servery na naše.
  • 503unavailable DNS server teraz neodpovedá. Skúste to neskôr.
  • 422failed Zmenu sa nepodarilo vykonať.
  • 429 Prekročený limit 60 zmien za 10 minút.
DELETE/services/{id}/domain/dnsZmazať DNS záznam

Zmaže záznam podľa ID z výpisu. ID sa posiela v JSON tele požiadavky. Odpoveď obsahuje nový výpis zóny.

Oprávnenie: domains:write

Telo požiadavky (JSON)

NázovTypPovinnéPopis
idstringánoID záznamu z výpisu (20 hex znakov).
localestringnieJazyk chybových hlásení: cs, en, sk, pl alebo de. Predvolený je cs.

Ukážka tela

{
  "id": "c3d4e5f60718293a4b5c"
}

Ukážka odpovede

{
  "ok": true,
  "zone": "example.com",
  "unicode": "example.com",
  "records": [
    {
      "id": "a1b2c3d4e5f60718293a",
      "type": "A",
      "host": "@",
      "ttl": 3600,
      "value": "203.0.113.25",
      "fields": {
        "host": "@",
        "ttl": "3600",
        "address": "203.0.113.25"
      }
    },
    {
      "id": "b2c3d4e5f60718293a4b",
      "type": "MX",
      "host": "@",
      "ttl": 3600,
      "value": "10 mail.example.com",
      "fields": {
        "host": "@",
        "ttl": "3600",
        "preference": "10",
        "exchange": "mail.example.com"
      }
    },
    {
      "id": "c3d4e5f60718293a4b5c",
      "type": "TXT",
      "host": "@",
      "ttl": 3600,
      "value": "v=spf1 mx -all",
      "fields": {
        "host": "@",
        "ttl": "3600",
        "text": "v=spf1 mx -all"
      }
    }
  ],
  "nameservers": [
    "ns1.stormhost.eu",
    "ns2.stormhost.eu"
  ],
  "count": 3,
  "limit": 200,
  "delegated": true
}

Možné chyby

  • 400invalid Chýba id alebo má zlý tvar.
  • 404not_found Záznam s týmto ID v zóne nie je.
  • 403 Akciu môže vykonať len vlastník domény, nie člen zdieľanej služby.
  • 404 Služba neexistuje, nepatrí vám alebo k nej kľúč nemá prístup.
  • 400 Služba nie je doména.
  • 409inactive Doména ešte nie je aktívna.
  • 409no_zone Doména nemá zónu na našich DNS. Pripravte ju cez domain/zone alebo prepnite názvové servery na naše.
  • 503unavailable DNS server teraz neodpovedá. Skúste to neskôr.
  • 422failed Zmenu sa nepodarilo vykonať.
  • 429 Prekročený limit 60 zmien za 10 minút.
POST/services/{id}/domain/nameserversZmeniť názvové servery domény

Zmení názvové servery v registri: ours = naše DNS (zóna sa založí, ak chýba), custom = vlastné servery (2 až 6), wedos = predvolené DNS registrátora. Zóna na našich DNS sa pri prepnutí inam nemaže, takže sa dá prepnúť späť. Zmena sa vo svete prejaví až po vypršaní TTL v registri.

Oprávnenie: domains:write

Telo požiadavky (JSON)

NázovTypPovinnéPopis
modestringánoours, custom alebo wedos.
nameserversarraynieLen pri custom: 2 až 6 serverov v tvare { name, ipv4?, ipv6? }.
nameservers[].namestringánoMeno servera, napr. ns1.example.net.
nameservers[].ipv4stringnieIPv4 adresa. Len pri serveri vnútri vlastnej domény (napr. ns1.example.com pre example.com), tam treba aspoň jednu adresu. Inak sa ignoruje.
nameservers[].ipv6stringnieIPv6 adresa, platí to isté ako pri ipv4.
localestringnieJazyk chybových hlásení: cs, en, sk, pl alebo de. Predvolený je cs.

Ukážka tela

{
  "mode": "custom",
  "nameservers": [
    {
      "name": "ns1.example.com",
      "ipv4": "203.0.113.53"
    },
    {
      "name": "ns2.example.net"
    }
  ]
}

Ukážka odpovede

{
  "ok": true,
  "mode": "custom",
  "nsset": null,
  "nameservers": [
    "ns1.example.com",
    "ns2.example.net"
  ]
}

Možné chyby

  • 400invalid Neplatné telo požiadavky (napr. neznámy mode).
  • 400ns_count Pri custom treba 2 až 6 rôznych serverov.
  • 400ns_name Neplatné meno servera. Pole index hovorí ktorého.
  • 400ns_glue Server vnútri domény potrebuje IPv4 alebo IPv6 adresu.
  • 400ns_ip Neplatná IP adresa servera.
  • 400ns_ours Vlastné servery sú len naše. Použite mode ours.
  • 403 Akciu môže vykonať len vlastník domény, nie člen zdieľanej služby.
  • 404 Služba neexistuje, nepatrí vám alebo k nej kľúč nemá prístup.
  • 409inactive Doména ešte nie je aktívna.
  • 429 Prekročený limit 10 zmien za 10 minút.
  • 503unavailable Register alebo DNS server je teraz nedostupný. Skúste to neskôr.
  • 422failed Register zmenu odmietol.
POST/services/{id}/domain/zonePripraviť zónu na našich DNS

Založí prázdnu zónu domény na našich DNS bez zmeny názvových serverov. Hodí sa po prevode domény: najprv naplníte záznamy cez domain/dns a až potom prepnete NS. Záznamy z doterajších DNS sa neprenášajú. Keď zóna už existuje, vráti ok: true a existed: true.

Oprávnenie: domains:write

Telo požiadavky (JSON)

NázovTypPovinnéPopis
localestringnieJazyk chybových hlásení: cs, en, sk, pl alebo de. Predvolený je cs.

Ukážka tela

{
  "locale": "cs"
}

Ukážka odpovede

{
  "ok": true
}

Možné chyby

  • 400invalid Telo požiadavky obsahuje neznáme pole.
  • 403 Akciu môže vykonať len vlastník domény, nie člen zdieľanej služby.
  • 404 Služba neexistuje, nepatrí vám alebo k nej kľúč nemá prístup.
  • 409inactive Doména ešte nie je aktívna.
  • 429 Prekročený limit 10 požiadaviek za 10 minút.
  • 503not_ready DNS pre domény teraz nie je pripravené. Skúste to neskôr.
  • 422failed Zónu sa nepodarilo založiť.

Platby a doklady

GET/creditZostatok a história kreditu

Vráti zostatok kreditu v Kč, z toho bonus, nevratnú a vratnú časť, čakajúce dobitia a históriu pohybov (50 na stránku, od najnovšieho). Keď kredit na účte ešte nie je dostupný, vráti len available: false.

Oprávnenie: billing:read

Parametre v adrese

NázovTypPovinnéPopis
pageintegernieStránka histórie od 1. Predvolená je 1.
localestringnieJazyk chybových hlásení: cs, en, sk, pl alebo de. Predvolený je cs.

Ukážka odpovede

{
  "available": true,
  "balanceCzk": 450,
  "bonusCzk": 50,
  "nonRefundableCzk": 0,
  "refundableCzk": 400,
  "pending": [
    {
      "orderId": "clx9k2m4p0001ord02abcdef",
      "invoiceId": "clx9k2m4p0001inv02abcdef",
      "number": "DK-2026-0007",
      "amountCzk": 200,
      "dueAt": "2026-11-14T23:59:59.000Z",
      "createdAt": "2026-11-06T12:00:00.000Z",
      "paymentStarted": false
    }
  ],
  "history": {
    "items": [
      {
        "id": "clx9k2m4p0000ctx01abcdef",
        "seq": 2,
        "type": "SPEND",
        "kind": null,
        "amountCzk": -249,
        "balanceAfterCzk": 450,
        "createdAt": "2026-11-02T10:15:00.000Z",
        "invoiceId": "clx9k2m4p0000inv01abcdef",
        "invoiceNumber": "2026-0042",
        "orderId": "clx9k2m4p0000ord01abcdef",
        "note": null,
        "refundRequestId": null
      },
      {
        "id": "clx9k2m4p0000ctx00abcdef",
        "seq": 1,
        "type": "TOPUP",
        "kind": null,
        "amountCzk": 699,
        "balanceAfterCzk": 699,
        "createdAt": "2026-10-20T08:00:00.000Z",
        "invoiceId": "clx9k2m4p0000inv00abcdef",
        "invoiceNumber": "DK-2026-0005",
        "orderId": "clx9k2m4p0000ord00abcdef",
        "note": null,
        "refundRequestId": null
      }
    ],
    "page": 1,
    "pages": 1,
    "total": 2
  }
}

Možné chyby

  • 429rate_limited Prekročený limit 60 dopytov za minútu.
POST/credit/payZaplatiť faktúru z kreditu

Zaplatí nezaplatenú faktúru objednávky (napr. novej služby alebo upgradu) z kreditu účtu. Kredit sa odpočíta hneď, založenie služby alebo vykonanie upgradu dobehne až po odpovedi. Faktúry za dobitie kreditu takto zaplatiť nejde.

Oprávnenie: billing:write

Telo požiadavky (JSON)

NázovTypPovinnéPopis
invoiceIdstringánoID nezaplatenej faktúry.
expectedAmountCzknumberánoSuma faktúry v Kč, ktorú očakávate. Musí presne sedieť s cenou objednávky, inak vráti 409 amount_changed s aktuálnou sumou.
ackOpenGatewaybooleanniePotvrdenie, že chcete platiť kreditom, aj keď je k faktúre otvorená platba na platobnej bráne. Predvolené je false.
localestringnieJazyk chybových hlásení: cs, en, sk, pl alebo de. Predvolený je cs.

Ukážka tela

{
  "invoiceId": "clx9k2m4p0000inv01abcdef",
  "expectedAmountCzk": 249
}

Ukážka odpovede

{
  "ok": true,
  "orderId": "clx9k2m4p0000ord01abcdef",
  "amountCzk": 249,
  "balanceCzk": 201,
  "next": "/cs/order/clx9k2m4p0000ord01abcdef?credit=paid"
}

Možné chyby

  • 400invalid Chýba povinné pole alebo má zlý tvar.
  • 403locked Účet je dočasne zamknutý.
  • 404invoice_not_found Faktúra neexistuje alebo nepatrí vám.
  • 409insufficient Kredit nestačí. Odpoveď obsahuje balanceCzk a neededCzk.
  • 409amount_changed Suma sa zmenila. Aktuálna je v amountCzk.
  • 409closed Faktúra je už zaplatená alebo zrušená.
  • 409expired Zálohová faktúra prepadla po splatnosti.
  • 409upgrade_expired Ponuka upgradu platila len do konca obdobia služby a bola zrušená.
  • 409gateway_open K faktúre je otvorená platba na platobnej bráne. Pošlite ackOpenGateway: true.
  • 409payment_in_progress Platba na bráne práve prebieha.
  • 409paid_unreconciled Platba už prišla, ale ešte nie je spárovaná.
  • 409topup_not_payable Faktúru za dobitie kreditu nejde zaplatiť kreditom.
  • 409not_payable Faktúra nepatrí k objednávke, ktorú možno zaplatiť.
  • 409capacity Pre objednanú službu teraz nie je voľná kapacita.
  • 409billing_profile_incomplete Chýbajú fakturačné údaje účtu. Odpoveď obsahuje settingsUrl.
  • 409foreign_eu_vat Objednávky firiem z iných štátov EÚ sa zatiaľ vybavujú individuálne.
  • 429rate_limited Prekročený limit 10 pokusov za minútu.
  • 503unavailable Kredit teraz nie je dostupný.
  • 503gateway_check_failed Stav platby na bráne teraz nejde overiť. Skúste to neskôr.
  • 503capacity_busy Kapacitu teraz nejde overiť. Skúste to o chvíľu.
GET/invoicesZoznam dokladov

Vráti doklady účtu od najnovšieho aj s položkami. Sumy sú v Kč.

Oprávnenie: billing:read

Parametre v adrese

NázovTypPovinnéPopis
statusstringnieFilter podľa stavu: PENDING, PAID, CANCELLED alebo REFUNDED. Iná hodnota sa ignoruje.
limitintegerniePočet dokladov, 1 až 200. Predvolený je 50.

Ukážka odpovede

{
  "data": [
    {
      "id": "clx9k2m4p0000inv01abcdef",
      "number": "2026-0042",
      "status": "PAID",
      "totalCzk": 249,
      "currency": "CZK",
      "items": [
        {
          "description": "VPS Start (1 měsíc)",
          "priceCzk": 249,
          "quantity": 1
        }
      ],
      "dueAt": "2026-11-14T23:59:59.000Z",
      "paidAt": "2026-11-02T10:15:00.000Z",
      "createdAt": "2026-11-01T08:00:00.000Z"
    }
  ]
}
GET/invoices/{id}/pdfPDF faktúry

Stiahne PDF zaplatenej alebo vrátenej faktúry. Nezaplatené doklady PDF nemajú.

Oprávnenie: billing:read

Parametre v adrese

NázovTypPovinnéPopis
langstringnieen = anglický názov súboru, inak český.

Ukážka odpovede

application/pdf (Content-Disposition: attachment; filename="faktura-2026-0042.pdf")

Možné chyby

  • 404not_found Faktúra neexistuje, nepatrí vám alebo nie je zaplatená.
  • 409preparing Faktúra sa ešte vystavuje. Skúste to neskôr.
  • 429rate_limited Prekročený limit 20 stiahnutí za minútu.
  • 503not_ready PDF sa práve pripravuje. Skúste to o pár sekúnd (hlavička Retry-After).
  • 503unavailable PDF teraz nejde načítať. Skúste to neskôr.
GET/services/{id}/external-invoices/{key}/pdfPDF faktúry z pravidelnej fakturácie

Stiahne PDF faktúry služby, ktorú platíte pravidelnou faktúrou mimo portálu. {key} je 22-znakový kľúč faktúry z prehľadu platieb služby v portáli. Môže len vlastník služby (VPS, herný server, webhosting).

Oprávnenie: billing:read

Parametre v adrese

NázovTypPovinnéPopis
langstringnieJazyk názvu súboru: cs, en, sk, pl alebo de. Predvolený je cs.

Ukážka odpovede

application/pdf (Content-Disposition: attachment; filename="faktura-2026-0042.pdf")

Možné chyby

  • 404not_found Faktúra alebo služba neexistuje, nepatrí vám alebo nie ste vlastník. Odpoveď je vždy rovnaká.
  • 429rate_limited Prekročený limit 20 stiahnutí za minútu.
  • 503not_ready PDF sa práve pripravuje. Skúste to o pár sekúnd (hlavička Retry-After).
  • 503unavailable PDF teraz nejde načítať. Skúste to neskôr.
GET/services/{id}/game-upgradeMožnosti zmeny balíka hry alebo bota

Vráti súčasný balík herného servera alebo Discord bota, väčšie a menšie balíky s cenami a doplatkom, doplnok záloh a rozpracované či naplánované zmeny. Len pre vlastníka služby.

Oprávnenie: services:read

Parametre v adrese

NázovTypPovinnéPopis
viewstringnierestart = vráti len { restartPending } (čaká server na reštart po zmene balíka); funguje aj pre členov.
localestringnieJazyk textov v odpovedi: en, inak cs.

Ukážka odpovede

{
  "product": "minecraft",
  "productName": "Minecraft",
  "current": {
    "planLabel": "Minecraft 4 GB",
    "packageId": "mc-4gb",
    "legacy": false,
    "memoryMib": 4096,
    "diskMib": 30720,
    "cpu": 200,
    "databases": 1,
    "allocations": 2,
    "backups": 0
  },
  "backups": {
    "included": 0,
    "addon": 0,
    "grandfathered": 0,
    "addonAvailable": true,
    "addonPriceCzk": 120,
    "addonUnitCzk": 0,
    "maxAddon": 1
  },
  "monthlyCzk": 249,
  "period": {
    "start": "2026-11-01T00:00:00.000Z",
    "end": "2026-12-01T00:00:00.000Z",
    "remainingDays": 24,
    "periodDays": 30
  },
  "packages": [
    {
      "id": "mc-6gb",
      "name": "Minecraft 6 GB",
      "cores": 3,
      "cpuUnlimited": false,
      "ramGb": 6,
      "diskGb": 45,
      "ports": 3,
      "databases": 2,
      "includedBackups": 0,
      "priceCzk": 349,
      "recommended": true,
      "fits": true,
      "message": null
    }
  ],
  "options": [
    {
      "packageId": "mc-6gb",
      "addon": 0,
      "monthlyCzk": 349,
      "chargeCzk": 80,
      "after": {
        "memoryMib": 6144,
        "diskMib": 46080,
        "cpu": 300,
        "databases": 2,
        "allocations": 3,
        "backups": 0
      }
    }
  ],
  "effectiveAt": "2026-12-01T00:00:00.000Z",
  "lowerPackages": [],
  "downgradeOptions": [],
  "removeBackup": {
    "available": false
  },
  "downgradeBlocker": null,
  "customStartup": false,
  "scheduled": null,
  "lastChange": null,
  "nextPeriodPriceCzk": 249,
  "pendingOrder": null,
  "upgradeInProgress": false,
  "blocker": null,
  "restartPending": false,
  "recurringMaxCzk": null,
  "billingIncomplete": false,
  "customerType": "consumer"
}

Možné chyby

  • 403 Len pre vlastníka služby.
  • 409unavailable Zmena balíka teraz pri službe nejde (neznámy balík alebo stav služby).
  • 503 Herný panel teraz neodpovedá.
POST/services/{id}/game-upgradeObjednať väčší alebo naplánovať menší balík

Bez action (alebo action order) založí objednávku väčšieho balíka alebo doplnku zálohy so zálohovou faktúrou; zmena sa vykoná až po zaplatení. Menší balík sa naplánuje od ďalšieho obdobia a nič sa neplatí ani nevracia. Len pre vlastníka služby.

Oprávnenie: billing:write

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringnieorder (predvolené), cancelPending (zrušiť nezaplatenú objednávku), scheduleDowngrade (menší balík od ďalšieho obdobia) alebo cancelScheduled (zrušiť naplánovanú zmenu).
packageIdstring | nullnieorder, scheduleDowngrade: id cieľového balíka z GET (packages, lowerPackages). Bez neho zostáva súčasný balík.
backupsintegernieorder, scheduleDowngrade: počet doplnkov Záloha, 0 alebo 1.
immediateStartRequestedbooleannieorder: spotrebiteľ žiada o vykonanie zmeny hneď (VOP čl. 9.8). Bez IČO musí byť true.
businessPurposebooleannieorder: vyhlásenie, že objednávka slúži podnikaniu.
expectedChargeCzknumber | nullnieorder: doplatok, ktorý ste videli. Keď sa líši, vráti sa 409 price_changed a nič sa nezaloží.
expectedMonthlyCzknumber | nullnieorder, scheduleDowngrade: nová mesačná cena, ktorú ste videli. Keď sa líši, vráti sa 409 price_changed.
changeIdstringniecancelScheduled: id naplánovanej zmeny (scheduled.id z GET); keď nesedí, vráti sa 409 changed.
localestringnieJazyk hlásení: cs, en, sk, pl alebo de. Predvolene cs.

Ukážka tela

{
  "packageId": "mc-6gb",
  "backups": 0,
  "immediateStartRequested": true,
  "expectedChargeCzk": 80,
  "expectedMonthlyCzk": 349,
  "locale": "cs"
}

Ukážka odpovede

{
  "orderId": "ord_7Hq2mX9pLk",
  "chargeCzk": 80,
  "monthlyToCzk": 349,
  "scheduledCancelled": false
}

Možné chyby

  • 400 Neplatná požiadavka alebo balík, ktorý nejde zvoliť.
  • 400immediate_start_required Spotrebiteľ musí poslať immediateStartRequested: true.
  • 403 Len pre vlastníka služby.
  • 404none cancelScheduled: žiadna naplánovaná zmena nie je.
  • 409billing_profile_incomplete Chýbajú fakturačné údaje účtu.
  • 409pending_order Už existuje nezaplatená objednávka upgradu (orderId v odpovedi).
  • 409upgrade_in_progress Zaplatený upgrade sa ešte vykonáva.
  • 409price_changed Cena sa medzitým zmenila; v odpovedi sú newChargeCzk a newMonthlyCzk.
  • 409capacity Väčší balík sa na server nezmestí.
  • 409does_not_fit scheduleDowngrade: dáta sa do menšieho balíka nezmestia (dôvody v reasons).
  • 409transfer_pending Služba čaká na prevod.
  • 409refund_open Pri službe prebieha odstúpenie alebo vrátenie peňazí.
  • 409renewal_paid Ďalšie obdobie je zaplatené za cenu naplánovaného menšieho balíka.
  • 409change_applying Menší balík sa práve nastavuje.
  • 409too_late cancelScheduled: zmena už začala platiť.
  • 503price_list_unavailable Cenník teraz nejde načítať, nič sa neúčtuje.
GET/services/{id}/order-upgradePonuka upgradu VPS

Vráti súčasnú zostavu VPS, mesačnú cenu, sadzby, najvyššie možné hodnoty podľa voľnej kapacity, obdobie a prípadnú nezaplatenú objednávku upgradu. Len vlastník.

Oprávnenie: services:read

Parametre v adrese

NázovTypPovinnéPopis
localestringnieen pre anglické texty, inak česky.

Ukážka odpovede

{
  "tier": "vps-performance",
  "tierName": "VPS Performance",
  "current": {
    "cores": 2,
    "ramGb": 4,
    "diskGb": 60,
    "ipv4": 1
  },
  "monthlyCzk": 390,
  "rates": {
    "perCore": 0,
    "perGbRam": 95,
    "perGbDisk": 0,
    "perIpv4": 60
  },
  "priceList": {
    "fp": "a1b2c3d4",
    "rates": {
      "perCore": 0,
      "perGbRam": 95,
      "perGbDisk": 0,
      "perIpv4": 60
    },
    "packages": [],
    "diskAddon": {
      "perGb": 2,
      "stepGb": 10
    }
  },
  "limits": {
    "max": {
      "cores": 16,
      "ramGb": 24,
      "diskGb": 500,
      "ipv4": 5
    },
    "staticMax": {
      "cores": 16,
      "ramGb": 32,
      "diskGb": 500,
      "ipv4": 5
    }
  },
  "capacity": "limited",
  "unavailable": null,
  "upgradeInProgress": false,
  "period": {
    "start": "2026-11-01T00:00:00.000Z",
    "end": "2026-12-01T00:00:00.000Z",
    "remainingDays": 24,
    "periodDays": 30
  },
  "pendingOrder": null,
  "pendingRestart": false,
  "ipv4Pending": 0,
  "recurringMaxCzk": null,
  "billingIncomplete": false,
  "customerType": "consumer"
}

Možné chyby

  • 400 Služba nie je VPS.
  • 403 Nie ste vlastník služby.
  • 409 Služba nie je aktívna.
POST/services/{id}/order-upgradeObjednať upgrade VPS

Vytvorí objednávku upgradu VPS so zálohovou faktúrou na pomerný doplatok do konca obdobia; upgrade sa vykoná až po zaplatení. Cenu počíta server podľa RAM, disk ide len nahor; action cancelPending zruší nezaplatenú objednávku.

Oprávnenie: billing:write

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringnieorder (predvolené) alebo cancelPending.
ramGbnumbernieNová RAM v GB (1–32); vCPU sa dopočíta z RAM. Chýba = bez zmeny.
diskGbnumbernieDisk v GB (20–500), len nahor.
ipv4numberniePočet IPv4 adries (1–5).
coresnumbernievCPU (1–16); pri cene podľa RAM sa dopočíta.
localestringnieJazyk hlásení a popisu objednávky: cs, en, sk, pl alebo de.
immediateStartRequestedbooleannieSpotrebiteľ: true = žiadosť o okamžité vykonanie zmeny, bez nej objednávka nevznikne.
businessPurposebooleannieÚčet s IČO: true = vyhlásenie, že ide o podnikanie (potom sa okamžité vykonanie nevyžaduje).
expectedChargeCzknumbernieDoplatok, ktorý ste zobrazili; iný ako vypočítaný = 409 price_changed.
expectedMonthlyCzknumbernieNová mesačná cena, ktorú ste zobrazili; iná = 409 price_changed.

Ukážka tela

{
  "ramGb": 8,
  "diskGb": 100,
  "locale": "cs",
  "immediateStartRequested": true,
  "expectedChargeCzk": 312,
  "expectedMonthlyCzk": 780
}

Ukážka odpovede

{
  "orderId": "clx9o4ord0001",
  "chargeCzk": 312,
  "monthlyToCzk": 780
}

Možné chyby

  • 400immediate_start_required Chýba žiadosť o okamžité vykonanie. Bez kódu: neplatné hodnoty (pole field) alebo žiadna zmena nahor.
  • 409pending_order Už existuje rozpracovaná objednávka (orderId). Ďalšie kódy: billing_profile_incomplete, foreign_eu_vat, unavailable, transfer_pending, upgrade_in_progress, refund_open, renewal_payment, renewal_overdue, capacity.
  • 409price_changed Cena sa zmenila; nové hodnoty v newChargeCzk a newMonthlyCzk, nič sa nezaložilo.
  • 503capacity_unknown Voľnú kapacitu teraz nejde overiť. Kód price_list_unavailable: cenník teraz nejde načítať.
GET/services/{id}/renewalStav obnovy a platby služby

Vráti stav obnovy služby, koniec zaplateného obdobia, ďalšiu platbu, automatické platby a históriu výziev. Pre VPS, hry, web a domény; člen zdieľanej služby dostane len managed, status a paidUntil.

Oprávnenie: services:read

Parametre v adrese

NázovTypPovinnéPopis
localestringnieen pre anglické texty, inak česky.

Ukážka odpovede

{
  "serviceId": "clx9svc000001",
  "managed": true,
  "status": "awaiting_payment",
  "paidUntil": "2026-12-01T00:00:00.000Z",
  "owner": {
    "nextPayment": {
      "amountCzk": 390,
      "periodStart": "2026-12-01T00:00:00.000Z",
      "periodEnd": "2027-01-01T00:00:00.000Z",
      "issueAt": "2026-11-17T00:00:00.000Z",
      "dueAt": "2026-12-01T00:00:00.000Z",
      "method": "manual",
      "invoice": {
        "orderId": "clx9o4ord0002",
        "invoiceId": "clx9i5inv0002",
        "number": "ZF2026110042",
        "status": "PENDING",
        "payUrl": "/cs/order/clx9o4ord0002"
      }
    },
    "suspendAt": null,
    "terminateAt": null,
    "autoPay": {
      "credit": {
        "enabled": true,
        "globallyAllowed": true,
        "held": false,
        "balanceCzk": 120,
        "sufficient": false
      },
      "card": {
        "enabled": false,
        "available": false,
        "last4": null,
        "maxAmountCzk": null,
        "unavailableReason": null
      }
    },
    "endAtTermEnd": null,
    "canPay": true,
    "canExtendEarly": false,
    "canEndAtTermEnd": true,
    "history": []
  }
}

Možné chyby

  • 400 Tento typ služby obnovu v portáli nemá (napr. rackhousing).
  • 404not_found Služba sa nenašla.
POST/services/{id}/renewalZaplatiť alebo predĺžiť skôr

Vráti otvorenú výzvu na platbu, alebo vystaví výzvu na ďalšie obdobie skôr (najviac jedno obdobie dopredu), a odkaz na zaplatenie. Nová výzva vracia 201; len vlastník, limit 20 za hodinu, telo ako application/json.

Oprávnenie: billing:write

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringánoVždy pay.
localestringnieJazyk hlásení a výzvy: cs, en, sk, pl alebo de.

Ukážka tela

{
  "action": "pay",
  "locale": "cs"
}

Ukážka odpovede

{
  "orderId": "clx9o4ord0003",
  "payUrl": "/cs/order/clx9o4ord0003",
  "created": true
}

Možné chyby

  • 400invalid Neplatné telo.
  • 409not_allowed Predĺžiť teraz nejde. Ďalšie kódy: not_managed, terminated, term_end, payment_started, failed.
  • 429rate_limited Viac ako 20 požiadaviek za hodinu.
  • 503failed Výzvu sa teraz nepodarilo vystaviť.
PATCH/services/{id}/renewalAutomatické platby a výpoveď ku koncu obdobia

Zapne alebo vypne platbu z kreditu a kartou a podá alebo zruší výpoveď ku koncu zaplateného obdobia. Výpoveď zruší otvorené výzvy bez platby, služba skončí s koncom obdobia a príde potvrdenie e-mailom. Len vlastník, telo ako application/json.

Oprávnenie: billing:write

Telo požiadavky (JSON)

NázovTypPovinnéPopis
autoCreditbooleanniePlatiť obnovu automaticky z kreditu.
autoCardbooleanniePlatiť obnovu automaticky uloženou kartou.
endAtTermEndbooleannietrue = výpoveď ku koncu zaplateného obdobia, false = zrušiť výpoveď.
localestringnieJazyk hlásení: cs, en, sk, pl alebo de.

Ukážka tela

{
  "endAtTermEnd": true,
  "locale": "cs"
}

Ukážka odpovede

{
  "serviceId": "clx9svc000001",
  "managed": true,
  "status": "ending",
  "paidUntil": "2026-12-01T00:00:00.000Z",
  "owner": {
    "nextPayment": null,
    "suspendAt": null,
    "terminateAt": null,
    "autoPay": {
      "credit": {
        "enabled": true,
        "globallyAllowed": true,
        "held": false,
        "balanceCzk": 120,
        "sufficient": null
      },
      "card": {
        "enabled": false,
        "available": false,
        "last4": null,
        "maxAmountCzk": null,
        "unavailableReason": null
      }
    },
    "endAtTermEnd": {
      "requestedAt": "2026-11-07T10:00:00.000Z",
      "by": "customer",
      "termEnd": "2026-12-01T00:00:00.000Z"
    },
    "canPay": false,
    "canExtendEarly": false,
    "canEndAtTermEnd": false,
    "history": []
  }
}

Možné chyby

  • 400invalid Neplatné telo (iné polia ako povolené).
  • 404not_allowed Služba nepatrí vášmu účtu.
  • 409not_managed Služba nemá nastavené obdobie. Ďalšie kódy: terminated, not_active, period_over, too_late, payment_started.
  • 415 Telo nie je application/json.
GET/services/{id}/web-upgradePonuka vyššej tarify webhostingu

Vráti súčasnú tarifu webhostingu a vyššie tarify s doplatkom do konca obdobia. Zatiaľ vracia 409 coming_soon, webhosting ešte nejde meniť online; len vlastník.

Oprávnenie: services:read

Parametre v adrese

NázovTypPovinnéPopis
localestringnieen pre anglické texty, inak česky.

Ukážka odpovede

{
  "current": {
    "tier": "starter",
    "name": "Starter",
    "storageGb": 10,
    "sites": 1
  },
  "monthlyCzk": 59,
  "period": {
    "start": "2026-11-01T00:00:00.000Z",
    "end": "2026-12-01T00:00:00.000Z",
    "remainingDays": 24,
    "periodDays": 30
  },
  "options": [
    {
      "tier": "business",
      "name": "Business",
      "storageGb": 30,
      "sites": 5,
      "priceCzk": 119,
      "monthlyCzk": 119,
      "chargeCzk": 48
    }
  ],
  "pendingOrder": null,
  "upgradeInProgress": false,
  "blocker": null,
  "recurringMaxCzk": null,
  "billingIncomplete": false,
  "customerType": "consumer"
}

Možné chyby

  • 409coming_soon Zmenu tarify webhostingu zatiaľ nejde objednať online. Kód unavailable: tarifu nejde určiť alebo služba upgrade nedovoľuje.
  • 400 Služba nie je webhosting.
  • 403 Nie ste vlastník služby.
POST/services/{id}/web-upgradeObjednať vyššiu tarifu webhostingu

Vytvorí objednávku vyššej tarify so zálohovou faktúrou na pomerný doplatok; zmena sa vykoná po zaplatení, nižšiu tarifu nastaviť nejde. Zatiaľ vracia 409 coming_soon; action cancelPending zruší nezaplatenú objednávku.

Oprávnenie: billing:write

Telo požiadavky (JSON)

NázovTypPovinnéPopis
actionstringnieorder (predvolené) alebo cancelPending.
tierstringánoPre order: business alebo pro (len vyššia ako súčasná).
localestringnieJazyk hlásení a popisu objednávky: cs, en, sk, pl alebo de.
immediateStartRequestedbooleannieSpotrebiteľ: true = žiadosť o okamžité vykonanie zmeny, bez nej objednávka nevznikne.
businessPurposebooleannieÚčet s IČO: true = vyhlásenie, že ide o podnikanie.
expectedChargeCzknumbernieDoplatok, ktorý ste zobrazili; iný = 409 price_changed.
expectedMonthlyCzknumbernieNová mesačná cena, ktorú ste zobrazili; iná = 409 price_changed.

Ukážka tela

{
  "tier": "business",
  "locale": "cs",
  "immediateStartRequested": true
}

Ukážka odpovede

{
  "orderId": "clx9o4ord0004",
  "chargeCzk": 48,
  "monthlyToCzk": 119
}

Možné chyby

  • 409coming_soon Zmenu tarify zatiaľ nejde objednať online. Ďalšie kódy: price_changed, pending_order, billing_profile_incomplete, unavailable, unknown_current.
  • 400downgrade Nižšiu alebo rovnakú tarifu nastaviť nejde. Ďalšie kódy: unknown_tier, immediate_start_required.
  • 503price_list_unavailable Cenník teraz nejde načítať, nič sa neúčtuje.

Bezpečnosť

  • Každá aplikácia a každé prostredie nech má vlastný kľúč s čo najmenšími oprávneniami. Keď jeden unikne, odvoláte len ten.
  • Kľúče, ktoré nepotrebujete, odvolajte. V zozname kľúčov vidíte, kedy a odkiaľ bol kľúč naposledy použitý.
  • Na citlivé akcie (preinštalácia, heslá, prevod domény) používajte kľúč obmedzený na IP adresu vášho servera.
  • Uniknutý kľúč hneď odvolajte v zákazníckom účte a vytvorte nový. Keď máte podozrenie na zneužitie, napíšte nám.

Čo cez API nejde

  • prihlásenie, heslo, dvojfázové overenie, passkey a prihlásené zariadenia
  • zdieľanie služby s ďalšími účtami a prevod služby
  • odstúpenie od zmluvy a vrátenie peňazí
  • vytváranie ďalších API kľúčov
  • nahrávanie súborov (použite SFTP, prístup zistíte cez API)