hosting
GET /v1/sites/{siteId}/deletion
Get a site's scheduled deletion.
Autenticación
Envía una clave de API como token de portador. La clave debe tener el permiso sites.view; una clave que no lo tenga se rechazará con un código 403, no 404.
Este endpoint no requiere ningún id de organización. Su clave ya identifica la organización a la que pertenece, y la respuesta está delimitada a ella.
Pruébalo
Reemplaza cualquier elemento entre corchetes angulares por tus propios valores, y el marcador de posición key con una clave de tu panel de control.
curl -X GET https://api.zinndigital.com/v1/sites/{siteId}/deletion \
-H "Authorization: Bearer zdk_live_…"¿Has iniciado sesión? La consola de la API en tu panel de control rellena el ID de tu organización real y tu propia clave, y ejecuta la solicitud contra la API en vivo para que puedas ver la respuesta real. Abre este endpoint en la consola de la API
Detalles
Whether anything is scheduled for this site, when it fires, and whether it can still be stopped. This is also where the client reads `primary_domain` — the value the customer must type into `deleteSite` — so the instruction on screen and the check on the server come from one place and cannot drift apart. ⛔ **`can_cancel` is its own field and must never be recomputed as `state == "scheduled"`.** Once the teardown starts, the request row still says `scheduled` while the site is already being deleted; a client doing its own arithmetic would offer the cancel button at the exact moment it can only fail. Requires `sites.view` only — a read-only member learning that their site is about to be deleted is the whole point, and hiding the countdown from them would mean the first they hear of it is the site being gone. `404` for a site with no vendor hosting package, or one that is not theirs.
Parámetros
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
siteId (path) | Uuid | Sí | Site ID (UUIDv7). |
Respuesta
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
site_id | string | Sí | The site this deletion state belongs to. |
primary_domain | string | Sí | ⛔ What the customer must type into `deleteSite`, and what the engine compares against. Read it from here rather than from a `Site` object already on screen: one value on both si… |
state | string<none, scheduled, running, stalled, deleted> | Sí | Where the site is in its lifecycle. A stable machine value the client turns into a localised sentence — never English composed by the engine (§2.19). ⛔ `stalled` is `running` th… |
deletable | boolean | Sí | Whether a deletion could be requested right now. False on a site whose state does not allow it, so the form is explained rather than offered and refused. |
scheduled_for | string | Sí | When the teardown fires, or null when nothing is scheduled. |
requested_at | string | Sí | When the deletion was requested, or null when nothing is scheduled. |
grace_days | integer | Sí | How many days the countdown runs. Clamped at both ends — a floor of one day is what stops a misconfiguration meaning *delete now*. |
grace_free_reason | string<, internal, never_provisioned> | Sí | Why this site would skip the grace period entirely, or `""` when it would not. `never_provisioned` means the site is `failed` — provisioning never completed, so nothing was ever… |
can_cancel | boolean | Sí | ⛔ **Its own field, and never recomputed as `state == "scheduled"`.** Once the teardown starts, the request row still says scheduled while the site is already being deleted; a cl… |
Errores que este endpoint puede devolver
401 · 403 · 404 · 429 · 503