---
title: "List files in a data connector"
method: GET
path: "/data-connectors/{id}/files"
tags: ["Data Connectors"]
---

# List files in a data connector

`GET /data-connectors/{id}/files`

## Request

- Base URL: `https://api.cloudglue.dev/v1`
- URL: `https://api.cloudglue.dev/v1/data-connectors/{id}/files`
- Auth: HTTP bearer

Browse files available in a connected data source. Returns URIs compatible with Cloudglue's file import system, and per-file provider metadata (see the `metadata` field) so you can inspect participants, hosts, durations, and AI summaries before importing. Supports pagination and filtering: `from`/`to` and `title_search` are shared filters honored by every connector that can (see each parameter's support matrix); parameters a connector can't honor are silently ignored. When filters are applied, a page may contain fewer than `limit` items — even zero — while `has_more` is still true: continue paginating until `next_page_token` is null rather than stopping at the first short or empty page.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `limit` integer
- `page_token` string
- `from` string, date
- `to` string, date
- `folder_id` string
- `path` string
- `recursive` 'true' | 'false'
- `bucket` string
- `prefix` string
- `title_search` string
- `team` string
- `meeting_type` string

## Response `200`

A list of files and folders

- DataConnectorFileList
  - `object` 'list', required: Object type, always 'list'
  - `data` DataConnectorFile[], required: Array of file and folder objects
    - `object` 'data_connector_file', required: Object type, always 'data_connector_file'
    - `type` 'file' | 'folder', required: Whether this entry is a file or a folder
    - `uri` string, nullable, required: URI for importing the file into Cloudglue. Null for folders.
    - `name` string, required: Display name of the file or folder
    - `mime_type` string, nullable, required: MIME type of the file, if available
    - `size_bytes` integer, nullable, required: File size in bytes, if available
    - `created_at` integer, nullable, required: Creation timestamp in milliseconds since epoch, if available
    - `thumbnail_url` string, nullable: Ephemeral preview image for the file — a signed provider URL that expires within hours. Display-only: never store it. Currently populated for iconik (the asset's poster keyframe, honoring a custom keyframe when one is set); null or absent for other connectors.
    - `metadata` object, required: Provider-specific metadata. Folder entries expose the navigation key to pass back on the next request. File entries from Grain, Zoom, Recall, Google Drive, Dropbox, and Gong carry the provider's SourceMetadata shape (see the SourceMetadata schema) — the same provenance that lands on the file's `source_metadata` after syncing, so you can inspect participants, hosts, durations, AI summaries, etc. while browsing. S3/GCS file entries carry an empty object. Some fields are only captured at sync time (Dropbox media_info, Gong AI content).
      - `folder_id` string: Google Drive folder ID. Pass back as the `folder_id` query parameter to drill into this folder.
      - `path` string: Dropbox folder path. Pass back as the `path` query parameter to drill into this folder.
      - `prefix` string: S3/GCS key prefix. Pass back as the `prefix` query parameter to drill into this virtual folder.
  - `has_more` boolean, required: Whether more results are available
  - `next_page_token` string, nullable, required: Opaque cursor to pass as page_token for the next page. Null when there are no more results.

## Other responses

- `400`: Bad request (e.g. missing required bucket parameter, unsupported connector type)
- `404`: Data connector not found
- `500`: An unexpected error occurred on the server
- `502`: Error communicating with the external service

## Changes

- **2026-10-30** `23d3f240819f`: 4 info
  - added the optional property `code` to the response with the `400` status
  - added the optional property `code` to the response with the `404` status
  - added the optional property `code` to the response with the `500` status
  - added the optional property `code` to the response with the `502` status
- **2026-08-17** `b98a8a84c55f`: 1 info
  - added the new optional `query` request parameter `recursive`
- **2026-08-02** `a7a390d80571`: 1 info
  - added the optional property `data/items/thumbnail_url` to the response with the `200` status
- **2026-04-21** `4e7c1ebaea59`: 3 info
  - added the new optional `query` request parameter `meeting_type`
  - added the new optional `query` request parameter `team`
  - added the new optional `query` request parameter `title_search`
- **2026-03-16** `9dc639e1d66c`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/cloudglue/apis/cloudglue-api/changes/data-connectors/:id/files/get.md)

---

[API](https://skmtc.dev/cloudglue/apis/cloudglue-api.md) - [All operations](https://skmtc.dev/cloudglue/apis/cloudglue-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cloudglue/apis/cloudglue-api/revisions/23d3f240819f?raw)
