---
title: "List documents"
method: GET
path: "/api/v1/documents"
tags: ["Documents"]
---

# List documents

`GET /api/v1/documents`

## Query parameters

- `creatorId` string, uuid — Filter by creator membership ID
- `cursor` string — Cursor for pagination
- `folderId` string, uuid — Filter by folder ID
- `include` string — Comma-separated list of additional fields to include: _count, labels, includeDeleted, onlyFavorites, onlySharedWithMe. onlySharedWithMe requires userId or user-scoped key and cannot be combined with onlyFavorites or folderId.
- `labels` string — Comma-separated list of label names to filter by
- `pageSize` integer — Number of records per page
- `sortDirection` 'asc' | 'desc' — Sort direction
- `sortField` 'name' | 'favorites' | 'updatedAt' | 'visits' — Field to sort by
- `userId` string, uuid — Filter documents visible to this membership ID

## Response `200`

Paginated list of documents

- DocumentsListResponse
  - `pageInfo` object, required — Pagination information
    - `hasNextPage` boolean, required — Whether more results are available
    - `nextCursor` string, nullable, required — Cursor for fetching the next page
    - `pageSize` number, required — Number of results per page
    - `totalRecords` number, required — Total number of records matching the query
  - `records` Document[], required — List of documents
    - `_count` object — Document counts (included when _count is in include param)
      - `favorites` number, required — Number of users who favorited this document
      - `views` number, required — Number of views
    - `connectionId` string, required — Connection ID the document is associated with
    - `deleted` boolean, required — Whether the document is deleted (archived)
    - `description` string, nullable — Document description
    - `folder` DocumentFolder, nullable, required — Folder containing the document
      - `id` string, required — Folder ID
      - `name` string, required — Folder name
      - `path` string, required — Folder path
      - `scope` 'restricted' | 'organization', required — Folder access scope
    - `hasApp` boolean — Whether the document has an associated app
    - `hasDashboard` boolean, required — Whether the document has an associated dashboard
    - `identifier` string, required — Document identifier
    - `labels` string[] — Labels applied to the document (included when labels is in include param)
    - `name` string, required — Document name
    - `owner` DocumentOwner, required — Document owner
      - `id` string, required — Owner membership ID
      - `name` string, required — Owner display name
    - `scope` 'restricted' | 'organization', required — Document access scope
    - `type` 'document', required — Content type
    - `updatedAt` string, date-time, nullable, required — Last updated timestamp
    - `url` string, required — URL to view the document. Returns the dashboard URL if it has a dashboard, the app URL if it has an app, otherwise the workbook URL.

## Other responses

- `401` — Authentication required

---

[API](https://skmtc.net/omniapp/apis/omni-api.md) · [All operations](https://skmtc.net/omniapp/apis/omni-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/omniapp/omni-api/versions/de7cac8b5983/schema)
