Rescan and atomically reconcile plugins
const url = 'https://example.com/api/v1/plugins/reload';const options = {method: 'POST'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/v1/plugins/reloadRuns the bounded plugin scan, validates complete candidates, reconciles durable state in one
transaction, then atomically publishes the new registry snapshot. Concurrent reload callers
share the serialized operation. When the plugin ecosystem is disabled, returns a successful
no-op summary with reloaded: false, zero counters, and no filesystem or database mutation.
Browser requests must be same-origin; authenticated non-browser clients may omit the Origin
header.
Responses
Section titled “Responses”Reload completed or feature-off no-op summary
Atomic reload summary. When plugins are disabled, reloaded is false and every counter is zero;
no filesystem scan or durable mutation occurs.
object
Manifest files found by the bounded scan.
Validated plugins published in the new registry snapshot.
Malformed, invalid, duplicate, or otherwise rejected scan entries.
Persisted plugins marked undiscovered by this successful reconciliation.
Examplegenerated
{ "pluginsEnabled": true, "reloaded": true, "discovered": 1, "registered": 1, "rejected": 1, "missing": 1}Cross-origin browser request rejected before scan or mutation
Reload failed; the previous in-memory registry remains usable
object
Stable management failure code; raw filesystem/database diagnostics are never returned.
Example
{ "code": "invalid_identity"}