---
{
  "id": "platform.slide.slides-ordering-and-editing",
  "topic": "slide",
  "title": "Ordered slides, editing, duplication, and conflicts",
  "locale": "en",
  "version": "2026-07-25",
  "summary": "Slide pages are a complete ordered sequence; edits use expectedVersion, inserts and duplicates have deterministic placement, and the final slide cannot be deleted.",
  "content": "`list_slides` returns the deck's current ordered sequence. `add_slide` appends when `afterSlideId` is omitted and inserts immediately after that slide when it is supplied; a missing anchor returns `resource_not_found`. Omitting content creates a blank version 2 slide. `duplicate_slide` copies source content and speaker notes, optionally overrides the title, and places the copy immediately after the source.\n\n`update_slide` is an optimistic-locking edit. Pass the integer `expectedVersion` from the slide just read. Only supplied title, content, or `speakerNotes` fields change, and success increments the row version by one. Content is a whole-body replacement, not an element merge; changing one element requires sending the complete elements array. A stale value returns `resource_conflict` with `currentVersion`; fetch current state, reconcile, and retry with that version rather than resending unchanged arguments. This row version is unrelated to deck-level history Actions. Content and speaker notes are redacted from Action audit plaintext.\n\n`reorder_slides` requires every current slide ID exactly once: no missing IDs, duplicates, or foreign IDs. The supplied array becomes the full order atomically. `delete_slide` requires UserConfirm and cannot remove the final slide; add its replacement first when changing the only page. A deck supports at most 200 slides; at capacity, add and duplicate operations fail with a typed resource conflict. Treat action results and current deck state as authoritative after concurrent edits.\n",
  "aliases": [
    "add presentation page",
    "reorder presentation",
    "duplicate page",
    "slide version conflict",
    "expectedVersion",
    "speaker notes"
  ],
  "tags": [
    "slide",
    "ordering",
    "editing",
    "optimistic-lock",
    "speaker-notes"
  ],
  "relatedActions": [
    "arinova.slide.list_slides",
    "arinova.slide.add_slide",
    "arinova.slide.update_slide",
    "arinova.slide.delete_slide",
    "arinova.slide.reorder_slides",
    "arinova.slide.duplicate_slide"
  ],
  "relatedActionPrefixes": [],
  "url": "https://docs.arinova.ai/en/kb/slide/slides-ordering-and-editing/"
}
---

`list_slides` returns the deck's current ordered sequence. `add_slide` appends when `afterSlideId` is omitted and inserts immediately after that slide when it is supplied; a missing anchor returns `resource_not_found`. Omitting content creates a blank version 2 slide. `duplicate_slide` copies source content and speaker notes, optionally overrides the title, and places the copy immediately after the source.

`update_slide` is an optimistic-locking edit. Pass the integer `expectedVersion` from the slide just read. Only supplied title, content, or `speakerNotes` fields change, and success increments the row version by one. Content is a whole-body replacement, not an element merge; changing one element requires sending the complete elements array. A stale value returns `resource_conflict` with `currentVersion`; fetch current state, reconcile, and retry with that version rather than resending unchanged arguments. This row version is unrelated to deck-level history Actions. Content and speaker notes are redacted from Action audit plaintext.

`reorder_slides` requires every current slide ID exactly once: no missing IDs, duplicates, or foreign IDs. The supplied array becomes the full order atomically. `delete_slide` requires UserConfirm and cannot remove the final slide; add its replacement first when changing the only page. A deck supports at most 200 slides; at capacity, add and duplicate operations fail with a typed resource conflict. Treat action results and current deck state as authoritative after concurrent edits.
