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

# nemo_gym.base_responses_api_agent

## Module Contents

### Classes

| Name                                                                                            | Description |
| ----------------------------------------------------------------------------------------------- | ----------- |
| [`BaseResponsesAPIAgent`](#nemo_gym-base_responses_api_agent-BaseResponsesAPIAgent)             | -           |
| [`BaseResponsesAPIAgentConfig`](#nemo_gym-base_responses_api_agent-BaseResponsesAPIAgentConfig) | -           |
| [`SimpleResponsesAPIAgent`](#nemo_gym-base_responses_api_agent-SimpleResponsesAPIAgent)         | -           |

### API

```python
class nemo_gym.base_responses_api_agent.BaseResponsesAPIAgent()
```

**Bases:** [BaseServer](/nemo-gym/nemo_gym/server_utils#nemo_gym-server_utils-BaseServer)

```python
class nemo_gym.base_responses_api_agent.BaseResponsesAPIAgentConfig()
```

**Bases:** [BaseRunServerInstanceConfig](/nemo-gym/nemo_gym/config_types#nemo_gym-config_types-BaseRunServerInstanceConfig)

```python
class nemo_gym.base_responses_api_agent.SimpleResponsesAPIAgent()
```

**Bases:** [BaseResponsesAPIAgent](#nemo_gym-base_responses_api_agent-BaseResponsesAPIAgent), [AggregateMetricsMixin](/nemo-gym/nemo_gym/reward_profile#nemo_gym-reward_profile-AggregateMetricsMixin), [SimpleServer](/nemo-gym/nemo_gym/server_utils#nemo_gym-server_utils-SimpleServer)

```python
nemo_gym.base_responses_api_agent.SimpleResponsesAPIAgent._model_call_capture_enabled() -> bool
```

```python
nemo_gym.base_responses_api_agent.SimpleResponsesAPIAgent.aggregate_metrics(
    body: nemo_gym.base_resources_server.AggregateMetricsRequest = Body()
) -> nemo_gym.base_resources_server.AggregateMetrics
```

async

Default: same RewardProfiler aggregation as resources server. Override to proxy.

```python
nemo_gym.base_responses_api_agent.SimpleResponsesAPIAgent.base_url_for_run(
    base_url: str,
    body: typing.Any
) -> str
```

A model-server base URL with the per-rollout capture-correlation prefix applied.

`base_url_for_run` is the base-URL counterpart of `url_path_for_run` for SDK-style
harnesses that configure a client once instead of prefixing each call: same gating, applied
to a server root URL (append the API-version suffix afterwards).

```python
nemo_gym.base_responses_api_agent.SimpleResponsesAPIAgent.resolve_model_base_url(
    model_server_name: str,
    rollout_id: typing.Optional[str] = None
) -> str
```

Resolve a model-server URL with an optional rollout prefix.

```python
nemo_gym.base_responses_api_agent.SimpleResponsesAPIAgent.responses(
    body: nemo_gym.openai_utils.NeMoGymResponseCreateParamsNonStreaming = Body()
) -> nemo_gym.openai_utils.NeMoGymResponse
```

async

abstract

```python
nemo_gym.base_responses_api_agent.SimpleResponsesAPIAgent.rollout_id_from_run(
    body: typing.Any
) -> typing.Optional[str]
```

Per-rollout capture id for a run-request (its task/rollout indices).

None when model-call capture (observability) is disabled or the body carries no indices,
so callers apply no correlation prefix in either case.

```python
nemo_gym.base_responses_api_agent.SimpleResponsesAPIAgent.run(
    body: nemo_gym.base_resources_server.BaseRunRequest = Body()
) -> nemo_gym.base_resources_server.BaseVerifyResponse
```

async

abstract

```python
nemo_gym.base_responses_api_agent.SimpleResponsesAPIAgent.setup_webserver() -> fastapi.FastAPI
```

```python
nemo_gym.base_responses_api_agent.SimpleResponsesAPIAgent.url_path_for_request(
    url_path: str,
    request: typing.Optional[fastapi.Request]
) -> str
```

Carry an inbound `/ng-rollout/&lt;id&gt;` self-call prefix onto a downstream url\_path.

Agents whose model calls happen inside `responses()` receive the correlation id as the
`rollout_id` path parameter of the prefixed self-call route; this re-applies it to the
outgoing model call. Unprefixed requests pass through unchanged.

```python
nemo_gym.base_responses_api_agent.SimpleResponsesAPIAgent.url_path_for_run(
    url_path: str,
    body: typing.Any
) -> str
```

A downstream url\_path with the per-rollout capture-correlation prefix applied.

Returns `/ng-rollout/&lt;id&gt;&lt;url_path&gt;` when observability is enabled and the run body
carries task/rollout indices; otherwise `url_path` unchanged. Use for calls made while
handling `/run` — both direct model-server calls and self-calls to `/v1/responses`
(the prefixed self-call route carries the id into `responses()`).