---
title: "Restore one item or list from the trash"
method: POST
path: "/api/v1/trash/restore"
tags: ["Trash"]
---

# Restore one item or list from the trash

`POST /api/v1/trash/restore`

## Request

- Base URL: `https://api.roma.app`
- URL: `https://api.roma.app/api/v1/trash/restore`
- Auth: HTTP bearer

Bring back one soft-deleted item or list from the trash (see list_deleted). Restoring a list also brings back the items deleted with it; an item whose list is still in the trash can't come back alone (restore the list first). An item whose list is gone for good lands on the hub's default list for what it was (movedToDefaultList: true). Restores one thing per call. If it is already live the call succeeds with alreadyLive: true.

## Request body

- object
  - `type` 'item' | 'list', required: The entry's type, as list_deleted reported it.
  - `id` string, required: The deleted item's or list's id.

## Response `200`

The tool's result.

- object
  - `restored` boolean, required
  - `alreadyLive` boolean
  - `type` string, required
  - `id` string, required
  - `title` string, nullable, required
  - `restoredItems` number
  - `movedToDefaultList` boolean

## Other responses

- `400`: The request was understood and refused; the error says what to change.
- `401`: No usable bearer token.
- `404`: No such item for this account.
- `405`: The path exists but not with this method; Allow lists the ones that work.
- `429`: Over the rate limit; wait for Retry-After.

---

[API](https://skmtc.dev/roma/apis/roma-api.md) - [All operations](https://skmtc.dev/roma/apis/roma-api/llms.txt) - [OpenAPI document](https://skmtc.dev/roma/apis/roma-api/revisions/3dd91459b0fb?raw)
