---
title: "List all chat completions"
method: GET
path: "/chat/completions"
tags: ["Chat"]
---

# List all chat completions

`GET /chat/completions`

## Request

- Base URL: `https://api.cloudglue.dev/v1`
- URL: `https://api.cloudglue.dev/v1/chat/completions`
- Auth: HTTP bearer

List all chat completions with optional filtering

## Query parameters

- `limit` integer
- `offset` integer
- `created_before` string, date
- `created_after` string, date

## Response `200`

A list of chat completions

- ChatCompletionList
  - `object` 'list', required: Object type, always 'list'
  - `data` object[], required: The list of chat completions
    - `id` string, uuid, required: The ID of the chat completion
    - `created_at` number, required: The timestamp of the chat completion
    - `object` 'chat.completion', required: Object type, always 'chat.completion'
    - `model` string, required: The model used for the chat completion
    - `usage` object, required: The usage of the chat completion
      - `prompt_tokens` integer: The number of tokens in the prompt
      - `completion_tokens` integer: The number of tokens in the completion
      - `total_tokens` integer: The total number of tokens in the request
    - `choices` object[], required: The choices of the chat completion
      - `index` integer, required: The index of the choice
      - `message` ChatMessage, required
        - `role` 'system' | 'user' | 'assistant', required: The role of the message author
        - `content` string, required: The content of the message
        - `name` string: The name of the author of this message
    - `payload` ChatCompletionPayload, required
      - `messages` ChatMessage[]
        - `role` 'system' | 'user' | 'assistant', required: The role of the message author
        - `content` string, required: The content of the message
        - `name` string: The name of the author of this message
      - `temperature` number: The temperature of the chat completion
      - `filter` SearchFilter
        - `metadata` object[]: Filter by file metadata using JSON path expressions
          - `path` string, required: JSON path for the field to filter on
          - `operator` 'NotEqual' | 'Equal' | 'LessThan' | 'GreaterThan' | 'ContainsAny' | 'ContainsAll' | 'In' | 'Like', required: Comparison operator to apply
          - `valueText` string: Text value for scalar comparison (used with NotEqual, Equal, LessThan, GreaterThan, Like)
          - `valueTextArray` string[]: Array of values for array comparisons (used with ContainsAny, ContainsAll, In)
          - `scope` 'file' | 'segment': Specifies scope of eligible search items (file/segment) to check metadata filtering conditions
        - `video_info` object[]: Filter by video information. Use scope 'file' to filter by source video properties, or 'segment' to filter by individual segment properties (e.g. segment duration).
          - `path` 'duration_seconds' | 'has_audio', required: JSON path for the field to filter on
          - `operator` 'NotEqual' | 'Equal' | 'LessThan' | 'GreaterThan' | 'ContainsAny' | 'ContainsAll' | 'In' | 'Like', required: Comparison operator to apply
          - `valueText` string: Text value for scalar comparison (used with NotEqual, Equal, LessThan, GreaterThan, Like)
          - `valueTextArray` string[]: Array of values for array comparisons (used with ContainsAny, ContainsAll, In)
          - `scope` 'file' | 'segment': Scope of the filter. 'file' filters by source video properties, 'segment' filters by segment properties. Only duration_seconds is supported with segment scope.
        - `file` object[]: Filter by file properties
          - `path` 'bytes' | 'filename' | 'uri' | 'created_at' | 'id', required: JSON path for the field to filter on
          - `operator` 'NotEqual' | 'Equal' | 'LessThan' | 'GreaterThan' | 'ContainsAny' | 'ContainsAll' | 'In' | 'Like', required: Comparison operator to apply
          - `valueText` string: Text value for scalar comparison (used with NotEqual, Equal, LessThan, GreaterThan, Like)
          - `valueTextArray` string[]: Array of values for array comparisons (used with ContainsAny, ContainsAll, In)
        - `source_metadata` SearchFilterCriteria[]: Filter by connector-provided source metadata using JSON path expressions (file scope only). Available fields depend on the file's source. Examples: source_metadata.topic (zoom), source_metadata.host_email (zoom), source_metadata.title (gong/grain/iconik), source_metadata.participants.name (grain), source_metadata.parties.email (gong), source_metadata.tags (grain, use ContainsAny), source_metadata.meeting_platform (recall), source_metadata.name (google-drive/dropbox), source_metadata.media_type (iconik), source_metadata.iconik_metadata.<FieldName> (iconik custom metadata-view fields, e.g. source_metadata.iconik_metadata.Keywords with ContainsAny). Paths through arrays of objects match when ANY element matches. ISO datetime fields (zoom start_time, gong started, grain start_datetime, recall started_at, iconik date_created) compare as strings with LessThan/GreaterThan and represent the actual meeting date (or, for iconik, the asset creation date).
          - `path` string, required: JSON path for the field to filter on
          - `operator` 'NotEqual' | 'Equal' | 'LessThan' | 'GreaterThan' | 'ContainsAny' | 'ContainsAll' | 'In' | 'Like', required: Comparison operator to apply
          - `valueText` string: Text value for scalar comparison (used with NotEqual, Equal, LessThan, GreaterThan, Like)
          - `valueTextArray` string[]: Array of values for array comparisons (used with ContainsAny, ContainsAll, In)
      - `collections` string[]
  - `total` integer, required: The total number of items
  - `limit` integer, required: The number of items per page
  - `offset` integer, required: The offset of the items

## Changes

- **2026-07-22** `c02e52ec2e28`: 1 info
  - added the optional property `data/items/payload/filter/source_metadata` to the response with the `200` status
- **2026-03-11** `1d5d6115c0d0`: 2 breaking, 2 info
  - for the `query` request parameter `limit`, default value `20` was removed
  - for the `query` request parameter `offset`, default value `0` was removed
  - the `scope` response's property default value `file` was removed for the status `200`
  - the `scope` response's property default value `file` was removed for the status `200`
- **2026-03-03** `fbee7be59d72`: 1 info
  - added the optional property `data/items/payload/filter/video_info/items/allOf[subschema #2]/scope` to the response with the `200` status
- **2026-01-05** `deb3e8e32814`: 1 info
  - added the required property `data/items/payload` to the response with the `200` status
- **2026-01-05** `a0e8f98b1b65`: 1 breaking, 1 info
  - removed the required property `data/items/created` from the response with the `200` status
  - added the required property `data/items/created_at` to the response with the `200` status

[Operation history](https://skmtc.dev/cloudglue/apis/cloudglue-api/changes/chat/completions/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)
