{
  "args": {
    "as_user": {
      "desc": "Set to `true` to post the message as the authed user, instead of as a bot. Defaults to false. Cannot be used by new Slack apps. See chat.postMessage.",
      "example": "true",
      "required": false,
      "type": "boolean"
    },
    "attachments": {
      "desc": "A JSON-based array of structured attachments, presented as a URL-encoded string.",
      "example": "[{\"pretext\": \"pre-hello\", \"text\": \"text-world\"}]",
      "required": false,
      "type": "string"
    },
    "blocks": {
      "desc": "A JSON-based array of structured blocks, presented as a URL-encoded string.",
      "example": "[{\"type\": \"section\", \"text\": {\"type\": \"plain_text\", \"text\": \"Hello world\"}}]",
      "required": false,
      "type": "string"
    },
    "channel": {
      "desc": "Channel, private group, or DM channel to send message to. Can be an encoded ID, or a name. See below for more details.",
      "required": true,
      "type": "string"
    },
    "link_names": {
      "desc": "Find and link user groups. No longer supports linking individual users; use syntax shown in Mentioning Users instead.",
      "example": "true",
      "required": false,
      "type": "boolean"
    },
    "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. 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. See chat.postMessage. _Acceptable values:_ `none` `full`",
      "example": "full",
      "required": false,
      "type": "string"
    },
    "post_at": {
      "desc": "Unix timestamp representing the future time the message should post to Slack.",
      "example": "299876400",
      "required": true,
      "type": "integer"
    },
    "reply_broadcast": {
      "desc": "Used in conjunction with `thread_ts` and indicates whether reply should be made visible to everyone in the channel or conversation. Defaults to `false`.",
      "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.",
      "example": "Hello world",
      "required": false,
      "type": "string"
    },
    "thread_ts": {
      "desc": "Provide another message's `ts` value to make this message a reply. Avoid using a reply's `ts` value; use its parent instead.",
      "required": false,
      "type": "string"
    },
    "unfurl_links": {
      "desc": "Pass true to enable unfurling of primarily text-based content.",
      "example": "true",
      "required": false,
      "type": "boolean"
    },
    "unfurl_media": {
      "desc": "Pass false to disable unfurling of media content.",
      "example": "false",
      "required": false,
      "type": "boolean"
    }
  },
  "desc": "Schedules a message to be sent to a channel.",
  "errors": {
    "channel_not_found": "Value passed for `channel` was invalid.",
    "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_metadata_format": "Invalid metadata format provided",
    "invalid_metadata_schema": "Invalid metadata schema provided",
    "invalid_time": "value passed for `post_time` was invalid.",
    "invalid_token": "The passed token is invalid or not supported by this method.",
    "is_archived": "Channel has been archived.",
    "markdown_text_conflict": "Markdown text cannot be used in conjunction with `blocks` or `text` argument.",
    "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",
    "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",
    "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_only_channel": "Cannot post top-level messages into a thread-only channel.",
    "restricted_too_many": "Too many messages were scheduled in the channel for a given period. See usage info for additional details",
    "slack_connect_file_link_sharing_blocked": "Admin has disabled Slack File sharing in all Slack Connect communications",
    "time_in_past": "value passed for `post_time` was in the past.",
    "time_too_far": "value passed for `post_time` was too far into the future.",
    "too_many_attachments": "Too many attachments were provided with this message. A maximum of 100 attachments are allowed on a message."
  },
  "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"
      }
    ]
  }
}

