Skip to content

Rescan and atomically reconcile plugins

POST
/plugins/reload
curl --request POST \
--url https://example.com/api/v1/plugins/reload

Runs 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.

Reload completed or feature-off no-op summary

Media typeapplication/json

Atomic reload summary. When plugins are disabled, reloaded is false and every counter is zero; no filesystem scan or durable mutation occurs.

object
pluginsEnabled
required
boolean
reloaded
required
boolean
discovered
required

Manifest files found by the bounded scan.

integer
registered
required

Validated plugins published in the new registry snapshot.

integer
rejected
required

Malformed, invalid, duplicate, or otherwise rejected scan entries.

integer
missing
required

Persisted plugins marked undiscovered by this successful reconciliation.

integer
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

Media typeapplication/json
object
code
required

Stable management failure code; raw filesystem/database diagnostics are never returned.

string
Allowed values: invalid_identity plugins_disabled plugin_not_found internal_error
error
required
string
Example
{
"code": "invalid_identity"
}