---
title: "Changes to Create Chat Completion"
method: POST
path: "/v1/chat/completions"
---

# Changes to Create Chat Completion

`POST /v1/chat/completions`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 8 of 9 revisions.

- **2024-08-30** `790b47aba5c5`: 22 breaking, 5 warning, 17 info
- **2024-06-28** `370f4057658e`: 1 warning, 1 info
- **2024-06-17** `a81b0c402265`: 6 info
- **2024-06-17** `f36bd8f8ff45`: 7 breaking, 3 info
- **2024-06-05** `53428307b5b7`: 3 breaking, 6 info
- **2024-06-05** `f36bd8f8ff45`: 7 breaking, 3 info
- **2024-05-21** `53428307b5b7`: 11 breaking, 23 warning, 17 info
- **2024-05-01** `151d12519cac`: 6 breaking, 2 warning, 11 info

## Changes

- **2024-08-30** `790b47aba5c5`: 22 breaking, 5 warning, 17 info
  - added `#/components/schemas/StreamOptions` to the `stream_options` request property `allOf` list
  - removed `#/components/schemas/StreamOptions, subschema #2` from the `stream_options` request property `anyOf` list
  - removed `subschema #1, subschema #2` from the `tool_choice` request property `anyOf` list
  - request property `messages/items/tool_calls/anyOf[subschema #1]/items/type` was restricted to a list of enum values
  - request property `tool_choice/anyOf[subschema #3: FunctionChoice]/type` was restricted to a list of enum values
  - request property `tools/anyOf[subschema #1]/items/type` was restricted to a list of enum values
  - request property `tools/anyOf[subschema #1]/items/function/allOf[subschema #1: FunctionDefinition]/description` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `tools/anyOf[subschema #1]/items/function/allOf[subschema #1: FunctionDefinition]/parameters` list-of-types was narrowed by removing types `null` from media type `application/json`
  - the `messages/items/tool_calls/anyOf[subschema #1]/items/type` request property type changed from no type to `string`
  - the `tool_choice/anyOf[subschema #3: FunctionChoice]/type` request property type changed from no type to `string`
  - the `tools/anyOf[subschema #1]/items/type` request property type changed from no type to `string`
  - the response property `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta/allOf[subschema #1: ChatCompletionDelta]/tool_calls/anyOf[subschema #1]/items/function` became optional for the status `200` (media type: application/json)
  - the response property `choices/items/delta/allOf[subschema #1: ChatCompletionDelta]/tool_calls/anyOf[subschema #1]/items/function` became optional for the status `200` (media type: text/event-stream)
  - the `type` response property const value `function` was removed for the status `200` (media type: application/json)
  - the `type` response property const value `function` was removed for the status `200` (media type: text/event-stream)
  - response property `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta/allOf[subschema #1: ChatCompletionDelta]/tool_calls/anyOf[subschema #1]/items/id` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `choices/items/delta/allOf[subschema #1: ChatCompletionDelta]/tool_calls/anyOf[subschema #1]/items/id` list-of-types was widened by adding types `null` to media type `text/event-stream` of response `200`
  - response property `choices/items/message/allOf[subschema #1: ChatMessage]/content` list-of-types was widened by adding types `array` to media type `application/json` of response `200`
  - the `anyOf[subschema #2: ChatCompletionChunk]/object` response's property type changed from no type to `string` for status `200` (media type: application/json)
  - the `choices/items/message/allOf[subschema #1: ChatMessage]/tool_calls/anyOf[subschema #1]/items/type` response's property type changed from no type to `string` for status `200` (media type: application/json)
  - the `object` response's property type changed from no type to `string` for status `200` (media type: application/json)
  - the `object` response's property type changed from no type to `string` for status `500`
  - added the new `chat.completion` enum value to the `object` response property for the response status `200` (media type: application/json)
  - added the new `chat.completion.chunk` enum value to the `anyOf[subschema #2: ChatCompletionChunk]/object` response property for the response status `200` (media type: application/json)
  - added the new `chat.completion.chunk` enum value to the `object` response property for the response status `200` (media type: text/event-stream)
  - added the new `error` enum value to the `object` response property for the response status `500`
  - added the new `function` enum value to the `choices/items/message/allOf[subschema #1: ChatMessage]/tool_calls/anyOf[subschema #1]/items/type` response property for the response status `200` (media type: application/json)
  - added the new optional request property `log_prompt`
  - added the new optional request property `min_p`
  - added `subschema #1, subschema #2` to the `tool_choice` request property `anyOf` list
  - the `description` request property default value `` was added
  - the `tool_choice` request property default value `auto` was added
  - added the new `function` enum value to the request property `messages/items/tool_calls/anyOf[subschema #1]/items/type`
  - added the new `function` enum value to the request property `tool_choice/anyOf[subschema #3: FunctionChoice]/type`
  - added the new `function` enum value to the request property `tools/anyOf[subschema #1]/items/type`
  - request property `messages/items/content` list-of-types was widened by adding types `array` to media type `application/json`
  - removed `#/components/schemas/FunctionCall` from the `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta/allOf[subschema #1: ChatCompletionDelta]/tool_calls/anyOf[subschema #1]/items/function` response property `allOf` list for the response status `200` (media type: application/json)
  - removed `#/components/schemas/FunctionCall` from the `choices/items/delta/allOf[subschema #1: ChatCompletionDelta]/tool_calls/anyOf[subschema #1]/items/function` response property `allOf` list for the response status `200` (media type: text/event-stream)
  - added `#/components/schemas/ChatCompletionDeltaToolCallFunction, subschema #2` to the `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta/allOf[subschema #1: ChatCompletionDelta]/tool_calls/anyOf[subschema #1]/items/function` response property `anyOf` list for the response status `200` (media type: application/json)
  - added `#/components/schemas/ChatCompletionDeltaToolCallFunction, subschema #2` to the `choices/items/delta/allOf[subschema #1: ChatCompletionDelta]/tool_calls/anyOf[subschema #1]/items/function` response property `anyOf` list for the response status `200` (media type: text/event-stream)
  - …4 more
- **2024-06-28** `370f4057658e`: 1 warning, 1 info
  - removed the request property `octoai`
  - added the new optional request property `peft`
- **2024-06-17** `a81b0c402265`: 6 info
  - added the new optional request property `messages/items/tool_calls`
  - added the new optional request property `tool_choice`
  - added the new optional request property `tools`
  - added the optional property `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta/allOf[subschema #1: ChatCompletionDelta]/tool_calls` to the response with the `200` status (media type: application/json)
  - added the optional property `choices/items/delta/allOf[subschema #1: ChatCompletionDelta]/tool_calls` to the response with the `200` status (media type: text/event-stream)
  - added the optional property `choices/items/message/allOf[subschema #1: ChatMessage]/tool_calls` to the response with the `200` status (media type: application/json)
- **2024-06-17** `f36bd8f8ff45`: 7 breaking, 3 info
  - the `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta` response's property type changed from `object` to no type for status `200` (media type: application/json)
  - the `choices/items/delta` response's property type changed from `object` to no type for status `200` (media type: text/event-stream)
  - the `object` response's property type changed from `string` to no type for status `500`
  - removed the required property `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta/content` from the response with the `200` status (media type: application/json)
  - removed the required property `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta/role` from the response with the `200` status (media type: application/json)
  - removed the required property `choices/items/delta/content` from the response with the `200` status (media type: text/event-stream)
  - removed the required property `choices/items/delta/role` from the response with the `200` status (media type: text/event-stream)
  - added `#/components/schemas/ChatCompletionDelta` to the `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta` response property `allOf` list for the response status `200` (media type: application/json)
  - added `#/components/schemas/ChatCompletionDelta` to the `choices/items/delta` response property `allOf` list for the response status `200` (media type: text/event-stream)
  - the `object` response property const value `error` was added for the status `500`
- **2024-06-05** `53428307b5b7`: 3 breaking, 6 info
  - the `object` response property const value `error` was removed for the status `500`
  - the `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta` response's property type changed from no type to `object` for status `200` (media type: application/json)
  - the `object` response's property type changed from no type to `string` for status `500`
  - removed `#/components/schemas/ChatCompletionDelta` from the `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta` response property `allOf` list for the response status `200` (media type: application/json)
  - removed `#/components/schemas/ChatCompletionDelta` from the `choices/items/delta` response property `allOf` list for the response status `200` (media type: text/event-stream)
  - added the required property `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta/content` to the response with the `200` status (media type: application/json)
  - added the required property `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta/role` to the response with the `200` status (media type: application/json)
  - added the required property `choices/items/delta/content` to the response with the `200` status (media type: text/event-stream)
  - added the required property `choices/items/delta/role` to the response with the `200` status (media type: text/event-stream)
- **2024-06-05** `f36bd8f8ff45`: 7 breaking, 3 info
  - the `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta` response's property type changed from `object` to no type for status `200` (media type: application/json)
  - the `choices/items/delta` response's property type changed from `object` to no type for status `200` (media type: text/event-stream)
  - the `object` response's property type changed from `string` to no type for status `500`
  - removed the required property `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta/content` from the response with the `200` status (media type: application/json)
  - removed the required property `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta/role` from the response with the `200` status (media type: application/json)
  - removed the required property `choices/items/delta/content` from the response with the `200` status (media type: text/event-stream)
  - removed the required property `choices/items/delta/role` from the response with the `200` status (media type: text/event-stream)
  - added `#/components/schemas/ChatCompletionDelta` to the `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta` response property `allOf` list for the response status `200` (media type: application/json)
  - added `#/components/schemas/ChatCompletionDelta` to the `choices/items/delta` response property `allOf` list for the response status `200` (media type: text/event-stream)
  - the `object` response property const value `error` was added for the status `500`
- **2024-05-21** `53428307b5b7`: 11 breaking, 23 warning, 17 info
  - removed `#/components/schemas/ChatCompletionRequestExtVLLM, subschema #2` from the `octoai/anyOf[subschema #1: ChatCompletionRequestExt]/vllm` request property `anyOf` list
  - request property `frequency_penalty` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `ignore_eos` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `max_tokens` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `n` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `presence_penalty` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `repetition_penalty` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `stream` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `temperature` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `top_p` list-of-types was narrowed by removing types `null` from media type `application/json`
  - the `octoai/anyOf[subschema #1: ChatCompletionRequestExt]/vllm` request property type changed from no type to `object`
  - the `repetition_penalty` request property's exclusiveMinimum was set to `0.00`
  - the `top_p` request property's exclusiveMinimum was set to `0.00`
  - the `frequency_penalty` request property's max was set to `2.00`
  - the `presence_penalty` request property's max was set to `2.00`
  - the `temperature` request property's max was set to `2.00`
  - the `top_p` request property's max was set to `1.00`
  - the `frequency_penalty` request property's min was set to `-2.00`
  - the `max_tokens` request property's min was set to `1.00`
  - the `n` request property's min was set to `1.00`
  - the `presence_penalty` request property's min was set to `-2.00`
  - the `temperature` request property's min was set to `0.00`
  - removed the request property `function_call`
  - removed the request property `functions`
  - removed the request property `messages/items/function_call`
  - removed the optional property `anyOf[subschema #2: ChatCompletionChunk]/choices/items/delta/function_call` from the response with the `200` status (media type: application/json)
  - removed the optional property `choices/items/delta/function_call` from the response with the `200` status (media type: text/event-stream)
  - removed the optional property `choices/items/message/allOf[subschema #1: ChatMessage]/function_call` from the response with the `200` status (media type: application/json)
  - added the new `cancelled` enum value to the `anyOf[subschema #2: ChatCompletionChunk]/choices/items/finish_reason/anyOf[subschema #1: FinishReason]/` response property for the response status `200` (media type: application/json)
  - added the new `cancelled` enum value to the `choices/items/finish_reason/anyOf[subschema #1: FinishReason]/` response property for the response status `200` (media type: application/json)
  - added the new `cancelled` enum value to the `choices/items/finish_reason/anyOf[subschema #1: FinishReason]/` response property for the response status `200` (media type: text/event-stream)
  - added the new `tool_calls` enum value to the `anyOf[subschema #2: ChatCompletionChunk]/choices/items/finish_reason/anyOf[subschema #1: FinishReason]/` response property for the response status `200` (media type: application/json)
  - added the new `tool_calls` enum value to the `choices/items/finish_reason/anyOf[subschema #1: FinishReason]/` response property for the response status `200` (media type: application/json)
  - added the new `tool_calls` enum value to the `choices/items/finish_reason/anyOf[subschema #1: FinishReason]/` response property for the response status `200` (media type: text/event-stream)
  - added the new optional request property `loglikelihood`
  - added the new optional request property `logprobs`
  - added the new optional request property `octoai/anyOf[subschema #1: ChatCompletionRequestExt]/vllm/best_of`
  - added the new optional request property `octoai/anyOf[subschema #1: ChatCompletionRequestExt]/vllm/ignore_eos`
  - added the new optional request property `octoai/anyOf[subschema #1: ChatCompletionRequestExt]/vllm/skip_special_tokens`
  - added the new optional request property `octoai/anyOf[subschema #1: ChatCompletionRequestExt]/vllm/stop_token_ids`
  - …11 more
- **2024-05-01** `151d12519cac`: 6 breaking, 2 warning, 11 info
  - request property `max_tokens` list-of-types was narrowed by removing types `number` from media type `application/json`
  - the `max_tokens/anyOf[subschema #1]/` request property type changed from `number` to `integer`
  - the `object` response's property type changed from `string` to no type for status `200` (media type: application/json)
  - removed the required property `choices/items/delta` from the response with the `200` status (media type: application/json)
  - removed the required property `choices/items/message` from the response with the `200` status (media type: text/event-stream)
  - removed the required property `usage` from the response with the `200` status (media type: text/event-stream)
  - the `max_tokens/anyOf[subschema #1]/` request property's min was set to `1.00`
  - removed the request property `octoai/anyOf[subschema #1: ChatCompletionRequestExt]/loras`
  - the `max_tokens` request property default value `512` was added
  - the `vllm` request property default value `{"best_of":1,"ignore_eos":false,"skip_special_tokens":true,"stop_token_ids":[],"top_k":-1,"use_beam_search":false}` was added
  - the `object` response property const value `chat.completion` was added for the status `200` (media type: application/json)
  - the `object` response property const value `chat.completion.chunk` was added for the status `200` (media type: text/event-stream)
  - the `object` response's property default value changed from `chat.completion` to `chat.completion.chunk` for the status `200` (media type: text/event-stream)
  - the `object` response's property default value changed from `chat.completion.chunk` to `chat.completion` for the status `200` (media type: application/json)
  - removed the `none` enum value from the `choices/items/finish_reason/anyOf[subschema #1: FinishReason]/` response property for the response status `200` (media type: application/json)
  - removed the `none` enum value from the `choices/items/finish_reason/anyOf[subschema #1: FinishReason]/` response property for the response status `200` (media type: text/event-stream)
  - added the required property `choices/items/delta` to the response with the `200` status (media type: text/event-stream)
  - added the required property `choices/items/message` to the response with the `200` status (media type: application/json)
  - added the required property `usage` to the response with the `200` status (media type: application/json)

---

[Operation](https://skmtc.dev/octoml/apis/ollm-api/docs/v1/chat/completions/post.md) - [API](https://skmtc.dev/octoml/apis/ollm-api.md) - [Page](https://skmtc.dev/octoml/apis/ollm-api/changes/v1/chat/completions/post)
