hosting
PUT /v1/sites/{siteId}/wordpress/update-policy
Set the site's auto-update policy and apply it to WordPress.
Authentifizierung
Senden Sie einen API-Schlüssel als Bearer-Token. Der Schlüssel muss über die Berechtigung sites.view verfügen; ein Schlüssel ohne diese wird mit 403 statt 404 abgelehnt.
Dieser Endpunkt erfordert keine Organisations-ID. Ihr Schlüssel identifiziert bereits die zugehörige Organisation, und die Antwort ist entsprechend eingeschränkt.
Ausprobieren
Ersetzen Sie alles in spitzen Klammern durch Ihre eigenen Werte und den Platzhalter für den Schlüssel durch einen Schlüssel aus Ihrem 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>> }'Angemeldet? Die API-Konsole in Ihrem Dashboard trägt automatisch Ihre echte Organisations-ID sowie Ihren eigenen Schlüssel ein und führt die Anfrage gegen die Live-API aus, sodass Sie die tatsächliche Antwort sehen können. Öffnen Sie diesen Endpunkt in der API-Konsole
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`.
Parameter
| Name | Typ | Erforderlich | Was es ist |
|---|---|---|---|
siteId (path) | Uuid | Ja | Site ID (UUIDv7). |
Anfragekörper
| Name | Typ | Erforderlich | Was es ist |
|---|---|---|---|
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. |
Antwort
| Name | Typ | Erforderlich | Was es ist |
|---|---|---|---|
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. |
Fehler, die dieser Endpunkt zurückgeben kann
401 · 403 · 404 · 422 · 429 · 503