> For the complete documentation index, see [llms.txt](https://vectis.liesware.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vectis.liesware.com/config.md).

# Config

## Reload the unified signed config

> Administrative endpoint requiring root or an admin client. Reloads the unified config (routes, remote\_routes, permissions, fpe\_profiles, tokenization\_profiles, mac\_profiles, commitment\_profiles, masking\_profiles, sharing\_profiles) only after VECTIS\_CONFIG\_PATH and VECTIS\_CONFIG\_SIGN\_PATH are successfully read, verified, and validated. Every route and profile kid must exist in the keys currently loaded in memory. A missing config reloads to empty sections; an invalid signature, invalid file, or unloaded kid returns an error and keeps the previous in-memory config. If config.json changed but config\_sign.json signs older content, reload keeps the previous state and returns a warning.

```json
{"openapi":"3.1.0","info":{"title":"Vectis HTTP API","version":"v1"},"tags":[{"name":"Config"}],"servers":[{"url":"http://127.0.0.1:3000","description":"Local default server over HTTP"},{"url":"https://127.0.0.1:3000","description":"Local HTTPS server when VECTIS_MODE=prod"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key"}},"schemas":{"ReloadConfigResponse":{"type":"object","required":["status","routes_loaded","remote_routes_loaded","clients_loaded","fpe_profiles_loaded","tokenization_profiles_loaded","deterministic_tokenization_profiles_loaded","mac_profiles_loaded","commitment_profiles_loaded","masking_profiles_loaded","sharing_profiles_loaded"],"properties":{"status":{"const":"reloaded"},"warning":{"type":"string","description":"Present only when config.json has changes not covered by config_sign.json and the previous in-memory config was kept."},"routes_loaded":{"type":"integer","minimum":0},"remote_routes_loaded":{"type":"integer","minimum":0},"clients_loaded":{"type":"integer","minimum":0},"fpe_profiles_loaded":{"type":"integer","minimum":0},"tokenization_profiles_loaded":{"type":"integer","minimum":0},"deterministic_tokenization_profiles_loaded":{"type":"integer","minimum":0},"mac_profiles_loaded":{"type":"integer","minimum":0},"commitment_profiles_loaded":{"type":"integer","minimum":0},"masking_profiles_loaded":{"type":"integer","minimum":0},"sharing_profiles_loaded":{"type":"integer","minimum":0}}},"ErrorResponse":{"type":"object","required":["error"],"properties":{"error":{"$ref":"#/components/schemas/TextField"}}},"TextField":{"type":"string","minLength":1,"pattern":"^[^\\x00-\\x1F\\x7F-\\x9F]+$"}},"responses":{"Error":{"description":"Public error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/config/reload":{"post":{"tags":["Config"],"summary":"Reload the unified signed config","description":"Administrative endpoint requiring root or an admin client. Reloads the unified config (routes, remote_routes, permissions, fpe_profiles, tokenization_profiles, mac_profiles, commitment_profiles, masking_profiles, sharing_profiles) only after VECTIS_CONFIG_PATH and VECTIS_CONFIG_SIGN_PATH are successfully read, verified, and validated. Every route and profile kid must exist in the keys currently loaded in memory. A missing config reloads to empty sections; an invalid signature, invalid file, or unloaded kid returns an error and keeps the previous in-memory config. If config.json changed but config_sign.json signs older content, reload keeps the previous state and returns a warning.","responses":{"200":{"description":"Reloaded unified config","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReloadConfigResponse"}}}},"default":{"$ref":"#/components/responses/Error"}}}}}}
```
