> ## Documentation Index
> Fetch the complete documentation index at: https://docs.oumi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# TOOLS

> Define the tools a model can call and the implementations that answer them

| Command | Description |
| - | - |
| [`create`](#create) | Create a tool from a JSON request body. |
| [`delete`](#delete) | Permanently delete a tool. |
| [`generate-template`](#generate-template) | Print a ready-to-edit request body for `tools create`. |
| [`get`](#get) | Show one tool's definition and the implementations that serve it. |
| [`implementations create`](#implementations-create) | Create an implementation from a JSON request body. |
| [`implementations delete`](#implementations-delete) | Permanently delete a tool implementation. |
| [`implementations execute`](#implementations-execute) | Run one tool call through an implementation and print the call ID, session ID and answer. |
| [`implementations generate-template`](#implementations-generate-template) | Print a ready-to-edit request body for `tools implementations create`. |
| [`implementations get`](#implementations-get) | Show a tool implementation's identity: type, display name and served tool ID. |
| [`implementations get-config`](#implementations-get-config) | Show an implementation's type-specific configuration. |
| [`implementations list`](#implementations-list) | List the implementations that serve a tool. |
| [`implementations update`](#implementations-update) | Change a tool implementation's display name and/or credential (at least one). |
| [`list`](#list) | List the tools a project has defined. |
| [`preview`](#preview) | Detect the tools a dataset's conversations declare or call. Persists nothing. |
| [`update`](#update) | Update a tool's display name -- the only field this command can change. |

***

## CREATE

Create a tool from a JSON request body.

```bash theme={null}
oumi-cli tools create [OPTIONS]
```

**Options**

| Option | Type | Required | Description |
| - | - | - | - |
| `--project` | str | | Project that owns the tool; falls back to OUMI\_PROJECT\_ID or the active profile. |
| `--input-json` | str | | Request body for the new tool, as inline JSON (see `tools generate-template` for the shape). Pass exactly one of `--input-json` or `--input-json-file`. |
| `--input-json-file` | path | | Path to a JSON file with the request body for the new tool (see `tools generate-template`). Pass exactly one of `--input-json` or `--input-json-file`. |

***

## DELETE

Permanently delete a tool.

```bash theme={null}
oumi-cli tools delete [OPTIONS] {tool_id}
```

**Arguments**

| Argument | Type | Required | Description |
| - | - | - | - |
| `TOOL_ID` | int | ✓ | ID of the tool (see `oumi-cli tools list`). |

**Options**

| Option | Type | Required | Description |
| - | - | - | - |
| `--project` | str | | Project that owns the tool; falls back to OUMI\_PROJECT\_ID or the active profile. |
| `--force` | flag | | Skip the confirmation prompt. Without a TTY or under `--no-input`, this (or `--yes`) is required; otherwise the command exits 2 without changing anything. |
| `--yes` | flag | | Same as `--force`. |

***

## GENERATE-TEMPLATE

Print a ready-to-edit request body for `tools create`.

```bash theme={null}
oumi-cli tools generate-template [OPTIONS]
```

***

## GET

Show one tool's definition and the implementations that serve it.

```bash theme={null}
oumi-cli tools get [OPTIONS] {tool_id}
```

**Arguments**

| Argument | Type | Required | Description |
| - | - | - | - |
| `TOOL_ID` | int | ✓ | ID of the tool (see `oumi-cli tools list`). |

**Options**

| Option | Type | Required | Description |
| - | - | - | - |
| `--project` | str | | Project that owns the tool; falls back to OUMI\_PROJECT\_ID or the active profile. |

***

## IMPLEMENTATIONS CREATE

Create an implementation from a JSON request body.

```bash theme={null}
oumi-cli tools implementations create [OPTIONS] {tool_id}
```

**Arguments**

| Argument | Type | Required | Description |
| - | - | - | - |
| `TOOL_ID` | int | ✓ | ID of the tool the new implementation serves (see `oumi-cli tools list`). |

**Options**

| Option | Type | Required | Description |
| - | - | - | - |
| `--project` | str | | Project that owns the implementation; falls back to OUMI\_PROJECT\_ID or the active profile. |
| `--input-json` | str | | Request body for the new implementation, as inline JSON (see 'tools implementations generate-template `--type` \<TYPE>' for the shape). Pass exactly one of `--input-json` or `--input-json-file`. |
| `--input-json-file` | path | | Path to a JSON file with the request body for the new implementation (see 'tools implementations generate-template `--type` \<TYPE>'). Pass exactly one of `--input-json` or `--input-json-file`. |

***

## IMPLEMENTATIONS DELETE

Permanently delete a tool implementation.

```bash theme={null}
oumi-cli tools implementations delete [OPTIONS] {tool_id} {implementation_id}
```

**Arguments**

| Argument | Type | Required | Description |
| - | - | - | - |
| `TOOL_ID` | int | ✓ | ID of the tool the implementation serves (see `oumi-cli tools list`). |
| `IMPLEMENTATION_ID` | int | ✓ | ID of the implementation (see `oumi-cli tools implementations list <TOOL_ID>`). |

**Options**

| Option | Type | Required | Description |
| - | - | - | - |
| `--project` | str | | Project that owns the tool; falls back to OUMI\_PROJECT\_ID or the active profile. |
| `--force` | flag | | Skip the confirmation prompt. Without a TTY or under `--no-input`, this (or `--yes`) is required; otherwise the command exits 2 without changing anything. |
| `--yes` | flag | | Same as `--force`. |

***

## IMPLEMENTATIONS EXECUTE

Run one tool call through an implementation and print the call ID, session ID and answer.

```bash theme={null}
oumi-cli tools implementations execute [OPTIONS] {tool_id} {implementation_id}
```

**Arguments**

| Argument | Type | Required | Description |
| - | - | - | - |
| `TOOL_ID` | int | ✓ | ID of the tool the implementation serves (see `oumi-cli tools list`). |
| `IMPLEMENTATION_ID` | int | ✓ | ID of the implementation (see `oumi-cli tools implementations list <TOOL_ID>`). |

**Options**

| Option | Type | Required | Description |
| - | - | - | - |
| `--project` | str | | Project that owns the implementation; falls back to OUMI\_PROJECT\_ID or the active profile. |
| `--arguments-json` | str | | Tool call arguments as an inline JSON object; must match the served tool's input schema (see `oumi-cli tools get <TOOL_ID>`). Pass exactly one of `--arguments-json` or `--arguments-json-file`; omitting both is a usage error. |
| `--arguments-json-file` | path | | Path to a file holding the tool call arguments as a JSON object. Pass exactly one of `--arguments-json` or `--arguments-json-file`. |
| `--session-id` | str | | Groups this call with others in one conversation; generated when omitted. Pass back a prior call's printed sessionId to continue that conversation. |

***

## IMPLEMENTATIONS GENERATE-TEMPLATE

Print a ready-to-edit request body for `tools implementations create`.

```bash theme={null}
oumi-cli tools implementations generate-template [OPTIONS]
```

**Options**

| Option | Type | Required | Description |
| - | - | - | - |
| `--type` | choice | ✓ | Implementation type to generate a body for: lookup, simulated, endpoint or interactive. Sets config.type in the output. |

***

## IMPLEMENTATIONS GET

Show a tool implementation's identity: type, display name and served tool ID.

```bash theme={null}
oumi-cli tools implementations get [OPTIONS] {tool_id} {implementation_id}
```

**Arguments**

| Argument | Type | Required | Description |
| - | - | - | - |
| `TOOL_ID` | int | ✓ | ID of the tool the implementation serves (see `oumi-cli tools list`). |
| `IMPLEMENTATION_ID` | int | ✓ | ID of the implementation (see `oumi-cli tools implementations list <TOOL_ID>`). |

**Options**

| Option | Type | Required | Description |
| - | - | - | - |
| `--project` | str | | Project that owns the tool; falls back to OUMI\_PROJECT\_ID or the active profile. |

***

## IMPLEMENTATIONS GET-CONFIG

Show an implementation's type-specific configuration.

```bash theme={null}
oumi-cli tools implementations get-config [OPTIONS] {tool_id} {implementation_id}
```

**Arguments**

| Argument | Type | Required | Description |
| - | - | - | - |
| `TOOL_ID` | int | ✓ | ID of the tool the implementation serves (see `oumi-cli tools list`). |
| `IMPLEMENTATION_ID` | int | ✓ | ID of the implementation (see `oumi-cli tools implementations list <TOOL_ID>`). |

**Options**

| Option | Type | Required | Description |
| - | - | - | - |
| `--project` | str | | Project that owns the implementation; falls back to OUMI\_PROJECT\_ID or the active profile. |

***

## IMPLEMENTATIONS LIST

List the implementations that serve a tool.

```bash theme={null}
oumi-cli tools implementations list [OPTIONS] {tool_id}
```

**Arguments**

| Argument | Type | Required | Description |
| - | - | - | - |
| `TOOL_ID` | int | ✓ | ID of the tool the implementation serves (see `oumi-cli tools list`). |

**Options**

| Option | Type | Required | Description |
| - | - | - | - |
| `--project` | str | | Project that owns the tool; falls back to OUMI\_PROJECT\_ID or the active profile. |
| `--limit` | int range | | Maximum number of implementations to return (default 100). |
| `--all` | flag | | Return all implementations, following pages until none are left (capped by `--max-items`). Cannot be combined with `--limit`. |
| `--max-items` | int range | | Cap on how many implementations `--all` returns (default 10000). |
| `--sort-by` | choice | | Sort by creation time or last-update time. One of: `created_at`, `updated_at`. |
| `--sort-direction` | choice | | Ascending or descending order for `--sort-by`. |

***

## IMPLEMENTATIONS UPDATE

Change a tool implementation's display name and/or credential (at least one).

```bash theme={null}
oumi-cli tools implementations update [OPTIONS] {tool_id} {implementation_id}
```

**Arguments**

| Argument | Type | Required | Description |
| - | - | - | - |
| `TOOL_ID` | int | ✓ | ID of the tool the implementation serves (see `oumi-cli tools list`). |
| `IMPLEMENTATION_ID` | int | ✓ | ID of the implementation (see `oumi-cli tools implementations list <TOOL_ID>`). |

**Options**

| Option | Type | Required | Description |
| - | - | - | - |
| `--project` | str | | Project that owns the tool; falls back to OUMI\_PROJECT\_ID or the active profile. |
| `--display-name` | str | | New display name for the implementation. |
| `--auth-json` | str | | Replacement credential, as a JSON object (e.g. '\{"type": "bearer", "token": "..."}' or '\{"type": "apiKey", "token": "...", "headerName": "X-Api-Key"}'). Only meaningful for an endpoint implementation. The value is visible in shell history and process lists. |

***

## LIST

List the tools a project has defined.

```bash theme={null}
oumi-cli tools list [OPTIONS]
```

**Options**

| Option | Type | Required | Description |
| - | - | - | - |
| `--project` | str | | Project to list tools from; falls back to OUMI\_PROJECT\_ID or the active profile. |
| `--limit` | int range | | Maximum number of tools to return (default 100). |
| `--all` | flag | | Return all tools, following pages until none are left (capped by `--max-items`). Cannot be combined with `--limit`. |
| `--max-items` | int range | | Cap on how many tools `--all` returns (default 10000). |
| `--sort-by` | choice | | Sort by creation time or last-update time. One of: `created_at`, `updated_at`. |
| `--sort-direction` | choice | | Ascending or descending order for `--sort-by`. |

***

## PREVIEW

Detect the tools a dataset's conversations declare or call. Persists nothing.

```bash theme={null}
oumi-cli tools preview [OPTIONS] {dataset_id}
```

**Arguments**

| Argument | Type | Required | Description |
| - | - | - | - |
| `DATASET_ID` | int | ✓ | ID of the conversation dataset to scan (see `datasets list`). |

**Options**

| Option | Type | Required | Description |
| - | - | - | - |
| `--project` | str | | Project the dataset belongs to; falls back to OUMI\_PROJECT\_ID or the active profile. |
| `--dataset-version` | int | | Dataset version to scan. Defaults to the latest. (Named `--dataset-version` to avoid colliding with the global `--version` flag.) |

***

## UPDATE

Update a tool's display name -- the only field this command can change.

```bash theme={null}
oumi-cli tools update [OPTIONS] {tool_id}
```

**Arguments**

| Argument | Type | Required | Description |
| - | - | - | - |
| `TOOL_ID` | int | ✓ | ID of the tool (see `oumi-cli tools list`). |

**Options**

| Option | Type | Required | Description |
| - | - | - | - |
| `--project` | str | | Project that owns the tool; falls back to OUMI\_PROJECT\_ID or the active profile. |
| `--display-name` | str | ✓ | The new display name for the tool. |

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.