hosting
POST /v1/sites/{siteId}/vendor-snapshots/restore
Restore a site from a vendor restore point.
認証
ベアラー トークンとして API キーを送信します。キーには hosting.backup.manage 権限が付与されている必要があります。権限のないキーは 404 ではなく 403 で拒否されます。
このエンドポイントは組織IDを受け付けません。お使いのキーによって所属する組織がすでに特定されており、レスポンスはその組織にスコープされます。
試してみる
アングルブラケット内のすべてをご自身の値に置き換え、キーのプレースホルダーをご利用中のダッシュボードのキーに置き換えてください。
curl -X POST https://api.zinndigital.com/v1/sites/{siteId}/vendor-snapshots/restore \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "scope": <string<web, database, mailbox>>, "timestamp": <string> }'ログインしていますか?ダッシュボード内のAPIコンソールでは、実際の組織IDやお客様ご自身のキーが自動入力され、ライブAPIに対してリクエストが実行されるため、実際のレスポンスを確認することができます。 API コンソールでこのエンドポイントを開く
詳細
Rolls the website, one database or one mailbox back to a named restore point. `202` and the whole surface's new state, for the same reason `takeSiteVendorSnapshot` returns it: the platform performs the restore afterwards and the client polls on `in_progress`. ⛔ **This is the destructive one, and its own path is part of how it is gated.** It overwrites the customer's live files and database, so it is deliberately not a verb on the collection that takes backups — it must not be reachable by sending a slightly different body to the endpoint beside it. A restore always **names its restore point**, never "the latest": `timestamp` is one of the values `getSiteVendorSnapshots` returned, and the engine re-checks it against the live listing before anything is sent, so a value a client composed cannot reach the vendor. `temp_mailbox` applies to mailboxes only, where the platform restores into a `temp-` prefixed mailbox instead of overwriting the original; it is offered as a choice rather than assumed. The action is audit-logged **after** the platform accepts it, so the trail never claims a restore a refusal never started. `404` for a site with no vendor hosting package, or one that is not the caller's; `422` for a restore point that is no longer in the listing or a scope that cannot be restored. Requires `hosting.backup.manage`.
パラメータ
| 名前 | タイプ | 必須 | これがその内容です |
|---|---|---|---|
siteId (path) | Uuid | はい | Site ID (UUIDv7). |
リクエスト本文
| 名前 | タイプ | 必須 | これがその内容です |
|---|---|---|---|
scope | string<web, database, mailbox> | はい | What to restore. |
timestamp | string | はい | The restore point's handle, exactly as `getSiteVendorSnapshots` reported it. |
item_id | string | いいえ | Which database or mailbox. Empty for the website. |
temp_mailbox | boolean | いいえ | Mailboxes only. The platform restores into a `temp-` prefixed mailbox instead of overwriting the original, which is the safe default for mail — offered as a choice rather than a… |
返信
| 名前 | タイプ | 必須 | これがその内容です |
|---|---|---|---|
available | boolean | はい | Whether the site's hosting platform has a timeline surface at all. False is **our** gap, and nothing the customer can do changes it. |
permitted | boolean | はい | Whether the vendor package type includes it. False is answered by an upgrade. |
pro | boolean | はい | Whether the package carries the paid tier rather than the included one. |
attached | boolean | はい | Whether a Timeline Storage service is actually attached to the package. False is the third "no", and it is neither of the other two. |
can_back_up | boolean | はい | Whether `takeSiteVendorSnapshot` would be accepted right now. Read rather than recomputed from the three flags above, so a screen never offers a button the engine refuses. |
has_dead_web | boolean | はい | Whether the platform reports the website's timeline as broken. It is surfaced rather than hidden: a customer whose restore points stopped being taken needs to know before they n… |
in_progress | boolean | はい | Whether any snapshot or restore job is running. This is what a client polls on, and only while it is true. |
web | SiteVendorSnapshotItem | はい | The website's timeline, or null when the platform holds none. |
databases | SiteVendorSnapshotItem[] | はい | Each database's timeline. |
mailboxes | SiteVendorSnapshotItem[] | はい | Each mailbox's timeline. |
このエンドポイントが返すエラー
401 · 403 · 404 · 422 · 429 · 503