Launch site scans
Authentication
Personal access token created in the Modular DS dashboard; read-only tokens can only call GET endpoints.
Request
Response
202 - Scans launched, one skipped
Personal access token created in the Modular DS dashboard; read-only tokens can only call GET endpoints.
202 - Scans launched, one skipped
Launches a malware scan on an explicit selection of websites, one scan per website, over each website’s configured areas unless included names them (core, plugins, themes, mu_plugins, content, uploads, database); each website’s own exclusions always apply. Answers 202 with data as site-scans resources - one per website the preflight accepted - and meta.skipped for every website it refused.
Body (JSON):
sites (array of website ids, required, 1 to 200).included (array of string, optional) - areas to scan instead of each website’s configured ones.A website that is disconnected, has no Malware Scanner configuration, is not yet registered with the scanning provider, already has a scan running, or has no scan quota left for any of the requested areas this period is answered in meta.skipped with a reason_code (SITE_UNREACHABLE, UNSUPPORTED, CONFLICT, QUOTA_EXCEEDED - the last carries the reset date) instead of failing the call. When only one of the requested areas has quota left, that website’s scan still runs, on that area alone, and the response carries a meta.warnings entry naming the area left out.
A manual scan uses the website’s scan quota and does not move its scheduled scan; a scan can take hours - follow the launched ids with “List site scans” (filter[id][]) and read status/verdict.
Requires a full-access token (read-only tokens answer 403).