# Create

Launch stage: Beta

`POST /api/2.1/{parent=supervisor-agents/*}/tools`

Creates a Tool under a Supervisor Agent. Specify one of "genie_space", "knowledge_assistant", "uc_function", "uc_connection", "app", "volume", "dashboard", "table", "vector_search_index", "catalog", "schema", "supervisor_agent", "databricks_web_search", "skill" in the request body. The legacy values "lakeview_dashboard", "uc_table", and "web_search" are also accepted and remain equivalent to "dashboard", "table", and "databricks_web_search" respectively. The "databricks_web_search" tool_type maps to the `web_search` spec field.

API scopes: supervisor-agents

## Path parameters

- `parent` (string, optional)
  Parent resource where this tool will be created.
   Format: supervisor-agents/{supervisor_agent_id}

## Query parameters

- `tool_id` (string, optional)
  The ID to use for the tool, which will become the final component of
   the tool's resource name.
  Constraints: `[ 4 .. 63 ] characters`

## Request body

- `tool` (object, optional)
  - `name` (string, optional)
    Full resource name:
     supervisor-agents/{supervisor_agent_id}/tools/{tool_id}
  - `id` (string, optional)
    Deprecated: Use tool_id instead.
  - `tool_type` (string, optional)
    Tool type. Must be one of: "genie_space", "knowledge_assistant", "uc_function", "uc_connection", "uc_mcp", "app", "volume", "dashboard", "serving_endpoint", "table", "vector_search_index", "catalog", "schema", "supervisor_agent", "databricks_web_search", "skill". The legacy values "lakeview_dashboard", "uc_table", and "web_search" are also accepted and remain equivalent to "dashboard", "table", and "databricks_web_search" respectively. The "databricks_web_search" tool_type maps to the `web_search` spec field.
  - `genie_space` (object, required)
    - `id` (string, optional)
      Deprecated: use space_id instead. Still REQUIRED for backward compatibility
       until a future API version removes it.
  - `knowledge_assistant` (object, required)
    - `serving_endpoint_name` (string, optional)
      Deprecated: use knowledge_assistant_id instead.
    - `knowledge_assistant_id` (string, optional)
      The ID of the knowledge assistant.
  - `uc_function` (object, required)
    - `name` (string, optional)
      Full uc function name
  - `app` (object, required)
    - `name` (string, optional)
      App name
  - `volume` (object, required)
    - `name` (string, optional)
      Full uc volume name
  - `uc_connection` (object, required)
    - `name` (string, optional)
  - `description` (string, optional)
    Description of what this tool does (user-facing).
  - `tool_id` (string, optional)
    User specified id of the Tool.

## Returns

Returns the Tool object.

## Response

```json
{
  "name": "string",
  "id": "string",
  "tool_type": "string",
  "genie_space": {
    "id": "string"
  },
  "knowledge_assistant": {
    "serving_endpoint_name": "string",
    "knowledge_assistant_id": "string"
  },
  "uc_function": {
    "name": "string"
  },
  "app": {
    "name": "string"
  },
  "volume": {
    "name": "string"
  },
  "uc_connection": {
    "name": "string"
  },
  "description": "string",
  "tool_id": "string"
}
```

