hosting
PUT /v1/sites/{siteId}/external-backup
Connect an externally hosted site so we can back it up.
Doğrulama
API açarını bearer token kimi göndərin. Açar hosting.backup.manage icazəsinə malik olmalıdır; bu icazəsi olmayan açar 404 deyil, 403 xətası ilə rədd edilir.
Bu endpoint heç bir təşkilat ID-si tələb etmir. Sizin açarınız artıq aid olduğu təşkilatı müəyyən edir və cavab həmin təşkilat üçün məhdudlaşdırılır.
Sınaqdan keçir
Bucaqlı mötərizələrdə olan hór şeyi öz qiymətlərinizlə, açar yertutucusunu isə idarə panelinizdən bir açarla əvəz edin.
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> }'Sistemə daxil olmusunuz? İdarə panelinizdəki API konsolu real təşkilatınızın identifikatorunu və öz açarınızı avtomatik doldurur, sorğunu canlı API-yə qarşı icra edir ki, siz faktiki cavabı görə biləsiniz. Bu son nöqtəni API konsolunda açın
Təfərrüatlar
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.
Parametrlər
| Ad | Tip | Tələb olunur | Nədir |
|---|---|---|---|
siteId (path) | Uuid | Bəli | Site ID (UUIDv7). |
Sorğu gövdəsi
| Ad | Tip | Tələb olunur | Nədir |
|---|---|---|---|
channel | ExternalBackupChannel | Bəli | 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 back… |
ssh_host | string | Xeyr | Required when channel is ssh. |
ssh_port | integer | Xeyr | — |
ssh_username | string | Xeyr | Required when channel is ssh. |
remote_path | string | Xeyr | The document root, required when channel is ssh. Refused at configuration time rather than at 03:00 when the sweep runs. |
ssh_secret | string | Xeyr | The private key (PEM) or password. Written to our secret store and never returned. Omit it to keep the credential already stored. |
Cavab
| Ad | Tip | Tələb olunur | Nədir |
|---|---|---|---|
configured | boolean | Bəli | 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 absence… |
channel | ExternalBackupChannel | string<> | Bəli | Empty string when configured is false. |
enabled | boolean | Bəli | A disabled connection is paused, not deleted — the set-up survives. |
can_restore | boolean | Bəli | 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 too… |
summary | string | Bəli | 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 | Bəli | Empty on a connector connection. |
ssh_port | integer | Bəli | — |
ssh_username | string | Bəli | — |
remote_path | string | Bəli | The site's document root — what we archive, and what we restore into. |
credential_present | boolean | Bəli | Whether a credential is stored in our secret store. The credential itself is never returned by any endpoint. |
last_verified_at | string | Bəli | Null when the connection has never been checked. |
last_verified_ok | boolean | Bəli | Null means never checked, which is not the same as failing — the absence of a measurement is not a measurement. |
last_verify_detail | string | Bəli | — |
Bu son nöqtənin qaytara biləcəyi xətalar
401 · 403 · 404 · 422