---
title: "Changes to Send message"
method: POST
path: "/api/v1/threads/{threadId}/message"
---

# Changes to Send message

`POST /api/v1/threads/{threadId}/message`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 12 of 46 revisions.

- **2026-10-29** `e613eb753cf8`: 1 breaking, 5 info
- **2026-10-27** `cdb52fbbee52`: 7 breaking, 4 warning, 3 info
- **2026-10-22** `76d1313f4197`: 1 info
- **2026-10-19** `eb29d959f187`: 1 warning
- **2026-09-30** `7187d2287ecd`: 7 info
- **2026-09-24** `0de0f8cfab7d`: 3 info
- **2026-09-12** `e1639e55c136`: 6 breaking, 2 info
- **2026-09-11** `5038748830a7`: 1 info
- **2026-09-04** `11b369933225`: 1 info
- **2026-09-02** `87b2551ef002`: 2 info
- **2026-08-28** `e9babb6783f3`: 1 info
- **2026-08-11** `792c11dd1007`: 1 info

## Changes

- **2026-10-29** `e613eb753cf8`: 1 breaking, 5 info
  - the `anyOf[#/components/schemas/ModelSelection.RejectedEncoded]/service` response's property type changed from `string` to no type for status `400`
  - added `#/components/schemas/UnsupportedMember, subschema #1` to the `anyOf[#/components/schemas/ModelSelection.RejectedEncoded]/service` response property `anyOf` list for the response status `400`
  - removed the `claude` enum value from the `anyOf[#/components/schemas/ModelSelection.RejectedEncoded]/service` response property for the response status `400`
  - removed the `codex` enum value from the `anyOf[#/components/schemas/ModelSelection.RejectedEncoded]/service` response property for the response status `400`
  - removed the `copilot` enum value from the `anyOf[#/components/schemas/ModelSelection.RejectedEncoded]/service` response property for the response status `400`
  - removed the `supergrok` enum value from the `anyOf[#/components/schemas/ModelSelection.RejectedEncoded]/service` response property for the response status `400`
- **2026-10-27** `cdb52fbbee52`: 7 breaking, 4 warning, 3 info
  - the response's body type changed from `object` to no type for status `400`
  - the response's body type changed from `object` to no type for status `404`
  - removed the required property `_tag` from the response with the `400` status
  - removed the required property `_tag` from the response with the `404` status
  - removed the required property `candidates` from the response with the `400` status
  - removed the required property `message` from the response with the `400` status
  - removed the required property `threadId` from the response with the `404` status
  - removed the optional property `health` from the response with the `400` status
  - removed the optional property `modelId` from the response with the `400` status
  - removed the optional property `rejection` from the response with the `400` status
  - removed the optional property `service` from the response with the `400` status
  - added the new optional request property `files`
  - added `#/components/schemas/ModelSelection.RejectedEncoded, #/components/schemas/capy_InvalidRequestEncoded` to the response body `anyOf` list for the response status `400`
  - added `#/components/schemas/capy_ThreadNotFoundEncoded, #/components/schemas/capy_FileNotFoundEncoded` to the response body `anyOf` list for the response status `404`
- **2026-10-22** `76d1313f4197`: 1 info
  - added the new optional request property `model/modes/daybreak`
- **2026-10-19** `eb29d959f187`: 1 warning
  - added the new `claude` enum value to the `service` response property for the response status `400`
- **2026-09-30** `7187d2287ecd`: 7 info
  - added the new optional request property `editOf`
  - added the new optional request property `model/modes/ultrafast`
  - added the new optional request property `pullRequestAuthor`
  - added the new optional request property `switchTo`
  - added `#/components/schemas/capy_ForbiddenEncoded` to the response body `anyOf` list for the response status `403`
  - added the non-success response with the status `409`
  - added the optional property `health` to the response with the `400` status
- **2026-09-24** `0de0f8cfab7d`: 3 info
  - added the optional property `modelId` to the response with the `400` status
  - added the optional property `rejection` to the response with the `400` status
  - added the optional property `service` to the response with the `400` status
- **2026-09-12** `e1639e55c136`: 6 breaking, 2 info
  - the response's body type changed from `object` to no type for status `403`
  - removed the required property `_tag` from the response with the `403` status
  - removed the required property `deviceId` from the response with the `403` status
  - removed the required property `deviceName` from the response with the `403` status
  - removed the required property `held` from the response with the `403` status
  - removed the required property `status` from the response with the `403` status
  - added `#/components/schemas/capy_DeviceAccessDeniedEncoded, #/components/schemas/capy_ForbiddenEncoded` to the response body `anyOf` list for the response status `403`
  - added the non-success response with the status `400`
- **2026-09-11** `5038748830a7`: 1 info
  - added the non-success response with the status `429`
- **2026-09-04** `11b369933225`: 1 info
  - added the required property `held` to the response with the `403` status
- **2026-09-02** `87b2551ef002`: 2 info
  - added the new optional request property `clientKey`
  - added the non-success response with the status `403`
- **2026-08-28** `e9babb6783f3`: 1 info
  - added the new `instant` enum value to the request property `model/reasoningMode`
- **2026-08-11** `792c11dd1007`: 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/capy/apis/capy-api/docs/api/v1/threads/:threadId/message/post.md) - [API](https://skmtc.dev/capy/apis/capy-api.md) - [Page](https://skmtc.dev/capy/apis/capy-api/changes/api/v1/threads/:threadId/message/post)
