---
title: "List the turns of a conversation"
method: GET
path: "/v1/chat/completions/{completion_id}/turns"
tags: ["chat"]
---

# List the turns of a conversation

`GET /v1/chat/completions/{completion_id}/turns`

List every stored completion of the conversation the given one belongs to, oldest first.

Each turn carries its own hosted tool calls, so together with the tip's
request messages the whole conversation reconstructs with full detail.

## Path parameters

- `completion_id` string, required — ID of the chat completion

## Query parameters

- `include` string[], nullable — Extra fields to include, e.g. store_search_call.results, store_grep_call.results or store_list_chunks_call.results; unsupported values are ignored

## Response `200`

Every completion of the conversation, oldest first

- ChatCompletionList — List envelope of stored completions, newest first.
  - `object` 'list'
  - `data` ChatCompletion[]
    - `id` string, required
    - `object` 'chat.completion'
    - `created` integer, required
    - `model` string, required
    - `choices` ChatCompletionChoice[], required
      - `index` integer
      - `message` ChatCompletionMessage, required — The assistant message of one completion choice.
        - `role` 'assistant'
        - `content` string, nullable
        - `tool_calls` MessageToolCall[], nullable
          - `id` string, required
          - `type` 'function'
          - `function` ToolCallFunction, required
            - `name` string, required
            - `arguments` string, required
        - `reasoning_content` string, nullable
      - `finish_reason` 'stop' | 'tool_calls' | 'length'
      - `logprobs` unknown
    - `usage` CompletionUsage
      - `prompt_tokens` integer
      - `completion_tokens` integer
      - `total_tokens` integer
    - `metadata` object, nullable
    - `title` string, nullable — Short display title of the conversation this completion belongs to (Mixedbread extension)
    - `hosted_tool_calls` union[] — Server-side hosted tool executions of this completion (Mixedbread extension); chunk results ride along only for requested include keys, e.g. store_search_call.results
      - union
        - StoreSearchCallItem — Record of one server-side store search execution.
          - `type` 'store_search_call'
          - `id` string, required
          - `status` 'in_progress' | 'completed' | 'failed'
          - `queries` string[]
          - `metadata_filters` MetadataFilter[], nullable
            - `key` string, required — Metadata field key
            - `operator` 'eq' | 'not_eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'not_in' | 'like' | 'contains' | 'starts_with' | 'not_like' | 'regex', required — Operator for a filter condition.
            - `value` union, required — Value to compare against. Use a list for `in`/`not_in`.
              - …
          - `filter_mode` 'all' | 'any'
          - `store` string, nullable
          - `results` StoreSearchResult[], nullable
            - `index` integer, nullable
            - `store_id` string, required
            - `file_id` string, required
            - `chunk_index` integer, required
            - `filename` string, nullable
            - `mime_type` string, nullable
            - `score` number, required
            - `text` string, nullable
            - `ocr_text` string, nullable
            - `transcription` string, nullable
            - `summary` string, nullable
            - `metadata` unknown
            - `generated_metadata` unknown
          - `error` ToolCallError — Machine-readable reason a hosted tool call failed (Mixedbread extension).
            - `code` 'permission_denied' | 'invalid_arguments' | 'server_error', required
            - `message` string, required
          - `reasoning_offset` integer, nullable
        - StoreGrepCallItem — Record of one server-side grep execution.
          - `type` 'store_grep_call'
          - `id` string, required
          - `status` 'in_progress' | 'completed' | 'failed'
          - `pattern` string, nullable
          - `targets` StoreChunkGrepTarget[], nullable
          - `case_sensitive` boolean
          - `metadata_filters` MetadataFilter[], nullable
            - `key` string, required — Metadata field key
            - `operator` 'eq' | 'not_eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'not_in' | 'like' | 'contains' | 'starts_with' | 'not_like' | 'regex', required — Operator for a filter condition.
            - `value` union, required — Value to compare against. Use a list for `in`/`not_in`.
              - …
          - `filter_mode` 'all' | 'any'
          - `store` string, nullable
          - `results` StoreSearchResult[], nullable
            - `index` integer, nullable
            - `store_id` string, required
            - `file_id` string, required
            - `chunk_index` integer, required
            - `filename` string, nullable
            - `mime_type` string, nullable
            - `score` number, required
            - `text` string, nullable
            - `ocr_text` string, nullable
            - `transcription` string, nullable
            - `summary` string, nullable
            - `metadata` unknown
            - `generated_metadata` unknown
          - `error` ToolCallError — Machine-readable reason a hosted tool call failed (Mixedbread extension).
            - `code` 'permission_denied' | 'invalid_arguments' | 'server_error', required
            - `message` string, required
          - `reasoning_offset` integer, nullable
        - StoreListChunksCallItem — Record of one server-side metadata-driven chunk listing.
          - `type` 'store_list_chunks_call'
          - `id` string, required
          - `status` 'in_progress' | 'completed' | 'failed'
          - `metadata_filters` MetadataFilter[], nullable
            - `key` string, required — Metadata field key
            - `operator` 'eq' | 'not_eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'not_in' | 'like' | 'contains' | 'starts_with' | 'not_like' | 'regex', required — Operator for a filter condition.
            - `value` union, required — Value to compare against. Use a list for `in`/`not_in`.
              - …
          - `filter_mode` 'all' | 'any'
          - `rank_by` string, nullable
          - `direction` 'asc' | 'desc'
          - `store` string, nullable
          - `results` StoreSearchResult[], nullable
            - `index` integer, nullable
            - `store_id` string, required
            - `file_id` string, required
            - `chunk_index` integer, required
            - `filename` string, nullable
            - `mime_type` string, nullable
            - `score` number, required
            - `text` string, nullable
            - `ocr_text` string, nullable
            - `transcription` string, nullable
            - `summary` string, nullable
            - `metadata` unknown
            - `generated_metadata` unknown
          - `error` ToolCallError — Machine-readable reason a hosted tool call failed (Mixedbread extension).
            - `code` 'permission_denied' | 'invalid_arguments' | 'server_error', required
            - `message` string, required
          - `reasoning_offset` integer, nullable
        - MetadataFacetsCallItem — Record of one server-side metadata facets lookup.
          - `type` 'store_metadata_facets_call'
          - `id` string, required
          - `status` 'in_progress' | 'completed' | 'failed'
          - `store` string, nullable
          - `facets` object, nullable
          - `error` ToolCallError — Machine-readable reason a hosted tool call failed (Mixedbread extension).
            - `code` 'permission_denied' | 'invalid_arguments' | 'server_error', required
            - `message` string, required
          - `reasoning_offset` integer, nullable
        - ListStoresCallItem — Record of one server-side store listing execution.
          - `type` 'list_stores_call'
          - `id` string, required
          - `status` 'in_progress' | 'completed' | 'failed'
          - `cursor` string, nullable
          - `stores` ListStoresResult[], nullable
            - `name` string, required
            - `description` string, nullable
            - `connectors` string[] — Providers of the connectors ingesting into this store, e.g. slack or notion
          - `has_more` boolean
          - `next_cursor` string, nullable
          - `error` ToolCallError — Machine-readable reason a hosted tool call failed (Mixedbread extension).
            - `code` 'permission_denied' | 'invalid_arguments' | 'server_error', required
            - `message` string, required
          - `reasoning_offset` integer, nullable
  - `first_id` string, nullable
  - `last_id` string, nullable
  - `has_more` boolean

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/mixedbread/apis/mxbai-omni.md) · [All operations](https://skmtc.net/mixedbread/apis/mxbai-omni/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mixedbread/mxbai-omni/revisions/d47e1d852549/schema)
