hosting
POST /v1/sites/{siteId}/ftp-users
Create an FTP account on a site.
Autenticação
Envie uma chave de API como um token de portador. A chave deve ter a permissão sites.manage; 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 POST https://api.zinndigital.com/v1/sites/{siteId}/ftp-users \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "username": <string>, "password": <string> }'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
Adds an account confined to one directory of the package. The **caller chooses the password** and it travels in the request only: it is never echoed in the response, never written to our records and never logged. That is the opposite of `createSiteDatabase`, and deliberately so — an FTP password is a long-lived credential a deployment pipeline will hold, so the person who owns that pipeline supplies it. The effective ceiling is applied **before** the vendor is called: a package type that does not permit extra accounts, and a customer who has used the last of their allowance, are both refused `422` with a sentence they can act on. A username the package already carries is refused `409` — the vendor namespaces usernames per package, so this collides with the customer's own accounts, not with anyone else's. `404` for a site with no vendor hosting package. Requires `sites.manage`.
Parâmetros
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
siteId (path) | Uuid | Sim | Site ID (UUIDv7). |
Corpo da requisição
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
username | string | Sim | The login name to create. The vendor prefixes it per package on some package types, so the value that comes back in `SiteFtpUser.username` is the one that signs in — the client… |
password | string | Sim | The account's password. Write-only: it is accepted here and appears in no response, no log line and no error body. |
path | string | Não | The directory the account is confined to, relative to the package root. Defaults to the whole site; narrowing it is how a deployment credential stops being a credential for ever… |
Resposta
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
id | string | Sim | The account's identifier at the vendor, used to delete it. |
username | string | Sim | The name that signs in. The vendor namespaces it per package on some package types, so this — not what was requested — is what the client shows. |
path | string | Sim | The directory the account is confined to, relative to the package root. `/` is the whole site. |
enabled | boolean | Sim | Whether the account may currently sign in. |
is_primary | boolean | Sim | Whether this is the package's own built-in account. It is listed so the customer can see it exists, and it can never be deleted here — removing it takes the package's own access… |
Erros que este endpoint pode retornar
401 · 403 · 404 · 409 · 422 · 429 · 503