---
title: "Changes to Send a message"
method: POST
path: "/channels/{channel_id}/messages"
---

# Changes to Send a message

`POST /channels/{channel_id}/messages`

> Every recorded change to this operation, newest first.
> 65 revisions in range; 2 not diffed.

## Timeline

Changed in 8 of 65 revisions.

- **2026-10-10** `b620d9da76aa`: 2 info
- **2026-10-09** `07d8e2f215e1`: 16 info
- **2026-10-08** `91a0a8217299`: 8 warning, 2 info
- **2026-10-02** `4de1919ec263`: 4 breaking, 4 warning, 4 info
- **2026-09-18** `dd0ad4ea1c88`: 252 breaking, 272 info
- **2026-09-06** `a52a2cf49d9b`: 32 warning, 200 info
- **2026-09-05** `4dbb738a3e22`: 6 warning, 4 info
- **2026-09-03** `fa36b1b48ca5`: 20 info

## Changes

- **2026-10-10** `b620d9da76aa`: 2 info
  - added the optional property `referenced_message/anyOf[subschema #1]/thread/rtc_p2p` to the response with the `200` status
  - added the optional property `thread/rtc_p2p` to the response with the `200` status
- **2026-10-09** `07d8e2f215e1`: 16 info
  - added `#/components/schemas/EmbedProviderResponse` to the `embeds/anyOf[subschema #1]/items/children/anyOf[subschema #1]/items/provider` response property `anyOf` list for the response status `200`
  - added `#/components/schemas/EmbedProviderResponse` to the `embeds/anyOf[subschema #1]/items/provider` response property `anyOf` list for the response status `200`
  - added `#/components/schemas/EmbedProviderResponse` to the `message_snapshots/anyOf[subschema #1]/items/embeds/anyOf[subschema #1]/items/children/anyOf[subschema #1]/items/provider` response property `anyOf` list for the response status `200`
  - added `#/components/schemas/EmbedProviderResponse` to the `message_snapshots/anyOf[subschema #1]/items/embeds/anyOf[subschema #1]/items/provider` response property `anyOf` list for the response status `200`
  - added `#/components/schemas/EmbedProviderResponse` to the `referenced_message/anyOf[subschema #1]/embeds/anyOf[subschema #1]/items/children/anyOf[subschema #1]/items/provider` response property `anyOf` list for the response status `200`
  - added `#/components/schemas/EmbedProviderResponse` to the `referenced_message/anyOf[subschema #1]/embeds/anyOf[subschema #1]/items/provider` response property `anyOf` list for the response status `200`
  - added `#/components/schemas/EmbedProviderResponse` to the `referenced_message/anyOf[subschema #1]/message_snapshots/anyOf[subschema #1]/items/embeds/anyOf[subschema #1]/items/children/anyOf[subschema #1]/items/provider` response property `anyOf` list for the response status `200`
  - added `#/components/schemas/EmbedProviderResponse` to the `referenced_message/anyOf[subschema #1]/message_snapshots/anyOf[subschema #1]/items/embeds/anyOf[subschema #1]/items/provider` response property `anyOf` list for the response status `200`
  - removed `#/components/schemas/EmbedAuthorResponse` from the `embeds/anyOf[subschema #1]/items/children/anyOf[subschema #1]/items/provider` response property `anyOf` list for the response status `200`
  - removed `#/components/schemas/EmbedAuthorResponse` from the `embeds/anyOf[subschema #1]/items/provider` response property `anyOf` list for the response status `200`
  - removed `#/components/schemas/EmbedAuthorResponse` from the `message_snapshots/anyOf[subschema #1]/items/embeds/anyOf[subschema #1]/items/children/anyOf[subschema #1]/items/provider` response property `anyOf` list for the response status `200`
  - removed `#/components/schemas/EmbedAuthorResponse` from the `message_snapshots/anyOf[subschema #1]/items/embeds/anyOf[subschema #1]/items/provider` response property `anyOf` list for the response status `200`
  - removed `#/components/schemas/EmbedAuthorResponse` from the `referenced_message/anyOf[subschema #1]/embeds/anyOf[subschema #1]/items/children/anyOf[subschema #1]/items/provider` response property `anyOf` list for the response status `200`
  - removed `#/components/schemas/EmbedAuthorResponse` from the `referenced_message/anyOf[subschema #1]/embeds/anyOf[subschema #1]/items/provider` response property `anyOf` list for the response status `200`
  - removed `#/components/schemas/EmbedAuthorResponse` from the `referenced_message/anyOf[subschema #1]/message_snapshots/anyOf[subschema #1]/items/embeds/anyOf[subschema #1]/items/children/anyOf[subschema #1]/items/provider` response property `anyOf` list for the response status `200`
  - removed `#/components/schemas/EmbedAuthorResponse` from the `referenced_message/anyOf[subschema #1]/message_snapshots/anyOf[subschema #1]/items/embeds/anyOf[subschema #1]/items/provider` response property `anyOf` list for the response status `200`
- **2026-10-08** `91a0a8217299`: 8 warning, 2 info
  - added the new `18.00` enum value to the `message_snapshots/anyOf[subschema #1]/items/type` response property for the response status `200`
  - added the new `18.00` enum value to the `referenced_message/anyOf[subschema #1]/message_snapshots/anyOf[subschema #1]/items/type` response property for the response status `200`
  - added the new `18.00` enum value to the `referenced_message/anyOf[subschema #1]/type` response property for the response status `200`
  - added the new `18.00` enum value to the `type` response property for the response status `200`
  - added the new `21.00` enum value to the `message_snapshots/anyOf[subschema #1]/items/type` response property for the response status `200`
  - added the new `21.00` enum value to the `referenced_message/anyOf[subschema #1]/message_snapshots/anyOf[subschema #1]/items/type` response property for the response status `200`
  - added the new `21.00` enum value to the `referenced_message/anyOf[subschema #1]/type` response property for the response status `200`
  - added the new `21.00` enum value to the `type` response property for the response status `200`
  - added the optional property `referenced_message/anyOf[subschema #1]/thread` to the response with the `200` status
  - added the optional property `thread` to the response with the `200` status
- **2026-10-02** `4de1919ec263`: 4 breaking, 4 warning, 4 info
  - the response property `message_reference/anyOf[subschema #1]/message_id` became optional for the status `200`
  - the response property `referenced_message/anyOf[subschema #1]/message_reference/anyOf[subschema #1]/message_id` became optional for the status `200`
  - the `message_reference/anyOf[subschema #1]/message_id` response's property type changed from `string` to no type, and format from `snowflake` to no format for status `200`
  - the `referenced_message/anyOf[subschema #1]/message_reference/anyOf[subschema #1]/message_id` response's property type changed from `string` to no type, and format from `snowflake` to no format for status `200`
  - added the new `12.00` enum value to the `message_snapshots/anyOf[subschema #1]/items/type` response property for the response status `200`
  - added the new `12.00` enum value to the `referenced_message/anyOf[subschema #1]/message_snapshots/anyOf[subschema #1]/items/type` response property for the response status `200`
  - added the new `12.00` enum value to the `referenced_message/anyOf[subschema #1]/type` response property for the response status `200`
  - added the new `12.00` enum value to the `type` response property for the response status `200`
  - added `#/components/schemas/SnowflakeStringType, subschema #2` to the `message_reference/anyOf[subschema #1]/message_id` response property `anyOf` list for the response status `200`
  - added `#/components/schemas/SnowflakeStringType, subschema #2` to the `referenced_message/anyOf[subschema #1]/message_reference/anyOf[subschema #1]/message_id` response property `anyOf` list for the response status `200`
  - the `message_reference/anyOf[subschema #1]/message_id` response's property pattern `^(0|[1-9][0-9]*)$` was removed for the status `200`
  - the `referenced_message/anyOf[subschema #1]/message_reference/anyOf[subschema #1]/message_id` response's property pattern `^(0|[1-9][0-9]*)$` was removed for the status `200`
- **2026-09-18** `dd0ad4ea1c88`: 252 breaking, 272 info
  - request property `attachments/items/anyOf[#/components/schemas/ClientAttachmentRequest]/description` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `attachments/items/anyOf[#/components/schemas/ClientAttachmentRequest]/description` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`
  - request property `attachments/items/anyOf[#/components/schemas/ClientAttachmentRequest]/title` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `attachments/items/anyOf[#/components/schemas/ClientAttachmentRequest]/title` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`
  - request property `attachments/items/anyOf[#/components/schemas/ClientAttachmentRequest]/waveform` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `attachments/items/anyOf[#/components/schemas/ClientAttachmentRequest]/waveform` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`
  - request property `attachments/items/anyOf[#/components/schemas/ClientUploadedAttachmentRequest]/description` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `attachments/items/anyOf[#/components/schemas/ClientUploadedAttachmentRequest]/description` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`
  - request property `attachments/items/anyOf[#/components/schemas/ClientUploadedAttachmentRequest]/title` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `attachments/items/anyOf[#/components/schemas/ClientUploadedAttachmentRequest]/title` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`
  - request property `attachments/items/anyOf[#/components/schemas/ClientUploadedAttachmentRequest]/waveform` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `attachments/items/anyOf[#/components/schemas/ClientUploadedAttachmentRequest]/waveform` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`
  - request property `embeds/items/author/anyOf[#/components/schemas/RichEmbedAuthorRequest]/anyOf[subschema #1]/icon_url` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `embeds/items/author/anyOf[#/components/schemas/RichEmbedAuthorRequest]/anyOf[subschema #1]/icon_url` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`
  - request property `embeds/items/author/anyOf[#/components/schemas/RichEmbedAuthorRequest]/anyOf[subschema #1]/url` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `embeds/items/author/anyOf[#/components/schemas/RichEmbedAuthorRequest]/anyOf[subschema #1]/url` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`
  - request property `embeds/items/description` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `embeds/items/description` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`
  - request property `embeds/items/footer/anyOf[#/components/schemas/RichEmbedFooterRequest]/anyOf[subschema #1]/icon_url` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `embeds/items/footer/anyOf[#/components/schemas/RichEmbedFooterRequest]/anyOf[subschema #1]/icon_url` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`
  - request property `embeds/items/image/anyOf[#/components/schemas/RichEmbedMediaRequest]/anyOf[subschema #1]/description` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `embeds/items/image/anyOf[#/components/schemas/RichEmbedMediaRequest]/anyOf[subschema #1]/description` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`
  - request property `embeds/items/thumbnail/anyOf[#/components/schemas/RichEmbedMediaRequest]/anyOf[subschema #1]/description` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `embeds/items/thumbnail/anyOf[#/components/schemas/RichEmbedMediaRequest]/anyOf[subschema #1]/description` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`
  - request property `embeds/items/title` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `embeds/items/title` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`
  - request property `embeds/items/url` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `embeds/items/url` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`
  - the response property `attachments/anyOf[subschema #1]/items/content_hash` became nullable for the status `200`
  - the response property `attachments/anyOf[subschema #1]/items/content_type` became nullable for the status `200`
  - the response property `attachments/anyOf[subschema #1]/items/description` became nullable for the status `200`
  - the response property `attachments/anyOf[subschema #1]/items/expired` became nullable for the status `200`
  - the response property `attachments/anyOf[subschema #1]/items/expires_at` became nullable for the status `200`
  - the response property `attachments/anyOf[subschema #1]/items/nsfw` became nullable for the status `200`
  - the response property `attachments/anyOf[subschema #1]/items/placeholder` became nullable for the status `200`
  - the response property `attachments/anyOf[subschema #1]/items/proxy_url` became nullable for the status `200`
  - the response property `attachments/anyOf[subschema #1]/items/title` became nullable for the status `200`
  - the response property `attachments/anyOf[subschema #1]/items/url` became nullable for the status `200`
  - the response property `attachments/anyOf[subschema #1]/items/waveform` became nullable for the status `200`
  - the response property `author/avatar` became nullable for the status `200`
  - …484 more
- **2026-09-06** `a52a2cf49d9b`: 32 warning, 200 info
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `400`
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `401`
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `403`
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `500`
  - added the new `PHONE_COUNTRY_NOT_SUPPORTED` enum value to the `code` response property for the response status `400`
  - added the new `PHONE_COUNTRY_NOT_SUPPORTED` enum value to the `code` response property for the response status `401`
  - added the new `PHONE_COUNTRY_NOT_SUPPORTED` enum value to the `code` response property for the response status `403`
  - added the new `PHONE_COUNTRY_NOT_SUPPORTED` enum value to the `code` response property for the response status `500`
  - added the new `PHONE_GATE_ESCAPE_UNAVAILABLE` enum value to the `code` response property for the response status `400`
  - added the new `PHONE_GATE_ESCAPE_UNAVAILABLE` enum value to the `code` response property for the response status `401`
  - added the new `PHONE_GATE_ESCAPE_UNAVAILABLE` enum value to the `code` response property for the response status `403`
  - added the new `PHONE_GATE_ESCAPE_UNAVAILABLE` enum value to the `code` response property for the response status `500`
  - added the new `PHONE_INBOUND_VERIFICATION_REQUIRED` enum value to the `code` response property for the response status `400`
  - added the new `PHONE_INBOUND_VERIFICATION_REQUIRED` enum value to the `code` response property for the response status `401`
  - added the new `PHONE_INBOUND_VERIFICATION_REQUIRED` enum value to the `code` response property for the response status `403`
  - added the new `PHONE_INBOUND_VERIFICATION_REQUIRED` enum value to the `code` response property for the response status `500`
  - added the new `PHONE_LOOKUP_UNAVAILABLE` enum value to the `code` response property for the response status `400`
  - added the new `PHONE_LOOKUP_UNAVAILABLE` enum value to the `code` response property for the response status `401`
  - added the new `PHONE_LOOKUP_UNAVAILABLE` enum value to the `code` response property for the response status `403`
  - added the new `PHONE_LOOKUP_UNAVAILABLE` enum value to the `code` response property for the response status `500`
  - added the new `PHONE_NUMBER_NOT_IN_SERVICE` enum value to the `code` response property for the response status `400`
  - added the new `PHONE_NUMBER_NOT_IN_SERVICE` enum value to the `code` response property for the response status `401`
  - added the new `PHONE_NUMBER_NOT_IN_SERVICE` enum value to the `code` response property for the response status `403`
  - added the new `PHONE_NUMBER_NOT_IN_SERVICE` enum value to the `code` response property for the response status `500`
  - added the new `PHONE_NUMBER_NOT_MOBILE` enum value to the `code` response property for the response status `400`
  - added the new `PHONE_NUMBER_NOT_MOBILE` enum value to the `code` response property for the response status `401`
  - added the new `PHONE_NUMBER_NOT_MOBILE` enum value to the `code` response property for the response status `403`
  - added the new `PHONE_NUMBER_NOT_MOBILE` enum value to the `code` response property for the response status `500`
  - added the new `PHONE_VERIFICATION_NEEDS_REVIEW` enum value to the `code` response property for the response status `400`
  - added the new `PHONE_VERIFICATION_NEEDS_REVIEW` enum value to the `code` response property for the response status `401`
  - added the new `PHONE_VERIFICATION_NEEDS_REVIEW` enum value to the `code` response property for the response status `403`
  - added the new `PHONE_VERIFICATION_NEEDS_REVIEW` enum value to the `code` response property for the response status `500`
  - removed the `ACCOUNT_DISABLED` enum value from the `code` response property for the response status `400`
  - removed the `ACCOUNT_DISABLED` enum value from the `code` response property for the response status `401`
  - removed the `ACCOUNT_DISABLED` enum value from the `code` response property for the response status `403`
  - removed the `ACCOUNT_DISABLED` enum value from the `code` response property for the response status `500`
  - removed the `ACCOUNT_SCHEDULED_FOR_DELETION` enum value from the `code` response property for the response status `400`
  - removed the `ACCOUNT_SCHEDULED_FOR_DELETION` enum value from the `code` response property for the response status `401`
  - removed the `ACCOUNT_SCHEDULED_FOR_DELETION` enum value from the `code` response property for the response status `403`
  - removed the `ACCOUNT_SCHEDULED_FOR_DELETION` enum value from the `code` response property for the response status `500`
  - …192 more
  - …this revision’s changelog is incomplete
- **2026-09-05** `4dbb738a3e22`: 6 warning, 4 info
  - removed the optional property `message_snapshots/anyOf[subschema #1]/items/stickers/anyOf[subschema #1]/items/nsfw` from the response with the `200` status
  - removed the optional property `nsfw_emojis` from the response with the `200` status
  - removed the optional property `referenced_message/anyOf[subschema #1]/message_snapshots/anyOf[subschema #1]/items/stickers/anyOf[subschema #1]/items/nsfw` from the response with the `200` status
  - removed the optional property `referenced_message/anyOf[subschema #1]/nsfw_emojis` from the response with the `200` status
  - removed the optional property `referenced_message/anyOf[subschema #1]/stickers/anyOf[subschema #1]/items/nsfw` from the response with the `200` status
  - removed the optional property `stickers/anyOf[subschema #1]/items/nsfw` from the response with the `200` status
  - removed the `NSFW_EMOJI_STICKER_BLOCKED` enum value from the `code` response property for the response status `400`
  - removed the `NSFW_EMOJI_STICKER_BLOCKED` enum value from the `code` response property for the response status `401`
  - removed the `NSFW_EMOJI_STICKER_BLOCKED` enum value from the `code` response property for the response status `403`
  - removed the `NSFW_EMOJI_STICKER_BLOCKED` enum value from the `code` response property for the response status `500`
- **2026-09-03** `fa36b1b48ca5`: 20 info
  - removed the `INVALID_PACK_TYPE` enum value from the `code` response property for the response status `400`
  - removed the `INVALID_PACK_TYPE` enum value from the `code` response property for the response status `401`
  - removed the `INVALID_PACK_TYPE` enum value from the `code` response property for the response status `403`
  - removed the `INVALID_PACK_TYPE` enum value from the `code` response property for the response status `500`
  - removed the `MAX_PACKS` enum value from the `code` response property for the response status `400`
  - removed the `MAX_PACKS` enum value from the `code` response property for the response status `401`
  - removed the `MAX_PACKS` enum value from the `code` response property for the response status `403`
  - removed the `MAX_PACKS` enum value from the `code` response property for the response status `500`
  - removed the `MAX_PACK_EXPRESSIONS` enum value from the `code` response property for the response status `400`
  - removed the `MAX_PACK_EXPRESSIONS` enum value from the `code` response property for the response status `401`
  - removed the `MAX_PACK_EXPRESSIONS` enum value from the `code` response property for the response status `403`
  - removed the `MAX_PACK_EXPRESSIONS` enum value from the `code` response property for the response status `500`
  - removed the `PACK_ACCESS_DENIED` enum value from the `code` response property for the response status `400`
  - removed the `PACK_ACCESS_DENIED` enum value from the `code` response property for the response status `401`
  - removed the `PACK_ACCESS_DENIED` enum value from the `code` response property for the response status `403`
  - removed the `PACK_ACCESS_DENIED` enum value from the `code` response property for the response status `500`
  - removed the `UNKNOWN_PACK` enum value from the `code` response property for the response status `400`
  - removed the `UNKNOWN_PACK` enum value from the `code` response property for the response status `401`
  - removed the `UNKNOWN_PACK` enum value from the `code` response property for the response status `403`
  - removed the `UNKNOWN_PACK` enum value from the `code` response property for the response status `500`

---

[Operation](https://skmtc.dev/fluxer/apis/fluxer-api/docs/channels/:channel_id/messages/post.md) - [API](https://skmtc.dev/fluxer/apis/fluxer-api.md) - [Page](https://skmtc.dev/fluxer/apis/fluxer-api/changes/channels/:channel_id/messages/post)
