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
- 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.
- 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ť.
- 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:read | Zoznam služieb, stav a štatistiky |
services:power | Zapnúť, vypnúť, reštartovať |
services:console | Konzola |
services:network | Sieť: rDNS, privátna sieť, adresy |
services:firewall | Firewall |
services:files | Súbory, svety, pluginy a módy |
services:database | Databázy |
services:backups | Zálohy a obnova |
services:settings | Nastavenia služby (hry, boti, plánovač, upozornenia, ISO) |
services:secrets | Citlivé: preinštalácia, heslá, SFTP, kód na prevod doménylen s obmedzením na IP adresy |
domains:read | DNS záznamy (len čítanie) |
domains:write | DNS záznamy a nameservery (úpravy) |
billing:read | Doklady a kredit (len čítanie) |
billing:write | Objedná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.
| Stav | Kód | Význam |
|---|---|---|
| 400 | cookies_not_allowed | Požiadavka nesie cookies. API sa používa len s kľúčom. |
| 401 | missing_key | Chýba kľúč v hlavičke Authorization. |
| 401 | invalid_key | Kľúč je neplatný, prepadnutý alebo odvolaný. |
| 403 | ip_not_allowed | Kľúč nemožno použiť z tejto IP adresy. |
| 403 | insufficient_scope | Kľúč nemá potrebné oprávnenie (pole requiredScope). |
| 403 | email_unverified | E-mail účtu nie je overený. |
| 404 | not_found | Nezná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á). |
| 405 | method_not_allowed | Metóda nie je povolená, hlavička Allow uvádza povolené. |
| 429 | rate_limited | Prekročený limit požiadaviek, opakujte po čase v hlavičke Retry-After. |
| 503 | unavailable | Služ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
- 401
invalid_keyKľúč 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
- 401
invalid_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ázov | Typ | Povinné | Popis |
|---|---|---|---|
ids | string | nie | ID 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. |
locale | string | nie | Jazyk 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
- 404
not_foundKľúč je obmedzený na vybrané služby a ids obsahuje inú službu. - 429
rate_limitedPrekročený limit 40 dopytov za minútu. - 503
unavailableZoznam 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
status | string | nie | Filter podľa stavu: PENDING, ACTIVE, SUSPENDED alebo TERMINATED (na veľkosti písmen nezáleží). |
locale | string | nie | Jazyk 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
locale | string | nie | Jazyk 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.
- 403
mfa_requiredVlastní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ázov | Typ | Povinné | Popis |
|---|---|---|---|
mode | string | áno | Len 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).
- 412
NOT_PROVISIONEDServer 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
source | string | nie | auto (predvolené), latest, crash-report, console alebo file. |
name | string | nie | Súbor pre source=file, napr. logs/latest.log, crash-reports/crash-….txt alebo hs_err_pid….log (max. 120 znakov). |
list | string | nie | files vráti zoznam súborov, ktoré je možné rozobrať (najviac 50). |
lang | string | nie | Jazyk hlásení: cs, en, sk, pl alebo de. |
tpl | string | nie | 1 = 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
- 400
bad-requestNeplatný parameter. Kód bad-name: tento súbor nie je možné rozobrať. - 403
forbiddenChýba oprávnenie Konzola alebo Súbory pri zdieľanej službe. - 404
no-sourceLog sa nenašiel, server možno ešte nebežal. - 412
not-readyServer ešte nie je pripravený. - 413
too-largeLog je na rozbor príliš veľký (nad 16 MiB). - 429
ratePrekročený limit. Kód busy: práve bežia rozbory iných serverov. - 502
failedLog 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
locale | string | nie | Jazyk 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.
- 401
AUTH_FAILEDVPS odmietol prihlasovacie údaje. - 409
HOST_KEY_CHANGEDOdtlačok SSH kľúča VPS sa zmenil (nový v presentedHostKey); potvrďte ho akciou trustHostKey. - 412
NO_TARGETVPS zatiaľ nemá adresu alebo prístupové údaje (tiež NO_CREDENTIALS). - 502
UNREACHABLEVPS 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | install, connectAuto, connectManual, disconnect, createDatabase, dropDatabase, createUser, dropUser, setPassword alebo grant. |
engine | string | nie | install, connectAuto, connectManual: mysql alebo postgres. connectAuto založí účet panela cez lokálny prístup roota. |
port | integer | nie | connectManual: port databázového servera. |
username | string | nie | connectManual: používateľ, pod ktorým sa panel pripojí. |
password | string | nie | connectManual: heslo (povinné). createUser, setPassword: nové heslo 8–128 znakov; bez neho sa vygeneruje. |
name | string | nie | Databá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. |
createUser | boolean | nie | createDatabase: založiť aj rovnomenného používateľa s plnými právami. |
host | string | nie | createDatabase, createUser (MySQL): localhost (predvolené) alebo %. dropUser: konkrétny host, inak všetky. |
database | string | nie | createUser (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).
- 401
AUTH_FAILEDVPS odmietol prihlasovacie údaje. - 409
HOST_KEY_CHANGEDOdtlačok SSH kľúča VPS sa zmenil (nový v presentedHostKey); potvrďte ho akciou trustHostKey. - 412
NO_TARGETVPS zatiaľ nemá adresu alebo prístupové údaje (tiež NO_CREDENTIALS). - 502
UNREACHABLEVPS 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
db | string | áno | Názov databázy. |
table | string | nie | Názov tabuľky; bez neho sa vráti zoznam tabuliek. |
schema | string | nie | PostgreSQL: schéma tabuľky, predvolene public. |
page | integer | nie | Strá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.
- 401
AUTH_FAILEDVPS odmietol prihlasovacie údaje. - 409
HOST_KEY_CHANGEDOdtlačok SSH kľúča VPS sa zmenil (nový v presentedHostKey); potvrďte ho akciou trustHostKey. - 412
NO_TARGETVPS zatiaľ nemá adresu alebo prístupové údaje (tiež NO_CREDENTIALS). - 502
UNREACHABLEVPS 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
sql | string | áno | SQL dotaz, najviac 100 000 znakov. |
db | string | nie | Databá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.
- 401
AUTH_FAILEDVPS odmietol prihlasovacie údaje. - 409
HOST_KEY_CHANGEDOdtlačok SSH kľúča VPS sa zmenil (nový v presentedHostKey); potvrďte ho akciou trustHostKey. - 412
NO_TARGETVPS zatiaľ nemá adresu alebo prístupové údaje (tiež NO_CREDENTIALS). - 502
UNREACHABLEVPS 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
path | string | nie | Absolú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.
- 401
AUTH_FAILEDVPS odmietol prihlasovacie údaje. - 409
HOST_KEY_CHANGEDOdtlačok SSH kľúča VPS sa zmenil (nový v presentedHostKey); potvrďte ho akciou trustHostKey. - 412
NO_TARGETVPS zatiaľ nemá adresu alebo prístupové údaje (tiež NO_CREDENTIALS). - 502
UNREACHABLEVPS 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | mkdir, touch, rename, delete, chmod, write; len VPS a len vlastník: credentials, resetCredentials, trustHostKey; len hry a boti: compress, decompress. |
path | string | nie | mkdir, touch, rename, chmod, write, decompress: absolútna cesta k položke. |
to | string | nie | rename: nová absolútna cesta. |
paths | string[] | nie | delete: 1–200 absolútnych ciest. |
mode | string | nie | chmod: práva osmičkovo, 3–4 číslice (napr. 644). |
content | string | nie | write: celý nový obsah súboru v UTF-8, najviac 2 MB. |
username | string | nie | credentials: SSH používateľ pre správcu súborov (namiesto root). |
password | string | nie | credentials: heslo SSH používateľa, uloží sa šifrovane po úspešnom prihlásení. |
port | integer | nie | credentials: SSH port 1–65535. |
fingerprint | string | nie | trustHostKey: nový odtlačok kľúča v tvare SHA256:…. |
dir | string | nie | compress: priečinok, v ktorom sú položky na zbalenie. |
names | string[] | nie | compress: 1–200 mien z priečinka dir. |
archiveName | string | nie | compress: názov archívu .tar.gz, najviac 120 znakov. |
into | string | nie | decompress: here (predvolené) alebo newFolder. |
folderName | string | nie | decompress: názov nového priečinka, najviac 120 znakov. |
locale | string | nie | Jazyk 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.
- 409
JOB_RUNNINGNa Minecraft serveri beží zmena softvéru alebo inštalácia modpacku. - 409
ARCHIVE_BUSYPrebieha iné balenie alebo rozbaľovanie. - 413 Obsah pre write je väčší než 2 MB.
- 429 Najviac 10 balení a rozbalení za 10 minút.
- 401
AUTH_FAILEDVPS odmietol prihlasovacie údaje. - 409
HOST_KEY_CHANGEDOdtlačok SSH kľúča VPS sa zmenil (nový v presentedHostKey); potvrďte ho akciou trustHostKey. - 412
NO_TARGETVPS zatiaľ nemá adresu alebo prístupové údaje (tiež NO_CREDENTIALS). - 502
UNREACHABLEVPS 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
path | string | áno | Absolútna cesta k súboru. |
as | string | nie | text = 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.
- 413
TOO_LARGEas=text: súbor je väčší než 1 MB. - 415
BINARYas=text: súbor nie je text v UTF-8. - 403 Chýba oprávnenie Súbory.
- 401
AUTH_FAILEDVPS odmietol prihlasovacie údaje. - 409
HOST_KEY_CHANGEDOdtlačok SSH kľúča VPS sa zmenil (nový v presentedHostKey); potvrďte ho akciou trustHostKey. - 412
NO_TARGETVPS zatiaľ nemá adresu alebo prístupové údaje (tiež NO_CREDENTIALS). - 502
UNREACHABLEVPS 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
poll | string | nie | Hodnota 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
- 403
mfa_requiredVlastní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
- 403
mfa_requiredVlastní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ázov | Typ | Povinné | Popis |
|---|---|---|---|
name | string | null | áno | Nový názov, najviac 60 znakov. |
locale | string | nie | Jazyk chybových hlásení (cs, en, sk, pl, de). |
Ukážka tela
{
"name": "Survival server"
}Ukážka odpovede
{
"name": "Survival server"
}Možné chyby
- 400
invalidNázov je dlhší ako 60 znakov alebo telo obsahuje iné polia. - 404
not_allowedSluž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ázov | Typ | Povinné | Popis |
|---|---|---|---|
before | string | nie | ID 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
outlets | number[] | áno | Čísla zásuviek 1–48 (1 až 48 položiek), len zásuvky tejto služby. |
command | string | áno | on, 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
- 400
not_yoursNiektorá zásuvka k tejto službe nepatrí. Bez kódu: neplatné telo požiadavky. - 403
not_allowedOvládanie zásuviek pri službe nie je zapnuté. - 409
inactiveSlužba nie je aktívna. Kód no_config: PDU teraz nie je dostupné. - 429 Prekročený limit požiadaviek.
- 502
pdu_failedPDU 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | start, 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
lang | string | nie | en 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
lang | string | nie | en pre anglické hlásenia, inak česky. |
Telo požiadavky (JSON)
| Názov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | Vždy setPassword. |
password | string | áno | Nové 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
- 400
weak_passwordHeslo nespĺňa pravidlá alebo je telo neplatné. - 403
insufficient_scopeKľúču chýba oprávnenie services:secrets. Kód not_owner: nie ste vlastník. - 404 SFTP zatiaľ nie je spustené.
- 409
admin_userSFTP pre túto službu nastaví podpora. Ďalšie kódy: email_mismatch, foreign_server, inactive. - 429 Viac ako 5 pokusov za hodinu.
- 502
failedHeslo 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.
- 412
NOT_PROVISIONEDVPS 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
id | string | áno | id 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | add, update, toggle, delete, move, setInbound alebo applyBaseline. |
pos | number | nie | Pre update, toggle, delete a move: pozícia vlastného pravidla z GET. |
digest | string | nie | Pre update, toggle, delete a move: digest z GET. |
rule | object | nie | Pre 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. |
enable | boolean | nie | Pre toggle: zapnúť alebo vypnúť pravidlo. |
direction | string | nie | Pre move: up alebo down (len medzi vlastnými pravidlami). |
value | string | nie | Pre 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
range | string | nie | hour, day, week, month alebo year. Predvolené day. |
lang | string | nie | en 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | add, delete, attach, boot alebo detach. |
name | string | nie | Pre add: názov ISO (max. 80 znakov), inak podľa súboru. |
url | string | nie | Pre add: verejný odkaz https:// na súbor ISO s uvedenou veľkosťou. |
isoId | string | nie | Pre delete a attach: ID ISO z GET. |
boot | boolean | nie | Pre 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
- 400
urlOdkaz 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. - 404
not_foundISO sa nenašlo. - 409
unavailableISO 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.
- 503
unavailablePrivá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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | create, attach, detach alebo delete. |
name | string | nie | Pre create: názov siete, 1–40 znakov (písmená, číslice, medzera, . _ -). |
cidr | string | nie | Pre create: privátny rozsah /16 až /29 začínajúci adresou siete, napr. 10.20.0.0/24. |
networkId | string | nie | Pre attach, detach a delete: ID siete z GET. |
address | string|null | nie | Pre attach: adresa VPS v sieti; prázdne = prvá voľná. |
cloudInit | boolean | nie | Pre 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
- 400
invalid_requestNeplatné telo. Ďalšie kódy: name_invalid, cidr_invalid, address_invalid, address_outside, address_reserved. - 404
network_not_foundSieť sa nenašla. Kód not_member: VPS v sieti nie je. - 409
firewall_requiredNajprv 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. - 412
vm_not_readyVPS ešte nie je pripravená. - 502
apply_failedZmenu sa nepodarilo dokončiť. - 503
unavailablePrivá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ázov | Typ | Povinné | Popis |
|---|---|---|---|
ip | string | áno | IPv4 alebo IPv6 adresa služby (aj z jej IPv6 rozsahu). |
hostname | string|null | áno | Ná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ázov | Typ | Povinné | Popis |
|---|---|---|---|
os | string | áno | Kľúč systému z GET, napr. ubuntu-2404 alebo debian-13. |
sshKeys | string | nie | Verejné 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.
- 403
insufficient_scopeKľúč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
- 403
insufficient_scopeKľúč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ázov | Typ | Povinné | Popis |
|---|---|---|---|
lang | string | nie | en 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
lang | string | nie | en pre anglické hlásenia, inak česky. |
Ukážka odpovede
{
"password": "example-Root-Pass-456"
}Možné chyby
- 403
insufficient_scopeKľúč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ázov | Typ | Povinné | Popis |
|---|---|---|---|
lang | string | nie | Jazyk 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
lang | string | nie | Jazyk hlásení: en, inak cs. |
Telo požiadavky (JSON)
| Názov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | save, test (skúšobná správa na uložený webhook, 1× za minútu a 5× za hodinu), removeDiscord alebo disable. |
enabled | boolean | nie | save: zapnúť sledovanie. |
email | boolean | nie | save: posielať upozornenia e-mailom vlastníkovi. |
events | object | nie | save: ktoré udalosti hlásiť, kľúče crash, down, recovered, cleanExit, node (boolean). |
includeLog | boolean | nie | save: priložiť koniec logu. |
webhook | string | nie | save: 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
- 400
bad-requestNeplatné telo alebo pole navyše. - 400
webhookAdresa nie je Discord webhook. - 400
test-failedSkúšobnú správu sa nepodarilo doručiť. - 400
no-webhooktest: nie je uložený žiadny webhook. - 400
no-channelZapnuté sledovanie potrebuje e-mail alebo webhook. - 429
rateSkúšobnú správu je možné poslať raz za minútu a 5× za hodinu. - 500
failedNastavenia 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
section | string | áno | network (porty a SFTP), databases (databázy), backups (zálohy a doplnok záloh) alebo startup (príkaz a premenné spustenia). |
locale | string | nie | Jazyk 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | createDatabase, rotateDatabasePassword, deleteDatabase, createBackup, restoreBackup, deleteBackup, lockBackup (zamkne alebo odomkne), setVariable, reinstall, addAllocation alebo removeAllocation. |
name | string | nie | createDatabase: názov databázy, 1–48 znakov (písmená, číslice, podčiarkovník), povinné. createBackup: nepovinný názov zálohy, najviac 191 znakov. |
remote | string | nie | createDatabase: odkiaľ sa k databáze smie pripojiť (IP adresa alebo %). Predvolene % = odkiaľkoľvek. |
databaseId | string | nie | rotateDatabasePassword, deleteDatabase: id databázy z GET ?section=databases. |
uuid | string (uuid) | nie | restoreBackup, deleteBackup, lockBackup: uuid zálohy z GET ?section=backups. |
truncate | boolean | nie | restoreBackup: pred obnovou zmazať všetky súbory servera. Predvolene false. |
key | string | nie | setVariable: názov premennej spustenia (veľké písmená, číslice, podčiarkovník). |
value | string | nie | setVariable: nová hodnota, najviac 4096 znakov, bez riadiacich znakov. |
allocationId | integer | nie | removeAllocation: id portu z GET ?section=network. Hlavný port odobrať nejde. |
locale | string | nie | Jazyk 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.
- 400
CONTROL_CHARSHodnota premennej obsahuje riadiace znaky. - 403 Chýba oprávnenie k akcii; reinštalácia navyše chce Súbory a Napájanie.
- 403
SECRETS_REQUIREDTajnú premennú smie meniť len vlastník alebo člen s oprávnením Tajné údaje. - 403
FILES_REQUIREDZdroj kódu Discord bota je možné meniť len s oprávnením Súbory. - 404 Záloha neexistuje.
- 409
MANAGED_VARIABLEPremennú spravuje StormHost, meniť ju nejde. - 409
MC_MANAGED_VARIABLEPri Minecrafte premennú nastavuje záložka Softvér. - 409
PROTECTED_ARGUMENTVoľné argumenty nesmú prepísať chránené parametre (napr. RCON). - 409
JOB_RUNNINGNa Minecraft serveri práve beží zmena softvéru. - 409
PORT_LIMITBalík už nemá voľný port. - 409
NO_FREE_PORTNa 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
uuid | string (uuid) | áno | uuid zálohy z GET …/game?section=backups. |
locale | string | nie | Jazyk 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
locale | string | nie | Jazyk 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | create, update, delete, toggle (zapnúť alebo vypnúť), run (spustiť hneď, najviac 1× za minútu) alebo unstick (uvoľniť zaseknutý plán). |
scheduleId | integer | nie | Všetky akcie okrem create: id plánu z GET. |
preset | object | nie | create, 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.repeat | object | nie | Opakovanie: {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}. |
name | string | nie | create, update: názov plánu, najviac 60 znakov. |
ack | boolean | nie | create, update: pri zálohovom pláne musí byť true (potvrdenie, že nová záloha nahradí staršiu). |
active | boolean | nie | toggle: true zapne, false vypne. |
locale | string | nie | Jazyk 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
- 400
INVALIDPlán nie je vyplnený správne. - 400
GAPPlán by sa spúšťal príliš často. - 400
BACKUP_ACKPri zálohovom pláne chýba ack: true. - 400
COMMAND_FORBIDDENPríkaz by server vypol alebo reštartoval; použite predvoľbu restart alebo power. - 403
FORBIDDENK plánu chýba oprávnenie (podľa úloh Konzola, Napájanie alebo Zálohy). - 404
NOT_FOUNDPlán neexistuje. - 409
LIMITServer už má 10 plánov. - 409
BACKUP_SLOTSZálohy podľa plánu potrebujú doplnok Záloha. - 409
BACKUP_EXISTSZálohový plán už existuje. - 409
NOT_EDITABLEPlán vznikol mimo portálu; dá sa len vypnúť alebo zmazať. - 409
PANEL_TZPlány na konkrétny čas teraz nejde nastaviť, zatiaľ len opakovanie po hodinách. - 409
SUSPENDEDServer je pozastavený. - 409
JOB_RUNNINGNa Minecraft serveri beží zmena softvéru. - 429
RATEPlán je možné spustiť najviac raz za minútu. - 502
PARTIALPlá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ázov | Typ | Povinné | Popis |
|---|---|---|---|
lang | string | nie | Jazyk 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
- 400
not_minecraftVIP obchod je len pri Minecraft serveroch. - 404
disabledVIP obchod teraz nie je pre účet dostupný. - 503
disabledVIP obchod ešte nie je pripravený. - 500
failedAkcia 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
lang | string | nie | Jazyk hlásení: cs, en, sk, pl alebo de. Predvolene cs. |
Telo požiadavky (JSON)
| Názov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | saveShop, setStatus, saveItem alebo deleteItem. |
slug | string | nie | saveShop: adresa obchodu, 3–32 znakov a–z, 0–9 a pomlčka. |
title | string | nie | saveShop: názov obchodu (2–60 znakov). saveItem: názov položky (2–60 znakov). |
sellerName | string | nie | saveShop: meno alebo firma predávajúceho (2–120 znakov). |
sellerIco | string | nie | saveShop: IČO predávajúceho (nepovinné). |
sellerEmail | string | nie | saveShop: kontaktný e-mail predávajúceho. |
sellerAddress | string | nie | saveShop: adresa predávajúceho, 5–200 znakov (nepovinné). |
playerTerms | string | nie | saveShop: vlastné podmienky pre hráčov, najviac 20 000 znakov (nepovinné). |
terms | boolean | nie | saveShop: súhlas s podmienkami prevádzkovateľa obchodu. |
status | string | nie | setStatus: active alebo paused. |
id | string | nie | saveItem: id položky na úpravu (bez id sa založí nová, najviac 50). deleteItem: id položky (povinné). |
description | string | nie | saveItem: popis, najviac 500 znakov. |
priceCzk | integer | nie | saveItem: cena v Kč, 10–10 000 (povinné). |
category | string | nie | saveItem: kategória, najviac 40 znakov. |
durationDays | integer | null | nie | saveItem: platnosť v dňoch 1–3650, null = natrvalo. |
commandsBuy | string[] | nie | saveItem: 1–10 príkazov po nákupe, každý do 300 znakov; jediná premenná {player}; príkazy ako stop, restart, op zakázané. |
commandsExpire | string[] | nie | saveItem: najviac 10 príkazov po vypršaní platnosti. |
active | boolean | nie | saveItem: ponúkať položku v obchode. Predvolene true. |
sortOrder | integer | nie | saveItem: 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
- 400
badNeplatná 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.
- 404
no_shopSlužba ešte nemá obchod. - 404
item_not_foundPoložka neexistuje. - 409
slug_takenAdresa obchodu je obsadená. - 409
suspendedObchod je pozastavený prevádzkovateľom. - 409
items_maxObchod už má 50 položiek. - 400
not_minecraftVIP obchod je len pri Minecraft serveroch. - 500
failedAkcia 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
lang | string | nie | Jazyk hlásení: cs, en, sk, pl alebo de. Predvolene cs. |
before | string (ISO 8601) | nie | Starš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
- 404
no_shopSlužba ešte nemá obchod. - 400
not_minecraftVIP obchod je len pri Minecraft serveroch. - 500
failedAkcia 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
lang | string | nie | Jazyk hlásení: cs, en, sk, pl alebo de. Predvolene cs. |
Telo požiadavky (JSON)
| Názov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | retry. |
deliveryId | string | áno | id 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
- 400
badNeplatná požiadavka. - 404
no_shopSlužba ešte nemá obchod. - 404
delivery_not_foundDoručenie neexistuje. - 409
delivery_stateDoručenie teraz znova poslať nejde. - 429
rateNajviac 10 pokusov za minútu. - 400
not_minecraftVIP obchod je len pri Minecraft serveroch. - 500
failedAkcia 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
q | string | nie | Hľadaný text (najviac 80 znakov). |
offset | integer | nie | Posun vo výsledkoch hľadania, predvolene 0. |
project | string | nie | ID 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
- 409
NOT_IMPORTEDSoftvér servera zatiaľ nie je nastavený, najprv použite minecraft/software. - 412
NO_PANELServer 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | `install`, `remove` alebo `reload`. |
projectId | string | nie | Len `install`: ID projektu na Modrinthe (1–64 znakov). |
versionId | string | nie | Len `install`: ID verzie z `GET ?project=` (1–16 znakov). |
name | string | nie | Len `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
- 400
INVALIDNeplatné telo požiadavky. - 403
FORBIDDEN`reload` bez oprávnenia Konzola pri zdieľanej službe. - 404
NO_SUCH_PACKDatapack s týmto názvom vo svete nie je. - 409
NAME_TAKENDatapack s rovnakým názvom už vo svete je, najprv ho odoberte. - 409
TOO_MANYVo svete je už 100 datapackov. - 409
NOT_RUNNINGServer nebeží, zapnite ho a skúste to znova. - 409
JOBNa serveri beží iná zmena alebo inštalácia doplnku. - 422
INCOMPATIBLEVerzia datapacku nie je pre verziu servera. - 422
NO_PACK_MCMETASúbor nie je platný datapack (chýba pack.mcmeta). - 429
RATE_LIMITEDLimit: 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
check | string | nie | Názov na overenie dostupnosti, vráti `{ name, fqdn, available, code?, error? }`. |
locale | string | nie | Jazyk 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
- 400
NOT_MINECRAFTSlužba nie je Minecraft server. - 503
PANELSpráva servera je dočasne nedostupná. - 500
SETUP_FAILEDNepodarilo 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
locale | string | nie | Jazyk chybových hlášok kontroly prístupu: cs, en, sk, pl, de. |
Telo požiadavky (JSON)
| Názov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | `create`, `rename`, `delete` alebo `resync`. |
name | string | nie | Pre `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
- 400
INVALIDNeplatné telo požiadavky. - 400
INVALID_NAMENázov nespĺňa pravidlá. - 400
RESERVEDNázov je vyhradený. - 400
SAME_NAMEServer už túto adresu má. - 404
NONEServer nemá žiadnu vlastnú adresu. - 409
TAKENAdresa je obsadená. - 409
EXISTSServer už vlastnú adresu má, použite `rename`. - 409
NO_ALLOCATIONServer nemá predvolený port. - 409
NOT_PUBLICPredvolená adresa servera nie je verejná. - 412
NO_PANEL_LINKServer teraz nie je dostupný v hernom paneli. - 429
RATE_LIMITEDPrekročený limit zmien, skúste to neskôr. - 503
DISABLEDVlastné adresy teraz nie sú dostupné. - 502
DNSZá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ázov | Typ | Povinné | Popis |
|---|---|---|---|
accept | boolean | áno | Musí byť `true`. |
start | boolean | nie | Po 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
lang | string | nie | Jazyk 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
- 409
NOT_IMPORTEDSoftvér servera zatiaľ nie je nastavený, najprv použite minecraft/software. - 412
NO_PANELServer teraz nie je dostupný v hernom paneli. - 413
FILE_TOO_LARGESúbor s pravidlami je príliš veľký. - 422
FILE_CORRUPTSú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ázov | Typ | Povinné | Popis |
|---|---|---|---|
rules | object | áno | Mapa `id` pravidla (z GET) na hodnotu `boolean` alebo celé číslo. |
allDimensions | boolean | nie | Na 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
- 400
INVALIDNeplatné telo požiadavky. - 400
NO_CHANGESV `rules` nič nie je. - 400
UNKNOWN_RULEPravidlo vo verzii servera neexistuje (pole `rule`). - 400
INVALID_VALUENeplatná hodnota pravidla (pole `rule`). - 409
NOT_RUNNINGServer nebeží, zapnite ho a skúste to znova. - 409
NOT_IMPORTEDSoftvér servera zatiaľ nie je nastavený, najprv použite minecraft/software. - 409
JOBNa serveri beží iná zmena alebo inštalácia doplnku. - 429
CONSOLE_BUSYKonzola servera je zaneprázdnená. - 412
NO_PANELServer 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | Vždy `dismiss`. |
jobId | string | á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ázov | Typ | Povinné | Popis |
|---|---|---|---|
search | string | nie | Hľadaný text na Modrinthe. |
mc | string | nie | So `search`: verzia Minecraftu, napr. `1.21.1`. |
loader | string | nie | So `search`: `fabric`, `forge` alebo `neoforge`. |
sort | string | nie | So `search`: `downloads`, `relevance` alebo `newest`. |
offset | integer | nie | So `search`: posun vo výsledkoch. |
project | string | nie | ID alebo slug projektu; s `preview=modrinth` len ID (8 znakov). |
preview | string | nie | `modrinth` (s `project` a `version`) alebo `upload` (s `upload`). |
version | string | nie | S `preview=modrinth`: ID verzie (8 znakov). |
upload | string | nie | S `preview=upload`: `id` z akcie `stageServerFile` (24 hex znakov). |
mode | string | nie | S `preview`: `all` (predvolené), `keep-world` alebo `wipe`. |
serverFiles | string | nie | `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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | `install`, `rollback`, `deleteAside` alebo `stageServerFile`. |
origin | string | nie | `install`: `modrinth` alebo `mrpack` (vlastný súbor). |
projectId | string | nie | `install` z Modrinthu: ID projektu (8 znakov). |
versionId | string | nie | `install` z Modrinthu: ID verzie (8 znakov). |
uploadId | string | nie | `install` s `mrpack`: `id` zo `stageServerFile` (24 hex znakov). |
mode | string | nie | `install`: `all` (nahradiť všetko, staré odložiť), `keep-world` (ponechať svet a server.properties) alebo `wipe` (zmazať všetko, len vlastník). |
replaceBackup | boolean | nie | Pri plných slotoch záloh prepísať najstaršiu zálohu (vlastník alebo oprávnenie Zálohy). |
acceptEula | boolean | nie | Prijať licenciu Minecraftu (EULA) v rámci inštalácie. |
confirmDowngrade | boolean | nie | Potvrdiť inštaláciu so staršou verziou Minecraftu, než má svet. |
name | string | nie | `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`).
- 403
WIPE_OWNERRežim `wipe` smie len vlastník. - 403
BACKUP_PERMISSION`replaceBackup` bez oprávnenia Zálohy. - 409
JOB_RUNNINGNa serveri už beží iný job. - 409
ADDON_RUNNINGPrebieha inštalácia pluginu alebo módu. - 409
QUEUE_FULLFronta inštalácií je plná, skúste to neskôr. - 409
DISKNa disku servera je málo miesta (`details.freeMb`, `details.needMb`). - 409
DOWNGRADEModpack má staršiu verziu Minecraftu, potvrďte `confirmDowngrade`. - 422
LOADERLoader 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
range | string | nie | `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
- 503
unavailableGraf hráčov zatiaľ nie je k dispozícii. - 502
ERRORGraf 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
enabled | boolean | á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
- 400
INVALIDNeplatné telo požiadavky. - 503
unavailableGraf 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
lookup | string | nie | Nick 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
- 400
INVALID_NICKNeplatný nick v `lookup`. - 403
FORBIDDEN`lookup` bez oprávnenia Konzola. - 503
MOJANG_BUSYOverenie 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | `whitelist-add`, `whitelist-remove`, `whitelist-toggle`, `op`, `deop`, `ban`, `pardon`, `pardon-ip`, `kick`, `bedrock-whitelist-add` alebo `bedrock-whitelist-remove`. |
nick | string | nie | Nick hráča (najviac 40 znakov); pri akciách `bedrock-*` meno hráča Bedrocku. |
uuid | string | nie | UUID zo zoznamu, na odobratie na vypnutom serveri aj bez platného nicku. |
level | integer | nie | `op`: úroveň operátora 1–4. |
bypassesPlayerLimit | boolean | nie | `op`: operátor sa pripojí aj na plný server. |
reason | string | nie | `ban` a `kick`: dôvod (najviac 200 znakov). |
ip | string | nie | `pardon-ip`: zabanovaná IP adresa. |
enabled | boolean | nie | `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
- 400
INVALIDNeplatné telo požiadavky. - 400
INVALID_NICKNeplatný nick alebo UUID. - 400
INVALID_REASONNeplatný dôvod. - 400
INVALID_IPNeplatná IP adresa. - 409
NOT_RUNNINGAkcia potrebuje bežiaci server (napr. `kick`). - 409
PLAYER_OFFLINEHráč nie je online. - 409
NO_FLOODGATEAkcie `bedrock-*` potrebujú Floodgate. - 409
CONFLICTSúbor sa medzitým zmenil, skúste to znova. - 409
JOBNa serveri beží iná zmena. - 422
PLAYER_UNKNOWNHráč s týmto nickom neexistuje. - 429
RATE_LIMITEDPrekročený limit zmien, skúste to neskôr. - 503
MOJANG_BUSYOverenie 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
search | flag | nie | Hľadanie v katalógu (so `source`, `q`, `offset`). |
versions | flag | nie | Kompatibilné verzie projektu (so `source`, `project`). |
plan | flag | nie | Náhľad inštalácie so závislosťami bez zápisu (so `source`, `project`, `version`, `deps`). |
updates | flag | nie | Novšie verzie súborov nainštalovaných cez portál. |
source | string | nie | `modrinth` alebo `hangar` (Hangar len pre pluginy). |
q | string | nie | Hľadaný text. |
offset | integer | nie | Posun vo výsledkoch hľadania. |
project | string | nie | ID alebo slug projektu (1–64 znakov). |
version | string | nie | S `plan`: ID verzie, inak najnovšia kompatibilná. |
deps | string | nie | S `plan`: `0` bez závislostí. |
op | string | nie | ID 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
- 400
BAD_REQUESTNeznámy zdroj, projekt alebo verzia. - 400
UNSUPPORTED_TYPETyp servera nepodporuje pluginy ani módy (Vanilla). - 404
OP_NOT_FOUNDOperácia neexistuje alebo už vypršala. - 429
RATE_LIMITEDLimit dopytov na katalógy: 60 za minútu. - 502
SOURCE_ERRORKataló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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | `install`, `update`, `remove` alebo `toggle`. |
source | string | nie | `install`: `modrinth` alebo `hangar`. |
project | string | nie | `install`: ID alebo slug projektu. |
version | string | nie | `install` a `update`: ID verzie, inak najnovšia kompatibilná. |
dependencies | boolean | nie | `install`: nainštalovať aj povinné závislosti, predvolene `true`. |
skip | string[] | nie | `install`: ID závislostí, ktoré sa vynechajú (najviac 50). |
replace | boolean | nie | `install`: nahradiť konfliktné súbory, predvolene `false`. |
file | string | nie | `update`, `remove`, `toggle`: názov súboru z výpisu (najviac 255 znakov). |
dataFolder | string | nie | `remove`: zmazať aj priečinok s dátami pluginu (názov z `dataFolders`). |
enabled | boolean | nie | `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
- 400
BAD_REQUESTNeplatné telo požiadavky alebo označenie projektu či verzie. - 404
NOT_FOUNDSúbor alebo projekt sa nenašiel. - 404
NO_VERSIONŽiadna kompatibilná verzia. - 409
JOB_RUNNINGNa serveri beží iná zmena. - 409
INSTALLINGServer sa práve inštaluje. - 409
EXISTSSúbor už existuje, použite `replace`. - 409
UP_TO_DATESúbor už má najnovšiu verziu. - 413
TOO_LARGESúbor je väčší ako 100 MB. - 422
INCOMPATIBLEVerzia nie je pre tento server. - 422
EXTERNALProjekt sa dá stiahnuť len zo stránky autora. - 429
RATE_LIMITEDLimit 20 zmien za 10 minút. - 502
SOURCE_ERRORKataló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ázov | Typ | Povinné | Popis |
|---|---|---|---|
reveal | string | nie | `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ázov | Typ | Povinné | Popis |
|---|---|---|---|
etag | string | áno | `etag` z GET; keď súbor neexistuje, `absent`. |
fields | object | nie | Kľúč na hodnotu (string, číslo alebo boolean). Nejde spolu s `raw`. |
raw | string | nie | Celý obsah súboru (najviac 80 000 znakov, výsledok do 64 KB). Zamknuté a tajné kľúče sa vrátia na pôvodnú hodnotu. |
create | boolean | nie | Založiť súbor z predvolených hodnôt, keď ešte neexistuje. |
restart | boolean | nie | Po 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`).
- 400
UNKNOWN_KEYKľúč nejde meniť cez `fields` (pole `key`). - 400
LOCKEDKľúč je zamknutý (pole `key`). - 400
INVALIDNeplatná hodnota kľúča (pole `key`). - 400
RAW_INVALIDText súboru je príliš dlhý alebo obsahuje nepovolené znaky. - 403
SECRETSZmena tajnej hodnoty alebo vzdialenej správy bez oprávnenia Tajné údaje. - 403 `restart` bez oprávnenia Napájanie.
- 409
CONFLICTSúbor sa medzitým zmenil, načítajte nový `etag`. - 409
NO_FILESú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ázov | Typ | Povinné | Popis |
|---|---|---|---|
versions | string | nie | Typ servera: `paper`, `purpur`, `folia`, `vanilla`, `fabric`, `forge` alebo `neoforge`; vráti až 250 verzií. |
prerelease | string | nie | S `versions`: `1` pridá predbežné verzie. |
builds | string | nie | Typ servera; s `version` vráti až 100 buildov. |
preview | string | nie | Typ servera pre náhľad zmeny (s `version`, `build`). |
version | string | nie | Verzia Minecraftu (pri `preview` predvolene `latest`). |
build | string | nie | S `preview`: konkrétny build alebo verzia loadera. |
unstable | string | nie | `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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | `switch`, `reinstall` alebo `import`. |
type | string | nie | `switch` a `import`: `paper`, `purpur`, `folia`, `vanilla`, `fabric`, `forge` alebo `neoforge`. |
version | string | nie | `switch` a `import`: verzia Minecraftu (1–40 znakov), pri `switch` ide aj `latest`. |
build | string | nie | Build alebo verzia loadera, inak najnovšia stabilná. |
allowUnstable | boolean | nie | `switch`: povoliť nestabilný build. |
mode | string | nie | `switch`: `keep` (predvolené, nič nemazať), `clean` (zmazať všetko okrem sveta, nastavení a zoznamov hráčov) alebo `wipe` (zmazať všetko). |
acceptEula | boolean | nie | `switch` a `reinstall`: prijať EULA. |
confirmDowngrade | boolean | nie | `switch`: potvrdiť prechod na staršiu alebo neznámu verziu. |
skipBackup | boolean | nie | `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.
- 403
SKIP_BACKUP_OWNER`skipBackup` smie len vlastník. - 409
JOB_RUNNINGNa serveri už beží iný job. - 409
ADDON_RUNNINGPrebieha inštalácia pluginu alebo módu. - 409
BACKUP_SLOTSloty záloh sú plné. - 409
BACKUP_DISABLEDSlužba nemá zálohy, zmena ide len so `skipBackup`. - 409
DISKNa disku je málo miesta (`details.freeMb`, `details.needMb`). - 409
DOWNGRADEStaršia verzia, potvrďte `confirmDowngrade`. - 409
UNKNOWN_VERSIONAktuálna verzia nie je známa, potvrďte `confirmDowngrade`. - 409
NOT_IMPORTED`reinstall` bez známeho softvéru, najprv `import` alebo `switch`. - 409
INSTALLINGServer sa inštaluje alebo obnovuje zo zálohy. - 422
NEED_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ázov | Typ | Povinné | Popis |
|---|---|---|---|
java | string | nie | `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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | nie | `apply` (predvolené), `recalculate`, `revert` alebo `java`. |
preset | string | nie | `apply` (povinné): `standard`, `zgc` (Java 21+), `proxy` alebo `none`. |
extraFlags | string | string[] | nie | `apply`: vlastné JVM flagy (text do 4000 znakov alebo až 60 položiek); nové flagy len s oprávnením Napájanie. |
dryRun | boolean | nie | `apply`: len zostaviť príkaz a nič neuložiť. |
major | integer | nie | `java` (povinné): hlavná verzia Javy 8–99. |
restart | boolean | nie | Po 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`).
- 403
EXTRA_FLAGS_PERMISSIONNové vlastné flagy bez oprávnenia Napájanie (pole `token`). - 403 `restart` alebo `java` bez potrebných oprávnení.
- 409
NEED_IMPORTSoftvér servera nie je nastavený. - 409
NO_MEMORY_LIMITServer nemá limit pamäte. - 409
CHANGEDStartup sa medzitým zmenil. - 409 Na serveri beží zmena softvéru alebo inštalácia.
- 422
PRESETPreset nie je pre túto Javu. - 422
EXTRA_FLAGSNepovolený flag (pole `token`). - 422
TOO_OLD`java`: verzia je pre verziu Minecraftu príliš stará. - 422
NO_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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | `essentials-nick`, `lp-prefix`, `tab-prefix`, `give-nametag` alebo `tellraw`. |
target | string | áno | Hráč alebo skupina (1–36 znakov); pri `tellraw` aj `@a`. |
targetKind | string | nie | `lp-prefix` a `tab-prefix`: `group` (predvolené) alebo `player`. |
priority | integer | null | nie | `lp-prefix`: priorita 0–1000. |
prefixFormat | string | nie | `lp-prefix`: `ampHex` (predvolené), `amp`, `minimessage` alebo `bungeeHex`. |
tabField | string | nie | `tab-prefix`: `tabprefix` (predvolené) alebo `tagprefix`. |
tabFormat | string | nie | `tab-prefix`: `tabGradient` (predvolené), `ampHex` alebo `minimessage`. |
era | string | nie | Éra syntaxe (`legacy`, `json`, `jsonHex`, `components`, `snbt`), použije sa len pri neznámej verzii servera. |
spans | object[] | nie | Úseky `{ text, color: "#rrggbb" | null, bold?, italic?, underlined?, strikethrough?, obfuscated? }`, najviac 200. Pošlite buď `spans`, alebo `doc`. |
doc | object | nie | `{ 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
- 400
INVALIDNeplatné telo požiadavky. - 400
TARGETNeplatný hráč alebo skupina. - 400
PRIORITYPriorita musí byť celé číslo 0–1000. - 400
EMPTYText je prázdny. - 400
TOO_LONGText je príliš dlhý (nick najviac 64 znakov, ostatné 256). - 400
TOO_MANY_PARTSText má príliš veľa farebných úsekov. - 409
JOBNa serveri beží zmena (job). - 409 Server nebeží.
- 429
RATE_LIMITEDPrekroč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
- 412
NO_PANELServer 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | `export`, `switch`, `delete` alebo `reset`. |
world | string | nie | `export`, `switch`, `delete`: názov sveta z výpisu (1–64 znakov). |
old | string | nie | `reset` (povinné): `delete` starý svet zmazať, `keep` ponechať ako uložený. |
keepAs | string | nie | `reset` s `keep`: nový názov starého sveta (1–32 znakov A–Z, a–z, 0–9, _ a -). |
seed | string | nie | `reset`: seed nového sveta (najviac 128 znakov), prázdny = náhodný. |
levelType | string | nie | `reset`: `normal` (predvolené), `flat`, `large_biomes` alebo `amplified`. |
structures | boolean | nie | `reset`: generovať stavby, predvolene `true`. |
confirmNoBackup | boolean | nie | `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
- 400
INVALIDNeplatné telo požiadavky. - 400
BAD_NAMENeplatný názov sveta. - 400
RESERVED_NAMENázov patrí priečinku servera. - 400
BAD_SEEDNeplatný seed. - 403
FORBIDDENChýba oprávnenie Napájanie. - 404
NO_SUCH_WORLDSvet na serveri nie je. - 409
ACTIVE_WORLDSvet je práve aktívny. - 409
NAME_TAKENPriečinok s týmto názvom už existuje. - 409
TOO_MANY_WORLDSNa serveri môže byť najviac 5 svetov. - 409
NEEDS_CONFIRMStarý svet sa zmaže bez zálohy, pošlite `confirmNoBackup: true`. - 409
JOB_RUNNINGNa serveri už beží iná zmena. - 409
EXPORT_RUNNINGStiahnutie sveta sa už pripravuje. - 409
DISKNa disku servera je málo miesta. - 409
STATEServer sa práve zapína alebo vypína. - 429
RATE_LIMITEDPrekročený limit zmien, skúste to neskôr. - 412
NO_PANELServer 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
id | string | áno | `id` stiahnutia z `exports` (10 hex znakov). |
format | string | nie | `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
- 400
INVALIDChýba alebo je neplatné `id`. - 404
EXPORT_GONEStiahnutie už nie je pripravené, pripravte ho znova. - 429
DOWNLOAD_BUSYSťahovanie už prebieha. - 429
RATE_LIMITEDPríliš veľa stiahnutí. - 412
NO_PANELServer 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
locale | string | nie | Jazyk 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
- 400
invalidTelo 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.
- 409
inactiveDoména ešte nie je aktívna. - 429 Prekročený limit 3 žiadostí za hodinu.
- 503
unavailableOdoslanie je dočasne nedostupné. Skúste to neskôr. - 422
failedRegistrá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ázov | Typ | Povinné | Popis |
|---|---|---|---|
service | string | áno | ID vašej aktívnej VPS alebo herného servera (Minecraft, FiveM). Zdieľané služby nejdú. |
host | string | áno | Meno v doméne: @ pre samotnú doménu, alebo subdoména (písmená, číslice, pomlčky, bez * a _). |
locale | string | nie | Jazyk 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.
- 409
inactiveDoména ešte nie je aktívna. - 400
hostNeplatné meno: zadajte @ pre samotnú doménu, alebo subdoménu z písmen, číslic a pomlčiek. - 404
serviceSlužba neexistuje, nepatrí vám, nie je aktívna alebo ju nejde napojiť. - 409
no_addressSlužba nemá verejnú adresu, na ktorú by sa dala doména napojiť. - 503
unavailableAdresu 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
serviceId | string | áno | ID vašej aktívnej VPS alebo herného servera, rovnaké ako v GET. |
host | string | áno | Meno v doméne, rovnaké ako v GET (@ alebo subdoména). |
planHash | string | áno | Odtlač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. |
confirm | boolean | nie | Potvrdenie, že sa existujúce záznamy z replace nahradia. Povinné, keď replace nie je prázdne. |
locale | string | nie | Jazyk 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
- 400
invalidChý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.
- 409
inactiveDoména ešte nie je aktívna. - 400
hostNeplatné meno: zadajte @ pre samotnú doménu, alebo subdoménu z písmen, číslic a pomlčiek. - 404
serviceSlužba neexistuje, nepatrí vám, nie je aktívna alebo ju nejde napojiť. - 409
no_addressSlužba nemá verejnú adresu, na ktorú by sa dala doména napojiť. - 503
unavailableAdresu služby alebo stav DNS teraz nejde zistiť. - 409
manualDoména nepoužíva naše DNS. Záznamy nastavte u svojho DNS poskytovateľa. - 409
changedZóna sa od GET zmenila. Odpoveď obsahuje nový plán v poli plan. - 409
confirmPlán nahrádza existujúce záznamy a chýba confirm: true. Odpoveď obsahuje plán v poli plan. - 409
limitZó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ázov | Typ | Povinné | Popis |
|---|---|---|---|
locale | string | nie | Jazyk 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.
- 409
inactiveDoména ešte nie je aktívna. - 409
no_zoneDoména nemá zónu na našich DNS. Pripravte ju cez domain/zone alebo prepnite názvové servery na naše. - 503
unavailableDNS server teraz neodpovedá. Skúste to neskôr. - 422
failedZmenu 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
record | object | áno | Nový záznam. |
record.type | string | áno | Typ záznamu: A, AAAA, CNAME, MX, TXT, SRV alebo CAA. |
record.host | string | nie | Meno: @ alebo prázdne pre samotnú doménu, relatívne meno (www, _dmarc, *.dev) alebo celé meno končiace doménou. |
record.ttl | string | nie | TTL v sekundách ako text, 60 až 86400. Prázdne = 3600. |
record.address | string | nie | A: IPv4 adresa, AAAA: IPv6 adresa. |
record.target | string | nie | CNAME 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.preference | string | nie | MX: priorita 0 až 65535 ako text. |
record.exchange | string | nie | MX: meno poštového servera (nie IP adresa). |
record.text | string | nie | TXT: text do 2000 znakov bez riadiacich znakov. |
record.priority | string | nie | SRV: priorita 0 až 65535 ako text. Meno SRV musí mať tvar _služba._protokol (tcp, udp, tls, sctp). |
record.weight | string | nie | SRV: váha 0 až 65535 ako text. |
record.port | string | nie | SRV: port 0 až 65535 ako text. |
record.flags | string | nie | CAA: príznak 0 alebo 128 ako text. |
record.tag | string | nie | CAA: issue, issuewild alebo iodef. |
record.value | string | nie | CAA: pri issue a issuewild doména certifikačnej autority, pri iodef adresa mailto: alebo https:. |
locale | string | nie | Jazyk 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.
- 409
inactiveDoména ešte nie je aktívna. - 409
no_zoneDoména nemá zónu na našich DNS. Pripravte ju cez domain/zone alebo prepnite názvové servery na naše. - 503
unavailableDNS server teraz neodpovedá. Skúste to neskôr. - 422
failedZmenu 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
id | string | áno | ID záznamu z výpisu (20 hex znakov). |
record | object | áno | Polia, ktoré sa majú zmeniť (rovnaké ako pri pridaní, bez type). |
record.host | string | nie | Meno: @ alebo prázdne pre samotnú doménu, relatívne meno (www, _dmarc, *.dev) alebo celé meno končiace doménou. |
record.ttl | string | nie | TTL v sekundách ako text, 60 až 86400. Prázdne = 3600. |
record.address | string | nie | A: IPv4 adresa, AAAA: IPv6 adresa. |
record.target | string | nie | CNAME 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.preference | string | nie | MX: priorita 0 až 65535 ako text. |
record.exchange | string | nie | MX: meno poštového servera (nie IP adresa). |
record.text | string | nie | TXT: text do 2000 znakov bez riadiacich znakov. |
record.priority | string | nie | SRV: priorita 0 až 65535 ako text. Meno SRV musí mať tvar _služba._protokol (tcp, udp, tls, sctp). |
record.weight | string | nie | SRV: váha 0 až 65535 ako text. |
record.port | string | nie | SRV: port 0 až 65535 ako text. |
record.flags | string | nie | CAA: príznak 0 alebo 128 ako text. |
record.tag | string | nie | CAA: issue, issuewild alebo iodef. |
record.value | string | nie | CAA: pri issue a issuewild doména certifikačnej autority, pri iodef adresa mailto: alebo https:. |
locale | string | nie | Jazyk 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.
- 404
not_foundZá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.
- 409
inactiveDoména ešte nie je aktívna. - 409
no_zoneDoména nemá zónu na našich DNS. Pripravte ju cez domain/zone alebo prepnite názvové servery na naše. - 503
unavailableDNS server teraz neodpovedá. Skúste to neskôr. - 422
failedZmenu 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
id | string | áno | ID záznamu z výpisu (20 hex znakov). |
locale | string | nie | Jazyk 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
- 400
invalidChýba id alebo má zlý tvar. - 404
not_foundZá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.
- 409
inactiveDoména ešte nie je aktívna. - 409
no_zoneDoména nemá zónu na našich DNS. Pripravte ju cez domain/zone alebo prepnite názvové servery na naše. - 503
unavailableDNS server teraz neodpovedá. Skúste to neskôr. - 422
failedZmenu 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
mode | string | áno | ours, custom alebo wedos. |
nameservers | array | nie | Len pri custom: 2 až 6 serverov v tvare { name, ipv4?, ipv6? }. |
nameservers[].name | string | áno | Meno servera, napr. ns1.example.net. |
nameservers[].ipv4 | string | nie | IPv4 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[].ipv6 | string | nie | IPv6 adresa, platí to isté ako pri ipv4. |
locale | string | nie | Jazyk 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
- 400
invalidNeplatné telo požiadavky (napr. neznámy mode). - 400
ns_countPri custom treba 2 až 6 rôznych serverov. - 400
ns_nameNeplatné meno servera. Pole index hovorí ktorého. - 400
ns_glueServer vnútri domény potrebuje IPv4 alebo IPv6 adresu. - 400
ns_ipNeplatná IP adresa servera. - 400
ns_oursVlastné 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.
- 409
inactiveDoména ešte nie je aktívna. - 429 Prekročený limit 10 zmien za 10 minút.
- 503
unavailableRegister alebo DNS server je teraz nedostupný. Skúste to neskôr. - 422
failedRegister 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
locale | string | nie | Jazyk 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
- 400
invalidTelo 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.
- 409
inactiveDoména ešte nie je aktívna. - 429 Prekročený limit 10 požiadaviek za 10 minút.
- 503
not_readyDNS pre domény teraz nie je pripravené. Skúste to neskôr. - 422
failedZó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ázov | Typ | Povinné | Popis |
|---|---|---|---|
page | integer | nie | Stránka histórie od 1. Predvolená je 1. |
locale | string | nie | Jazyk 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
- 429
rate_limitedPrekroč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ázov | Typ | Povinné | Popis |
|---|---|---|---|
invoiceId | string | áno | ID nezaplatenej faktúry. |
expectedAmountCzk | number | áno | Suma 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. |
ackOpenGateway | boolean | nie | Potvrdenie, že chcete platiť kreditom, aj keď je k faktúre otvorená platba na platobnej bráne. Predvolené je false. |
locale | string | nie | Jazyk 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
- 400
invalidChýba povinné pole alebo má zlý tvar. - 403
lockedÚčet je dočasne zamknutý. - 404
invoice_not_foundFaktúra neexistuje alebo nepatrí vám. - 409
insufficientKredit nestačí. Odpoveď obsahuje balanceCzk a neededCzk. - 409
amount_changedSuma sa zmenila. Aktuálna je v amountCzk. - 409
closedFaktúra je už zaplatená alebo zrušená. - 409
expiredZálohová faktúra prepadla po splatnosti. - 409
upgrade_expiredPonuka upgradu platila len do konca obdobia služby a bola zrušená. - 409
gateway_openK faktúre je otvorená platba na platobnej bráne. Pošlite ackOpenGateway: true. - 409
payment_in_progressPlatba na bráne práve prebieha. - 409
paid_unreconciledPlatba už prišla, ale ešte nie je spárovaná. - 409
topup_not_payableFaktúru za dobitie kreditu nejde zaplatiť kreditom. - 409
not_payableFaktúra nepatrí k objednávke, ktorú možno zaplatiť. - 409
capacityPre objednanú službu teraz nie je voľná kapacita. - 409
billing_profile_incompleteChýbajú fakturačné údaje účtu. Odpoveď obsahuje settingsUrl. - 409
foreign_eu_vatObjednávky firiem z iných štátov EÚ sa zatiaľ vybavujú individuálne. - 429
rate_limitedPrekročený limit 10 pokusov za minútu. - 503
unavailableKredit teraz nie je dostupný. - 503
gateway_check_failedStav platby na bráne teraz nejde overiť. Skúste to neskôr. - 503
capacity_busyKapacitu 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
status | string | nie | Filter podľa stavu: PENDING, PAID, CANCELLED alebo REFUNDED. Iná hodnota sa ignoruje. |
limit | integer | nie | Poč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ázov | Typ | Povinné | Popis |
|---|---|---|---|
lang | string | nie | en = anglický názov súboru, inak český. |
Ukážka odpovede
application/pdf (Content-Disposition: attachment; filename="faktura-2026-0042.pdf")Možné chyby
- 404
not_foundFaktúra neexistuje, nepatrí vám alebo nie je zaplatená. - 409
preparingFaktúra sa ešte vystavuje. Skúste to neskôr. - 429
rate_limitedPrekročený limit 20 stiahnutí za minútu. - 503
not_readyPDF sa práve pripravuje. Skúste to o pár sekúnd (hlavička Retry-After). - 503
unavailablePDF 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
lang | string | nie | Jazyk 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
- 404
not_foundFaktúra alebo služba neexistuje, nepatrí vám alebo nie ste vlastník. Odpoveď je vždy rovnaká. - 429
rate_limitedPrekročený limit 20 stiahnutí za minútu. - 503
not_readyPDF sa práve pripravuje. Skúste to o pár sekúnd (hlavička Retry-After). - 503
unavailablePDF 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
view | string | nie | restart = vráti len { restartPending } (čaká server na reštart po zmene balíka); funguje aj pre členov. |
locale | string | nie | Jazyk 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.
- 409
unavailableZmena 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | nie | order (predvolené), cancelPending (zrušiť nezaplatenú objednávku), scheduleDowngrade (menší balík od ďalšieho obdobia) alebo cancelScheduled (zrušiť naplánovanú zmenu). |
packageId | string | null | nie | order, scheduleDowngrade: id cieľového balíka z GET (packages, lowerPackages). Bez neho zostáva súčasný balík. |
backups | integer | nie | order, scheduleDowngrade: počet doplnkov Záloha, 0 alebo 1. |
immediateStartRequested | boolean | nie | order: spotrebiteľ žiada o vykonanie zmeny hneď (VOP čl. 9.8). Bez IČO musí byť true. |
businessPurpose | boolean | nie | order: vyhlásenie, že objednávka slúži podnikaniu. |
expectedChargeCzk | number | null | nie | order: doplatok, ktorý ste videli. Keď sa líši, vráti sa 409 price_changed a nič sa nezaloží. |
expectedMonthlyCzk | number | null | nie | order, scheduleDowngrade: nová mesačná cena, ktorú ste videli. Keď sa líši, vráti sa 409 price_changed. |
changeId | string | nie | cancelScheduled: id naplánovanej zmeny (scheduled.id z GET); keď nesedí, vráti sa 409 changed. |
locale | string | nie | Jazyk 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ť.
- 400
immediate_start_requiredSpotrebiteľ musí poslať immediateStartRequested: true. - 403 Len pre vlastníka služby.
- 404
nonecancelScheduled: žiadna naplánovaná zmena nie je. - 409
billing_profile_incompleteChýbajú fakturačné údaje účtu. - 409
pending_orderUž existuje nezaplatená objednávka upgradu (orderId v odpovedi). - 409
upgrade_in_progressZaplatený upgrade sa ešte vykonáva. - 409
price_changedCena sa medzitým zmenila; v odpovedi sú newChargeCzk a newMonthlyCzk. - 409
capacityVäčší balík sa na server nezmestí. - 409
does_not_fitscheduleDowngrade: dáta sa do menšieho balíka nezmestia (dôvody v reasons). - 409
transfer_pendingSlužba čaká na prevod. - 409
refund_openPri službe prebieha odstúpenie alebo vrátenie peňazí. - 409
renewal_paidĎalšie obdobie je zaplatené za cenu naplánovaného menšieho balíka. - 409
change_applyingMenší balík sa práve nastavuje. - 409
too_latecancelScheduled: zmena už začala platiť. - 503
price_list_unavailableCenní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ázov | Typ | Povinné | Popis |
|---|---|---|---|
locale | string | nie | en 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | nie | order (predvolené) alebo cancelPending. |
ramGb | number | nie | Nová RAM v GB (1–32); vCPU sa dopočíta z RAM. Chýba = bez zmeny. |
diskGb | number | nie | Disk v GB (20–500), len nahor. |
ipv4 | number | nie | Počet IPv4 adries (1–5). |
cores | number | nie | vCPU (1–16); pri cene podľa RAM sa dopočíta. |
locale | string | nie | Jazyk hlásení a popisu objednávky: cs, en, sk, pl alebo de. |
immediateStartRequested | boolean | nie | Spotrebiteľ: true = žiadosť o okamžité vykonanie zmeny, bez nej objednávka nevznikne. |
businessPurpose | boolean | nie | Účet s IČO: true = vyhlásenie, že ide o podnikanie (potom sa okamžité vykonanie nevyžaduje). |
expectedChargeCzk | number | nie | Doplatok, ktorý ste zobrazili; iný ako vypočítaný = 409 price_changed. |
expectedMonthlyCzk | number | nie | Nová 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
- 400
immediate_start_requiredChýba žiadosť o okamžité vykonanie. Bez kódu: neplatné hodnoty (pole field) alebo žiadna zmena nahor. - 409
pending_orderUž 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. - 409
price_changedCena sa zmenila; nové hodnoty v newChargeCzk a newMonthlyCzk, nič sa nezaložilo. - 503
capacity_unknownVoľ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ázov | Typ | Povinné | Popis |
|---|---|---|---|
locale | string | nie | en 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).
- 404
not_foundSluž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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | áno | Vždy pay. |
locale | string | nie | Jazyk 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
- 400
invalidNeplatné telo. - 409
not_allowedPredĺžiť teraz nejde. Ďalšie kódy: not_managed, terminated, term_end, payment_started, failed. - 429
rate_limitedViac ako 20 požiadaviek za hodinu. - 503
failedVý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ázov | Typ | Povinné | Popis |
|---|---|---|---|
autoCredit | boolean | nie | Platiť obnovu automaticky z kreditu. |
autoCard | boolean | nie | Platiť obnovu automaticky uloženou kartou. |
endAtTermEnd | boolean | nie | true = výpoveď ku koncu zaplateného obdobia, false = zrušiť výpoveď. |
locale | string | nie | Jazyk 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
- 400
invalidNeplatné telo (iné polia ako povolené). - 404
not_allowedSlužba nepatrí vášmu účtu. - 409
not_managedSluž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ázov | Typ | Povinné | Popis |
|---|---|---|---|
locale | string | nie | en 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
- 409
coming_soonZmenu 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ázov | Typ | Povinné | Popis |
|---|---|---|---|
action | string | nie | order (predvolené) alebo cancelPending. |
tier | string | áno | Pre order: business alebo pro (len vyššia ako súčasná). |
locale | string | nie | Jazyk hlásení a popisu objednávky: cs, en, sk, pl alebo de. |
immediateStartRequested | boolean | nie | Spotrebiteľ: true = žiadosť o okamžité vykonanie zmeny, bez nej objednávka nevznikne. |
businessPurpose | boolean | nie | Účet s IČO: true = vyhlásenie, že ide o podnikanie. |
expectedChargeCzk | number | nie | Doplatok, ktorý ste zobrazili; iný = 409 price_changed. |
expectedMonthlyCzk | number | nie | Nová 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
- 409
coming_soonZmenu tarify zatiaľ nejde objednať online. Ďalšie kódy: price_changed, pending_order, billing_profile_incomplete, unavailable, unknown_current. - 400
downgradeNižšiu alebo rovnakú tarifu nastaviť nejde. Ďalšie kódy: unknown_tier, immediate_start_required. - 503
price_list_unavailableCenní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)