hosting

PUT /v1/sites/{siteId}/external-backup

Connect an externally hosted site so we can back it up.

جميع نقاط نهاية hosting

المصادقة

أرسل مفتاح واجهة برمجة التطبيقات (API key) كرمز حامل (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

التفاصيل

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).

جسم الطلب

الاسمالنوعمطلوبما هو هذا
channelExternalBackupChannelنعم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_hoststringلاRequired when `channel` is `ssh`.
ssh_portintegerلا
ssh_usernamestringلاRequired when `channel` is `ssh`.
remote_pathstringلاThe document root, required when `channel` is `ssh`. Refused at configuration time rather than at 03:00 when the sweep runs.
ssh_secretstringلاThe private key (PEM) or password. Written to our secret store and never returned. Omit it to keep the credential already stored.

الاستجابة

الاسمالنوعمطلوبما هو هذا
configuredbooleanنعم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…
channelExternalBackupChannel | string<>نعمEmpty string when `configured` is false.
enabledbooleanنعمA disabled connection is paused, not deleted — the set-up survives.
can_restorebooleanنعم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…
summarystringنعم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_hoststringنعمEmpty on a `connector` connection.
ssh_portintegerنعم
ssh_usernamestringنعم
remote_pathstringنعمThe site's document root — what we archive, and what we restore into.
credential_presentbooleanنعمWhether a credential is stored in our secret store. The credential itself is never returned by any endpoint.
last_verified_atstringنعمNull when the connection has never been checked.
last_verified_okbooleanنعمNull means never checked, which is not the same as failing — the absence of a measurement is not a measurement.
last_verify_detailstringنعم

الأخطاء التي يمكن أن تُرجعها نقطة النهاية هذه

401 · 403 · 404 · 422