Manage component
Activates or deactivates one plugin or theme on the selection. The action is explicit, never a flip: one `manager.activate`/`manager.deactivate` Site Action per accepted website.
Body parameters:
- `sites` (integer array, required): exact ids, 1 to 200.
- `action` (string, required): `activate` | `deactivate`.
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`. `data: []` is still a 202.
- **422**: `sites` missing/empty/over 200/unknown id; `action` outside `activate`/`deactivate`.
- **404**: `{component}` does not exist or is not reachable from the token's organization.
- **403**: a read-only token.
Authentication
AuthorizationBearer
Personal access token created in the Modular DS dashboard; read-only tokens can only call GET endpoints.
Path parameters
component
Request
This endpoint expects an object.
action
sites
Response
202 Accepted - one deactivation launched, one website skipped
data
jsonapi
meta

