âī¸ Process Management API#
The Process Management endpoints handle launching, stopping, restarting, and tracking subprocesses managed by DUMB.
đ Endpoints#
GET /process/processes#
Returns all configured processes, including enabled status, version, repo URL, and sponsorship URL.
â Example Response:#
{
"processes": [
{
"name": "rclone w/ RealDebrid",
"process_name": "rclone w/ RealDebrid",
"enabled": true,
"config": { "enabled": true, "...": "..." },
"version": "1.65.1",
"key": "rclone",
"config_key": "rclone",
"repo_url": "https://rclone.org",
"sponsorship_url": "https://rclone.org/sponsor/"
}
]
}
GET /process#
Fetch details about a specific process.
â ī¸ Required Query Parameter:#
process_name(string)
â Example Response:#
{
"process_name": "rclone w/ RealDebrid",
"config": { "enabled": true, "...": "..." },
"version": "1.65.1",
"config_key": "rclone"
}
POST /process/start-service#
Starts a specific process.
đ§ Request Body:#
{
"process_name": "rclone w/ RealDebrid"
}
â Example Response:#
{
"status": "Service started successfully",
"process_name": "rclone w/ RealDebrid"
}
POST /process/stop-service#
Stops a running process.
đ§ Request Body:#
{
"process_name": "rclone w/ RealDebrid"
}
POST /process/restart-service#
Restarts a running process.
đ§ Request Body:#
{
"process_name": "rclone w/ RealDebrid"
}
GET /process/service-status#
Gets the current status of a process.
â Example Response:#
{
"process_name": "rclone w/ RealDebrid",
"status": "running"
}
POST /process/start-core-service#
Starts one or more core services and all required dependencies. This is used during onboarding.
The core_services field can be a single object or an array. The name can be the config key (e.g., riven_backend) or a display name (e.g., Riven).
đ§ Request Body Examples:#
Riven
{
"core_services": {
"name": "riven_backend",
"debrid_service": "RealDebrid",
"debrid_key": "abc123",
"service_options": {}
},
"optional_services": ["zilean", "pgadmin", "riven_frontend"]
}
Decypharr
{
"core_services": {
"name": "decypharr",
"debrid_service": "RealDebrid",
"debrid_key": "abc123",
"service_options": {
"decypharr": { "use_embedded_rclone": true }
}
},
"optional_services": []
}
CLI Debrid
{
"core_services": {
"name": "cli_debrid",
"debrid_service": "RealDebrid",
"debrid_key": "abc123",
"service_options": {
"phalanx_db": { "enabled": true }
}
},
"optional_services": ["zilean"]
}
Plex Debrid
{
"core_services": {
"name": "plex_debrid",
"debrid_service": "RealDebrid",
"debrid_key": "abc123",
"service_options": {
"rclone": { "log_level": "DEBUG" },
"zurg": { "port": 9194 }
}
},
"optional_services": []
}
â Example Response:#
{
"results": [
{"service": "riven_backend", "status": "started"},
{"service": "decypharr", "status": "started"}
],
"errors": []
}
âšī¸ Notes:#
- Dependencies like Zurg or rclone are created using templates and attached to the calling core service.
- Optional services such as
pgadminorzileanare started only if included. debrid_keyis injected into Zurg or Decypharr as needed.service_optionscan override config values such aslog_level,port, orenabled.- Any startup errors appear in the
errorslist.
GET /process/core-services#
Returns the available core services, their dependencies, and default service options (used by onboarding).
GET /process/optional-services#
Returns optional services. You can pass core_service and optional_services query params to tailor the list.
đ§ Notes#
- All process names are matched against the entries defined in
dumb_config.json. - Most process commands are defined as arrays and are managed with subprocess handling inside Python.