> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Struct Tool Call EndParams

> Builder parameters for `tool_call_end`.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`.

<pre />

Builder parameters for [`tool_call_end`](/reference/api/rust-library-reference/nemo-relay/api/tool/fn-tool-call-end).

## Fields

### `handle: &'a ToolHandle`

Tool handle to close.

### `execution_result: ToolExecutionResult`

Application result and optional opaque annotation associated with the end event.

### `data: Option<Json>`

Optional application payload retained for compatibility; Agent Trajectory Observability Format (ATOF) data is the result.

### `metadata: Option<Json>`

Optional JSON metadata recorded on the end event.

### `timestamp: Option<DateTime<Utc>>`

Optional timestamp recorded on the emitted end event. When omitted, the runtime records the current UTC time, or one microsecond after the handle start time if the current time is not later.

## Implementations

### `impl<'a> ToolCallEndParams<'a>`

<pre />

#### `builder`

<pre />

Create a builder for building `ToolCallEndParams`. On the builder, call `.handle(...)`, `.execution_result(...)`, `.data(...)`(optional), `.metadata(...)`(optional), `.timestamp(...)`(optional) to set the values of the fields. Finally, call `.build()` to create the instance of `ToolCallEndParams`.