---
title: "Changes to Create a chat completion"
method: POST
path: "/v1/chat/completions"
---

# Changes to Create a chat completion

`POST /v1/chat/completions`

> Every recorded change to this endpoint, newest first.

## Timeline

Changed in 10 of 30 revisions.

- **2026-09-23** `824e59bfac1e` — 16 breaking, 14 warning, 6 info
- **2026-09-15** `957bf8ec8df8` — 2 info
- **2026-09-11** `ce3609b10ef1` — 4 info
- **2026-09-10** `adde8ecfa74f` — 8 warning
- **2026-09-05** `ea8d85b8caca` — 10 warning
- **2026-09-04** `eb12b76f5763` — 17 breaking, 27 warning, 22 info
- **2026-09-03** `79d5edfa05e3` — 2 info
- **2026-08-19** `f66774ddecfc` — 4 info
- **2026-08-14** `e5ddc69af941` — 5 breaking, 5 warning, 3 info
- **2026-08-13** `d47e1d852549` — 2 breaking, 12 info

## Changes

- **2026-09-23** `824e59bfac1e` — 16 breaking, 14 warning, 6 info
  - the `messages/items/oneOf[subschema #4: AssistantMessage]/annotations/items/` request property type changed from `object` to no type
  - the `previous_messages/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/` request property type changed from `object` to no type
  - added `#/components/schemas/FileCitation, #/components/schemas/UrlCitation` to the `choices/items/message/annotations/anyOf[subschema #1]/items/` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/FileCitation, #/components/schemas/UrlCitation` to the `transcript/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/` response property `oneOf` list for the response status `200`
  - the `choices/items/message/annotations/anyOf[subschema #1]/items/` response's property type changed from `object` to no type for status `200`
  - the `transcript/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/` response's property type changed from `object` to no type for status `200`
  - removed the required property `choices/items/message/annotations/anyOf[subschema #1]/items/chunk_id` from the response with the `200` status
  - removed the required property `choices/items/message/annotations/anyOf[subschema #1]/items/file_id` from the response with the `200` status
  - removed the required property `choices/items/message/annotations/anyOf[subschema #1]/items/filename` from the response with the `200` status
  - removed the required property `choices/items/message/annotations/anyOf[subschema #1]/items/index` from the response with the `200` status
  - removed the required property `choices/items/message/annotations/anyOf[subschema #1]/items/store_id` from the response with the `200` status
  - removed the required property `transcript/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/chunk_id` from the response with the `200` status
  - removed the required property `transcript/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/file_id` from the response with the `200` status
  - removed the required property `transcript/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/filename` from the response with the `200` status
  - removed the required property `transcript/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/index` from the response with the `200` status
  - removed the required property `transcript/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/store_id` from the response with the `200` status
  - removed the request property `messages/items/oneOf[subschema #4: AssistantMessage]/annotations/items/chunk_id`
  - removed the request property `messages/items/oneOf[subschema #4: AssistantMessage]/annotations/items/file_id`
  - removed the request property `messages/items/oneOf[subschema #4: AssistantMessage]/annotations/items/filename`
  - removed the request property `messages/items/oneOf[subschema #4: AssistantMessage]/annotations/items/index`
  - removed the request property `messages/items/oneOf[subschema #4: AssistantMessage]/annotations/items/store_id`
  - removed the request property `messages/items/oneOf[subschema #4: AssistantMessage]/annotations/items/type`
  - removed the request property `previous_messages/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/chunk_id`
  - removed the request property `previous_messages/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/file_id`
  - removed the request property `previous_messages/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/filename`
  - removed the request property `previous_messages/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/index`
  - removed the request property `previous_messages/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/store_id`
  - removed the request property `previous_messages/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/type`
  - removed the optional property `choices/items/message/annotations/anyOf[subschema #1]/items/type` from the response with the `200` status
  - removed the optional property `transcript/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/type` from the response with the `200` status
  - added discriminator to `messages/items/oneOf[subschema #4: AssistantMessage]/annotations/items/` request property
  - added discriminator to `previous_messages/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/` request property
  - added `#/components/schemas/FileCitation, #/components/schemas/UrlCitation` to the `messages/items/oneOf[subschema #4: AssistantMessage]/annotations/items/` request property `oneOf` list
  - added `#/components/schemas/FileCitation, #/components/schemas/UrlCitation` to the `previous_messages/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/` request property `oneOf` list
  - added discriminator to `choices/items/message/annotations/anyOf[subschema #1]/items/` response property for the response status `200`
  - added discriminator to `transcript/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations/items/` response property for the response status `200`
- **2026-09-15** `957bf8ec8df8` — 2 info
  - added the new optional request property `response_format`
  - added the optional property `choices/items/message/refusal` to the response with the `200` status
- **2026-09-11** `ce3609b10ef1` — 4 info
  - added the new optional request property `messages/items/oneOf[subschema #4: AssistantMessage]/annotations`
  - added the new optional request property `previous_messages/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations`
  - added the optional property `choices/items/message/annotations` to the response with the `200` status
  - added the optional property `transcript/anyOf[subschema #1]/items/oneOf[subschema #4: AssistantMessage]/annotations` to the response with the `200` status
- **2026-09-10** `adde8ecfa74f` — 8 warning
  - removed the request property `tools/items/oneOf[subschema #1: SearchCorpusTool]/max_num_results`
  - removed the request property `tools/items/oneOf[subschema #2: GrepTool]/max_num_results`
  - removed the request property `tools/items/oneOf[subschema #3: FilterChunksTool]/max_num_results`
  - removed the request property `tools/items/oneOf[subschema #4: InspectMetadataTool]/max_values_per_field`
  - removed the request property `tools/items/oneOf[subschema #6: StoreSearchTool]/max_num_results`
  - removed the request property `tools/items/oneOf[subschema #7: StoreGrepTool]/max_num_results`
  - removed the request property `tools/items/oneOf[subschema #8: StoreListChunksTool]/max_num_results`
  - removed the request property `tools/items/oneOf[subschema #9: MetadataFacetsTool]/max_values_per_field`
- **2026-09-05** `ea8d85b8caca` — 10 warning
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #10: ListStoresCallItem]/reasoning_offset` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #1: SearchCorpusCallItem]/reasoning_offset` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #2: GrepCallItem]/reasoning_offset` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #3: FilterChunksCallItem]/reasoning_offset` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #4: InspectMetadataCallItem]/reasoning_offset` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #5: GetChunksCallItem]/reasoning_offset` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #6: StoreSearchCallItem]/reasoning_offset` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #7: StoreGrepCallItem]/reasoning_offset` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #8: StoreListChunksCallItem]/reasoning_offset` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #9: MetadataFacetsCallItem]/reasoning_offset` from the response with the `200` status
- **2026-09-04** `eb12b76f5763` — 17 breaking, 27 warning, 22 info
  - the `tools/items/oneOf[subschema #1: StoreSearchTool -> subschema #6: StoreSearchTool]/max_num_results` request property's max was decreased to `30.00`
  - the `tools/items/oneOf[subschema #2: StoreGrepTool -> subschema #7: StoreGrepTool]/max_num_results` request property's max was decreased to `30.00`
  - the `tools/items/oneOf[subschema #3: StoreListChunksTool -> subschema #8: StoreListChunksTool]/max_num_results` request property's max was decreased to `30.00`
  - the `tools/items/oneOf[subschema #4: MetadataFacetsTool -> subschema #9: MetadataFacetsTool]/max_values_per_field` request property's max was decreased to `20.00`
  - added `#/components/schemas/SearchCorpusCallItem, #/components/schemas/GrepCallItem, #/components/schemas/FilterChunksCallItem, #/components/schemas/InspectMetadataCallItem, #/components/schemas/GetChunksCallItem` to the `hosted_tool_calls/items/` response property `oneOf` list for the response status `200`
  - removed the required property `hosted_tool_calls/items/oneOf[subschema #1: StoreSearchCallItem -> subschema #6: StoreSearchCallItem]/results/anyOf[subschema #1]/items/chunk_index` from the response with the `200` status
  - removed the required property `hosted_tool_calls/items/oneOf[subschema #1: StoreSearchCallItem -> subschema #6: StoreSearchCallItem]/results/anyOf[subschema #1]/items/file_id` from the response with the `200` status
  - removed the required property `hosted_tool_calls/items/oneOf[subschema #1: StoreSearchCallItem -> subschema #6: StoreSearchCallItem]/results/anyOf[subschema #1]/items/score` from the response with the `200` status
  - removed the required property `hosted_tool_calls/items/oneOf[subschema #1: StoreSearchCallItem -> subschema #6: StoreSearchCallItem]/results/anyOf[subschema #1]/items/store_id` from the response with the `200` status
  - removed the required property `hosted_tool_calls/items/oneOf[subschema #2: StoreGrepCallItem -> subschema #7: StoreGrepCallItem]/results/anyOf[subschema #1]/items/chunk_index` from the response with the `200` status
  - removed the required property `hosted_tool_calls/items/oneOf[subschema #2: StoreGrepCallItem -> subschema #7: StoreGrepCallItem]/results/anyOf[subschema #1]/items/file_id` from the response with the `200` status
  - removed the required property `hosted_tool_calls/items/oneOf[subschema #2: StoreGrepCallItem -> subschema #7: StoreGrepCallItem]/results/anyOf[subschema #1]/items/score` from the response with the `200` status
  - removed the required property `hosted_tool_calls/items/oneOf[subschema #2: StoreGrepCallItem -> subschema #7: StoreGrepCallItem]/results/anyOf[subschema #1]/items/store_id` from the response with the `200` status
  - removed the required property `hosted_tool_calls/items/oneOf[subschema #3: StoreListChunksCallItem -> subschema #8: StoreListChunksCallItem]/results/anyOf[subschema #1]/items/chunk_index` from the response with the `200` status
  - removed the required property `hosted_tool_calls/items/oneOf[subschema #3: StoreListChunksCallItem -> subschema #8: StoreListChunksCallItem]/results/anyOf[subschema #1]/items/file_id` from the response with the `200` status
  - removed the required property `hosted_tool_calls/items/oneOf[subschema #3: StoreListChunksCallItem -> subschema #8: StoreListChunksCallItem]/results/anyOf[subschema #1]/items/score` from the response with the `200` status
  - removed the required property `hosted_tool_calls/items/oneOf[subschema #3: StoreListChunksCallItem -> subschema #8: StoreListChunksCallItem]/results/anyOf[subschema #1]/items/store_id` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #1: StoreSearchCallItem -> subschema #6: StoreSearchCallItem]/results/anyOf[subschema #1]/items/filename` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #1: StoreSearchCallItem -> subschema #6: StoreSearchCallItem]/results/anyOf[subschema #1]/items/generated_metadata` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #1: StoreSearchCallItem -> subschema #6: StoreSearchCallItem]/results/anyOf[subschema #1]/items/index` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #1: StoreSearchCallItem -> subschema #6: StoreSearchCallItem]/results/anyOf[subschema #1]/items/metadata` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #1: StoreSearchCallItem -> subschema #6: StoreSearchCallItem]/results/anyOf[subschema #1]/items/mime_type` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #1: StoreSearchCallItem -> subschema #6: StoreSearchCallItem]/results/anyOf[subschema #1]/items/ocr_text` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #1: StoreSearchCallItem -> subschema #6: StoreSearchCallItem]/results/anyOf[subschema #1]/items/summary` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #1: StoreSearchCallItem -> subschema #6: StoreSearchCallItem]/results/anyOf[subschema #1]/items/text` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #1: StoreSearchCallItem -> subschema #6: StoreSearchCallItem]/results/anyOf[subschema #1]/items/transcription` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #2: StoreGrepCallItem -> subschema #7: StoreGrepCallItem]/results/anyOf[subschema #1]/items/filename` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #2: StoreGrepCallItem -> subschema #7: StoreGrepCallItem]/results/anyOf[subschema #1]/items/generated_metadata` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #2: StoreGrepCallItem -> subschema #7: StoreGrepCallItem]/results/anyOf[subschema #1]/items/index` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #2: StoreGrepCallItem -> subschema #7: StoreGrepCallItem]/results/anyOf[subschema #1]/items/metadata` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #2: StoreGrepCallItem -> subschema #7: StoreGrepCallItem]/results/anyOf[subschema #1]/items/mime_type` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #2: StoreGrepCallItem -> subschema #7: StoreGrepCallItem]/results/anyOf[subschema #1]/items/ocr_text` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #2: StoreGrepCallItem -> subschema #7: StoreGrepCallItem]/results/anyOf[subschema #1]/items/summary` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #2: StoreGrepCallItem -> subschema #7: StoreGrepCallItem]/results/anyOf[subschema #1]/items/text` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #2: StoreGrepCallItem -> subschema #7: StoreGrepCallItem]/results/anyOf[subschema #1]/items/transcription` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #3: StoreListChunksCallItem -> subschema #8: StoreListChunksCallItem]/results/anyOf[subschema #1]/items/filename` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #3: StoreListChunksCallItem -> subschema #8: StoreListChunksCallItem]/results/anyOf[subschema #1]/items/generated_metadata` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #3: StoreListChunksCallItem -> subschema #8: StoreListChunksCallItem]/results/anyOf[subschema #1]/items/index` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #3: StoreListChunksCallItem -> subschema #8: StoreListChunksCallItem]/results/anyOf[subschema #1]/items/metadata` from the response with the `200` status
  - removed the optional property `hosted_tool_calls/items/oneOf[subschema #3: StoreListChunksCallItem -> subschema #8: StoreListChunksCallItem]/results/anyOf[subschema #1]/items/mime_type` from the response with the `200` status
  - …26 more
- **2026-09-03** `79d5edfa05e3` — 2 info
  - request property `previous_messages` deprecated
  - request property `terminal_tool_name` deprecated
- **2026-08-19** `f66774ddecfc` — 4 info
  - added the new optional request property `messages/items/oneOf[subschema #4: AssistantMessage]/reasoning_content`
  - added the new optional request property `previous_messages`
  - added the new optional request property `terminal_tool_name`
  - added the optional property `transcript` to the response with the `200` status
- **2026-08-14** `e5ddc69af941` — 5 breaking, 5 warning, 3 info
  - request property `model` list-of-types was narrowed by removing types `null` from media type `application/json`
  - the `tools/items/oneOf[subschema #1: StoreSearchTool]/store_identifiers/anyOf[subschema #1]/` request property's minItems was increased to `1`
  - the `tools/items/oneOf[subschema #2: StoreGrepTool]/store_identifiers/anyOf[subschema #1]/` request property's minItems was increased to `1`
  - the `tools/items/oneOf[subschema #3: StoreListChunksTool]/store_identifiers/anyOf[subschema #1]/` request property's minItems was increased to `1`
  - the `tools/items/oneOf[subschema #4: MetadataFacetsTool]/store_identifiers/anyOf[subschema #1]/` request property's minItems was increased to `1`
  - removed the request property `tools/items/oneOf[subschema #1: StoreSearchTool]/enabled`
  - removed the request property `tools/items/oneOf[subschema #2: StoreGrepTool]/enabled`
  - removed the request property `tools/items/oneOf[subschema #3: StoreListChunksTool]/enabled`
  - removed the request property `tools/items/oneOf[subschema #4: MetadataFacetsTool]/enabled`
  - removed the request property `tools/items/oneOf[subschema #5: ListStoresTool]/enabled`
  - the `model` request property default value `toast-1` was added
  - added the optional property `tool_tickets` to the response with the `200` status
  - added the optional property `usage/anyOf[subschema #1: CompletionUsage]/prompt_tokens_details` to the response with the `200` status
- **2026-08-13** `d47e1d852549` — 2 breaking, 12 info
  - added required request body
  - the response's body type changed from no type to `object` for status `200`
  - api tag `chat` added
  - api tag `completions` removed
  - added the non-success response with the status `422`
  - added the optional property `hosted_tool_calls` to the response with the `200` status
  - added the optional property `metadata` to the response with the `200` status
  - added the optional property `object` to the response with the `200` status
  - added the optional property `title` to the response with the `200` status
  - added the optional property `usage` to the response with the `200` status
  - added the required property `choices` to the response with the `200` status
  - added the required property `created` to the response with the `200` status
  - added the required property `id` to the response with the `200` status
  - added the required property `model` to the response with the `200` status

---

[Operation](https://skmtc.dev/mixedbread/apis/mxbai-omni/docs/v1/chat/completions/post.md) · [API](https://skmtc.dev/mixedbread/apis/mxbai-omni.md) · [Page](https://skmtc.dev/mixedbread/apis/mxbai-omni/changes/v1/chat/completions/post)
