> 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

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: sigma-rest-api
  version: 1.0.0
paths:
  /v2/files:
    get:
      operationId: list
      summary: List files
      description: >-
        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.
            
      tags:
        - Files
      parameters:
        - name: name
          in: query
          required: false
          schema:
            type: string
        - name: permissionFilter
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/V2FilesGetParametersPermissionFilter'
        - name: typeFilters
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/V2FilesGetParametersTypeFilters'
        - name: page
          in: query
          required: false
          schema:
            type: string
        - name: limit
          in: query
          required: false
          schema:
            type: number
            format: double
        - name: parentId
          in: query
          required: false
          schema:
            type: string
        - name: directChildFilter
          in: query
          required: false
          schema:
            type: boolean
        - name: Authorization
          in: header
          description: OAuth authentication
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The response body.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/files_list_Response_200'
servers:
  - url: https://api.sigmacomputing.com
    description: Server for GCP (US) hosted organizations
  - url: https://api.sa.gcp.sigmacomputing.com
    description: Server for GCP (KSA) hosted organizations
  - url: https://aws-api.sigmacomputing.com
    description: Server for AWS US (West) hosted organizations
  - url: https://api.us-a.aws.sigmacomputing.com
    description: Server for AWS US (East) hosted organizations
  - url: https://api.ca.aws.sigmacomputing.com
    description: Server for AWS Canada hosted organizations
  - url: https://api.eu.aws.sigmacomputing.com
    description: Server for AWS Europe hosted organizations
  - url: https://api.au.aws.sigmacomputing.com
    description: Server for AWS Australia and APAC hosted organizations
  - url: https://api.uk.aws.sigmacomputing.com
    description: Server for AWS UK hosted organizations
  - url: https://api.us.azure.sigmacomputing.com
    description: Server for Azure US hosted organizations
  - url: https://api.eu.azure.sigmacomputing.com
    description: Server for Azure Europe hosted organizations
  - url: https://api.ca.azure.sigmacomputing.com
    description: Server for Azure Canada hosted organizations
  - url: https://api.uk.azure.sigmacomputing.com
    description: Server for Azure United Kingdom hosted organizations
  - url: https://api.au.azure.sigmacomputing.com
    description: Server for Azure Australia hosted organizations
components:
  schemas:
    V2FilesGetParametersPermissionFilter0:
      type: string
      enum:
        - view
        - explore
        - edit
      title: V2FilesGetParametersPermissionFilter0
    V2FilesGetParametersPermissionFilter1:
      type: string
      enum:
        - view
        - explore
        - organize
        - edit
      description: >-
        Choose **organize** for Can Contribute permissions or **edit** for Can
        Manage permissions.
      title: V2FilesGetParametersPermissionFilter1
    V2FilesGetParametersPermissionFilter:
      oneOf:
        - $ref: '#/components/schemas/V2FilesGetParametersPermissionFilter0'
        - $ref: '#/components/schemas/V2FilesGetParametersPermissionFilter1'
      title: V2FilesGetParametersPermissionFilter
    V2FilesGetParametersTypeFiltersSchemaOneOf0Items:
      type: string
      enum:
        - workspace
        - folder
        - workbook
        - dataset
        - data-model
        - sql
        - worksheet
        - dashboard
        - template
        - table
        - symlink
        - report
      title: V2FilesGetParametersTypeFiltersSchemaOneOf0Items
    V2FilesGetParametersTypeFilters0:
      type: array
      items:
        $ref: '#/components/schemas/V2FilesGetParametersTypeFiltersSchemaOneOf0Items'
      description: >-
        **Note**: Workspaces are not returned as part of the response. To
        retrieve a workspace, use the **Single Document Type**.
      title: V2FilesGetParametersTypeFilters0
    V2FilesGetParametersTypeFilters1:
      type: string
      enum:
        - workspace
        - folder
        - workbook
        - dataset
        - data-model
        - sql
        - worksheet
        - dashboard
        - template
        - table
        - symlink
        - report
      title: V2FilesGetParametersTypeFilters1
    V2FilesGetParametersTypeFilters:
      oneOf:
        - $ref: '#/components/schemas/V2FilesGetParametersTypeFilters0'
        - $ref: '#/components/schemas/V2FilesGetParametersTypeFilters1'
      title: V2FilesGetParametersTypeFilters
    V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Type:
      type: string
      enum:
        - workspace
        - folder
        - workbook
        - dataset
        - data-model
        - sql
        - worksheet
        - dashboard
        - template
        - table
        - symlink
        - report
      title: V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Type
    V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission0:
      type: string
      enum:
        - create
      title: >-
        V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission0
    V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission1:
      type: string
      enum:
        - annotate
      title: >-
        V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission1
    V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission2:
      type: string
      enum:
        - organize
      title: >-
        V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission2
    V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission3:
      type: string
      enum:
        - explore
      title: >-
        V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission3
    V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission40:
      type: string
      enum:
        - view
      title: >-
        V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission40
    V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission41:
      type: string
      enum:
        - edit
      title: >-
        V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission41
    V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission42:
      type: string
      enum:
        - apply
      title: >-
        V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission42
    V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission4:
      oneOf:
        - $ref: >-
            #/components/schemas/V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission40
        - $ref: >-
            #/components/schemas/V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission41
        - $ref: >-
            #/components/schemas/V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission42
      title: >-
        V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission4
    V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission:
      oneOf:
        - $ref: >-
            #/components/schemas/V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission0
        - $ref: >-
            #/components/schemas/V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission1
        - $ref: >-
            #/components/schemas/V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission2
        - $ref: >-
            #/components/schemas/V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission3
        - $ref: >-
            #/components/schemas/V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission4
      title: >-
        V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission
    V2FilesGetResponsesContentApplicationJsonSchemaEntriesItems0:
      type: object
      properties:
        id:
          type: string
        urlId:
          type: string
        name:
          type: string
        type:
          $ref: >-
            #/components/schemas/V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Type
        parentId:
          type: string
        parentUrlId:
          type: string
        permission:
          $ref: >-
            #/components/schemas/V2FilesGetResponsesContentApplicationJsonSchemaEntriesItemsOneOf0Permission
        path:
          type: string
        badge:
          type:
            - string
            - 'null'
        isArchived:
          type: boolean
        description:
          type: string
        ownerId:
          type:
            - string
            - 'null'
        parentSourceUrlId:
          type: string
          description: >-
            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.
        createdBy:
          type: string
          description: The identifier of the user who created this object.
        updatedBy:
          type: string
          description: The identifier of the user or process that last updated this object.
        createdAt:
          type: string
          format: date-time
          description: When the object was created.
        updatedAt:
          type: string
          format: date-time
          description: When the object was last updated.
      required:
        - id
        - urlId
        - name
        - type
        - parentId
        - parentUrlId
        - permission
        - path
        - badge
        - isArchived
        - createdBy
        - updatedBy
        - createdAt
        - updatedAt
      title: V2FilesGetResponsesContentApplicationJsonSchemaEntriesItems0
    V2FilesGetResponsesContentApplicationJsonSchemaEntriesItems1:
      type: object
      properties:
        code:
          type: number
          format: double
        message:
          type: string
        requestId:
          type: string
      required:
        - code
        - message
        - requestId
      title: V2FilesGetResponsesContentApplicationJsonSchemaEntriesItems1
    V2FilesGetResponsesContentApplicationJsonSchemaEntriesItems:
      oneOf:
        - $ref: >-
            #/components/schemas/V2FilesGetResponsesContentApplicationJsonSchemaEntriesItems0
        - $ref: >-
            #/components/schemas/V2FilesGetResponsesContentApplicationJsonSchemaEntriesItems1
      title: V2FilesGetResponsesContentApplicationJsonSchemaEntriesItems
    files_list_Response_200:
      type: object
      properties:
        entries:
          type: array
          items:
            $ref: >-
              #/components/schemas/V2FilesGetResponsesContentApplicationJsonSchemaEntriesItems
          description: Array of results returned by the endpoint
        nextPage:
          type:
            - string
            - 'null'
          description: >-
            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:
          type: number
          format: double
          description: >-
            Total number of results. Useful to determine if there is a need to
            paginate.
        hasMore:
          type: boolean
          description: '**[Deprecated]** Indicates whether more results are available.'
      required:
        - entries
        - nextPage
      title: files_list_Response_200
  securitySchemes:
    OAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 authentication

```

## Examples



**Response**

```json
{
  "entries": [
    {
      "badge": "Endorsed",
      "createdAt": "2022-11-22T22:33:47.323Z",
      "createdBy": "<memberId>",
      "description": "Examples description",
      "id": "00000000-0000-0000-0000-000000000000",
      "isArchived": false,
      "name": "Examples",
      "ownerId": "<memberId>",
      "parentId": "00000000-0000-0000-0000-000000000001",
      "parentUrlId": "57a96EMo3GVJG73179MV2G",
      "path": "My Documents/Examples",
      "permission": "create",
      "type": "folder",
      "updatedAt": "2022-11-22T22:33:47.323Z",
      "updatedBy": "<memberId>",
      "urlId": "57a96EMo3GVJG73179MV2l"
    }
  ],
  "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()
```