> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://help.sigmacomputing.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://help.sigmacomputing.com/_mcp/server.

# List files

GET https://api.sigmacomputing.com/v2/files

List all documents, such as workbooks and folders, accessible from the parent.

### Which files are returned by this endpoint

The documents and folders accessible through this endpoint match those returned when you search in the Sigma UI. Some documents that you can view in the Sigma UI are not returned by this endpoint.

* Returned documents and folders are limited to those that you have access to, such as through ownership, a document directly shared with you, a document link shared with you that you have opened, or access inherited through a folder or a workspace. This restriction also applies to users granted the Admin account type.
* Newly created files are not returned immediately after creation. Updated files are reflected immediately.
* If no `typeFilters` are set, only workbooks, folders, data models, datasets (deprecated), and reports are returned. To return other file types, such as a shortcut (symlink), specify a file type using the `typeFilters` option.

### Usage notes

* Use the **parentId** to specify a folder and return details about the nested files and documents:
  * Retrieve the ID to use as a **parentId** by calling the [/v2/files](https://help.sigmacomputing.com/reference/list-files) endpoint and reviewing the `id` field in the response for files with a `type` of `folder`.
  * To use the "My Documents" folder as the parent folder, call the [/v2/members/\{memberId}](https://help.sigmacomputing.com/reference/get-member) endpoint and use the `homeFolderId` included in the response.
  * If parentId is not specified, it is assumed to be the root.
* Use the available filters to return files that contain a specific keyword in the name, files with specific permissions granted to the user associated with the API credentials, or files of a specific type.

Reference: https://help.sigmacomputing.com/reference/list-files

## Authentication

- OAuth2 — send the obtained token as `Authorization: Bearer <token>`

## Servers

- `https://api.sigmacomputing.com` (Server for GCP (US) hosted organizations, default)
- `https://api.sa.gcp.sigmacomputing.com` (Server for GCP (KSA) hosted organizations)
- `https://aws-api.sigmacomputing.com` (Server for AWS US (West) hosted organizations)
- `https://api.us-a.aws.sigmacomputing.com` (Server for AWS US (East) hosted organizations)
- `https://api.ca.aws.sigmacomputing.com` (Server for AWS Canada hosted organizations)
- `https://api.eu.aws.sigmacomputing.com` (Server for AWS Europe hosted organizations)
- `https://api.au.aws.sigmacomputing.com` (Server for AWS Australia and APAC hosted organizations)
- `https://api.uk.aws.sigmacomputing.com` (Server for AWS UK hosted organizations)
- `https://api.us.azure.sigmacomputing.com` (Server for Azure US hosted organizations)
- `https://api.eu.azure.sigmacomputing.com` (Server for Azure Europe hosted organizations)
- `https://api.ca.azure.sigmacomputing.com` (Server for Azure Canada hosted organizations)
- `https://api.uk.azure.sigmacomputing.com` (Server for Azure United Kingdom hosted organizations)
- `https://api.au.azure.sigmacomputing.com` (Server for Azure Australia hosted organizations)

## Request

### Query parameters

- `name` (string, optional)
- `permissionFilter` (enum or enum, optional)
- `typeFilters` (list of enum or enum, optional)
- `page` (string, optional)
- `limit` (double, optional)
- `parentId` (string, optional)
- `directChildFilter` (boolean, optional)

## Response

### 200

The response body.

- `entries` (list of object, required) — Array of results returned by the endpoint
  - `id` (string, required)
  - `urlId` (string, required)
  - `name` (string, required)
  - `type` (enum, required)
    - Allowed values: `workspace`, `folder`, `workbook`, `dataset`, `data-model`, `sql`, `worksheet`, `dashboard`, `template`, `table`, `symlink`, `report`
  - `parentId` (string, required)
  - `parentUrlId` (string, required)
  - `permission` (enum, required)
    - Allowed values: `create`, `annotate`, `organize`, `explore`, `view`, `edit`, `apply`
  - `path` (string, required)
  - `badge` (string, required, nullable)
  - `isArchived` (boolean, required)
  - `createdBy` (string, required) — The identifier of the user who created this object.
  - `updatedBy` (string, required) — The identifier of the user or process that last updated this object.
  - `createdAt` (datetime, required) — When the object was created.
  - `updatedAt` (datetime, required) — When the object was last updated.
  - `description` (string, optional)
  - `ownerId` (string, optional, nullable)
  - `parentSourceUrlId` (string, optional) — For a document deployed to a tenant organization, the `urlId` of the source document in the parent organization. Only present when the document was deployed from a parent organization. The source document can be a workbook, template, data model, dataset, or report.
- `nextPage` (string, required, nullable) — Returns a string that can be used as the `page` parameter in the next request to fetch the next page of results. The last page of results returns `null`.
- `total` (double, optional) — Total number of results. Useful to determine if there is a need to paginate.
- `hasMore` (boolean, optional) — **[Deprecated]** Indicates whether more results are available.

## Examples

**Response**

```json
{
  "entries": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "urlId": "57a96EMo3GVJG73179MV2l",
      "name": "Examples",
      "type": "folder",
      "parentId": "00000000-0000-0000-0000-000000000001",
      "parentUrlId": "57a96EMo3GVJG73179MV2G",
      "permission": "edit",
      "path": "My Documents/Examples",
      "badge": "Endorsed",
      "isArchived": false,
      "createdBy": "<memberId>",
      "updatedBy": "<memberId>",
      "createdAt": "2022-11-22T22:33:47.323Z",
      "updatedAt": "2022-11-22T22:33:47.323Z",
      "description": "Examples description",
      "ownerId": "<memberId>"
    }
  ],
  "nextPage": null,
  "total": 1,
  "hasMore": false
}
```

**SDK Code**

```python Response Example
import requests

url = "https://api.sigmacomputing.com/v2/files"

headers = {"Authorization": "<token>."}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript Response Example
const url = 'https://api.sigmacomputing.com/v2/files';
const options = {method: 'GET', headers: {Authorization: '<token>.'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Response Example
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.sigmacomputing.com/v2/files"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "<token>.")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Response Example
require 'uri'
require 'net/http'

url = URI("https://api.sigmacomputing.com/v2/files")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = '<token>.'

response = http.request(request)
puts response.read_body
```

```java Response Example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.sigmacomputing.com/v2/files")
  .header("Authorization", "<token>.")
  .asString();
```

```php Response Example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.sigmacomputing.com/v2/files', [
  'headers' => [
    'Authorization' => '<token>.',
  ],
]);

echo $response->getBody();
```

```csharp Response Example
using RestSharp;

var client = new RestClient("https://api.sigmacomputing.com/v2/files");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "<token>.");
IRestResponse response = client.Execute(request);
```

```swift Response Example
import Foundation

let headers = ["Authorization": "<token>."]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.sigmacomputing.com/v2/files")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```