hosting
POST /v1/sites/{siteId}/ftp-users
Create an FTP account on a site.
Autenticación
Envía una clave de API como token de portador. La clave debe tener el permiso sites.manage; una clave que no lo tenga se rechazará con un código 403, no 404.
Este endpoint no requiere ningún id de organización. Su clave ya identifica la organización a la que pertenece, y la respuesta está delimitada a ella.
Pruébalo
Reemplaza cualquier elemento entre corchetes angulares por tus propios valores, y el marcador de posición key con una clave de tu panel de control.
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> }'¿Has iniciado sesión? La consola de la API en tu panel de control rellena el ID de tu organización real y tu propia clave, y ejecuta la solicitud contra la API en vivo para que puedas ver la respuesta real. Abre este endpoint en la consola de la API
Detalles
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
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
siteId (path) | Uuid | Sí | Site ID (UUIDv7). |
Cuerpo de la solicitud
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
username | string | Sí | 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 | Sí | The account's password. Write-only: it is accepted here and appears in no response, no log line and no error body. |
path | string | No | 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… |
Respuesta
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
id | string | Sí | The account's identifier at the vendor, used to delete it. |
username | string | Sí | 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 | Sí | The directory the account is confined to, relative to the package root. `/` is the whole site. |
enabled | boolean | Sí | Whether the account may currently sign in. |
is_primary | boolean | Sí | 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… |
Errores que este endpoint puede devolver
401 · 403 · 404 · 409 · 422 · 429 · 503