{
  "args": {
    "channel": {
      "desc": "An encoded ID that represents a channel thread or DM.",
      "required": true,
      "type": "string"
    },
    "chunks": {
      "desc": "Array of streaming chunks.",
      "required": false,
      "type": "array"
    },
    "icon_emoji": {
      "desc": "Emoji to use as the icon for this message. Overrides `icon_url`.",
      "example": ":chart_with_upwards_trend:",
      "required": false,
      "type": "string"
    },
    "icon_url": {
      "desc": "Image URL to use as the icon for this message.",
      "example": "http://lorempixel.com/48/48",
      "required": false,
      "type": "string"
    },
    "markdown_text": {
      "desc": "Accepts message text formatted in markdown. Limit this field to 12,000 characters.",
      "example": "**This is bold text**",
      "required": false,
      "type": "string"
    },
    "recipient_team_id": {
      "desc": "The encoded ID of the team the user receiving the streaming text belongs to. Required when streaming to channels.",
      "example": "T0123456789",
      "required": false,
      "type": "string"
    },
    "recipient_user_id": {
      "desc": "The encoded ID of the user to receive the streaming text. Required when streaming to channels.",
      "required": false
    },
    "task_display_mode": {
      "default": "timeline",
      "desc": "Specifies how tasks are displayed in the message. A `timeline` displays individual tasks with text in sequential order, `plan` displays all tasks together, with the first tasks's placement determining the placement of the rest of the tasks, and `dense` collapses consecutive tool calls into a single summarized task card.",
      "example": "plan",
      "required": false,
      "type": "string"
    },
    "thread_ts": {
      "desc": "Provide another message's `ts` value to reply to. Streamed messages should always be replies to a user request.",
      "example": "1721609600.123456",
      "required": true,
      "type": "string"
    },
    "username": {
      "desc": "The bot's username to display.",
      "example": "My Bot",
      "required": false,
      "type": "string"
    }
  },
  "desc": "Starts a new streaming conversation.",
  "errors": {
    "channel_not_found": "Value passed for `channel` was invalid.",
    "channel_type_not_supported": "Channel type not supported",
    "duplicate_channel_not_found": "Channel associated with `client_msg_id` was invalid.",
    "duplicate_message_not_found": "No duplicate message exists associated with `client_msg_id`.",
    "invalid_blocks": "Blocks submitted with this message are not valid",
    "invalid_blocks_format": "The `blocks` is not a valid JSON object or doesn't match the Block Kit syntax.",
    "invalid_chunks": "Chunks submitted with this message are not valid.",
    "invalid_metadata_format": "Invalid metadata format provided",
    "invalid_metadata_schema": "Invalid metadata schema provided",
    "is_archived": "Channel has been archived.",
    "message_limit_exceeded": "Members on this team are sending too many messages. For more details, see https://slack.com/help/articles/115002422943-Usage-limits-for-free-workspaces",
    "messages_tab_disabled": "Messages tab for the app is disabled.",
    "messaging_processing_failed": "Failed to process the message.",
    "metadata_must_be_sent_from_app": "Message metadata can only be posted or updated using an app-level token",
    "metadata_too_large": "Metadata exceeds size limit",
    "missing_recipient_team_id": "Missing recipient team ID.",
    "missing_recipient_user_id": "Missing recipient user ID.",
    "msg_blocks_too_long": "Blocks submitted with this message are too long.",
    "msg_blocks_too_many": "Max blocks exceeded, blocks are limited to 50 per message.",
    "no_text": "No message text provided",
    "not_in_channel": "Cannot post user messages to a channel they are not in.",
    "rate_limited": "Application has posted too many messages, read the Rate Limit documentation for more information",
    "restricted_action": "A workspace preference prevents the authenticated user from posting.",
    "restricted_action_non_threadable_channel": "Cannot post thread replies into a non\\_threadable channel.",
    "restricted_action_read_only_channel": "Cannot post any message into a read-only channel.",
    "restricted_action_thread_locked": "Cannot post replies to a thread that has been locked by admins.",
    "restricted_action_thread_only_channel": "Cannot post top-level messages into a thread-only channel.",
    "slack_connect_canvas_sharing_blocked": "Admin has disabled Canvas File sharing in all Slack Connect communications",
    "slack_connect_file_link_sharing_blocked": "Admin has disabled Slack File sharing in all Slack Connect communications",
    "slack_connect_lists_sharing_blocked": "Admin has disabled Lists sharing in all Slack Connect communications",
    "team_not_found": "This error occurs if, when using an org-wide token, the `channel_name` is passed instead of the `channel_id`.",
    "user_not_found": "User not found."
  },
  "rate_limit": {
    "label": "Tier 2: 20+ per minute",
    "url": "https://docs.slack.dev/apis/web-api/rate-limits"
  },
  "scopes": {
    "bot": [
      {
        "name": "chat:write",
        "url": "https://docs.slack.dev/reference/scopes/chat.write"
      }
    ]
  }
}

