hosting

PUT /v1/sites/{siteId}/wordpress/update-policy

Set the site's auto-update policy and apply it to WordPress.

Alle hosting-eindpunten

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

NaamTypeVerplichtWat dit is
siteId (path)UuidJaSite ID (UUIDv7).

Aanvraaglichaam

NaamTypeVerplichtWat dit is
corestring<off, minor, all>Ja`minor` is WordPress's own default (security and maintenance releases); `all` includes major upgrades unattended; `off` disables core auto-updates.
pluginsbooleanJaWhether every plugin should auto-update.
themesbooleanJaWhether every theme should auto-update.
ringstring<canary, early, general>JaThe staged-rollout ring this site belongs to.

Reactie

NaamTypeVerplichtWat dit is
corestring<off, minor, all>JaThe stored policy for WordPress core updates.
pluginsbooleanJaThe stored policy — whether every plugin should auto-update.
themesbooleanJaThe stored policy — whether every theme should auto-update.
ringstring<canary, early, general>JaThe staged-rollout ring this site belongs to.
applied_atstringJaWhen 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_errorstringJaWhy 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_readbooleanJaWhether the site itself was read. ⛔ An empty `drift` is only meaningful while this is `true`.
observed_corestringJaWhat `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_offstring[]JaThe plugins on this site that are NOT auto-updating.
themes_offstring[]JaThe themes on this site that are NOT auto-updating.
driftstring<core, plugins, themes>[]JaWhich of `core`, `plugins`, `themes` the site disagrees with the policy about.

Fouten die dit eindpunt kan retourneren

401 · 403 · 404 · 422 · 429 · 503