compute
POST /v1/compute/servers/{serverId}/console/allow
Let one address reach an IP-gated console.
Authentifizierung
Senden Sie einen API-Schlüssel als Bearer-Token. Der Schlüssel muss über die Berechtigung sites.restart verfügen; ein Schlüssel ohne diese wird mit 403 statt 404 abgelehnt.
Dieser Endpunkt erfordert keine Organisations-ID. Ihr Schlüssel identifiziert bereits die zugehörige Organisation, und die Antwort ist entsprechend eingeschränkt.
Ausprobieren
Ersetzen Sie alles in spitzen Klammern durch Ihre eigenen Werte und den Platzhalter für den Schlüssel durch einen Schlüssel aus Ihrem Dashboard.
curl -X POST https://api.zinndigital.com/v1/compute/servers/{serverId}/console/allow \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "ip": <string> }'Angemeldet? Die API-Konsole in Ihrem Dashboard trägt automatisch Ihre echte Organisations-ID sowie Ihren eigenen Schlüssel ein und führt die Anfrage gegen die Live-API aus, sodass Sie die tatsächliche Antwort sehen können. Öffnen Sie diesen Endpunkt in der API-Konsole
Details
⭐⭐ **Without this, the console on an IP-gated range is a password for a bolted door.** Such a range starts with an empty allow-list, meaning *nobody* may connect — the credential is real and useless until an address is added. ⛔ The response is the console session **re-read from the provider**, never an echo of the request: a `200` is not evidence on every provider, and the allow-list coming back containing the address is the only proof it landed. Requires `sites.restart` — granting an address console access **is** granting console access. Audited with the address, unlike opening a console, because an allow-list entry is a lasting change to who may reach the machine rather than a credential. `503` on a range whose console is not restricted by address.
Parameter
| Name | Typ | Erforderlich | Was es ist |
|---|---|---|---|
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. |
Anfragekörper
| Name | Typ | Erforderlich | Was es ist |
|---|---|---|---|
ip | string | Ja | The public address that should be allowed to connect. |
Antwort
| Name | Typ | Erforderlich | Was es ist |
|---|---|---|---|
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. |
Fehler, die dieser Endpunkt zurückgeben kann
401 · 403 · 404 · 422 · 429 · 503