hosting
PUT /v1/sites/{siteId}/external-backup
Connect an externally hosted site so we can back it up.
Πισtoποίηση
Στείλτε ένα κλειδί API ως διακριτικό φορέα (bearer token). Το κλειδί πρέπει να διαθέτει το δικαίωμα hosting.backup.manage· ένα κλειδί που δεν το διαθέτει απορρίπτεται με 403, όχι 404.
Αυτό το τελικό σημείο δεν δέχεται αναγνωριστικό οργανισμού. Το κλειδί σας προσδιορίζει ήδη τον οργανισμό στον οποίο ανήκει, και η απάντηση περιορίζεται σε αυτόν.
Δοκιμάστε το
Ατικatastήstε ό,τι βρίskεtai μέσα σe γώniaδeς μe τis δikές sas timές, kai to placeholder klεidioύ μe éna klεidi apó ton pinaka ελέgchou sas.
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`.
Παράμετροι
| Όνομα | Τύpος | Υποχρεωτικό | Τι είναι |
|---|---|---|---|
siteId (path) | Uuid | Ναι | Site ID (UUIDv7). |
Σώμα αίτησης
| Όνομα | Τύpος | Υποχρεωτικό | Τι είναι |
|---|---|---|---|
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. |
Απάντηση
| Όνομα | Τύpος | Υποχρεωτικό | Τι είναι |
|---|---|---|---|
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