compute
POST /v1/compute/servers/{serverId}/console
Open an out-of-band console onto a server.
Authenticatie
Stuur een API-sleutel mee als bearer token. De sleutel moet over de permissie sites.restart beschikken; een sleutel zonder deze permissie wordt geweigerd met een 403 in plaats van een 404.
Dit eindpunt vereist geen organisatie-id. Uw sleutel identificeert al de organisatie waartoe deze behoort, en het antwoord is hierop afgestemd.
Probeer het
Vervang alles tussen punthaakjes door uw eigen waarden en de sleutelplaatsvervanger door een sleutel uit uw dashboard.
curl -X POST https://api.zinndigital.com/v1/compute/servers/{serverId}/console \
-H "Authorization: Bearer zdk_live_…"Ingelogd? De API-console in je dashboard vult je echte organisatie-id en je eigen sleutel in, en voert het verzoek uit tegen de live API zodat je de daadwerkelijke respons kunt zien. Open dit eindpunt in de API-console
Details
⭐⭐ **The control that works when SSH does not** — a bad firewall rule, a broken `sshd` config, a full disk, a kernel that will not boot. It is what turns "my server is unreachable, open a ticket" into something the customer fixes themselves. ⛔ **POST, not GET, because it MINTS a credential.** It is not idempotent, not cacheable, and must never end up in a browser history, a proxy log or a prefetch. The response carries a one-shot URL that reaches the machine's console as if sitting at its keyboard; it is returned once and stored nowhere. Every call is audit-logged — that one was opened and by whom, never the URL or the password. `503` on a range whose provider offers no console. Requires `sites.restart`.
Parameters
| Naam | Type | Verplicht | Wat dit is |
|---|---|---|---|
serverId (path) | Uuid | Ja | The server's id, as `listComputeServers` reports it. **Ours** (UUIDv7), minted when the order row was written — never the provider's own identifier for the machine. |
Reactie
| Naam | Type | Verplicht | Wat dit is |
|---|---|---|---|
url | string | Ja | The console address, for `kind: url` (a page a browser opens) and `kind: wss` (a WebSocket endpoint a VNC client connects to). ⛔ **Blank on a `vnc` console, and that is not a fa… |
password | string | Ja | The password the console asks for, when the provider issues one alongside the URL. `""` when the URL alone authenticates. |
expires_at | string | Ja | When it stops working, ISO-8601, or `""` when the provider does not say. ⛔ Blank does **not** mean "never" — these last minutes by design. A `url` and a `wss` console are both o… |
kind | string<url, wss, vnc> | Ja | ⛔⛔ **THREE genuinely different consoles, not three spellings of one, and `wss` was missing** (W22-B, D10906). `url` is a page a browser opens. `wss` is a one-shot WebSocket endp… |
host | string | Ja | The VNC host, for `kind: vnc`. ⛔ **May be blank, and that is a refusal rather than a gap**: where the only hostname a supplier states is its own branded one, we do not pass it on. |
port | integer | Ja | The VNC port, `0` when the provider does not state one. |
allowed_ips | string[] | Ja | The addresses currently permitted to reach the console. ⛔⛔ **An empty list on an IP-restricted console means NOBODY may connect** — the exact opposite of the "no restriction" an… |
ip_restricted | boolean | Ja | Whether the caller's address must be allow-listed before anything can connect. `false` means the credential alone is enough. |
Fouten die dit eindpunt kan retourneren
401 · 403 · 404 · 422 · 429 · 503