---
schema_version: "1"
id: d0a826b680343ee2a6c5fd3604f3daccc3ae8525ae4aaef07edb9dd782fdf03b
title: Recycle Bin Methods
collection: tableau
version: current
locale: en-us
portal_url: https://docs.salesforce.com/tableau/current/en-us/api/rest_api/REST/rest_api_ref_recycle_bin.md
canonical_url: https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_recycle_bin.htm
source_site: help.tableau.com
content_type: documentation
content_hash: ca920e7883c6d550fd3a72f674c7f5d2e9f9531b1ba29ed60ab40a42f0e9ce1a
description: The Recycle Bin methods of the Tableau REST API allow you to manage Recycle Bin content on your site
---
[Skip to main content](#main-content)

# Recycle Bin Methods

The Recycle Bin methods of the Tableau REST API allow you to manage Recycle Bin content on your site. Using these methods you can:

- **List Recycle Bin content:** Retrieve a list workbooks, data sources, flows, or projects in the Recycle Bin. Supports paging, filtering, and sorting.
- **Get Recycle Bin content:** Retrieve details for a specific content item in the Recycle Bin.
- **Restore Recycle Bin content:** Restore a single content item from the Recycle Bin to a specified project.
- **Delete Recycle Bin content:** Permanently delete a single Recycle Bin content item or empty the entire Recycle Bin for a site.

These methods are available starting in API version 3.29. For more information about the recycle bin, see [Manage the Recycle Bin](https://help.tableau.com/current/online/en-us/recycle_bin.htm).

## Delete All Recycle Bin Contents

Permanently deletes all content in a site's Recycle Bin .

**Version**: Available in API 3.29 (Tableau Cloud June 2026 / Server 2026.2).

**License**: No additional license required.

**Permissions**: Server administrators, site administrators, or other users.

**Access Scope**: `tableau:recyclebin_content:delete`

For more information, see [Versions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm), [Permissions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_permissions.htm), [Access scopes for UATs](https://help.tableau.com/current/api/cloud-manager/en-us/docs/unified_access_tokens.html#scopes) (Cloud), and access scopes for [Cloud](https://help.tableau.com/current/online/en-us/connected_apps_scopes.htm), [Server-Windows,](https://help.tableau.com/current/server/en-us/connected_apps_scopes.htm) or [Server-Linux](https://help.tableau.com/current/server-linux/en-us/connected_apps_scopes.htm).

Administrators delete all content in the site's Recycle Bin. Other users only delete content they own.

For information about how content properties change when it's deleted or restored. See [Recycle Bin](https://help.tableau.com/current/pro/desktop/en-us/recycle_bin.htm).

#### URI

DELETE /api/api-version/sites/site-id/recyclebin

DELETE /api/api-version/sites/site-id/recyclebin?asJob=asJob-value

#### Parameter Values

<table class="api-parameters-table"><colgroup><col class="api-parameters-table-col-1-wide"> <col></colgroup><tbody><tr><td><span class="api-placeholder">api-version</span></td><td>The version of the API to use, such as <code><span class="mc-variable Variables.REST-API-Version variable">3.29</span></code>. For more information, see <a href="https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm" class="xref">REST API and Resource Versions</a>.</td></tr><tr><td><span class="api-placeholder">site-id</span></td><td>The ID of the site that contains the Recycle Bin.</td></tr><tr><td><span class="api-placeholder">as-job-value</span></td><td>(Optional) If <code>true</code>, runs as an asynchronous job. Returns job information instead of executing synchronously. Default is <code>false</code>. Check the status of the job by calling <a href="https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_jobs_tasks_and_schedules.htm#query_job">Query Job</a>.</td></tr></tbody></table>

#### Request Body

None

#### Response Code

204 with synchronous execution (when query parameter asJob is false)

202 with asynchronous execution (when query parameter asJob is true and an `EmptyRecycleBin` job is created)

#### Response Body

No response body with synchronous execution(when query parameter asJob is false)

Returns a job object with asynchronous execution (when query parameter asJob is true and an `EmptyRecycleBin` job is created):

Datetime fields are returned in UTC format (YYYY-MM-DDTHH:MM:SSZ).

```
<tsResponse>
  <job id="12ab34cd-56ef-78ab-90cd-12ef34ab56cd"
    mode="Asynchronous"
    type="EmptyRecycleBin"
    progress="0"
    createdAt="2026-05-22T02:38:57Z"
    finishCode="1"/>
</tsResponse>
```

```
{
  "job":{
    "id":"12ab34cd-56ef-78ab-90cd-12ef34ab56cd",
    "mode":"Asynchronous",
    "type":"EmptyRecycleBin",
    "progress":"0",
    "createdAt":"2026-05-22T02:37:30Z",
    "finishCode":"1"
  }
}
```

#### Errors

<table class="api-error-table"><colgroup><col class="api-error-table-col-1"> <col class="api-error-table-col-2"> <col class="api-error-table-col-3"> <col></colgroup><tbody><tr><th>HTTP status</th><th><code>error</code> Code</th><th>Condition</th><th>Details</th></tr><tr><td>400</td><td>400000</td><td>Bad request</td><td>Check the request body and query string parameters.</td></tr><tr><td>401</td><td>401000</td><td>No auth credentials</td><td>Check the authorization header.</td></tr><tr><td>401</td><td>401002</td><td>Unauthorized</td><td>Session expired or invalid.</td></tr><tr><td>403</td><td>403004</td><td>Operation on resource unauthorized</td><td>Check user permission.</td></tr><tr><td>403</td><td>403157</td><td>Feature disabled</td><td>Recycle Bin disabled.</td></tr><tr><td>404</td><td>404000</td><td>Site not found</td><td>The site ID in the URI doesn't correspond to an existing site.</td></tr><tr><td>405</td><td>405000</td><td>Method not allowed</td><td>Request type unrecognized for this method.</td></tr><tr><td>406</td><td>406000</td><td>Unacceptable media type</td><td>Bad Accept: header.</td></tr><tr><td>409</td><td>409004</td><td>Invalid parameter</td><td>Parameter type-mismatched, unknown content type, or malformed LUID.</td></tr><tr><td>429</td><td>429000</td><td>Too many requests</td><td>Request throttled.</td></tr><tr><td>500</td><td>500000</td><td>Internal server error</td><td>Unknown error.</td></tr><tr><td>503</td><td>500001</td><td>Internal service error</td><td>Internal service error.</td></tr></tbody></table>

For more information, see [Handling Errors](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_errors.htm).

## Delete Recycle Bin Content Item

Permanently deletes the specified Recycle Bin content item.

**Version**: Available in API 3.29 (Tableau Cloud June 2026 / Server 2026.2).

**License**: No additional license required.

**Permissions**: Server administrators, site administrators, or other users.

**Access Scope**: `tableau:recyclebin_content:delete`

For more information, see [Versions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm), [Permissions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_permissions.htm), [Access scopes for UATs](https://help.tableau.com/current/api/cloud-manager/en-us/docs/unified_access_tokens.html#scopes) (Cloud), and access scopes for [Cloud](https://help.tableau.com/current/online/en-us/connected_apps_scopes.htm), [Server-Windows,](https://help.tableau.com/current/server/en-us/connected_apps_scopes.htm) or [Server-Linux](https://help.tableau.com/current/server-linux/en-us/connected_apps_scopes.htm).

Administrators can delete any content in the site's Recycle Bin. Other users can only delete content they own.

For information about how content properties change when it's deleted or restored. See [Recycle Bin](https://help.tableau.com/current/pro/desktop/en-us/recycle_bin.htm).

#### URI

DELETE /api/api-version/sites/site-id/recyclebin/content-type/content-id

#### Parameter Values

<table class="api-parameters-table"><colgroup><col class="api-parameters-table-col-1-wide"> <col></colgroup><tbody><tr><td><span class="api-placeholder">api-version</span></td><td>The version of the API to use, such as <code><span class="mc-variable Variables.REST-API-Version variable">3.29</span></code>. For more information, see <a href="https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm" class="xref">REST API and Resource Versions</a>.</td></tr><tr><td><span class="api-placeholder">site-id</span></td><td>The ID of the site that contains the Recycle Bin.</td></tr><tr><td><span class="api-placeholder">content-type</span></td><td>Content type in plural form: <code>workbooks</code>, <code>datasources</code>, <code>flows</code>, or <code>projects</code>.</td></tr><tr><td><span class="api-placeholder">content-id</span></td><td>The LUID of the Recycle Bin content item to delete.</td></tr></tbody></table>

#### Request Body

None

#### Response Code

204

#### Response Body

None

#### Version

Version 3.29 and later. For more information, see [REST API and Resource Versions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm).

#### Errors

<table class="api-error-table"><colgroup><col class="api-error-table-col-1"> <col class="api-error-table-col-2"> <col class="api-error-table-col-3"> <col></colgroup><tbody><tr><th>HTTP status</th><th><code>error</code> Code</th><th>Condition</th><th>Details</th></tr><tr><td>400</td><td>400000</td><td>Bad request</td><td>Check the request body and query string parameters.</td></tr><tr><td>401</td><td>401000</td><td>No auth credentials</td><td>Check the authorization header.</td></tr><tr><td>401</td><td>401002</td><td>Invalid auth credentials</td><td>Session expired or invalid.</td></tr><tr><td>403</td><td>403004</td><td>Operation on resource unauthorized</td><td>Check user permission.</td></tr><tr><td>403</td><td>403157</td><td>Feature disabled</td><td>Recycle Bin disabled.</td></tr><tr><td>404</td><td>404000</td><td>Site not found</td><td>The site ID in the URI doesn't correspond to an existing site.</td></tr><tr><td>404</td><td>404003</td><td>Unknown resource</td><td>Requested content item not found.</td></tr><tr><td>405</td><td>405000</td><td>Method not allowed</td><td>Request type unrecognized for this method.</td></tr><tr><td>406</td><td>406000</td><td>Unacceptable media type</td><td>Bad Accept: header.</td></tr><tr><td>409</td><td>409004</td><td>Invalid parameter</td><td>Parameter type-mismatched, unknown content type, or malformed LUID.</td></tr><tr><td>429</td><td>429000</td><td>Too many requests</td><td>Request throttled.</td></tr><tr><td>500</td><td>500000</td><td>Internal server error</td><td>Unknown error.</td></tr><tr><td>503</td><td>500001</td><td>Internal service error</td><td>Internal service error.</td></tr></tbody></table>

For more information, see [Handling Errors](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_errors.htm).

## Get Recycle Bin Content Item

Returns information about the specified Recycle Bin content item.

**Version**: Available in API 3.29 (Tableau Cloud June 2026 / Server 2026.2).

**License**: No additional license required.

**Permissions**: Server administrators, site administrators, or other users.

**Access Scope**: `tableau:recyclebin_content:read`

For more information, see [Versions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm), [Permissions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_permissions.htm), [Access scopes for UATs](https://help.tableau.com/current/api/cloud-manager/en-us/docs/unified_access_tokens.html#scopes) (Cloud), and access scopes for [Cloud](https://help.tableau.com/current/online/en-us/connected_apps_scopes.htm), [Server-Windows,](https://help.tableau.com/current/server/en-us/connected_apps_scopes.htm) or [Server-Linux](https://help.tableau.com/current/server-linux/en-us/connected_apps_scopes.htm).

Administrators can see any content in the site's Recycle Bin. Other users can only see the content they own.

#### URI

GET /api/api-version/sites/site-id/recyclebin/content-type/content-id

#### Parameter Values

<table class="api-parameters-table"><colgroup><col class="api-parameters-table-col-1-wide"> <col></colgroup><tbody><tr><td><span class="api-placeholder">api-version</span></td><td>The version of the API to use, such as <code><span class="mc-variable Variables.REST-API-Version variable">3.29</span></code>. For more information, see <a href="https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm" class="xref">REST API and Resource Versions</a>.</td></tr><tr><td><span class="api-placeholder">site-id</span></td><td>The ID of the site that contains the Recycle Bin.</td></tr><tr><td><span class="api-placeholder">content-type</span></td><td>Content type in plural form: <code>workbooks</code>, <code>datasources</code>, <code>flows</code>, or <code>projects</code>.</td></tr><tr><td><span class="api-placeholder">content-id</span></td><td>The LUID of the recycle bin content item.</td></tr></tbody></table>

#### Request Body

None

#### Response Code

200

#### Response Body

<tsResponse>
  <contentItems>
    <contentItem id="12ab34cd-56ef-78ab-90cd-12ef34ab56cd"
      name="Rocket Trajectories"
      contentType="workbook"
      createdAt="2026-05-22T02:50:20Z"
      updatedAt="2026-05-22T02:51:04Z"
      originalPath="Physics"
      isReadOnly="false">
      <owner id="9f9e9d9c-8b8a-8f8e-7d7c-7b7a6f6d6e6d" />
      <deleter id="1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d" />
    </contentItem>
  </contentItems>
</tsResponse>

{
  "contentItems": {
    "contentItem": \[
      {
        "owner": {
          "id": "9f9e9d9c-8b8a-8f8e-7d7c-7b7a6f6d6e6d"
        },
        "deleter": {
          "id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d"
        },
        "id": "12ab34cd-56ef-78ab-90cd-12ef34ab56cd",
        "name": "Rocket Trajectories",
        "contentType": "workbook",
        "createdAt": "2026-05-22T02:50:20Z",
        "updatedAt": "2026-05-22T02:51:04Z",
        "originalPath": "Physics",
        "isReadOnly": false
      }
    \]
  }
}

Datetime fields are returned in UTC format (YYYY-MM-DDTHH:MM:SSZ).

#### Version

Version 3.29 and later. For more information, see [REST API and Resource Versions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm).

#### Errors

<table class="api-error-table"><colgroup><col class="api-error-table-col-1"> <col class="api-error-table-col-2"> <col class="api-error-table-col-3"> <col></colgroup><tbody><tr><th>HTTP status</th><th><code>error</code> Code</th><th>Condition</th><th>Details</th></tr><tr><td>400</td><td>400000</td><td>Bad request</td><td>Check the request body and query string parameters.</td></tr><tr><td>401</td><td>401000</td><td>No auth credentials</td><td>Check the authorization header.</td></tr><tr><td>401</td><td>401002</td><td>Invalid auth credentials</td><td>Session expired or invalid.</td></tr><tr><td>403</td><td>403004</td><td>Operation on resource unauthorized</td><td>Check user permission.</td></tr><tr><td>403</td><td>403157</td><td>Feature disabled</td><td>Recycle Bin disabled.</td></tr><tr><td>404</td><td>404000</td><td>Site not found</td><td>The site ID in the URI doesn't correspond to an existing site.</td></tr><tr><td>404</td><td>404003</td><td>Unknown resource</td><td>Requested content item not found.</td></tr><tr><td>405</td><td>405000</td><td>Method not allowed</td><td>Request type unrecognized for this method.</td></tr><tr><td>406</td><td>406000</td><td>Unacceptable media type</td><td>Bad Accept: header.</td></tr><tr><td>409</td><td>409004</td><td>Invalid parameter</td><td>Parameter type-mismatched, unknown content type, or malformed LUID.</td></tr><tr><td>429</td><td>429000</td><td>Too many requests</td><td>Request throttled.</td></tr><tr><td>500</td><td>500000</td><td>Internal server error</td><td>Unknown error.</td></tr><tr><td>503</td><td>500001</td><td>Internal service error</td><td>Internal service error.</td></tr></tbody></table>

For more information, see [Handling Errors](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_errors.htm).

## List Recycle Bin Content by Type

Gets a list of Recycle Bin content of the specified type.

**Version**: Available in API 3.29 (Tableau Cloud June 2026 / Server 2026.2).

**License**: No additional license required.

**Permissions**: Server administrators, site administrators, or other users.

**Access Scope**: `tableau:recyclebin_content:read`

For more information, see [Versions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm), [Permissions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_permissions.htm), [Access scopes for UATs](https://help.tableau.com/current/api/cloud-manager/en-us/docs/unified_access_tokens.html#scopes) (Cloud), and access scopes for [Cloud](https://help.tableau.com/current/online/en-us/connected_apps_scopes.htm), [Server-Windows,](https://help.tableau.com/current/server/en-us/connected_apps_scopes.htm) or [Server-Linux](https://help.tableau.com/current/server-linux/en-us/connected_apps_scopes.htm).

Administrators can see all content in the site's Recycle Bin. Other users can only see the content they own.

This method supports filtering, sorting, and pagination.

#### URI

GET /api/api-version/sites/site-id/recyclebin/content-type

GET /api/api-version/sites/site-id/recyclebin/content-type?filter=filter-expression

GET /api/api-version/sites/site-id/recyclebin/content-type?sort=sort-expression

GET /api/api-version/sites/site-id/recyclebin/content-type?pageSize=page-size&pageNumber=page-number

#### Parameter Values

<table class="api-parameters-table"><colgroup><col class="api-parameters-table-col-1-wide"> <col></colgroup><tbody><tr><td><span class="api-placeholder">api-version</span></td><td>The version of the API to use, such as <code><span class="mc-variable Variables.REST-API-Version variable">3.29</span></code>. For more information, see <a href="https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm" class="xref">REST API and Resource Versions</a>.</td></tr><tr><td><span class="api-placeholder">site-id</span></td><td>The ID of the site that contains the Recycle Bin.</td></tr><tr><td><span class="api-placeholder">content-type</span></td><td>Content type in plural form: <code>workbooks</code>, <code>datasources</code>, <code>flows</code>, or <code>projects</code>.</td></tr><tr><td><span class="api-placeholder">filter-expression</span></td><td>(Optional) An expression that lets you specify a subset of recycle bin content to return. You can filter on predefined fields such as <code>name</code>, <code>ownerId</code>, <code>deleterId</code>, <code>createdAt</code>, <code>updatedAt</code>, and <code>path</code>. You can include multiple filter expressions. For more information, see <a href="https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_filtering_and_sorting.htm">Filtering and Sorting</a>.</td></tr><tr><td><span class="api-placeholder">sort-expression</span></td><td>(Optional) An expression that lets you specify the order in which recycle bin content information is returned. If you do not specify a sort expression, the sort order of the information that's returned is undefined. For more information, see <a href="https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_filtering_and_sorting.htm">Filtering and Sorting</a>.</td></tr><tr><td><span class="api-placeholder">page-size</span></td><td>(Optional) The number of items to return in one response. The minimum is 1. The maximum is 1000. The default is 100. For more information, see <a href="https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_paging.htm">Paginating Results</a>.</td></tr><tr><td><span class="api-placeholder">page-number</span></td><td>(Optional) The offset for paging. The default is 1. For more information, see <a href="https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_paging.htm">Paginating Results</a>.</td></tr></tbody></table>

#### Request Body

None

#### Response Code

200

#### Response Body

<tsResponse>
  <pagination pageNumber="1"
    pageSize="100"
    totalAvailable="1"/>
  <contentItems>
    <contentItem id="12ab34cd-56ef-78ab-90cd-12ef34ab56cd"
      name="Sales workbook"
      contentType="workbook"
      createdAt="2026-05-22T02:50:20Z"
      updatedAt="2026-05-22T02:51:04Z"
      originalPath="Business"
      isReadOnly="false">
      <owner id="9f9e9d9c-8b8a-8f8e-7d7c-7b7a6f6d6e6d"/>
      <deleter id="1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d"/>
    </contentItem>
  </contentItems>
</tsResponse>

{
  "pagination": {
    "pageNumber": "1",
    "pageSize": "100",
    "totalAvailable": "1"
  },
  "contentItems": {
    "contentItem": \[
      {
        "owner": {
          "id": "9f9e9d9c-8b8a-8f8e-7d7c-7b7a6f6d6e6d"
        },
        "deleter": {
          "id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d"
        },
        "id": "12ab34cd-56ef-78ab-90cd-12ef34ab56cd",
        "name": "Sales workbook",
        "contentType": "workbook",
        "createdAt": "2026-05-22T02:50:20Z",
        "updatedAt": "2026-05-22T02:51:04Z",
        "originalPath": "Business",
        "isReadOnly": false
      }
    \]
  }
}

Datetime fields are returned in UTC format (YYYY-MM-DDTHH:MM:SSZ).

#### Version

Version 3.29 and later. For more information, see [REST API and Resource Versions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm).

#### Errors

<table class="api-error-table"><colgroup><col class="api-error-table-col-1"> <col class="api-error-table-col-2"> <col class="api-error-table-col-3"> <col></colgroup><tbody><tr><th>HTTP status</th><th><code>error</code> Code</th><th>Condition</th><th>Details</th></tr><tr><td>400</td><td>400000</td><td>Bad request</td><td>Check the request body and query string parameters.</td></tr><tr><td>401</td><td>401000</td><td>No auth credentials</td><td>Check the authorization header.</td></tr><tr><td>401</td><td>401002</td><td>Invalid auth credentials</td><td>Session expired or invalid.</td></tr><tr><td>403</td><td>403004</td><td>Operation on resource unauthorized</td><td>Check user permission.</td></tr><tr><td>403</td><td>403157</td><td>Feature disabled</td><td>Recycle Bin disabled.</td></tr><tr><td>404</td><td>404000</td><td>Site not found</td><td>The site ID in the URI doesn't correspond to an existing site.</td></tr><tr><td>405</td><td>405000</td><td>Method not allowed</td><td>Request type unrecognized for this method.</td></tr><tr><td>406</td><td>406000</td><td>Unacceptable media type</td><td>Bad Accept: header.</td></tr><tr><td>409</td><td>409004</td><td>Invalid parameter</td><td>Parameter type-mismatched, unknown content type, or malformed LUID.</td></tr><tr><td>429</td><td>429000</td><td>Too many requests</td><td>Request throttled.</td></tr><tr><td>500</td><td>500000</td><td>Internal server error</td><td>Unknown error.</td></tr><tr><td>503</td><td>500001</td><td>Internal service error</td><td>Internal service error.</td></tr></tbody></table>

For more information, see [Handling Errors](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_errors.htm).

## Restore Recycle Bin Content Item

Restores the specified content item from the Recycle Bin to a project.

**Version**: Available in API 3.29 (Tableau Cloud June 2026 / Server 2026.2).

**License**: No additional license required.

**Permissions**: Server administrators, site administrators, or other users. The calling user also needs Publish permission for the project they're restoring content to.

**Access Scope**: `tableau:recyclebin_content:update`

For more information, see [Versions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm), [Permissions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_permissions.htm), [Access scopes for UATs](https://help.tableau.com/current/api/cloud-manager/en-us/docs/unified_access_tokens.html#scopes) (Cloud), and access scopes for [Cloud](https://help.tableau.com/current/online/en-us/connected_apps_scopes.htm), [Server-Windows,](https://help.tableau.com/current/server/en-us/connected_apps_scopes.htm) or [Server-Linux](https://help.tableau.com/current/server-linux/en-us/connected_apps_scopes.htm).

Administrators can restore any content from the site's Recycle Bin. Other users can only restore content they own, and need Publish permission for the project they're restoring to.

For information about how content properties change when it's deleted or restored. See [Recycle Bin](https://help.tableau.com/current/pro/desktop/en-us/recycle_bin.htm).

#### URI

POST /api/api-version/sites/site-id/recyclebin/content-type/content-id/restore?projectId=project-id

#### Parameter Values

<table class="api-parameters-table"><colgroup><col class="api-parameters-table-col-1-wide"> <col></colgroup><tbody><tr><td><span class="api-placeholder">api-version</span></td><td>The version of the API to use, such as <code><span class="mc-variable Variables.REST-API-Version variable">3.29</span></code>. For more information, see <a href="https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm" class="xref">REST API and Resource Versions</a>.</td></tr><tr><td><span class="api-placeholder">site-id</span></td><td>The LUID of the site that contains the Recycle Bin.</td></tr><tr><td><span class="api-placeholder">content-type</span></td><td>Content type in plural form: <code>workbooks</code>, <code>datasources</code>, <code>flows</code>, or <code>projects</code>.</td></tr><tr><td><span class="api-placeholder">content-id</span></td><td>The LUID of the recycle bin content item to restore.</td></tr><tr><td><span class="api-placeholder">project-id</span></td><td>The LUID of the project to restore the content to.</td></tr></tbody></table>

#### Request Body

None

#### Response Code

204

#### Response Body

None

#### Version

Version 3.29 and later. For more information, see [REST API and Resource Versions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm).

#### Errors

<table class="api-error-table"><colgroup><col class="api-error-table-col-1"> <col class="api-error-table-col-2"> <col class="api-error-table-col-3"> <col></colgroup><tbody><tr><th>HTTP status</th><th><code>error</code> Code</th><th>Condition</th><th>Details</th></tr><tr><td>400</td><td>400000</td><td>Bad request</td><td>Check the request body and query string parameters.</td></tr><tr><td>401</td><td>401000</td><td>No auth credentials</td><td>Check the authorization header.</td></tr><tr><td>401</td><td>401002</td><td>Invalid auth credentials</td><td>Session expired or invalid.</td></tr><tr><td>403</td><td>403004</td><td>Operation on resource unauthorized</td><td>Check user permission.</td></tr><tr><td>403</td><td>403008</td><td>Insufficient site storage remaining</td><td>Restore would exceed site storage quota.</td></tr><tr><td>403</td><td>403157</td><td>Feature disabled</td><td>Recycle Bin disabled.</td></tr><tr><td>404</td><td>404000</td><td>Site not found</td><td>The site ID in the URI doesn't correspond to an existing site.</td></tr><tr><td>404</td><td>404003</td><td>Unknown resource</td><td>Requested content item not found.</td></tr><tr><td>405</td><td>405000</td><td>Method not allowed</td><td>Request type unrecognized for this method.</td></tr><tr><td>406</td><td>406000</td><td>Unacceptable media type</td><td>Bad Accept: header.</td></tr><tr><td>409</td><td>409004</td><td>Invalid parameter</td><td>Parameter type-mismatched, unknown content type, or malformed LUID.</td></tr><tr><td>429</td><td>429000</td><td>Too many requests</td><td>Request throttled.</td></tr><tr><td>500</td><td>500000</td><td>Internal server error</td><td>Unknown error.</td></tr><tr><td>503</td><td>500001</td><td>Internal service error</td><td>Internal service error.</td></tr></tbody></table>

For more information, see [Handling Errors](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_errors.htm).