Skip to main content

List Projects

Retrieves a list of projects on a Tableau site, including metadata such as name, description, parent project, content permissions, owner, and timestamps.

This tool returns a single page of up to 1000 projects per call. The response is a flat object of the shape { data, totalAvailable } (see Example result). To collect every project, start at pageNumber: 1 and increment pageNumber on each subsequent call until you have collected totalAvailable items.

To get the count of projects matching the request, read totalAvailable from a single call (for example, pageNumber: 1) without paging through every item.

APIs called

Optional arguments

filter

A filter expression as defined in the Tableau REST API Projects filter fields.

The tool validates the filter expression client-side against the documented allowed fields and operators before calling the REST API. Invalid fields or operators are rejected up front instead of surfacing as a REST API error.

Supported filter fields and operators

FieldOperators
createdAteq, gt, gte, lt, lte
nameeq, in
ownerDomaineq, in
ownerEmaileq, in
ownerNameeq, in
parentProjectIdeq, in
topLevelProjecteq
updatedAteq, gt, gte, lt, lte

Example: name:eq:Default

Example: topLevelProject:eq:true

Example: parentProjectId:eq:abc-123

Example: updatedAt:gt:2023-01-01T00:00:00Z


limit

The maximum number of projects to return from the requested page. Must be a positive integer no greater than 1000 (the fixed page size). Use this to fetch fewer than a full page — for example, to request a partial final page. It does not fetch across pages.

Example: 500

See also: MAX_RESULT_LIMIT, the overall cap on how many results can be paginated through across all pages.


pageNumber

Which 1000-item page of projects to fetch. This is a 1-based page index (page size is fixed at 1000); when omitted it defaults to 1. Increment pageNumber across calls to page through the full result set.

When a server-side MAX_RESULT_LIMIT is configured, only pages that fall within that cap are reachable. For example, with a limit of 2700 the highest page you can request is 3 (page 3 returns the final 700 items). Requesting a higher page returns an error describing the valid page range rather than an empty result.

Example: 2

Example result

{
"data": [
{
"id": "af59ee84-a375-4cb4-84b9-eaa7864f59fb",
"name": "default",
"description": "The default project that was automatically created by Tableau.",
"contentPermissions": "ManagedByOwner",
"createdAt": "2026-05-13T14:58:28Z",
"updatedAt": "2026-05-13T14:58:28Z",
"owner": {
"id": "b4ffd9cf-6d7f-4a2f-a7a0-3bee3691ad36"
}
},
{
"id": "986ed80f-0a39-4b8a-b5af-c8b3f1280ae7",
"name": "Nested project 1",
"description": "",
"parentProjectId": "7de99ef3-0337-4959-8ffe-8d54fbb1f9aa",
"contentPermissions": "ManagedByOwner",
"createdAt": "2026-05-13T15:23:00Z",
"updatedAt": "2026-05-13T15:23:00Z",
"owner": {
"id": "86d935d7-d99c-46a1-8188-00faeee15465"
}
}
],
"totalAvailable": 2
}

The response fields are:

  • data: the projects on the requested page (at most 1000, or fewer when limit or a server cap applies).
  • totalAvailable: the number of projects available for pagination (Your own limit argument does not affect this value).