{
  "args": {
    "function_id": {
      "desc": "The function ID to set permissions for.",
      "required": true,
      "type": "string"
    },
    "permissions": {
      "desc": "Array of permissions for the function.",
      "required": false,
      "type": "array"
    },
    "user_ids": {
      "desc": "List of user IDs to allow for `named_entities` visibility.",
      "example": "['U00000001', 'U00000002', 'U00000003']",
      "required": false,
      "type": "array"
    },
    "visibility": {
      "desc": "The function visibility. _Acceptable values:_ `everyone` `app_collaborators` `named_entities` `no_one`",
      "required": false,
      "type": "string"
    }
  },
  "desc": "Set the visibility of a Slack function and define the users or workspaces if it is set to named\\_entities.",
  "errors": {
    "function_not_found": "The referenced function does not exist.",
    "invalid_permission": "Invalid value for permission",
    "invalid_permission_type": "Invalid value for permission type.",
    "invalid_setting": "The `app_collaborators` setting is not allowed for apps not owned by your team/org.",
    "invalid_visibility": "Invalid value for visibility.",
    "restricted_action": "This actor does not have access to the permissions on this resource.",
    "unknown_method": "This method does not exist."
  },
  "rate_limit": {
    "label": "Tier 3: 50+ per minute",
    "url": "https://docs.slack.dev/apis/web-api/rate-limits"
  },
  "scopes": {
    "user": [
      {
        "name": "admin.workflows:read",
        "url": "https://docs.slack.dev/reference/scopes/admin.workflows.read"
      }
    ]
  }
}

