> 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 LlmCall EndParams

> Builder parameters for `llm_call_end`.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-ffi`.

<pre />

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

## Fields

### `handle: &'a LlmHandle`

LLM handle to close.

### `response: Json`

Raw provider response associated with the end event.

### `data: Option<Json>`

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

### `metadata: Option<Json>`

Optional JSON metadata recorded on the end event.

### `annotated_response: Option<Arc<AnnotatedLlmResponse>>`

Optional normalized response annotation produced by a response codec.

### `response_codec: Option<Arc<dyn LlmResponseCodec>>`

Optional response codec used to produce an annotation from sanitized event data.

### `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> LlmCallEndParams<'a>`

<pre />

#### `builder`

<pre />

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