{
  "name": "CreateRunnerGroupForOrg",
  "fully_qualified_name": "GithubApi.CreateRunnerGroupForOrg@0.1.0",
  "description": "Create a self-hosted runner group for an organization.\n\nThis tool creates a new self-hosted runner group for an organization on GitHub. Requires authentication with an access token having the `admin:org` scope.",
  "toolkit": {
    "name": "ArcadeGithubApi",
    "description": null,
    "version": "0.1.0"
  },
  "input": {
    "parameters": [
      {
        "name": "organization_name",
        "required": true,
        "description": "The name of the organization. It is not case sensitive.",
        "value_schema": {
          "val_type": "string",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "The organization name. The name is not case sensitive."
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "org"
      },
      {
        "name": "runner_group_name",
        "required": true,
        "description": "Name of the self-hosted runner group to be created. This should be a descriptive and distinct name within your organization.",
        "value_schema": {
          "val_type": "string",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "Name of the runner group."
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "name"
      },
      {
        "name": "runner_ids_to_add",
        "required": false,
        "description": "List of runner IDs to include in the newly created runner group for the organization.",
        "value_schema": {
          "val_type": "array",
          "inner_val_type": "integer",
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "List of runner IDs to add to the runner group."
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "runners"
      },
      {
        "name": "accessible_repository_ids",
        "required": false,
        "description": "List of repository IDs that can access the runner group.",
        "value_schema": {
          "val_type": "array",
          "inner_val_type": "integer",
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "List of repository IDs that can access the runner group."
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "selected_repository_ids"
      },
      {
        "name": "allowed_workflows",
        "required": false,
        "description": "List of workflows names the runner group is permitted to run. Considered only if 'restricted_to_workflows' is true.",
        "value_schema": {
          "val_type": "array",
          "inner_val_type": "string",
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`."
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "selected_workflows"
      },
      {
        "name": "runner_group_visibility",
        "required": false,
        "description": "Specify the visibility of the runner group: 'selected' for individual repositories, 'all' for all repositories, or 'private' for private repositories only.",
        "value_schema": {
          "val_type": "string",
          "inner_val_type": null,
          "enum": [
            "selected",
            "all",
            "private"
          ],
          "properties": null,
          "inner_properties": null,
          "description": "Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories."
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "visibility"
      },
      {
        "name": "allow_public_repositories",
        "required": false,
        "description": "Set to true to allow the runner group to be used by public repositories.",
        "value_schema": {
          "val_type": "boolean",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "Whether the runner group can be used by `public` repositories."
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "allows_public_repositories"
      },
      {
        "name": "restrict_to_selected_workflows",
        "required": false,
        "description": "Set to true to restrict the runner group to run only the workflows in the selected_workflows array.",
        "value_schema": {
          "val_type": "boolean",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array."
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "restricted_to_workflows"
      }
    ]
  },
  "output": {
    "description": "Response from the API endpoint 'actions/create-self-hosted-runner-group-for-org'.",
    "available_modes": [
      "value",
      "error",
      "null"
    ],
    "value_schema": {
      "val_type": "json",
      "inner_val_type": null,
      "enum": null,
      "properties": null,
      "inner_properties": null,
      "description": null
    }
  },
  "requirements": {
    "authorization": {
      "provider_id": "arcade-github",
      "provider_type": "oauth2",
      "id": null,
      "oauth2": null
    },
    "secrets": [
      {
        "key": "GIT_SERVER_URL"
      }
    ],
    "metadata": null
  },
  "deprecation_message": null,
  "metadata": {
    "object_type": "api_wrapper_tool",
    "version": "1.1.0",
    "description": "Tools that enable LLMs to interact directly with the GitHub API."
  },
  "http_endpoint": {
    "metadata": {
      "object_type": "http_endpoint",
      "version": "1.2.0",
      "description": ""
    },
    "url": "{git_server_url}/api/v3/orgs/{org}/actions/runner-groups",
    "http_method": "POST",
    "headers": {},
    "parameters": [
      {
        "name": "org",
        "tool_parameter_name": "organization_name",
        "description": "The organization name. The name is not case sensitive.",
        "value_schema": {
          "val_type": "string",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "The organization name. The name is not case sensitive."
        },
        "accepted_as": "path",
        "required": true,
        "deprecated": false,
        "default": null,
        "documentation_urls": []
      },
      {
        "name": "allows_public_repositories",
        "tool_parameter_name": "allow_public_repositories",
        "description": "Whether the runner group can be used by `public` repositories.",
        "value_schema": {
          "val_type": "boolean",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "Whether the runner group can be used by `public` repositories."
        },
        "accepted_as": "body",
        "required": false,
        "deprecated": false,
        "default": false,
        "documentation_urls": []
      },
      {
        "name": "name",
        "tool_parameter_name": "runner_group_name",
        "description": "Name of the runner group.",
        "value_schema": {
          "val_type": "string",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "Name of the runner group."
        },
        "accepted_as": "body",
        "required": true,
        "deprecated": false,
        "default": null,
        "documentation_urls": []
      },
      {
        "name": "restricted_to_workflows",
        "tool_parameter_name": "restrict_to_selected_workflows",
        "description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.",
        "value_schema": {
          "val_type": "boolean",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array."
        },
        "accepted_as": "body",
        "required": false,
        "deprecated": false,
        "default": false,
        "documentation_urls": []
      },
      {
        "name": "runners",
        "tool_parameter_name": "runner_ids_to_add",
        "description": "List of runner IDs to add to the runner group.",
        "value_schema": {
          "val_type": "array",
          "inner_val_type": "integer",
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "List of runner IDs to add to the runner group."
        },
        "accepted_as": "body",
        "required": false,
        "deprecated": false,
        "default": null,
        "documentation_urls": []
      },
      {
        "name": "selected_repository_ids",
        "tool_parameter_name": "accessible_repository_ids",
        "description": "List of repository IDs that can access the runner group.",
        "value_schema": {
          "val_type": "array",
          "inner_val_type": "integer",
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "List of repository IDs that can access the runner group."
        },
        "accepted_as": "body",
        "required": false,
        "deprecated": false,
        "default": null,
        "documentation_urls": []
      },
      {
        "name": "selected_workflows",
        "tool_parameter_name": "allowed_workflows",
        "description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`.",
        "value_schema": {
          "val_type": "array",
          "inner_val_type": "string",
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`."
        },
        "accepted_as": "body",
        "required": false,
        "deprecated": false,
        "default": null,
        "documentation_urls": []
      },
      {
        "name": "visibility",
        "tool_parameter_name": "runner_group_visibility",
        "description": "Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories.",
        "value_schema": {
          "val_type": "string",
          "inner_val_type": null,
          "enum": [
            "selected",
            "all",
            "private"
          ],
          "properties": null,
          "inner_properties": null,
          "description": "Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories."
        },
        "accepted_as": "body",
        "required": false,
        "deprecated": false,
        "default": "all",
        "documentation_urls": []
      }
    ],
    "documentation_urls": [],
    "secrets": [
      {
        "arcade_key": "GIT_SERVER_URL",
        "parameter_name": "git_server_url",
        "accepted_as": "path",
        "formatted_value": null,
        "description": "",
        "is_auth_token": false
      },
      {
        "arcade_key": "auth_token",
        "parameter_name": "Authorization",
        "accepted_as": "header",
        "formatted_value": "Bearer {authorization}",
        "description": "The OAuth token to use for authentication.",
        "is_auth_token": true
      }
    ],
    "request_body_spec": "{\n  \"content\": {\n    \"application/json\": {\n      \"examples\": {\n        \"default\": {\n          \"value\": {\n            \"name\": \"Expensive hardware runners\",\n            \"runners\": [\n              9,\n              2\n            ],\n            \"selected_repository_ids\": [\n              32,\n              91\n            ],\n            \"visibility\": \"selected\"\n          }\n        }\n      },\n      \"schema\": {\n        \"properties\": {\n          \"allows_public_repositories\": {\n            \"default\": false,\n            \"description\": \"Whether the runner group can be used by `public` repositories.\",\n            \"type\": \"boolean\"\n          },\n          \"name\": {\n            \"description\": \"Name of the runner group.\",\n            \"type\": \"string\"\n          },\n          \"restricted_to_workflows\": {\n            \"default\": false,\n            \"description\": \"If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.\",\n            \"type\": \"boolean\"\n          },\n          \"runners\": {\n            \"description\": \"List of runner IDs to add to the runner group.\",\n            \"items\": {\n              \"description\": \"Unique identifier of the runner.\",\n              \"type\": \"integer\"\n            },\n            \"type\": \"array\"\n          },\n          \"selected_repository_ids\": {\n            \"description\": \"List of repository IDs that can access the runner group.\",\n            \"items\": {\n              \"description\": \"Unique identifier of the repository.\",\n              \"type\": \"integer\"\n            },\n            \"type\": \"array\"\n          },\n          \"selected_workflows\": {\n            \"description\": \"List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`.\",\n            \"items\": {\n              \"description\": \"Name of workflow the runner group should be allowed to run. Note that a ref, tag, or long SHA is required.\",\n              \"example\": \"octo-org/octo-repo/.github/workflows/deploy.yaml@main\",\n              \"type\": \"string\"\n            },\n            \"type\": \"array\"\n          },\n          \"visibility\": {\n            \"default\": \"all\",\n            \"description\": \"Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories.\",\n            \"enum\": [\n              \"selected\",\n              \"all\",\n              \"private\"\n            ],\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"name\"\n        ],\n        \"type\": \"object\"\n      }\n    }\n  },\n  \"required\": true\n}",
    "use_request_body_schema_mode": false,
    "validate_request_body_schema": false
  }
}
