---
title: "POST /lobbies/{lobby_id}/messages"
method: POST
path: "/lobbies/{lobby_id}/messages"
---

# POST /lobbies/{lobby_id}/messages

`POST /lobbies/{lobby_id}/messages`

## Request body

- SDKMessageRequest
  - `content` string, nullable
  - `embeds` RichEmbed[], nullable
    - `type` string, nullable
    - `url` string, uri, nullable
    - `title` string, nullable
    - `color` integer, nullable
    - `timestamp` string, date-time, nullable
    - `description` string, nullable
    - `author` RichEmbedAuthor
      - `name` string, nullable
      - `url` string, uri, nullable
      - `icon_url` string, uri, nullable
    - `image` RichEmbedImage
      - `url` string, uri, nullable
      - `width` integer, nullable
      - `height` integer, nullable
      - `placeholder` string, nullable
      - `placeholder_version` integer, nullable
      - `is_animated` boolean, nullable
      - `description` string, nullable
    - `thumbnail` RichEmbedThumbnail
      - `url` string, uri, nullable
      - `width` integer, nullable
      - `height` integer, nullable
      - `placeholder` string, nullable
      - `placeholder_version` integer, nullable
      - `is_animated` boolean, nullable
      - `description` string, nullable
    - `footer` RichEmbedFooter
      - `text` string, nullable
      - `icon_url` string, uri, nullable
    - `fields` RichEmbedField[], nullable
      - `name` string, required
      - `value` string, required
      - `inline` boolean, nullable
    - `provider` RichEmbedProvider
      - `name` string, nullable
      - `url` string, uri, nullable
    - `video` RichEmbedVideo
      - `url` string, uri, nullable
      - `width` integer, nullable
      - `height` integer, nullable
      - `placeholder` string, nullable
      - `placeholder_version` integer, nullable
      - `is_animated` boolean, nullable
      - `description` string, nullable
  - `allowed_mentions` MessageAllowedMentionsRequest
    - `parse` AllowedMentionTypes[], nullable
      - union
        - 'users' — Controls role mentions
        - 'roles' — Controls user mentions
        - 'everyone' — Controls @everyone and @here mentions
    - `users` SnowflakeType[], nullable
    - `roles` SnowflakeType[], nullable
    - `replied_user` boolean, nullable
  - `sticker_ids` SnowflakeType[], nullable
  - `components` union[], nullable
    - union
      - ActionRowComponentForMessageRequest
        - `type` union, required
          - 1 — Container for other components
          - 2 — Button object
          - 3 — Select menu for picking from defined text options
          - 4 — Text input object
          - 5 — Select menu for users
          - 6 — Select menu for roles
          - 7 — Select menu for mentionables (users and roles)
          - 8 — Select menu for channels
          - 9 — Section component
          - 10 — Text component
          - 11 — Thumbnail component
          - 12 — Media gallery component
          - 13 — File component
          - 14 — Separator component
          - 17 — Container component
          - 18 — Label component
          - 19 — File upload component
          - 21 — Radio group component
          - 22 — Checkbox group component
          - 23 — Checkbox component
        - `id` integer, nullable
        - `components` union[], required
          - union
            - ButtonComponentForMessageRequest
              - …
            - ChannelSelectComponentForMessageRequest
              - …
            - MentionableSelectComponentForMessageRequest
              - …
            - RoleSelectComponentForMessageRequest
              - …
            - StringSelectComponentForMessageRequest
              - …
            - UserSelectComponentForMessageRequest
              - …
      - ContainerComponentForMessageRequest
        - `type` union, required
          - 1 — Container for other components
          - 2 — Button object
          - 3 — Select menu for picking from defined text options
          - 4 — Text input object
          - 5 — Select menu for users
          - 6 — Select menu for roles
          - 7 — Select menu for mentionables (users and roles)
          - 8 — Select menu for channels
          - 9 — Section component
          - 10 — Text component
          - 11 — Thumbnail component
          - 12 — Media gallery component
          - 13 — File component
          - 14 — Separator component
          - 17 — Container component
          - 18 — Label component
          - 19 — File upload component
          - 21 — Radio group component
          - 22 — Checkbox group component
          - 23 — Checkbox component
        - `id` integer, nullable
        - `accent_color` integer, nullable
        - `components` union[], required
          - union
            - ActionRowComponentForMessageRequest
              - …
            - FileComponentForMessageRequest
              - …
            - MediaGalleryComponentForMessageRequest
              - …
            - SectionComponentForMessageRequest
              - …
            - SeparatorComponentForMessageRequest
              - …
            - TextDisplayComponentForMessageRequest
              - …
        - `spoiler` boolean, nullable
      - FileComponentForMessageRequest
        - `type` union, required
          - 1 — Container for other components
          - 2 — Button object
          - 3 — Select menu for picking from defined text options
          - 4 — Text input object
          - 5 — Select menu for users
          - 6 — Select menu for roles
          - 7 — Select menu for mentionables (users and roles)
          - 8 — Select menu for channels
          - 9 — Section component
          - 10 — Text component
          - 11 — Thumbnail component
          - 12 — Media gallery component
          - 13 — File component
          - 14 — Separator component
          - 17 — Container component
          - 18 — Label component
          - 19 — File upload component
          - 21 — Radio group component
          - 22 — Checkbox group component
          - 23 — Checkbox component
        - `id` integer, nullable
        - `spoiler` boolean, nullable
        - `file` UnfurledMediaRequestWithAttachmentReferenceRequired, required
          - `url` string, uri, required
      - MediaGalleryComponentForMessageRequest
        - `type` union, required
          - 1 — Container for other components
          - 2 — Button object
          - 3 — Select menu for picking from defined text options
          - 4 — Text input object
          - 5 — Select menu for users
          - 6 — Select menu for roles
          - 7 — Select menu for mentionables (users and roles)
          - 8 — Select menu for channels
          - 9 — Section component
          - 10 — Text component
          - 11 — Thumbnail component
          - 12 — Media gallery component
          - 13 — File component
          - 14 — Separator component
          - 17 — Container component
          - 18 — Label component
          - 19 — File upload component
          - 21 — Radio group component
          - 22 — Checkbox group component
          - 23 — Checkbox component
        - `id` integer, nullable
        - `items` MediaGalleryItemRequest[], required
          - `description` string, nullable
          - `spoiler` boolean, nullable
          - `media` UnfurledMediaRequest, required
            - `url` string, uri, required
      - SectionComponentForMessageRequest
        - `type` union, required
          - 1 — Container for other components
          - 2 — Button object
          - 3 — Select menu for picking from defined text options
          - 4 — Text input object
          - 5 — Select menu for users
          - 6 — Select menu for roles
          - 7 — Select menu for mentionables (users and roles)
          - 8 — Select menu for channels
          - 9 — Section component
          - 10 — Text component
          - 11 — Thumbnail component
          - 12 — Media gallery component
          - 13 — File component
          - 14 — Separator component
          - 17 — Container component
          - 18 — Label component
          - 19 — File upload component
          - 21 — Radio group component
          - 22 — Checkbox group component
          - 23 — Checkbox component
        - `id` integer, nullable
        - `components` TextDisplayComponentForMessageRequest[], required
          - `type` union, required
            - 1 — Container for other components
            - 2 — Button object
            - 3 — Select menu for picking from defined text options
            - 4 — Text input object
            - 5 — Select menu for users
            - 6 — Select menu for roles
            - 7 — Select menu for mentionables (users and roles)
            - 8 — Select menu for channels
            - 9 — Section component
            - 10 — Text component
            - 11 — Thumbnail component
            - 12 — Media gallery component
            - 13 — File component
            - 14 — Separator component
            - 17 — Container component
            - 18 — Label component
            - 19 — File upload component
            - 21 — Radio group component
            - 22 — Checkbox group component
            - 23 — Checkbox component
          - `id` integer, nullable
          - `content` string, required
        - `accessory` union, required
          - ButtonComponentForMessageRequest
            - `type` union, required
              - …
            - `id` integer, nullable
            - `custom_id` string, nullable
            - `style` union, required
              - …
            - `label` string, nullable
            - `disabled` boolean, nullable
            - `url` string, uri, nullable
            - `sku_id` string, snowflake
            - `emoji` ComponentEmojiForRequest
              - …
          - ThumbnailComponentForMessageRequest
            - `type` union, required
              - …
            - `id` integer, nullable
            - `description` string, nullable
            - `spoiler` boolean, nullable
            - `media` UnfurledMediaRequest, required
              - …
      - SeparatorComponentForMessageRequest
        - `type` union, required
          - 1 — Container for other components
          - 2 — Button object
          - 3 — Select menu for picking from defined text options
          - 4 — Text input object
          - 5 — Select menu for users
          - 6 — Select menu for roles
          - 7 — Select menu for mentionables (users and roles)
          - 8 — Select menu for channels
          - 9 — Section component
          - 10 — Text component
          - 11 — Thumbnail component
          - 12 — Media gallery component
          - 13 — File component
          - 14 — Separator component
          - 17 — Container component
          - 18 — Label component
          - 19 — File upload component
          - 21 — Radio group component
          - 22 — Checkbox group component
          - 23 — Checkbox component
        - `id` integer, nullable
        - `spacing` union
          - 1 — Small spacing
          - 2 — Large spacing
        - `divider` boolean, nullable
      - TextDisplayComponentForMessageRequest
        - `type` union, required
          - 1 — Container for other components
          - 2 — Button object
          - 3 — Select menu for picking from defined text options
          - 4 — Text input object
          - 5 — Select menu for users
          - 6 — Select menu for roles
          - 7 — Select menu for mentionables (users and roles)
          - 8 — Select menu for channels
          - 9 — Section component
          - 10 — Text component
          - 11 — Thumbnail component
          - 12 — Media gallery component
          - 13 — File component
          - 14 — Separator component
          - 17 — Container component
          - 18 — Label component
          - 19 — File upload component
          - 21 — Radio group component
          - 22 — Checkbox group component
          - 23 — Checkbox component
        - `id` integer, nullable
        - `content` string, required
  - `flags` integer, nullable
  - `attachments` MessageAttachmentRequest[], nullable
    - `id` string, snowflake, required
    - `filename` string, nullable
    - `description` string, nullable
    - `duration_secs` number, double, nullable
    - `waveform` string, nullable
    - `title` string, nullable
    - `is_spoiler` boolean, nullable
    - `is_remix` boolean, nullable
  - `poll` PollCreateRequest
    - `question` PollMedia, required
      - `text` string, nullable — The text of the field
      - `emoji` PollEmoji
        - `id` string, snowflake
        - `name` string, nullable — The name of the emoji, or the unicode emoji character
        - `animated` boolean, nullable — Whether the emoji is animated
    - `answers` PollAnswerCreateRequest[], required — Each of the answers available in the poll, up to 10
      - `poll_media` PollMediaCreateRequest, required
        - `text` string, nullable — The text of the field
        - `emoji` PollEmojiCreateRequest
          - `id` string, snowflake
          - `name` string, nullable — The name of the emoji, or the unicode emoji character
          - `animated` boolean, nullable — Whether the emoji is animated
    - `allow_multiselect` boolean, nullable — Whether a user can select multiple answers
    - `layout_type` 1 — The, uhm, default layout type.
    - `duration` integer, nullable — Number of hours the poll should be open for, up to 32 days. Defaults to 24
  - `shared_client_theme` CustomClientThemeShareRequest
    - `colors` string[], required
    - `gradient_angle` integer, required
    - `base_mix` integer, required
    - `base_theme` union
      - 0 — No base theme
      - 1 — Dark base theme
      - 2 — Light base theme
      - 3 — Darker base theme
      - 4 — Midnight base theme
  - `message_reference` MessageReferenceRequest
    - `guild_id` string, snowflake
    - `channel_id` string, snowflake
    - `message_id` string, snowflake, required
    - `fail_if_not_exists` boolean, nullable
    - `type` 0 — Reference to a message
  - `nonce` union
    - integer
    - string, nonce
  - `enforce_nonce` boolean, nullable
  - `tts` boolean, nullable

## Response `201`

201 response for create_lobby_message

- LobbyMessageResponse
  - `id` string, snowflake, required
  - `type` union, required
    - 0
    - 1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    - 10
    - 11
    - 12
    - 14
    - 15
    - 16
    - 17
    - 18
    - 19
    - 20
    - 21
    - 22
    - 23
    - 24
    - 25
    - 26
    - 27
    - 28
    - 29
    - 31
    - 32
    - 36
    - 37
    - 38
    - 39
    - 46
    - 55
  - `content` string, required
  - `lobby_id` string, snowflake, required
  - `channel_id` string, snowflake, required
  - `author` UserResponse, required
    - `id` string, snowflake, required
    - `username` string, required — the user's username, not unique across the platform
    - `avatar` string, nullable, required — the user's avatar hash
    - `discriminator` string, required — the user's Discord-tag
    - `public_flags` integer, required — the public flags on a user's account
    - `flags` integer, required
    - `bot` boolean — whether the user belongs to an OAuth2 application
    - `system` boolean — whether the user is an Official Discord System user (part of the urgent message system)
    - `banner` string, nullable — the user's banner hash
    - `accent_color` integer, nullable — the user's banner color encoded as an integer representation of hexadecimal color code
    - `global_name` string, nullable, required — the user's display name, if it is set
    - `avatar_decoration_data` UserAvatarDecorationResponse
      - `asset` string, required — the avatar decoration hash
      - `sku_id` string, snowflake, required
    - `collectibles` UserCollectiblesResponse
      - `nameplate` UserNameplateResponse, required
        - `sku_id` string, snowflake, required
        - `asset` string, required — Path to the nameplate asset
        - `label` string, required — The label of this nameplate. Currently unused
        - `palette` union, required
          - 'crimson' — Crimson color palette
          - 'berry' — Berry color palette
          - 'sky' — Sky color palette
          - 'teal' — Teal color palette
          - 'forest' — Forest color palette
          - 'bubble_gum' — Bubble gum color palette
          - 'violet' — Violet color palette
          - 'cobalt' — Cobalt color palette
          - 'clover' — Clover color palette
          - 'lemon' — Lemon color palette
          - 'white' — White color palette
          - 'black' — Black color palette
    - `primary_guild` UserPrimaryGuildResponse, required
      - `identity_guild_id` string, snowflake, required
      - `identity_enabled` boolean, nullable, required — whether the user is displaying the primary guild's server tag
      - `tag` string, nullable, required — the text of the user's server tag, limited to 4 characters
      - `badge` string, nullable, required — the server tag badge hash
  - `lobby_member` MessageLobbyMemberResponse
    - `additional_name` string, required
  - `metadata` object
  - `moderation_metadata` object
  - `flags` integer, required
  - `application_id` string, snowflake

## Other responses

- `429` — Client ratelimited response
- `4XX` — Client error response

## Changes

- **2026-07-18** `8c1d0707ccdf` — 1 info
  - added the optional property `lobby_member` to the response with the `201` status
- **2026-07-16** `a0996c886249` — 3 breaking
  - the `attachments/items/filename` request property's minLength was increased from `0` to `1` (media type: application/json)
  - the `attachments/items/filename` request property's minLength was increased from `0` to `1` (media type: application/x-www-form-urlencoded)
  - the `attachments/items/filename` request property's minLength was increased from `0` to `1` (media type: multipart/form-data)
- **2026-06-23** `d275bd0b41d9` — 3 info
  - added the new optional request property `attachments/items/is_spoiler` (media type: application/json)
  - added the new optional request property `attachments/items/is_spoiler` (media type: application/x-www-form-urlencoded)
  - added the new optional request property `attachments/items/is_spoiler` (media type: multipart/form-data)
- …earlier changes not shown

[Full history](https://skmtc.dev/discord/apis/discord-http-api-preview/changes/lobbies/:lobby_id/messages/post.md)

---

[API](https://skmtc.dev/discord/apis/discord-http-api-preview.md) · [All operations](https://skmtc.dev/discord/apis/discord-http-api-preview/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/discord/discord-http-api-preview/revisions/9fd91c50cf32/schema)
