Content

Restore trashed content

Bring a soft-deleted (trashed) content row back out of the Trash. Requires the write:content scope. Takes no request body.

Only content that is currently IN the Trash can be restored: the lookup requires the row to be org-scoped and to have a deletion timestamp, so a live (never-deleted) id, an already-restored id, and another organization's id are all indistinguishable 404s. Restoring is idempotent only in the sense that a second call 404s — it will not re-restore.

There is a hard 30-day customer restore window measured from the deletion timestamp. Once 30 or more full days have passed the endpoint answers 410 and the row can only be recovered by Frase support. The restore clears the deletion markers, bumps the row's updated_at, and may bring linked companion records back with it; those companions are not reported in this response.

title and status in the response are the values the row already had — restoring does not change a content row's workflow status. This endpoint does NOT run the content-rules gate and never returns 422 or a retry_with_force hint; that behaviour belongs to the CMS post version-restore endpoint, which republishes through the update path.

CORS preflight is supported (OPTIONS returns 204; allowed methods POST, OPTIONS; allowed headers Content-Type, X-API-KEY, token).

post/content/{id}/restore

Request

  • Base URL: https://next.frase.io/api/v1
  • URL: https://next.frase.io/api/v1/content/{id}/restore
  • Auth: API key in header X-API-KEY

Path parameters

idstring uuid required

ID of the trashed content to restore

Response

Content restored

Changes

No recorded changes to this operation across all 1 revision of this API.