Packages

A Slack Web & Real Time Messaging API client.

Current section

Files

Jump to
slack_kit priv docs methods chat.update.json
Raw

priv/docs/methods/chat.update.json

{
"args": {
"as_user": {
"desc": "Pass true to update the message as the authed user. Bot users in this context are considered authed users.",
"example": "true",
"required": false
},
"attachments": {
"desc": "A JSON-based array of structured attachments, presented as a URL-encoded string. Similarly, the `attachments` field is required when not presenting `text`.",
"example": "[{\"pretext\": \"pre-hello\", \"text\": \"text-world\"}]",
"required": false
},
"blocks": {
"desc": "A JSON-based array of structured blocks, presented as a URL-encoded string. This method will behave differently depending on whether `blocks` or `text` is supplied. Slack will always try to render the message using `blocks`, and use `text` only for notifications. If you don't include `blocks`, the message's previous `blocks` will only be retained if the `text` argument is not provided. If the `text` argument is provided and `blocks` are not provided, the `blocks` will be removed, and the provided `text` will be used for message rendering. If `blocks` are used and a message is being updated, the `edited` flag will not be displayed on the message (the flag will be displayed on the message if using `text`).",
"example": "[{\"type\": \"section\", \"text\": {\"type\": \"plain_text\", \"text\": \"Hello world\"}}]",
"required": false
},
"channel": {
"desc": "Channel containing the message to be updated. For direct messages, ensure that this value is a DM ID (starts with `D`) instead of a User ID (starts with either `U` or `W`).",
"required": true,
"type": "string"
},
"file_ids": {
"desc": "Array of new file ids that will be sent with this message.",
"example": "F013GKY52QK,F013GL22D0T or [\"F013GKY52QK\",\"F013GL22D0T\"]",
"required": false,
"type": "array"
},
"link_names": {
"desc": "Find and link channel names and usernames. Defaults to `none`. If you do not specify a value for this field, the original value set for the message will be overwritten with the default, `none`.",
"example": "true",
"required": false
},
"markdown_text": {
"desc": "Accepts message text formatted in markdown. This argument should not be used in conjunction with `blocks` or `text`. Limit this field to 12,000 characters.",
"example": "**This is bold text**",
"required": false,
"type": "string"
},
"metadata": {
"desc": "JSON object with event\\_type and event\\_payload fields, presented as a URL-encoded string. If you don't include this field, the message's previous `metadata` will be retained. To remove previous `metadata`, include an empty object for this field. Metadata you post to Slack is accessible to any app or user who is a member of that workspace.",
"example": "{\"event_type\": \"task_created\", \"event_payload\": { \"id\": \"11223\", \"title\": \"Redesign Homepage\"}}",
"required": false
},
"parse": {
"desc": "Change how messages are treated. Defaults to `client`, unlike `chat.postMessage`. Accepts either `none` or `full`. If you do not specify a value for this field, the original value set for the message will be overwritten with the default, `client`.",
"example": "none",
"required": false
},
"reply_broadcast": {
"default": "false",
"desc": "Broadcast an existing thread reply to make it visible to everyone in the channel or conversation.",
"example": "true",
"required": false,
"type": "boolean"
},
"text": {
"desc": "How this field works and whether it is required depends on other fields you use in your API call. See below for more detail. This method will behave differently depending on whether `blocks` or `text` is supplied. Slack will always try to render the message using `blocks`, and use `text` only for notifications. If you don't include `blocks`, the message's previous `blocks` will only be retained if the `text` argument is not provided. If the `text` argument is provided and `blocks` are not provided, the `blocks` will be removed, and the provided `text` will be used for message rendering. If `blocks` are used and a message is being updated, the `edited` flag will not be displayed on the message (the flag will be displayed on the message if using `text`). Similarly, the `attachments` field is required when not presenting `text`.",
"example": "Hello world",
"required": false
},
"ts": {
"desc": "Timestamp of the message to be updated.",
"example": "\"1405894322.002768\"",
"required": true,
"type": "string"
},
"unfurled_attachments": {
"desc": "A JSON-based array of structured attachments, presented as a URL-encoded string.",
"example": "[{\"pretext\": \"pre-hello\", \"text\": \"text-world\"}]",
"required": false
}
},
"desc": "Updates a message.",
"errors": {
"as_user_not_supported": "The `as_user` parameter does not function with workspace apps.",
"block_mismatch": "Rich-text blocks cannot be replaced with non-rich-text blocks",
"blocked_file_type": "Admin has disabled uploading this type of file.",
"cant_broadcast_message": "Unable to broadcast this message.",
"cant_update_message": "Authenticated user does not have permission to update this message.",
"channel_not_found": "Value passed for `channel` was invalid.",
"edit_window_closed": "The message cannot be edited due to the team message edit settings",
"external_channel_migrating": "The channel is in the process of migrating and so the message cannot be updated at this time.",
"file_deleted": "File to share deleted.",
"file_is_deleted": "The file is deleted.",
"file_not_found": "One or more of the provided file IDs could not be found.",
"file_share_limit_reached": "The file has reached the share limit.",
"invalid_attachments": "The attachments were invalid.",
"invalid_blocks": "The blocks were invalid for the requesting user.",
"invalid_blocks_format": "The `blocks` array is not a valid JSON object or doesn't match the Block Kit syntax.",
"invalid_metadata_format": "Invalid metadata format provided",
"invalid_metadata_schema": "Invalid metadata schema provided",
"is_inactive": "The message cannot be edited within a frozen, archived or deleted channel.",
"markdown_text_conflict": "Markdown text cannot be used in conjunction with `blocks` or `text` argument.",
"max_file_sharing_exceeded": "Exceeded max allowed files shared.",
"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.",
"message_not_found": "No message exists with the requested timestamp.",
"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",
"msg_too_long": "Message text is too long. The `text` field cannot exceed 4,000 characters.",
"no_dual_broadcast_content_update": "Can't broadcast an old reply and update the content at the same time.",
"no_text": "No message text provided",
"posting_to_channel_denied": "The user does not have permission to share files in this channel.",
"slack_connect_blocked_file_type": "Files with certain extensions are blocked from being uploaded in all Slack Connect messages.",
"slack_connect_canvas_sharing_blocked": "Admin has disabled sharing of canvas links in all Slack Connect messages.",
"slack_connect_clip_sharing_blocked": "Admin has disabled Clip uploads in Slack Connect channels.",
"slack_connect_file_link_sharing_blocked": "Admin has disabled Slack file sharing in all Slack Connect messages.",
"slack_connect_file_upload_sharing_blocked": "Admin has disabled file uploads in all Slack Connect messages.",
"streaming_state_conflict": "The message is currently streaming text and cannot be edited.",
"team_not_found": "Team associated with the message and channel could not be found.",
"too_many_attachments": "Too many attachments were provided with this message. A maximum of 100 attachments are allowed on a message.",
"unable_to_share_files": "Sharing the files failed.",
"update_failed": "Internal update failure."
},
"rate_limit": {
"label": "Tier 3: 50+ 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"
}
],
"user": [
{
"name": "chat:write",
"url": "https://docs.slack.dev/reference/scopes/chat.write"
}
]
}
}