hosting
GET /v1/sites/{siteId}/ssh-keys
List a site's authorised SSH keys.
Autenticação
Envie uma chave de API como um token de portador. A chave deve ter a permissão sites.view; uma chave sem ela é recusada com 403, e não 404.
Este endpoint não requer um ID de organização. Sua chave já identifica a organização à qual pertence, e a resposta é delimitada a ela.
Experimente
Substitua qualquer item entre colchetes por seus próprios valores e o espaço reservado para a chave por uma chave do seu painel.
curl -X GET https://api.zinndigital.com/v1/sites/{siteId}/ssh-keys \
-H "Authorization: Bearer zdk_live_…"Conectado? O console da API no seu painel preenche o ID da sua organização real e a sua própria chave, e executa a requisição contra a API de produção para que você possa ver a resposta real. Abra este endpoint no console da API
Detalhes
Every public key that can open a shell on the site's hosting package, together with whether the package restricts SSH to a list of addresses. `ssh` has been rendered as an included plan feature since the Hosting tab shipped — from a vendor flag that really is `true` on both package types we sell — with no way anywhere in the product to upload a key, so until this resource existed the entitlement was sold and read by nothing. ⛔ `ip_restricted` is its own field and must never be derived from `ip_allowlist == []`. The vendor answers "no restriction" as null, and an empty list rendered as a restriction would tell the customer they are protected when the truth is the opposite. `ip_allowlist_editable` is false today for a **vendor** reason rather than a plan one, so a client renders the list read-only instead of an editor that cannot save. A site that is not on a vendor hosting package has no such resource and returns `404`, exactly as an out-of-scope or unknown id does — never a `403`, never an existence oracle. Requires `sites.view` **and** `sites.panel_access`: the list is the access-control state of a shell on the customer's server, which is strictly more than the phpMyAdmin and file-manager access that key already names.
Parâmetros
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
siteId (path) | Uuid | Sim | Site ID (UUIDv7). |
Resposta
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
permitted | boolean | Sim | Whether the package type includes SSH at all. This is the flag behind *"your plan does not include this"*. |
can_create | boolean | Sim | `permitted`, **and** the package has room for another key. Two fields rather than one because those are different sentences, and a single flag makes the screen say the wrong one. |
keys | SiteSshKey[] | Sim | The keys currently authorised on the package. |
ip_allowlist | string[] | Sim | The addresses SSH is restricted to, when it is restricted. |
ip_restricted | boolean | Sim | Whether an address restriction is actually in force. ⛔ **Distinct from `ip_allowlist == []` and never derived from it.** The vendor answers "no restriction" as null, and an empt… |
ip_allowlist_editable | boolean | Sim | Whether the allow-list can be written. False today for a **vendor** reason rather than a plan one, so a client renders the list read-only instead of an editor that cannot save. |
Erros que este endpoint pode retornar
401 · 403 · 404 · 422 · 429 · 503