> 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.token_id_capture.control_routes

Expose rollout capture manifests over HTTP.

The training framework reads one manifest for each rollout.
The endpoint returns call metadata and does not read staged token data.
The framework builds receipts and removes staged data after use.

## Module Contents

### Classes

| Name                                                                                     | Description                                             |
| ---------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| [`RolloutControlClient`](#nemo_gym-token_id_capture-control_routes-RolloutControlClient) | Framework-side client for the read-only manifest route. |

### Functions

| Name                                                                                                         | Description                                  |
| ------------------------------------------------------------------------------------------------------------ | -------------------------------------------- |
| [`install_rollout_control_routes`](#nemo_gym-token_id_capture-control_routes-install_rollout_control_routes) | Install the bearer-protected manifest route. |

### Data

[`CONTROL_ROUTE_PREFIX`](#nemo_gym-token_id_capture-control_routes-CONTROL_ROUTE_PREFIX)

### API

```python
class nemo_gym.token_id_capture.control_routes.RolloutControlClient(
    base_url: str,
    auth_token: str,
    request_timeout_s: float
)
```

Framework-side client for the read-only manifest route.

**`_base_url`** `= base_url.rstrip('/')`

---

**`_headers`** `= {'Authorization': f'Bearer {auth_token}'}`

---

```python
nemo_gym.token_id_capture.control_routes.RolloutControlClient._request(
    method: str,
    path: str,
    kwargs: typing.Any = {}
)
```

async

```python
nemo_gym.token_id_capture.control_routes.RolloutControlClient.manifest(
    rollout_id: str
) -> nemo_gym.token_id_capture.staging.records.RolloutManifest
```

async

```python
nemo_gym.token_id_capture.control_routes.install_rollout_control_routes(
    app: typing.Any,
    lineage_store: nemo_gym.token_id_capture.protocols.CaptureLedger,
    auth_token: str
) -> None
```

Install the bearer-protected manifest route.

```python
nemo_gym.token_id_capture.control_routes.CONTROL_ROUTE_PREFIX = '/training-token-capture/control'
```