---
title: "Changes to Chat completion"
method: POST
path: "/v1/chat"
---

# Changes to Chat completion

`POST /v1/chat`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 22 of 45 revisions.

- **2026-10-29** `59865afc5779`: 1 breaking, 3 warning, 1 info
- **2026-10-16** `5e8521484e1e`: 1 breaking, 4 info
- **2025-10-01** `4ec783072dd7`: 4 info
- **2025-09-11** `3f87c8deb39e`: 1 info
- **2025-08-12** `0bbaae2a6920`: 6 info
- **2025-04-30** `07dea48ea85e`: 4 info
- **2025-04-25** `a0e83ebfd818`: 1 breaking, 3 info
- **2025-04-02** `d15316b8a3a0`: 2 breaking, 3 warning, 2 info
- **2025-02-25** `3d3b2fe43375`: 19 breaking, 10 info
- **2024-11-29** `82683f2fd5f8`: 1 breaking, 3 info
- **2024-11-29** `6b363dd34169`: 6 breaking, 1 info
- **2024-10-30** `8e1a6a7a7075`: 2 breaking
- **2024-10-30** `94a38a74ceff`: 6 info
- **2024-10-24** `b508bc085393`: 9 breaking, 2 warning, 1 info
- **2024-10-10** `4206be8170d9`: 1 warning, 1 info
- **2024-10-09** `330636638e84`: 3 info
- **2024-10-08** `2ad4cffb18a0`: 2 breaking, 1 warning
- **2024-10-08** `330636638e84`: 3 info
- **2024-10-04** `2ad4cffb18a0`: 1 breaking, 4 warning, 34 info
- **2024-10-03** `4a11c63c7cb5`: 3 breaking, 1 warning, 14 info
- **2024-09-24** `5d34056e0e74`: 3 warning, 1 info
- **2024-09-20** `149f74d46fcb`: 1 warning, 4 info

## Changes

- **2026-10-29** `59865afc5779`: 1 breaking, 3 warning, 1 info
  - removed `#/components/schemas/translation_tool, #/components/schemas/vision_tool` from the `tools/items/` request property `oneOf` list
  - removed the optional property `choices/items/message/translation_data` from the response with the `200` status (media type: application/json)
  - removed the optional property `items/choices/items/delta/translation_data` from the response with the `200` status (media type: text/event-stream)
  - removed the optional property `items/choices/items/message/translation_data` from the response with the `200` status (media type: text/event-stream)
  - removed `translation, vision` discriminator mapping keys from the `tools/items/` request property
- **2026-10-16** `5e8521484e1e`: 1 breaking, 4 info
  - the request property `messages/items/tool_calls/items/function/name` became required
  - the `logprobs` request property default value `false` was added
  - the response property `choices/items/message/tool_calls/items/function/name` became required for the status `200` (media type: application/json)
  - the response property `items/choices/items/delta/tool_calls/items/function/name` became required for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/message/tool_calls/items/function/name` became required for the status `200` (media type: text/event-stream)
- **2025-10-01** `4ec783072dd7`: 4 info
  - added the new optional request property `messages/items/graph_data/references`
  - added the optional property `choices/items/message/graph_data/references` to the response with the `200` status (media type: application/json)
  - added the optional property `items/choices/items/delta/graph_data/references` to the response with the `200` status (media type: text/event-stream)
  - added the optional property `items/choices/items/message/graph_data/references` to the response with the `200` status (media type: text/event-stream)
- **2025-09-11** `3f87c8deb39e`: 1 info
  - added the new optional request property `tools/items/oneOf[subschema #2: Graph tool]/function/query_config`
- **2025-08-12** `0bbaae2a6920`: 6 info
  - the `max_tokens` request property default value `16` was removed
  - added `translation, vision, web_search` discriminator mapping keys to the `tools/items/` request property
  - request property `messages/items/content` list-of-types was widened by adding types `array` to media type `application/json`
  - added `#/components/schemas/web_search_tool` to the `tools/items/` request property `oneOf` list
  - added the optional property `choices/items/message/web_search_data` to the response with the `200` status (media type: application/json)
  - added the optional property `items/choices/items/message/web_search_data` to the response with the `200` status (media type: text/event-stream)
- **2025-04-30** `07dea48ea85e`: 4 info
  - added `#/components/schemas/translation_tool` to the `tools/items/` request property `oneOf` list
  - added the optional property `choices/items/message/translation_data` to the response with the `200` status (media type: application/json)
  - added the optional property `items/choices/items/delta/translation_data` to the response with the `200` status (media type: text/event-stream)
  - added the optional property `items/choices/items/message/translation_data` to the response with the `200` status (media type: text/event-stream)
- **2025-04-25** `a0e83ebfd818`: 1 breaking, 3 info
  - request property `tools/items/oneOf[subschema #4: Vision tool]/function/model` was restricted to a list of enum values
  - added the new optional request property `response_format`
  - the `model` request property default value `palmyra-x-004` was removed
  - added the new `palmyra-vision` enum value to the request property `tools/items/oneOf[subschema #4: Vision tool]/function/model`
- **2025-04-02** `d15316b8a3a0`: 2 breaking, 3 warning, 2 info
  - request property `messages/items/tool_calls/items/type` was restricted to a list of enum values
  - the request property `tools/items/oneOf[subschema #3: LLM tool]/type` became required
  - added the new `function` enum value to the `choices/items/message/tool_calls/items/type` response property for the response status `200` (media type: application/json)
  - added the new `function` enum value to the `items/choices/items/delta/tool_calls/items/type` response property for the response status `200` (media type: text/event-stream)
  - added the new `function` enum value to the `items/choices/items/message/tool_calls/items/type` response property for the response status `200` (media type: text/event-stream)
  - added the new `function` enum value to the request property `messages/items/tool_calls/items/type`
  - added `#/components/schemas/vision_tool` to the `tools/items/` request property `oneOf` list
- **2025-02-25** `3d3b2fe43375`: 19 breaking, 10 info
  - the `tools/items/` request property type changed from no type to `object`
  - the response property `choices/items/message/graph_data/sources/items/` became nullable for the status `200` (media type: application/json)
  - the response property `choices/items/message/graph_data/status` became nullable for the status `200` (media type: application/json)
  - the response property `choices/items/message/graph_data/subqueries/items/` became nullable for the status `200` (media type: application/json)
  - the response property `choices/items/message/graph_data/subqueries/items/sources/items/` became nullable for the status `200` (media type: application/json)
  - the response property `choices/items/message/tool_calls` became nullable for the status `200` (media type: application/json)
  - the response property `items/choices/items/delta/graph_data/sources/items/` became nullable for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/delta/graph_data/status` became nullable for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/delta/graph_data/subqueries/items/` became nullable for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/delta/graph_data/subqueries/items/sources/items/` became nullable for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/delta/tool_calls` became nullable for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/message/graph_data/sources/items/` became nullable for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/message/graph_data/status` became nullable for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/message/graph_data/subqueries/items/` became nullable for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/message/graph_data/subqueries/items/sources/items/` became nullable for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/message/tool_calls` became nullable for the status `200` (media type: text/event-stream)
  - the response property `choices/items/message/tool_calls/items/function/name` became optional for the status `200` (media type: application/json)
  - the response property `items/choices/items/delta/tool_calls/items/function/name` became optional for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/message/tool_calls/items/function/name` became optional for the status `200` (media type: text/event-stream)
  - the request property `messages/items/graph_data/sources/items/` became nullable
  - the request property `messages/items/graph_data/status` became nullable
  - the request property `messages/items/graph_data/subqueries/items/` became nullable
  - the request property `messages/items/graph_data/subqueries/items/sources/items/` became nullable
  - the request property `messages/items/tool_calls/items/function/name` became optional
  - added discriminator to `tools/items/` request property
  - added `#/components/schemas/llm_tool` to the `tools/items/` request property `oneOf` list
  - added the optional property `choices/items/message/llm_data` to the response with the `200` status (media type: application/json)
  - added the optional property `items/choices/items/delta/llm_data` to the response with the `200` status (media type: text/event-stream)
  - added the optional property `items/choices/items/message/llm_data` to the response with the `200` status (media type: text/event-stream)
- **2024-11-29** `82683f2fd5f8`: 1 breaking, 3 info
  - the request property `messages/items/tool_calls/items/function/name` became required
  - the response property `choices/items/message/tool_calls/items/function/name` became required for the status `200` (media type: application/json)
  - the response property `items/choices/items/delta/tool_calls/items/function/name` became required for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/message/tool_calls/items/function/name` became required for the status `200` (media type: text/event-stream)
- **2024-11-29** `6b363dd34169`: 6 breaking, 1 info
  - the response property `choices/items/message/tool_calls` became nullable for the status `200` (media type: application/json)
  - the response property `items/choices/items/delta/tool_calls` became nullable for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/message/tool_calls` became nullable for the status `200` (media type: text/event-stream)
  - the response property `choices/items/message/tool_calls/items/function/name` became optional for the status `200` (media type: application/json)
  - the response property `items/choices/items/delta/tool_calls/items/function/name` became optional for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/message/tool_calls/items/function/name` became optional for the status `200` (media type: text/event-stream)
  - the request property `messages/items/tool_calls/items/function/name` became optional
- **2024-10-30** `8e1a6a7a7075`: 2 breaking
  - the `tool_choice/oneOf[subschema #2: JSON object]/value` request property type changed from no type to `object`
  - the `tools/items/oneOf[subschema #1: Function tool]/function/parameters` request property type changed from no type to `object`
- **2024-10-30** `94a38a74ceff`: 6 info
  - added the new optional request property `messages/items/graph_data`
  - added the new optional request property `messages/items/refusal`
  - added the new optional request property `messages/items/tool_calls`
  - the request property `messages/items/content` became nullable
  - the request property `messages/items/name` became nullable
  - the request property `messages/items/tool_call_id` became nullable
- **2024-10-24** `b508bc085393`: 9 breaking, 2 warning, 1 info
  - added the new required request property `tools/items/oneOf[subschema #1: function_tool -> subschema #1: Function tool]/type`
  - added the new required request property `tools/items/oneOf[subschema #2: graph_tool -> subschema #2: Graph tool]/type`
  - the response property `choices/items/logprobs` became nullable for the status `200` (media type: application/json)
  - the response property `choices/items/message/refusal` became nullable for the status `200` (media type: application/json)
  - the response property `items/choices/items/delta/refusal` became nullable for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/finish_reason` became nullable for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/logprobs` became nullable for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/message/refusal` became nullable for the status `200` (media type: text/event-stream)
  - the response property `choices/items/logprobs` became optional for the status `200` (media type: application/json)
  - 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 `items/object` response property for the response status `200` (media type: text/event-stream)
  - the `stream` request property default value `false` was added
- **2024-10-10** `4206be8170d9`: 1 warning, 1 info
  - removed the request property `messages/items/tool_id`
  - added the new optional request property `messages/items/tool_call_id`
- **2024-10-09** `330636638e84`: 3 info
  - added the new optional request property `messages/items/tool_id`
  - the request property `messages/items/content` became optional
  - added the new `tool` enum value to the request property `messages/items/role`
- **2024-10-08** `2ad4cffb18a0`: 2 breaking, 1 warning
  - the request property `messages/items/content` became required
  - removed the enum value `tool` of the request property `messages/items/role`
  - removed the request property `messages/items/tool_id`
- **2024-10-08** `330636638e84`: 3 info
  - added the new optional request property `messages/items/tool_id`
  - the request property `messages/items/content` became optional
  - added the new `tool` enum value to the request property `messages/items/role`
- **2024-10-04** `2ad4cffb18a0`: 1 breaking, 4 warning, 34 info
  - the response property `items/choices/items/delta/role` became optional for the status `200` (media type: text/event-stream)
  - removed the optional property `choices/items/sources` from the response with the `200` status (media type: application/json)
  - removed the optional property `choices/items/subqueries` from the response with the `200` status (media type: application/json)
  - removed the optional property `items/choices/items/sources` from the response with the `200` status (media type: text/event-stream)
  - removed the optional property `items/choices/items/subqueries` from the response with the `200` status (media type: text/event-stream)
  - added the optional property `choices/items/message/graph_data` to the response with the `200` status (media type: application/json)
  - added the optional property `items/choices/items/delta/graph_data` to the response with the `200` status (media type: text/event-stream)
  - added the optional property `items/choices/items/delta/refusal` to the response with the `200` status (media type: text/event-stream)
  - added the optional property `items/choices/items/message/graph_data` to the response with the `200` status (media type: text/event-stream)
  - the response property `choices/items/finish_reason` became required for the status `200` (media type: application/json)
  - the response property `choices/items/logprobs` became required for the status `200` (media type: application/json)
  - the response property `choices/items/logprobs/content` became required for the status `200` (media type: application/json)
  - the response property `choices/items/logprobs/refusal` became required for the status `200` (media type: application/json)
  - the response property `choices/items/message` became required for the status `200` (media type: application/json)
  - the response property `choices/items/message/content` became required for the status `200` (media type: application/json)
  - the response property `choices/items/message/tool_calls/items/function` became required for the status `200` (media type: application/json)
  - the response property `choices/items/message/tool_calls/items/function/arguments` became required for the status `200` (media type: application/json)
  - the response property `choices/items/message/tool_calls/items/function/name` became required for the status `200` (media type: application/json)
  - the response property `choices/items/message/tool_calls/items/id` became required for the status `200` (media type: application/json)
  - the response property `choices/items/message/tool_calls/items/type` became required for the status `200` (media type: application/json)
  - the response property `items/choices/items/delta/tool_calls/items/function/arguments` became required for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/delta/tool_calls/items/function/name` became required for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/delta/tool_calls/items/index` became required for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/finish_reason` became required for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/logprobs/content` became required for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/logprobs/refusal` became required for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/message/content` became required for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/message/tool_calls/items/function` became required for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/message/tool_calls/items/function/arguments` became required for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/message/tool_calls/items/function/name` became required for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/message/tool_calls/items/id` became required for the status `200` (media type: text/event-stream)
  - the response property `items/choices/items/message/tool_calls/items/type` became required for the status `200` (media type: text/event-stream)
  - removed the `system` enum value from the `choices/items/message/role` response property for the response status `200` (media type: application/json)
  - removed the `system` enum value from the `items/choices/items/message/role` response property for the response status `200` (media type: text/event-stream)
  - removed the `user` enum value from the `choices/items/message/role` response property for the response status `200` (media type: application/json)
  - removed the `user` enum value from the `items/choices/items/message/role` response property for the response status `200` (media type: text/event-stream)
  - added the required property `choices/items/message/refusal` to the response with the `200` status (media type: application/json)
  - added the required property `items/choices/items/message/refusal` to the response with the `200` status (media type: text/event-stream)
  - added the required property `items/object` to the response with the `200` status (media type: text/event-stream)
- **2024-10-03** `4a11c63c7cb5`: 3 breaking, 1 warning, 14 info
  - the response property `choices/items/finish_reason` became optional for the status `200`
  - the response property `choices/items/message` became optional for the status `200`
  - the response property `choices/items/message/content` became optional for the status `200`
  - added the new `tool_calls` enum value to the `choices/items/finish_reason` response property for the response status `200`
  - added the new optional request property `logprobs`
  - added the new optional request property `stream_options`
  - added the new optional request property `tool_choice`
  - added the new optional request property `tools`
  - added the media type `text/event-stream` for the response with the status `200`
  - added the optional property `choices/items/logprobs` to the response with the `200` status
  - added the optional property `choices/items/message/tool_calls` to the response with the `200` status
  - added the optional property `choices/items/sources` to the response with the `200` status
  - added the optional property `choices/items/subqueries` to the response with the `200` status
  - added the optional property `service_tier` to the response with the `200` status
  - added the optional property `system_fingerprint` to the response with the `200` status
  - added the optional property `usage` to the response with the `200` status
  - added the required property `choices/items/index` to the response with the `200` status
  - added the required property `object` to the response with the `200` status
- **2024-09-24** `5d34056e0e74`: 3 warning, 1 info
  - removed the request property `tool_choice`
  - removed the request property `tools`
  - removed the optional property `choices/items/message/tool_calls` from the response with the `200` status
  - removed the `tool_calls` enum value from the `choices/items/finish_reason` response property for the response status `200`
- **2024-09-20** `149f74d46fcb`: 1 warning, 4 info
  - added the new `tool_calls` enum value to the `choices/items/finish_reason` response property for the response status `200`
  - added the new optional request property `tool_choice`
  - added the new optional request property `tools`
  - the `model` request property default value changed from `palmyra-x-002-32k` to `palmyra-x-004`
  - added the optional property `choices/items/message/tool_calls` to the response with the `200` status

---

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