{
  "args": {
    "access_level": {
      "desc": "The level that we are setting the file's permission to (read or write) _Acceptable values:_ `read` `write`",
      "required": false,
      "type": "string"
    },
    "channel_id": {
      "desc": "Channel to add bookmark in. Required for public channels. Bookmarking a `link` requires: `channel_id`, `title`, `type`, and a `url`:",
      "required": false,
      "type": "string"
    },
    "emoji": {
      "desc": "Emoji tag to apply to the link.",
      "required": false,
      "type": "string"
    },
    "entity_id": {
      "desc": "ID of the entity being bookmarked. Only applies to message and file types.",
      "required": false,
      "type": "string"
    },
    "link": {
      "desc": "Link to bookmark. Bookmarking a `link` requires: `channel_id`, `title`, `type`, and a `url`:",
      "required": false,
      "type": "string"
    },
    "parent_id": {
      "desc": "Id of this bookmark's parent",
      "required": false,
      "type": "string"
    },
    "title": {
      "desc": "Title for the bookmark. Bookmarking a `link` requires: `channel_id`, `title`, `type`, and a `url`:",
      "required": true,
      "type": "string"
    },
    "type": {
      "desc": "Type of the bookmark i.e link. Bookmarking a `link` requires: `channel_id`, `title`, `type`, and a `url`:",
      "required": true,
      "type": "string"
    }
  },
  "desc": "Add bookmark to a channel.",
  "errors": {
    "cannot_bookmark_from_external_org": "File is an external file and cannot be bookmarked.",
    "cannot_bookmark_restricted_sharing_enabled": "File has restricted sharing enabled and cannot be bookmarked.",
    "channel_not_found": "Channel cannot be found.",
    "file_already_added": "The file has already been added to the folder.",
    "file_not_found": "File cannot be found.",
    "invalid_app_action_type": "App action type is not valid.",
    "invalid_bookmark_type": "Bookmark type is not valid.",
    "invalid_child_type": "Child type is not valid.",
    "invalid_emoji": "Invalid emoji, does not follow the pattern of a valid emoji name.",
    "invalid_entity_id": "Invalid entity\\_id, file or message type bookmark should have original file or message ID.",
    "invalid_link": "Invalid link, link should begin with either http:// or https://.",
    "invalid_parent_type": "Parent type is not valid.",
    "invalid_shortcut_type": "Shortcut type is not valid.",
    "not_implemented": "bookmarking not available for the user.",
    "parent_bookmark_disabled": "Parent bookmark feature flag is off.",
    "parent_with_link": "Parent bookmark should not have link.",
    "permission_denied": "No permission to perform this operation.",
    "slack_connect_blocked_file_type": "Files with certain extensions are blocked from being uploaded in all Slack Connect communications",
    "slack_connect_clip_sharing_blocked": "Admin has disabled Clip sharing in Slack Connect channels",
    "slack_connect_file_upload_sharing_blocked": "Admin has disabled File uploads in all Slack Connect communications",
    "too_many_bookmarks": "Bookmark limit reached for channel.",
    "too_many_requests": "Too many concurrent requests. Please retry.",
    "too_many_tabs": "tab limit reached for channel."
  },
  "rate_limit": {
    "label": "Tier 2: 20+ per minute",
    "url": "https://docs.slack.dev/apis/web-api/rate-limits"
  },
  "scopes": {
    "bot": [
      {
        "name": "bookmarks:write",
        "url": "https://docs.slack.dev/reference/scopes/bookmarks.write"
      }
    ],
    "user": [
      {
        "name": "bookmarks:write",
        "url": "https://docs.slack.dev/reference/scopes/bookmarks.write"
      }
    ]
  }
}

