---
title: "Get a preset, or one earlier version of it"
method: GET
path: "/api/v1/presets/{slug}"
tags: ["Preset Management"]
---

# Get a preset, or one earlier version of it

`GET /api/v1/presets/{slug}`

## Request

- Base URL: `https://api.imagestep.dev`
- URL: `https://api.imagestep.dev/api/v1/presets/{slug}`
- Auth: API key in header `Authorization`

`{slug}` is a slug or id for the current version, or `slug@version` for one version — the spelling
`POST /api/v1/jobs {presetId}` and `POST /api/v1/images/transform?preset=` accept, so what a job ran
can always be read back. `?version=N` is the same as `slug@N`; give the version one way, not both.

The response is the export shape: `steps`, `subjects`, `version` and the superseded `versions`,
plus `usage` over every version. An earlier version comes back with its own steps, subjects and
`updatedAt` (when that version was saved) and without history.

## Path parameters

- `slug` string, required

## Query parameters

- `version` integer

## Response `200`

The preset, at the version asked for

## Other responses

- `400`: - `invalid_param` on `slug` — the version (`@N` or `?version=N`) is not a positive number - `invalid_param` on `version` — the version is given both as `@N` and as `?version=`
- `404`: `preset_not_found` — no such preset, no such version of it (never saved, or deleted), or it is not yours
- `429`: Rate limited — `error.code` is `rate_limited` and `retryable` is true. `Retry-After` says how many seconds to wait.

---

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