hosting
PUT /v1/sites/{siteId}/wordpress/update-policy
Set the site's auto-update policy and apply it to WordPress.
인증
Bearer 토큰으로 API 키를 전송하세요. 키는 반드시 sites.view 권한을 가지고 있어야 하며, 권한이 없는 키는 404가 아닌 403으로 거부됩니다.
이 엔드포인트는 조직 ID를 받지 않습니다. 사용자의 키가 이미 속한 조직을 식별하며, 응답은 해당 조직으로 한정됩니다.
무료 체험하기
대괄호 안에 있는 모든 내용을 사용자 지정 값으로 바꾸고, 키 플레이스홀더는 대시보드의 키로 바꾸세요.
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>> }'로그인하셨나요? 대시보드의 API 콘솔이 실제 조직 ID와 본인의 키를 자동으로 채우고 라이브 API를 대상으로 요청을 실행하므로 실제 응답을 확인할 수 있습니다. API 콘솔에서 이 엔드포인트를 여세요
상세 정보
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`.
매개변수
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
siteId (path) | Uuid | 예 | Site ID (UUIDv7). |
요청 본문
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
core | string<off, minor, all> | 예 | `minor` is WordPress's own default (security and maintenance releases); `all` includes major upgrades unattended; `off` disables core auto-updates. |
plugins | boolean | 예 | Whether every plugin should auto-update. |
themes | boolean | 예 | Whether every theme should auto-update. |
ring | string<canary, early, general> | 예 | The staged-rollout ring this site belongs to. |
응답
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
core | string<off, minor, all> | 예 | The stored policy for WordPress core updates. |
plugins | boolean | 예 | The stored policy — whether every plugin should auto-update. |
themes | boolean | 예 | The stored policy — whether every theme should auto-update. |
ring | string<canary, early, general> | 예 | The staged-rollout ring this site belongs to. |
applied_at | string | 예 | 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 | 예 | 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 | 예 | Whether the site itself was read. ⛔ An empty `drift` is only meaningful while this is `true`. |
observed_core | string | 예 | 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[] | 예 | The plugins on this site that are NOT auto-updating. |
themes_off | string[] | 예 | The themes on this site that are NOT auto-updating. |
drift | string<core, plugins, themes>[] | 예 | Which of `core`, `plugins`, `themes` the site disagrees with the policy about. |
이 엔드포인트가 반환할 수 있는 오류
401 · 403 · 404 · 422 · 429 · 503