hosting

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

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

Todos os endpoints de hosting

Autenticação

Envie uma chave de API como um token de portador. A chave deve ter a permissão sites.view; uma chave sem ela é recusada com 403, e não 404.

Este endpoint não requer um ID de organização. Sua chave já identifica a organização à qual pertence, e a resposta é delimitada a ela.

Experimente

Substitua qualquer item entre colchetes por seus próprios valores e o espaço reservado para a chave por uma chave do seu painel.

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>> }'

Conectado? O console da API no seu painel preenche o ID da sua organização real e a sua própria chave, e executa a requisição contra a API de produção para que você possa ver a resposta real. Abra este endpoint no console da API

Detalhes

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`.

Parâmetros

NomeTipoObrigatórioO que é
siteId (path)UuidSimSite ID (UUIDv7).

Corpo da requisição

NomeTipoObrigatórioO que é
corestring<off, minor, all>Sim`minor` is WordPress's own default (security and maintenance releases); `all` includes major upgrades unattended; `off` disables core auto-updates.
pluginsbooleanSimWhether every plugin should auto-update.
themesbooleanSimWhether every theme should auto-update.
ringstring<canary, early, general>SimThe staged-rollout ring this site belongs to.

Resposta

NomeTipoObrigatórioO que é
corestring<off, minor, all>SimThe stored policy for WordPress core updates.
pluginsbooleanSimThe stored policy — whether every plugin should auto-update.
themesbooleanSimThe stored policy — whether every theme should auto-update.
ringstring<canary, early, general>SimThe staged-rollout ring this site belongs to.
applied_atstringSimWhen 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_errorstringSimWhy 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_readbooleanSimWhether the site itself was read. ⛔ An empty `drift` is only meaningful while this is `true`.
observed_corestringSimWhat `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[]SimThe plugins on this site that are NOT auto-updating.
themes_offstring[]SimThe themes on this site that are NOT auto-updating.
driftstring<core, plugins, themes>[]SimWhich of `core`, `plugins`, `themes` the site disagrees with the policy about.

Erros que este endpoint pode retornar

401 · 403 · 404 · 422 · 429 · 503