hosting
PUT /v1/sites/{siteId}/external-backup
Connect an externally hosted site so we can back it up.
Автентифікація
Надішліть ключ API як маркер носія (bearer token). Ключ повинен мати дозвіл hosting.backup.manage; ключ без нього відхиляється з кодом 403, а не 404.
Цей кінцевий пункт не потребує ідентифікатора організації. Ваш ключ уже ідентифікує організацію, якій він належить, і відповідь обмежується її межами.
Спробувати
Замініть усе в кутових дужках власними значеннями, а заповнювач ключа — ключем із вашої панелі керування.
curl -X PUT https://api.zinndigital.com/v1/sites/{siteId}/external-backup \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "channel": <ExternalBackupChannel> }'Увійшли в систему? Консоль API у вашій панелі керування автоматично підставляє ваш реальний ідентифікатор організації та ваш власний ключ, а також виконує запит до робочого API, щоб ви могли побачити справжню відповідь. Відкрийте цю кінцеву точку в консолі API
Деталі
Configures one of two channels. `connector` — the customer installs the Zinn® Connector plugin and pairs it. Nothing else is needed and we never hold a server credential. The plugin makes outbound calls only; it opens no route on their site. Backup only: it cannot restore. `ssh` — the customer gives us a host, a username, the document root and a private key. This channel can also **push a site back**, including when the site itself will not load, which is the only way a one-click restore can be honest. `ssh_secret` is write-only. It goes straight to our secret store and only a pointer to it is kept; it is never returned by this or any other endpoint. Re-connecting a `connector` site mints a fresh pairing token and invalidates whatever the previous install held. Requires `hosting.backup.manage`.
Параметри
| Назва | Тип | Обов'язкове | Що це таке |
|---|---|---|---|
siteId (path) | Uuid | Так | Site ID (UUIDv7). |
Тіло запиту
| Назва | Тип | Обов'язкове | Що це таке |
|---|---|---|---|
channel | ExternalBackupChannel | Так | How we reach a site we do not host. `connector` is the Zinn® Connector plugin (outbound-only, backup but no restore); `ssh` is SSH/SFTP, the only channel that can push a site ba… |
ssh_host | string | Ні | Required when `channel` is `ssh`. |
ssh_port | integer | Ні | — |
ssh_username | string | Ні | Required when `channel` is `ssh`. |
remote_path | string | Ні | The document root, required when `channel` is `ssh`. Refused at configuration time rather than at 03:00 when the sweep runs. |
ssh_secret | string | Ні | The private key (PEM) or password. Written to our secret store and never returned. Omit it to keep the credential already stored. |
Відповідь
| Назва | Тип | Обов'язкове | Що це таке |
|---|---|---|---|
configured | boolean | Так | False when nobody has connected this site yet. The rest of the object is still present and empty — a screen must not have to tell "not set up" from "failed to load" by the absen… |
channel | ExternalBackupChannel | string<> | Так | Empty string when `configured` is false. |
enabled | boolean | Так | A disabled connection is paused, not deleted — the set-up survives. |
can_restore | boolean | Так | Whether we can push a backup back down this channel. **False for `connector`**, and that is not a limitation to route around: a WordPress plugin cannot run inside a WordPress to… |
summary | string | Так | One sentence stating what this connection can and cannot do, composed server-side so every surface says the same thing about the backup/restore asymmetry. |
ssh_host | string | Так | Empty on a `connector` connection. |
ssh_port | integer | Так | — |
ssh_username | string | Так | — |
remote_path | string | Так | The site's document root — what we archive, and what we restore into. |
credential_present | boolean | Так | Whether a credential is stored in our secret store. The credential itself is never returned by any endpoint. |
last_verified_at | string | Так | Null when the connection has never been checked. |
last_verified_ok | boolean | Так | Null means never checked, which is not the same as failing — the absence of a measurement is not a measurement. |
last_verify_detail | string | Так | — |
Помилки, які може повертати ця кінцева точка
401 · 403 · 404 · 422