Аутентификация
Отправьте ключ API в качестве токена носителя (bearer token). Ключ должен иметь разрешение sites.manage; ключ без него отклоняется с кодом 403, а не 404.
Этот эндпоинт не принимает идентификатор организации. Ваш ключ уже определяет организацию, к которой он принадлежит, и ответ ограничивается ее рамками.
Попробовать
Замените всё в угловых скобках на собственные значения, а плейсхолдер ключа — на ключ из вашей панели управления.
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> }'Вошли в систему? Консоль API в вашей панели управления автоматически подставляет реальный идентификатор вашей организации и ваш собственный ключ, а также выполняет запрос к работающему API, чтобы вы могли увидеть актуальный ответ. Откройте эту конечную точку в API-консоли
Подробнее
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`.
Параметры
| Имя | Тип | Обязательно | Что это |
|---|---|---|---|
siteId (path) | Uuid | Да | Site ID (UUIDv7). |
Тело запроса
| Имя | Тип | Обязательно | Что это |
|---|---|---|---|
username | string | Да | 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 | Да | The account's password. Write-only: it is accepted here and appears in no response, no log line and no error body. |
path | string | Нет | 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… |
Ответ
| Имя | Тип | Обязательно | Что это |
|---|---|---|---|
id | string | Да | The account's identifier at the vendor, used to delete it. |
username | string | Да | 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 | Да | The directory the account is confined to, relative to the package root. `/` is the whole site. |
enabled | boolean | Да | Whether the account may currently sign in. |
is_primary | boolean | Да | 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… |
Ошибки, которые может возвращать этот эндпоинт
401 · 403 · 404 · 409 · 422 · 429 · 503