Trash

When you delete an entry, composition, pattern, or asset, Uniform moves it to Trash instead of removing it immediately. You can restore it from there until the retention period ends.

Trash is a safety net for accidental deletes. It isn't a version history and it isn't a long-term archive — content history still tracks earlier versions of the items you haven't deleted.

Trash is available for:

  • Entries
  • Compositions
  • Entry patterns
  • Component patterns
  • Composition patterns
  • Assets
  • Editions of entries and compositions

Deleting a project, component definition, workflow, redirect, or other setting is permanent.

Every listing that supports Trash has its own Trash page in the sidebar, below My recents and Favorites.

The entries sidebar with Trash selected.
Trash in the entries sidebar.

Each page shows only the deleted items of that type. Trashed items don't appear in the normal listing, in search results, or in My recents.

Deleting asks you to confirm, then moves the item out of the listing and into Trash.

Confirmation dialog shown before an item is moved to Trash.
Deleting an item asks for confirmation.

Unpublish instead of delete

Unpublish if you only need to take something off the site and keep working on it. Delete when you intend to remove it and might want it back later.

If the item was published:

  • The published version is removed immediately and can't be restored.
  • The draft moves to Trash.
  • Restoring brings the item back as a draft. Publish it again if it should be live.

Assets have no draft and published split, so restoring an asset returns the same asset record.

With a release selected:

  • Deleting an item that already exists on Base schedules the delete for launch. It is not moved to Trash at delete time. When the release launches, the Base item moves to Trash.
  • Deleting an item that exists only on the release moves it to that release's Trash. You can restore it while you're viewing that release. After launch, release-only deleted items are gone.

A locked release blocks restoring the same way it blocks other edits.

Restore is available on every row. The list is paginated and sorted by most recently deleted.

Trash list of deleted entries showing name, type, slug, and when each was deleted.
The Trash list, with restore available on each row.

Opening a trashed item shows it read-only, with restore in the header. It stays read-only until you restore it.

Editor header for a trashed item, showing its deleted and read-only state.
A trashed item opens read-only, with restore in the editor header.
  • The item returns to its listing and is editable again.
  • Webhooks and search re-indexing run as they would for any other update.
  • Trashed items don't count toward plan usage, so a restore can fail if the project is already at its plan limit.

If another active entry or composition already uses the same slug, the restore is blocked. Change or remove the conflicting slug, then restore again.

Trashing a composition disconnects it from its project map node, and restoring doesn't reattach it. Uniform reminds you of this before restoring, so you can reattach the node manually afterwards.

Dialog shown when restoring a composition, about reattaching a project map node.
Restoring a composition reminds you to reattach its project map node.

Each edition of an entry or composition is trashed and restored on its own.

  • Deleting a base entry or composition also moves all of its editions to Trash.
  • Deleting a single edition moves only that edition. If it was serving locales that no other published edition covers, those locales become inaccessible until you restore it or publish another edition.
  • You can't restore an edition while its base is still in Trash. Restore the base first.
  • A restored edition serves its locales again at its original priority.

Moving an asset to Trash takes its file off the public CDN path, so direct file URLs stop working immediately. Restoring puts the file back at the same URL.

Items stay in Trash for the project's history retention period — the same limit that applies to content history, typically 30 days. After that, a daily job permanently deletes them.

Once an item is purged, Uniform can't recover it. Use a CLI backup in Git if you have one.

ActionRequired permission
View Trash and open a trashed itemExisting Read permission for that type
RestoreUpdate permission for that type
Move to TrashDelete permission for that type

For details on configuring permissions, see roles and permissions.

Trash is exposed on the existing content APIs. Default list and get calls omit trashed items.

GET query parameter deleted on entries, compositions, assets, and release contents:

ValueResult
exclude (default)Only items that are not in Trash
onlyOnly items in Trash
includeBoth
EndpointOpenAPI
GET / DELETE / PUT /api/v1/entriesEntries
GET / DELETE / PUT /api/v1/canvasCompositions
GET / DELETE / PUT /api/v1/assetsAssets
GET /api/v1/release-contentsRelease contents

DELETE moves the item to Trash. PUT of a trashed id restores it (for a file-backed asset, include the original file reference). Responses may include deletedAt when the item is in Trash.

Searching, filtering, faceting, or custom sorting is not supported with deleted set to only or include.

The CLI uses the same API. See the canvas commands for remove, and sync for what pull and push do with trashed items. uniform canvas component remove deletes component definitions, which don't go to Trash.

  • Restore a published version as published. Restored entries, compositions, and patterns are always drafts.
  • Reattach a composition to its project map node.
  • Restore an edition whose base is still in Trash.
  • Keep release-only deletes after the release launches.
  • Empty Trash or restore many items at once.
  • Replace backups. After the retention period, only an external backup can bring the item back.