Update a preset — a new version when its steps or subjects change
Send only what changes: the body is merged over the current preset, and a field it leaves out keeps its value ({"name": "…"} is a whole rename; the slug stays unless you send one). What you do send is checked exactly as on create; "" empties the description. A change to steps or subjects moves the preset to version + 1 and keeps the previous one readable and runnable as slug@version, so a job or automation that pinned a version keeps running exactly that. A name, description or slug edit is not a version. Sending the steps it already has changes nothing. Answers with the preset as saved, and warnings as a create does.
DO NOT USE WHEN:
- Changing a built-in (403) → GET it and POST its steps as your own
Request
- Base URL: https://api.imagestep.dev
- URL: https://api.imagestep.dev/api/v1/presets/{slug}
- Auth: API key in header Authorization
Path parameters
Preset slug or id
Headers
Optional. A client-generated unique key (typically a UUID). Same key + the same request (method, path, query string and body) replays the first response verbatim with Idempotency-Replayed: true, without executing again. Same key + a different one returns 409 idempotency_key_reuse. A repeat that arrives while the first is still running returns 409 request_in_progress, which is retryable. Keys are retained 24 hours. At most 255 characters; a longer one is a 400 invalid_param with param: "Idempotency-Key".
Request body
Example request
{
"name": "Product cut-out, 1200 WebP",
"slug": "product-cutout",
"steps": [
{
"op": "resize",
"parameters": {
"width": 1200,
"height": 1200,
"fit": "contain"
}
},
{
"operation": "sharpen",
"params": {
"sigma": 0.5
}
},
{
"op": "convert",
"parameters": {
"format": "webp",
"quality": 85
}
}
]
}Response
The preset as saved — at version + 1 when its steps or subjects changed
Changes
No recorded changes to this operation across all 1 revision of this API.