Why use Systemplane
In a traditional deployment, changing a configuration value means updating environment variables and restarting the service. Systemplane eliminates that downtime for many settings:
- Adjust rate limits during traffic spikes without a redeploy
- Tune worker intervals based on observed workload. A configuration reload reconciles the affected worker and restarts it when its running configuration changes
- Update the maximum number of tenant pools as traffic patterns change. PostgreSQL connections-per-pool settings require an environment change and restart
- Inspect current runtime values to diagnose production issues without log diving
How it works
Systemplane provides a flat key-value management API. All configuration keys are in a single namespace under
/system/matcher.
Endpoints
The running Matcher instance serves these endpoints directly. They do not sit under
/v1. Use the paths above exactly as shown.Permissions
Systemplane configuration and catalog routes use the same authentication as Matcher API routes. With authentication enabled, these routes require the
system-runtime-config:admin RBAC permission (resource system-runtime-config, action admin). GET /system/matcher/streaming/manifest is a separate route and requires streaming-manifest:read.
With authentication disabled, all endpoints are accessible without restriction.
Apply behaviors
You can change only some configuration values at runtime. Each key has an apply behavior that tells you when changes take effect:
The systemplane API does NOT register most bootstrap-only keys. You manage them exclusively through environment variables. This prevents a footgun where an admin PUT would appear to succeed but the running process would silently continue using the boot-time value. The registered Swagger keys are an exception: they are visible in Systemplane but remain bootstrap-only (see the note below).
Common configuration keys
Below are the keys you adjust most often, organized by category. For a complete list, call
GET /system/matcher.
Runtime-adjustable keys
You can change these keys without a Matcher restart:swagger.enabled, swagger.host, and swagger.schemes are registered and visible in Systemplane, but they are not live controls. Matcher captures Swagger mounting and handler values at bootstrap, so a runtime PUT does not change the live UI or specification behavior. Change their startup configuration and restart Matcher instead.Multi-tenant keys (runtime adjustable)
These keys control multi-tenant behavior, and you can adjust them without a restart. See Multi-Tenant Mode for details.Enabling multi-tenant mode itself (
tenancy.multi_tenant_enabled / MULTI_TENANT_ENABLED) is bootstrap-only. Matcher reads it once at startup. A change to it requires a restart. The Systemplane API does not register it, and you cannot toggle it at runtime. See the bootstrap-only table below.Bootstrap-only keys (require restart)
The systemplane API does not register these keys. Change them via environment variables and restart:Best practices
Inspect current values before changing
Inspect current values before changing
Call
GET /system/matcher to see all current runtime values before making any changes. This confirms what the process actually uses. It may differ from environment variables after previous PUT calls.Test changes in staging first
Test changes in staging first
Runtime application behavior varies by key, and worker changes can restart the affected worker. Test in a staging environment before applying to production.
Restart for bootstrap-only keys
Restart for bootstrap-only keys
If a key is not visible in
GET /system/matcher, it is bootstrap-only. Update the environment variable and restart the service. There is no runtime path for those values. A visible key can still be bootstrap-only when its documentation says so: the registered Swagger keys accept a runtime PUT but only take effect after a restart.Next steps
Multi-tenant mode
Enable and configure tenant isolation.
Exception routing
Configure exception dispatch to external systems.
Match rules
Configure transaction matching rules.
Security
Authentication, authorization, and data protection.

