Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions docs/change-log/2025-04-29-component-limits.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
title: "Raised Component Limits"
date: "2025-04-29"
topics:
- "User Apps"
- "HTTP API"
- "Interactions"
---

We're removing the top level component limit and raising the limit on number of components in a message to 40 when using the [`IS_COMPONENTS_V2` message flag](/docs/resources/message#message-object-message-flags)! We're also removing the limit on the number of components in a [Container Component](/docs/components/reference#container). Legacy messages have not changed and continue to allow up to 5 action rows.

#### What's New

- **Total components**: The limit for total components in a message has been increased to 40.
- **Top-level components**: There is no longer a limit on top level components in a message (previously it was 10).
- **[Container Component](/docs/components/reference#container)**: There is no longer a limit on the number of components in a Container Component (previously it was 10).

#### Developer Resources

- Check out our [Component Reference](/docs/components/reference) for detailed specifications on all available components.
- Learn how to build rich message layouts with components with [Using Message Components](/docs/components/using-message-components).
22 changes: 13 additions & 9 deletions docs/components/reference.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ To use these components, you need to send the [message flag](/docs/resources/mes
- The `content` and `embeds` fields will no longer work but you'll be able to use [Text Display](/docs/components/reference#text-display) and [Container](/docs/components/reference#container) as replacements
- Attachments won't show by default - they must be exposed through components
- The `poll` and `stickers` fields are disabled
- Messages currently allow up to 10 top-level components and 30 total components
- Messages allow up to 40 total components

:::info
[Legacy component behavior](/docs/components/reference#legacy-message-component-behavior) will continue to work but provide less flexibility and control over the message layout.
Expand Down Expand Up @@ -1080,7 +1080,7 @@ To use this component, you need to send the [message flag](/docs/resources/messa

## Container

A Container is a top-level layout component that holds up to 10 components. Containers are visually distinct from surrounding components and have an optional customizable color bar.
A Container is a top-level layout component. Containers are visually distinct from surrounding components and have an optional customizable color bar.

Containers are only available in messages.

Expand All @@ -1090,13 +1090,13 @@ To use this component, you need to send the [message flag](/docs/resources/messa

###### Container Structure

| Field | Type | Description |
|---------------|---------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| type | integer | `17` for container component |
| id? | integer | Optional identifier for component |
| components | array of components | Up to 10 components of the type [action row](/docs/components/reference#action-row), [text display](/docs/components/reference#text-display), [section](/docs/components/reference#section), [media gallery](/docs/components/reference#media-gallery), [separator](/docs/components/reference#separator), or [file](/docs/components/reference#file) |
| accent_color? | ?integer | Color for the accent on the container as RGB from `0x000000` to `0xFFFFFF` |
| spoiler? | boolean | Whether the container should be a spoiler (or blurred out). Defaults to `false`. |
| Field | Type | Description |
|---------------|---------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| type | integer | `17` for container component |
| id? | integer | Optional identifier for component |
| components | array of components | Components of the type [action row](/docs/components/reference#action-row), [text display](/docs/components/reference#text-display), [section](/docs/components/reference#section), [media gallery](/docs/components/reference#media-gallery), [separator](/docs/components/reference#separator), or [file](/docs/components/reference#file) |
| accent_color? | ?integer | Color for the accent on the container as RGB from `0x000000` to `0xFFFFFF` |
| spoiler? | boolean | Whether the container should be a spoiler (or blurred out). Defaults to `false`. |

###### Example

Expand Down Expand Up @@ -1172,6 +1172,10 @@ Before the introduction of the `IS_COMPONENTS_V2` flag ([see changelog](/docs/ch

Apps using this Legacy Message Component behavior will continue to work as expected, but it is recommended to use the new `IS_COMPONENTS_V2` flag for new apps or features as they offer more options for layout and customization.

:::info
Legacy messages allow up to 5 action rows as top-level components
:::

Legacy Message Component Example

```json
Expand Down