Assign websites to a malware scan configuration
Assigns an explicit selection of websites to one Malware Scanner global configuration. Answers **200** with `meta.status` (`applied` when at least one website changed, `skipped` when none did), `meta.updated` and `meta.skipped`; the change is immediate, there is nothing to poll.
**Body** (JSON):
- `sites` (array of website ids, required, 1 to 200).
What happens to each website:
- A website with no Malware Scanner configuration gets this one; the scanning provider registers it in the background. A website that used another one moves to this one, taking the new tier; if it was already registered, its plan is pushed to the provider.
- Every assigned website is left scanning **enabled**, even if it was paused. To move one website and keep it paused, use "Update malware scan service" instead.
- Websites left out of the selection are never unassigned: a website leaves a configuration by moving to another one.
- A website that already uses this configuration, or that the token cannot reach, is answered in `meta.skipped` with a `reason_code` (`ALREADY_APPLIED`, `PERMISSION_DENIED`) and a message instead of failing the call.
`meta.updated` entries carry `site_id`, `site_name` and `site_preset_malware_scan_id`, the id "Show malware scan service" and "Update malware scan service" take.
Requires a full-access token (read-only tokens answer 403). An id that is not a website answers 422.
Authentication
AuthorizationBearer
Personal access token created in the Modular DS dashboard; read-only tokens can only call GET endpoints.
Path parameters
preset_malware_scan
Request
This endpoint expects an object.
sites
Response
200 - Websites assigned, one skipped
jsonapi
meta

