Sync site items

View as MarkdownOpen in Claude
Refreshes the inventory of installed plugins, themes and core on the selection: one `site-items.sync` Site Action per website the preflight accepted. Body parameters: - `sites` (integer array, required): exact website ids, 1 to 200, scoped to the token's organization. 202 with the created `site-actions` documents under `data` and `meta.skipped`: one entry per website the preflight refused, `{site_id, site_name, site_action_id, reason_code, message}`. `site_action_id` is always null in these entries; `site_name` is null for `PERMISSION_DENIED`. A disconnected website answers `reason_code: SITE_UNREACHABLE`; a website synchronized recently `ALREADY_APPLIED`. `data: []` is still a 202. - **422**: `sites` missing, empty, over 200 ids, or containing an id that resolves to no row. - **403**: a read-only token (`read` ability only, no `write`).

Authentication

AuthorizationBearer

Personal access token created in the Modular DS dashboard; read-only tokens can only call GET endpoints.

Request

This endpoint expects an object.
siteslist of doublesOptional

Response

202 Accepted - one sync launched, one website skipped

datalist of objectsOptional
jsonapiobjectOptional
metaobjectOptional