hosting
PUT /v1/sites/{siteId}/wordpress/update-policy
Set the site's auto-update policy and apply it to WordPress.
Authenticatie
Stuur een API-sleutel mee als bearer token. De sleutel moet over de permissie sites.view beschikken; een sleutel zonder deze permissie wordt geweigerd met een 403 in plaats van een 404.
Dit eindpunt vereist geen organisatie-id. Uw sleutel identificeert al de organisatie waartoe deze behoort, en het antwoord is hierop afgestemd.
Probeer het
Vervang alles tussen punthaakjes door uw eigen waarden en de sleutelplaatsvervanger door een sleutel uit uw dashboard.
curl -X PUT https://api.zinndigital.com/v1/sites/{siteId}/wordpress/update-policy \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "core": <string<off, minor, all>>, "plugins": <boolean>, "themes": <boolean>, "ring": <string<canary, early, general>> }'Ingelogd? De API-console in je dashboard vult je echte organisatie-id en je eigen sleutel in, en voert het verzoek uit tegen de live API zodat je de daadwerkelijke respons kunt zien. Open dit eindpunt in de API-console
Details
Stores the policy **and writes it to the site in the same call**, then re-reads the site and returns what it found. ⛔ Storing without applying is the defect this endpoint exists to avoid: a stored row saying `core: off` over a WordPress that is still updating itself is worse than no row, because the screen then says the operator's decision took effect. The response body is a fresh read, never an echo of the request. ⛔ On a failed apply the policy row keeps `apply_error` **and** the call answers `422`. Only recording it would be a silent failure; only raising it would leave a stored policy nobody knows was never applied. `ring` is the **staged-rollout** ring this site belongs to — `canary`, `early` or `general`. It is a property of the site, not of the change, so an operator picks their canaries once and every later rollout inherits the choice. ⛔ **Fleet only** — refused where `wp_update_policy` is `false`, because it is written with `wp config set` and `wp plugin auto-updates` and this platform publishes no equivalent. Requires `sites.view` and `sites.panel_access`.
Parameters
| Naam | Type | Verplicht | Wat dit is |
|---|---|---|---|
siteId (path) | Uuid | Ja | Site ID (UUIDv7). |
Aanvraaglichaam
| Naam | Type | Verplicht | Wat dit is |
|---|---|---|---|
core | string<off, minor, all> | Ja | `minor` is WordPress's own default (security and maintenance releases); `all` includes major upgrades unattended; `off` disables core auto-updates. |
plugins | boolean | Ja | Whether every plugin should auto-update. |
themes | boolean | Ja | Whether every theme should auto-update. |
ring | string<canary, early, general> | Ja | The staged-rollout ring this site belongs to. |
Reactie
| Naam | Type | Verplicht | Wat dit is |
|---|---|---|---|
core | string<off, minor, all> | Ja | The stored policy for WordPress core updates. |
plugins | boolean | Ja | The stored policy — whether every plugin should auto-update. |
themes | boolean | Ja | The stored policy — whether every theme should auto-update. |
ring | string<canary, early, general> | Ja | The staged-rollout ring this site belongs to. |
applied_at | string | Ja | When the policy last reached the site, ISO-8601, or `""` if it never has. ⛔ A timestamp and not a flag: "when did this last reach the site" is the question an operator asks, and… |
apply_error | string | Ja | Why the last apply failed, or `""`. Kept beside `applied_at` rather than replacing it, so a failed re-apply does not erase that an earlier one worked. |
observed_read | boolean | Ja | Whether the site itself was read. ⛔ An empty `drift` is only meaningful while this is `true`. |
observed_core | string | Ja | What `WP_AUTO_UPDATE_CORE` is set to on the site — `off`, `minor`, `all`, or `""` meaning **the constant is not defined at all**, so WordPress applies its own default. ⛔ `""` is… |
plugins_off | string[] | Ja | The plugins on this site that are NOT auto-updating. |
themes_off | string[] | Ja | The themes on this site that are NOT auto-updating. |
drift | string<core, plugins, themes>[] | Ja | Which of `core`, `plugins`, `themes` the site disagrees with the policy about. |
Fouten die dit eindpunt kan retourneren
401 · 403 · 404 · 422 · 429 · 503