---
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 operation, newest first.

## Timeline

Changed in 3 of 7 revisions.

- **2026-11-08** `26c1a63334fa`: 1 info
- **2026-11-07** `1aff453b26f4`: 1 info
- **2026-11-03** `b697d49fa1f9`: 53 breaking, 30 warning, 42 info

## Changes

- **2026-11-08** `26c1a63334fa`: 1 info
  - added the new optional request property `models`
- **2026-11-07** `1aff453b26f4`: 1 info
  - added the optional property `anyOf[#/components/schemas/ChatChunk]/choices/items/delta/allOf[#/components/schemas/ChatDelta]/annotations` to the response with the `200` status
- **2026-11-03** `b697d49fa1f9`: 53 breaking, 30 warning, 42 info
  - added `#/components/schemas/ChatToolChoice` to the `tool_choice` request property `allOf` list
  - removed `#/components/schemas/StreamOptions, subschema #2` from the `stream_options` request property `anyOf` list
  - removed `#/components/schemas/TextResponseFormat, #/components/schemas/JsonObjectResponseFormat, #/components/schemas/JsonSchemaResponseFormat, subschema #4` from the `response_format` request property `anyOf` list
  - removed `subschema #1, subschema #2` from the `tool_choice` request property `anyOf` list
  - removed `subschema #1, subschema #2, subschema #3` from the `messages/items/content` request property `anyOf` list
  - removed `subschema #1, subschema #2, subschema #3` from the `stop` request property `anyOf` list
  - removed the enum value `high` of the request property `reasoning_effort`
  - removed the enum value `low` of the request property `reasoning_effort`
  - removed the enum value `medium` of the request property `reasoning_effort`
  - removed the enum value `minimal` of the request property `reasoning_effort`
  - removed the enum value `none` of the request property `reasoning_effort`
  - removed the enum value `xhigh` of the request property `reasoning_effort`
  - request property `frequency_penalty` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `max_completion_tokens` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `messages/items/images` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `messages/items/reasoning_details` 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 `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 `tools` 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 `reasoning_effort` request property type changed from `string` to no type
  - the `web_search_options` request property type changed from `object` to no type
  - the response's body type changed from `object` to no type for status `200` (media type: application/json)
  - the `error` response's property type changed from `object` to no type for status `400`
  - the `error` response's property type changed from `object` to no type for status `401`
  - the `error` response's property type changed from `object` to no type for status `402`
  - the `error` response's property type changed from `object` to no type for status `403`
  - the `error` response's property type changed from `object` to no type for status `410`
  - the `error` response's property type changed from `object` to no type for status `429`
  - the `error` response's property type changed from `object` to no type for status `500`
  - the `error` response's property type changed from `object` to no type for status `503`
  - removed the required property `choices` from the response with the `200` status (media type: application/json)
  - removed the required property `created` from the response with the `200` status (media type: application/json)
  - removed the required property `detail` from the response with the `422` status
  - removed the required property `error/message` from the response with the `400` status
  - removed the required property `error/message` from the response with the `401` status
  - removed the required property `error/message` from the response with the `402` status
  - removed the required property `error/message` from the response with the `403` status
  - removed the required property `error/message` from the response with the `410` status
  - …85 more

---

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