---
title: "Update a preset"
method: PUT
path: "/presets/{presetId}"
tags: ["Presets"]
---

# Update a preset

`PUT /presets/{presetId}`

## Request

- Base URL: `https://renderio.dev/api/v1`
- URL: `https://renderio.dev/api/v1/presets/{presetId}`
- Auth: API key in header `X-API-KEY`

## Request body

- UpdatePresetRequest: Only the supplied fields are changed.
  - `name` string
  - `description` string
  - `category` string
  - `command_type` 'FFMPEG_COMMAND' | 'CHAINED_COMMAND' | 'MULTIPLE_COMMAND' | 'YTDLP_COMMAND'
  - `ffmpeg_command` string
  - `ffmpeg_commands` string[]
  - `input_file_keys` string[]
  - `output_file_definitions` OutputFiles: Output aliases mapped to filenames. Keys must start with `out_`.
  - `metadata` Metadata: Up to 10 arbitrary key/value pairs echoed back on the command.

## Response `200`

Updated preset

- Preset
  - `preset_id` string, required
  - `name` string, required
  - `description` string, nullable
  - `is_system` boolean, required
  - `command_type` 'FFMPEG_COMMAND' | 'CHAINED_COMMAND' | 'MULTIPLE_COMMAND' | 'YTDLP_COMMAND', required
  - `ffmpeg_command` string, nullable
  - `ffmpeg_commands` string[], nullable
  - `input_file_keys` string[], required
  - `output_file_definitions` OutputFiles, required: Output aliases mapped to filenames. Keys must start with `out_`.
  - `category` string, nullable
  - `metadata` object, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `401`: Missing or invalid API key
- `404`: Resource not found
- `422`: Request failed validation
- `429`: Rate limit exceeded — retry after the `Retry-After` interval

---

[API](https://skmtc.dev/renderio/apis/renderio-api.md) · [All operations](https://skmtc.dev/renderio/apis/renderio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/renderio/apis/renderio-api/revisions/062c8f1c062b?raw)
