The Settings API gives you programmatic control over the entire Riven configuration, which is modelled byDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/rivenmedia/riven/llms.txt
Use this file to discover all available pages before exploring further.
AppModel. You can read the current state, push partial updates, retrieve the JSON Schema for validation, and export or import configuration files. All routes are prefixed with /api/v1/settings and require a valid API key.
Schema endpoints
GET /settings/schema
Returns the full JSON Schema forAppModel. Useful for building configuration UIs or validating payloads before sending them to the update endpoints.
GET /settings/schema/keys
Returns a filtered JSON Schema that covers only the top-level keys you specify. Ideal for fetching the schema for a single section without downloading the entire document.Comma-separated list of top-level
AppModel field names. Example: version,api_key,updaters.Title field of the returned schema object.
400 if any of the requested keys do not exist in AppModel.
Read settings
GET /settings/get/all
Returns the complete current settings as anAppModel JSON object. Every field is included, including nested sub-models.
GET /settings/get/
Read one or more specific settings by dot-separated path. Multiple paths can be requested by separating them with commas.Comma-separated list of dot-notation paths. Example:
downloaders.real_debrid.enabled or version,debug.Update settings
POST /settings/set/all
Replace settings with a deeply-merged update. The supplied JSON object is recursively merged into the existing settings — nested keys not included in the request body are preserved.A partial or full
AppModel JSON object. Any key present in the body overwrites the current value; omitted keys are unchanged.400 if the resulting merged object fails AppModel validation.
POST /settings/set/
Update one or more specific settings by dot-notation path. Each path must have a corresponding entry in the request body.Comma-separated dot-notation paths to update. Example:
downloaders.real_debrid.enabled.An object whose keys are the same dot-notation paths and whose values are the new settings values.
400 if a path does not exist in the current settings or if the new value fails validation.
Persistence
GET /settings/load
Reloads the settings from disk, discarding any in-memory changes that have not been saved. Useful after manually editing the settings file.{"message": "Settings loaded!"}
POST /settings/save
Persists the current in-memory settings to disk.{"message": "Settings saved!"}
The
set/all and set/{paths} endpoints automatically call save after a successful update, so you normally do not need to call this endpoint directly.