hosting

POST /v1/sites/{siteId}/backups

Take an on-demand backup of a site.

Tous les points de terminaison hosting

Authentification

Envoyez une clé API en tant que jeton du porteur. La clé doit posséder l'autorisation hosting.backup.manage ; une clé qui ne l'a pas est refusée avec le code 403, et non 404.

Cet endpoint ne prend aucun identifiant d'organisation. Votre clé identifie déjà l'organisation à laquelle elle appartient, et la réponse y est limitée.

Essayer

Remplacez tout ce qui se trouve entre crochets par vos propres valeurs, et le espace réservé à la clé par une clé de votre tableau de bord.

curl -X POST https://api.zinndigital.com/v1/sites/{siteId}/backups \
  -H "Authorization: Bearer zdk_live_…"

Connecté ? La console d'API de votre tableau de bord saisit votre véritable ID d'organisation ainsi que votre propre clé, et exécute la requête sur l'API de production afin que vous puissiez voir la réponse réelle. Ouvrir ce point de terminaison dans la console API

Détails

Starts a durable backup workflow and returns immediately with the new in-flight state, never a bare acknowledgement. Gated on the `on_demand_backups` **entitlement** as well as the permission: a plan that does not include it gets `PLAN_REQUIRED` (422, an upgrade prompt), not a 403. A site with a backup already running returns 409. Requires `hosting.backup.manage`.

Paramètres

NomTypeObligatoireQu'est-ce que c'est
siteId (path)UuidOuiSite ID (UUIDv7).
Idempotency-Key (header)stringNonClient-generated key that makes an unsafe request replay-safe: the server stores the first response and returns it verbatim for repeats.

Réponse

NomTypeObligatoireQu'est-ce que c'est
site_idUuidOuiUUIDv7 identifier — sortable by creation time (docs/02 §8).
backupsSiteBackup[]Oui
can_backupbooleanOuiFalse while a backup is in flight, when this site's hosting platform cannot take one at all, or when the site's on-demand allowance for the last 24 hours is spent.
in_progressbooleanOui
on_demand_backupsbooleanOuiAlways true. On-demand backups are included on every plan (owner ruling 2026-08-10); what bounds them is `on_demand_limit` per rolling 24 hours, not the plan. Retained for compa…
unsupported_reasonstringNonA stable machine identifier saying why this site's hosting platform cannot be backed up at all, or empty when it can. The client renders it as a localised sentence. Distinct fro…
on_demand_limitintegerOuiOn-demand backups allowed per rolling 24 hours, per site.
on_demand_usedintegerOuiOn-demand backups taken in the last 24 hours. Failed attempts are not counted — the customer got nothing from them.
on_demand_remainingintegerOuiHow many the customer may still take right now.
on_demand_next_atstringOuiWhen the next on-demand slot opens, as the oldest counted backup ages out of the rolling window. Null whenever `on_demand_remaining` is above zero.
daily_backupsbooleanOuiThe plan's `daily_backups` entitlement — whether the nightly sweep selects this site.
retention_daysintegerOuiThe plan's `backup_retention_days` entitlement, clamped to the platform maximum.
offsite_enabledbooleanOuiWhether object storage is configured. False means every backup stays on the worker host it was taken on.
immutablebooleanOuiWhether backup immutability is enforced **and proven recently**. True only when the platform's last reconciliation actually attempted to delete a canary object under the backup…
immutable_daysintegerOuiHow many days a written backup cannot be altered or deleted by anyone — us, a compromised site, or a stolen token. 30 by owner ruling (2026-08-12), matching sold retention; `0`…
immutability_verified_atstringOuiWhen a delete was last actually attempted against the protected prefix and refused. ⛔ Not when the configuration was last read, and not when the reconciler last ran: a run that…
immutability_reasonstringOuiA stable machine identifier saying why immutability is not currently provable — `never_checked`, `no_rule`, `delete_succeeded`, `credential_missing`, `canary_write_failed`, `ven…
restore_drill_passedbooleanOuiWhether the platform's weekly restore drill last **passed**, and recently enough to still mean something. The drill restores a real stored backup onto a platform-owned site and…
restore_drill_atstringOuiWhen the last drill finished, whatever its outcome. Null when no drill has ever completed.
restore_drill_reasonstringOuiA stable machine identifier saying why restores are not currently proven — `never_drilled`, `no_drill_site`, `no_recent_backup`, `canary_unavailable`, `restore_failed`, `fence_r…

Erreurs que cet point de terminaison peut renvoyer

401 · 403 · 404 · 409 · 422 · 429 · 503