Stable-link workflow

Update a presentation without changing the link

Claim the deck, publish replacement HTML with the existing deck ID, and keep sharing the same reader URL. Slidesfly records each update as a version; restoring an earlier version creates a new current version instead of rewriting history.

Author
Slidesfly
Reviewed by
Slidesfly maintainers
Published
Updated
Tested with
Slidesfly CLI 0.1.3, an owned single-file deck, same-ID update, version history, restore, SHA-256 matching, and production reader navigation

7 minute workflow

How do you replace a presentation without changing its URL?

Use the original deck_id when you publish the replacement file. The reader URL is derived from that stable deck ID, while the current version points to the newest accepted bytes. Claim the deck before using account-managed version history or restore.

IdentifierWhat changesWhat stays stable
deck_idNothing during update or restore.The full slidesfly.xyz reader URL.
VersionIncrements after every update or restore.Older version records remain in history.
Current bytesBecome the uploaded file or restored source version.Access still goes through the reader and current policy.

Download the two verified versions

The proof uses two self-contained HTML decks with different visible markers, byte sizes, colors, and SHA-256 values. Version 1 was published, version 2 replaced it at the same deck ID, and version 1 was restored as version 3.

Publish, claim, update, inspect, and restore

  1. Publish the baseline artifact

    Publish deck-v1.html, save the returned deck_id and complete reader URL, and verify the Version 1 marker before changing anything.
  2. Claim the anonymous deck

    Sign in without auto-claim when you want to observe the explicit claim step, then claim the returned deck ID. The private claim token remains in the local CLI config.
  3. Update the existing deck ID

    Publish deck-v2.html with --id and the original deck ID. Do not run a second create command or construct a new reader URL.
  4. Inspect the immutable history

    List versions and confirm that version 2 is current while version 1 remains recorded with its original size and SHA-256.
  5. Restore version 1

    Restore version 1. Slidesfly creates version 3 from the old bytes instead of deleting or rewriting versions 1 and 2.
  6. Verify the stable reader URL

    Open the same reader URL, confirm the Version 1 marker and hash are current again, and test slide navigation before sharing.

1. Publish version 1

curl -fsSL https://slidesfly.com/install.sh | sh
slidesfly --version # continue with 0.1.3 or newer
slidesfly publish ./deck-v1.html --title "Slidesfly same-URL update and restore proof" --json

Save the returned deck_id and exact reader url. An anonymous publish is unlisted and its claim token remains in the local CLI config; do not paste that file into a prompt, issue, or report.

2. Claim the deck

slidesfly login --no-claim --json
slidesfly claim YOUR_DECK_ID --json

The default login flow may auto-claim local decks. Use --no-claim only when you specifically need to observe the explicit claim step shown here.

3. Update the same deck ID with version 2

slidesfly publish ./deck-v2.html --id YOUR_DECK_ID --json

Replace YOUR_DECK_ID with the value returned by the first publish. Running a new publish without --id creates a different deck and therefore a different link.

4. Inspect history and restore version 1

slidesfly versions YOUR_DECK_ID --json
slidesfly restore YOUR_DECK_ID 1 --json
slidesfly versions YOUR_DECK_ID --json

A successful restore reports restored_from: 1 and creates version 3. It does not make version 1 current in place or remove the intervening update.

Observed production version sequence

VersionOperationBytesSHA-256Final state
1Published baseline4,2329c2f8626ba1a3889aadf22cd98892964a330ace454a6bddfd06e1dc6878bbba8Historical
2Published update with the same deck ID4,235981102c2c5eec330ca2b8ead752a8bbc18e960cbd006ae3805f1b16b1ca3ef3cHistorical
3Restored from version 14,2329c2f8626ba1a3889aadf22cd98892964a330ace454a6bddfd06e1dc6878bbba8Current

All three operations used deck ID FwT7rsuUEkiypbiG1ujAp4. The complete reader URL remained https://slidesfly.xyz/d/FwT7rsuUEkiypbiG1ujAp4. Version 2’s live asset matched its source immediately before restore; the current version 3 asset now matches version 1.

Anonymous update, claim, and owned restore are different boundaries

  • The first single-file publish can be anonymous and unlisted. The originating CLI keeps the private claim credential locally.
  • That same local CLI can update its anonymous deck with --id, but versions and restore are account-managed operations.
  • Claiming transfers the deck into the authenticated account. Use the same owner account for later version and restore commands.
  • Update and restore do not change visibility automatically. This proof remains unlisted.
  • Deletion, expiry, visibility, and moderation can still make a stable reader unavailable. “Stable” means the identifier is reused, not that availability is guaranteed forever.

Update and restore failures

Error or symptomCauseRecovery
AUTH_REQUIREDThe deck is not claimed and the CLI has no account credential for version history.Log in, claim the local anonymous deck, then retry versions or restore.
DECK_NOT_OWNEDThe authenticated account does not own the supplied deck ID.Use the account that claimed the deck; do not retry against another user’s deck.
DECK_NOT_FOUNDThe deck ID or requested source version does not exist.Run versions with the exact deck ID and restore only a listed version number.
MALICIOUS_CONTENTThe replacement artifact violates the current upload security policy.Inspect and repair the local artifact. Do not auto-rewrite and repeatedly republish it.
Reader still shows old bytesA historical asset URL was shared, or the reader was checked before the update completed.Share only the stable slidesfly.xyz reader URL and verify the current version response.

Common questions

Does restore delete the newer version?

No. Restore copies the selected historical bytes into a new current version. In this proof, restoring version 1 created version 3 and left version 2 in history.

Can viewers keep using the old presentation link?

Yes. Keep sharing the slidesfly.xyz reader URL returned by the first publish. Do not share a versioned asset URL, because only the current asset is publicly delivered.

Must I claim before every update?

No. The originating CLI can update its local anonymous deck. Claiming is required when you need account ownership, cross-machine management, version listing, or restore.