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

# Changes to Create Completion

`POST /api/v1/completions`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 14 of 173 revisions.

- **2026-09-19** `efc644ab09d4`: 1 info
- **2026-09-14** `57ca921cdd38`: 6 breaking
- **2026-09-08** `9aaa5d3a64cc`: 15 breaking, 8 warning, 20 info
- **2026-07-24** `d3b22cbaeec0`: 1 breaking, 8 info
- **2026-07-24** `cdb4758e1ddc`: 8 breaking
- **2026-07-24** `a4c88b25303d`: 1 breaking, 8 info
- **2026-07-24** `03364eab57ff`: 3 breaking
- **2026-07-24** `86b40eee4d5b`: 3 info
- **2026-07-24** `b6be209772a6`: 5 breaking
- **2026-07-24** `2dd75b2c8330`: 1 breaking, 5 info
- **2026-07-24** `08c227b95b1a`: 1 info
- **2026-07-24** `ea20de899fa9`: 1 breaking
- **2026-07-24** `7c4242de9f98`: 1 info
- **2026-06-11** `794d77dc18aa`: 2 info

## Changes

- **2026-09-19** `efc644ab09d4`: 1 info
  - added the optional property `errors/items/meta` to the response with the `400` status
- **2026-09-14** `57ca921cdd38`: 6 breaking
  - the `cost/usd_micros` response's property format changed from `int64` to `uint64` for status `200`
  - the `usage/cache_read` response's property format changed from `int64` to `uint64` for status `200`
  - the `usage/cache_write` response's property format changed from `int64` to `uint64` for status `200`
  - the `usage/input` response's property format changed from `int64` to `uint64` for status `200`
  - the `usage/output` response's property format changed from `int64` to `uint64` for status `200`
  - the `usage/reasoning` response's property format changed from `int64` to `uint64` for status `200`
- **2026-09-08** `9aaa5d3a64cc`: 15 breaking, 8 warning, 20 info
  - added the new required request property `messages/items/content/items/type`
  - added the new required request property `tool_choice/type`
  - added the new required request property `tools/items/kind`
  - the `provider_options` request property type changed from no type to `object`
  - the response property `id` became nullable for the status `200`
  - the response property `id` became optional for the status `200`
  - the `model` response's property type changed from `string` to `object` for status `200`
  - removed the required property `message` from the response with the `200` status
  - removed the required property `provider` from the response with the `200` status
  - removed the required property `stop_reason` from the response with the `200` status
  - removed the required property `usage/cache_read_tokens` from the response with the `200` status
  - removed the required property `usage/cache_write_tokens` from the response with the `200` status
  - removed the required property `usage/input_tokens` from the response with the `200` status
  - removed the required property `usage/output_tokens` from the response with the `200` status
  - removed the required property `usage/reasoning_tokens` from the response with the `200` status
  - removed the request property `max_tokens`
  - removed the request property `messages/items/content/items/data`
  - removed the request property `messages/items/content/items/kind`
  - removed the request property `tool_choice/mode`
  - removed the request property `tool_choice/tool_name`
  - removed the request property `tools/items/parameters`
  - removed the optional property `cost_source` from the response with the `200` status
  - removed the optional property `cost_usd` from the response with the `200` status
  - added the new optional request property `max_output_tokens`
  - added the new optional request property `metadata`
  - added the new optional request property `response_format`
  - added the new optional request property `speed`
  - added the new optional request property `tool_choice/name`
  - added the new `minimal` enum value to the request property `reasoning_effort`
  - added the optional property `cost` to the response with the `200` status
  - added the optional property `rate_limits` to the response with the `200` status
  - added the optional property `raw` to the response with the `200` status
  - added the optional property `suppressed_tool_calls` to the response with the `200` status
  - added the optional property `usage/cache_read` to the response with the `200` status
  - added the optional property `usage/cache_write` to the response with the `200` status
  - added the optional property `usage/input` to the response with the `200` status
  - added the optional property `usage/output` to the response with the `200` status
  - added the optional property `usage/reasoning` to the response with the `200` status
  - added the optional property `warnings` to the response with the `200` status
  - added the required property `content` to the response with the `200` status
  - …3 more
- **2026-07-24** `d3b22cbaeec0`: 1 breaking, 8 info
  - request property `reasoning_effort` was restricted to a list of enum values
  - added the new `high` enum value to the request property `reasoning_effort`
  - added the new `low` enum value to the request property `reasoning_effort`
  - added the new `max` enum value to the request property `reasoning_effort`
  - added the new `medium` enum value to the request property `reasoning_effort`
  - added the new `xhigh` enum value to the request property `reasoning_effort`
  - added the required property `usage/cache_read_tokens` to the response with the `200` status
  - added the required property `usage/cache_write_tokens` to the response with the `200` status
  - added the required property `usage/reasoning_tokens` to the response with the `200` status
- **2026-07-24** `cdb4758e1ddc`: 8 breaking
  - 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 `max` of the request property `reasoning_effort`
  - removed the enum value `medium` of the request property `reasoning_effort`
  - removed the enum value `xhigh` of the request property `reasoning_effort`
  - removed the required property `usage/cache_read_tokens` from the response with the `200` status
  - removed the required property `usage/cache_write_tokens` from the response with the `200` status
  - removed the required property `usage/reasoning_tokens` from the response with the `200` status
- **2026-07-24** `a4c88b25303d`: 1 breaking, 8 info
  - request property `reasoning_effort` was restricted to a list of enum values
  - added the new `high` enum value to the request property `reasoning_effort`
  - added the new `low` enum value to the request property `reasoning_effort`
  - added the new `max` enum value to the request property `reasoning_effort`
  - added the new `medium` enum value to the request property `reasoning_effort`
  - added the new `xhigh` enum value to the request property `reasoning_effort`
  - added the required property `usage/cache_read_tokens` to the response with the `200` status
  - added the required property `usage/cache_write_tokens` to the response with the `200` status
  - added the required property `usage/reasoning_tokens` to the response with the `200` status
- **2026-07-24** `03364eab57ff`: 3 breaking
  - removed the required property `usage/cache_read_tokens` from the response with the `200` status
  - removed the required property `usage/cache_write_tokens` from the response with the `200` status
  - removed the required property `usage/reasoning_tokens` from the response with the `200` status
- **2026-07-24** `86b40eee4d5b`: 3 info
  - added the required property `usage/cache_read_tokens` to the response with the `200` status
  - added the required property `usage/cache_write_tokens` to the response with the `200` status
  - added the required property `usage/reasoning_tokens` to the response with the `200` status
- **2026-07-24** `b6be209772a6`: 5 breaking
  - 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 `max` of the request property `reasoning_effort`
  - removed the enum value `medium` of the request property `reasoning_effort`
  - removed the enum value `xhigh` of the request property `reasoning_effort`
- **2026-07-24** `2dd75b2c8330`: 1 breaking, 5 info
  - request property `reasoning_effort` was restricted to a list of enum values
  - added the new `high` enum value to the request property `reasoning_effort`
  - added the new `low` enum value to the request property `reasoning_effort`
  - added the new `max` enum value to the request property `reasoning_effort`
  - added the new `medium` enum value to the request property `reasoning_effort`
  - added the new `xhigh` enum value to the request property `reasoning_effort`
- **2026-07-24** `08c227b95b1a`: 1 info
  - added the required property `provider` to the response with the `200` status
- **2026-07-24** `ea20de899fa9`: 1 breaking
  - removed the required property `provider` from the response with the `200` status
- **2026-07-24** `7c4242de9f98`: 1 info
  - added the required property `provider` to the response with the `200` status
- **2026-06-11** `794d77dc18aa`: 2 info
  - added the optional property `cost_source` to the response with the `200` status
  - added the optional property `cost_usd` to the response with the `200` status

---

[Operation](https://skmtc.dev/fabro-sh/apis/fabro-run-api/docs/api/v1/completions/post.md) - [API](https://skmtc.dev/fabro-sh/apis/fabro-run-api.md) - [Page](https://skmtc.dev/fabro-sh/apis/fabro-run-api/changes/api/v1/completions/post)
