# Edit the VOD settings A merge patch, applied to the running registry at once — a smaller max_jobs evicts, a new job_ttl_seconds reschedules retention, a new webhook or default takes effect for the next job. content_dir and jobs_dir are read at Engine start and apply at the next one. 400 for a bound violation or a lifecycle_webhook_secret naming no configured secret. Endpoint: PATCH /persist/vod-settings Version: 2.0.0 Security: engineBasic ## Header parameters: - `If-Match` (string, required) ETag of the revision this write is based on. * is not supported: quoting "any revision" defeats the concurrency check and is rejected with 412. ## Request fields (application/merge-patch+json): - `max_concurrent_jobs` (integer) Jobs analyzed at once; the rest queue. Default 1. - `max_jobs` (integer) Job records kept; the oldest finished job is evicted first. Default 25. - `job_ttl_seconds` (integer) How long a finished job stays before retention removes it; 0 keeps them until evicted. Default 0. - `content_dir` (string,null) The content directory jobs read from and uploads land in, relative to the Engine home unless absolute. Applies at the next Engine start. - `jobs_dir` (string,null) Where job records, results and thumbnails are stored. Applies at the next Engine start. - `lifecycle_webhook` (string,null) The default destination of every job's state changes; a job may override or turn it off. - `lifecycle_webhook_secret` (string,null) The name of the secret sent as Authorization to the default destination — and only to it. - `auto_resume` (boolean,null) Whether a job that stops for a transient reason is resumed on its own. Default true. - `max_upload_bytes` (integer) The largest upload POST /vod/files accepts; beyond it, 413. Default 10 GiB. - `etag` (string,null) Server-assigned and ignored on a write. ## Response 200 fields (application/json): - `max_concurrent_jobs` (integer) Jobs analyzed at once; the rest queue. Default 1. - `max_jobs` (integer) Job records kept; the oldest finished job is evicted first. Default 25. - `job_ttl_seconds` (integer) How long a finished job stays before retention removes it; 0 keeps them until evicted. Default 0. - `content_dir` (string,null) The content directory jobs read from and uploads land in, relative to the Engine home unless absolute. Applies at the next Engine start. - `jobs_dir` (string,null) Where job records, results and thumbnails are stored. Applies at the next Engine start. - `lifecycle_webhook` (string,null) The default destination of every job's state changes; a job may override or turn it off. - `lifecycle_webhook_secret` (string,null) The name of the secret sent as Authorization to the default destination — and only to it. - `auto_resume` (boolean,null) Whether a job that stops for a transient reason is resumed on its own. Default true. - `max_upload_bytes` (integer) The largest upload POST /vod/files accepts; beyond it, 413. Default 10 GiB. - `etag` (string,null) Server-assigned and ignored on a write. ## Response 400 fields (application/problem+json): - `type` (string) URI identifying the problem type. - `title` (string, required) Short, human-readable summary of the problem type. - `status` (integer, required) The HTTP status code, repeated from the response line. - `detail` (string) Human-readable explanation specific to this occurrence. - `instance` (string) URI identifying this specific occurrence of the problem. ## Response 412 fields (application/problem+json): - `type` (string) URI identifying the problem type. - `title` (string, required) Short, human-readable summary of the problem type. - `status` (integer, required) The HTTP status code, repeated from the response line. - `detail` (string) Human-readable explanation specific to this occurrence. - `instance` (string) URI identifying this specific occurrence of the problem. ## Response 428 fields (application/problem+json): - `type` (string) URI identifying the problem type. - `title` (string, required) Short, human-readable summary of the problem type. - `status` (integer, required) The HTTP status code, repeated from the response line. - `detail` (string) Human-readable explanation specific to this occurrence. - `instance` (string) URI identifying this specific occurrence of the problem. ## Response default fields (application/problem+json): - `type` (string) URI identifying the problem type. - `title` (string, required) Short, human-readable summary of the problem type. - `status` (integer, required) The HTTP status code, repeated from the response line. - `detail` (string) Human-readable explanation specific to this occurrence. - `instance` (string) URI identifying this specific occurrence of the problem.