---
{
  "id": "platform.slide.versioning-and-restore",
  "topic": "slide",
  "title": "Slide version history, restore, and safe copy",
  "locale": "en",
  "version": "2026-07-25",
  "summary": "Slide history keeps private immutable checkpoints, coalesces automatic versions, restores in place with confirmation, and can copy an old version into a new deck.",
  "content": "Two version systems are separate: a slide row's `expectedVersion` controls one-slide concurrency, while these history Actions snapshot the whole deck. `list_versions` is cursor-paginated; `get_version` returns a bounded read-only preview and changes nothing. Checkpoint types include initial, automatic, named, pre_restore, and restored, with the runtime enum authoritative. Writes may create automatic checkpoints, but identical state is skipped and nearby automatic writes coalesce within 10 minutes. Automatic checkpoints expire after 90 days; named and other protected types do not.\n\n`create_named_version` supports a label, `expectedHeadVersionId`, and idempotencyKey and should follow an explicit user request. `restore_version` changes the deck in place and supports dry-run preview. Execution requires UserConfirm plus `versionId` and `expectedHeadVersionId`; a changed head conflicts instead of overwriting unseen work. Runtime first saves a pre-restore checkpoint and returns its `preRestoreVersionId`, then records restored state.\n\n`copy_version` is the safe default after preview when the user wants old content without changing current state. It creates a new deck with fresh initial history, changes no source state, and needs no confirmation, but still requires private history-write authorization. Archived or read-only decks permit list/get only; create, restore, and copy return the read-only-history error, while `canRestore` and `canCopy` reflect that state. History read/write scopes are separate from core Slide scopes. Hard deletion purges all history, after which neither restore nor copy can recover it.\n",
  "aliases": [
    "presentation history",
    "named version",
    "restore deck",
    "copy old deck",
    "checkpoint",
    "expectedHeadVersionId"
  ],
  "tags": [
    "slide",
    "history",
    "restore",
    "copy",
    "checkpoint"
  ],
  "relatedActions": [
    "arinova.slide.list_versions",
    "arinova.slide.get_version",
    "arinova.slide.create_named_version",
    "arinova.slide.restore_version",
    "arinova.slide.copy_version",
    "arinova.slide.delete_deck"
  ],
  "relatedActionPrefixes": [],
  "url": "https://docs.arinova.ai/en/kb/slide/versioning-and-restore/"
}
---

Two version systems are separate: a slide row's `expectedVersion` controls one-slide concurrency, while these history Actions snapshot the whole deck. `list_versions` is cursor-paginated; `get_version` returns a bounded read-only preview and changes nothing. Checkpoint types include initial, automatic, named, pre_restore, and restored, with the runtime enum authoritative. Writes may create automatic checkpoints, but identical state is skipped and nearby automatic writes coalesce within 10 minutes. Automatic checkpoints expire after 90 days; named and other protected types do not.

`create_named_version` supports a label, `expectedHeadVersionId`, and idempotencyKey and should follow an explicit user request. `restore_version` changes the deck in place and supports dry-run preview. Execution requires UserConfirm plus `versionId` and `expectedHeadVersionId`; a changed head conflicts instead of overwriting unseen work. Runtime first saves a pre-restore checkpoint and returns its `preRestoreVersionId`, then records restored state.

`copy_version` is the safe default after preview when the user wants old content without changing current state. It creates a new deck with fresh initial history, changes no source state, and needs no confirmation, but still requires private history-write authorization. Archived or read-only decks permit list/get only; create, restore, and copy return the read-only-history error, while `canRestore` and `canCopy` reflect that state. History read/write scopes are separate from core Slide scopes. Hard deletion purges all history, after which neither restore nor copy can recover it.
