---
title: "Replace slides in an existing deck and recompile"
method: PATCH
path: "/v1/deck/{deck_id}"
tags: ["deck"]
---

# Replace slides in an existing deck and recompile

`PATCH /v1/deck/{deck_id}`

## Request

- Base URL: `https://api.slideforge.dev`
- URL: `https://api.slideforge.dev/v1/deck/{deck_id}`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Swap one or more slides in a previously compiled deck. Pass position (1-based) and any completed job_id. Returns 202 — poll GET /v1/jobs/{deck_id} for recompile progress.

## Path parameters

- `deck_id` string, required

## Request body

- DeckUpdateRequest: PATCH /v1/deck/{deck_id} request body.
  - `replace` SlideReplacement[], required
    - `position` integer, required
    - `job_id` string, required
  - `title` string, nullable
  - `author` string, nullable
  - `slide_numbers` boolean

## Response `200`

Successful Response

- unknown

## Other responses

- `202`: Recompile started
- `400`: Invalid request
- `404`: Deck not found
- `409`: Deck not in a recompilable state
- `422`: Validation Error

---

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