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(Link opens in a new window).

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(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).

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(Link opens in a new window).

URI

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

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

Parameter Values

api-version The version of the API to use, such as 3.29. For more information, see REST API and Resource Versions.
site-id The ID of the site that contains the Recycle Bin.
as-job-value (Optional) If true, runs as an asynchronous job. Returns job information instead of executing synchronously. Default is false. Check the status of the job by calling Query Job.

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

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

For more information, see Handling Errors.

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(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).

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(Link opens in a new window).

URI

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

Parameter Values

api-version The version of the API to use, such as 3.29. For more information, see REST API and Resource Versions.
site-id The ID of the site that contains the Recycle Bin.
content-type Content type in plural form: workbooks, datasources, flows, or projects.
content-id The LUID of the Recycle Bin content item to delete.

Request Body

None

Response Code

204

Response Body

None

Version

Version 3.29 and later. For more information, see REST API and Resource Versions.

Errors

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

For more information, see Handling Errors.

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(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).

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

api-version The version of the API to use, such as 3.29. For more information, see REST API and Resource Versions.
site-id The ID of the site that contains the Recycle Bin.
content-type Content type in plural form: workbooks, datasources, flows, or projects.
content-id The LUID of the recycle bin content item.

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.

Errors

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

For more information, see Handling Errors.

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(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).

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

api-version The version of the API to use, such as 3.29. For more information, see REST API and Resource Versions.
site-id The ID of the site that contains the Recycle Bin.
content-type Content type in plural form: workbooks, datasources, flows, or projects.
filter-expression (Optional) An expression that lets you specify a subset of recycle bin content to return. You can filter on predefined fields such as name, ownerId, deleterId, createdAt, updatedAt, and path. You can include multiple filter expressions. For more information, see Filtering and Sorting.
sort-expression (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 Filtering and Sorting.
page-size (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 Paginating Results.
page-number (Optional) The offset for paging. The default is 1. For more information, see Paginating Results.

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.

Errors

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

For more information, see Handling Errors.

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(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).

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(Link opens in a new window).

URI

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

Parameter Values

api-version The version of the API to use, such as 3.29. For more information, see REST API and Resource Versions.
site-id The LUID of the site that contains the Recycle Bin.
content-type Content type in plural form: workbooks, datasources, flows, or projects.
content-id The LUID of the recycle bin content item to restore.
project-id The LUID of the project to restore the content to.

Request Body

None

Response Code

204

Response Body

None

Version

Version 3.29 and later. For more information, see REST API and Resource Versions.

Errors

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

For more information, see Handling Errors.


Thanks for your feedback!Your feedback has been successfully submitted. Thank you!