> 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 full documentation content, see https://docs.nvidia.com/nemo/relay/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Function nemo_relay_llm_call_execute

> Execute an LLM call end-to-end: run conditional-execution guardrails (on raw request), then request intercepts, sanitize-request guardrails, execution intercepts, the callback, and sanitize-response guardrails. On rejection, only a standalone Mark event is emitted (no Start/End pair) and `GuardrailRejected` is returned. Blocks the calling thread until completion.

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

<pre />

Execute an LLM call end-to-end: run conditional-execution guardrails (on raw request), then request intercepts, sanitize-request guardrails, execution intercepts, the callback, and sanitize-response guardrails. On rejection, only a standalone Mark event is emitted (no Start/End pair) and `GuardrailRejected` is returned. Blocks the calling thread until completion.

## Parameters

* `name`: Null-terminated LLM provider name.
* `native_json`: The request payload as a JSON C string representing an `LlmRequest` (`{"headers": {...}, "content": {...}}`).
* `func`: C callback that performs the actual LLM call.
* `func_user_data`: Opaque pointer passed to `func`.
* `func_free`: Optional destructor for `func_user_data`.
* `parent`: Optional parent scope handle, or null.
* `attributes`: Bitfield of LLM attributes.
* `data_json`: Optional JSON data, or null.
* `metadata_json`: Optional JSON metadata, or null.
* `model_name`: Optional LLM model identifier, or null.
* `out`: On success, receives the response as a JSON C string. Caller must free with `nemo_relay_string_free`.

## Safety

`name`, `native_json`, and `out` must be valid, non-null pointers.